{"version":3,"sources":["webpack:///./src/client/projectSetup.vue","webpack:///src/client/projectSetup.vue","webpack:///./src/client/projectSetup.vue?4b1b","webpack:///./src/client/projectSetup.vue?780c","webpack:///./src/client/projectSetup.vue?eb60"],"names":["render","_vm","this","_c","_self","staticClass","attrs","on","$event","stopPropagation","preventDefault","onSubmit","apply","arguments","_v","_s","$t","$v","form","project_id","$dirty","$error","projectOptions","onProjectChange","model","value","selectedProjectId","callback","$$v","expression","length","_e","survey_style_name","$set","positions","position","toggleInput","observers","observer","is_NARW","tags","isDisabled","staticRenderFns","toast","Vue","name","mixins","components","VueTagsInput","data","id","project_name","survey_style_id","category_name","spot_type_name","client_id","isLoading","rows","rowsForBulkEdit","totalRecords","orders","categories","spotTypes","showInput","inputValue","currentField","validations","required","mounted","methods","field","text","timeout","showProgressBar","closeOnClick","pauseOnHover","API","getNames","console","getProjectStyleData","projectId","getProjectSetupData","computed","observersName","get","set","newValue","positionsName","watch","handler","newTags","deep","component"],"mappings":"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AAoB,IAEzzI0B,EAAkB,G,mMC2KtB,GACAC,OACAR,2BAGAS,2BACA,OACAC,aACAC,8BACAC,YACAC,kBAEAC,KANA,WAOA,OACA/B,MACAgC,MACAC,gBACAhC,cACAiC,mBACAb,aACAP,qBACAqB,iBACAC,kBACAnB,YAEAG,YACAiB,yDAEAd,cACAe,aACAC,QACAC,mBACAC,eACAC,UACAtC,kBACAuC,cACAC,aACAzB,aACAH,aAEAR,uBACAqC,aACAC,cACAC,gBACAzB,UAIA0B,aACAhD,MACAgC,MACAC,cACAgB,wBAEAhD,YACAgD,wBAEAf,iBACAe,0BAIAC,QAxDA,WAyDA,mCACA,0CACA,iBACA,mBAEA,iBAEA,kBAEA,iBAIAC,SACAjC,YADA,SACAkC,GACA,iDAIA,oBAGA,kBACA,oCAAAC,qBAEA5D,SAZA,WAYA,WAEA,yBAQA,OAPA,wBACA,0DACA6D,YACAC,mBACAC,gBACAC,kBAIA,OACAxD,kCACAoC,yDAEA,gCACAN,2BAEA,kCACAA,4BAKA2B,2BACA3B,GACA,YACA,gBACA,mBACA,8BACAuB,YACAC,mBACAC,gBACAC,kBAEA,gBACA,kBACA,+CAIAE,SAtDA,WAsDA,WACA,GACAtB,yDAEAqB,sBACA3B,GACA,YACA,gDACAC,QACAL,wBAEA,4BACA,2CACA,2CACA,2CACA,oBAGA,YACAiC,qDAIAC,oBA7EA,SA6EAC,GAAA,WACAJ,uBACA,CAAAI,cACA,YACA,aACA,+BACA,yCACA,yBACA,kEAEA,YACAF,uDAIAG,oBA5FA,SA4FAD,GAAA,WACAJ,+BAAAI,cAAA,YACA,IACA,IADA,SACA,YACA,oFAAA9B,QAAAL,yBACA,oFAAAK,QAAAL,yBAEA,0EACA,4EAGA,eACA,eAEA,qBACA,yBAGA,YACAiC,uDAGAvD,gBAlHA,SAkHAG,GACA,IACA,4BACA,4BACA,sBAKAwD,UACAC,eACAC,IADA,WAEA,oEAEAC,IAJA,SAIAC,GAAA,WACA,gCACA,OAAAzC,cAAAK,iCAAA,mCAEA,uBAGAqC,eACAH,IADA,WAEA,oEAEAC,IAJA,SAIAC,GAAA,WACA,gCACA,OAAAzC,cAAAK,iCAAA,mCAEA,wBAeAsC,OACAhD,MACAiD,QADA,SACAC,GACA,oDACA,oBACA,2BAEA,6BAEAC,WChasV,I,wBCQlVC,EAAY,eACd,EACA5F,EACA0C,GACA,EACA,KACA,KACA,MAIa,aAAAkD,E,oECnBf","file":"js/chunk-3d74a7b6.63256586.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"tables new-updated-design\"},[_c('vue-snotify'),_c('form',{staticClass:\"forms-sample\",attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 d-flex align-items-stretch grid-margin\"},[_c('div',{staticClass:\"row flex-grow\"},[_c('div',{staticClass:\"col-12 grid-margin\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('Observers')))])]),_c('div',{staticClass:\"card-body new-card-body\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4\"},[_c('b-form-group',{attrs:{\"label\":_vm.$t('Survey Name*'),\"label-for\":\"project_name\"}},[_c('b-form-select',{attrs:{\"state\":_vm.$v.form.project_id.$dirty ? !_vm.$v.form.project_id.$error : null,\"aria-describedby\":\"input-1-live-feedback\",\"options\":_vm.projectOptions,\"value-field\":\"id\",\"text-field\":\"name\"},on:{\"change\":_vm.onProjectChange},model:{value:(_vm.selectedProjectId),callback:function ($$v) {_vm.selectedProjectId=$$v},expression:\"selectedProjectId\"}},[(_vm.projectOptions.length === 0)?_c('b-form-select-option',{attrs:{\"disabled\":true}},[_vm._v(\" \"+_vm._s(_vm.$t('No Project Found'))+\" \")]):_vm._e()],1)],1)],1),_c('div',{staticClass:\"col-md-4\"},[_c('b-form-group',{attrs:{\"label\":_vm.$t('survey-style*'),\"label-for\":\"survey_style_name\"}},[_c('b-form-input',{attrs:{\"type\":\"text\",\"id\":\"survey_style_name\",\"name\":\"survey_style_name\",\"placeholder\":_vm.$t('survey-style*'),\"readonly\":\"\"},model:{value:(_vm.form.survey_style_name),callback:function ($$v) {_vm.$set(_vm.form, \"survey_style_name\", $$v)},expression:\"form.survey_style_name\"}})],1)],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-8\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-2 mt-4\"},[_c('label',{attrs:{\"for\":\"positions\"}},[_vm._v(_vm._s(_vm.$t('observer-position')))])]),_c('div',{staticClass:\"col-md-6 mt-3\"},[_c('b-form-group',{attrs:{\"label-for\":\"positions\"}},[_c('b-form-select',{attrs:{\"aria-describedby\":\"input-1-live-feedback\",\"options\":_vm.positions,\"value-field\":\"id\",\"text-field\":\"name\"},model:{value:(_vm.form.position),callback:function ($$v) {_vm.$set(_vm.form, \"position\", $$v)},expression:\"form.position\"}},[(_vm.positions.length === 0)?_c('b-form-select-option',{attrs:{\"disabled\":true}},[_vm._v(\" \"+_vm._s(_vm.$t('No Position Found'))+\" \")]):_vm._e()],1)],1)],1),_c('div',{staticClass:\"col-md-4 mt-3\"},[_c('b-button',{staticClass:\"btn btn-success\",on:{\"click\":function($event){return _vm.toggleInput('positions')}}},[_vm._v(_vm._s(_vm.$t('edit-values')))])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-2 mt-4\"},[_c('label',{attrs:{\"for\":\"observers\"}},[_vm._v(_vm._s(_vm.$t('Observers')))])]),_c('div',{staticClass:\"col-md-6 mt-3\"},[_c('b-form-group',{attrs:{\"label-for\":\"observers\"}},[_c('b-form-select',{attrs:{\"aria-describedby\":\"input-1-live-feedback\",\"options\":_vm.observers,\"value-field\":\"id\",\"text-field\":\"name\"},model:{value:(_vm.form.observer),callback:function ($$v) {_vm.$set(_vm.form, \"observer\", $$v)},expression:\"form.observer\"}},[(_vm.observers.length === 0)?_c('b-form-select-option',{attrs:{\"disabled\":true}},[_vm._v(\" \"+_vm._s(_vm.$t('No Observer Found'))+\" \")]):_vm._e()],1)],1)],1),_c('div',{staticClass:\"col-md-4 mt-3\"},[_c('b-button',{staticClass:\"btn btn-success\",on:{\"click\":function($event){return _vm.toggleInput('observers')}}},[_vm._v(_vm._s(_vm.$t('edit-values')))])],1)]),(_vm.form.survey_style_name === 'Aerial Survey' || _vm.form.is_NARW === 1)?_c('div',{staticClass:\"row\"}):_vm._e()]),_c('div',{staticClass:\"col-lg-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('section',[_c('vue-tags-input',{staticClass:\"tags-input\",attrs:{\"tags\":_vm.tags,\"allow-edit-tags\":true,\"placeholder\":_vm.$t('Enter values as tags'),\"add-only-from-autocomplete\":false},on:{\"tags-changed\":function($event){_vm.tags = $event}}})],1)])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"}),_c('div',{staticClass:\"col-md-6 mt-3\"},[_c('b-button',{staticClass:\"btn float-right btn-success\",attrs:{\"type\":\"submit\",\"variant\":\"success\",\"disabled\":_vm.isDisabled}},[_c('span',[_vm._v(_vm._s(_vm.$t('submit-btn')))])])],1)])])])])])])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <section class=\"tables new-updated-design\">\r\n <vue-snotify></vue-snotify>\r\n <form class=\"forms-sample\" @submit.stop.prevent=\"onSubmit\" autocomplete=\"off\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 d-flex align-items-stretch grid-margin\">\r\n <div class=\"row flex-grow\">\r\n <div class=\"col-12 grid-margin\">\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <h4 class=\"card-title\">{{ $t('Observers') }}</h4>\r\n </div>\r\n <div class=\"card-body new-card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <b-form-group :label=\"$t('Survey Name*')\" label-for=\"project_name\">\r\n <b-form-select \r\n v-model=\"selectedProjectId\" \r\n :state=\"$v.form.project_id.$dirty ? !$v.form.project_id.$error : null\" \r\n aria-describedby=\"input-1-live-feedback\" \r\n :options=\"projectOptions\" \r\n value-field=\"id\" \r\n text-field=\"name\"\r\n @change=\"onProjectChange\">\r\n <b-form-select-option v-if=\"projectOptions.length === 0\" :disabled=\"true\">\r\n {{ $t('No Project Found') }}\r\n </b-form-select-option>\r\n </b-form-select>\r\n </b-form-group>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <b-form-group :label=\"$t('survey-style*')\" label-for=\"survey_style_name\">\r\n <b-form-input\r\n type=\"text\"\r\n id=\"survey_style_name\"\r\n name=\"survey_style_name\"\r\n :placeholder=\"$t('survey-style*')\"\r\n v-model=\"form.survey_style_name\" \r\n readonly>\r\n </b-form-input>\r\n </b-form-group>\r\n </div>\r\n <!-- <div class=\"col-md-4\">\r\n <b-form-group :label=\"$t('project-id*')\" label-for=\"project_id\">\r\n <b-form-input\r\n type=\"text\"\r\n id=\"project_id\"\r\n name=\"project_id\"\r\n autocomplete=\"new-password\"\r\n :placeholder=\"$t('project-id*')\"\r\n v-model=\"form.project_id\" \r\n :state=\"$v.form.project_id.$dirty ? !$v.form.project_id.$error : null\"\r\n readonly\r\n >\r\n </b-form-input>\r\n </b-form-group>\r\n </div>-->\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-lg-8\">\r\n <div class=\"row\">\r\n <div class=\"col-md-2 mt-4\">\r\n <label for=\"positions\">{{ $t('observer-position') }}</label>\r\n </div>\r\n <div class=\"col-md-6 mt-3\">\r\n <b-form-group label-for=\"positions\">\r\n <b-form-select \r\n v-model=\"form.position\" \r\n aria-describedby=\"input-1-live-feedback\" \r\n :options=\"positions\" \r\n value-field=\"id\" \r\n text-field=\"name\">\r\n <b-form-select-option v-if=\"positions.length === 0\" :disabled=\"true\">\r\n {{ $t('No Position Found') }}\r\n </b-form-select-option>\r\n </b-form-select>\r\n </b-form-group>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <b-button class=\"btn btn-success\" @click=\"toggleInput('positions')\">{{ $t('edit-values') }}</b-button>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2 mt-4\">\r\n <label for=\"observers\">{{$t('Observers')}}</label>\r\n </div>\r\n <div class=\"col-md-6 mt-3\">\r\n <b-form-group label-for=\"observers\">\r\n <b-form-select \r\n v-model=\"form.observer\" \r\n aria-describedby=\"input-1-live-feedback\" \r\n :options=\"observers\" \r\n value-field=\"id\" \r\n text-field=\"name\"\r\n >\r\n <b-form-select-option v-if=\"observers.length === 0\" :disabled=\"true\">\r\n {{ $t('No Observer Found') }}\r\n </b-form-select-option>\r\n </b-form-select>\r\n </b-form-group>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <b-button class=\"btn btn-success\" @click=\"toggleInput('observers')\">{{ $t('edit-values') }}</b-button>\r\n </div>\r\n </div>\r\n <div class=\"row\" v-if=\"form.survey_style_name === 'Aerial Survey' || form.is_NARW === 1\">\r\n <!-- <div class=\"col-md-2 mt-4\">\r\n <label for=\"observerPosition\">{{ $t('observer-position') }}</label>\r\n </div>\r\n <div class=\"col-md-6 mt-3\">\r\n <b-form-group label-for=\"observerPosition\">\r\n <b-form-select \r\n v-model=\"form.position\" \r\n aria-describedby=\"input-1-live-feedback\" \r\n :options=\"observerPosition\" \r\n value-field=\"id\" \r\n text-field=\"name\">\r\n <b-form-select-option v-if=\"observerPosition.length === 0\" :disabled=\"true\">\r\n {{ $t('no-observer-position-found') }}\r\n </b-form-select-option>\r\n </b-form-select>\r\n </b-form-group>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <b-button class=\"btn btn-success\" @click=\"toggleInput('observerPosition')\">{{ $t('edit-values') }}</b-button>\r\n </div>-->\r\n </div>\r\n </div>\r\n <div class=\"col-lg-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <section>\r\n <vue-tags-input\r\n :tags=\"tags\"\r\n @tags-changed=\"tags = $event\"\r\n :allow-edit-tags=\"true\"\r\n class=\"tags-input\"\r\n :placeholder=\"$t('Enter values as tags')\"\r\n :add-only-from-autocomplete=\"false\"\r\n />\r\n </section>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\"></div>\r\n <div class=\"col-md-6 mt-3\">\r\n <b-button type=\"submit\" variant=\"success\" :disabled=\"isDisabled\" class=\"btn float-right btn-success\">\r\n <span>{{ $t('submit-btn') }}</span>\r\n </b-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </section>\r\n</template>\r\n\r\n\r\n<script>\r\n import Vue from \"vue\";\r\n import API from '@/api'\r\n import Snotify, {SnotifyPosition} from 'vue-snotify'\r\n import {validationMixin} from \"vuelidate\";\r\n import {required, minLength, survey_style, requiredIf, sameAs} from \"vuelidate/lib/validators\";\r\n import moment from 'moment';\r\n import i18n from '@/i18n';\r\n import VueTagsInput from '@johmun/vue-tags-input';\r\n const options = {\r\n toast: {\r\n position: SnotifyPosition.rightTop,\r\n }\r\n }\r\n Vue.use(Snotify, options)\r\n export default {\r\n name: 'Users',\r\n mixins: [validationMixin],\r\n components: {\r\n VueTagsInput,\r\n },\r\n data() {\r\n return {\r\n form: {\r\n id: '',\r\n project_name: '',\r\n project_id: '',\r\n survey_style_id: '',\r\n is_NARW: null,\r\n survey_style_name: '',\r\n category_name:'',\r\n spot_type_name:'',\r\n position:'',\r\n // observerPosition:'',\r\n observer: '',\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n },\r\n isDisabled: false,\r\n isLoading: false,\r\n rows: [],\r\n rowsForBulkEdit: [],\r\n totalRecords: 0,\r\n orders: [],\r\n projectOptions: [],\r\n categories: [],\r\n spotTypes: [],\r\n observers: [],\r\n positions: [],\r\n // observerPosition: [],\r\n selectedProjectId: null,\r\n showInput: false,\r\n inputValue: '',\r\n currentField: '',\r\n tags: [],\r\n };\r\n },\r\n\r\n validations: {\r\n form: {\r\n id: {},\r\n project_name: {\r\n required,\r\n }, \r\n project_id: {\r\n required,\r\n },\r\n survey_style_id: {\r\n required,\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.form.id = this.$route.params.id;\r\n if (this.form.id && this.form.id !== 'undefined') {\r\n this.readonly = true;\r\n this.getSpotter();\r\n } else {\r\n this.readonly = false;\r\n }\r\n this.isLoading = true;\r\n // this.inputValue = this.categoriesName;\r\n this.getNames();\r\n // this.getSpotType();\r\n // this.getCategories();\r\n },\r\n methods: {\r\n toggleInput(field) {\r\n if (this.currentField === field && this.tags.length > 0) {\r\n return; // Avoid overwriting when the same field is re-selected\r\n }\r\n\r\n this.currentField = field;\r\n\r\n // Safely map data to tags, ensuring field exists\r\n const fieldData = this[field] || [];\r\n this.tags = fieldData.map(item => ({ text: item.name || item })); // Handle undefined `name`\r\n },\r\n onSubmit() {\r\n\r\n if (!this.form.project_id) {\r\n this.isDisabled = true;\r\n this.$snotify.warning('Please fill in the project name.', {\r\n timeout: 2000,\r\n showProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n });\r\n return;\r\n }\r\n let data = {\r\n project_id: this.selectedProjectId,\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n };\r\n if (this.currentField === 'positions') {\r\n data.position = this.inputValue;\r\n } \r\n else if (this.currentField === 'observers') {\r\n data.observer = this.inputValue;\r\n } \r\n // else if (this.currentField === 'observerPosition') {\r\n // data.observerPosition = this.inputValue;\r\n // } \r\n API.addEditProjectSetup(\r\n data,\r\n (data) => {\r\n this.isDisabled = false;\r\n this.$v.form.$reset();\r\n this.$snotify.success(data.message, {\r\n timeout: 2000,\r\n showProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n });\r\n this.inputValue = '';\r\n this.currentField = '';\r\n this.getProjectSetupData(this.selectedProjectId);\r\n },\r\n );\r\n },\r\n getNames() {\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n };\r\n API.getProjectName(\r\n data,\r\n response => {\r\n this.projectOptions = response.data.map(project => ({\r\n id: project.id,\r\n name: project.project_name\r\n }));\r\n if (this.projectOptions.length > 0) {\r\n this.selectedProjectId = this.projectOptions[0].id;\r\n this.getProjectStyleData(this.selectedProjectId);\r\n this.getProjectSetupData(this.selectedProjectId);\r\n this.toggleInput();\r\n }\r\n },\r\n err => {\r\n console.error('Error fetching project names:', err);\r\n }\r\n );\r\n },\r\n getProjectStyleData(projectId) {\r\n API.getProjectSetup(\r\n { projectId },\r\n response => {\r\n const project = response.data;\r\n this.form.project_id = project.project_id;\r\n this.form.survey_style_id = project.survey_style_id;\r\n this.form.is_NARW = project.is_NARW;\r\n this.form.survey_style_name = project.survey_style ? project.survey_style.name : '';\r\n },\r\n err => {\r\n console.error('Error fetching project details:', err);\r\n }\r\n );\r\n },\r\n getProjectSetupData(projectId) {\r\n API.getProjectSetupDetails({ projectId }, response => {\r\n const projects = response.data;\r\n if (projects.length > 0) {\r\n this.positions = projects.filter(project => project.position_name).map(project => ({ id: project.id, name: project.position_name }));\r\n this.observers = projects.filter(project => project.observer_name).map(project => ({ id: project.id, name: project.observer_name }));\r\n // this.observerPosition = projects.filter(project => project.observer_position).map(project => ({ id: project.id, name: project.observer_position }));\r\n this.form.position = this.positions[0]?.id || null;\r\n this.form.observer = this.observers[0]?.id || null;\r\n // this.form.observerPosition = this.observerPosition[0]?.id || null;\r\n } else {\r\n this.positions = [];\r\n this.observers = [];\r\n // this.observerPosition = [];\r\n this.form.position = null;\r\n this.form.observer = null;\r\n // this.form.observerPosition = null;\r\n }\r\n }, err => {\r\n console.error('Error fetching project details:', err);\r\n });\r\n },\r\n onProjectChange(selectedProjectId) {\r\n if (selectedProjectId) {\r\n this.getProjectStyleData(selectedProjectId);\r\n this.getProjectSetupData(selectedProjectId);\r\n this.toggleInput();\r\n }\r\n },\r\n\r\n }, \r\n computed: {\r\n observersName: {\r\n get() {\r\n return this.observers.map(observer => observer.name).join(', ');\r\n },\r\n set(newValue) {\r\n const observers = newValue.split(',').map(name => {\r\n return { name: name.trim(), id: this.observers.find(observer => observer.name === name.trim()).id };\r\n });\r\n this.form.observer = observers;\r\n }\r\n },\r\n positionsName: {\r\n get() {\r\n return this.positions.map(position => position.name).join(', ');\r\n },\r\n set(newValue) {\r\n const positions = newValue.split(',').map(name => {\r\n return { name: name.trim(), id: this.positions.find(position => position.name === name.trim()).id };\r\n });\r\n this.form.position = positions;\r\n }\r\n },\r\n // observerPositionName: {\r\n // get() {\r\n // return this.observerPosition.map(observerPosition => observerPosition.name).join(', ');\r\n // },\r\n // set(newValue) {\r\n // const observerPosition = newValue.split(',').map(name => {\r\n // return { name: name.trim(), id: this.observerPosition.find(observerPosition => observerPosition.name === name.trim()).id };\r\n // });\r\n // this.form.observerPosition = observerPosition;\r\n // }\r\n // }\r\n },\r\n watch: {\r\n tags: {\r\n handler(newTags) {\r\n const formattedTags = (newTags || []).map(tag => tag.text || '');\r\n if (this.currentField) {\r\n this[this.currentField] = formattedTags;\r\n }\r\n this.inputValue = formattedTags.join(',');\r\n },\r\n deep: true,\r\n },\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .btn-duplicate {\r\n width: 80px !important;\r\n padding-left: 10px !important;\r\n background: #5D9E12;\r\n border-color: #5D9E12;\r\n }\r\n .card-body.new-card-body select {\r\n border: 1px solid #000;\r\n border-radius: 0;\r\n height: 46px;\r\n }\r\n .card-body.new-card-body textarea {\r\n border: 1px solid #000 !important;\r\n height: 250px;\r\n outline: none;\r\n box-shadow: none;\r\n border-radius: 0;\r\n }\r\n @media (max-width: 375px) {\r\n .row .card .new-card-body {\r\n padding: 1.25rem 1.437rem !important;\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSetup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSetup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./projectSetup.vue?vue&type=template&id=8047e0dc&\"\nimport script from \"./projectSetup.vue?vue&type=script&lang=js&\"\nexport * from \"./projectSetup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./projectSetup.vue?vue&type=style&index=0&id=8047e0dc&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSetup.vue?vue&type=style&index=0&id=8047e0dc&prod&lang=css&\""],"sourceRoot":""}