@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
@@ -4,41 +4,41 @@
4
4
  * without any relation to WtObjects (?)
5
5
  */
6
6
  export const AdminSections = {
7
- Agents: 'agents',
8
- Blacklist: 'blacklist',
9
- Buckets: 'buckets',
10
- Calendars: 'calendars',
11
- Changelogs: 'changelogs',
12
- ChatGateways: 'chat-gateways',
13
- Chatplan: 'chatplan',
14
- CognitiveProfiles: 'cognitive-profiles',
15
- Communications: 'communications',
16
- Configuration: 'configuration',
17
- Dialplan: 'dialplan',
18
- Devices: 'devices',
19
- EmailProfiles: 'email-profiles',
20
- Flow: 'flow',
21
- Gateways: 'gateways',
22
- GlobalVariables: 'global-variables',
23
- ImportCsv: 'import-csv',
24
- License: 'license',
25
- Media: 'media',
26
- Members: 'members',
27
- Objects: 'objects',
28
- PauseCause: 'pause-cause',
29
- PauseTemplates: 'pause-templates',
30
- Queues: 'queues',
31
- Regions: 'regions',
32
- ResourceGroups: 'resource-groups',
33
- Resources: 'resources',
34
- Roles: 'roles',
35
- ShiftTemplates: 'shift-templates',
36
- SingleSignOn: 'single-sign-on',
37
- Skills: 'skills',
38
- Storage: 'storage',
39
- StoragePolicies: 'storage-policies',
40
- Teams: 'teams',
41
- Triggers: 'triggers',
42
- Users: 'users',
43
- WorkingConditions: 'working-conditions',
7
+ Agents: 'agents',
8
+ Blacklist: 'blacklist',
9
+ Buckets: 'buckets',
10
+ Calendars: 'calendars',
11
+ Changelogs: 'changelogs',
12
+ ChatGateways: 'chat-gateways',
13
+ Chatplan: 'chatplan',
14
+ CognitiveProfiles: 'cognitive-profiles',
15
+ Communications: 'communications',
16
+ Configuration: 'configuration',
17
+ Dialplan: 'dialplan',
18
+ Devices: 'devices',
19
+ EmailProfiles: 'email-profiles',
20
+ Flow: 'flow',
21
+ Gateways: 'gateways',
22
+ GlobalVariables: 'global-variables',
23
+ ImportCsv: 'import-csv',
24
+ License: 'license',
25
+ Media: 'media',
26
+ Members: 'members',
27
+ Objects: 'objects',
28
+ PauseCause: 'pause-cause',
29
+ PauseTemplates: 'pause-templates',
30
+ Queues: 'queues',
31
+ Regions: 'regions',
32
+ ResourceGroups: 'resource-groups',
33
+ Resources: 'resources',
34
+ Roles: 'roles',
35
+ ShiftTemplates: 'shift-templates',
36
+ SingleSignOn: 'single-sign-on',
37
+ Skills: 'skills',
38
+ Storage: 'storage',
39
+ StoragePolicies: 'storage-policies',
40
+ Teams: 'teams',
41
+ Triggers: 'triggers',
42
+ Users: 'users',
43
+ WorkingConditions: 'working-conditions',
44
44
  };
@@ -1,3 +1,3 @@
1
1
  export const AuditorSections = {
2
- Scorecards: 'scorecards',
2
+ Scorecards: 'scorecards',
3
3
  };
@@ -10,5 +10,6 @@ import { CrmSections } from './CrmSections';
10
10
  export default Object.fromEntries(
11
11
  Object.entries(CrmSections).map(([key, value]) => [
12
12
  upperCase(key).replaceAll(' ', '_'),
13
- value]),
13
+ value,
14
+ ]),
14
15
  );
