@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.
- package/CHANGELOG.md +270 -130
- package/README.md +6 -0
- package/dist/img/sprite/index.js +10 -2
- package/dist/img/sprite/stop-sign.svg +4 -0
- package/dist/img/sprite/tree-collapse.svg +4 -0
- package/dist/img/sprite/tree-cross.svg +5 -0
- package/dist/img/sprite/tree-line.svg +10 -0
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +7737 -7440
- package/dist/ui-sdk.umd.cjs +17 -17
- package/package.json +13 -6
- package/src/api/axios/generateInstance.js +6 -2
- package/src/api/clients/agents/agentChats.js +18 -19
- package/src/api/clients/agents/agents.js +29 -7
- package/src/api/clients/buckets/buckets.js +16 -3
- package/src/api/clients/calendars/calendars.js +21 -3
- package/src/api/clients/catalog/catalog.js +1 -3
- package/src/api/clients/chatGateways/chatGateways.js +41 -12
- package/src/api/clients/communications/communications.js +25 -6
- package/src/api/clients/configurations/configurations.js +13 -3
- package/src/api/clients/flows/flow.js +20 -9
- package/src/api/clients/gateways/gateways.js +12 -3
- package/src/api/clients/lists/blacklists.js +16 -3
- package/src/api/clients/media/media.js +16 -3
- package/src/api/clients/queues/queues.js +16 -6
- package/src/api/clients/roles/roles.js +3 -1
- package/src/api/clients/skills/skills.js +16 -3
- package/src/api/clients/teams/teams.js +17 -7
- package/src/api/clients/users/__tests__/users.spec.js +3 -1
- package/src/api/clients/users/users.js +8 -2
- package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +21 -13
- package/src/api/clients//321/201ontacts/contacts.js +38 -15
- package/src/api/history/transcript/callTranscript.js +10 -2
- package/src/api/interceptors/request/updateToken.interceptor.js +2 -1
- package/src/api/transformers/applyTransform.js +5 -1
- package/src/api/transformers/camelToSnake/camelToSnake.transformer.js +2 -1
- package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.js +2 -1
- package/src/assets/icons/sprite/index.js +10 -2
- package/src/assets/icons/sprite/stop-sign.svg +4 -0
- package/src/assets/icons/sprite/tree-collapse.svg +4 -0
- package/src/assets/icons/sprite/tree-cross.svg +5 -0
- package/src/assets/icons/sprite/tree-line.svg +10 -0
- package/src/components/index.js +8 -12
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +4 -2
- package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +3 -4
- package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +6 -6
- package/src/components/on-demand/wt-route-transition/wt-route-transition.vue +12 -12
- package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -3
- package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
- package/src/components/on-demand/wt-start-page/components/start-page-card.vue +4 -2
- package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
- package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -3
- package/src/components/on-demand/wt-table-transition/wt-table-transition.vue +7 -7
- package/src/components/wt-action-bar/wt-action-bar.vue +16 -12
- package/src/components/wt-app-header/__tests__/WtHeaderActions.spec.js +3 -1
- package/src/components/wt-app-header/_variables.scss +0 -1
- package/src/components/wt-app-header/wt-app-header.vue +4 -4
- package/src/components/wt-app-header/wt-app-navigator.vue +6 -7
- package/src/components/wt-app-header/wt-header-actions.vue +6 -8
- package/src/components/wt-avatar/wt-avatar.vue +4 -3
- package/src/components/wt-badge/wt-badge.vue +1 -2
- package/src/components/wt-button/wt-button.vue +3 -5
- package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +6 -2
- package/src/components/wt-button-select/wt-button-select.vue +3 -4
- package/src/components/wt-checkbox/_variables.scss +1 -2
- package/src/components/wt-checkbox/wt-checkbox.vue +1 -2
- package/src/components/wt-chip/_variables.scss +0 -1
- package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +15 -5
- package/src/components/wt-context-menu/_variables.scss +3 -1
- package/src/components/wt-context-menu/wt-context-menu.vue +1 -3
- package/src/components/wt-copy-action/wt-copy-action.vue +1 -2
- package/src/components/wt-datepicker/_variables.scss +17 -5
- package/src/components/wt-datepicker/wt-datepicker.vue +2 -7
- package/src/components/wt-divider/_variables.scss +0 -1
- package/src/components/wt-divider/wt-divider.vue +5 -3
- package/src/components/wt-dual-panel/__tests__/WtDualPanel.js +2 -2
- package/src/components/wt-dual-panel/wt-dual-panel.vue +6 -5
- package/src/components/wt-dummy/_variables.scss +0 -1
- package/src/components/wt-dummy/wt-dummy.vue +1 -1
- package/src/components/wt-empty/wt-empty.vue +42 -34
- package/src/components/wt-error-page/_variables.scss +0 -1
- package/src/components/wt-error-page/wt-error-page.vue +2 -4
- package/src/components/wt-expansion-panel/_variables.scss +0 -1
- package/src/components/wt-expansion-panel/wt-expansion-panel.vue +3 -8
- package/src/components/wt-filters-panel-wrapper/__tests__/WtFiltersPanelWrapper.spec.js +12 -4
- package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +8 -7
- package/src/components/wt-headline/_variables.scss +0 -1
- package/src/components/wt-headline-nav/_variables.scss +0 -1
- package/src/components/wt-headline-nav/wt-headline-nav.vue +2 -1
- package/src/components/wt-hint/wt-hint.vue +1 -3
- package/src/components/wt-icon/_variables.scss +0 -1
- package/src/components/wt-icon-action/wt-icon-action.vue +13 -12
- package/src/components/wt-icon-btn/_variables.scss +0 -2
- package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -6
- package/src/components/wt-image/wt-image.vue +14 -13
- package/src/components/wt-indicator/wt-indicator.vue +2 -7
- package/src/components/wt-input/_variables.scss +1 -2
- package/src/components/wt-input/wt-input.vue +13 -10
- package/src/components/wt-input-info/_variables.scss +0 -1
- package/src/components/wt-intersection-observer/__tests__/WtIntersectionObserver.spec.js +1 -1
- package/src/components/wt-intersection-observer/wt-intersection-observer.vue +9 -8
- package/src/components/wt-item-link/_variables.scss +0 -1
- package/src/components/wt-label/_variables.scss +0 -1
- package/src/components/wt-label/wt-label.vue +1 -4
- package/src/components/wt-load-bar/_variables.scss +0 -1
- package/src/components/wt-load-bar/wt-load-bar.vue +0 -1
- package/src/components/wt-loader/_variables.scss +0 -2
- package/src/components/wt-loader/wt-loader.vue +1 -3
- package/src/components/wt-logo/wt-logo.vue +1 -1
- package/src/components/wt-navigation-bar/__tests__/WtNavigationBar.spec.js +9 -3
- package/src/components/wt-navigation-bar/_variables.scss +9 -3
- package/src/components/wt-navigation-bar/wt-navigation-bar.vue +27 -11
- package/src/components/wt-notification/_variables.scss +0 -1
- package/src/components/wt-notifications-bar/__tests__/WtNotificationsBar.spec.js +1 -1
- package/src/components/wt-notifications-bar/_variables.scss +1 -2
- package/src/components/wt-notifications-bar/wt-notifications-bar.vue +4 -2
- package/src/components/wt-page-header/wt-page-header.vue +3 -2
- package/src/components/wt-page-wrapper/__tests__/WtPageWrapper.spec.js +3 -1
- package/src/components/wt-page-wrapper/_variables.scss +0 -1
- package/src/components/wt-page-wrapper/wt-page-wrapper.vue +0 -2
- package/src/components/wt-pagination/_variables.scss +1 -2
- package/src/components/wt-pagination/wt-pagination.vue +2 -1
- package/src/components/wt-player/_variables.scss +6 -2
- package/src/components/wt-player/wt-player.vue +52 -53
- package/src/components/wt-popup/_variables.scss +0 -1
- package/src/components/wt-popup/wt-popup.vue +2 -8
- package/src/components/wt-progress-bar/_variables.scss +0 -1
- package/src/components/wt-progress-bar/wt-progress-bar.vue +7 -6
- package/src/components/wt-radio/_variables.scss +1 -2
- package/src/components/wt-radio/wt-radio.vue +1 -2
- package/src/components/wt-rounded-action/_variables.scss +3 -1
- package/src/components/wt-search-bar/_variables.scss +4 -2
- package/src/components/wt-search-bar/wt-search-bar.vue +10 -4
- package/src/components/wt-select/_multiselect.scss +9 -15
- package/src/components/wt-select/_variables.scss +3 -2
- package/src/components/wt-select/mixins/multiselectMixin.js +2 -1
- package/src/components/wt-select/wt-select.vue +25 -26
- package/src/components/wt-slider/_variables.scss +0 -1
- package/src/components/wt-slider/wt-slider.vue +3 -3
- package/src/components/wt-status-select/_variables.scss +8 -4
- package/src/components/wt-stepper/_variables.scss +0 -1
- package/src/components/wt-stepper/wt-stepper.vue +5 -5
- package/src/components/wt-switcher/_variables.scss +0 -1
- package/src/components/wt-switcher/wt-switcher.vue +2 -3
- package/src/components/wt-table/__tests__/WtTable.spec.js +8 -2
- package/src/components/wt-table/_variables.scss +0 -1
- package/src/components/wt-table/types/table-header.ts +8 -0
- package/src/components/wt-table/wt-table.vue +111 -109
- package/src/components/wt-table-actions/_variables.scss +1 -2
- package/src/components/wt-table-actions/wt-table-actions.vue +1 -2
- package/src/components/wt-table-column-select/wt-table-column-select.vue +11 -8
- package/src/components/wt-tabs/_variables.scss +0 -1
- package/src/components/wt-tabs/wt-tabs.vue +6 -6
- package/src/components/wt-tags-input/__tests__/WtTagsInput.spec.js +6 -6
- package/src/components/wt-tags-input/mixin/taggableMixin.js +3 -1
- package/src/components/wt-tags-input/wt-tags-input.vue +8 -10
- package/src/components/wt-textarea/__tests__/WtTextarea.spec.js +6 -2
- package/src/components/wt-textarea/_variables.scss +0 -1
- package/src/components/wt-textarea/wt-textarea.vue +6 -7
- package/src/components/wt-time-input/wt-time-input.vue +1 -2
- package/src/components/wt-timepicker/_variables.scss +1 -2
- package/src/components/wt-timepicker/wt-timepicker.vue +10 -8
- package/src/components/wt-tooltip/_internals/useTooltipTriggerSubscriptions.js +6 -1
- package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +1 -3
- package/src/components/wt-tooltip/_variables.scss +0 -1
- package/src/components/wt-tooltip/wt-tooltip.vue +13 -2
- package/src/components/wt-tree-table/_variables.scss +19 -0
- package/src/components/wt-tree-table/wt-tree-table.vue +323 -0
- package/src/components/wt-tree-table-row/wt-tree-table-row.vue +171 -0
- package/src/composables/useAccessControl/useAccessControl.js +12 -4
- package/src/composables/useCachedInterval/useCachedInterval.js +6 -2
- package/src/composables/useCachedItemInstanceName/useCachedItemInstanceName.js +4 -1
- package/src/composables/useCard/useCardComponent.js +10 -9
- package/src/composables/useCard/useCardTabs.js +6 -3
- package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +20 -10
- package/src/composables/useValidate/useValidate.js +1 -1
- package/src/composables/useWtTable/useWtTable.ts +25 -0
- package/src/css/main.scss +7 -1
- package/src/css/pages/table-page.scss +1 -2
- package/src/css/styleguide/border-radius/_border-radius.scss +1 -1
- package/src/css/styleguide/colors/_deprecated.scss +83 -24
- package/src/css/styleguide/colors/_palette.scss +1340 -251
- package/src/css/styleguide/colors/reusable/_text-field.scss +6 -2
- package/src/css/styleguide/fonts/_fonts.scss +36 -18
- package/src/css/styleguide/spacings/_spacings.scss +1 -1
- package/src/css/styleguide/transitions/_transitions.scss +1 -1
- package/src/css/styleguide/transitions/fade/_fade.scss +5 -4
- package/src/css/styleguide/viewport-breakpoints/_viewport-breakpoints.scss +0 -1
- package/src/enums/WebitelApplications/WebitelApplications.enum.js +7 -7
- package/src/enums/index.js +5 -10
- package/src/locale/en/en.js +4 -2
- package/src/locale/ru/ru.js +6 -3
- package/src/locale/ua/ua.js +6 -3
- package/src/mixins/dataFilterMixins/__tests__/apiFilterMixin.spec.js +2 -1
- package/src/mixins/dataFilterMixins/apiFilterMixin.js +3 -1
- package/src/mixins/dataFilterMixins/baseFilterMixin/baseFilterMixin.js +2 -1
- package/src/mixins/dataFilterMixins/enumFilterMixin.js +2 -1
- package/src/mixins/dataFilterMixins/paginationFilterMixin.js +4 -1
- package/src/mixins/dataFilterMixins/sortFilterMixin.js +2 -1
- package/src/mixins/validationMixin/useValidation.js +17 -7
- package/src/mixins/validationMixin/validationMixin.js +16 -8
- package/src/modules/AgentStatusSelect/api/pause-cause.js +4 -1
- package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +18 -6
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +3 -2
- package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +5 -2
- package/src/modules/Appearance/components/__tests__/wt-dark-mode-switcher.spec.js +6 -2
- package/src/modules/AuditForm/components/__tests__/audit-form-question-write-wrapper.spec.js +12 -4
- package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +18 -5
- package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +4 -2
- package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +15 -5
- package/src/modules/AuditForm/components/audit-form-question.vue +10 -4
- package/src/modules/AuditForm/components/audit-form.vue +24 -7
- package/src/modules/AuditForm/components/questions/options/__tests__/audit-form-question-options.spec.js +6 -2
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +5 -5
- package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +9 -4
- package/src/modules/CSVExport/CSVExport.js +5 -2
- package/src/modules/CSVExport/XLSExport.js +7 -7
- package/src/modules/CSVExport/__tests__/CSVExport.spec.js +4 -1
- package/src/modules/CSVExport/mixins/exportCSVMixin.js +3 -1
- package/src/modules/CSVExport/mixins/exportXLSMixin.js +3 -1
- package/src/modules/CardStoreModule/composables/useCardStore.js +6 -2
- package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +3 -3
- package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +6 -3
- package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -2
- package/src/modules/FilesExport/mixins/exportFilesMixin.js +6 -2
- package/src/modules/FilesExport/scripts/generateMediaURL.js +2 -1
- package/src/modules/Filters/classes/BaseFilterSchema.js +15 -6
- package/src/modules/Filters/components/filter-datetime.vue +7 -5
- package/src/modules/Filters/components/filter-pagination.vue +7 -5
- package/src/modules/Filters/components/filter-search.vue +4 -4
- package/src/modules/Filters/components/filter-select.vue +33 -24
- package/src/modules/Filters/components/filter-table-fields.vue +1 -3
- package/src/modules/Filters/composables/useTableFilters.js +3 -1
- package/src/modules/Filters/scripts/getters/localStorageGetter.js +6 -2
- package/src/modules/Filters/scripts/getters/queryGetter.js +2 -1
- package/src/modules/Filters/scripts/setters/localStorageSetter.js +6 -2
- package/src/modules/Filters/scripts/setters/querySetter.js +2 -1
- package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -1
- package/src/modules/Filters/store/FiltersStoreModule.js +3 -3
- package/src/modules/Notifications/store/NotificationsStoreModule.js +14 -5
- package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +10 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-role-select.vue +1 -3
- package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +8 -5
- package/src/modules/ObjectPermissions/_internals/modules/filters/store/filters.store.js +3 -4
- package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +1 -2
- package/src/modules/ObjectPermissions/_internals/store/modules/objectPermissionsStoreModule.js +10 -14
- package/src/modules/ObjectPermissions/components/permissions-tab.vue +12 -12
- package/src/modules/ObjectPermissions/store/index.js +2 -6
- package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +3 -1
- package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +6 -2
- package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +7 -2
- package/src/modules/QueryFilters/components/abstract-api-filter.vue +15 -5
- package/src/modules/QueryFilters/components/abstract-enum-filter.vue +15 -5
- package/src/modules/QueryFilters/components/filter-datetime.vue +1 -3
- package/src/modules/QueryFilters/components/filter-from-to.vue +1 -1
- package/src/modules/QueryFilters/components/filter-search.vue +1 -3
- package/src/modules/QueryFilters/components/filter-table-fields.vue +1 -3
- package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +4 -1
- package/src/modules/QueryFilters/mixins/baseFilterMixin/baseFilterMixin.js +9 -3
- package/src/modules/QueryFilters/mixins/enumFilterMixin.js +10 -3
- package/src/modules/QueryFilters/mixins/paginationFilterMixin.js +4 -2
- package/src/modules/QueryFilters/mixins/sortFilterMixin.js +2 -1
- package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +2 -1
- package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +10 -3
- package/src/modules/TableComponentModule/composables/useTableEmpty.js +13 -4
- package/src/modules/TableStoreModule/composables/useTableStore.js +18 -6
- package/src/modules/TableStoreModule/store/TableStoreModule.js +36 -21
- package/src/modules/TableStoreModule/store/__tests__/TableStoreModule.spec.js +7 -2
- package/src/modules/Userinfo/api/userinfo.js +4 -1
- package/src/modules/Userinfo/classes/ApplicationsAccess.js +3 -1
- package/src/modules/Userinfo/store/UserinfoStoreModule.js +25 -9
- package/src/plugins/breakpoint/breakpoint.plugin.js +2 -1
- package/src/scripts/__tests__/caseConverters.spec.js +4 -1
- package/src/scripts/__tests__/updateObject.spec.js +6 -2
- package/src/scripts/caseConverters.js +37 -29
- package/src/scripts/compareSize.ts +9 -6
- package/src/scripts/debounce.js +2 -1
- package/src/scripts/index.js +2 -8
- package/src/scripts/logger.js +4 -4
- package/src/scripts/preventHiddenPageCallsDecorator.js +6 -2
- package/src/scripts/saveAsJSON.js +3 -1
- package/src/scripts/sortQueryAdapters.js +11 -0
- package/src/store/BaseStoreModules/ApiStoreModule.js +26 -7
- package/src/store/BaseStoreModules/BaseStoreModule.js +2 -1
- package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +28 -7
- package/src/store/helpers/getNamespacedState.js +3 -1
- package/src/store/new/modules/apiStoreModule/apiStoreModule.js +19 -14
- package/src/store/new/modules/cardStoreModule/useCardStore.js +6 -2
- package/src/store/new/modules/tableStoreModule/__tests__/tableStoreModule.spec.js +6 -8
- package/src/store/new/modules/tableStoreModule/tableStoreModule.js +31 -28
- package/src/store/new/modules/tableStoreModule/useTableStore.js +18 -6
- package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +2 -1
- package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +3 -1
- package/src/components/wt-table/_internals/getSortOrder.js +0 -12
- /package/dist/img/sprite/{plus.svg → tree-expand.svg} +0 -0
- /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(
|
|
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(
|
|
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, [
|
|
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 } =
|
|
72
|
-
|
|
73
|
-
|
|
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, [
|
|
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(
|
|
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({
|
|
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(
|
|
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, [
|
|
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, [
|
|
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 } =
|
|
37
|
-
|
|
38
|
-
|
|
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, [
|
|
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, [
|
|
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, [
|
|
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(
|
|
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, [
|
|
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, [
|
|
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, {
|
|
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(
|
|
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(
|
|
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 }) =>
|
|
79
|
-
|
|
80
|
-
|
|
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 = [
|
|
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 = [
|
|
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 }
|
|
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(
|
|
120
|
-
|
|
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, [
|
|
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(
|
|
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(
|
|
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) =>
|
|
239
|
-
|
|
240
|
-
|
|
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(
|
|
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(
|
|
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'] =
|
|
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 = (
|
|
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) =>
|
|
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) =>
|
|
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
|
|
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
|
-
|
|
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,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>
|
package/src/components/index.js
CHANGED
|
@@ -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,
|
package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
class="nav-menu__option"
|
|
7
7
|
>
|
|
8
8
|
<button
|
|
9
|
-
:class="{
|
|
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
|
|
package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue
CHANGED
|
@@ -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,
|
|
59
|
+
&:hover,
|
|
60
|
+
&:active {
|
|
62
61
|
text-decoration: underline;
|
|
63
62
|
}
|
|
64
63
|
}
|