{"version":3,"sources":["webpack:///./src/pages/farms/farm/cycle-create.vue?b56b","webpack:///./src/pages/farms/farm/cycle-create.vue?8de9","webpack:///./src/pages/farms/farm/cycle-create.vue?a353","webpack:///./src/pages/farms/farm/cycle-create.vue","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","$t","staticClass","model","value","callback","$$v","validate","expression","cycle","types","$o","create","loading","on","$event","stopPropagation","submit","_v","_s","_e","name","staticRenderFns","props","context","route","root","$route","router","$router","alas","make","$init","fetch","id","params","createdAt","start","farmId","reset","push","toString","error","component","VBtn","VCard","VForm","extend","form","inheritAttrs","disabled","Boolean","lazyValidation","readonly","data","inputs","watchers","errorBag","watch","val","errors","Object","values","includes","$emit","deep","immediate","methods","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","filter","length","forEach","resetErrorBag","setTimeout","resetValidation","watchInput","found","find","i","unwatch","$delete","h","novalidate","attrs$","e","$slots","default"],"mappings":"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","file":"js/chunk-83d28a24.93181d14.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('fm-title',{attrs:{\"title\":_vm.$t('建立週期')}}),_c('v-card',{staticClass:\"pa-5 ma-5\"},[_c('v-form',{model:{value:(_vm.validate),callback:function ($$v) {_vm.validate=$$v},expression:\"validate\"}},[_c('fm-form-cycle',{attrs:{\"cycle\":_vm.cycle}})],1),(_vm.types.dirty)?_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"success\",\"disabled\":!_vm.validate,\"loading\":_vm.cycle.$o.create.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.submit($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('建立週期'))+\" \")]):_vm._e(),_c('div',{staticClass:\"text-center mt-4 body-2\"},[_c('div',[_vm._v(_vm._s(_vm.$t('若清單裡面沒有你栽種的作物,可以選擇通用或是前往聯絡我們進行申請。')))]),_c('v-btn',{staticClass:\"mt-1\",attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"primary\",\"to\":{ name: 'contact' },\"disabled\":_vm.cycle.$o.create.loading}},[_vm._v(\" \"+_vm._s(_vm.$t('前往聯絡我們'))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { __awaiter } from \"tslib\";\r\nimport { showError } from '@/store';\r\nimport { alas, status } from '@/alas';\r\nimport { defineComponent, ref } from '@vue/composition-api';\r\nexport default defineComponent({\r\n setup(props, context) {\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 cycle = ref(alas.make('farm', 'cycle').$init());\r\n let types = ref(status.fetch('types'));\r\n let validate = ref(false);\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 let id = route.params.id;\r\n let createdAt = yield cycle.value.$o.create.start({\r\n farmId: id\r\n });\r\n status.reset('cycles');\r\n router.push({\r\n name: 'farms.cycles.overview',\r\n params: {\r\n id,\r\n cycle: createdAt.toString()\r\n }\r\n });\r\n }\r\n catch (error) {\r\n showError(error);\r\n }\r\n });\r\n // ================\r\n //\r\n // done\r\n //\r\n return {\r\n cycle,\r\n types,\r\n validate,\r\n submit\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!./cycle-create.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!./cycle-create.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./cycle-create.vue?vue&type=template&id=4a5a3c10&\"\nimport script from \"./cycle-create.vue?vue&type=script&lang=ts&\"\nexport * from \"./cycle-create.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VForm } from 'vuetify/lib/components/VForm';\ninstallComponents(component, {VBtn,VCard,VForm})\n","// 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"],"sourceRoot":""}