(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[50],{ /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js&": /*!***********************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js& ***! \***********************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services_factory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/factory */ "./resources/js/src/services/factory.js"); /* harmony import */ var _components_form_List__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/form/List */ "./resources/js/src/components/form/List.vue"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @riophae/vue-treeselect */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @riophae/vue-treeselect/dist/vue-treeselect.css */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.css"); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ __webpack_exports__["default"] = ({ name: "Groups", components: { CFormList: _components_form_List__WEBPACK_IMPORTED_MODULE_2__["default"], Treeselect: _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default.a }, data: function data() { return { fields: [{ key: "id", label: "Код" }, { key: "name", label: "Имя" }], service: _services_factory__WEBPACK_IMPORTED_MODULE_1__["default"].role, title: "Группа", permissionOptions: [], permissions: [], role: {} }; }, created: function created() { this.fetchPermissions(); }, methods: { fetchPermissions: function fetchPermissions() { var _this = this; return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() { var permissionResponse; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _services_factory__WEBPACK_IMPORTED_MODULE_1__["default"].permission.all(); case 2: permissionResponse = _context.sent; _this.permissionOptions = _this.formatKeys(permissionResponse.data, { id: "id", name: "label" }); return _context.abrupt("return", permissionResponse); case 5: case "end": return _context.stop(); } } }, _callee); }))(); }, fetchRolePermissions: function fetchRolePermissions(role) { var _this2 = this; return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2() { var roleResponse; return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _this2.role = role; _context2.next = 3; return _services_factory__WEBPACK_IMPORTED_MODULE_1__["default"].role.get(role.id, { "with": "permissions" }); case 3: roleResponse = _context2.sent; _this2.permissions = roleResponse.data.permissions.map(function (permission) { return permission.id; }); case 5: case "end": return _context2.stop(); } } }, _callee2); }))(); }, addPermission: function addPermission(permission) { var _this3 = this; _services_factory__WEBPACK_IMPORTED_MODULE_1__["default"].role.givePermission(permission.id, this.role.id)["catch"](function (error) { _this3.toastHttpError(error); }); }, removePermission: function removePermission(permission) { var _this4 = this; _services_factory__WEBPACK_IMPORTED_MODULE_1__["default"].role.revokePermission(permission.id, this.role.id)["catch"](function (error) { _this4.toastHttpError(error); }); } } }); /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c&": /*!***************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c& ***! \***************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "CRow", [ _c( "CCol", { attrs: { col: "md-6" } }, [ _c("CFormList", { attrs: { service: _vm.service, fields: _vm.fields, title: _vm.title }, on: { show: _vm.fetchRolePermissions }, scopedSlots: _vm._u([ { key: "append-body", fn: function() { return [ _c("label", [_vm._v("Разрешение")]), _vm._v(" "), _c("treeselect", { attrs: { multiple: true, options: _vm.permissionOptions, clearable: false }, on: { select: _vm.addPermission, deselect: _vm.removePermission }, model: { value: _vm.permissions, callback: function($$v) { _vm.permissions = $$v }, expression: "permissions" } }) ] }, proxy: true } ]) }) ], 1 ) ], 1 ) } var staticRenderFns = [] render._withStripped = true /***/ }), /***/ "./resources/js/src/views/system/Groups.vue": /*!**************************************************!*\ !*** ./resources/js/src/views/system/Groups.vue ***! \**************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Groups.vue?vue&type=template&id=57bc158c& */ "./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c&"); /* harmony import */ var _Groups_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Groups.vue?vue&type=script&lang=js& */ "./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js&"); /* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); /* normalize component */ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( _Groups_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__["render"], _Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, null, null ) /* hot reload */ if (false) { var api; } component.options.__file = "resources/js/src/views/system/Groups.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ "./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js&": /*!***************************************************************************!*\ !*** ./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js& ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Groups_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./Groups.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/src/views/system/Groups.vue?vue&type=script&lang=js&"); /* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Groups_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /***/ "./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c&": /*!*********************************************************************************!*\ !*** ./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c& ***! \*********************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./Groups.vue?vue&type=template&id=57bc158c& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/src/views/system/Groups.vue?vue&type=template&id=57bc158c&"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Groups_vue_vue_type_template_id_57bc158c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /***/ }) }]);