{"version":3,"sources":["webpack:///../../../src/components/VDataTable/VEditDialog.ts","webpack:///./src/components/shared/core/dialogs/EditFieldDialog.vue","webpack:///./src/model/common/entities/Field.js","webpack:///src/components/shared/core/dialogs/EditFieldDialog.vue","webpack:///./src/components/shared/core/dialogs/EditFieldDialog.vue?78a1","webpack:///./src/components/shared/core/dialogs/EditFieldDialog.vue?8550"],"names":["mixins","Returnable","Themeable","extend","name","props","cancelText","default","large","Boolean","eager","persistent","saveText","transition","type","String","data","isActive","watch","val","this","$emit","setTimeout","focus","methods","cancel","input","$refs","content","querySelector","genButton","fn","text","$createElement","VBtn","color","light","on","click","genActions","class","save","returnValue","genContent","staticClass","keydown","e","keyCode","keyCodes","esc","enter","ref","getSlot","render","h","VMenu","themeClasses","contentClass","origin","right","value","closeOnClick","closeOnContentClick","dark","scopedSlots","activator","attrs","update:return-value","_vm","$set","item","field","$event","_c","key","rules","model","expression","staticRenderFns","Field","constructor","label","_defineProperty","inheritAttrs","components","LayoutEditFieldDialog","iconEdit","Object","computed","inputType","component"],"mappings":"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","file":"js/chunk-7f96540f.c9ec7d2f.js","sourcesContent":["// Styles\nimport './VEditDialog.sass'\n\n// Mixins\nimport Returnable from '../../mixins/returnable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Component\nimport VBtn from '../VBtn'\nimport VMenu from '../VMenu'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Returnable, Themeable).extend({\n name: 'v-edit-dialog',\n\n props: {\n cancelText: {\n default: 'Cancel',\n },\n large: Boolean,\n eager: Boolean,\n persistent: Boolean,\n saveText: {\n default: 'Save',\n },\n transition: {\n type: String,\n default: 'slide-x-reverse-transition',\n },\n },\n\n data () {\n return {\n isActive: false,\n }\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.$emit('open')\n setTimeout(this.focus, 50) // Give DOM time to paint\n } else {\n this.$emit('close')\n }\n },\n },\n\n methods: {\n cancel () {\n this.isActive = false\n this.$emit('cancel')\n },\n focus () {\n const input = (this.$refs.content as Element).querySelector('input')\n input && input.focus()\n },\n genButton (fn: Function, text: VNodeChildren): VNode {\n return this.$createElement(VBtn, {\n props: {\n text: true,\n color: 'primary',\n light: true,\n },\n on: { click: fn },\n }, text)\n },\n genActions (): VNode {\n return this.$createElement('div', {\n class: 'v-small-dialog__actions',\n }, [\n this.genButton(this.cancel, this.cancelText),\n this.genButton(() => {\n this.save(this.returnValue)\n this.$emit('save')\n }, this.saveText),\n ])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-small-dialog__content',\n on: {\n keydown: (e: KeyboardEvent) => {\n e.keyCode === keyCodes.esc && this.cancel()\n if (e.keyCode === keyCodes.enter) {\n this.save(this.returnValue)\n this.$emit('save')\n }\n },\n },\n ref: 'content',\n }, getSlot(this, 'input'))\n },\n },\n\n render (h): VNode {\n return h(VMenu, {\n staticClass: 'v-small-dialog',\n class: this.themeClasses,\n props: {\n contentClass: 'v-small-dialog__menu-content',\n transition: this.transition,\n origin: 'top right',\n right: true,\n value: this.isActive,\n closeOnClick: !this.persistent,\n closeOnContentClick: false,\n eager: this.eager,\n light: this.light,\n dark: this.dark,\n },\n on: {\n input: (val: boolean) => (this.isActive = val),\n },\n scopedSlots: {\n activator: ({ on }) => {\n return h('div', {\n staticClass: 'v-small-dialog__activator',\n on,\n }, [\n h('span', {\n staticClass: 'v-small-dialog__activator__content',\n }, getSlot(this)),\n ])\n },\n },\n }, [\n this.genContent(),\n this.large ? this.genActions() : null,\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-edit-dialog',_vm._g(_vm._b({attrs:{\"return-value\":_vm.item[_vm.field.name],\"large\":\"\",\"persistent\":\"\"},on:{\"update:returnValue\":function($event){return _vm.$set(_vm.item, _vm.field.name, $event)},\"update:return-value\":function($event){return _vm.$set(_vm.item, _vm.field.name, $event)}},scopedSlots:_vm._u([{key:\"input\",fn:function(){return [_c('layout-edit-field-dialog',{attrs:{\"icon-name\":_vm.iconEdit},scopedSlots:_vm._u([{key:\"field\",fn:function(){return [_c('v-text-field',{attrs:{\"type\":_vm.inputType,\"rules\":_vm.field.rules},model:{value:(_vm.item[_vm.field.name]),callback:function ($$v) {_vm.$set(_vm.item, _vm.field.name, $$v)},expression:\"item[field.name]\"}})]},proxy:true}])},[_vm._v(\" \"+_vm._s(_vm.field.label)+\" \")])]},proxy:true}])},'v-edit-dialog',_vm.$attrs,false),_vm.$listeners),[_vm._v(\" \"+_vm._s(_vm.item[_vm.field.name])+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\r\n * Class Field\r\n */\r\nclass Field {\r\n /**\r\n * Field Name\r\n * @type {string}\r\n */\r\n name = \"\";\r\n /**\r\n * Field label\r\n * @type {string}\r\n */\r\n label = \"\";\r\n /**\r\n * Field types: \"text\", \"number\"\r\n * @type {string}\r\n */\r\n type = \"text\";\r\n /**\r\n * rules\r\n * Accepts a mixed array of types function, boolean and string\r\n * @type {[]}\r\n */\r\n rules = [];\r\n\r\n /**\r\n * Field\r\n * @param {String} name\r\n * @param {String} label\r\n * @param {String} type\r\n * @param {(function(*=): *)[]} rules\r\n */\r\n constructor(name = \"\", label = \"\", rules = [], type = \"\") {\r\n this.name = name;\r\n this.label = label;\r\n this.type = type;\r\n this.rules = rules;\r\n }\r\n}\r\n\r\nexport { Field };\r\n","\r\n\r\n\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!./EditFieldDialog.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!./EditFieldDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EditFieldDialog.vue?vue&type=template&id=430aaec8\"\nimport script from \"./EditFieldDialog.vue?vue&type=script&lang=js\"\nexport * from \"./EditFieldDialog.vue?vue&type=script&lang=js\"\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"],"sourceRoot":""}