aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/views/TemplatePicker.vue
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/src/views/TemplatePicker.vue')
-rw-r--r--apps/files/src/views/TemplatePicker.vue21
1 files changed, 15 insertions, 6 deletions
diff --git a/apps/files/src/views/TemplatePicker.vue b/apps/files/src/views/TemplatePicker.vue
index 719ebadd17c..cddacc863e1 100644
--- a/apps/files/src/views/TemplatePicker.vue
+++ b/apps/files/src/views/TemplatePicker.vue
@@ -57,10 +57,10 @@ import { translate as t } from '@nextcloud/l10n'
import { generateRemoteUrl } from '@nextcloud/router'
import { normalize, extname, join } from 'path'
import { defineComponent } from 'vue'
-import { createFromTemplate, getTemplates } from '../services/Templates.js'
+import { createFromTemplate, getTemplates, getTemplateFields } from '../services/Templates.js'
-import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
-import NcModal from '@nextcloud/vue/dist/Components/NcModal.js'
+import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
+import NcModal from '@nextcloud/vue/components/NcModal'
import TemplatePreview from '../components/TemplatePreview.vue'
import TemplateFiller from '../components/TemplateFiller.vue'
import logger from '../logger.ts'
@@ -215,7 +215,7 @@ export default defineComponent({
}
},
- async createFile(templateFields) {
+ async createFile(templateFields = []) {
const currentDirectory = new URL(window.location.href).searchParams.get('dir') || '/'
// If the file doesn't have an extension, add the default one
@@ -274,9 +274,18 @@ export default defineComponent({
},
async onSubmit() {
- if (this.selectedTemplate?.fields?.length > 0) {
+ const fileId = this.selectedTemplate?.fileid
+
+ // Only request field extraction if there is a valid template
+ // selected and it's not the blank template
+ let fields = []
+ if (fileId && fileId !== this.emptyTemplate.fileid) {
+ fields = await getTemplateFields(fileId)
+ }
+
+ if (fields.length > 0) {
spawnDialog(TemplateFiller, {
- fields: this.selectedTemplate.fields,
+ fields,
onSubmit: this.createFile,
})
} else {