@@ -1,14 +1,14 @@
1
1
  export const CrmSections = {
2
- Contacts: 'contacts',
3
- Cases: 'cases',
4
- // CONFIGURATION - LOOKUPS
5
- Slas: 'slas',
6
- ServiceCatalogs: 'service-catalogs',
7
- Priorities: 'priorities',
8
- Statuses: 'statuses',
9
- Sources: 'sources',
10
- CloseReasonGroups: 'close-reason-groups',
11
- ContactGroups: 'contact-groups',
12
- CaseSources: 'case-sources',
13
- CustomLookups: 'custom-lookups',
2
+ Contacts: 'contacts',
3
+ Cases: 'cases',
4
+ // CONFIGURATION - LOOKUPS
5
+ Slas: 'slas',
6
+ ServiceCatalogs: 'service-catalogs',
7
+ Priorities: 'priorities',
8
+ Statuses: 'statuses',
9
+ Sources: 'sources',
10
+ CloseReasonGroups: 'close-reason-groups',
11
+ ContactGroups: 'contact-groups',
12
+ CaseSources: 'case-sources',
13
+ CustomLookups: 'custom-lookups',
14
14
  };
@@ -1,17 +1,17 @@
1
1
  export const CrmSections = {
2
- Contacts: 'contacts',
3
- Cases: 'cases',
2
+ Contacts: 'contacts',
3
+ Cases: 'cases',
4
4
 
5
- // CONFIGURATION - LOOKUPS
6
- Slas: 'slas',
7
- ServiceCatalogs: 'service-catalogs',
8
- Priorities: 'priorities',
9
- Statuses: 'statuses',
10
- Sources: 'sources',
11
- CloseReasonGroups: 'close-reason-groups',
12
- ContactGroups: 'contact-groups',
13
- CaseSources: 'case-sources',
14
- CustomLookups: 'custom-lookups',
5
+ // CONFIGURATION - LOOKUPS
6
+ Slas: 'slas',
7
+ ServiceCatalogs: 'service-catalogs',
8
+ Priorities: 'priorities',
9
+ Statuses: 'statuses',
10
+ Sources: 'sources',
11
+ CloseReasonGroups: 'close-reason-groups',
12
+ ContactGroups: 'contact-groups',
13
+ CaseSources: 'case-sources',
14
+ CustomLookups: 'custom-lookups',
15
15
  } as const;
16
16
 
17
- export type CrmSections = typeof CrmSections[keyof typeof CrmSections];
17
+ export type CrmSections = (typeof CrmSections)[keyof typeof CrmSections];
@@ -1,5 +1,5 @@
1
1
  export const SupervisorSections = {
2
- Queues: 'queues',
3
- Agents: 'agents',
4
- ActiveCalls: 'activeCalls',
2
+ Queues: 'queues',
3
+ Agents: 'agents',
4
+ ActiveCalls: 'activeCalls',
5
5
  };
@@ -1,9 +1,9 @@
1
1
  export const WtApplication = {
2
- Admin: 'admin',
3
- Agent: 'agent',
4
- Supervisor: 'supervisor',
5
- History: 'history',
6
- Audit: 'audit',
7
- Analytics: 'grafana',
8
- Crm: 'crm',
2
+ Admin: 'admin',
3
+ Agent: 'agent',
4
+ Supervisor: 'supervisor',
5
+ History: 'history',
6
+ Audit: 'audit',
7
+ Analytics: 'grafana',
8
+ Crm: 'crm',
9
9
  };
@@ -13,4 +13,20 @@ import { SupervisorSections } from './WebitelApplications/SupervisorSections';
13
13
  import WebitelApplications from './WebitelApplications/WebitelApplications.enum.js';
14
14
  import { WtApplication } from './WebitelApplications/WtApplication';
15
15
  import { WtObject } from './WtObject/WtObject';
16
- export { AbstractUserStatus, AdminSections, AgentStatus, AuditorSections, ChatGatewayProvider, ComponentSize, CrmSections, CrudAction, IconAction, QueueType, SupervisorSections, TypesExportedSettings, WebitelApplications, WtApplication, WtObject, };
16
+ export {
17
+ AbstractUserStatus,
18
+ AdminSections,
19
+ AgentStatus,
20
+ AuditorSections,
21
+ ChatGatewayProvider,
22
+ ComponentSize,
23
+ CrmSections,
24
+ CrudAction,
25
+ IconAction,
26
+ QueueType,
27
+ SupervisorSections,
28
+ TypesExportedSettings,
29
+ WebitelApplications,
30
+ WtApplication,
31
+ WtObject,
32
+ };
@@ -490,7 +490,8 @@ export default {
490
490
  exportToJson: 'Экспортировать в JSON',
491
491
  },
