@webitel/ui-sdk 26.6.99 → 26.6.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/{clients-Bkj_jr3s.js → clients-DBR1e2Vq.js} +1 -1
  2. package/dist/{components-f_7Xewxl.js → components-89d9wbnp.js} +3 -3
  3. package/dist/ui-sdk.js +1 -1
  4. package/dist/ui-sdk.umd.cjs +1 -1
  5. package/dist/{wt-chat-emoji-BxcgfPnF.js → wt-chat-emoji-D9JuBz2G.js} +1 -1
  6. package/dist/{wt-display-chip-items-BFcunpPg.js → wt-display-chip-items-BKf1iLN9.js} +1 -1
  7. package/dist/{wt-send-message-popup-UqRi-DNw.js → wt-send-message-popup-DgiD0_MI.js} +2 -2
  8. package/dist/{wt-type-extension-value-input-BT9q7ZCv.js → wt-type-extension-value-input-CuniJHNW.js} +2 -2
  9. package/dist/{wt-vidstack-player-BKN0dtoX.js → wt-vidstack-player-2y5Cn9Cg.js} +1 -1
  10. package/package.json +1 -1
  11. package/src/api/clients/roles/roles.ts +5 -3
  12. package/src/composables/useEventBus/useEventBus.d.ts +4 -4
  13. package/src/enums/BroadcastChannelName/BroadcastChannelName.d.ts +2 -3
  14. package/src/enums/BroadcastChannelName/UserSettingsBroadcastMessage.d.ts +7 -7
  15. package/src/enums/ButtonColor/ButtonColor.d.ts +8 -8
  16. package/src/enums/ButtonVariant/ButtonVariant.d.ts +3 -3
  17. package/src/enums/ChipColor/ChipColor.d.ts +8 -8
  18. package/src/enums/ComponentSize/ComponentSize.d.ts +14 -14
  19. package/src/enums/ConnectionQualityLevel/ConnectionQualityLevel.enum.d.ts +4 -5
  20. package/src/enums/CrudAction/CrudAction.d.ts +4 -4
  21. package/src/enums/DefaultWorkspaceTabSettings/DefaultWorkspaceTabSettings.d.ts +7 -8
  22. package/src/enums/EmptyCause/EmptyCause.d.ts +3 -3
  23. package/src/enums/FormatDateMode/FormatDateMode.d.ts +6 -7
  24. package/src/enums/IconColor/IconColor.d.ts +14 -14
  25. package/src/enums/LoginOptions/LoginOptions.d.ts +3 -3
  26. package/src/enums/MessageColor/MessageColor.d.ts +6 -6
  27. package/src/enums/MessageVariant/MessageVariant.d.ts +3 -3
  28. package/src/enums/MimeTypes/MimeTypes.enum.d.ts +14 -14
  29. package/src/enums/ProcessingTableColumnType/ProcessingTableColumnType.d.ts +6 -7
  30. package/src/enums/QueueType/QueueType.enum.d.ts +22 -22
  31. package/src/enums/RelativeDatetimeValue/RelativeDatetimeValue.d.ts +5 -6
  32. package/src/enums/RingtoneType/RingtoneType.d.ts +3 -3
  33. package/src/enums/SingleSignOnProvider/SingleSignOnProvider.d.ts +5 -6
  34. package/src/enums/SingleSignOnProviderIconMappings/SingleSignOnProviderIconMappings.d.ts +2 -6
  35. package/src/enums/WebitelApplications/AdminSections.d.ts +38 -38
  36. package/src/enums/WebitelApplications/AuditorSections.d.ts +2 -3
  37. package/src/enums/WebitelApplications/CrmSections.d.ts +13 -13
  38. package/src/enums/WebitelApplications/SupervisorSections.d.ts +4 -5
  39. package/src/enums/WebitelApplications/WfmSections.d.ts +3 -3
  40. package/src/enums/WebitelApplications/WtApplication.d.ts +9 -9
  41. package/src/enums/WtObject/WtObject.d.ts +57 -57
  42. package/src/enums/WtTypeExtensionFieldKind/WtTypeExtensionFieldKind.d.ts +7 -8
  43. package/src/enums/index.d.ts +4 -54
  44. package/src/locale/en/en.js +4 -4
  45. package/src/locale/es/es.js +4 -4
  46. package/src/locale/kz/kz.js +4 -4
  47. package/src/locale/pl/pl.js +4 -4
  48. package/src/locale/ro/ro.js +4 -4
  49. package/src/locale/ru/ru.js +4 -4
  50. package/src/locale/uk/uk.js +4 -4
  51. package/src/locale/uz/uz.js +4 -4
  52. package/src/locale/vi/vi.js +4 -4
  53. package/src/modules/ObjectPermissions/components/_internal/permissions-tab-content.vue +190 -0
  54. package/src/modules/ObjectPermissions/{_internals/components → components/_internal}/permissions-tab-role-popup.vue +10 -20
  55. package/src/modules/ObjectPermissions/components/permissions-tab.vue +43 -160
  56. package/src/modules/ObjectPermissions/enums/AccessMode.enum.d.ts +6 -0
  57. package/src/modules/ObjectPermissions/enums/AccessMode.enum.ts +7 -0
  58. package/src/modules/ObjectPermissions/enums/AccessRuleName.enum.d.ts +7 -0
  59. package/src/modules/ObjectPermissions/enums/AccessRuleName.enum.ts +9 -0
  60. package/src/modules/ObjectPermissions/enums/index.d.ts +2 -0
  61. package/src/modules/ObjectPermissions/enums/index.ts +2 -0
  62. package/{types/modules/ObjectPermissions/_internals/store/modules → src/modules/ObjectPermissions/headers}/headers.d.ts +2 -2
  63. package/src/modules/ObjectPermissions/{_internals/store/modules/headers.js → headers/headers.ts} +6 -2
  64. package/src/modules/ObjectPermissions/index.d.ts +7 -0
  65. package/src/modules/ObjectPermissions/index.ts +6 -0
  66. package/src/modules/ObjectPermissions/{_internals/modules → modules}/filters/store/filters.store.js +1 -1
  67. package/src/modules/ObjectPermissions/{_internals/store/helpers → store}/createObjectPermissionsStoreModule.js +2 -2
  68. package/src/modules/ObjectPermissions/store/index.js +1 -1
  69. package/src/modules/ObjectPermissions/{_internals/store/modules → store}/objectPermissionsStoreModule.js +6 -7
  70. package/src/modules/ObjectPermissions/types/PermissionsUserAccess.d.ts +3 -0
  71. package/src/modules/ObjectPermissions/types/PermissionsUserAccess.ts +10 -0
  72. package/src/modules/Userinfo/constants/UserSettingsConstants.d.ts +1 -1
  73. package/src/utils/displayText.d.ts +1 -1
  74. package/src/utils/formatDate.d.ts +3 -9
  75. package/types/modules/ObjectPermissions/components/_internal/permissions-tab-content.vue.d.ts +97 -0
  76. package/types/modules/ObjectPermissions/components/_internal/permissions-tab-role-popup.vue.d.ts +23 -0
  77. package/types/modules/ObjectPermissions/components/permissions-tab.vue.d.ts +10 -43
  78. package/types/modules/ObjectPermissions/enums/AccessMode.enum.d.ts +6 -0
  79. package/types/modules/ObjectPermissions/enums/AccessRuleName.enum.d.ts +7 -0
  80. package/types/modules/ObjectPermissions/enums/index.d.ts +2 -0
  81. package/types/modules/ObjectPermissions/headers/headers.d.ts +7 -0
  82. package/types/modules/ObjectPermissions/index.d.ts +6 -0
  83. package/types/modules/ObjectPermissions/store/index.d.ts +1 -1
  84. package/types/modules/ObjectPermissions/{_internals/store/modules → store}/objectPermissionsStoreModule.d.ts +1 -0
  85. package/types/modules/ObjectPermissions/types/PermissionsUserAccess.d.ts +3 -0
  86. package/src/modules/ObjectPermissions/_internals/enums/AccessMode.enum.js +0 -5
  87. package/src/modules/Userinfo/composables/types/CreateUserAccessControl.d.ts +0 -2
  88. package/types/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue.d.ts +0 -13
  89. package/types/modules/ObjectPermissions/_internals/enums/AccessMode.enum.d.ts +0 -5
  90. /package/src/modules/ObjectPermissions/{_internals/components → components/_internal}/permissions-role-row.vue +0 -0
  91. /package/src/modules/ObjectPermissions/{_internals/components → components/_internal}/permissions-role-select.vue +0 -0
  92. /package/types/modules/ObjectPermissions/{_internals/components → components/_internal}/permissions-role-row.vue.d.ts +0 -0
  93. /package/types/modules/ObjectPermissions/{_internals/components → components/_internal}/permissions-role-select.vue.d.ts +0 -0
  94. /package/types/modules/ObjectPermissions/{_internals/modules → modules}/filters/store/filters.store.d.ts +0 -0
  95. /package/types/modules/ObjectPermissions/{_internals/store/helpers → store}/createObjectPermissionsStoreModule.d.ts +0 -0
