|  |  | @ -36,32 +36,63 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |   </div> |  |  |  |   </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |   <div v-if="submitterDefaultFields.length"> |  |  |  |   <div v-if="submitterDefaultFields.length"> | 
			
		
	
		
		
			
				
					
					|  |  |  |     <hr class="mb-2"> |  |  |  |     <hr class="mb-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  |     <template |  |  |  |     <template v-if="isShowFieldSearch"> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       v-for="field in submitterDefaultFields" |  |  |  |       <input | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       :key="field.name" |  |  |  |         v-model="defaultFieldsSearch" | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         :placeholder="t('search_field')" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         class="input input-ghost input-xs px-0 text-base mb-2 !outline-0 !rounded bg-transparent w-full" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       <hr class="mb-2"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     </template> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     <div | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       class="overflow-auto relative" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       :style="{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         maxHeight: isShowFieldSearch ? '210px' : '', | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         minHeight: isShowFieldSearch ? '210px' : '' | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       }" | 
			
		
	
		
		
			
				
					
					|  |  |  |     > |  |  |  |     > | 
			
		
	
		
		
			
				
					
					|  |  |  |       <div |  |  |  |       <div | 
			
		
	
		
		
			
				
					
					|  |  |  |         :style="{ backgroundColor: backgroundColor }" |  |  |  |         v-if="!filteredSubmitterDefaultFields.length && defaultFieldsSearch" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         draggable="true" |  |  |  |         class="top-0 bottom-0 text-center absolute flex items-center justify-center w-full flex-col" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         class="default-field border border-base-300 rounded rounded-tr-none relative group mb-2" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         @dragstart="onDragstart({ type: 'text', ...field })" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         @dragend="$emit('drag-end')" |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       > |  |  |  |       > | 
			
		
	
		
		
			
				
					
					|  |  |  |         <div class="flex items-center justify-between relative cursor-grab"> |  |  |  |         <div> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           <div class="flex items-center p-1 space-x-1"> |  |  |  |           {{ t('field_not_found') }} | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             <IconDrag /> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             <FieldType |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               :model-value="field.type || 'text'" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               :editable="false" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               :button-width="20" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             /> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             <span class="block pl-0.5"> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |               {{ field.name }} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             </span> |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           </div> |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         </div> |  |  |  |         </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         <a | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           href="#" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           class="link" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           @click.prevent="defaultFieldsSearch = ''" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           {{ t('clear') }} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         </a> | 
			
		
	
		
		
			
				
					
					|  |  |  |       </div> |  |  |  |       </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |     </template> |  |  |  |       <template | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         v-for="field in filteredSubmitterDefaultFields" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         :key="field.name" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         <div | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           :style="{ backgroundColor: backgroundColor }" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           draggable="true" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           class="default-field border border-base-300 rounded rounded-tr-none relative group mb-2" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           @dragstart="onDragstart({ type: 'text', ...field })" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           @dragend="$emit('drag-end')" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         > | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           <div class="flex items-center justify-between relative cursor-grab"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             <div class="flex items-center p-1 space-x-1"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <IconDrag /> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <FieldType | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 :model-value="field.type || 'text'" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 :editable="false" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 :button-width="20" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               /> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               <span class="block pl-0.5"> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 {{ field.name }} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |               </span> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       </template> | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |   </div> |  |  |  |   </div> | 
			
		
	
		
		
			
				
					
					|  |  |  |   <div |  |  |  |   <div | 
			
		
	
		
		
			
				
					
					|  |  |  |     v-if="editable && !onlyDefinedFields" |  |  |  |     v-if="editable && !onlyDefinedFields" | 
			
		
	
	
		
		
			
				
					|  |  | @ -205,9 +236,17 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   emits: ['set-draw', 'set-drag', 'drag-end', 'scroll-to-area', 'change-submitter'], |  |  |  |   emits: ['set-draw', 'set-drag', 'drag-end', 'scroll-to-area', 'change-submitter'], | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   data () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       defaultFieldsSearch: '' | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   computed: { |  |  |  |   computed: { | 
			
		
	
		
		
			
				
					
					|  |  |  |     fieldNames: FieldType.computed.fieldNames, |  |  |  |     fieldNames: FieldType.computed.fieldNames, | 
			
		
	
		
		
			
				
					
					|  |  |  |     fieldIcons: FieldType.computed.fieldIcons, |  |  |  |     fieldIcons: FieldType.computed.fieldIcons, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     isShowFieldSearch () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       return this.submitterDefaultFields.length > 15 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     fieldIconsSorted () { |  |  |  |     fieldIconsSorted () { | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (this.fieldTypes.length) { |  |  |  |       if (this.fieldTypes.length) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return this.fieldTypes.reduce((acc, type) => { |  |  |  |         return this.fieldTypes.reduce((acc, type) => { | 
			
		
	
	
		
		
			
				
					|  |  | @ -226,6 +265,13 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |       return this.defaultFields.filter((f) => { |  |  |  |       return this.defaultFields.filter((f) => { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return !this.submitterFields.find((field) => field.name === f.name) && (!f.role || f.role === this.selectedSubmitter.name) |  |  |  |         return !this.submitterFields.find((field) => field.name === f.name) && (!f.role || f.role === this.selectedSubmitter.name) | 
			
		
	
		
		
			
				
					
					|  |  |  |       }) |  |  |  |       }) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     filteredSubmitterDefaultFields () { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if (this.defaultFieldsSearch) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return this.submitterDefaultFields.filter((f) => f.name.toLowerCase().includes(this.defaultFieldsSearch.toLowerCase())) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return this.submitterDefaultFields | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   methods: { |  |  |  |   methods: { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |