@webitel/ui-sdk 24.12.28 → 24.12.33

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 (297) hide show
  1. package/CHANGELOG.md +270 -130
  2. package/README.md +6 -0
  3. package/dist/img/sprite/index.js +10 -2
  4. package/dist/img/sprite/stop-sign.svg +4 -0
  5. package/dist/img/sprite/tree-collapse.svg +4 -0
  6. package/dist/img/sprite/tree-cross.svg +5 -0
  7. package/dist/img/sprite/tree-line.svg +10 -0
  8. package/dist/ui-sdk.css +1 -1
  9. package/dist/ui-sdk.js +7737 -7440
  10. package/dist/ui-sdk.umd.cjs +17 -17
  11. package/package.json +13 -6
  12. package/src/api/axios/generateInstance.js +6 -2
  13. package/src/api/clients/agents/agentChats.js +18 -19
  14. package/src/api/clients/agents/agents.js +29 -7
  15. package/src/api/clients/buckets/buckets.js +16 -3
  16. package/src/api/clients/calendars/calendars.js +21 -3
  17. package/src/api/clients/catalog/catalog.js +1 -3
  18. package/src/api/clients/chatGateways/chatGateways.js +41 -12
  19. package/src/api/clients/communications/communications.js +25 -6
  20. package/src/api/clients/configurations/configurations.js +13 -3
  21. package/src/api/clients/flows/flow.js +20 -9
  22. package/src/api/clients/gateways/gateways.js +12 -3
  23. package/src/api/clients/lists/blacklists.js +16 -3
  24. package/src/api/clients/media/media.js +16 -3
  25. package/src/api/clients/queues/queues.js +16 -6
  26. package/src/api/clients/roles/roles.js +3 -1
  27. package/src/api/clients/skills/skills.js +16 -3
  28. package/src/api/clients/teams/teams.js +17 -7
  29. package/src/api/clients/users/__tests__/users.spec.js +3 -1
  30. package/src/api/clients/users/users.js +8 -2
  31. package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +21 -13
  32. package/src/api/clients//321/201ontacts/contacts.js +38 -15
  33. package/src/api/history/transcript/callTranscript.js +10 -2
  34. package/src/api/interceptors/request/updateToken.interceptor.js +2 -1
  35. package/src/api/transformers/applyTransform.js +5 -1
  36. package/src/api/transformers/camelToSnake/camelToSnake.transformer.js +2 -1
  37. package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.js +2 -1
  38. package/src/assets/icons/sprite/index.js +10 -2
  39. package/src/assets/icons/sprite/stop-sign.svg +4 -0
  40. package/src/assets/icons/sprite/tree-collapse.svg +4 -0
  41. package/src/assets/icons/sprite/tree-cross.svg +5 -0
  42. package/src/assets/icons/sprite/tree-line.svg +10 -0
  43. package/src/components/index.js +8 -12
  44. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +4 -2
  45. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +3 -4
  46. package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +6 -6
  47. package/src/components/on-demand/wt-route-transition/wt-route-transition.vue +12 -12
  48. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -3
  49. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
  50. package/src/components/on-demand/wt-start-page/components/start-page-card.vue +4 -2
  51. package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
  52. package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -3
  53. package/src/components/on-demand/wt-table-transition/wt-table-transition.vue +7 -7
  54. package/src/components/wt-action-bar/wt-action-bar.vue +16 -12
  55. package/src/components/wt-app-header/__tests__/WtHeaderActions.spec.js +3 -1
  56. package/src/components/wt-app-header/_variables.scss +0 -1
  57. package/src/components/wt-app-header/wt-app-header.vue +4 -4
  58. package/src/components/wt-app-header/wt-app-navigator.vue +6 -7
  59. package/src/components/wt-app-header/wt-header-actions.vue +6 -8
  60. package/src/components/wt-avatar/wt-avatar.vue +4 -3
  61. package/src/components/wt-badge/wt-badge.vue +1 -2
  62. package/src/components/wt-button/wt-button.vue +3 -5
  63. package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +6 -2
  64. package/src/components/wt-button-select/wt-button-select.vue +3 -4
  65. package/src/components/wt-checkbox/_variables.scss +1 -2
  66. package/src/components/wt-checkbox/wt-checkbox.vue +1 -2
  67. package/src/components/wt-chip/_variables.scss +0 -1
  68. package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +15 -5
  69. package/src/components/wt-context-menu/_variables.scss +3 -1
  70. package/src/components/wt-context-menu/wt-context-menu.vue +1 -3
  71. package/src/components/wt-copy-action/wt-copy-action.vue +1 -2
  72. package/src/components/wt-datepicker/_variables.scss +17 -5
  73. package/src/components/wt-datepicker/wt-datepicker.vue +2 -7
  74. package/src/components/wt-divider/_variables.scss +0 -1
  75. package/src/components/wt-divider/wt-divider.vue +5 -3
  76. package/src/components/wt-dual-panel/__tests__/WtDualPanel.js +2 -2
  77. package/src/components/wt-dual-panel/wt-dual-panel.vue +6 -5
  78. package/src/components/wt-dummy/_variables.scss +0 -1
  79. package/src/components/wt-dummy/wt-dummy.vue +1 -1
  80. package/src/components/wt-empty/wt-empty.vue +42 -34
  81. package/src/components/wt-error-page/_variables.scss +0 -1
  82. package/src/components/wt-error-page/wt-error-page.vue +2 -4
  83. package/src/components/wt-expansion-panel/_variables.scss +0 -1
  84. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +3 -8
  85. package/src/components/wt-filters-panel-wrapper/__tests__/WtFiltersPanelWrapper.spec.js +12 -4
  86. package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +8 -7
  87. package/src/components/wt-headline/_variables.scss +0 -1
  88. package/src/components/wt-headline-nav/_variables.scss +0 -1
  89. package/src/components/wt-headline-nav/wt-headline-nav.vue +2 -1
  90. package/src/components/wt-hint/wt-hint.vue +1 -3
  91. package/src/components/wt-icon/_variables.scss +0 -1
  92. package/src/components/wt-icon-action/wt-icon-action.vue +13 -12
  93. package/src/components/wt-icon-btn/_variables.scss +0 -2
  94. package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -6
  95. package/src/components/wt-image/wt-image.vue +14 -13
  96. package/src/components/wt-indicator/wt-indicator.vue +2 -7
  97. package/src/components/wt-input/_variables.scss +1 -2
  98. package/src/components/wt-input/wt-input.vue +13 -10
  99. package/src/components/wt-input-info/_variables.scss +0 -1
  100. package/src/components/wt-intersection-observer/__tests__/WtIntersectionObserver.spec.js +1 -1
  101. package/src/components/wt-intersection-observer/wt-intersection-observer.vue +9 -8
  102. package/src/components/wt-item-link/_variables.scss +0 -1
  103. package/src/components/wt-label/_variables.scss +0 -1
  104. package/src/components/wt-label/wt-label.vue +1 -4
  105. package/src/components/wt-load-bar/_variables.scss +0 -1
  106. package/src/components/wt-load-bar/wt-load-bar.vue +0 -1
  107. package/src/components/wt-loader/_variables.scss +0 -2
  108. package/src/components/wt-loader/wt-loader.vue +1 -3
  109. package/src/components/wt-logo/wt-logo.vue +1 -1
  110. package/src/components/wt-navigation-bar/__tests__/WtNavigationBar.spec.js +9 -3
  111. package/src/components/wt-navigation-bar/_variables.scss +9 -3
  112. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +27 -11
  113. package/src/components/wt-notification/_variables.scss +0 -1
  114. package/src/components/wt-notifications-bar/__tests__/WtNotificationsBar.spec.js +1 -1
  115. package/src/components/wt-notifications-bar/_variables.scss +1 -2
  116. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +4 -2
  117. package/src/components/wt-page-header/wt-page-header.vue +3 -2
  118. package/src/components/wt-page-wrapper/__tests__/WtPageWrapper.spec.js +3 -1
  119. package/src/components/wt-page-wrapper/_variables.scss +0 -1
  120. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +0 -2
  121. package/src/components/wt-pagination/_variables.scss +1 -2
  122. package/src/components/wt-pagination/wt-pagination.vue +2 -1
  123. package/src/components/wt-player/_variables.scss +6 -2
  124. package/src/components/wt-player/wt-player.vue +52 -53
  125. package/src/components/wt-popup/_variables.scss +0 -1
  126. package/src/components/wt-popup/wt-popup.vue +2 -8
  127. package/src/components/wt-progress-bar/_variables.scss +0 -1
  128. package/src/components/wt-progress-bar/wt-progress-bar.vue +7 -6
  129. package/src/components/wt-radio/_variables.scss +1 -2
  130. package/src/components/wt-radio/wt-radio.vue +1 -2
  131. package/src/components/wt-rounded-action/_variables.scss +3 -1
  132. package/src/components/wt-search-bar/_variables.scss +4 -2
  133. package/src/components/wt-search-bar/wt-search-bar.vue +10 -4
  134. package/src/components/wt-select/_multiselect.scss +9 -15
  135. package/src/components/wt-select/_variables.scss +3 -2
  136. package/src/components/wt-select/mixins/multiselectMixin.js +2 -1
  137. package/src/components/wt-select/wt-select.vue +25 -26
  138. package/src/components/wt-slider/_variables.scss +0 -1
  139. package/src/components/wt-slider/wt-slider.vue +3 -3
  140. package/src/components/wt-status-select/_variables.scss +8 -4
  141. package/src/components/wt-stepper/_variables.scss +0 -1
  142. package/src/components/wt-stepper/wt-stepper.vue +5 -5
  143. package/src/components/wt-switcher/_variables.scss +0 -1
  144. package/src/components/wt-switcher/wt-switcher.vue +2 -3
  145. package/src/components/wt-table/__tests__/WtTable.spec.js +8 -2
  146. package/src/components/wt-table/_variables.scss +0 -1
  147. package/src/components/wt-table/types/table-header.ts +8 -0
  148. package/src/components/wt-table/wt-table.vue +111 -109
  149. package/src/components/wt-table-actions/_variables.scss +1 -2
  150. package/src/components/wt-table-actions/wt-table-actions.vue +1 -2
  151. package/src/components/wt-table-column-select/wt-table-column-select.vue +11 -8
  152. package/src/components/wt-tabs/_variables.scss +0 -1
  153. package/src/components/wt-tabs/wt-tabs.vue +6 -6
  154. package/src/components/wt-tags-input/__tests__/WtTagsInput.spec.js +6 -6
  155. package/src/components/wt-tags-input/mixin/taggableMixin.js +3 -1
  156. package/src/components/wt-tags-input/wt-tags-input.vue +8 -10
  157. package/src/components/wt-textarea/__tests__/WtTextarea.spec.js +6 -2
  158. package/src/components/wt-textarea/_variables.scss +0 -1
  159. package/src/components/wt-textarea/wt-textarea.vue +6 -7
  160. package/src/components/wt-time-input/wt-time-input.vue +1 -2
  161. package/src/components/wt-timepicker/_variables.scss +1 -2
  162. package/src/components/wt-timepicker/wt-timepicker.vue +10 -8
  163. package/src/components/wt-tooltip/_internals/useTooltipTriggerSubscriptions.js +6 -1
  164. package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +1 -3
  165. package/src/components/wt-tooltip/_variables.scss +0 -1
  166. package/src/components/wt-tooltip/wt-tooltip.vue +13 -2
  167. package/src/components/wt-tree-table/_variables.scss +19 -0
  168. package/src/components/wt-tree-table/wt-tree-table.vue +323 -0
  169. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +171 -0
  170. package/src/composables/useAccessControl/useAccessControl.js +12 -4
  171. package/src/composables/useCachedInterval/useCachedInterval.js +6 -2
  172. package/src/composables/useCachedItemInstanceName/useCachedItemInstanceName.js +4 -1
  173. package/src/composables/useCard/useCardComponent.js +10 -9
  174. package/src/composables/useCard/useCardTabs.js +6 -3
  175. package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +20 -10
  176. package/src/composables/useValidate/useValidate.js +1 -1
  177. package/src/composables/useWtTable/useWtTable.ts +25 -0
  178. package/src/css/main.scss +7 -1
  179. package/src/css/pages/table-page.scss +1 -2
  180. package/src/css/styleguide/border-radius/_border-radius.scss +1 -1
  181. package/src/css/styleguide/colors/_deprecated.scss +83 -24
  182. package/src/css/styleguide/colors/_palette.scss +1340 -251
  183. package/src/css/styleguide/colors/reusable/_text-field.scss +6 -2
  184. package/src/css/styleguide/fonts/_fonts.scss +36 -18
  185. package/src/css/styleguide/spacings/_spacings.scss +1 -1
  186. package/src/css/styleguide/transitions/_transitions.scss +1 -1
  187. package/src/css/styleguide/transitions/fade/_fade.scss +5 -4
  188. package/src/css/styleguide/viewport-breakpoints/_viewport-breakpoints.scss +0 -1
  189. package/src/enums/WebitelApplications/WebitelApplications.enum.js +7 -7
  190. package/src/enums/index.js +5 -10
  191. package/src/locale/en/en.js +4 -2
  192. package/src/locale/ru/ru.js +6 -3
  193. package/src/locale/ua/ua.js +6 -3
  194. package/src/mixins/dataFilterMixins/__tests__/apiFilterMixin.spec.js +2 -1
  195. package/src/mixins/dataFilterMixins/apiFilterMixin.js +3 -1
  196. package/src/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.js +2 -1
  197. package/src/mixins/dataFilterMixins/enumFilterMixin.js +2 -1
  198. package/src/mixins/dataFilterMixins/paginationFilterMixin.js +4 -1
  199. package/src/mixins/dataFilterMixins/sortFilterMixin.js +2 -1
  200. package/src/mixins/validationMixin/useValidation.js +17 -7
  201. package/src/mixins/validationMixin/validationMixin.js +16 -8
  202. package/src/modules/AgentStatusSelect/api/pause-cause.js +4 -1
  203. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +18 -6
  204. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +3 -2
  205. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +5 -2
  206. package/src/modules/Appearance/components/__tests__/wt-dark-mode-switcher.spec.js +6 -2
  207. package/src/modules/AuditForm/components/__tests__/audit-form-question-write-wrapper.spec.js +12 -4
  208. package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +18 -5
  209. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +4 -2
  210. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +15 -5
  211. package/src/modules/AuditForm/components/audit-form-question.vue +10 -4
  212. package/src/modules/AuditForm/components/audit-form.vue +24 -7
  213. package/src/modules/AuditForm/components/questions/options/__tests__/audit-form-question-options.spec.js +6 -2
  214. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +5 -5
  215. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +9 -4
  216. package/src/modules/CSVExport/CSVExport.js +5 -2
  217. package/src/modules/CSVExport/XLSExport.js +7 -7
  218. package/src/modules/CSVExport/__tests__/CSVExport.spec.js +4 -1
  219. package/src/modules/CSVExport/mixins/exportCSVMixin.js +3 -1
  220. package/src/modules/CSVExport/mixins/exportXLSMixin.js +3 -1
  221. package/src/modules/CardStoreModule/composables/useCardStore.js +6 -2
  222. package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +3 -3
  223. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +6 -3
  224. package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -2
  225. package/src/modules/FilesExport/mixins/exportFilesMixin.js +6 -2
  226. package/src/modules/FilesExport/scripts/generateMediaURL.js +2 -1
  227. package/src/modules/Filters/classes/BaseFilterSchema.js +15 -6
  228. package/src/modules/Filters/components/filter-datetime.vue +7 -5
  229. package/src/modules/Filters/components/filter-pagination.vue +7 -5
  230. package/src/modules/Filters/components/filter-search.vue +4 -4
  231. package/src/modules/Filters/components/filter-select.vue +33 -24
  232. package/src/modules/Filters/components/filter-table-fields.vue +1 -3
  233. package/src/modules/Filters/composables/useTableFilters.js +3 -1
  234. package/src/modules/Filters/scripts/getters/localStorageGetter.js +6 -2
  235. package/src/modules/Filters/scripts/getters/queryGetter.js +2 -1
  236. package/src/modules/Filters/scripts/setters/localStorageSetter.js +6 -2
  237. package/src/modules/Filters/scripts/setters/querySetter.js +2 -1
  238. package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -1
  239. package/src/modules/Filters/store/FiltersStoreModule.js +3 -3
  240. package/src/modules/Notifications/store/NotificationsStoreModule.js +14 -5
  241. package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +10 -3
  242. package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -3
  243. package/src/modules/ObjectPermissions/_internals/components/permissions-role-select.vue +1 -3
  244. package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +8 -5
  245. package/src/modules/ObjectPermissions/_internals/modules/filters/store/filters.store.js +3 -4
  246. package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +1 -2
  247. package/src/modules/ObjectPermissions/_internals/store/modules/objectPermissionsStoreModule.js +10 -14
  248. package/src/modules/ObjectPermissions/components/permissions-tab.vue +12 -12
  249. package/src/modules/ObjectPermissions/store/index.js +2 -6
  250. package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +3 -1
  251. package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +6 -2
  252. package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +7 -2
  253. package/src/modules/QueryFilters/components/abstract-api-filter.vue +15 -5
  254. package/src/modules/QueryFilters/components/abstract-enum-filter.vue +15 -5
  255. package/src/modules/QueryFilters/components/filter-datetime.vue +1 -3
  256. package/src/modules/QueryFilters/components/filter-from-to.vue +1 -1
  257. package/src/modules/QueryFilters/components/filter-search.vue +1 -3
  258. package/src/modules/QueryFilters/components/filter-table-fields.vue +1 -3
  259. package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +4 -1
  260. package/src/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.js +9 -3
  261. package/src/modules/QueryFilters/mixins/enumFilterMixin.js +10 -3
  262. package/src/modules/QueryFilters/mixins/paginationFilterMixin.js +4 -2
  263. package/src/modules/QueryFilters/mixins/sortFilterMixin.js +2 -1
  264. package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +2 -1
  265. package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +10 -3
  266. package/src/modules/TableComponentModule/composables/useTableEmpty.js +13 -4
  267. package/src/modules/TableStoreModule/composables/useTableStore.js +18 -6
  268. package/src/modules/TableStoreModule/store/TableStoreModule.js +36 -21
  269. package/src/modules/TableStoreModule/store/__tests__/TableStoreModule.spec.js +7 -2
  270. package/src/modules/Userinfo/api/userinfo.js +4 -1
  271. package/src/modules/Userinfo/classes/ApplicationsAccess.js +3 -1
  272. package/src/modules/Userinfo/store/UserinfoStoreModule.js +25 -9
  273. package/src/plugins/breakpoint/breakpoint.plugin.js +2 -1
  274. package/src/scripts/__tests__/caseConverters.spec.js +4 -1
  275. package/src/scripts/__tests__/updateObject.spec.js +6 -2
  276. package/src/scripts/caseConverters.js +37 -29
  277. package/src/scripts/compareSize.ts +9 -6
  278. package/src/scripts/debounce.js +2 -1
  279. package/src/scripts/index.js +2 -8
  280. package/src/scripts/logger.js +4 -4
  281. package/src/scripts/preventHiddenPageCallsDecorator.js +6 -2
  282. package/src/scripts/saveAsJSON.js +3 -1
  283. package/src/scripts/sortQueryAdapters.js +11 -0
  284. package/src/store/BaseStoreModules/ApiStoreModule.js +26 -7
  285. package/src/store/BaseStoreModules/BaseStoreModule.js +2 -1
  286. package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +28 -7
  287. package/src/store/helpers/getNamespacedState.js +3 -1
  288. package/src/store/new/modules/apiStoreModule/apiStoreModule.js +19 -14
  289. package/src/store/new/modules/cardStoreModule/useCardStore.js +6 -2
  290. package/src/store/new/modules/tableStoreModule/__tests__/tableStoreModule.spec.js +6 -8
  291. package/src/store/new/modules/tableStoreModule/tableStoreModule.js +31 -28
  292. package/src/store/new/modules/tableStoreModule/useTableStore.js +18 -6
  293. package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +2 -1
  294. package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +3 -1
  295. package/src/components/wt-table/_internals/getSortOrder.js +0 -12
  296. /package/dist/img/sprite/{plus.svg → tree-expand.svg} +0 -0
  297. /package/src/assets/icons/sprite/{plus.svg → tree-expand.svg} +0 -0