@@ -0,0 +1,190 @@
1
+ <template>
2
+ <section
3
+ v-if="access.read"
4
+ class="table-page"
5
+ >
6
+ <header class="table-title">
7
+ <h3 class="table-title__title">
8
+ {{ t('access.operations') }}
9
+ </h3>
10
+ <div class="table-title__actions-wrap">
11
+ <permissions-tab-role-popup
12
+ v-if="access.create"
13
+ :existing-grantee-ids="existingGranteeIds"
14
+ :add-role-permissions="addRolePermissions"
15
+ />
16
+ <wt-action-bar
17
+ :include="[IconAction.REFRESH]"
18
+ @click:refresh="refresh"
19
+ />
20
+ </div>
21
+ </header>
22
+
23
+ <div class="table-section__table-wrapper">
24
+ <wt-empty
25
+ v-show="showEmpty"
26
+ :image="imageEmpty"
27
+ :text="textEmpty"
28
+ />
29
+
30
+ <wt-loader v-show="isLoading" />
31
+
32
+ <div
33
+ v-show="dataList.length && !isLoading"
34
+ class="table-section__visible-scroll-wrapper"
35
+ >
36
+ <wt-table
37
+ :data="localizedDataList"
38
+ :grid-actions="access.update"
39
+ :headers="headers"
40
+ :selectable="false"
41
+ sortable
42
+ @sort="sort"
43
+ >
44
+ <template #grantee="{ item }">
45
+ <permissions-role-row :role="item.grantee" />
46
+ </template>
47
+
48
+ <template #read="{ item }">
49
+ <wt-single-select
50
+ :show-clear="false"
51
+ :disabled="!access.update"
52
+ :options="accessOptions"
53
+ :model-value="item.access.r"
54
+ @update:model-value="changeAccessMode({ item, ruleName: AccessRuleName.R, mode: $event })"
55
+ />
56
+ </template>
57
+
58
+ <template #edit="{ item }">
59
+ <wt-single-select
60
+ :show-clear="false"
61
+ :disabled="!access.update"
62
+ :options="accessOptions"
63
+ :model-value="item.access.w"
64
+ @update:model-value="changeAccessMode({ item, ruleName: AccessRuleName.W, mode: $event })"
65
+ />
66
+ </template>
67
+
68
+ <template #delete="{ item }">
69
+ <wt-single-select
70
+ :show-clear="false"
71
+ :disabled="!access.update"
72
+ :options="accessOptions"
73
+ :model-value="item.access.d"
74
+ @update:model-value="changeAccessMode({ item, ruleName: AccessRuleName.D, mode: $event })"
75
+ />
76
+ </template>
77
+
78
+ <template #actions="{ item }">
79
+ <wt-icon-action
80
+ action="delete"
81
+ @click="
82
+ changeAccessMode({
83
+ item,
84
+ ruleName: AccessRuleName.R,
85
+ mode: { id: AccessMode.Forbidden },
86
+ })
87
+ "
88
+ />
89
+ </template>
90
+ </wt-table>
91
+ </div>
92
+
93
+ <slot name="pagination" />
94
+ </div>
95
+ </section>
96
+ </template>
97
+
98
+ <script setup>
99
+ import { computed } from 'vue';
100
+ import { useI18n } from 'vue-i18n';
101
+ import IconAction from '../../../../enums/IconAction/IconAction.enum';
102
+ import { useTableEmpty } from '../../../TableComponentModule/composables/useTableEmpty';
103
+ import { AccessMode, AccessRuleName } from '../../enums';
104
+ import { DEFAULT_PERMISSIONS_USER_ACCESS } from '../../types/PermissionsUserAccess';
105
+ import PermissionsRoleRow from './permissions-role-row.vue';
106
+ import PermissionsTabRolePopup from './permissions-tab-role-popup.vue';
107
+
108
+ const props = defineProps({
109
+ dataList: {
110
+ type: Array,
111
+ required: true,
112
+ },
113
+ isLoading: {
114
+ type: Boolean,
115
+ default: false,
116
+ },
117
+ headers: {
118
+ type: Array,
119
+ required: true,
120
+ },
121
+ error: {
122
+ type: Object,
123
+ default: null,
124
+ },
125
+ refresh: {
126
+ type: Function,
127
+ required: true,
128
+ },
129
+ sort: {
130
+ type: Function,
131
+ required: true,
132
+ },
133
+ changeAccessMode: {
134
+ type: Function,
135
+ required: true,
136
+ },
137
+ existingGranteeIds: {
138
+ type: Array,
139
+ default: () => [],
140
+ },
141
+ addRolePermissions: {
142
+ type: Function,
143
+ required: true,
144
+ },
145
+ access: {
146
+ type: Object,
147
+ default: () => DEFAULT_PERMISSIONS_USER_ACCESS,
148
+ },
149
+ });
150
+
151
+ const { t } = useI18n();
152
+
153
+ const localizedDataList = computed(() => {
154
+ return props.dataList.map((item) => {
155
+ const access = Object.keys(item.access).reduce((acc, rule) => {
156
+ acc[rule] = {
157
+ ...item.access[rule],
158
+ name: t(`access.accessMode.${item.access[rule].id}`),
159
+ };
160
+ return acc;
161
+ }, {});
162
+
163
+ return {
164
+ ...item,
165
+ access,
166
+ };
167
+ });
168
+ });
169
+
170
+ const {
171
+ showEmpty,
172
+ image: imageEmpty,
173
+ text: textEmpty,
174
+ } = useTableEmpty({
175
+ dataList: computed(() => props.dataList),
176
+ error: computed(() => props.error),
177
+ isLoading: computed(() => props.isLoading),
178
+ });
179
+
180
+ const accessOptions = computed(() => {
181
+ return Object.values(AccessMode).map((mode) => ({
182
+ id: mode,
183
+ name: t(`access.accessMode.${mode}`),
184
+ }));
185
+ });
186
+ </script>
187
+
188
+ <style lang="scss" scoped>
189
+ @use '../../../../css/pages/table-page.css';
190
+ </style>
@@ -38,34 +38,30 @@
38
38
  </template>
