|  |  | @ -37,7 +37,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             class="btn btn-primary btn-ghost text-base hidden md:flex" |  |  |  |             class="btn btn-primary btn-ghost text-base hidden md:flex" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :target="template.submitters.length > 1 ? '' : '_blank'" |  |  |  |             :target="template.submitters.length > 1 ? '' : '_blank'" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :data-turbo-frame="template.submitters.length > 1 ? 'modal' : ''" |  |  |  |             :data-turbo-frame="template.submitters.length > 1 ? 'modal' : ''" | 
			
		
	
		
		
			
				
					
					|  |  |  |             @click="maybeShowEmptyTemplateAlert" |  |  |  |             @click="maybeShowErrorTemplateAlert" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           > |  |  |  |           > | 
			
		
	
		
		
			
				
					
					|  |  |  |             <IconWritingSign |  |  |  |             <IconWritingSign | 
			
		
	
		
		
			
				
					
					|  |  |  |               width="22" |  |  |  |               width="22" | 
			
		
	
	
		
		
			
				
					|  |  | @ -51,7 +51,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             :href="`/templates/${template.id}/submissions/new?with_link=true`" |  |  |  |             :href="`/templates/${template.id}/submissions/new?with_link=true`" | 
			
		
	
		
		
			
				
					
					|  |  |  |             data-turbo-frame="modal" |  |  |  |             data-turbo-frame="modal" | 
			
		
	
		
		
			
				
					
					|  |  |  |             class="white-button md:!px-6" |  |  |  |             class="white-button md:!px-6" | 
			
		
	
		
		
			
				
					
					|  |  |  |             @click="maybeShowEmptyTemplateAlert" |  |  |  |             @click="maybeShowErrorTemplateAlert" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |           > |  |  |  |           > | 
			
		
	
		
		
			
				
					
					|  |  |  |             <IconUsersPlus |  |  |  |             <IconUsersPlus | 
			
		
	
		
		
			
				
					
					|  |  |  |               width="20" |  |  |  |               width="20" | 
			
		
	
	
		
		
			
				
					|  |  | @ -159,7 +159,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :selected-submitter="selectedSubmitter" |  |  |  |                 :selected-submitter="selectedSubmitter" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :document="document" |  |  |  |                 :document="document" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :is-drag="!!dragField" |  |  |  |                 :is-drag="!!dragField" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :default-fields="defaultFields" |  |  |  |                 :default-fields="[...defaultRequiredFields, ...defaultFields]" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 :allow-draw="!onlyDefinedFields" |  |  |  |                 :allow-draw="!onlyDefinedFields" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :default-submitters="defaultSubmitters" |  |  |  |                 :default-submitters="defaultSubmitters" | 
			
		
	
		
		
			
				
					
					|  |  |  |                 :draw-field="drawField" |  |  |  |                 :draw-field="drawField" | 
			
		
	
	
		
		
			
				
					|  |  | @ -242,7 +242,8 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |             :with-help="withHelp" |  |  |  |             :with-help="withHelp" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :default-submitters="defaultSubmitters" |  |  |  |             :default-submitters="defaultSubmitters" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :draw-field-type="drawFieldType" |  |  |  |             :draw-field-type="drawFieldType" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :default-fields="defaultFields" |  |  |  |             :default-fields="[...defaultRequiredFields, ...defaultFields]" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             :default-required-fields="defaultRequiredFields" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :field-types="fieldTypes" |  |  |  |             :field-types="fieldTypes" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :with-sticky-submitters="withStickySubmitters" |  |  |  |             :with-sticky-submitters="withStickySubmitters" | 
			
		
	
		
		
			
				
					
					|  |  |  |             :only-defined-fields="onlyDefinedFields" |  |  |  |             :only-defined-fields="onlyDefinedFields" | 
			
		
	
	
		
		
			
				
					|  |  | @ -273,7 +274,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |       <MobileFields |  |  |  |       <MobileFields | 
			
		
	
		
		
			
				
					
					|  |  |  |         v-if="sortedDocuments.length && !drawField && editable" |  |  |  |         v-if="sortedDocuments.length && !drawField && editable" | 
			
		
	
		
		
			
				
					
					|  |  |  |         :fields="template.fields" |  |  |  |         :fields="template.fields" | 
			
		
	
		
		
			
				
					
					|  |  |  |         :default-fields="defaultFields" |  |  |  |         :default-fields="[...defaultRequiredFields, ...defaultFields]" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         :field-types="fieldTypes" |  |  |  |         :field-types="fieldTypes" | 
			
		
	
		
		
			
				
					
					|  |  |  |         :selected-submitter="selectedSubmitter" |  |  |  |         :selected-submitter="selectedSubmitter" | 
			
		
	
		
		
			
				
					
					|  |  |  |         @select="startFieldDraw($event)" |  |  |  |         @select="startFieldDraw($event)" | 
			
		
	
	
		
		
			
				
					|  |  | @ -371,6 +372,11 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |       required: false, |  |  |  |       required: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |       default: () => [] |  |  |  |       default: () => [] | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     defaultRequiredFields: { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       type: Array, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       required: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       default: () => [] | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     withSelectedFieldType: { |  |  |  |     withSelectedFieldType: { | 
			
		
	
		
		
			
				
					
					|  |  |  |       type: Boolean, |  |  |  |       type: Boolean, | 
			
		
	
		
		
			
				
					
					|  |  |  |       required: false, |  |  |  |       required: false, | 
			
		
	
	
		
		
			
				
					|  |  | @ -425,6 +431,13 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return () => {} |  |  |  |         return () => {} | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     onChange: { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       type: Function, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       required: false, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       default () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return () => {} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     withStickySubmitters: { |  |  |  |     withStickySubmitters: { | 
			
		
	
		
		
			
				
					
					|  |  |  |       type: Boolean, |  |  |  |       type: Boolean, | 
			
		
	
		
		
			
				
					
					|  |  |  |       required: false, |  |  |  |       required: false, | 
			
		
	
	
		
		
			
				
					|  |  | @ -522,6 +535,11 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       return areas |  |  |  |       return areas | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     isAllRequiredFieldsAdded () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       return !this.defaultRequiredFields?.some((f) => { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return !this.template.fields?.some((field) => field.name === f.name) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       }) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     selectedField () { |  |  |  |     selectedField () { | 
			
		
	
		
		
			
				
					
					|  |  |  |       return this.template.fields.find((f) => f.areas?.includes(this.selectedAreaRef.value)) |  |  |  |       return this.template.fields.find((f) => f.areas?.includes(this.selectedAreaRef.value)) | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
	
		
		
			
				
					|  |  | @ -1093,7 +1111,13 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.save() |  |  |  |       this.save() | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     maybeShowEmptyTemplateAlert (e) { |  |  |  |     maybeShowErrorTemplateAlert (e) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if (!this.isAllRequiredFieldsAdded) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         e.preventDefault() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return alert(this.t('add_all_required_fields_to_continue')) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!this.template.fields.length) { |  |  |  |       if (!this.template.fields.length) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         e.preventDefault() |  |  |  |         e.preventDefault() | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -1101,6 +1125,10 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     onSaveClick () { |  |  |  |     onSaveClick () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if (!this.isAllRequiredFieldsAdded) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return alert(this.t('add_all_required_fields_to_continue')) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (this.template.fields.length) { |  |  |  |       if (this.template.fields.length) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         this.isSaving = true |  |  |  |         this.isSaving = true | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -1131,6 +1159,10 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |       }) |  |  |  |       }) | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     save ({ force } = { force: false }) { |  |  |  |     save ({ force } = { force: false }) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if (this.onChange) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         this.onChange(this.template) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (!this.autosave && !force) { |  |  |  |       if (!this.autosave && !force) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return Promise.resolve({}) |  |  |  |         return Promise.resolve({}) | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |