@webitel/ui-sdk 25.4.36 → 25.4.38

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 (182) hide show
  1. package/CHANGELOG.md +381 -237
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.js +8800 -8425
  4. package/dist/ui-sdk.umd.cjs +20 -17
  5. package/package.json +42 -37
  6. package/src/api/clients/casePriorities/casePriorities.js +13 -3
  7. package/src/api/clients/caseSources/caseSources.js +13 -24
  8. package/src/api/clients/slas/slas.js +16 -26
  9. package/src/api/clients//321/201ontacts/contacts.js +1 -0
  10. package/src/api/transformers/skipIf/skipIf.ts +8 -3
  11. package/src/api/websocket/WebSocketClientController.js +21 -14
  12. package/src/api/websocket/config.js +5 -4
  13. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +2 -2
  14. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +4 -4
  15. package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +5 -5
  16. package/src/components/on-demand/wt-navigation-menu/css/_nav-menu.scss +5 -5
  17. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -1
  18. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
  19. package/src/components/on-demand/wt-start-page/components/start-page-card.vue +6 -6
  20. package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
  21. package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -2
  22. package/src/components/transitions/wt-expand-transition.vue +1 -1
  23. package/src/components/wt-action-bar/wt-action-bar.vue +1 -1
  24. package/src/components/wt-app-header/wt-app-header.vue +4 -4
  25. package/src/components/wt-app-header/wt-app-navigator.vue +14 -14
  26. package/src/components/wt-app-header/wt-header-actions.vue +13 -13
  27. package/src/components/wt-avatar/wt-avatar.vue +4 -4
  28. package/src/components/wt-badge/wt-badge.vue +1 -1
  29. package/src/components/wt-button/wt-button.vue +18 -18
  30. package/src/components/wt-button-select/wt-button-select.vue +4 -4
  31. package/src/components/wt-checkbox/wt-checkbox.vue +4 -4
  32. package/src/components/wt-chip/wt-chip.scss +9 -9
  33. package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +2 -2
  34. package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
  35. package/src/components/wt-datepicker/wt-datepicker.vue +4 -4
  36. package/src/components/wt-divider/wt-divider.vue +11 -11
  37. package/src/components/wt-dual-panel/wt-dual-panel.vue +11 -11
  38. package/src/components/wt-dummy/wt-dummy.vue +2 -2
  39. package/src/components/wt-empty/wt-empty.vue +9 -9
  40. package/src/components/wt-error-page/wt-error-page.vue +4 -4
  41. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
  42. package/src/components/wt-headline/wt-headline.vue +4 -4
  43. package/src/components/wt-headline-nav/wt-headline-nav.vue +4 -4
  44. package/src/components/wt-icon/wt-icon.vue +2 -2
  45. package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
  46. package/src/components/wt-icon-btn/wt-icon-btn.vue +1 -1
  47. package/src/components/wt-image/wt-image.vue +1 -1
  48. package/src/components/wt-indicator/wt-indicator.vue +2 -2
  49. package/src/components/wt-input/wt-input.vue +10 -10
  50. package/src/components/wt-input-info/wt-input-info.vue +1 -1
  51. package/src/components/wt-item-link/wt-item-link.vue +1 -1
  52. package/src/components/wt-label/wt-label.vue +3 -3
  53. package/src/components/wt-load-bar/wt-load-bar.vue +5 -5
  54. package/src/components/wt-loader/_internals/wt-loader--md.vue +5 -5
  55. package/src/components/wt-loader/_internals/wt-loader--sm.vue +1 -1
  56. package/src/components/wt-logo/wt-logo.vue +13 -4
  57. package/src/components/wt-navigation-bar/types/WtNavigationBar.d.ts +8 -9
  58. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -17
  59. package/src/components/wt-notification/wt-notification.vue +7 -7
  60. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +2 -2
  61. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +4 -4
  62. package/src/components/wt-player/wt-player.vue +6 -6
  63. package/src/components/wt-popup/wt-popup.vue +18 -18
  64. package/src/components/wt-progress-bar/wt-progress-bar.vue +6 -6
  65. package/src/components/wt-radio/wt-radio.vue +3 -3
  66. package/src/components/wt-rounded-action/wt-rounded-action.vue +3 -3
  67. package/src/components/wt-search-bar/wt-search-bar.vue +9 -9
  68. package/src/components/wt-select/_multiselect.scss +18 -18
  69. package/src/components/wt-select/wt-select.vue +3 -3
  70. package/src/components/wt-slider/wt-slider.vue +12 -12
  71. package/src/components/wt-status-select/wt-status-select.vue +4 -4
  72. package/src/components/wt-stepper/wt-stepper.vue +2 -2
  73. package/src/components/wt-switcher/wt-switcher.vue +8 -8
  74. package/src/components/wt-table/wt-table.vue +5 -5
  75. package/src/components/wt-table-actions/wt-table-actions.vue +1 -1
  76. package/src/components/wt-table-column-select/wt-table-column-select.vue +4 -4
  77. package/src/components/wt-tabs/wt-tabs.vue +9 -9
  78. package/src/components/wt-tags-input/wt-tags-input.vue +8 -8
  79. package/src/components/wt-textarea/wt-textarea.vue +11 -11
  80. package/src/components/wt-time-input/wt-time-input.vue +6 -6
  81. package/src/components/wt-timepicker/wt-timepicker.vue +1 -1
  82. package/src/components/wt-tooltip/wt-tooltip.vue +4 -4
  83. package/src/components/wt-tree/types/WtTreeMode.js +2 -2
  84. package/src/components/wt-tree/wt-tree.vue +9 -9
  85. package/src/components/wt-tree-line/_variables.scss +0 -1
  86. package/src/components/wt-tree-line/types/wt-tree-nested-icons.ts +3 -3
  87. package/src/components/wt-tree-line/wt-tree-line.vue +2 -2
  88. package/src/components/wt-tree-table/wt-tree-table.vue +3 -3
  89. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +1 -1
  90. package/src/composables/useAccessControl/v2/createUserAccessControl.ts +7 -4
  91. package/src/composables/useAccessControl/v2/types/CreateUserAccessControl.d.ts +6 -4
  92. package/src/composables/useWtTable/useWtTable.js +20 -19
  93. package/src/css/main.scss +6 -6
  94. package/src/css/pages/card-page.scss +6 -6
  95. package/src/css/pages/table-page.scss +5 -5
  96. package/src/enums/ComponentSize/ComponentSize.js +9 -9
  97. package/src/enums/CrudAction/CrudAction.js +4 -4
  98. package/src/enums/WebitelApplications/AdminSections.js +37 -37
  99. package/src/enums/WebitelApplications/AuditorSections.js +1 -1
  100. package/src/enums/WebitelApplications/CrmSections.enum.js +2 -1
  101. package/src/enums/WebitelApplications/CrmSections.js +12 -12
  102. package/src/enums/WebitelApplications/CrmSections.ts +13 -13
  103. package/src/enums/WebitelApplications/SupervisorSections.js +3 -3
  104. package/src/enums/WebitelApplications/WtApplication.js +7 -7
  105. package/src/enums/index.js +17 -1
  106. package/src/locale/ru/ru.js +2 -1
  107. package/src/locale/ua/ua.js +2 -1
  108. package/src/mixins/validationMixin/useValidation.js +3 -1
  109. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +1 -1
  110. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +1 -1
  111. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +3 -3
  112. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +4 -4
  113. package/src/modules/AuditForm/components/audit-form-question.vue +2 -2
  114. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +1 -1
  115. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +1 -1
  116. package/src/modules/Filters/v2/filter-presets/components/_shared/input-fields/preset-description-field.vue +3 -7
  117. package/src/modules/Filters/v2/filter-presets/components/_shared/input-fields/preset-name-field.vue +3 -6
  118. package/src/modules/Filters/v2/filter-presets/components/_shared/preset-filters-preview.vue +8 -15
  119. package/src/modules/Filters/v2/filter-presets/components/apply-preset/apply-preset-action.vue +55 -49
  120. package/src/modules/Filters/v2/filter-presets/components/apply-preset/preset-preview.vue +39 -27
  121. package/src/modules/Filters/v2/filter-presets/components/save-preset/overwrite-preset-popup.vue +3 -1
  122. package/src/modules/Filters/v2/filter-presets/components/save-preset/save-preset-action.vue +40 -24
  123. package/src/modules/Filters/v2/filter-presets/components/save-preset/save-preset-popup.vue +2 -2
  124. package/src/modules/Filters/v2/filter-presets/index.ts +3 -8
  125. package/src/modules/Filters/v2/filter-presets/stores/createFilterPresetsStore.ts +11 -9
  126. package/src/modules/Filters/v2/filter-presets/stores/headers/headers.ts +21 -21
  127. package/src/modules/Filters/v2/filters/components/config/dynamic-filter-config-form.vue +2 -2
  128. package/src/modules/Filters/v2/filters/components/dynamic-filter-add-action.vue +3 -3
  129. package/src/modules/Filters/v2/filters/components/dynamic-filter-panel-wrapper.vue +10 -7
  130. package/src/modules/Filters/v2/filters/components/filter-options/_shared/composables/booleanFilterToolkit.ts +30 -24
  131. package/src/modules/Filters/v2/filters/components/filter-options/_shared/composables/useFromToSecToPreviewTime.ts +28 -28
  132. package/src/modules/Filters/v2/filters/components/filter-options/_shared/date-time-filter/date-time-filter-value-field.vue +9 -6
  133. package/src/modules/Filters/v2/filters/components/filter-options/_shared/has-options/has-option-filter-value-field.vue +2 -2
  134. package/src/modules/Filters/v2/filters/components/filter-options/agent/agent-filter-value-preview.vue +4 -6
  135. package/src/modules/Filters/v2/filters/components/filter-options/amd-result/amd-result-filter-value-preview.vue +0 -2
  136. package/src/modules/Filters/v2/filters/components/filter-options/assignee/assignee-filter-value-preview.vue +8 -13
  137. package/src/modules/Filters/v2/filters/components/filter-options/author/author-filter-value-preview.vue +4 -6
  138. package/src/modules/Filters/v2/filters/components/filter-options/cause/cause-filter-value-preview.vue +0 -1
  139. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-field.vue +7 -4
  140. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-preview.vue +6 -7
  141. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/config.js +2 -1
  142. package/src/modules/Filters/v2/filters/components/filter-options/contact/contact-filter-value-preview.vue +4 -6
  143. package/src/modules/Filters/v2/filters/components/filter-options/contact-group/contact-group-filter-value-preview.vue +5 -10
  144. package/src/modules/Filters/v2/filters/components/filter-options/created-at-from/created-at-from-filter-value-preview.vue +1 -1
  145. package/src/modules/Filters/v2/filters/components/filter-options/created-at-to/created-at-to-filter-value-preview.vue +1 -1
  146. package/src/modules/Filters/v2/filters/components/filter-options/direction/direction-filter-value-preview.vue +1 -1
  147. package/src/modules/Filters/v2/filters/components/filter-options/gateway/gateway-filter-value-preview.vue +4 -6
  148. package/src/modules/Filters/v2/filters/components/filter-options/grantee/grantee-filter-value-preview.vue +4 -6
  149. package/src/modules/Filters/v2/filters/components/filter-options/has-attachment/has-attachment-filter-value-preview.vue +3 -1
  150. package/src/modules/Filters/v2/filters/components/filter-options/has-file/has-file-filter-value-field.vue +1 -1
  151. package/src/modules/Filters/v2/filters/components/filter-options/has-file/has-file-filter-value-preview.vue +2 -4
  152. package/src/modules/Filters/v2/filters/components/filter-options/has-rating/has-rating-filter-value-field.vue +2 -2
  153. package/src/modules/Filters/v2/filters/components/filter-options/has-rating/has-rating-filter-value-preview.vue +2 -4
  154. package/src/modules/Filters/v2/filters/components/filter-options/has-transcription/has-transcription-filter-value-field.vue +2 -3
  155. package/src/modules/Filters/v2/filters/components/filter-options/has-transcription/has-transcription-filter-value-preview.vue +2 -4
  156. package/src/modules/Filters/v2/filters/components/filter-options/impacted/impacted-filter-value-preview.vue +4 -6
  157. package/src/modules/Filters/v2/filters/components/filter-options/index.ts +48 -44
  158. package/src/modules/Filters/v2/filters/components/filter-options/priority-case/config.js +1 -2
  159. package/src/modules/Filters/v2/filters/components/filter-options/priority-case/priority-case-filter-value-preview.vue +4 -6
  160. package/src/modules/Filters/v2/filters/components/filter-options/queue/queue-filter-value-preview.vue +4 -6
  161. package/src/modules/Filters/v2/filters/components/filter-options/rated-by/rated-by-filter-value-preview.vue +4 -6
  162. package/src/modules/Filters/v2/filters/components/filter-options/reporter/reporter-filter-value-preview.vue +4 -6
  163. package/src/modules/Filters/v2/filters/components/filter-options/score/score-from-to-filter-value-field.vue +1 -1
  164. package/src/modules/Filters/v2/filters/components/filter-options/service-case/service-case-filter-value-field.vue +5 -5
  165. package/src/modules/Filters/v2/filters/components/filter-options/sla/sla-filter-value-preview.vue +4 -6
  166. package/src/modules/Filters/v2/filters/components/filter-options/source-case/config.js +1 -2
  167. package/src/modules/Filters/v2/filters/components/filter-options/source-case/source-case-filter-value-preview.vue +4 -6
  168. package/src/modules/Filters/v2/filters/components/filter-options/status-case/config.js +2 -1
  169. package/src/modules/Filters/v2/filters/components/filter-options/status-case/status-case-filter-value-field.vue +7 -4
  170. package/src/modules/Filters/v2/filters/components/filter-options/talk-duration/TalkDurationFilter.d.ts +2 -2
  171. package/src/modules/Filters/v2/filters/components/filter-options/team/team-filter-value-preview.vue +4 -6
  172. package/src/modules/Filters/v2/filters/components/filter-options/total-duration/TotalDurationFilter.d.ts +2 -2
  173. package/src/modules/Filters/v2/filters/components/filter-options/user/user-filter-value-preview.vue +4 -6
  174. package/src/modules/Filters/v2/filters/components/filter-options/variable/variable-filter-value-field.vue +1 -2
  175. package/src/modules/Filters/v2/filters/components/preview/dynamic-filter-preview.vue +4 -6
  176. package/src/modules/Filters/v2/filters/enums/FilterOption.ts +40 -40
  177. package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -1
  178. package/src/modules/ObjectPermissions/components/permissions-tab.vue +56 -57
  179. package/src/modules/TableComponentModule/composables/useTableEmpty.js +1 -1
  180. package/src/modules/Userinfo/v2/stores/__tests__/accessStore.spec.ts +16 -16
  181. package/src/scripts/compareSize.js +9 -9
  182. package/src/scripts/prettifyFileSize.js +0 -1
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -93,8 +93,8 @@ watch(
93
93
  <style lang="scss" scoped>
94
94
  .score-from-to-filter-value-field {
95
95
  display: grid;
96
- align-items: center;
97
96
  grid-template-columns: repeat(2, 1fr);
97
+ align-items: center;
98
98
  grid-gap: var(--spacing-xs);
99
99
  }
100
100
  </style>
@@ -46,24 +46,24 @@ onMounted(loadCatalogs);
46
46
  $form-width: 800px;
47
47
 
48
48
  .service-case-filter-value-field {
49
+ grid-area: value;
49
50
  background: transparent;
50
- max-height: 350px;
51
51
  height: 100%;
52
+ max-height: 350px;
52
53
  overflow-y: auto;
53
- grid-area: value;
54
54
  }
55
55
 
56
56
  .dynamic-filter-config-form {
57
57
  &:has(.service-case-filter-value-field) {
58
- width: $form-width;
59
- height: 500px;
60
58
  display: grid;
61
- grid-template-columns: repeat(2, 1fr);
62
59
  grid-template-rows: 64px 1fr auto;
60
+ grid-template-columns: repeat(2, 1fr);
63
61
  grid-template-areas:
64
62
  'column label'
65
63
  'value value'
66
64
  'footer footer';
65
+ width: $form-width;
66
+ height: 500px;
67
67
 
68
68
  .wt-select {
69
69
  grid-area: column;
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -1,5 +1,4 @@
1
- import CaseSourcesAPI
2
- from '../../../../../../../api/clients/caseSources/caseSources.js';
1
+ import CaseSourcesAPI from '../../../../../../../api/clients/caseSources/caseSources.js';
3
2
 
4
3
  export const searchMethod = CaseSourcesAPI.getLookup;
5
4
  export const localePath = '';
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -2,5 +2,6 @@ import CaseStatusesApi from '../../../../../../../api/clients/caseStatuses/caseS
2
2
  import CaseStatusConditionsAPI from '../../../../../../../api/clients/caseStatusConditions/caseStatusConditions.js';
3
3
 
4
4
  export const caseStatusesSearchMethod = CaseStatusesApi.getLookup;
5
- export const caseStatusConditionsSearchMethod = CaseStatusConditionsAPI.getLookup;
5
+ export const caseStatusConditionsSearchMethod =
6
+ CaseStatusConditionsAPI.getLookup;
6
7
  export const localePath = '';
@@ -31,11 +31,14 @@
31
31
  <script lang="ts" setup>
32
32
  import { useVuelidate } from '@vuelidate/core';
33
33
  import { required } from '@vuelidate/validators';
34
- import {computed, onMounted, watch} from 'vue';
34
+ import { computed, onMounted, watch } from 'vue';
35
35
  import { useI18n } from 'vue-i18n';
36
36
 
37
37
  import WtSelect from '../../../../../../../components/wt-select/wt-select.vue';
38
- import { caseStatusesSearchMethod, caseStatusConditionsSearchMethod } from './config.js';
38
+ import {
39
+ caseStatusesSearchMethod,
40
+ caseStatusConditionsSearchMethod,
41
+ } from './config.js';
39
42
 
40
43
  type ModelValue = {
41
44
  selection: string;
@@ -57,13 +60,13 @@ const getConditionList = (params) => {
57
60
  };
58
61
 
59
62
  const initModel = () => {
60
- if(!model.value) {
63
+ if (!model.value) {
61
64
  model.value = {
62
65
  selection: '',
63
66
  conditions: '',
64
67
  };
65
68
  }
66
- }
69
+ };
67
70
  onMounted(() => initModel());
68
71
 
69
72
  const v$ = useVuelidate(
@@ -1,4 +1,4 @@
1
1
  export type TalkDurationFilterModelValue = {
2
- from: number;
3
- to: number;
2
+ from: number;
3
+ to: number;
4
4
  };
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -1,4 +1,4 @@
1
1
  export type TotalDurationFilterModelValue = {
2
- from: number;
3
- to: number;
2
+ from: number;
3
+ to: number;
4
4
  };
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <ul
3
- v-if="localValue">
2
+ <ul v-if="localValue">
4
3
  <li
5
4
  v-for="({ name }, index) of localValue"
6
5
  :key="index"
@@ -12,7 +11,7 @@
12
11
 
13
12
  <script lang="ts" setup>
14
13
  import { searchMethod } from './config.js';
15
- import {ref} from 'vue';
14
+ import { ref } from 'vue';
16
15
 
17
16
  const props = defineProps<{
18
17
  value: number[];
@@ -21,12 +20,11 @@ const props = defineProps<{
21
20
  const localValue = ref([]);
22
21
 
23
22
  const getLocalValue = async () => {
24
- const { items } = await searchMethod({id: props.value});
23
+ const { items } = await searchMethod({ id: props.value });
25
24
  localValue.value = items;
26
25
  };
27
26
 
28
27
  getLocalValue();
29
28
  </script>
30
29
 
31
- <style lang="scss" scoped>
32
- </style>
30
+ <style lang="scss" scoped></style>
@@ -47,5 +47,4 @@ watch(
47
47
  );
48
48
  </script>
49
49
 
50
- <style lang="scss" scoped>
51
- </style>
50
+ <style lang="scss" scoped></style>
@@ -1,7 +1,5 @@
1
1
  <template>
2
- <dynamic-filter-config-view
3
- :disabled="dummy"
4
- >
2
+ <dynamic-filter-config-view :disabled="dummy">
5
3
  <template #activator="{ visible: configFormVisible }">
6
4
  <wt-tooltip :disabled="configFormVisible">
7
5
  <template #activator>
@@ -46,13 +44,13 @@ import { useI18n } from 'vue-i18n';
46
44
  import WtChip from '../../../../../../components/wt-chip/wt-chip.vue';
47
45
  import WtIconBtn from '../../../../../../components/wt-icon-btn/wt-icon-btn.vue';
48
46
  import WtTooltip from '../../../../../../components/wt-tooltip/wt-tooltip.vue';
49
- import type {IFilter} from '../../types/Filter';
47
+ import type { IFilter } from '../../types/Filter';
50
48
  import DynamicFilterConfigView from '../config/dynamic-filter-config-view.vue';
51
49
  import DynamicFilterPreviewInfo from './dynamic-filter-preview-info.vue';
52
50
 
53
51
  interface Props {
54
52
  filter: IFilter;
55
- dummy?: boolean; /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */
53
+ dummy?: boolean /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */;
56
54
  }
57
55
 
58
56
  const { t } = useI18n();
@@ -71,8 +69,8 @@ const deleteFilter = () => {
71
69
  <style lang="scss" scoped>
72
70
  .wt-chip {
73
71
  display: flex;
74
- align-items: center;
75
72
  justify-content: center;
73
+ align-items: center;
76
74
  gap: var(--spacing-2xs);
77
75
  }
78
76
  </style>
@@ -1,43 +1,43 @@
1
1
  export const FilterOption = {
2
- Agent: 'agent',
3
- AmdResult: 'amdResult',
4
- Contact: 'contact',
5
- Direction: 'direction',
6
- Rated: 'rated',
7
- Gateway: 'gateway',
8
- Grantee: 'grantee',
9
- Cause: 'cause',
10
- Queue: 'queue',
11
- RatedBy: 'ratedBy',
12
- HasFile: 'hasFile',
13
- Score: 'score',
14
- Tag: 'tag',
15
- TalkDuration: 'talkDuration',
16
- Team: 'team',
17
- TotalDuration: 'totalDuration',
18
- HasTranscription: 'hasTranscription',
19
- User: 'user',
20
- Variable: 'variable',
21
- CreatedAtFrom: 'createdAtFrom',
22
- CreatedAtTo: 'createdAtTo',
23
- Status: 'status',
24
- Source: 'source',
25
- Service: 'service',
26
- Author: 'author',
27
- Reporter: 'reporter',
28
- Impacted: 'impacted',
29
- Assignee: 'assignee',
30
- ContactGroup: 'contactGroup',
31
- Priority: 'priority',
32
- CloseReasonGroups: 'closeReasonGroups',
33
- Rating: 'rating',
34
- Sla: 'sla',
35
- SlaCondition: 'slaCondition',
36
- ReactionTime: 'reactionTime',
37
- ResolutionTime: 'resolutionTime',
38
- ActualReactionTime: 'actualReactionTime',
39
- ActualResolutionTime: 'actualResolutionTime',
40
- HasAttachment: 'hasAttachment',
2
+ Agent: 'agent',
3
+ AmdResult: 'amdResult',
4
+ Contact: 'contact',
5
+ Direction: 'direction',
6
+ Rated: 'rated',
7
+ Gateway: 'gateway',
8
+ Grantee: 'grantee',
9
+ Cause: 'cause',
10
+ Queue: 'queue',
11
+ RatedBy: 'ratedBy',
12
+ HasFile: 'hasFile',
13
+ Score: 'score',
14
+ Tag: 'tag',
15
+ TalkDuration: 'talkDuration',
16
+ Team: 'team',
17
+ TotalDuration: 'totalDuration',
18
+ HasTranscription: 'hasTranscription',
19
+ User: 'user',
20
+ Variable: 'variable',
21
+ CreatedAtFrom: 'createdAtFrom',
22
+ CreatedAtTo: 'createdAtTo',
23
+ Status: 'status',
24
+ Source: 'source',
25
+ Service: 'service',
26
+ Author: 'author',
27
+ Reporter: 'reporter',
28
+ Impacted: 'impacted',
29
+ Assignee: 'assignee',
30
+ ContactGroup: 'contactGroup',
31
+ Priority: 'priority',
32
+ CloseReasonGroups: 'closeReasonGroups',
33
+ Rating: 'rating',
34
+ Sla: 'sla',
35
+ SlaCondition: 'slaCondition',
36
+ ReactionTime: 'reactionTime',
37
+ ResolutionTime: 'resolutionTime',
38
+ ActualReactionTime: 'actualReactionTime',
39
+ ActualResolutionTime: 'actualResolutionTime',
40
+ HasAttachment: 'hasAttachment',
41
41
  } as const;
42
42
 
43
- export type FilterOption = typeof FilterOption[keyof typeof FilterOption];
43
+ export type FilterOption = (typeof FilterOption)[keyof typeof FilterOption];
@@ -19,8 +19,8 @@ const props = defineProps({
19
19
  <style lang="scss" scoped>
20
20
  .permissions-role-row {
21
21
  display: grid;
22
- align-items: center;
23
22
  grid-template-columns: var(--icon-md-size) 1fr;
23
+ align-items: center;
24
24
  gap: var(--spacing-sm);
25
25
  }
26
26
  </style>
@@ -20,7 +20,6 @@
20
20
  </header>
21
21
 
22
22
  <div class="table-section__table-wrapper">
23
-
24
23
  <wt-empty
25
24
  v-show="showEmpty"
26
25
  :image="imageEmpty"
@@ -31,62 +30,62 @@
31
30
 
32
31
  <div
33
32
  v-if="dataList.length && !isLoading"
34
- class="table-section__visible-scroll-wrapper">
35
-
36
- <wt-table
37
- :data="localizedDataList"
38
- :grid-actions="access.edit"
39
- :headers="headers"
40
- :selectable="false"
41
- sortable
42
- @sort="sort"
43
- >
44
- <template #grantee="{ item }">
45
- <role-column :role="item.grantee" />
46
- </template>
47
-
48
- <template #read="{ item }">
49
- <wt-select
50
- :clearable="false"
51
- :disabled="!access.edit"
52
- :options="accessOptions"
53
- :value="item.access.r"
54
- @input="changeAccessMode({ item, ruleName: 'r', mode: $event })"
55
- />
56
- </template>
57
-
58
- <template #edit="{ item }">
59
- <wt-select
60
- :clearable="false"
61
- :disabled="!access.edit"
62
- :options="accessOptions"
63
- :value="item.access.w"
64
- @input="changeAccessMode({ item, ruleName: 'w', mode: $event })"
65
- />
66
- </template>
67
-
68
- <template #delete="{ item }">
69
- <wt-select
70
- :clearable="false"
71
- :disabled="!access.edit"
72
- :options="accessOptions"
73
- :value="item.access.d"
74
- @input="changeAccessMode({ item, ruleName: 'd', mode: $event })"
75
- />
76
- </template>
77
- <template #actions="{ item }">
78
- <wt-icon-action
79
- action="delete"
80
- @click="
81
- changeAccessMode({
82
- item,
83
- ruleName: 'r',
84
- mode: { id: AccessMode.FORBIDDEN },
85
- })
86
- "
87
- />
88
- </template>
89
- </wt-table>
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-select
49
+ :clearable="false"
50
+ :disabled="!access.edit"
51
+ :options="accessOptions"
52
+ :value="item.access.r"
53
+ @input="changeAccessMode({ item, ruleName: 'r', mode: $event })"
54
+ />
55
+ </template>
56
+
57
+ <template #edit="{ item }">
58
+ <wt-select
59
+ :clearable="false"
60
+ :disabled="!access.edit"
61
+ :options="accessOptions"
62
+ :value="item.access.w"
63
+ @input="changeAccessMode({ item, ruleName: 'w', mode: $event })"
64
+ />
65
+ </template>
66
+
67
+ <template #delete="{ item }">
68
+ <wt-select
69
+ :clearable="false"
70
+ :disabled="!access.edit"
71
+ :options="accessOptions"
72
+ :value="item.access.d"
73
+ @input="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>
90
89
  </div>
91
90
  <filter-pagination
92
91
  :namespace="filtersNamespace"
@@ -89,7 +89,7 @@ export const useTableEmpty = (
89
89
  if (filters?.value) {
90
90
  const uncheckedFilters = ['page', 'size', 'sort', 'fields'];
91
91
  const filtersApplied = Object.entries(filters.value).some(
92
- ([filterName,filterValue]) =>
92
+ ([filterName, filterValue]) =>
93
93
  !isEmpty(filterValue) && !uncheckedFilters.includes(filterName),
94
94
  );
95
95
  if (filtersApplied) return EmptyCause.FILTERS;
@@ -1,10 +1,10 @@
1
- import {createPinia, setActivePinia, type StoreDefinition} from 'pinia';
2
- import { beforeEach, describe, expect,it } from 'vitest';
3
- import {createApp, h} from "vue";
4
- import {createRouter, createWebHistory, type Router} from "vue-router";
1
+ import { createPinia, setActivePinia, type StoreDefinition } from 'pinia';
2
+ import { beforeEach, describe, expect, it } from 'vitest';
3
+ import { createApp, h } from 'vue';
4
+ import { createRouter, createWebHistory, type Router } from 'vue-router';
5
5
 
6
- import {AdminSections, WtApplication, WtObject} from "../../../../../enums";
7
- import {CrudGlobalAction} from "../../enums";
6
+ import { AdminSections, WtApplication, WtObject } from '../../../../../enums';
7
+ import { CrudGlobalAction } from '../../enums';
8
8
  import { createUserAccessStore } from '../accessStore';
9
9
 
10
10
  describe('AccessStore', () => {
@@ -35,7 +35,7 @@ describe('AccessStore', () => {
35
35
  const pinia = createPinia();
36
36
  const app = createApp({});
37
37
  app.use(router);
38
- app.use(pinia)
38
+ app.use(pinia);
39
39
  setActivePinia(pinia);
40
40
  useAccessStore = createUserAccessStore();
41
41
  });
@@ -81,9 +81,9 @@ describe('AccessStore', () => {
81
81
  access: {
82
82
  [WtApplication.Admin]: {
83
83
  _enabled: true,
84
- [AdminSections.Users]: {
85
- _enabled: true,
86
- },
84
+ [AdminSections.Users]: {
85
+ _enabled: true,
86
+ },
87
87
  },
88
88
  },
89
89
  });
@@ -102,9 +102,9 @@ describe('AccessStore', () => {
102
102
  access: {
103
103
  [WtApplication.Admin]: {
104
104
  _enabled: true,
105
- [AdminSections.Users]: {
106
- _enabled: false,
107
- },
105
+ [AdminSections.Users]: {
106
+ _enabled: false,
107
+ },
108
108
  },
109
109
  },
110
110
  });
@@ -123,9 +123,9 @@ describe('AccessStore', () => {
123
123
  access: {
124
124
  [WtApplication.Admin]: {
125
125
  _enabled: false,
126
- [AdminSections.Users]: {
127
- _enabled: true,
128
- },
126
+ [AdminSections.Users]: {
127
+ _enabled: true,
128
+ },
129
129
  },
130
130
  },
131
131
  });