39
39
 
40
40
  <script setup>
41
- import { computed, ref, useAttrs } from 'vue';
41
+ import { computed, ref } from 'vue';
42
42
  import { useI18n } from 'vue-i18n';
43
43
  import { useRoute, useRouter } from 'vue-router';
44
- import { useStore } from 'vuex';
45
44
 
46
45
  import RolesAPI from '../../../../api/clients/roles/roles';
47
- import getNamespacedState from '../../../../store/helpers/getNamespacedState.js';
48
46
  import PermissionsRoleSelect from './permissions-role-select.vue';
49
47
 
50
48
  const props = defineProps({
51
- namespace: {
52
- type: String,
49
+ existingGranteeIds: {
50
+ type: Array,
51
+ default: () => [],
52
+ },
53
+ addRolePermissions: {
54
+ type: Function,
53
55
  required: true,
54
56
  },
55
57
  });
56
58
 
57
- const attrs = useAttrs();
58
- const store = useStore();
59
59
  const { t } = useI18n();
60
60
  const router = useRouter();
61
61
  const route = useRoute();
62
62
 
63
63
  const grantee = ref(null);
64
64
 
65
- const existingGranteesList = computed(
66
- () => getNamespacedState(store.state, props.namespace).dataList,
67
- );
68
-
69
65
  const shown = computed(() => !!route.params.permissionId);
70
66
 
71
67
  const add = () => {
@@ -108,22 +104,16 @@ const loadGrantees = (params) => {
108
104
  });
109
105
  };
