{"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":""}