@webitel/ui-sdk 25.4.37 → 25.4.39

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 +391 -238
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.js +8737 -8361
  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 +19 -14
  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 +1 -1
  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
@@ -146,6 +146,11 @@ export default {
146
146
 
147
147
  multiple: true,
148
148
  }),
149
+ created() {
150
+ if (!this.isApiMode) {
151
+ this.initializeOptions();
152
+ }
153
+ },
149
154
  methods: {
150
155
  getTagOptionLabel({ optionLabel, option }) {
151
156
  /*
@@ -169,11 +174,6 @@ export default {
169
174
  this.options.unshift(...newOptions);
170
175
  },
171
176
  },
172
- created() {
173
- if (!this.isApiMode) {
174
- this.initializeOptions();
175
- }
176
- },
177
177
  };
178
178
  </script>
179
179
 
@@ -206,12 +206,12 @@ export default {
206
206
 
207
207
  .multiselect__custom-tag {
208
208
  display: flex;
209
- align-items: center;
210
209
  flex-wrap: nowrap;
211
- max-width: 100%;
210
+ align-items: center;
211
+ gap: var(--spacing-xs);
212
212
  margin: 0 var(--spacing-xs) calc(var(--spacing-xs) - 1px) 0; // border bottom
213
+ max-width: 100%;
213
214
  word-break: break-all;
214
- gap: var(--spacing-xs);
215
215
  }
216
216
  }
217
217
 
@@ -184,9 +184,9 @@ export default {
184
184
 
185
185
  &--autoresize {
186
186
  .wt-textarea__textarea {
187
+ transition: none;
187
188
  min-height: auto;
188
189
  max-height: 100%;
189
- transition: none;
190
190
  }
191
191
 
192
192
  .wt-textarea__wrapper {
@@ -205,17 +205,17 @@ export default {
205
205
  @include wt-placeholder;
206
206
 
207
207
  display: block;
208
- box-sizing: border-box;
209
- width: 100%;
210
- min-height: var(--textarea-min-height);
211
- padding: var(--textarea-padding);
212
- resize: none;
213
208
  transition: var(--transition);
214
- color: var(--wt-text-field-text-color);
209
+ box-sizing: border-box;
215
210
  border: var(--input-border);
216
211
  border-color: var(--wt-text-field-input-border-color);
217
212
  border-radius: var(--border-radius);
218
213
  background: transparent;
214
+ padding: var(--textarea-padding);
215
+ width: 100%;
216
+ min-height: var(--textarea-min-height);
217
+ resize: none;
218
+ color: var(--wt-text-field-text-color);
219
219
 
220
220
  .wt-textarea--disabled & {
221
221
  @include wt-placeholder('disabled');
@@ -226,20 +226,20 @@ export default {
226
226
 
227
227
  .wt-textarea--invalid &,
228
228
  .wt-textarea--invalid:hover & {
229
- color: var(--wt-text-field-error-text-color);
230
- border-color: var(--wt-text-field-input-border-error-color);
231
229
  outline: none; // prevent outline overlapping false color
230
+ border-color: var(--wt-text-field-input-border-error-color);
231
+ color: var(--wt-text-field-error-text-color);
232
232
  @include wt-placeholder('error');
233
233
  }
234
234
  }
235
235
 
236
236
  .wt-textarea__after-wrapper {
237
+ display: flex;
237
238
  position: absolute;
238
239
  top: var(--input-icon-margin);
239
240
  right: var(--input-icon-margin);
240
- display: flex;
241
241
  align-items: center;
242
- pointer-events: auto; // override --disabled p-events none
243
242
  gap: var(--input-after-wrapper-gap);
243
+ pointer-events: auto; // override --disabled p-events none
244
244
  }
245
245
  </style>
@@ -131,22 +131,22 @@ export default {
131
131
  @extend %typo-body-1;
132
132
 
133
133
  display: block;
134
- box-sizing: border-box;
135
- width: 100%;
136
- padding: var(--input-padding);
137
134
  transition: var(--transition);
138
- color: var(--wt-text-field-text-color);
135
+ box-sizing: border-box;
139
136
  border: var(--input-border);
140
137
  border-color: var(--wt-text-field-input-border-color);
141
138
  border-radius: var(--border-radius);
142
139
  background: transparent;
140
+ padding: var(--input-padding);
141
+ width: 100%;
142
+ color: var(--wt-text-field-text-color);
143
143
  }
144
144
 
145
145
  &.wt-time-input--invalid .wt-time-input__input,
146
146
  &.wt-time-input--invalid:hover .wt-time-input__input {
147
- color: var(--wt-text-field-error-text-color);
148
- border-color: var(--wt-text-field-input-border-error-color);
149
147
  outline: none; // prevent outline overlapping false color
148
+ border-color: var(--wt-text-field-input-border-error-color);
149
+ color: var(--wt-text-field-error-text-color);
150
150
  @include wt-placeholder('error');
151
151
  }
152
152
 
@@ -256,8 +256,8 @@ export default {
256
256
  }
257
257
 
258
258
  .wt-time-input {
259
- width: var(--timepicker-input-width);
260
259
  margin-right: var(--timepicker-input-margin);
260
+ width: var(--timepicker-input-width);
261
261
 
262
262
  &:last-child {
263
263
  margin-right: 0;
@@ -178,15 +178,15 @@ onBeforeUnmount(() => {
178
178
 
179
179
  .wt-tooltip-floating {
180
180
  @extend %typo-body-2;
181
- z-index: 1000;
182
181
  display: flex;
183
182
  flex-direction: column;
184
183
  gap: var(--spacing-xs);
185
- padding: var(--spacing-2xs) var(--spacing-xs);
186
- color: var(--wt-tooltip-text-color);
184
+ z-index: 1000;
185
+ box-shadow: var(--elevation-10);
187
186
  border-radius: var(--border-radius);
188
187
  background: var(--wt-tooltip-background-color);
189
- box-shadow: var(--elevation-10);
188
+ padding: var(--spacing-2xs) var(--spacing-xs);
189
+ color: var(--wt-tooltip-text-color);
190
190
  }
191
191
  }
192
192
  </style>
@@ -1,4 +1,4 @@
1
1
  export const WtTreeMode = {
2
- Tree: 'tree',
3
- List: 'list',
2
+ Tree: 'tree',
3
+ List: 'list',
4
4
  };
@@ -126,9 +126,9 @@ const compareSelectElement = (item: any) => {
126
126
  @use '@webitel/styleguide/scroll' as *;
127
127
 
128
128
  .wt-tree {
129
- padding: var(--spacing-sm);
130
- background: var(--content-wrapper-color);
131
129
  border-radius: var(--border-radius);
130
+ background: var(--content-wrapper-color);
131
+ padding: var(--spacing-sm);
132
132
  overflow: auto;
133
133
 
134
134
  &__content {
@@ -136,9 +136,9 @@ const compareSelectElement = (item: any) => {
136
136
 
137
137
  display: flex;
138
138
  flex-direction: column;
139
- overflow: auto;
140
- height: 100%;
141
139
  padding-right: var(--spacing-2xs);
140
+ height: 100%;
141
+ overflow: auto;
142
142
  }
143
143
 
144
144
  &__list-content {
@@ -146,21 +146,21 @@ const compareSelectElement = (item: any) => {
146
146
 
147
147
  display: flex;
148
148
  flex-direction: column;
149
- padding-right: var(--spacing-2xs);
150
- gap: var(--spacing-xs);
151
- overflow: auto;
152
149
  align-items: flex-start;
150
+ gap: var(--spacing-xs);
151
+ padding-right: var(--spacing-2xs);
153
152
  height: 100%;
153
+ overflow: auto;
154
154
  }
155
155
 
156
156
  &__label-wrapper {
157
157
  display: flex;
158
158
  align-items: center;
159
+ transition: var(--transition);
159
160
  cursor: pointer;
160
- padding: 0 var(--spacing-2xs);
161
161
  border-radius: var(--border-radius);
162
+ padding: 0 var(--spacing-2xs);
162
163
  color: var(--wt-tree-item-on);
163
- transition: var(--transition);
164
164
 
165
165
  &:hover {
166
166
  background: var(--wt-tree-item-hover);
@@ -1,4 +1,3 @@
1
-
2
1
  :root {
3
2
  --wt-tree-item-active: var(--primary-light-color);
4
3
  --wt-tree-item-active-on: var(--grey-darken-4);
@@ -1,4 +1,4 @@
1
1
  export interface WtTreeNestedIcons {
2
- icon: string;
3
- hidden: boolean;
4
- }
2
+ icon: string;
3
+ hidden: boolean;
4
+ }
@@ -240,11 +240,11 @@ watch(
240
240
  &__label-wrapper {
241
241
  display: flex;
242
242
  align-items: center;
243
+ transition: var(--transition);
243
244
  cursor: pointer;
244
- padding: 0 var(--spacing-2xs);
245
245
  border-radius: var(--border-radius);
246
+ padding: 0 var(--spacing-2xs);
246
247
  color: var(--wt-tree-item-on);
247
- transition: var(--transition);
248
248
 
249
249
  &:hover {
250
250
  background: var(--wt-tree-item-hover);
@@ -281,8 +281,8 @@ const handleSelection = (row, select) => {
281
281
  }
282
282
 
283
283
  .wt-tree-table-wrapper {
284
- width: 100%;
285
284
  border-collapse: collapse;
285
+ width: 100%;
286
286
 
287
287
  .wt-tree-table-tr-wrapper {
288
288
  background: var(--wt-tree-table-primary-color);
@@ -296,16 +296,16 @@ const handleSelection = (row, select) => {
296
296
  .wt-tree-table-th,
297
297
  .wt-tree-table-td {
298
298
  @extend %typo-body-1;
299
+ padding: var(--spacing-xs);
299
300
  height: fit-content;
300
301
  min-height: var(--wt-tree-table-min-height);
301
- padding: var(--spacing-xs);
302
302
  word-break: break-all;
303
303
  overflow-wrap: break-word;
304
304
 
305
305
  &__actions {
306
306
  display: flex;
307
- align-items: flex-start;
308
307
  justify-content: flex-end;
308
+ align-items: flex-start;
309
309
  gap: var(--spacing-xs);
310
310
  }
311
311
 
@@ -203,9 +203,9 @@ onMounted(() => {
203
203
 
204
204
  .wt-tree-table-td {
205
205
  @extend %typo-body-1;
206
+ padding: var(--spacing-xs);
206
207
  height: fit-content;
207
208
  min-height: var(--wt-tree-table-min-height);
208
- padding: var(--spacing-xs);
209
209
  word-break: break-all;
210
210
  overflow-wrap: break-word;
211
211
 
@@ -4,7 +4,8 @@ import { useRoute } from 'vue-router';
4
4
  import { _wtUiLog } from '../../../scripts/logger';
5
5
  import type {
6
6
  CreateUserAccessControlComposableParams,
7
- UseAccessControlReturn, UseUserAccessControlComposableOptions,
7
+ UseAccessControlReturn,
8
+ UseUserAccessControlComposableOptions,
8
9
  } from './types/CreateUserAccessControl';
9
10
 
10
11
  export const createUserAccessControlComposable = (
@@ -13,8 +14,9 @@ export const createUserAccessControlComposable = (
13
14
  const useUserAccessControl = (
14
15
  options?: UseUserAccessControlComposableOptions,
15
16
  ): UseAccessControlReturn => {
16
- const resource = typeof options === 'string' ? options: options?.resource;
17
- const useUpdateAccessAsAllMutableChecksSource = options?.useUpdateAccessAsAllMutableChecksSource;
17
+ const resource = typeof options === 'string' ? options : options?.resource;
18
+ const useUpdateAccessAsAllMutableChecksSource =
19
+ options?.useUpdateAccessAsAllMutableChecksSource;
18
20
 
19
21
  const route = useRoute();
20
22
  const object = resource || route?.meta?.WtObject;
@@ -55,7 +57,8 @@ export const createUserAccessControlComposable = (
55
57
  });
56
58
 
57
59
  const disableUserInput = computed(() => {
58
- if (useUpdateAccessAsAllMutableChecksSource) return !hasUpdateAccess.value;
60
+ if (useUpdateAccessAsAllMutableChecksSource)
61
+ return !hasUpdateAccess.value;
59
62
 
60
63
  if (route.params.id === 'new') return !hasCreateAccess.value;
61
64
  return !hasUpdateAccess.value;
@@ -6,10 +6,12 @@ import type { createUserAccessStore } from '../../../../modules/Userinfo/v2/stor
6
6
  export type CreateUserAccessControlComposableParams =
7
7
  ReturnType<createUserAccessStore>;
8
8
 
9
- export type UseUserAccessControlComposableOptions = WtObject | {
10
- resource?: WtObject;
11
- useUpdateAccessAsAllMutableChecksSource?: boolean;
12
- };
9
+ export type UseUserAccessControlComposableOptions =
10
+ | WtObject
11
+ | {
12
+ resource?: WtObject;
13
+ useUpdateAccessAsAllMutableChecksSource?: boolean;
14
+ };
13
15
 
14
16
  export interface UseAccessControlReturn {
15
17
  hasReadAccess: Ref<boolean>;
@@ -1,23 +1,24 @@
1
1
  import { computed } from 'vue';
2
2
  import { useI18n } from 'vue-i18n';
3
3
  export const useWtTable = ({ headers }) => {
4
- const { t } = useI18n();
5
- const tableHeaders = computed(() => {
6
- return headers
7
- .filter((header) => header.show === undefined || header.show)
8
- .map((header) => {
9
- if (!header.text && header.locale) {
10
- return {
11
- ...header,
12
- text: typeof header.locale === 'string'
13
- ? t(header.locale)
14
- : t(...header.locale),
15
- };
16
- }
17
- return header;
18
- });
19
- });
20
- return {
21
- tableHeaders,
22
- };
4
+ const { t } = useI18n();
5
+ const tableHeaders = computed(() => {
6
+ return headers
7
+ .filter((header) => header.show === undefined || header.show)
8
+ .map((header) => {
9
+ if (!header.text && header.locale) {
10
+ return {
11
+ ...header,
12
+ text:
13
+ typeof header.locale === 'string'
14
+ ? t(header.locale)
15
+ : t(...header.locale),
16
+ };
17
+ }
18
+ return header;
19
+ });
20
+ });
21
+ return {
22
+ tableHeaders,
23
+ };
23
24
  };
package/src/css/main.scss CHANGED
@@ -21,10 +21,10 @@ html {
21
21
 
22
22
  body {
23
23
  @extend %typo-body-1;
24
+ margin: 0;
24
25
 
25
26
  height: 100%;
26
27
  min-height: 100%;
27
- margin: 0;
28
28
  }
29
29
 
30
30
  * {
@@ -56,26 +56,26 @@ ul {
56
56
  }
57
57
 
58
58
  iframe {
59
- border: none;
60
59
  outline: none;
60
+ border: none;
61
61
  }
62
62
 
63
63
  button {
64
- padding: 0;
65
64
  cursor: pointer;
66
- border: none;
67
65
  outline-color: #000;
66
+ border: none;
68
67
  background: transparent;
68
+ padding: 0;
69
69
  }
70
70
 
71
71
  a {
72
- text-decoration: none;
73
72
  color: #000;
73
+ text-decoration: none;
74
74
  }
75
75
 
76
76
  .hidden {
77
- pointer-events: none;
78
77
  opacity: 0;
78
+ pointer-events: none;
79
79
  }
80
80
 
81
81
  // https://github.com/Akryum/floating-vue/issues/488
@@ -10,25 +10,25 @@
10
10
 
11
11
  &-tabs {
12
12
  display: flex;
13
- flex-direction: column;
14
13
  flex-grow: 1;
14
+ flex-direction: column;
15
15
  gap: var(--spacing-sm);
16
16
 
17
17
  &__tab {
18
18
  display: flex;
19
- flex-direction: column;
20
19
  flex-grow: 1;
21
- min-height: 0;
20
+ flex-direction: column;
22
21
  gap: var(--spacing-sm);
22
+ min-height: 0;
23
23
  }
24
24
  }
25
25
 
26
26
  &-header {
27
- position: relative;
28
27
  display: flex;
29
- align-items: center;
28
+ position: relative;
30
29
  flex-wrap: wrap;
31
30
  justify-content: space-between;
31
+ align-items: center;
32
32
  margin: var(--spacing-sm) 0;
33
33
 
34
34
  &__title {
@@ -48,9 +48,9 @@
48
48
 
49
49
  &-input-grid {
50
50
  display: grid;
51
- align-items: flex-start;
52
51
  grid-template-columns: 1fr 1fr;
53
52
  grid-auto-rows: minmax(auto, auto);
53
+ align-items: flex-start;
54
54
  grid-column-gap: var(--spacing-sm);
55
55
  grid-row-gap: var(--spacing-sm);
56
56
 
@@ -27,14 +27,14 @@
27
27
  flex: 1 1 100%;
28
28
  flex-direction: column;
29
29
  justify-content: space-between;
30
+ gap: var(--spacing-sm);
30
31
  width: 100%;
31
32
  min-height: 0;
32
- gap: var(--spacing-sm);
33
33
 
34
34
  .wt-table__head {
35
35
  position: sticky;
36
- z-index: 1;
37
36
  top: 0;
37
+ z-index: 1;
38
38
  }
39
39
 
40
40
  .wt-pagination {
@@ -43,8 +43,8 @@
43
43
  }
44
44
 
45
45
  &__visible-scroll-wrapper {
46
- overflow: visible;
47
46
  height: 100%;
47
+ overflow: visible;
48
48
 
49
49
  .wt-table {
50
50
  overflow: visible;
@@ -53,11 +53,11 @@
53
53
  }
54
54
 
55
55
  .table-title {
56
- position: relative;
57
56
  display: flex;
58
- align-items: center;
57
+ position: relative;
59
58
  flex-wrap: wrap;
60
59
  justify-content: space-between;
60
+ align-items: center;
61
61
  margin: var(--spacing-sm) 0;
62
62
 
63
63
  &__title {
@@ -1,11 +1,11 @@
1
1
  export const ComponentSize = {
2
- XXXS: '3xs',
3
- XXS: '2xs',
4
- XS: 'xs',
5
- SM: 'sm',
6
- MD: 'md',
7
- LG: 'lg',
8
- XL: 'xl',
9
- XXL: '2xl',
10
- XXXL: '3xl',
2
+ XXXS: '3xs',
3
+ XXS: '2xs',
4
+ XS: 'xs',
5
+ SM: 'sm',
6
+ MD: 'md',
7
+ LG: 'lg',
8
+ XL: 'xl',
9
+ XXL: '2xl',
10
+ XXXL: '3xl',
11
11
  };
@@ -1,6 +1,6 @@
1
1
  export const CrudAction = {
2
- Read: 'read',
3
- Create: 'create',
4
- Update: 'update',
5
- Delete: 'delete',
2
+ Read: 'read',
3
+ Create: 'create',
4
+ Update: 'update',
5
+ Delete: 'delete',
6
6
  };
@@ -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
  };