110
106
 
111
- // filter already existing roles
112
107
  const getAvailableGrantees = async (params) => {
113
108
  const { items, ...rest } = await loadGrantees(params);
114
109
  return {
115
- items: items.filter(
116
- (role) =>
117
- !existingGranteesList.value.some(
118
- (usedRoles) => role.id === usedRoles.grantee.id,
119
- ),
120
- ),
110
+ items: items.filter((role) => !props.existingGranteeIds.includes(role.id)),
121
111
  ...rest,
122
112
  };
123
113
  };
124
114
 
125
- const save = async (grantee) => {
126
- await store.dispatch(`${props.namespace}/ADD_ROLE_PERMISSIONS`, grantee);
115
+ const save = async (newGrantee) => {
116
+ await props.addRolePermissions(newGrantee);
127
117
  return close();
128
118
  };
129
119
  </script>
@@ -1,137 +1,38 @@
1
1
  <template>
2
- <section
3
- v-if="access.read"
4
- class="table-page"
5
- >
6
- <header class="table-title">
7
- <h3 class="table-title__title">
8
- {{ t('access.operations') }}
9
- </h3>
10
- <div class="table-title__actions-wrap">
11
- <role-popup
12
- v-if="props.access.add"
13
- :namespace="tableNamespace"
14
- />
15
- <wt-action-bar
16
- :include="[IconAction.REFRESH]"
17
- @click:refresh="loadData"
18
- />
19
- </div>
20
- </header>
21
-
22
- <div class="table-section__table-wrapper">
23
- <wt-empty
24
- v-show="showEmpty"
25
- :image="imageEmpty"
26
- :text="textEmpty"
27
- />
28
-
29
- <wt-loader v-show="isLoading" />
30
-
31
- <div
32
- v-show="dataList.length && !isLoading"
33
- class="table-section__visible-scroll-wrapper"
34
- >
35
- <wt-table
36
- :data="localizedDataList"
37
- :grid-actions="access.edit"
38
- :headers="headers"
39
- :selectable="false"
40
- sortable
41
- @sort="sort"
42
- >
43
- <template #grantee="{ item }">
44
- <role-column :role="item.grantee" />
45
- </template>
46
-
47
- <template #read="{ item }">
48
- <wt-single-select
49
- :show-clear="false"
50
- :disabled="!access.edit"
51
- :options="accessOptions"
52
- :model-value="item.access.r"
53
- @update:model-value="changeAccessMode({ item, ruleName: 'r', mode: $event })"
54
- />
55
- </template>
56
-
57
- <template #edit="{ item }">
58
- <wt-single-select
59
- :show-clear="false"
60
- :disabled="!access.edit"
61
- :options="accessOptions"
62
- :model-value="item.access.w"
63
- @update:model-value="changeAccessMode({ item, ruleName: 'w', mode: $event })"
64
- />
65
- </template>
66
-
67
- <template #delete="{ item }">
68
- <wt-single-select
69
- :show-clear="false"
70
- :disabled="!access.edit"
71
- :options="accessOptions"
72
- :model-value="item.access.d"
73
- @update:model-value="changeAccessMode({ item, ruleName: 'd', mode: $event })"
74
- />
75
- </template>
76
- <template #actions="{ item }">
77
- <wt-icon-action
78
- action="delete"
79
- @click="
80
- changeAccessMode({
81
- item,
82
- ruleName: 'r',
83
- mode: { id: AccessMode.FORBIDDEN },
84
- })
85
- "
86
- />
87
- </template>
88
- </wt-table>
89
- </div>
2
+ <permissions-tab-content v-bind="tabContentProps">
3
+ <template #pagination>
90
4
  <filter-pagination
91
5
  :namespace="filtersNamespace"
92
6
  :next="isNext"
93
7
  />
94
- </div>
95
- </section>
8
+ </template>
9
+ </permissions-tab-content>
96
10
  </template>
97
11
 
98
- <script setup>
12
+ <script setup lang="ts">
99
13
  import { computed, onUnmounted } from 'vue';
100
- import { useI18n } from 'vue-i18n';
101
14
  import { useStore } from 'vuex';
102
-
103
- import IconAction from '../../../enums/IconAction/IconAction.enum.js';
104
- import { useTableEmpty } from '../../../modules/TableComponentModule/composables/useTableEmpty.js';
105
- import { useTableStore } from '../../../store/new/index.js';
15
+ import { useTableStore } from '../../../store/new';
106
16
  import FilterPagination from '../../Filters/components/filter-pagination.vue';
107
- import { useTableFilters } from '../../Filters/composables/useTableFilters.js';
108
- import RoleColumn from '../_internals/components/permissions-role-row.vue';
109
- import RolePopup from '../_internals/components/permissions-tab-role-popup.vue';
110
- import { AccessMode } from '../_internals/enums/AccessMode.enum.js';
111
-
112
- const props = defineProps({
113
- /**
114
- * Namespace of the parent card store
115
- */
116
- namespace: {
117
- type: String,
118
- required: true,
17
+ import { useTableFilters } from '../../Filters/composables/useTableFilters';
18
+ import {
19
+ DEFAULT_PERMISSIONS_USER_ACCESS,
20
+ type PermissionsUserAccess,
21
+ } from '../types/PermissionsUserAccess';
22
+ import PermissionsTabContent from './_internal/permissions-tab-content.vue';
23
+
24
+ const props = withDefaults(
25
+ defineProps<{
26
+ /** Namespace of the parent card store */
27
+ namespace: string;
28
+ /** Access to the component actions, related to permissions */
29
+ access: PermissionsUserAccess;
30
+ }>(),
31
+ {
32
+ access: () => DEFAULT_PERMISSIONS_USER_ACCESS,
119
33
  },
120
- /**
121
- * Access to the component actions, related to permissions
122
- */
123
- access: {
124
- type: Object,
125
- default: () => ({
126
- read: true,
127
- add: true,
128
- edit: true,
129
- delete: true,
130
- }),
131
- },
132
- });
34
+ );
133
35
 
134
- const { t } = useI18n();
135
36
  const store = useStore();
136
37
 
137
38
  const {
@@ -148,23 +49,6 @@ const {
148
49
  onFilterEvent,
149
50
  } = useTableStore(`${props.namespace}/permissions`);
150
51
 
151
- const localizedDataList = computed(() => {
152
- return dataList.value.map((item) => {
153
- const access = Object.keys(item.access).reduce((acc, rule) => {
154
- acc[rule] = {
155
- ...item.access[rule],
156
- name: t(`access.accessMode.${item.access[rule].id}`),
157
- };
158
- return acc;
159
- }, {});
160
-
161
- return {
162
- ...item,
163
- access,
164
- };
165
- });
166
- });
167
-
168
52
  const {
169
53
  namespace: filtersNamespace,
170
54
  restoreFilters,
@@ -186,27 +70,26 @@ onUnmounted(() => {
186
70
  resetFilters();
187
71
  });
188
72
 
189
- const {
190
- showEmpty,
191
- image: imageEmpty,
192
- text: textEmpty,
193
- } = useTableEmpty({
194
- dataList,
195
- error,
196
- isLoading,
197
- });
198
-
199
- const accessOptions = computed(() => {
200
- return Object.values(AccessMode).map((mode) => ({
201
- id: mode,
202
- name: t(`access.accessMode.${mode}`),
203
- }));
204
- });
205
-
206
73
  const changeAccessMode = (payload) =>
207
74
  store.dispatch(`${tableNamespace}/CHANGE_ACCESS_MODE`, payload);
208
- </script>
209
75
 
210
- <style lang="scss" scoped>
211
- @use '../../../css/pages/table-page';
212
- </style>
76
+ const addRolePermissions = (role) =>
77
+ store.dispatch(`${tableNamespace}/ADD_ROLE_PERMISSIONS`, role);
78
+
79
+ const existingGranteeIds = computed(() =>
80
+ dataList.value.map((item) => item.grantee.id),
81
+ );
82
+
83
+ const tabContentProps = computed(() => ({
84
+ dataList: dataList.value,
85
+ isLoading: isLoading.value,
86
+ headers: headers.value,
87
+ error: error.value,
88
+ refresh: loadData,
89
+ sort,
90
+ changeAccessMode,
91
+ existingGranteeIds: existingGranteeIds.value,
92
+ addRolePermissions,
93
+ access: props.access,
94
+ }));
95
+ </script>
@@ -0,0 +1,6 @@
1
+ export declare const AccessMode: {
2
+ readonly Forbidden: 1;
3
+ readonly Allow: 2;
4
+ readonly Manage: 3;
5
+ };
6
+ export type AccessMode = (typeof AccessMode)[keyof typeof AccessMode];
@@ -0,0 +1,7 @@
1
+ export const AccessMode = {
2
+ Forbidden: 1,
3
+ Allow: 2,
4
+ Manage: 3,
5
+ } as const;
6
+
7
+ export type AccessMode = (typeof AccessMode)[keyof typeof AccessMode];
@@ -0,0 +1,7 @@
1
+ export declare const AccessRuleName: {
2
+ X: string;
3
+ R: string;
4
+ W: string;
5
+ D: string;
6
+ };
7
+ export type AccessRuleName = (typeof AccessRuleName)[keyof typeof AccessRuleName];
@@ -0,0 +1,9 @@
1
+ export const AccessRuleName = {
2
+ X: 'x',
3
+ R: 'r',
4
+ W: 'w',
5
+ D: 'd',
6
+ };
7
+
8
+ export type AccessRuleName =
9
+ (typeof AccessRuleName)[keyof typeof AccessRuleName];
@@ -0,0 +1,2 @@
1
+ export * from './AccessMode.enum';
2
+ export * from './AccessRuleName.enum';
@@ -0,0 +1,2 @@
1
+ export * from './AccessMode.enum';
2
+ export * from './AccessRuleName.enum';
@@ -1,7 +1,7 @@
1
- declare const _default: {
1
+ export declare const headers: {
2
2
  value: string;
3
3
  locale: string;
4
4
  field: string;
5
+ show: boolean;
5
6
  sort: any;
6
7
  }[];
7
- export default _default;
@@ -1,28 +1,32 @@
1
- import { SortSymbols } from '../../../../../scripts/sortQueryAdapters.js';
1
+ import { SortSymbols } from '../../../scripts/sortQueryAdapters';
2
2
 
3
- export default [
3
+ export const headers = [
4
4
  {
5
5
  value: 'grantee',
6
6
  locale: 'reusable.name',
7
7
  field: 'grantee',
8
+ show: true,
8
9
  sort: SortSymbols.NONE,
9
10
  },
10
11
  {
11
12
  value: 'read',
12
13
  locale: 'reusable.read',
13
14
  field: 'granted',
15
+ show: true,
14
16
  sort: SortSymbols.NONE,
15
17
  },
16
18
  {
17
19
  value: 'edit',
18
20
  locale: 'reusable.edit',
19
21
  field: 'granted',
22
+ show: true,
20
23
  sort: SortSymbols.NONE,
21
24
  },
22
25
  {
23
26
  value: 'delete',
24
27
  locale: 'reusable.delete',
25
28
  field: 'granted',
29
+ show: true,
26
30
  sort: SortSymbols.NONE,
27
31
  },
28
32
  ];
@@ -0,0 +1,7 @@
1
+ export { default as PermissionsTabContent } from './components/_internal/permissions-tab-content.vue';
2
+ export { default as PermissionsRolePopup } from './components/_internal/permissions-tab-role-popup.vue';
3
+ export { AccessMode, AccessRuleName } from './enums';
4
+ export { headers } from './headers/headers';
5
+ export { createObjectPermissionsStoreModule } from './store';
6
+ export type { PermissionsUserAccess } from './types/PermissionsUserAccess';
7
+ export { DEFAULT_PERMISSIONS_USER_ACCESS } from './types/PermissionsUserAccess';
@@ -1 +1,7 @@
1
+ export { default as PermissionsTabContent } from './components/_internal/permissions-tab-content.vue';
2
+ export { default as PermissionsRolePopup } from './components/_internal/permissions-tab-role-popup.vue';
3
+ export { AccessMode, AccessRuleName } from './enums';
4
+ export { headers } from './headers/headers';
1
5
  export { createObjectPermissionsStoreModule } from './store';
6
+ export type { PermissionsUserAccess } from './types/PermissionsUserAccess';
7
+ export { DEFAULT_PERMISSIONS_USER_ACCESS } from './types/PermissionsUserAccess';
@@ -1,6 +1,6 @@
1
1
  import deepCopy from 'deep-copy';
2
2
 
3
- import FiltersStoreModule from '../../../../../Filters/store/FiltersStoreModule';
3
+ import FiltersStoreModule from '../../../../Filters/store/FiltersStoreModule';
4
4
 
5
5
  const filtersList = [
6
6
  {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createBaseStoreModule,
3
3
  createTableStoreModule,
4
- } from '../../../../../store/new/index.js';
5
- import objectPermissionsStoreModule from '../modules/objectPermissionsStoreModule.js';
4
+ } from '../../../store/new';
5
+ import objectPermissionsStoreModule from './objectPermissionsStoreModule';
6
6
 
7
7
  export const createObjectPermissionsStoreModule = (modules) => {
8
8
  const modulesArr = Array.isArray(modules)
@@ -1,3 +1,3 @@
1
- import { createObjectPermissionsStoreModule } from '../_internals/store/helpers/createObjectPermissionsStoreModule.js';
1
+ import { createObjectPermissionsStoreModule } from './createObjectPermissionsStoreModule';
2
2
 
3
3
  export { createObjectPermissionsStoreModule };
@@ -1,8 +1,8 @@
1
1
  import deepCopy from 'deep-copy';
2
2
 
3
- import { AccessMode } from '../../enums/AccessMode.enum.js';
4
- import generateFilters from '../../modules/filters/store/filters.store.js';
5
- import headers from './headers.js';
3
+ import { AccessMode } from '../enums/AccessMode.enum';
4
+ import { headers } from '../headers/headers';
5
+ import generateFilters from '../modules/filters/store/filters.store';
6
6
 
7
7
  const state = {
8
8
  headers,
@@ -27,13 +27,13 @@ const actions = {
27
27
  ww | w | -
28
28
  */
29
29
  switch (mode.id) {
30
- case AccessMode.FORBIDDEN:
30
+ case AccessMode.Forbidden:
31
31
  want = ruleName;
32
32
  break;
33
- case AccessMode.ALLOW:
33
+ case AccessMode.Allow:
34
34
  want = have.rule || ruleName;
35
35
  break;
36
- case AccessMode.MANAGE:
36
+ case AccessMode.Manage:
37
37
  want = `${ruleName}${ruleName}`;
38
38
  break;
39
39
  default:
@@ -55,7 +55,6 @@ const actions = {
55
55
  }
56
56
  },
57
57
  ADD_ROLE_PERMISSIONS: async (context, role) => {
58
- console.info(role);
59
58
  const changes = [
60
59
  {
61
60
  grantee: +role.id,
@@ -0,0 +1,3 @@
1
+ import { CrudAction } from '../../../enums';
2
+ export type PermissionsUserAccess = Record<CrudAction, boolean>;
3
+ export declare const DEFAULT_PERMISSIONS_USER_ACCESS: PermissionsUserAccess;
@@ -0,0 +1,10 @@
1
+ import { CrudAction } from '../../../enums';
2
+
3
+ export type PermissionsUserAccess = Record<CrudAction, boolean>;
4
+
5
+ export const DEFAULT_PERMISSIONS_USER_ACCESS: PermissionsUserAccess = {
6
+ [CrudAction.Read]: false,
7
+ [CrudAction.Create]: false,
8
+ [CrudAction.Update]: false,
9
+ [CrudAction.Delete]: false,
10
+ };
@@ -1 +1 @@
1
- export declare const TIMEZONE_STORAGE_KEY = 'user-timezone-setting';
1
+ export declare const TIMEZONE_STORAGE_KEY = "user-timezone-setting";