{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js","webpack:///./src/pages/farms/farm/update.vue?02d0","webpack:///./src/pages/farms/farm/update.vue?0e7f","webpack:///./src/pages/farms/farm/update.vue?5798","webpack:///./src/pages/farms/farm/update.vue"],"names":["extend","name","form","this","inheritAttrs","props","disabled","Boolean","lazyValidation","readonly","value","data","inputs","watchers","errorBag","watch","val","errors","Object","values","includes","$emit","deep","immediate","methods","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","filter","validate","length","forEach","reset","resetErrorBag","setTimeout","resetValidation","push","watchInput","found","find","i","unwatch","$delete","h","staticClass","attrs","novalidate","attrs$","on","submit","e","$slots","default","render","_vm","_h","$createElement","_c","_self","ref","$t","model","callback","$$v","expression","farm","$o","update","loading","$event","stopPropagation","_v","_s","remove","_e","staticRenderFns","context","t","m","root","route","$route","router","$router","myFarm","fetch","$copy","confirm","start","farmId","params","id","error","open","close","component","VBtn","VDivider","VForm"],"mappings":"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","file":"js/chunk-0c38210e.6f18bf22.js","sourcesContent":["// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n name: 'v-form',\n\n provide() {\n return {\n form: this\n };\n },\n\n inheritAttrs: false,\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean\n },\n data: () => ({\n inputs: [],\n watchers: [],\n errorBag: {}\n }),\n watch: {\n errorBag: {\n handler(val) {\n const errors = Object.values(val).includes(true);\n this.$emit('input', !errors);\n },\n\n deep: true,\n immediate: true\n }\n },\n methods: {\n watchInput(input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val);\n }, {\n immediate: true\n });\n };\n\n const watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {}\n };\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\n if (!val) return; // Only watch if we're not already doing it\n\n if (this.errorBag.hasOwnProperty(input._uid)) return;\n watchers.valid = watcher(input);\n });\n } else {\n watchers.valid = watcher(input);\n }\n\n return watchers;\n },\n\n /** @public */\n validate() {\n return this.inputs.filter(input => !input.validate(true)).length === 0;\n },\n\n /** @public */\n reset() {\n this.inputs.forEach(input => input.reset());\n this.resetErrorBag();\n },\n\n resetErrorBag() {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {};\n }, 0);\n }\n },\n\n /** @public */\n resetValidation() {\n this.inputs.forEach(input => input.resetValidation());\n this.resetErrorBag();\n },\n\n register(input) {\n this.inputs.push(input);\n this.watchers.push(this.watchInput(input));\n },\n\n unregister(input) {\n const found = this.inputs.find(i => i._uid === input._uid);\n if (!found) return;\n const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n if (unwatch) {\n unwatch.valid();\n unwatch.shouldValidate();\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n this.$delete(this.errorBag, found._uid);\n }\n\n },\n\n render(h) {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$\n },\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VForm.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.farm)?_c('div',[_c('div',[_c('fm-confirm',{ref:\"confirm\",attrs:{\"title\":_vm.$t('確定刪除農場?')}}),_c('fm-title',{attrs:{\"title\":_vm.$t('更新農場')}}),_c('div',{staticClass:\"pa-5\"},[_c('v-form',{model:{value:(_vm.validate),callback:function ($$v) {_vm.validate=$$v},expression:\"validate\"}},[_c('fm-form-farm',{attrs:{\"farm\":_vm.farm,\"mode\":\"update\"}},[_c('v-btn',{staticClass:\"mt-5\",attrs:{\"block\":\"\",\"color\":\"success\",\"disabled\":!_vm.validate,\"loading\":_vm.farm.$o.update.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.submit($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('更新農場'))+\" \")]),_c('v-divider',{staticClass:\"my-5\"}),_c('v-btn',{staticClass:\"mt-5\",attrs:{\"block\":\"\",\"color\":\"error\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('刪除農場'))+\" \")])],1)],1)],1)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { __awaiter } from \"tslib\";\r\nimport { status } from '@/alas';\r\nimport { showError, showSuccess } from '@/store';\r\nimport { defineComponent, ref } from '@vue/composition-api';\r\nexport default defineComponent({\r\n setup(props, context) {\r\n let t = m => context.root.$t(m);\r\n let route = context.root.$route;\r\n let router = context.root.$router;\r\n // ================\r\n //\r\n // refs\r\n //\r\n let validate = ref(false);\r\n let myFarm = ref(status.fetch('farm'));\r\n let farm = ref(myFarm.value.$copy());\r\n let confirm = ref(null);\r\n // ================\r\n //\r\n // methods\r\n //\r\n let submit = () => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n yield farm.value.$o.update.start();\r\n status.reset('farm');\r\n showSuccess(t('更新成功'));\r\n yield status.fetch('farm').$o.fetch.start({\r\n farmId: route.params.id\r\n });\r\n router.push({\r\n name: 'farms.overview'\r\n });\r\n }\r\n catch (error) {\r\n showError(error);\r\n }\r\n });\r\n let remove = () => {\r\n confirm.value.open((close) => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n yield farm.value.$o.remove.start();\r\n showSuccess(t('刪除成功'));\r\n status.reset('farms');\r\n router.push({\r\n name: 'farms.list'\r\n });\r\n }\r\n catch (error) {\r\n showError(error);\r\n }\r\n }));\r\n };\r\n // ================\r\n //\r\n // done\r\n //\r\n return {\r\n submit,\r\n remove,\r\n validate,\r\n myFarm,\r\n farm,\r\n confirm\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./update.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./update.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./update.vue?vue&type=template&id=192fabd8&\"\nimport script from \"./update.vue?vue&type=script&lang=ts&\"\nexport * from \"./update.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\ninstallComponents(component, {VBtn,VDivider,VForm})\n"],"sourceRoot":""}