492
492
  filters: {
493
- predefinedLabels: { /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */
493
+ predefinedLabels: {
494
+ /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */
494
495
  createdAt: {
495
496
  startOfToday: 'С начала дня',
496
497
  startOfMonth: 'С начала этого месяца',
@@ -490,7 +490,8 @@ export default {
490
490
  exportToJson: 'Експортувати в JSON',
491
491
  },
492
492
  filters: {
493
- predefinedLabels: { /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */
493
+ predefinedLabels: {
494
+ /* https://webitel.atlassian.net/browse/WTEL-6308?focusedCommentId=657415 */
494
495
  createdAt: {
495
496
  startOfToday: 'Від початку дня',
496
497
  startOfMonth: 'Від початку місяця',
@@ -62,7 +62,7 @@ export function useValidation({
62
62
  validationText =
63
63
  v.value.regex?.$message ||
64
64
  `${t('validation.isRegExpMatched')} ${v.value.regex?.$params?.regex}`;
65
- else if (v.value.nameAlreadyInUse.$invalid) {
65
+ else if (v.value.nameAlreadyInUse?.$invalid) {
66
66
  validationText = t('validation.nameAlreadyInUse');
67
67
  }
68
68
  }
@@ -73,6 +73,8 @@ export function useValidation({
73
73
  }
74
74
  return validationText;
75
75
  }
76
+
77
+ return validationText;
76
78
  });
77
79
 
78
80
  return {
@@ -106,8 +106,8 @@ function setPause() {
106
106
  <style lang="scss" scoped>
107
107
  .wt-cc-pause-cause-popup-option {
108
108
  display: flex;
109
- align-items: center;
110
109
  justify-content: space-between;
110
+ align-items: center;
111
111
 
112
112
  &:not(:last-child) {
113
113
  margin-bottom: var(--spacing-sm);
@@ -47,9 +47,9 @@ function close() {
47
47
  <style lang="scss" scoped>
48
48
  .wt-cc-status-select-error-popup__main-wrapper {
49
49
  display: flex;
50
- align-items: center;
51
50
  flex-direction: column;
52
51
  justify-content: center;
52
+ align-items: center;
53
53
  gap: var(--spacing-sm);
54
54
  }
55
55
  </style>
@@ -88,12 +88,12 @@ const isResult = computed(() => !isEmpty(props.result));
88
88
 
89
89
  <style lang="scss" scoped>
90
90
  .audit-form-question-read {
91
- position: relative;
92
91
  display: flex;
92
+ position: relative;
93
93
  flex-direction: column;
94
+ gap: var(--spacing-sm);
94
95
  transition: var(--transition);
95
96
  border: 1px solid transparent;
96
- gap: var(--spacing-sm);
97
97
 
98
98
  &:not(.audit-form-question-read--readonly) {
99
99
  &:hover,
@@ -128,8 +128,8 @@ const isResult = computed(() => !isEmpty(props.result));
128
128
  }
129
129
 
130
130
  .audit-form-question--clear {
131
- margin-top: var(--spacing-sm);
132
131
  cursor: pointer;
132
+ margin-top: var(--spacing-sm);
133
133
  color: var(--info-color);
134
134
  }
135
135
  </style>
@@ -134,14 +134,14 @@ function handleQuestionTypeChange(type) {
134
134
  .audit-form-question.audit-form-question-write {
135
135
  display: flex;
136
136
  flex-direction: column;
137
- box-shadow: var(--elevation-3);
138
137
  gap: var(--spacing-sm);
138
+ box-shadow: var(--elevation-3);
139
139
  }
140
140
 
141
141
  .audit-form-question-write-header {
142
142
  display: flex;
143
- align-items: center;
144
143
  justify-content: space-between;
144
+ align-items: center;
145
145
 
146
146
  &__actions {
147
147
  display: flex;
@@ -151,11 +151,11 @@ function handleQuestionTypeChange(type) {
151
151
 
152
152
  .audit-form-question-write-content-question {
153
153
  display: grid;
154
+ grid-template-columns: 3fr 1fr;
155
+ gap: var(--spacing-sm);
154
156
  margin-right: calc(
155
157
  24px + var(--spacing-sm)
156
158
  ); // delete icon action for type "options"
157
159
  margin-bottom: var(--spacing-sm);
158
- grid-template-columns: 3fr 1fr;
159
- gap: var(--spacing-sm);
160
160
  }
161
161
  </style>
@@ -122,10 +122,10 @@ onMounted(() => {
122
122
 
123
123
  <style lang="scss" scoped>
124
124
  .audit-form-question {
125
- padding: var(--spacing-sm);
125
+ box-shadow: var(--elevation-1);
126
126
  border-radius: var(--border-radius);
127
127
  background: var(--dp-22-surface-color);
128
- box-shadow: var(--elevation-1);
128
+ padding: var(--spacing-sm);
129
129
 
130
130
  // override audit-form-question-read-wrapper specificity for hover
131
131
  &.audit-form-question--answered {
@@ -115,9 +115,9 @@ onMounted(() => v$.value.$touch());
115
115
  <style lang="scss" scoped>
116
116
  .audit-form-question-score-write {
117
117
  display: grid;
118
- margin-right: calc(var(--spacing-sm) + 24px); // icon offset
119
118
  grid-template-columns: 100px 100px;
120
119
  gap: var(--spacing-sm);
120
+ margin-right: calc(var(--spacing-sm) + 24px); // icon offset
121
121
  }
122
122
 
123
123
  .audit-form-question-score-read {
@@ -75,8 +75,8 @@ const deleteMessage = computed(() => {
75
75
  <style scoped>
76
76
  .delete-confirmation-popup__content {
77
77
  display: flex;
78
- align-items: center;
79
78
  flex-direction: column;
79
+ align-items: center;
80
80
  gap: var(--spacing-sm);
81
81
  }
82
82
 
@@ -1,7 +1,5 @@
1
1
  <template>
2
- <div
3
- v-if="props.previewMode && model"
4
- >
2
+ <div v-if="props.previewMode && model">
5
3
  <wt-label>
6
4
  {{ t('vocabulary.description') }}
7
5
  </wt-label>
@@ -19,7 +17,7 @@
19
17
  </template>
20
18
 
21
19
  <script setup lang="ts">
22
- import {useI18n} from "vue-i18n";
20
+ import { useI18n } from 'vue-i18n';
23
21
  import { WtTextarea, WtLabel } from '../../../../../../../components/index';
24
22
 
25
23
  const model = defineModel<string>();
@@ -31,6 +29,4 @@ const props = defineProps<{
31
29
  const { t } = useI18n();
32
30
  </script>
33
31
 
34
- <style scoped lang="scss">
35
-
36
- </style>
32
+ <style scoped lang="scss"></style>
@@ -8,8 +8,8 @@
8
8
  </template>
9
9
 
10
10
  <script setup lang="ts">
11
- import {useI18n} from "vue-i18n";
12
- import {Validation} from '@vuelidate/core';
11
+ import { useI18n } from 'vue-i18n';
12
+ import { Validation } from '@vuelidate/core';
13
13
  import { WtInput } from '../../../../../../../components/index';
14
14
 
15
15
  type ModelValue = string;
@@ -23,9 +23,6 @@ type Props = {
23
23
  const props = defineProps<Props>();
24
24
 
25
25
  const { t } = useI18n();
26
-
27
26
  </script>
28
27
 
29
- <style scoped lang="scss">
30
-
31
- </style>
28
+ <style scoped lang="scss"></style>
@@ -3,12 +3,10 @@
3
3
  <wt-label>
4
4
  {{ t('webitelUI.filters.filterName') }}
5
5
  </wt-label>
6
- <dynamic-filter-panel-wrapper
7
- size="sm"
8
- >
6
+ <dynamic-filter-panel-wrapper size="sm">
9
7
  <template #filters>
10
8
  <dynamic-filter-preview
11
- v-for="(filter) of props.filters"
9
+ v-for="filter of props.filters"
12
10
  :key="filter.name"
13
11
  :filter="filter"
14
12
  dummy
@@ -24,19 +22,16 @@
24
22
  </template>
25
23
  </dynamic-filter-panel-wrapper>
26
24
  </div>
27
-
28
25
  </template>
29
26
 
30
27
  <script setup lang="ts">
31
- import {useI18n} from "vue-i18n";
28
+ import { useI18n } from 'vue-i18n';
32
29
 
33
30
  import { WtLabel } from '../../../../../../components/index';
34
- import type {IFilter} from "../../../filters";
35
- import DynamicFilterPanelWrapper
36
- from "../../../filters/components/dynamic-filter-panel-wrapper.vue";
37
- import { FilterOptionToPreviewComponentMap} from "../../../filters/components/filter-options";
38
- import DynamicFilterPreview
39
- from "../../../filters/components/preview/dynamic-filter-preview.vue";
31
+ import type { IFilter } from '../../../filters';
32
+ import DynamicFilterPanelWrapper from '../../../filters/components/dynamic-filter-panel-wrapper.vue';
33
+ import { FilterOptionToPreviewComponentMap } from '../../../filters/components/filter-options';
34
+ import DynamicFilterPreview from '../../../filters/components/preview/dynamic-filter-preview.vue';
40
35
 
41
36
  type Props = {
42
37
  filters: IFilter[];
@@ -45,8 +40,6 @@ type Props = {
45
40
  const props = defineProps<Props>();
46
41
 
47
42
  const { t } = useI18n();
48
-
49
43
  </script>
50
44
 
51
- <style scoped lang="scss">
52
- </style>
45
+ <style scoped lang="scss"></style>
@@ -10,7 +10,9 @@
10
10
  @close="showPresetsList = false"
11
11
  >
12
12
  <template #title>
13
- {{ `${t('vocabulary.apply')} ${t('webitelUI.filters.presets.preset').toLowerCase()}` }}
13
+ {{
14
+ `${t('vocabulary.apply')} ${t('webitelUI.filters.presets.preset').toLowerCase()}`
15
+ }}
14
16
  </template>
15
17
 
16
18
  <template #main>
@@ -28,7 +30,7 @@
28
30
 
29
31
  <section class="available-presets-list">
30
32
  <preset-preview
31
- v-for="(preset) of dataList"
33
+ v-for="preset of dataList"
32
34
  :key="preset.id"
33
35
  collapsed
34
36
  :is-selected="preset === selectedPreset"
@@ -38,12 +40,12 @@
38
40
  @preset:delete="() => deletePreset(preset)"
39
41
  />
40
42
  </section>
41
- <!-- TODO: infinite scroll -->
42
- <!-- <wt-intersection-observer-->
43
- <!-- :loading="isLoading"-->
44
- <!-- :next="false"-->
45
- <!-- @next="updatePage(page + 1)"-->
46
- <!-- />-->
43
+ <!-- TODO: infinite scroll -->
44
+ <!-- <wt-intersection-observer-->
45
+ <!-- :loading="isLoading"-->
46
+ <!-- :next="false"-->
47
+ <!-- @next="updatePage(page + 1)"-->
48
+ <!-- />-->
47
49
  </section>
48
50
  </template>
49
51
 
@@ -66,16 +68,22 @@
66
68
  </template>
67
69
 
68
70
  <script lang="ts" setup>
69
- import {type StoreDefinition, storeToRefs } from "pinia";
70
- import {computed, inject, ref, watch, onUnmounted} from "vue";
71
- import {useI18n} from "vue-i18n";
72
-
73
- import {WtButton, WtEmpty, WtPopup, WtSearchBar, WtIconAction} from "../../../../../../components/index";
74
- import {useTableEmpty} from "../../../../../TableComponentModule/composables/useTableEmpty";
75
- import { IconAction } from "../../../../../../enums";
71
+ import { type StoreDefinition, storeToRefs } from 'pinia';
72
+ import { computed, inject, ref, watch, onUnmounted } from 'vue';
73
+ import { useI18n } from 'vue-i18n';
74
+
75
+ import {
76
+ WtButton,
77
+ WtEmpty,
78
+ WtPopup,
79
+ WtSearchBar,
80
+ WtIconAction,
81
+ } from '../../../../../../components/index';
82
+ import { useTableEmpty } from '../../../../../TableComponentModule/composables/useTableEmpty';
83
+ import { IconAction } from '../../../../../../enums';
76
84
  import PresetQueryAPI from '../../api/PresetQuery.api.ts';
77
- import PresetPreview from "./preset-preview.vue";
78
- import {EnginePresetQuery} from "webitel-sdk";
85
+ import PresetPreview from './preset-preview.vue';
86
+ import { EnginePresetQuery } from 'webitel-sdk';
79
87
 
80
88
  const props = defineProps<{
81
89
  /**
@@ -91,36 +99,29 @@ const emit = defineEmits<{
91
99
 
92
100
  const eventBus = inject('$eventBus');
93
101
 
94
- const {t} = useI18n();
102
+ const { t } = useI18n();
95
103
 
96
104
  const showPresetsList = ref(false);
97
105
 
98
106
  const presetsStore = props.usePresetsStore();
99
- const {
100
- dataList,
101
- error,
102
- isLoading,
103
- filtersManager,
104
- page,
105
- } = storeToRefs(presetsStore);
107
+ const { dataList, error, isLoading, filtersManager, page } =
108
+ storeToRefs(presetsStore);
106
109
 
107
- const {
108
- loadDataList,
109
- initialize,
110
- updateSize,
111
- deleteEls,
112
- } = presetsStore;
110
+ const { loadDataList, initialize, updateSize, deleteEls } = presetsStore;
113
111
 
114
112
  updateSize(1000);
115
- filtersManager.value.addFilter({name: 'presetNamespace', value: props.namespace});
113
+ filtersManager.value.addFilter({
114
+ name: 'presetNamespace',
115
+ value: props.namespace,
116
+ });
116
117
 
117
118
  const search = computed({
118
119
  get: () => {
119
120
  return filtersManager.value.getFilter('search')?.value || '';
120
121
  },
121
122
  set: (value) => {
122
- filtersManager.value.addFilter({name: 'search', value});
123
- }
123
+ filtersManager.value.addFilter({ name: 'search', value });
124
+ },
124
125
  });
125
126
 
126
127
  const {
@@ -138,31 +139,36 @@ const {
138
139
  }),
139
140
  });
140
141
 
141
- watch(showPresetsList, () => {
142
- initialize();
142
+ watch(
143
+ showPresetsList,
144
+ () => {
145
+ initialize();
143
146
 
144
- watch(showPresetsList, (value) => {
145
- if (value) {
146
- search.value = '';
147
- /* search.value reset causes re-fetch as filter change, so
147
+ watch(showPresetsList, (value) => {
148
+ if (value) {
149
+ search.value = '';
150
+ /* search.value reset causes re-fetch as filter change, so
148
151
  loadDataList() is commented.
149
152
  TODO: implement ability to set filters "silently" and refactor this code */
150
- // loadDataList();
151
- }
152
- });
153
- }, {once: true});
153
+ // loadDataList();
154
+ }
155
+ });
156
+ },
157
+ { once: true },
158
+ );
154
159
 
155
160
  const selectedPreset = ref();
156
161
 
157
162
  const applySelectedPreset = () => {
158
- const filtersSnapshot = selectedPreset.value.preset['filtersManager.toString'];
163
+ const filtersSnapshot =
164
+ selectedPreset.value.preset['filtersManager.toString'];
159
165
  emit('apply', filtersSnapshot);
160
166
 
161
167
  selectedPreset.value = null;
162
168
  showPresetsList.value = false;
163
169
  };
164
170
 
165
- const updatePreset = async ({preset, onSuccess, onFailure}) => {
171
+ const updatePreset = async ({ preset, onSuccess, onFailure }) => {
166
172
  try {
167
173
  await PresetQueryAPI.update({
168
174
  item: { ...preset },
@@ -205,9 +211,9 @@ const deletePreset = async (preset: EnginePresetQuery) => {
205
211
 
206
212
  .apply-preset-main-content {
207
213
  display: flex;
208
- height: 100%;
209
214
  flex-direction: column;
210
215
  gap: var(--spacing-xs);
216
+ height: 100%;
211
217
 
212
218
  .wt-empty {
213
219
  flex-grow: 1;
@@ -219,10 +225,10 @@ const deletePreset = async (preset: EnginePresetQuery) => {
219
225
  @extend %wt-scrollbar;
220
226
 
221
227
  display: flex;
222
- overflow-y: auto;
223
228
  flex-direction: column;
224
- max-height: 400px;
225
229
  gap: var(--spacing-xs);
230
+ max-height: 400px;
231
+ overflow-y: auto;
226
232
  scrollbar-gutter: stable;
227
233
  }
228
234
  </style>