fix: fix input/output file upload feature for configure pages, per oruga
This commit is contained in:
parent
c1a2c9cc70
commit
b7991b5dc6
|
@ -92,7 +92,7 @@
|
||||||
<b-select name="${tmpl['setting_file']}"
|
<b-select name="${tmpl['setting_file']}"
|
||||||
v-model="inputFileTemplateSettings['${tmpl['setting_file']}']"
|
v-model="inputFileTemplateSettings['${tmpl['setting_file']}']"
|
||||||
@input="settingsNeedSaved = true">
|
@input="settingsNeedSaved = true">
|
||||||
<option :value="null">-new-</option>
|
<option value="">-new-</option>
|
||||||
<option v-for="option in inputFileTemplateFileOptions['${tmpl['key']}']"
|
<option v-for="option in inputFileTemplateFileOptions['${tmpl['key']}']"
|
||||||
:key="option"
|
:key="option"
|
||||||
:value="option">
|
:value="option">
|
||||||
|
@ -104,6 +104,23 @@
|
||||||
<b-field label="Upload"
|
<b-field label="Upload"
|
||||||
v-show="inputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted' && !inputFileTemplateSettings['${tmpl['setting_file']}']">
|
v-show="inputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted' && !inputFileTemplateSettings['${tmpl['setting_file']}']">
|
||||||
|
|
||||||
|
% if request.use_oruga:
|
||||||
|
<o-field class="file">
|
||||||
|
<o-upload name="${tmpl['setting_file']}.upload"
|
||||||
|
v-model="inputFileTemplateUploads['${tmpl['key']}']"
|
||||||
|
v-slot="{ onclick }"
|
||||||
|
@input="settingsNeedSaved = true">
|
||||||
|
<o-button variant="primary"
|
||||||
|
@click="onclick">
|
||||||
|
<o-icon icon="upload" />
|
||||||
|
<span>Click to upload</span>
|
||||||
|
</o-button>
|
||||||
|
<span class="file-name" v-if="inputFileTemplateUploads['${tmpl['key']}']">
|
||||||
|
{{ inputFileTemplateUploads['${tmpl['key']}'].name }}
|
||||||
|
</span>
|
||||||
|
</o-upload>
|
||||||
|
</o-field>
|
||||||
|
% else:
|
||||||
<b-field class="file is-primary"
|
<b-field class="file is-primary"
|
||||||
:class="{'has-name': !!inputFileTemplateSettings['${tmpl['setting_file']}']}">
|
:class="{'has-name': !!inputFileTemplateSettings['${tmpl['setting_file']}']}">
|
||||||
<b-upload name="${tmpl['setting_file']}.upload"
|
<b-upload name="${tmpl['setting_file']}.upload"
|
||||||
|
@ -120,6 +137,7 @@
|
||||||
{{ inputFileTemplateUploads['${tmpl['key']}'].name }}
|
{{ inputFileTemplateUploads['${tmpl['key']}'].name }}
|
||||||
</span>
|
</span>
|
||||||
</b-field>
|
</b-field>
|
||||||
|
% endif
|
||||||
|
|
||||||
</b-field>
|
</b-field>
|
||||||
|
|
||||||
|
@ -162,7 +180,7 @@
|
||||||
<b-select name="${tmpl['setting_file']}"
|
<b-select name="${tmpl['setting_file']}"
|
||||||
v-model="outputFileTemplateSettings['${tmpl['setting_file']}']"
|
v-model="outputFileTemplateSettings['${tmpl['setting_file']}']"
|
||||||
@input="settingsNeedSaved = true">
|
@input="settingsNeedSaved = true">
|
||||||
<option :value="null">-new-</option>
|
<option value="">-new-</option>
|
||||||
<option v-for="option in outputFileTemplateFileOptions['${tmpl['key']}']"
|
<option v-for="option in outputFileTemplateFileOptions['${tmpl['key']}']"
|
||||||
:key="option"
|
:key="option"
|
||||||
:value="option">
|
:value="option">
|
||||||
|
@ -174,6 +192,23 @@
|
||||||
<b-field label="Upload"
|
<b-field label="Upload"
|
||||||
v-show="outputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted' && !outputFileTemplateSettings['${tmpl['setting_file']}']">
|
v-show="outputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted' && !outputFileTemplateSettings['${tmpl['setting_file']}']">
|
||||||
|
|
||||||
|
% if request.use_oruga:
|
||||||
|
<o-field class="file">
|
||||||
|
<o-upload name="${tmpl['setting_file']}.upload"
|
||||||
|
v-model="outputFileTemplateUploads['${tmpl['key']}']"
|
||||||
|
v-slot="{ onclick }"
|
||||||
|
@input="settingsNeedSaved = true">
|
||||||
|
<o-button variant="primary"
|
||||||
|
@click="onclick">
|
||||||
|
<o-icon icon="upload" />
|
||||||
|
<span>Click to upload</span>
|
||||||
|
</o-button>
|
||||||
|
<span class="file-name" v-if="outputFileTemplateUploads['${tmpl['key']}']">
|
||||||
|
{{ outputFileTemplateUploads['${tmpl['key']}'].name }}
|
||||||
|
</span>
|
||||||
|
</o-upload>
|
||||||
|
</o-field>
|
||||||
|
% else:
|
||||||
<b-field class="file is-primary"
|
<b-field class="file is-primary"
|
||||||
:class="{'has-name': !!outputFileTemplateSettings['${tmpl['setting_file']}']}">
|
:class="{'has-name': !!outputFileTemplateSettings['${tmpl['setting_file']}']}">
|
||||||
<b-upload name="${tmpl['setting_file']}.upload"
|
<b-upload name="${tmpl['setting_file']}.upload"
|
||||||
|
@ -190,7 +225,7 @@
|
||||||
{{ outputFileTemplateUploads['${tmpl['key']}'].name }}
|
{{ outputFileTemplateUploads['${tmpl['key']}'].name }}
|
||||||
</span>
|
</span>
|
||||||
</b-field>
|
</b-field>
|
||||||
|
% endif
|
||||||
</b-field>
|
</b-field>
|
||||||
|
|
||||||
</b-field>
|
</b-field>
|
||||||
|
@ -275,16 +310,6 @@
|
||||||
ThisPageData.simpleSettings = ${json.dumps(simple_settings)|n}
|
ThisPageData.simpleSettings = ${json.dumps(simple_settings)|n}
|
||||||
% endif
|
% endif
|
||||||
|
|
||||||
% if input_file_template_settings is not Undefined:
|
|
||||||
ThisPageData.inputFileTemplateSettings = ${json.dumps(input_file_template_settings)|n}
|
|
||||||
ThisPageData.inputFileTemplateFileOptions = ${json.dumps(input_file_options)|n}
|
|
||||||
ThisPageData.inputFileTemplateUploads = {
|
|
||||||
% for key in input_file_templates:
|
|
||||||
'${key}': null,
|
|
||||||
% endfor
|
|
||||||
}
|
|
||||||
% endif
|
|
||||||
|
|
||||||
ThisPageData.purgeSettingsShowDialog = false
|
ThisPageData.purgeSettingsShowDialog = false
|
||||||
ThisPageData.purgingSettings = false
|
ThisPageData.purgingSettings = false
|
||||||
|
|
||||||
|
@ -297,30 +322,7 @@
|
||||||
this.purgeSettingsShowDialog = true
|
this.purgeSettingsShowDialog = true
|
||||||
}
|
}
|
||||||
|
|
||||||
% if input_file_template_settings is not Undefined:
|
ThisPage.methods.validateSettings = function() {}
|
||||||
ThisPage.methods.validateInputFileTemplateSettings = function() {
|
|
||||||
% for tmpl in input_file_templates.values():
|
|
||||||
if (this.inputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted') {
|
|
||||||
if (!this.inputFileTemplateSettings['${tmpl['setting_file']}']) {
|
|
||||||
if (!this.inputFileTemplateUploads['${tmpl['key']}']) {
|
|
||||||
return "You must provide a file to upload for the ${tmpl['label']} template."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
% endfor
|
|
||||||
}
|
|
||||||
% endif
|
|
||||||
|
|
||||||
ThisPage.methods.validateSettings = function() {
|
|
||||||
let msg
|
|
||||||
|
|
||||||
% if input_file_template_settings is not Undefined:
|
|
||||||
msg = this.validateInputFileTemplateSettings()
|
|
||||||
if (msg) {
|
|
||||||
return msg
|
|
||||||
}
|
|
||||||
% endif
|
|
||||||
}
|
|
||||||
|
|
||||||
ThisPage.methods.saveSettings = function() {
|
ThisPage.methods.saveSettings = function() {
|
||||||
let msg
|
let msg
|
||||||
|
@ -366,6 +368,36 @@
|
||||||
window.addEventListener('beforeunload', this.beforeWindowUnload)
|
window.addEventListener('beforeunload', this.beforeWindowUnload)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##############################
|
||||||
|
## input file templates
|
||||||
|
##############################
|
||||||
|
|
||||||
|
% if input_file_template_settings is not Undefined:
|
||||||
|
|
||||||
|
ThisPageData.inputFileTemplateSettings = ${json.dumps(input_file_template_settings)|n}
|
||||||
|
ThisPageData.inputFileTemplateFileOptions = ${json.dumps(input_file_options)|n}
|
||||||
|
ThisPageData.inputFileTemplateUploads = {
|
||||||
|
% for key in input_file_templates:
|
||||||
|
'${key}': null,
|
||||||
|
% endfor
|
||||||
|
}
|
||||||
|
|
||||||
|
ThisPage.methods.validateInputFileTemplateSettings = function() {
|
||||||
|
% for tmpl in input_file_templates.values():
|
||||||
|
if (this.inputFileTemplateSettings['${tmpl['setting_mode']}'] == 'hosted') {
|
||||||
|
if (!this.inputFileTemplateSettings['${tmpl['setting_file']}']) {
|
||||||
|
if (!this.inputFileTemplateUploads['${tmpl['key']}']) {
|
||||||
|
return "You must provide a file to upload for the ${tmpl['label']} template."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
% endfor
|
||||||
|
}
|
||||||
|
|
||||||
|
ThisPageData.validators.push(ThisPage.methods.validateInputFileTemplateSettings)
|
||||||
|
|
||||||
|
% endif
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
## output file templates
|
## output file templates
|
||||||
##############################
|
##############################
|
||||||
|
|
Loading…
Reference in a new issue