@webitel/ui-sdk 24.12.29 → 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 (295) hide show
  1. package/CHANGELOG.md +265 -131
  2. package/README.md +6 -0
  3. package/dist/img/sprite/index.js +8 -2
  4. package/dist/img/sprite/tree-collapse.svg +4 -0
  5. package/dist/img/sprite/tree-cross.svg +5 -0
  6. package/dist/img/sprite/tree-line.svg +10 -0
  7. package/dist/ui-sdk.css +1 -1
  8. package/dist/ui-sdk.js +7736 -7442
  9. package/dist/ui-sdk.umd.cjs +17 -17
  10. package/package.json +13 -6
  11. package/src/api/axios/generateInstance.js +6 -2
  12. package/src/api/clients/agents/agentChats.js +18 -19
  13. package/src/api/clients/agents/agents.js +29 -7
  14. package/src/api/clients/buckets/buckets.js +16 -3
  15. package/src/api/clients/calendars/calendars.js +21 -3
  16. package/src/api/clients/catalog/catalog.js +1 -3
  17. package/src/api/clients/chatGateways/chatGateways.js +41 -12
  18. package/src/api/clients/communications/communications.js +25 -6
  19. package/src/api/clients/configurations/configurations.js +13 -3
  20. package/src/api/clients/flows/flow.js +20 -9
  21. package/src/api/clients/gateways/gateways.js +12 -3
  22. package/src/api/clients/lists/blacklists.js +16 -3
  23. package/src/api/clients/media/media.js +16 -3
  24. package/src/api/clients/queues/queues.js +16 -6
  25. package/src/api/clients/roles/roles.js +3 -1
  26. package/src/api/clients/skills/skills.js +16 -3
  27. package/src/api/clients/teams/teams.js +17 -7
  28. package/src/api/clients/users/__tests__/users.spec.js +3 -1
  29. package/src/api/clients/users/users.js +8 -2
  30. package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +21 -13
  31. package/src/api/clients//321/201ontacts/contacts.js +38 -15
  32. package/src/api/history/transcript/callTranscript.js +10 -2
  33. package/src/api/interceptors/request/updateToken.interceptor.js +2 -1
  34. package/src/api/transformers/applyTransform.js +5 -1
  35. package/src/api/transformers/camelToSnake/camelToSnake.transformer.js +2 -1
  36. package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.js +2 -1
  37. package/src/assets/icons/sprite/index.js +8 -2
  38. package/src/assets/icons/sprite/tree-collapse.svg +4 -0
  39. package/src/assets/icons/sprite/tree-cross.svg +5 -0
  40. package/src/assets/icons/sprite/tree-line.svg +10 -0
  41. package/src/components/index.js +8 -12
  42. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +4 -2
  43. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +3 -4
  44. package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +6 -6
  45. package/src/components/on-demand/wt-route-transition/wt-route-transition.vue +12 -12
  46. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -3
  47. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
  48. package/src/components/on-demand/wt-start-page/components/start-page-card.vue +4 -2
  49. package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
  50. package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -3
  51. package/src/components/on-demand/wt-table-transition/wt-table-transition.vue +7 -7
  52. package/src/components/wt-action-bar/wt-action-bar.vue +16 -12
  53. package/src/components/wt-app-header/__tests__/WtHeaderActions.spec.js +3 -1
  54. package/src/components/wt-app-header/_variables.scss +0 -1
  55. package/src/components/wt-app-header/wt-app-header.vue +4 -4
  56. package/src/components/wt-app-header/wt-app-navigator.vue +6 -7
  57. package/src/components/wt-app-header/wt-header-actions.vue +6 -8
  58. package/src/components/wt-avatar/wt-avatar.vue +4 -3
  59. package/src/components/wt-badge/wt-badge.vue +1 -2
  60. package/src/components/wt-button/wt-button.vue +3 -5
  61. package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +6 -2
  62. package/src/components/wt-button-select/wt-button-select.vue +3 -4
  63. package/src/components/wt-checkbox/_variables.scss +1 -2
  64. package/src/components/wt-checkbox/wt-checkbox.vue +1 -2
  65. package/src/components/wt-chip/_variables.scss +0 -1
  66. package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +15 -5
  67. package/src/components/wt-context-menu/_variables.scss +3 -1
  68. package/src/components/wt-context-menu/wt-context-menu.vue +1 -3
  69. package/src/components/wt-copy-action/wt-copy-action.vue +1 -2
  70. package/src/components/wt-datepicker/_variables.scss +17 -5
  71. package/src/components/wt-datepicker/wt-datepicker.vue +2 -7
  72. package/src/components/wt-divider/_variables.scss +0 -1
  73. package/src/components/wt-divider/wt-divider.vue +5 -3
  74. package/src/components/wt-dual-panel/__tests__/WtDualPanel.js +2 -2
  75. package/src/components/wt-dual-panel/wt-dual-panel.vue +6 -5
  76. package/src/components/wt-dummy/_variables.scss +0 -1
  77. package/src/components/wt-dummy/wt-dummy.vue +1 -1
  78. package/src/components/wt-empty/wt-empty.vue +42 -34
  79. package/src/components/wt-error-page/_variables.scss +0 -1
  80. package/src/components/wt-error-page/wt-error-page.vue +2 -4
  81. package/src/components/wt-expansion-panel/_variables.scss +0 -1
  82. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +3 -8
  83. package/src/components/wt-filters-panel-wrapper/__tests__/WtFiltersPanelWrapper.spec.js +12 -4
  84. package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +8 -7
  85. package/src/components/wt-headline/_variables.scss +0 -1
  86. package/src/components/wt-headline-nav/_variables.scss +0 -1
  87. package/src/components/wt-headline-nav/wt-headline-nav.vue +2 -1
  88. package/src/components/wt-hint/wt-hint.vue +1 -3
  89. package/src/components/wt-icon/_variables.scss +0 -1
  90. package/src/components/wt-icon-action/wt-icon-action.vue +13 -12
  91. package/src/components/wt-icon-btn/_variables.scss +0 -2
  92. package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -6
  93. package/src/components/wt-image/wt-image.vue +14 -13
  94. package/src/components/wt-indicator/wt-indicator.vue +2 -7
  95. package/src/components/wt-input/_variables.scss +1 -2
  96. package/src/components/wt-input/wt-input.vue +13 -10
  97. package/src/components/wt-input-info/_variables.scss +0 -1
  98. package/src/components/wt-intersection-observer/__tests__/WtIntersectionObserver.spec.js +1 -1
  99. package/src/components/wt-intersection-observer/wt-intersection-observer.vue +9 -8
  100. package/src/components/wt-item-link/_variables.scss +0 -1
  101. package/src/components/wt-label/_variables.scss +0 -1
  102. package/src/components/wt-label/wt-label.vue +1 -4
  103. package/src/components/wt-load-bar/_variables.scss +0 -1
  104. package/src/components/wt-load-bar/wt-load-bar.vue +0 -1
  105. package/src/components/wt-loader/_variables.scss +0 -2
  106. package/src/components/wt-loader/wt-loader.vue +1 -3
  107. package/src/components/wt-logo/wt-logo.vue +1 -1
  108. package/src/components/wt-navigation-bar/__tests__/WtNavigationBar.spec.js +9 -3
  109. package/src/components/wt-navigation-bar/_variables.scss +9 -3
  110. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +27 -11
  111. package/src/components/wt-notification/_variables.scss +0 -1
  112. package/src/components/wt-notifications-bar/__tests__/WtNotificationsBar.spec.js +1 -1
  113. package/src/components/wt-notifications-bar/_variables.scss +1 -2
  114. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +4 -2
  115. package/src/components/wt-page-header/wt-page-header.vue +3 -2
  116. package/src/components/wt-page-wrapper/__tests__/WtPageWrapper.spec.js +3 -1
  117. package/src/components/wt-page-wrapper/_variables.scss +0 -1
  118. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +0 -2
  119. package/src/components/wt-pagination/_variables.scss +1 -2
  120. package/src/components/wt-pagination/wt-pagination.vue +2 -1
  121. package/src/components/wt-player/_variables.scss +6 -2
  122. package/src/components/wt-player/wt-player.vue +52 -53
  123. package/src/components/wt-popup/_variables.scss +0 -1
  124. package/src/components/wt-popup/wt-popup.vue +2 -8
  125. package/src/components/wt-progress-bar/_variables.scss +0 -1
  126. package/src/components/wt-progress-bar/wt-progress-bar.vue +7 -6
  127. package/src/components/wt-radio/_variables.scss +1 -2
  128. package/src/components/wt-radio/wt-radio.vue +1 -2
  129. package/src/components/wt-rounded-action/_variables.scss +3 -1
  130. package/src/components/wt-search-bar/_variables.scss +4 -2
  131. package/src/components/wt-search-bar/wt-search-bar.vue +10 -4
  132. package/src/components/wt-select/_multiselect.scss +9 -15
  133. package/src/components/wt-select/_variables.scss +3 -2
  134. package/src/components/wt-select/mixins/multiselectMixin.js +2 -1
  135. package/src/components/wt-select/wt-select.vue +25 -26
  136. package/src/components/wt-slider/_variables.scss +0 -1
  137. package/src/components/wt-slider/wt-slider.vue +3 -3
  138. package/src/components/wt-status-select/_variables.scss +8 -4
  139. package/src/components/wt-stepper/_variables.scss +0 -1
  140. package/src/components/wt-stepper/wt-stepper.vue +5 -5
  141. package/src/components/wt-switcher/_variables.scss +0 -1
  142. package/src/components/wt-switcher/wt-switcher.vue +2 -3
  143. package/src/components/wt-table/__tests__/WtTable.spec.js +8 -2
  144. package/src/components/wt-table/_variables.scss +0 -1
  145. package/src/components/wt-table/types/table-header.ts +8 -0
  146. package/src/components/wt-table/wt-table.vue +111 -109
  147. package/src/components/wt-table-actions/_variables.scss +1 -2
  148. package/src/components/wt-table-actions/wt-table-actions.vue +1 -2
  149. package/src/components/wt-table-column-select/wt-table-column-select.vue +11 -8
  150. package/src/components/wt-tabs/_variables.scss +0 -1
  151. package/src/components/wt-tabs/wt-tabs.vue +6 -6
  152. package/src/components/wt-tags-input/__tests__/WtTagsInput.spec.js +6 -6
  153. package/src/components/wt-tags-input/mixin/taggableMixin.js +3 -1
  154. package/src/components/wt-tags-input/wt-tags-input.vue +8 -10
  155. package/src/components/wt-textarea/__tests__/WtTextarea.spec.js +6 -2
  156. package/src/components/wt-textarea/_variables.scss +0 -1
  157. package/src/components/wt-textarea/wt-textarea.vue +6 -7
  158. package/src/components/wt-time-input/wt-time-input.vue +1 -2
  159. package/src/components/wt-timepicker/_variables.scss +1 -2
  160. package/src/components/wt-timepicker/wt-timepicker.vue +10 -8
  161. package/src/components/wt-tooltip/_internals/useTooltipTriggerSubscriptions.js +6 -1
  162. package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +1 -3
  163. package/src/components/wt-tooltip/_variables.scss +0 -1
  164. package/src/components/wt-tooltip/wt-tooltip.vue +13 -2
  165. package/src/components/wt-tree-table/_variables.scss +19 -0
  166. package/src/components/wt-tree-table/wt-tree-table.vue +323 -0
  167. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +171 -0
  168. package/src/composables/useAccessControl/useAccessControl.js +12 -4
  169. package/src/composables/useCachedInterval/useCachedInterval.js +6 -2
  170. package/src/composables/useCachedItemInstanceName/useCachedItemInstanceName.js +4 -1
  171. package/src/composables/useCard/useCardComponent.js +10 -9
  172. package/src/composables/useCard/useCardTabs.js +6 -3
  173. package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +20 -10
  174. package/src/composables/useValidate/useValidate.js +1 -1
  175. package/src/composables/useWtTable/useWtTable.ts +25 -0
  176. package/src/css/main.scss +7 -1
  177. package/src/css/pages/table-page.scss +1 -2
  178. package/src/css/styleguide/border-radius/_border-radius.scss +1 -1
  179. package/src/css/styleguide/colors/_deprecated.scss +83 -24
  180. package/src/css/styleguide/colors/_palette.scss +1340 -251
  181. package/src/css/styleguide/colors/reusable/_text-field.scss +6 -2
  182. package/src/css/styleguide/fonts/_fonts.scss +36 -18
  183. package/src/css/styleguide/spacings/_spacings.scss +1 -1
  184. package/src/css/styleguide/transitions/_transitions.scss +1 -1
  185. package/src/css/styleguide/transitions/fade/_fade.scss +5 -4
  186. package/src/css/styleguide/viewport-breakpoints/_viewport-breakpoints.scss +0 -1
  187. package/src/enums/WebitelApplications/WebitelApplications.enum.js +7 -7
  188. package/src/enums/index.js +5 -10
  189. package/src/locale/en/en.js +4 -2
  190. package/src/locale/ru/ru.js +6 -3
  191. package/src/locale/ua/ua.js +6 -3
  192. package/src/mixins/dataFilterMixins/__tests__/apiFilterMixin.spec.js +2 -1
  193. package/src/mixins/dataFilterMixins/apiFilterMixin.js +3 -1
  194. package/src/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.js +2 -1
  195. package/src/mixins/dataFilterMixins/enumFilterMixin.js +2 -1
  196. package/src/mixins/dataFilterMixins/paginationFilterMixin.js +4 -1
  197. package/src/mixins/dataFilterMixins/sortFilterMixin.js +2 -1
  198. package/src/mixins/validationMixin/useValidation.js +17 -7
  199. package/src/mixins/validationMixin/validationMixin.js +16 -8
  200. package/src/modules/AgentStatusSelect/api/pause-cause.js +4 -1
  201. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +18 -6
  202. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +3 -2
  203. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +5 -2
  204. package/src/modules/Appearance/components/__tests__/wt-dark-mode-switcher.spec.js +6 -2
  205. package/src/modules/AuditForm/components/__tests__/audit-form-question-write-wrapper.spec.js +12 -4
  206. package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +18 -5
  207. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +4 -2
  208. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +15 -5
  209. package/src/modules/AuditForm/components/audit-form-question.vue +10 -4
  210. package/src/modules/AuditForm/components/audit-form.vue +24 -7
  211. package/src/modules/AuditForm/components/questions/options/__tests__/audit-form-question-options.spec.js +6 -2
  212. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +5 -5
  213. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +9 -4
  214. package/src/modules/CSVExport/CSVExport.js +5 -2
  215. package/src/modules/CSVExport/XLSExport.js +7 -7
  216. package/src/modules/CSVExport/__tests__/CSVExport.spec.js +4 -1
  217. package/src/modules/CSVExport/mixins/exportCSVMixin.js +3 -1
  218. package/src/modules/CSVExport/mixins/exportXLSMixin.js +3 -1
  219. package/src/modules/CardStoreModule/composables/useCardStore.js +6 -2
  220. package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +3 -3
  221. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +6 -3
  222. package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -2
  223. package/src/modules/FilesExport/mixins/exportFilesMixin.js +6 -2
  224. package/src/modules/FilesExport/scripts/generateMediaURL.js +2 -1
  225. package/src/modules/Filters/classes/BaseFilterSchema.js +15 -6
  226. package/src/modules/Filters/components/filter-datetime.vue +7 -5
  227. package/src/modules/Filters/components/filter-pagination.vue +7 -5
  228. package/src/modules/Filters/components/filter-search.vue +4 -4
  229. package/src/modules/Filters/components/filter-select.vue +33 -24
  230. package/src/modules/Filters/components/filter-table-fields.vue +1 -3
  231. package/src/modules/Filters/composables/useTableFilters.js +3 -1
  232. package/src/modules/Filters/scripts/getters/localStorageGetter.js +6 -2
  233. package/src/modules/Filters/scripts/getters/queryGetter.js +2 -1
  234. package/src/modules/Filters/scripts/setters/localStorageSetter.js +6 -2
  235. package/src/modules/Filters/scripts/setters/querySetter.js +2 -1
  236. package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -1
  237. package/src/modules/Filters/store/FiltersStoreModule.js +3 -3
  238. package/src/modules/Notifications/store/NotificationsStoreModule.js +14 -5
  239. package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +10 -3
  240. package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -3
  241. package/src/modules/ObjectPermissions/_internals/components/permissions-role-select.vue +1 -3
  242. package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +8 -5
  243. package/src/modules/ObjectPermissions/_internals/modules/filters/store/filters.store.js +3 -4
  244. package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +1 -2
  245. package/src/modules/ObjectPermissions/_internals/store/modules/objectPermissionsStoreModule.js +10 -14
  246. package/src/modules/ObjectPermissions/components/permissions-tab.vue +12 -12
  247. package/src/modules/ObjectPermissions/store/index.js +2 -6
  248. package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +3 -1
  249. package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +6 -2
  250. package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +7 -2
  251. package/src/modules/QueryFilters/components/abstract-api-filter.vue +15 -5
  252. package/src/modules/QueryFilters/components/abstract-enum-filter.vue +15 -5
  253. package/src/modules/QueryFilters/components/filter-datetime.vue +1 -3
  254. package/src/modules/QueryFilters/components/filter-from-to.vue +1 -1
  255. package/src/modules/QueryFilters/components/filter-search.vue +1 -3
  256. package/src/modules/QueryFilters/components/filter-table-fields.vue +1 -3
  257. package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +4 -1
  258. package/src/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.js +9 -3
  259. package/src/modules/QueryFilters/mixins/enumFilterMixin.js +10 -3
  260. package/src/modules/QueryFilters/mixins/paginationFilterMixin.js +4 -2
  261. package/src/modules/QueryFilters/mixins/sortFilterMixin.js +2 -1
  262. package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +2 -1
  263. package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +10 -3
  264. package/src/modules/TableComponentModule/composables/useTableEmpty.js +13 -4
  265. package/src/modules/TableStoreModule/composables/useTableStore.js +18 -6
  266. package/src/modules/TableStoreModule/store/TableStoreModule.js +36 -21
  267. package/src/modules/TableStoreModule/store/__tests__/TableStoreModule.spec.js +7 -2
  268. package/src/modules/Userinfo/api/userinfo.js +4 -1
  269. package/src/modules/Userinfo/classes/ApplicationsAccess.js +3 -1
  270. package/src/modules/Userinfo/store/UserinfoStoreModule.js +25 -9
  271. package/src/plugins/breakpoint/breakpoint.plugin.js +2 -1
  272. package/src/scripts/__tests__/caseConverters.spec.js +4 -1
  273. package/src/scripts/__tests__/updateObject.spec.js +6 -2
  274. package/src/scripts/caseConverters.js +37 -29
  275. package/src/scripts/compareSize.ts +9 -6
  276. package/src/scripts/debounce.js +2 -1
  277. package/src/scripts/index.js +2 -8
  278. package/src/scripts/logger.js +4 -4
  279. package/src/scripts/preventHiddenPageCallsDecorator.js +6 -2
  280. package/src/scripts/saveAsJSON.js +3 -1
  281. package/src/scripts/sortQueryAdapters.js +11 -0
  282. package/src/store/BaseStoreModules/ApiStoreModule.js +26 -7
  283. package/src/store/BaseStoreModules/BaseStoreModule.js +2 -1
  284. package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +28 -7
  285. package/src/store/helpers/getNamespacedState.js +3 -1
  286. package/src/store/new/modules/apiStoreModule/apiStoreModule.js +19 -14
  287. package/src/store/new/modules/cardStoreModule/useCardStore.js +6 -2
  288. package/src/store/new/modules/tableStoreModule/__tests__/tableStoreModule.spec.js +6 -8
  289. package/src/store/new/modules/tableStoreModule/tableStoreModule.js +31 -28
  290. package/src/store/new/modules/tableStoreModule/useTableStore.js +18 -6
  291. package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +2 -1
  292. package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +3 -1
  293. package/src/components/wt-table/_internals/getSortOrder.js +0 -12
  294. /package/dist/img/sprite/{plus.svg → tree-expand.svg} +0 -0
  295. /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';
@@ -162,6 +163,8 @@ import stt from './stt.svg';
162
163
  import telegramBot from './telegram-bot.svg';
163
164
  import tick from './tick.svg';
164
165
  import ttsDownload from './tts-download.svg';
166
+ import treeLine from './tree-line.svg'
167
+ import treeCross from './tree-cross.svg'
165
168
  import undo from './undo.svg';
166
169
  import unpin from './unpin.svg';
167
170
  import upload from './upload.svg';
@@ -307,11 +310,12 @@ export default objCamelToKebab({
307
310
  micMuted,
308
311
  microsoft,
309
312
  move,
313
+ treeCollapse,
310
314
  note,
311
315
  numpad,
312
316
  pause,
313
317
  play,
314
- plus,
318
+ treeExpand,
315
319
  prompter,
316
320
  queueMember,
317
321
  radio,
@@ -343,6 +347,8 @@ export default objCamelToKebab({
343
347
  zoomIn,
344
348
  zoomOut,
345
349
  ttsDownload,
350
+ treeLine,
351
+ treeCross,
346
352
  stt,
347
353
  sttDownload,
348
354
  sttSearch,
@@ -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
  }