(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[60],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionEdit.vue?vue&type=script&lang=js": /*!**************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionEdit.vue?vue&type=script&lang=js ***! \**************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _store_dataMappers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../store/dataMappers */ \"./src/store/dataMappers.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n objects: {\n type: Array,\n required: true\n },\n type: {\n type: String,\n required: true\n },\n id: {\n type: Number,\n required: true\n }\n },\n data() {\n return {\n obj: {\n allowDeny: false,\n object: ''\n }\n };\n },\n computed: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])('Permissions', ['error', 'changed']),\n ...Object(_store_dataMappers__WEBPACK_IMPORTED_MODULE_1__[\"mapFields\"])({\n fields: ['obj.object', 'obj.allowDeny', 'obj.read', 'obj.write'],\n base: 'Permissions',\n mutation: 'INIT_OBJECT'\n })\n },\n beforeMount() {\n console.debug('PermissionEdit form mounted'); // unique form name\n },\n methods: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])('Permissions', ['reset', 'saveData', 'clear']),\n close() {\n this.$emit('doClose', this);\n },\n async saveData() {\n if (this.type === 'user') {\n await this.$store.dispatch('UserPermissionMap/addPermission', {\n UserId: this.id,\n Permission: this.obj\n });\n this.close();\n }\n if (this.type === 'role') {\n await this.$store.dispatch('RolePermissionMap/addPermission', {\n UserRoleId: this.id,\n Permission: this.obj\n });\n this.close();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/User/Permission/PermissionEdit.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionList.vue?vue&type=script&lang=js": /*!**************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionList.vue?vue&type=script&lang=js ***! \**************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _PermissionEdit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PermissionEdit */ \"./src/components/User/Permission/PermissionEdit.vue\");\n/* harmony import */ var _lib_componentSettings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../lib/componentSettings */ \"./src/lib/componentSettings.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PermissionList',\n props: {\n type: {\n type: String,\n required: true\n },\n id: {\n type: Number,\n required: true\n }\n },\n components: {\n PermissionEdit: _PermissionEdit__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n data() {\n return {\n listData: [],\n loading: false,\n headers: [{\n text: 'Object',\n value: 'Permission.object'\n }, {\n text: 'Delete',\n value: 'seq',\n sortable: false\n }],\n settings: {\n version: 1\n // add filters to this object as well\n },\n permissionAddForm: false,\n allPermissions: [],\n mapType: 'UserPermissionMap',\n addPermissionFormOpen: false\n };\n },\n mounted() {\n console.debug('PermissionList: mounted'); // unique list data name\n\n if (this.type === 'user') {\n this.mapType = 'UserPermissionMap';\n } else if (this.type === 'role') {\n this.mapType = 'RolePermissionMap';\n } else {\n throw new Error('Invalid type on PermissionList component');\n }\n var settings = _lib_componentSettings__WEBPACK_IMPORTED_MODULE_2__[\"default\"].loadSettings(this);\n if (settings) {\n this.settings = settings; // will trigger the watch / data\n } else {\n _lib_componentSettings__WEBPACK_IMPORTED_MODULE_2__[\"default\"].saveSettings(this); // save defaults\n }\n this.populate();\n this.allPermissions = __webpack_require__(/*! @/lib/permissionobjects.json */ \"./src/lib/permissionobjects.json\");\n },\n computed: {\n missingPermissions() {\n return this.allPermissions.filter(allPermObj => {\n return !this.listData.find(listPermObj => {\n return listPermObj.Permission.object === allPermObj;\n });\n });\n }\n },\n watch: {\n settings: {\n deep: true,\n handler() {\n this.populate();\n _lib_componentSettings__WEBPACK_IMPORTED_MODULE_2__[\"default\"].saveSettings(this); // save defaults\n }\n }\n // watch real-time filters and trigger populate()\n },\n methods: {\n addPermissionClose() {\n this.addPermissionFormOpen = false;\n this.populate();\n },\n async doDelete(id) {\n await this.$store.dispatch(this.mapType + '/deleteById', id);\n this.populate();\n },\n addPermissionOpen() {\n this.addPermissionFormOpen = true;\n },\n async populate() {\n this.loading = true;\n const filter = {\n where: {}\n };\n if (this.type === 'user') {\n filter.where.UserId = this.id;\n }\n if (this.type === 'role') {\n filter.where.UserRoleId = this.id;\n }\n this.listData = await this.$store.dispatch(this.mapType + '/pullData', {\n filter: filter\n });\n this.loading = false;\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/User/Permission/PermissionList.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Role/RoleEdit.vue?vue&type=script&lang=js": /*!**************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Role/RoleEdit.vue?vue&type=script&lang=js ***! \**************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Permission_PermissionList__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Permission/PermissionList */ \"./src/components/User/Permission/PermissionList.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _store_dataMappers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../store/dataMappers */ \"./src/store/dataMappers.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n hideToolbar: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {};\n },\n computed: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])('UserRole', ['obj', 'error', 'changed']),\n ...Object(_store_dataMappers__WEBPACK_IMPORTED_MODULE_2__[\"mapFields\"])({\n fields: ['name', 'description'],\n base: 'UserRole',\n mutation: 'INIT_OBJECT'\n })\n },\n beforeMount() {\n console.debug('UserRole edit form mounted');\n if (this.$route.params.id && this.$route.params.id > 0) {\n this.$store.dispatch('UserRole/initById', this.$route.params.id);\n } else {\n this.$store.dispatch('UserRole/clear');\n }\n },\n beforeRouteLeave(to, from, next) {\n if (this.changed) {\n const answer = window.confirm('You have unsaved changes! Do you really want to leave?');\n if (answer) {\n next();\n } else {\n next(false);\n }\n } else {\n next();\n }\n },\n methods: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])('UserRole', ['reset', 'saveData', 'clear']),\n errMsg(field) {\n if (this.error) {\n const thiserror = this.error.filter(e => e.path === field);\n return thiserror.length ? thiserror[0].msg : [];\n }\n return [];\n }\n },\n components: {\n PermissionList: _Permission_PermissionList__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./src/components/User/Role/RoleEdit.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionEdit.vue?vue&type=template&id=cd19a9b6": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionEdit.vue?vue&type=template&id=cd19a9b6 ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VForm */ \"./node_modules/vuetify/lib/components/VForm/index.js\");\n/* harmony import */ var vuetify_lib_components_VRadioGroup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VRadioGroup */ \"./node_modules/vuetify/lib/components/VRadioGroup/index.js\");\n/* harmony import */ var vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VSelect */ \"./node_modules/vuetify/lib/components/VSelect/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], {\n attrs: {\n justify: \"center\"\n }\n }, [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n sm: \"12\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], {\n staticClass: \"mx-auto mb-4\",\n staticStyle: {\n oveflow: \"hidden !important\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbarTitle\"], {\n staticClass: \"white--text\",\n staticStyle: {\n width: \"auto\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.obj.id ? \"Edit\" : \"Create\") + \" Permissions \")])], 1), _c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCardText\"], [_c(vuetify_lib_components_VForm__WEBPACK_IMPORTED_MODULE_3__[\"VForm\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], [_c(vuetify_lib_components_VSelect__WEBPACK_IMPORTED_MODULE_5__[\"VSelect\"], {\n staticClass: \"pr-3\",\n attrs: {\n items: _vm.objects,\n label: \"Permission Object\"\n },\n model: {\n value: _vm.obj.object,\n callback: function ($$v) {\n _vm.$set(_vm.obj, \"object\", $$v);\n },\n expression: \"obj.object\"\n }\n })], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], [_c(vuetify_lib_components_VRadioGroup__WEBPACK_IMPORTED_MODULE_4__[\"VRadioGroup\"], {\n attrs: {\n dense: \"\"\n },\n model: {\n value: _vm.obj.allowDeny,\n callback: function ($$v) {\n _vm.$set(_vm.obj, \"allowDeny\", $$v);\n },\n expression: \"obj.allowDeny\"\n }\n }, [_c(vuetify_lib_components_VRadioGroup__WEBPACK_IMPORTED_MODULE_4__[\"VRadio\"], {\n attrs: {\n label: \"Add Permissions\",\n value: true\n }\n }), _c(vuetify_lib_components_VRadioGroup__WEBPACK_IMPORTED_MODULE_4__[\"VRadio\"], {\n attrs: {\n label: \"Remove Permissions\",\n value: false\n }\n })], 1)], 1)], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n align: \"right\"\n }\n }, [_c(\"SaveButton\", {\n staticClass: \"mr-4 rounded-0\",\n attrs: {\n disabled: !_vm.obj.object,\n module: \"Permissions\",\n customSaveFunction: _vm.saveData\n }\n }), _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"rounded-0\",\n attrs: {\n small: \"\",\n color: \"secondary\"\n },\n on: {\n click: _vm.close\n }\n }, [_vm._v(\"Cancel\")])], 1)], 1)], 1)], 1)], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/User/Permission/PermissionEdit.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionList.vue?vue&type=template&id=eba9f88e": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionList.vue?vue&type=template&id=eba9f88e ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VDataTable */ \"./node_modules/vuetify/lib/components/VDataTable/index.js\");\n/* harmony import */ var vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDialog */ \"./node_modules/vuetify/lib/components/VDialog/index.js\");\n/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ \"./node_modules/vuetify/lib/components/VIcon/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"12\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], {\n staticClass: \"mx-auto mb-4\"\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbarTitle\"], {\n staticClass: \"white--text\"\n }, [_vm._v(\"Direct Permissions\")]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VSpacer\"]), _c(vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_4__[\"VDialog\"], {\n attrs: {\n persistent: \"\",\n \"max-width\": \"600px\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g({\n attrs: {\n icon: \"\",\n color: \"white\"\n }\n }, on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_5__[\"VIcon\"], [_vm._v(\"mdi-shield-plus\")])], 1)];\n }\n }]),\n model: {\n value: _vm.addPermissionFormOpen,\n callback: function ($$v) {\n _vm.addPermissionFormOpen = $$v;\n },\n expression: \"addPermissionFormOpen\"\n }\n }, [_c(\"PermissionEdit\", {\n attrs: {\n objects: _vm.missingPermissions,\n seq: _vm.listData.length + 1,\n type: _vm.type,\n id: _vm.id\n },\n on: {\n doClose: _vm.addPermissionClose,\n refreshRequired: _vm.populate\n }\n })], 1)], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"12\"\n }\n }, [_c(vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_3__[\"VDataTable\"], {\n attrs: {\n headers: _vm.headers,\n items: _vm.listData,\n \"loading-text\": \"Loading...\",\n loading: _vm.loading,\n dense: \"\",\n \"disable-sort\": \"\"\n },\n scopedSlots: _vm._u([{\n key: `item.seq`,\n fn: function ({\n item\n }) {\n return [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_5__[\"VIcon\"], {\n on: {\n click: function ($event) {\n return _vm.doDelete(item.id);\n }\n }\n }, [_vm._v(\"mdi-delete\")])];\n }\n }], null, true)\n })], 1)], 1)], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/User/Permission/PermissionList.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Role/RoleEdit.vue?vue&type=template&id=2e105cf6": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Role/RoleEdit.vue?vue&type=template&id=2e105cf6 ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VForm */ \"./node_modules/vuetify/lib/components/VForm/index.js\");\n/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ \"./node_modules/vuetify/lib/components/VIcon/index.js\");\n/* harmony import */ var vuetify_lib_components_VTextField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VTextField */ \"./node_modules/vuetify/lib/components/VTextField/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n/* harmony import */ var vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VTooltip */ \"./node_modules/vuetify/lib/components/VTooltip/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], {\n attrs: {\n justify: \"center\"\n }\n }, [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"12\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], {\n staticClass: \"mx-auto mb-4\"\n }, [!_vm.hideToolbar ? _c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_6__[\"VToolbarTitle\"], {\n staticClass: \"white--text\",\n staticStyle: {\n width: \"auto\"\n }\n }, [_vm._v(\" \" + _vm._s(_vm.obj.id ? \"Edit\" : \"Create\") + \" User Role \")]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VSpacer\"]), _vm.obj.id && _vm.changed ? _c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_7__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n attrs: {\n icon: \"\",\n color: \"indigo lighten-5\"\n },\n on: {\n click: _vm.reset\n }\n }, \"v-btn\", attrs, false), on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__[\"VIcon\"], [_vm._v(\"mdi-undo\")])], 1)];\n }\n }], null, false, 1048318209)\n }, [_c(\"span\", [_vm._v(\"Click to Undo Changes\")])]) : _vm._e(), !_vm.obj.id && _vm.changed ? _c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_7__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n attrs: {\n icon: \"\",\n color: \"indigo lighten-4\"\n },\n on: {\n click: _vm.clear\n }\n }, \"v-btn\", attrs, false), on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__[\"VIcon\"], [_vm._v(\"mdi-undo\")])], 1)];\n }\n }], null, false, 2474175116)\n }, [_c(\"span\", [_vm._v(\"Click to Start Again\")])]) : _vm._e(), _c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_7__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n attrs: {\n icon: \"\",\n color: _vm.changed ? \"success\" : \"white\"\n },\n on: {\n click: _vm.saveData\n }\n }, \"v-btn\", attrs, false), on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_4__[\"VIcon\"], [_vm._v(_vm._s(_vm.changed ? \"mdi-content-save\" : \"mdi-check-circle\"))])], 1)];\n }\n }], null, false, 2091163522)\n }, [_c(\"span\", [_vm._v(_vm._s(_vm.changed ? \"You have unsaved changes\" : \"Data is saved\"))])])], 1) : _vm._e(), _c(\"ValidationObserver\", {\n ref: \"observer\",\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function ({\n invalid\n }) {\n return [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCardText\"], [_c(vuetify_lib_components_VForm__WEBPACK_IMPORTED_MODULE_3__[\"VForm\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"6\"\n }\n }, [_c(\"ValidationProvider\", {\n attrs: {\n name: \"Role Name\",\n rules: \"required\"\n }\n }, [_c(vuetify_lib_components_VTextField__WEBPACK_IMPORTED_MODULE_5__[\"VTextField\"], {\n staticClass: \"pr-3\",\n attrs: {\n label: \"Role Name\",\n \"error-messages\": _vm.errMsg(\"name\")\n },\n model: {\n value: _vm.name,\n callback: function ($$v) {\n _vm.name = $$v;\n },\n expression: \"name\"\n }\n })], 1)], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"6\"\n }\n }, [_c(\"ValidationProvider\", {\n attrs: {\n name: \"Description\",\n rules: \"required\"\n }\n }, [_c(vuetify_lib_components_VTextField__WEBPACK_IMPORTED_MODULE_5__[\"VTextField\"], {\n attrs: {\n label: \"Description\",\n \"error-messages\": _vm.errMsg(\"description\")\n },\n model: {\n value: _vm.description,\n callback: function ($$v) {\n _vm.description = $$v;\n },\n expression: \"description\"\n }\n })], 1)], 1)], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n staticClass: \"mb-4\",\n attrs: {\n align: \"right\"\n }\n }, [_c(\"SaveButton\", {\n staticClass: \"mr-4 rounded-0\",\n attrs: {\n disabled: invalid || !_vm.changed,\n module: \"UserRole\"\n }\n }), _vm.obj.id ? _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"mr-4 rounded-0\",\n attrs: {\n disabled: !_vm.changed,\n small: \"\",\n color: \"secondary\"\n },\n on: {\n click: _vm.reset\n }\n }, [_vm._v(\"Revert\")]) : _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"mr-4 rounded-0\",\n attrs: {\n disabled: !_vm.changed,\n small: \"\",\n color: \"secondary\"\n },\n on: {\n click: _vm.clear\n }\n }, [_vm._v(\"Clear\")])], 1)], 1)], 1)], 1)];\n }\n }])\n })], 1)], 1), _vm.$route.params.id > 0 ? _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_2__[\"VCol\"], {\n attrs: {\n lg: \"12\"\n }\n }, [_c(\"PermissionList\", {\n attrs: {\n type: \"role\",\n id: parseInt(_vm.$route.params.id)\n }\n })], 1) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/User/Role/RoleEdit.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionEdit.vue?vue&type=style&index=0&id=cd19a9b6&lang=scss": /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionEdit.vue?vue&type=style&index=0&id=cd19a9b6&lang=scss ***! \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".mdc-typography-style-headline {\\n font-family: Roboto;\\n font-size: 16 .mdc-typography-style-headline --error;\\n font-size-color: red;\\n}\\n.formHeading {\\n font-weight: bold;\\n text-transform: uppercase;\\n text-align: left;\\n color: #3853A3;\\n}\\n.toolbarTitle {\\n width: 600px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/User/Permission/PermissionEdit.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/User/Permission/PermissionEdit.vue?vue&type=style&index=0&id=cd19a9b6&lang=scss": /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/User/Permission/PermissionEdit.vue?vue&type=style&index=0&id=cd19a9b6&lang=scss ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a