{"version":3,"sources":["webpack:///./src/pages/manage/security-group/common/consts.ts","webpack:///./src/pages/manage/security-group/index.vue","webpack:///./src/pages/manage/security-group/components/security-group-dialog.vue","webpack:///./src/pages/manage/security-group/components/security-group-dialog.vue?fd5d","webpack:///./src/pages/manage/security-group/index.vue?6ea2","webpack:///./src/pages/manage/security-group/components/security-group-dialog.vue?2631","webpack:///./src/pages/manage/security-group/components/security-group-dialog.vue?0d11","webpack:///./src/pages/manage/security-group/index.vue?84b8","webpack:///./src/pages/manage/security-group/index.vue?351e"],"names":["SecurityGroupAccessType","SecurityGroupDialogTarget","_vm","scopedSlots","key","fn","openDialog","_v","attrs","listDialogTarget","listDialogVisible","item","addByRole","value","callback","_c","model","expression","staticClass","on","$event","accessDataSource","proxy","accessDialogVisible","emails","addUserList","staticRenderFns","render","$emit","staticStyle","securityGroupAccessTypes","directives","rawName","securityGroupAccessType","userProfileFilterPredicate","SecurityGroupDialog","Vue","constructor","UserProfile","caption","Role","userProfileDataSource","ListDataSource","className","config","pageIndex","pageSize","roleDataSource","roleMetaData","properties","name","type","description","editor","priority","group","visibleInTable","validations","validator","errorMessage","bindedFieldName","up","this","exludedUserProfileIdx","some","i","id","roleFilterPredicate","r","exludedRoleIdx","addByUserProfile","userProfile","accessType","userProfileId","roleId","__decorate","Prop","default","Component","ListDialogTarget","component","Home","Group","securityGroupDialogTarget","icons","role","mdiShieldAccountOutline","mdiAccount","dataSource","SecurityGroupUserProfileListDataSource","SecurityGroupAccessListDataSource","dialog","folderConfig","rootFolder","headers","text","sortable","align","securityList","currentFolderId","$message","emailAddresses","split","securityGroupId","addUserListByEmails","get","Access","items","filter","map","JSON","stringify","Filter","getCaption","_item$userProfile$ful","_item$userProfile","_item$role","fullName","to","disabled","target","data","add","total","length","Promise","all","Ref","components"],"mappings":"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","file":"js/chunk-2d0e88df.dec6eb2b.js","sourcesContent":["export enum SecurityGroupAccessType {\n UserProfile,\n Role,\n}\nexport enum SecurityGroupDialogTarget {\n UserProfile,\n Access,\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('data-list',{ref:\"securityList\",attrs:{\"folder-config\":_vm.folderConfig,\"title\":\"Группа безопасности\",\"breadcrumbs\":_vm.breadcrumbs,\"custom-create-item-filelds\":[],\"custom-create-item-model\":{},\"custom-headers\":_vm.headers,\"folder-filter-key-name\":\"securityGroupId\",\"data-source\":_vm.dataSource,\"prevent-get\":true},on:{\"restrict\":_vm.openAccessDialog},scopedSlots:_vm._u([{key:\"add\",fn:function(){return [_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openDialog(0)}}},[_vm._v(\" Добавить \")]),_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":function($event){_vm.listDialogTarget=1; _vm.listDialogVisible=true;}}},[_vm._v(\" Добавить список людей \")])]},proxy:true},{key:\"type\",fn:function({ item }){return [(item.accessType == 0)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.icons.userProfile)+\" \")]):_vm._e(),(item.accessType == 1)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.icons.role)+\" \")]):_vm._e()]}},{key:\"caption\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.getCaption(item))+\" \")]}}])}),_c('security-group-dialog',{attrs:{\"exludedRoleIdx\":_vm.rolesExcludedIdx,\"exludedUserProfileIdx\":_vm.userProfilesExcludedIdx},on:{\"add-by-user-profile\":_vm.addByUserProfile,\"add-by-role\":_vm.addByRole},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}}),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"max-width\":\"1200\"},model:{value:(_vm.accessDialogVisible),callback:function ($$v) {_vm.accessDialogVisible=$$v},expression:\"accessDialogVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"d-flex align-items-center justify-space-between\"},[_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Доступ к группам безопасности\")]),_c('div',[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"success\"},on:{\"click\":function($event){_vm.listDialogTarget=0; _vm.listDialogVisible=true;}}},[_vm._v(\" Добавить доступ к списку людей \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openDialog(1)}}},[_vm._v(\" Добавить доступ \")])],1)]),_c('v-card-text',[_c('data-list',{attrs:{\"allow-header\":\"false\",\"custom-create-item-filelds\":[],\"custom-create-item-model\":{},\"custom-headers\":_vm.headers,\"prevent-get\":true,\"data-source\":_vm.accessDataSource},scopedSlots:_vm._u([{key:\"add\",fn:function(){return [_c('div')]},proxy:true},{key:\"refresh\",fn:function(){return [_c('div')]},proxy:true},{key:\"type\",fn:function({ item }){return [(item.accessType == 0)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.icons.userProfile)+\" \")]):_vm._e(),(item.accessType == 1)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(_vm.icons.role)+\" \")]):_vm._e()]}},{key:\"caption\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.getCaption(item))+\" \")]}}])})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.accessDialogVisible = false}}},[_vm._v(\" Закрыть \")])],1)],1)],1),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"persistent\":\"\",\"max-width\":\"600\"},model:{value:(_vm.listDialogVisible),callback:function ($$v) {_vm.listDialogVisible=$$v},expression:\"listDialogVisible\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" Добавить список пользователей \")]),_c('v-card-text',{staticClass:\"pt-3\"},[_c('v-textarea',{attrs:{\"hide-details\":\"\",\"label\":\"Введите список email адресов пользователей\",\"outlined\":\"\"},model:{value:(_vm.emails),callback:function ($$v) {_vm.emails=$$v},expression:\"emails\"}}),_c('small',[_vm._v(\"Каждый email адрес должен начинаться с новой строки\")])],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.addUserList}},[_vm._v(\" Добавить \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.listDialogVisible = false}}},[_vm._v(\" Закрыть \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-dialog',{attrs:{\"scrollable\":\"\",\"value\":_vm.value,\"persistent\":\"\",\"max-width\":\"800\"},on:{\"input\":function($event){return _vm.$emit('input', $event)}}},[_c('v-card',[_c('v-card-title',{staticClass:\"d-flex align-items-center justify-space-between\"},[_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Добавить пользователя\")]),_c('div',{staticStyle:{\"width\":\"300px\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.securityGroupAccessTypes,\"item-text\":\"caption\",\"hide-details\":\"\",\"item-value\":\"value\",\"label\":\"Тип дотупа\"},model:{value:(_vm.securityGroupAccessType),callback:function ($$v) {_vm.securityGroupAccessType=$$v},expression:\"securityGroupAccessType\"}})],1)]),_c('v-card-text',[_c('data-list',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.securityGroupAccessType == 0),expression:\"securityGroupAccessType == 0\"}],attrs:{\"title\":\"Пользователи\",\"data-source\":_vm.userProfileDataSource,\"filter-predicate\":_vm.userProfileFilterPredicate},scopedSlots:_vm._u([{key:\"actions\",fn:function({ item }){return [_c('v-btn',{attrs:{\"color\":\"primary\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.addByUserProfile(item)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1)]}}])}),_c('data-list',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.securityGroupAccessType == 1),expression:\"securityGroupAccessType == 1\"}],attrs:{\"title\":\"Роли\",\"custom-meta-data\":_vm.roleMetaData,\"data-source\":_vm.ПрофессиональныеDataSource,\"filter-predicate\":_vm.roleFilterPredicate},scopedSlots:_vm._u([{key:\"actions\",fn:function({ item }){return [_c('v-btn',{attrs:{\"color\":\"primary\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.addByRole(item)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1)]}}])})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('input', false)}}},[_vm._v(\" Закрыть \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\nimport { SecurityGroupAccessType } from \"@/pages/manage/security-group/common/consts\";\nimport { ListDataSource } from \"@/data/List/ListDataSource\";\n\n@Component\nexport default class SecurityGroupDialog extends Vue {\n @Prop() value!: boolean;\n @Prop({ default: () => [] }) exludedUserProfileIdx!: number[];\n @Prop({ default: () => [] }) exludedRoleIdx!: number[];\n securityGroupAccessType: SecurityGroupAccessType =\n SecurityGroupAccessType.UserProfile;\n resolve!: Function;\n\n securityGroupAccessTypes = [\n {\n caption: \"Пользователь\",\n value: SecurityGroupAccessType.UserProfile,\n },\n {\n caption: \"Роли\",\n value: SecurityGroupAccessType.Role,\n },\n ];\n\n userProfileFilterPredicate(up: any) {\n return !this.exludedUserProfileIdx.some((i) => i == up.id);\n }\n\n roleFilterPredicate(r: any) {\n return !this.exludedRoleIdx.some((i) => i == r.id);\n }\n\n userProfileDataSource: ListDataSource = new ListDataSource({\n className: \"userProfile\",\n config: {\n pageIndex: 1,\n pageSize: 15,\n },\n });\n\n roleDataSource: ListDataSource = new ListDataSource({\n config: {\n pageIndex: 1,\n pageSize: 15,\n },\n className: \"roles\",\n });\n\n roleMetaData: any = {\n properties: [\n {\n name: \"id\",\n type: \"string\",\n description: \"Уникальный идентификатор компонента.\",\n caption: \"ID\",\n editor: \"readonly\",\n priority: 1,\n group: \"general\",\n visibleInTable: true,\n validations: [],\n config: {},\n },\n {\n name: \"name\",\n type: \"string\",\n description:\n 'Строковое уникальное имя компонента, которое используется как ЧПУ при адресации. Уникальность обеспечивается в рамках одного класса компонентов. Например компоненты класса \"Статья\" и \"Страница\" могут иметь одинаковый ЧПУ, но двух статей с одинаковыми ЧПУ быть не должно. ',\n caption: \"Системное имя\",\n editor: \"systemname\",\n priority: 100,\n group: \"general\",\n visibleInTable: true,\n validations: [\n {\n validator: \"max\",\n value: 150,\n errorMessage: \"Поле не может содержать больше чем 150 символов\",\n },\n {\n validator: \"required\",\n value: true,\n errorMessage: \"Поле не может ,быть пустым\",\n },\n ],\n config: {\n bindedFieldName: \"normalizedName\",\n },\n },\n {\n name: \"normalizedName\",\n type: \"string\",\n description:\n \"Заголовок компонента. Обычно используется как основной заголовок при визуализации как страницы, так и виджетов.\",\n caption: \"Подпись\",\n editor: \"string\",\n priority: 100,\n group: \"general\",\n visibleInTable: false,\n validations: [\n {\n validator: \"max\",\n value: 250,\n errorMessage: \"Поле не может содержать больше чем 250 символов\",\n },\n {\n validator: \"required\",\n value: true,\n errorMessage: \"Поле не может быть пустым\",\n },\n ],\n config: {\n bindedFieldName: \"name\",\n },\n },\n ],\n };\n\n addByUserProfile(userProfile: any) {\n this.$emit(\"add-by-user-profile\", {\n accessType: SecurityGroupAccessType.UserProfile,\n userProfileId: userProfile.id,\n });\n }\n\n addByRole(item) {\n this.$emit(\"add-by-role\", {\n accessType: SecurityGroupAccessType.Role,\n roleId: item.id,\n });\n }\n}\n","\nimport { Vue, Component, Ref } from \"vue-property-decorator\";\nimport {\n ListDataSource,\n SecurityGroupAccessListDataSource,\n SecurityGroupUserProfileListDataSource\n} from \"@/data/List/ListDataSource\";\nimport DataSecurityList from \"@/components/common/data/security-group-list.vue\";\nimport { mdiAccount, mdiShieldAccountOutline } from \"@mdi/js\";\nimport SecurityGroupDialog from \"@/pages/manage/security-group/components/security-group-dialog.vue\";\nimport {\n SecurityGroupAccessType,\n SecurityGroupDialogTarget,\n} from \"./common/consts\";\nimport { Filter } from \"@/cms-services/filter\";\n\nenum ListDialogTarget\n{\n Access,\n Group\n}\n@Component({\n components: { SecurityGroupDialog },\n})\nexport default class Home extends Vue {\n @Ref(\"securityList\") securityList!: DataSecurityList;\n accessDialogVisible: boolean = false;\n listDialogVisible:boolean = false\n listDialogTarget:number= ListDialogTarget.Group;\n emails:string = \"\";\n securityGroupDialogTarget: SecurityGroupDialogTarget =\n SecurityGroupDialogTarget.UserProfile;\n icons: any = {\n role: mdiShieldAccountOutline,\n userProfile: mdiAccount,\n };\n\n dataSource: SecurityGroupUserProfileListDataSource = new SecurityGroupUserProfileListDataSource({\n pageIndex: 1,\n pageSize: 100,\n });\n\n accessDataSource: SecurityGroupAccessListDataSource = new SecurityGroupAccessListDataSource({\n pageIndex: 1,\n pageSize: 100,\n });\n\n async addUserList(){\n if (!this.securityList.currentFolderId) {\n this.$message(\"Пожалуйста выберите безопасность\", \"error\");\n return;\n }\n const emailAddresses = this.emails.split('\\n');\n const securityGroupId = this.securityList.currentFolderId;\n switch (this.listDialogTarget){\n case ListDialogTarget.Group:\n {\n await this.dataSource.addUserListByEmails({emailAddresses, securityGroupId })\n await this.dataSource.get();\n break;\n }\n\n case ListDialogTarget.Access:\n {\n await this.accessDataSource.addUserListByEmails({emailAddresses, securityGroupId })\n await this.accessDataSource.get();\n break;\n }\n }\n\n this.$message(\"Данные успешно добавлены\")\n this.listDialogVisible=false;\n this.emails = \"\";\n }\n\n get userProfilesExcludedIdx() {\n return this.securityGroupDialogTarget ==\n SecurityGroupDialogTarget.UserProfile\n ? this.dataSource.items\n .filter((i) => i.accessType == SecurityGroupAccessType.UserProfile)\n .map((i) => i.userProfileId)\n : this.accessDataSource.items\n .filter((i) => i.accessType == SecurityGroupAccessType.UserProfile)\n .map((i) => i.userProfileId);\n }\n get rolesExcludedIdx() {\n return this.securityGroupDialogTarget ==\n SecurityGroupDialogTarget.UserProfile\n ? this.dataSource.items\n .filter((i) => i.accessType == SecurityGroupAccessType.Role)\n .map((i) => i.roleId)\n : this.accessDataSource.items\n .filter((i) => i.accessType == SecurityGroupAccessType.Role)\n .map((i) => i.roleId);\n }\n\n dialog: boolean = false;\n\n async openAccessDialog() {\n if (!this.securityList.currentFolderId) {\n this.$message(\"Пожалуйста выберите безопасность\", \"error\");\n return;\n }\n this.accessDataSource.config.filter = JSON.stringify([\n new Filter(\"securityGroupId\", +this.securityList.currentFolderId),\n ]);\n\n await this.accessDataSource.get();\n this.accessDialogVisible = true;\n }\n\n folderConfig: any = {\n className: \"securityGroup\",\n rootFolder: \"mainFolder\",\n };\n $message: any;\n\n getCaption(item: any) {\n return item.userProfile?.fullName ?? item.role?.name;\n }\n\n get breadcrumbs() {\n return [\n {\n text: \"Главная\",\n to: \"/\",\n },\n {\n text: \"Группы безопасности\",\n disabled: true,\n },\n ];\n }\n\n headers: any[] = [\n {\n text: \"ID\",\n value: \"id\",\n sortable: true,\n },\n {\n text: \"Тип доступа\",\n value: \"type\",\n sortable: false,\n align: \"center\",\n },\n {\n text: \"Подпись\",\n value: \"caption\",\n sortable: true,\n },\n {\n text: \"Статус\",\n value: \"instanceStateId\",\n sortable: false,\n },\n ];\n\n openDialog(target: SecurityGroupDialogTarget) {\n if (!this.securityList.currentFolderId) {\n this.$message(\"Пожалуйста выберите безопасность\", \"error\");\n return;\n }\n this.securityGroupDialogTarget = target;\n\n this.dialog = true;\n }\n\n async addByUserProfile(data: any) {\n if (!this.securityList.currentFolderId) {\n this.$message(\"Пожалуйста выберите безопасность\", \"error\");\n return;\n }\n switch (this.securityGroupDialogTarget) {\n case SecurityGroupDialogTarget.UserProfile:\n await this.dataSource.add({\n ...data,\n securityGroupId: this.securityList.currentFolderId,\n });\n this.dataSource.total = this.dataSource.items.length;\n break;\n\n case SecurityGroupDialogTarget.Access:\n await this.accessDataSource.add({\n ...data,\n securityGroupId: this.securityList.currentFolderId,\n });\n this.accessDataSource.total = this.accessDataSource.items.length;\n break;\n }\n\n this.$message(\"Позльзователь успешно добавлено в группу\");\n }\n\n async addByRole(data: any) {\n if (!this.securityList.currentFolderId) {\n this.$message(\"Пожалуйста выберите безопасность\", \"error\");\n return;\n }\n\n switch (this.securityGroupDialogTarget) {\n case SecurityGroupDialogTarget.UserProfile:\n await this.dataSource.add({\n ...data,\n securityGroupId: this.securityList.currentFolderId,\n });\n this.dataSource.total = this.dataSource.items.length;\n break;\n\n case SecurityGroupDialogTarget.Access:\n await this.accessDataSource.add({\n ...data,\n securityGroupId: this.securityList.currentFolderId,\n });\n this.accessDataSource.total = this.accessDataSource.items.length;\n break;\n }\n this.dataSource.total = this.dataSource.items.length;\n this.$message(\"Позльзователь успешно добавлено в группу\");\n }\n\n async created() {\n await Promise.all([this.accessDataSource.get(), this.dataSource.get()]);\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./security-group-dialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./security-group-dialog.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./security-group-dialog.vue?vue&type=template&id=50e58548\"\nimport script from \"./security-group-dialog.vue?vue&type=script&lang=ts\"\nexport * from \"./security-group-dialog.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","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=733d1af9\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.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"],"sourceRoot":""}