@@ -16,7 +16,11 @@ import applyTransform, {
16
16
  const instance = getDefaultInstance();
17
17
  const configuration = getDefaultOpenAPIConfig();
18
18
 
19
- const mediaService = new MediaFileServiceApiFactory(configuration, '', instance);
19
+ const mediaService = new MediaFileServiceApiFactory(
20
+ configuration,
21
+ '',
22
+ instance,
23
+ );
20
24
 
21
25
  const token = localStorage.getItem('access-token');
22
26
  const baseUrl = import.meta.env.VITE_API_URL;
@@ -28,7 +32,14 @@ const getMediaList = async (params) => {
28
32
  ]);
29
33
 
30
34
  try {
31
- const response = await mediaService.searchMediaFile(page, size, search, sort, fields, id);
35
+ const response = await mediaService.searchMediaFile(
36
+ page,
37
+ size,
38
+ search,
39
+ sort,
40
+ fields,
41
+ id,
42
+ );
32
43
  const { items, next } = applyTransform(response.data, [
33
44
  snakeToCamel(),
34
45
  merge(getDefaultGetListResponse()),
@@ -73,7 +84,9 @@ const addMedia = async (params) => {
73
84
  formData.append('file', params.itemInstance);
74
85
  try {
75
86
  const response = await addMediaInstance.post(url, formData);
76
- applyTransform(response, [notify(() => ({ type: 'success', text: 'Successfully added' }))]);
87
+ applyTransform(response, [
88
+ notify(() => ({ type: 'success', text: 'Successfully added' })),
89
+ ]);
77
90
  return response;
78
91
  } catch (err) {
79
92
  throw applyTransform(err, [notify]);
@@ -68,10 +68,11 @@ const getQueuesList = async (params) => {
68
68
  priority: '0',
69
69
  };
70
70
 
71
- const { page, size, search, sort, fields, id, queueType, team, tags } = applyTransform(params, [
72
- merge(getDefaultGetParams()),
73
- starToSearch('search'),
74
- ]);
71
+ const { page, size, search, sort, fields, id, queueType, team, tags } =
72
+ applyTransform(params, [
73
+ merge(getDefaultGetParams()),
74
+ starToSearch('search'),
75
+ ]);
75
76
 
76
77
  try {
77
78
  const response = await queueService.searchQueue(
@@ -168,7 +169,10 @@ const updateQueue = async ({ itemInstance, itemId: id }) => {
168
169
  };
169
170
 
170
171
  const patchQueue = async ({ id, changes }) => {
171
- const item = applyTransform(changes, [sanitize(fieldsToSend), camelToSnake(doNotConvertKeys)]);
172
+ const item = applyTransform(changes, [
173
+ sanitize(fieldsToSend),
174
+ camelToSnake(doNotConvertKeys),
175
+ ]);
172
176
  try {
173
177
  const response = await queueService.patchQueue(id, item);
174
178
  return applyTransform(response.data, [snakeToCamel(doNotConvertKeys)]);
@@ -199,7 +203,13 @@ const getQueuesTags = async (params) => {
199
203
  camelToSnake(doNotConvertKeys),
200
204
  ]);
201
205
  try {
202
- const response = await queueService.searchQueueTags(page, size, search, sort, fields);
206
+ const response = await queueService.searchQueueTags(
207
+ page,
208
+ size,
209
+ search,
210
+ sort,
211
+ fields,
212
+ );
203
213
  const { items, next } = applyTransform(response.data, [
204
214
  snakeToCamel(doNotConvertKeys),
205
215
  merge(getDefaultGetListResponse()),
@@ -62,7 +62,9 @@ const getRole = async ({ itemId: id }) => {
62
62
 
63
63
  const itemResponseHandler = (response) => {
64
64
  const copy = deepCopy(response);
65
- copy.metadata.access = new ApplicationsAccess({ access: copy.metadata.access }).getAccess();
65
+ copy.metadata.access = new ApplicationsAccess({
66
+ access: copy.metadata.access,
67
+ }).getAccess();
66
68
  return copy;
67
69
  };
68
70
 
@@ -26,7 +26,14 @@ const getSkillsList = async (params) => {
26
26
  ]);
27
27
 
28
28
  try {
29
- const response = await skillService.searchSkill(page, size, search, sort, fields, id);
29
+ const response = await skillService.searchSkill(
30
+ page,
31
+ size,
32
+ search,
33
+ sort,
34
+ fields,
35
+ id,
36
+ );
30
37
  const { items, next } = applyTransform(response.data, [
31
38
  snakeToCamel(),
32
39
  merge(getDefaultGetListResponse()),
@@ -52,7 +59,10 @@ const getSkill = async ({ itemId: id }) => {
52
59
  const fieldsToSend = ['name', 'description'];
53
60
 
54
61
  const addSkill = async ({ itemInstance }) => {
55
- const item = applyTransform(itemInstance, [sanitize(fieldsToSend), camelToSnake()]);
62
+ const item = applyTransform(itemInstance, [
63
+ sanitize(fieldsToSend),
64
+ camelToSnake(),
65
+ ]);
56
66
  try {
57
67
  const response = await skillService.createSkill(item);
58
68
  return applyTransform(response.data, [snakeToCamel()]);
@@ -62,7 +72,10 @@ const addSkill = async ({ itemInstance }) => {
62
72
  };
63
73
 
64
74
  const updateSkill = async ({ itemInstance, itemId: id }) => {
65
- const item = applyTransform(itemInstance, [sanitize(fieldsToSend), camelToSnake()]);
75
+ const item = applyTransform(itemInstance, [
76
+ sanitize(fieldsToSend),
77
+ camelToSnake(),
78
+ ]);
66
79
  try {
67
80
  const response = await skillService.updateSkill(id, item);
68
81
  return applyTransform(response.data, [snakeToCamel()]);
@@ -33,10 +33,11 @@ const fieldsToSend = [
33
33
  ];
34
34
 
35
35
  const getTeamsList = async (params) => {
36
- const { page, size, search, sort, fields, id, strategy, adminId } = applyTransform(params, [
37
- merge(getDefaultGetParams()),
38
- starToSearch('search'),
39
- ]);
36
+ const { page, size, search, sort, fields, id, strategy, adminId } =
37
+ applyTransform(params, [
38
+ merge(getDefaultGetParams()),
39
+ starToSearch('search'),
40
+ ]);
40
41
 
41
42
  try {
42
43
  const response = await teamService.searchAgentTeam(
@@ -80,14 +81,20 @@ const getTeam = async ({ itemId: id }) => {
80
81
 
81
82
  try {
82
83
  const response = await teamService.readAgentTeam(id);
83
- return applyTransform(response.data, [snakeToCamel(), merge(defaultObject)]);
84
+ return applyTransform(response.data, [
85
+ snakeToCamel(),
86
+ merge(defaultObject),
87
+ ]);
84
88
  } catch (err) {
85
89
  throw applyTransform(err, [notify]);
86
90
  }
87
91
  };
88
92
 
89
93
  const addTeam = async ({ itemInstance }) => {
90
- const item = applyTransform(itemInstance, [sanitize(fieldsToSend), camelToSnake()]);
94
+ const item = applyTransform(itemInstance, [
95
+ sanitize(fieldsToSend),
96
+ camelToSnake(),
97
+ ]);
91
98
  try {
92
99
  const response = await teamService.createAgentTeam(item);
93
100
  return applyTransform(response.data, [snakeToCamel()]);
@@ -97,7 +104,10 @@ const addTeam = async ({ itemInstance }) => {
97
104
  };
98
105
 
99
106
  const updateTeam = async ({ itemInstance, itemId: id }) => {
100
- const item = applyTransform(itemInstance, [sanitize(fieldsToSend), camelToSnake()]);
107
+ const item = applyTransform(itemInstance, [
108
+ sanitize(fieldsToSend),
109
+ camelToSnake(),
110
+ ]);
101
111
  try {
102
112
  const response = await teamService.updateAgentTeam(id, item);
103
113
  return applyTransform(response.data, [snakeToCamel()]);
@@ -209,7 +209,9 @@ describe('UsersAPI', () => {
209
209
 
210
210
  const UsersAPI = (await import('../users.js')).default;
211
211
 
212
- expect(await UsersAPI.update({ itemInstance: {}, itemId: 1 })).toEqual(output);
212
+ expect(await UsersAPI.update({ itemInstance: {}, itemId: 1 })).toEqual(
213
+ output,
214
+ );
213
215
  });
214
216
 
215
217
  it('correctly computes "patch" method api call', async () => {
@@ -157,7 +157,10 @@ const updateUser = async ({ itemInstance, itemId: id }) => {
157
157
  };
158
158
 
159
159
  const patchUser = async ({ changes, id }) => {
160
- const body = applyTransform(changes, [sanitize(fieldsToSend), camelToSnake(['profile'])]);
160
+ const body = applyTransform(changes, [
161
+ sanitize(fieldsToSend),
162
+ camelToSnake(['profile']),
163
+ ]);
161
164
  const url = `${baseUrl}/${id}`;
162
165
  try {
163
166
  const response = await instance.patch(url, body);
@@ -168,7 +171,10 @@ const patchUser = async ({ changes, id }) => {
168
171
  };
169
172
 
170
173
  const patchUserPresence = async ({ changes, id }) => {
171
- const body = applyTransform(changes, [sanitize(fieldsToSend), camelToSnake(['profile'])]);
174
+ const body = applyTransform(changes, [
175
+ sanitize(fieldsToSend),
176
+ camelToSnake(['profile']),
177
+ ]);
172
178
  const url = `${baseUrl}/${id}/presence`;
173
179
  try {
174
180
  const response = await instance.patch(url, body);
@@ -4,7 +4,11 @@ import {
4
4
  getDefaultInstance,
5
5
  getDefaultOpenAPIConfig,
6
6
  } from '../../defaults/index.js';
7
- import applyTransform, { notify, snakeToCamel, merge } from '../../transformers/index.js';
7
+ import applyTransform, {
8
+ notify,
9
+ snakeToCamel,
10
+ merge,
11
+ } from '../../transformers/index.js';
8
12
  import i18n from '../../../locale/i18n.js';
9
13
 
10
14
  const { t } = i18n.global;
@@ -12,7 +16,11 @@ const { t } = i18n.global;
12
16
  const instance = getDefaultInstance();
13
17
  const configuration = getDefaultOpenAPIConfig();
14
18
 
15
- const contactChatService = new ContactsChatCatalogApiFactory(configuration, '', instance);
19
+ const contactChatService = new ContactsChatCatalogApiFactory(
20
+ configuration,
21
+ '',
22
+ instance,
23
+ );
16
24
 
17
25
  const getChat = async ({ contactId, chatId }) => {
18
26
  const mergeChatMessagesData = ({ messages, peers }) => {
@@ -26,7 +34,10 @@ const getChat = async ({ contactId, chatId }) => {
26
34
  };
27
35
 
28
36
  try {
29
- const response = await contactChatService.getContactChatHistory(contactId, chatId);
37
+ const response = await contactChatService.getContactChatHistory(
38
+ contactId,
39
+ chatId,
40
+ );
30
41
  const { messages, peers } = applyTransform(response.data, [snakeToCamel()]);
31
42
  return {
32
43
  items: applyTransform({ messages, peers }, [mergeChatMessagesData]),
@@ -39,7 +50,6 @@ const getChat = async ({ contactId, chatId }) => {
39
50
 
40
51
  // all messages from all contacts chats
41
52
  const getAllMessages = async (params) => {
42
-
43
53
  const mergeMessagesData = ({ messages, peers, chats }) => {
44
54
  if (!messages) return [];
45
55
  return messages.map(({ from, chat, ...message }) => {
@@ -51,11 +61,7 @@ const getAllMessages = async (params) => {
51
61
  });
52
62
  };
53
63
 
54
- const {
55
- contactId,
56
- page,
57
- size,
58
- } = params;
64
+ const { contactId, page, size } = params;
59
65
 
60
66
  try {
61
67
  const response = await contactChatService.getContactChatHistory2(
@@ -75,10 +81,12 @@ const getAllMessages = async (params) => {
75
81
  };
76
82
  } catch (err) {
77
83
  throw applyTransform(err, [
78
- notify(({ callback }) => callback({
79
- type: 'error',
80
- text: t('errorNotifications.chatHistoryApi'),
81
- })),
84
+ notify(({ callback }) =>
85
+ callback({
86
+ type: 'error',
87
+ text: t('errorNotifications.chatHistoryApi'),
88
+ }),
89
+ ),
82
90
  ]);
83
91
  }
84
92
  };
@@ -29,7 +29,17 @@ const formatAccessMode = (item) => ({
29
29
  });
30
30
 
31
31
  const getList = async (params) => {
32
- const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id', 'qin', 'groupId', 'notIdGroup'];
32
+ const fieldsToSend = [
33
+ 'page',
34
+ 'size',
35
+ 'q',
36
+ 'sort',
37
+ 'fields',
38
+ 'id',
39
+ 'qin',
40
+ 'groupId',
41
+ 'notIdGroup',
42
+ ];
33
43
 
34
44
  if (!params.fields) {
35
45
  params.fields = [
@@ -61,7 +71,7 @@ const getList = async (params) => {
61
71
 
62
72
  let changedParams;
63
73
 
64
- if(params?.search) {
74
+ if (params?.search) {
65
75
  changedParams = { ...params, q: params.search };
66
76
  } else if (params?.q && params?.qin) {
67
77
  changedParams = { ...params };
@@ -98,9 +108,14 @@ const getList = async (params) => {
98
108
  };
99
109
  }
100
110
 
101
- const transformations = [sanitize(fieldsToSend), merge(getDefaultGetParams()), camelToSnake()];
111
+ const transformations = [
112
+ sanitize(fieldsToSend),
113
+ merge(getDefaultGetParams()),
114
+ camelToSnake(),
115
+ ];
102
116
 
103
- const { page, size, q, sort, fields, id, qin, mode, group_id, not_id_group } = applyTransform(changedParams, transformations);
117
+ const { page, size, q, sort, fields, id, qin, mode, group_id, not_id_group } =
118
+ applyTransform(changedParams, transformations);
104
119
 
105
120
  try {
106
121
  const response = await contactService.searchContacts(
@@ -116,13 +131,16 @@ const getList = async (params) => {
116
131
  not_id_group,
117
132
  );
118
133
 
119
- const { items, next } = applyTransform({ ...response.data, items: response.data.data || [] }, [
120
- snakeToCamel(),
121
- merge(getDefaultGetListResponse()),
122
- ]);
134
+ const { items, next } = applyTransform(
135
+ { ...response.data, items: response.data.data || [] },
136
+ [snakeToCamel(), merge(getDefaultGetListResponse())],
137
+ );
123
138
 
124
139
  return {
125
- items: applyTransform(items, [(items) => items?.map((item) => formatAccessMode(item)), listResponseHandler]),
140
+ items: applyTransform(items, [
141
+ (items) => items?.map((item) => formatAccessMode(item)),
142
+ listResponseHandler,
143
+ ]),
126
144
  next,
127
145
  };
128
146
  } catch (err) {
@@ -175,13 +193,17 @@ const fieldsToSend = ['name', 'labels', 'about', 'managers', 'timezones'];
175
193
 
176
194
  const sanitizeManagers = (itemInstance) => {
177
195
  // handle many managers and even no managers field cases
178
- const managers = (itemInstance.managers || []).filter(({ user } = {}) => user.id);
196
+ const managers = (itemInstance.managers || []).filter(
197
+ ({ user } = {}) => user.id,
198
+ );
179
199
  return { ...itemInstance, managers };
180
200
  };
181
201
 
182
202
  const sanitizeTimezones = (itemInstance) => {
183
203
  // handle many timezones and even no timezones field cases
184
- const timezones = (itemInstance.timezones || []).filter(({ timezone } = {}) => timezone.id);
204
+ const timezones = (itemInstance.timezones || []).filter(
205
+ ({ timezone } = {}) => timezone.id,
206
+ );
185
207
  return { ...itemInstance, timezones };
186
208
  };
187
209
 
@@ -235,10 +257,11 @@ const deleteContact = async ({ id }) => {
235
257
  }
236
258
  };
237
259
 
238
- const getContactsLookup = (params) => getList({
239
- ...params,
240
- fields: params.fields || ['id', 'name'],
241
- });
260
+ const getContactsLookup = (params) =>
261
+ getList({
262
+ ...params,
263
+ fields: params.fields || ['id', 'name'],
264
+ });
242
265
 
243
266
  const ContactsAPI = {
244
267
  getList,
@@ -14,11 +14,19 @@ import applyTransform, {
14
14
  const instance = getDefaultInstance();
15
15
  const configuration = getDefaultOpenAPIConfig();
16
16
 
17
- const transcriptService = new FileTranscriptServiceApiFactory(configuration, '', instance);
17
+ const transcriptService = new FileTranscriptServiceApiFactory(
18
+ configuration,
19
+ '',
20
+ instance,
21
+ );
18
22
 
19
23
  const getTranscript = async ({ id, page = 1, size = 10000 }) => {
20
24
  try {
21
- const response = await transcriptService.getFileTranscriptPhrases(id, page, size);
25
+ const response = await transcriptService.getFileTranscriptPhrases(
26
+ id,
27
+ page,
28
+ size,
29
+ );
22
30
  const { items } = applyTransform(response.data, [
23
31
  snakeToCamel(),
24
32
  merge(getDefaultGetListResponse()),
@@ -1,6 +1,7 @@
1
1
  const updateTokenInterceptor = [
2
2
  (config) => {
3
- config.headers['X-Webitel-Access'] = localStorage.getItem('access-token') || '';
3
+ config.headers['X-Webitel-Access'] =
4
+ localStorage.getItem('access-token') || '';
4
5
  return config;
5
6
  },
6
7
  (error) => Promise.reject(error),
@@ -1,4 +1,8 @@
1
- const applyTransform = (target, transformers, { debug = false, withContext = null } = {}) => {
1
+ const applyTransform = (
2
+ target,
3
+ transformers,
4
+ { debug = false, withContext = null } = {},
5
+ ) => {
2
6
  return transformers.reduce((result, transformer, index) => {
3
7
  if (debug) console.info(`applyTransform debug on step ${index}`, result);
4
8
 
@@ -1,4 +1,5 @@
1
1
  import { objCamelToSnake } from '../../../scripts/caseConverters.js';
2
2
 
3
- const camelToSnakeTransformer = (skipKeys) => (obj) => objCamelToSnake(obj, skipKeys);
3
+ const camelToSnakeTransformer = (skipKeys) => (obj) =>
4
+ objCamelToSnake(obj, skipKeys);
4
5
  export default camelToSnakeTransformer;
@@ -1,4 +1,5 @@
1
1
  import { objSnakeToCamel } from '../../../scripts/caseConverters.js';
2
2
 
3
- const snakeToCamelTransformer = (skipKeys) => (obj) => objSnakeToCamel(obj, skipKeys);
3
+ const snakeToCamelTransformer = (skipKeys) => (obj) =>
4
+ objSnakeToCamel(obj, skipKeys);
4
5
  export default snakeToCamelTransformer;
@@ -116,6 +116,7 @@ import messengerWhatsapp from './messenger-whatsapp.svg';
116
116
  import meta from './meta.svg';
117
117
  import micMuted from './mic-muted.svg';
118
118
  import mic from './mic.svg';
119
+ import treeCollapse from './tree-collapse.svg';
119
120
  import microsoft from './microsoft.svg';
120
121
  import move from './move.svg';
121
122
  import note from './note.svg';
@@ -124,7 +125,7 @@ import options from './options.svg';
124
125
  import pause from './pause.svg';
125
126
  import pin from './pin.svg';
126
127
  import play from './play.svg';
127
- import plus from './plus.svg';
128
+ import treeExpand from './tree-expand.svg';
128
129
  import previewTagApplication from './preview-tag-application.svg';
129
130
 
130
131
  import previewTagAudio from './preview-tag-audio.svg';
@@ -155,12 +156,15 @@ import soundOn from './sound-on.svg';
155
156
  import starFilled from './star--filled.svg';
156
157
  import star from './star.svg';
157
158
  import stop from './stop.svg';
159
+ import stopSign from './stop-sign.svg';
158
160
  import sttDownload from './stt-download.svg';
159
161
  import sttSearch from './stt-search.svg';
160
162
  import stt from './stt.svg';
161
163
  import telegramBot from './telegram-bot.svg';
162
164
  import tick from './tick.svg';
163
165
  import ttsDownload from './tts-download.svg';
166
+ import treeLine from './tree-line.svg'
167
+ import treeCross from './tree-cross.svg'
164
168
  import undo from './undo.svg';
165
169
  import unpin from './unpin.svg';
166
170
  import upload from './upload.svg';
@@ -306,11 +310,12 @@ export default objCamelToKebab({
306
310
  micMuted,
307
311
  microsoft,
308
312
  move,
313
+ treeCollapse,
309
314
  note,
310
315
  numpad,
311
316
  pause,
312
317
  play,
313
- plus,
318
+ treeExpand,
314
319
  prompter,
315
320
  queueMember,
316
321
  radio,
@@ -333,6 +338,7 @@ export default objCamelToKebab({
333
338
  star,
334
339
  'star--filled': starFilled,
335
340
  stop,
341
+ stopSign,
336
342
  tick,
337
343
  upload,
338
344
  user,
@@ -341,6 +347,8 @@ export default objCamelToKebab({
341
347
  zoomIn,
342
348
  zoomOut,
343
349
  ttsDownload,
350
+ treeLine,
351
+ treeCross,
344
352
  stt,
345
353
  sttDownload,
346
354
  sttSearch,
@@ -0,0 +1,4 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9 10C8.44771 10 8 10.4477 8 11V13C8 13.5523 8.44771 14 9 14H15C15.5523 14 16 13.5523 16 13V11C16 10.4477 15.5523 10 15 10H9Z"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H16C16.5523 13 17 12.5523 17 12C17 11.4477 16.5523 11 16 11H8Z" />
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M5 2C3.34315 2 2 3.34315 2 5V19C2 20.6569 3.34315 22 5 22H19C20.6569 22 22 20.6569 22 19V5C22 3.34315 20.6569 2 19 2H5ZM19 4H5C4.44771 4 4 4.44772 4 5V19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44771 19.5523 4 19 4Z" />
4
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Icon">
3
+ <path id="Union" d="M12 24H13L13 13H24V12L13 12L13 0H12V24Z"/>
4
+ </g>
5
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Icon" clip-path="url(#clip0_1807_7994)">
3
+ <path id="Vector 39 (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M12 24L12 0L13 -4.37114e-08L13 24L12 24Z" />
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_1807_7994">
7
+ <rect width="24" height="24"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -17,8 +17,7 @@ import WtDummy from './wt-dummy/wt-dummy.vue';
17
17
  import WtEmpty from './wt-empty/wt-empty.vue';
18
18
  import WtErrorPage from './wt-error-page/wt-error-page.vue';
19
19
  import WtExpansionPanel from './wt-expansion-panel/wt-expansion-panel.vue';
20
- import WtFiltersPanelWrapper
21
- from './wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue';
20
+ import WtFiltersPanelWrapper from './wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue';
22
21
  import WtHeadlineNav from './wt-headline-nav/wt-headline-nav.vue';
23
22
  import WtHeadline from './wt-headline/wt-headline.vue';
24
23
  import WtHint from './wt-hint/wt-hint.vue';
@@ -29,8 +28,7 @@ import WtImage from './wt-image/wt-image.vue';
29
28
  import WtIndicator from './wt-indicator/wt-indicator.vue';
30
29
  import WtInputInfo from './wt-input-info/wt-input-info.vue';
31
30
  import WtInput from './wt-input/wt-input.vue';
32
- import WtIntersectionObserver
33
- from './wt-intersection-observer/wt-intersection-observer.vue';
31
+ import WtIntersectionObserver from './wt-intersection-observer/wt-intersection-observer.vue';
34
32
  import WtItemLink from './wt-item-link/wt-item-link.vue';
35
33
  import WtLabel from './wt-label/wt-label.vue';
36
34
  import WtLoadBar from './wt-load-bar/wt-load-bar.vue';
@@ -38,8 +36,7 @@ import WtLoader from './wt-loader/wt-loader.vue';
38
36
  import WtLogo from './wt-logo/wt-logo.vue';
39
37
  import WtNavigationBar from './wt-navigation-bar/wt-navigation-bar.vue';
40
38
  import WtNotification from './wt-notification/wt-notification.vue';
41
- import WtNotificationsBar
42
- from './wt-notifications-bar/wt-notifications-bar.vue';
39
+ import WtNotificationsBar from './wt-notifications-bar/wt-notifications-bar.vue';
43
40
  import WtPageHeader from './wt-page-header/wt-page-header.vue';
44
41
  import WtPageWrapper from './wt-page-wrapper/wt-page-wrapper.vue';
45
42
  import WtDualPanel from './wt-dual-panel/wt-dual-panel.vue';
@@ -56,20 +53,18 @@ import WtStatusSelect from './wt-status-select/wt-status-select.vue';
56
53
  import WtStepper from './wt-stepper/wt-stepper.vue';
57
54
  import WtSwitcher from './wt-switcher/wt-switcher.vue';
58
55
  import WtTableActions from './wt-table-actions/wt-table-actions.vue';
59
- import WtTableColumnSelect
60
- from './wt-table-column-select/wt-table-column-select.vue';
56
+ import WtTableColumnSelect from './wt-table-column-select/wt-table-column-select.vue';
61
57
  import WtTable from './wt-table/wt-table.vue';
58
+ import WtTreeTable from './wt-tree-table/wt-tree-table.vue';
62
59
  import WtTabs from './wt-tabs/wt-tabs.vue';
63
60
  import WtTagsInput from './wt-tags-input/wt-tags-input.vue';
64
61
  import WtTextarea from './wt-textarea/wt-textarea.vue';
65
62
  import WtTimeInput from './wt-time-input/wt-time-input.vue';
66
63
  import WtTimepicker from './wt-timepicker/wt-timepicker.vue';
67
64
  import WtTooltip from './wt-tooltip/wt-tooltip.vue';
68
- import WtNavigationMenu
69
- from './on-demand/wt-navigation-menu/components/wt-navigation-menu.vue';
65
+ import WtNavigationMenu from './on-demand/wt-navigation-menu/components/wt-navigation-menu.vue';
70
66
  import WtStartPage from './on-demand/wt-start-page/components/wt-start-page.vue';
71
- import WtSelectionPopup
72
- from './on-demand/wt-selection-popup/wt-selection-popup.vue';
67
+ import WtSelectionPopup from './on-demand/wt-selection-popup/wt-selection-popup.vue';
73
68
 
74
69
  const Components = {
75
70
  WtActionBar,
@@ -123,6 +118,7 @@ const Components = {
123
118
  WtPlayer,
124
119
  WtStatusSelect,
125
120
  WtTable,
121
+ WtTreeTable,
126
122
  WtTableActions,
127
123
  WtTableColumnSelect,
128
124
  WtButtonSelect,
@@ -6,7 +6,9 @@
6
6
  class="nav-menu__option"
7
7
  >
8
8
  <button
9
- :class="{ 'nav-menu__item--selected': selected.value === category.value }"
9
+ :class="{
10
+ 'nav-menu__item--selected': selected.value === category.value,
11
+ }"
10
12
  class="nav-menu__item nav-menu__item--active"
11
13
  @click="select(category)"
12
14
  >
@@ -37,7 +39,7 @@ const props = defineProps({
37
39
  },
38
40
  icons: {
39
41
  type: Array,
40
- default: () => ([]),
42
+ default: () => [],
41
43
  },
42
44
  });
43
45
 
@@ -3,9 +3,7 @@
3
3
  <li
4
4
  v-for="(category, key) of categories"
5
5
  :key="key"
6
- class="nav-menu__option
7
- nav-menu__item
8
- nav-menu-lvl-2--inner"
6
+ class="nav-menu__option nav-menu__item nav-menu-lvl-2--inner"
9
7
  >
10
8
  <span class="nav-menu-lvl-2__indicator" />
11
9
  <router-link
@@ -58,7 +56,8 @@ const props = defineProps({
58
56
  &__link {
59
57
  color: var(--text-main-color);
60
58
 
61
- &:hover, &:active {
59
+ &:hover,
60
+ &:active {
62
61
  text-decoration: underline;
63
62
  }
64
63
  }