{"version":3,"sources":["webpack:///./src/dialogs/addNewCategory/addNewCategory.vue?212f","webpack:///./src/dialogs/addNewCategory/addNewCategory.ts","webpack:///./src/dialogs/addNewCategory/addNewCategory.ts?8803","webpack:///./src/dialogs/addNewCategory/addNewCategory.vue","webpack:///./src/dialogs/addNewCategory/addNewCategory.scss?f2fc"],"names":["render","_vm","this","_h","$createElement","_c","_self","key","attrs","staticClass","editMode","_e","_v","errors","_l","error","_s","directives","name","rawName","value","model","expression","domProps","on","$event","target","composing","$set","saveDisabled","done","cancel","staticRenderFns","AddNewCategoryComponent","_Vue","_inherits","_super","_createSuper","_this","_classCallCheck","options","Globals","NewCategory","busy","_createClass","get","id","Util","isValidName","Debug","setDebugModule","log","category","arguments","length","undefined","ServerDataModule","serverData","debugging","getRandomInt","Object","assign","$modal","show","hide","splice","push","sanitizeName","found","CategoryModule","categories","find","item","_done","_asyncToGenerator","regeneratorRuntime","mark","_callee","orders","idx","maxOrder","response","message","wrap","_context","prev","next","validateInput","abrupt","checkAlreadyExists","showError","map","order","indexOf","Math","max","apply","_toConsumableArray","editCategory","sent","showToast","createCategory","EventBus","Instance","$emit","CategoriesChanged","t0","stop","Vue","__decorate","Prop","default","Component","component"],"mappings":"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","file":"js/chunk-067d59ac.2b7dd6cc.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{key:_vm.key,attrs:{\"clickToClose\":false,\"name\":_vm.key}},[_c('div',{staticClass:\"add-new-category-wrapper\"},[_c('h3',[(!_vm.editMode)?_c('span',[_vm._v(\"Add Category\")]):_vm._e(),(_vm.editMode)?_c('span',[_vm._v(\"Edit Category\")]):_vm._e()]),_c('hr'),(_vm.errors.length)?_c('p',{staticClass:\"errors\"},[_c('b',[_vm._v(\"Please correct the following error(s):\")]),_c('ul',_vm._l((_vm.errors),function(error){return _c('li',[_vm._v(_vm._s(error))])}),0)]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"name\":\"Category\",\"for\":\"name\"}},[_vm._v(\"Category\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.name),expression:\"model.name\"}],staticClass:\"form-control\",attrs:{\"id\":\"name\",\"placeholder\":\"Enter category\",\"title\":\"Enter category\",\"autocomplete\":\"category\",\"tabindex\":\"1\",\"autofocus\":\"\"},domProps:{\"value\":(_vm.model.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.model, \"name\", $event.target.value)}}})]),_c('footer',[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":_vm.saveDisabled,\"accesskey\":\"t\",\"tabindex\":\"2\"},on:{\"click\":function($event){_vm.done()}}},[(!_vm.editMode)?_c('span',[_vm._v(\"Add\")]):_vm._e(),(_vm.editMode)?_c('span',[_vm._v(\"Save\")]):_vm._e()]),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":function($event){_vm.cancel()}}},[_vm._v(\"Cancel\")]),_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"fa fa-spinner fa-spin\"})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport { CategoryModule } from '@/store/category';\r\nimport Browser from '@/support/browser';\r\nimport Globals from '@/globals';\r\nimport PlayerApi from '@/support/playerApi';\r\nimport PlayerUtil from '@/support/playerUtil';\r\nimport { ServerDataModule } from '@/store/serverData';\r\nimport Util from '@/support/utility';\r\nimport { IWizardManager, ICategoryDto } from '@/interfaces';\r\nimport { EventBus } from '@/support/eventBus';\r\n\r\n@Component\r\nexport default class AddNewCategoryComponent extends Vue {\r\n\r\n options = {\r\n };\r\n\r\n model = Globals.NewCategory;\r\n\r\n busy = false;\r\n key = 'addNewCategory';\r\n errors: string[] = [];\r\n\r\n @Prop({ default: null })\r\n wizard: IWizardManager;\r\n\r\n @Prop({ default: 300 })\r\n height: string;\r\n\r\n get editMode() {\r\n return this.model.id > 0;\r\n }\r\n\r\n get saveDisabled() {\r\n return this.busy || !this.model.name || !Util.isValidName(this.model.name);\r\n }\r\n\r\n created() {\r\n Debug.setDebugModule('addNewCategory', this);\r\n }\r\n\r\n mounted() {\r\n Debug.log('addNewCategory mounted');\r\n }\r\n\r\n showExpired() {\r\n this.done();\r\n }\r\n\r\n show(category: SUR.CategoryDto = null) {\r\n Debug.log('addNewCategory show', category);\r\n\r\n category = category || Globals.NewCategory;\r\n\r\n if (ServerDataModule.serverData.debugging && category.id == 0) {\r\n category.name = 'DeleteMe' + Util.getRandomInt(1000);\r\n }\r\n\r\n Object.assign(this.model, category);\r\n\r\n this.busy = false;\r\n (this.$modal).show(this.key);\r\n }\r\n\r\n hide() {\r\n (this.$modal).hide(this.key);\r\n }\r\n\r\n validateInput() {\r\n this.errors.splice(0, this.errors.length);\r\n\r\n if (!this.model.name)\r\n this.errors.push('Name required');\r\n else if (!Util.isValidName(this.model.name))\r\n this.errors.push('Invalid name');\r\n\r\n return !this.errors.length;\r\n }\r\n\r\n checkAlreadyExists() {\r\n let name = Util.sanitizeName(this.model.name);\r\n let found = CategoryModule.categories.find(item => item.name == name);\r\n return found && found.id != this.model.id;\r\n }\r\n\r\n async done() {\r\n if (!this.validateInput()) return false;\r\n\r\n this.busy = true;\r\n\r\n try {\r\n\r\n if (this.checkAlreadyExists()) {\r\n Util.showError('Category already exists');\r\n return null;\r\n }\r\n\r\n if (!this.editMode) {\r\n let orders = CategoryModule.categories.map(item => item.order);\r\n\r\n // Remove Archived Portals from orders (always last)\r\n let idx = orders.indexOf(1000);\r\n if (idx != -1) {\r\n orders.splice(idx, 1);\r\n }\r\n\r\n let maxOrder = Math.max(...orders) || 1;\r\n\r\n Debug.log('addNewCategory new category order', maxOrder + 1, orders);\r\n this.model.order = maxOrder + 1;\r\n }\r\n\r\n let response = null;\r\n if (this.editMode) {\r\n response = await CategoryModule.editCategory(this.model);\r\n Util.showToast('Updated category ' + this.model.name);\r\n }\r\n else {\r\n response = await CategoryModule.createCategory(this.model);\r\n Util.showToast('Added new category ' + this.model.name);\r\n }\r\n\r\n Debug.log('addNewCategory done SUCCEEDED');\r\n\r\n EventBus.Instance.$emit(EventBus.CategoriesChanged, response);\r\n\r\n this.hide();\r\n\r\n return null;\r\n } catch (err) {\r\n let message = err.message || 'ERROR';\r\n Debug.error(\"addNewCategory FAILED \", this.model.name, message);\r\n Util.showError('Failed to add new category ' + this.model.name);\r\n this.busy = false;\r\n return null;\r\n } finally {\r\n this.busy = false;\r\n return null;\r\n }\r\n }\r\n\r\n cancel() {\r\n this.hide();\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/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/ts-loader/index.js??ref--13-3!./addNewCategory.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/ts-loader/index.js??ref--13-3!./addNewCategory.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./addNewCategory.vue?vue&type=template&id=cd85da1c\"\nimport script from \"./addNewCategory.ts?vue&type=script&lang=js&external\"\nexport * from \"./addNewCategory.ts?vue&type=script&lang=js&external\"\nimport style0 from \"./addNewCategory.scss?vue&type=style&index=0&prod&lang=scss&external\"\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--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./addNewCategory.scss?vue&type=style&index=0&prod&lang=scss&external\""],"sourceRoot":""}