@webitel/ui-sdk 26.4.18 → 26.4.20
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/dist/{index-Dvhbo446.js → index-CeADjYK9.js} +1 -1
- package/dist/{index-B0AYwz58.js → index-DZ_bvNVs.js} +1 -1
- package/dist/{install-CrJnxpPS.js → install-Dofcp90y.js} +55 -61
- package/dist/{isObject-BsWrydYX.js → isObject-B2zd2O3f.js} +1 -1
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +1 -1
- package/dist/ui-sdk.umd.cjs +204 -204
- package/dist/{useVidstackSrc-Bmp2wHly.js → useVidstackSrc-D9uo15mF.js} +3 -4
- package/dist/{vidstack-Bq6c3Bam-N3JOOQyW.js → vidstack-Bq6c3Bam-Bs73fRdp.js} +3 -3
- package/dist/{vidstack-D2pY00kU-ByaRFZub.js → vidstack-D2pY00kU-BVC5bxHL.js} +3 -3
- package/dist/{vidstack-DDXt6fpN-H7PZzMEr.js → vidstack-DDXt6fpN-DA-lnlhX.js} +2 -2
- package/dist/{vidstack-D_-9AA6_-BgRVFwPt.js → vidstack-D_-9AA6_-C0QZLaX5.js} +2 -2
- package/dist/{vidstack-DqAw8m9J-BODJkoui.js → vidstack-DqAw8m9J-DAs7LwX_.js} +1 -1
- package/dist/{vidstack-audio-Cnpq73DL.js → vidstack-audio-BrbZotHa.js} +2 -2
- package/dist/{vidstack-dash-Bzo3Gzfd.js → vidstack-dash-KNjyvq2R.js} +4 -4
- package/dist/{vidstack-google-cast--giiu8Z5.js → vidstack-google-cast-DMZQ1jRD.js} +4 -4
- package/dist/{vidstack-hls-CrDFf1Gs.js → vidstack-hls-BfOysul0.js} +4 -4
- package/dist/{vidstack-video-h7Tsw5LU.js → vidstack-video-PWMSQ3Gk.js} +3 -3
- package/dist/{vidstack-vimeo-CbcdGN2R.js → vidstack-vimeo-C5Khtd48.js} +4 -4
- package/dist/{vidstack-youtube-DKzx3LPK.js → vidstack-youtube-CPcpsir2.js} +3 -3
- package/dist/{wt-action-bar-GCDVmO0b.js → wt-action-bar-By55sdZf.js} +1 -1
- package/dist/{wt-button-select-BBsJj7FV.js → wt-button-select-C34W0lYV.js} +1 -1
- package/dist/{wt-chat-emoji-MhnNs-SG.js → wt-chat-emoji-DjgWXA_2.js} +2 -2
- package/dist/{wt-confirm-dialog-B4J3ZU2r.js → wt-confirm-dialog-GNka4gxY.js} +1 -1
- package/dist/{wt-context-menu-Cekc6Rva.js → wt-context-menu-Bjl5aGzG.js} +1 -1
- package/dist/{wt-copy-action-CT_0bHmt.js → wt-copy-action-Xo2DsqJZ.js} +1 -1
- package/dist/{wt-datepicker-B513Tw-Z.js → wt-datepicker-CL3jLy5h.js} +1 -1
- package/dist/{wt-display-chip-items-CMB33VOU.js → wt-display-chip-items-CCNWd5Nt.js} +1 -1
- package/dist/{wt-dual-panel-DjHHFx8Y.js → wt-dual-panel-CMUeBmf-.js} +1 -1
- package/dist/{wt-dummy-BivOEKRK.js → wt-dummy-BOgeleXm.js} +1 -1
- package/dist/{wt-error-page-krwX0484.js → wt-error-page-Ctl0-_Yp.js} +1 -1
- package/dist/{wt-expansion-card-Mrne6YQJ.js → wt-expansion-card-BCOBdTuS.js} +1 -1
- package/dist/{wt-expansion-panel-D0SABYA1.js → wt-expansion-panel-C7W_5dxd.js} +1 -1
- package/dist/{wt-filters-panel-wrapper-Dffe4cS8.js → wt-filters-panel-wrapper-CkLHeV4o.js} +1 -1
- package/dist/{wt-galleria-CB3UNqGT.js → wt-galleria-Bls8Xxh4.js} +2 -2
- package/dist/{wt-navigation-menu-CozB-VN3.js → wt-navigation-menu-CFPMD9o1.js} +1 -1
- package/dist/{wt-notifications-bar-CBv9RpW3.js → wt-notifications-bar-BTDN7hSn.js} +2 -2
- package/dist/{wt-pagination-CrnHm3Ei.js → wt-pagination-DtjeKcpO.js} +1 -1
- package/dist/{wt-player-Be7Ts4oe.js → wt-player-Co3Ib7qU.js} +13 -13
- package/dist/{wt-screen-recordings-action-VJpYH40a.js → wt-screen-recordings-action-CmY7R2B-.js} +1 -1
- package/dist/{wt-search-bar-BNUpiOyg.js → wt-search-bar-CmN8Nq-n.js} +1 -1
- package/dist/{wt-selection-popup-DZG_s5cn.js → wt-selection-popup-BNKNa5jy.js} +1 -1
- package/dist/{wt-start-page-B1Ya211Z.js → wt-start-page-BC4r_EPK.js} +1 -1
- package/dist/{wt-status-select-ByEBtG_Z.js → wt-status-select-CBq_ihcS.js} +11 -14
- package/dist/{wt-stepper-Bke8hGIN.js → wt-stepper-DvmRISSE.js} +1 -1
- package/dist/{wt-table-rT0puxyU.js → wt-table-BDnXcyai.js} +14 -14
- package/dist/{wt-table-actions-D2QF78Jq.js → wt-table-actions-52X557c8.js} +1 -1
- package/dist/{wt-table-column-select-BtcIByjb.js → wt-table-column-select-vKGXHla2.js} +2 -2
- package/dist/{wt-tabs-BIn8m45h.js → wt-tabs-zXlsvaeU.js} +16 -17
- package/dist/{wt-tags-input-Bz3T5KC7.js → wt-tags-input-B8w0KXPv.js} +2 -2
- package/dist/{wt-timepicker-CuMYCWnA.js → wt-timepicker-Cm4aLsPK.js} +1 -1
- package/dist/{wt-tree-DftQx0vm.js → wt-tree-IVOTwA3x.js} +4 -4
- package/dist/{wt-tree-table-Cqt8iSLj.js → wt-tree-table-zA7HHvru.js} +3 -3
- package/dist/{wt-type-extension-value-input-rX_qRFjQ.js → wt-type-extension-value-input-DTmneCoP.js} +4 -7
- package/dist/{wt-vidstack-player-CWmoXIAG.js → wt-vidstack-player-DHmGgiDL.js} +13 -13
- package/package.json +7 -2
- package/src/api/clients/agents/agentChats.js +0 -1
- package/src/api/clients/agents/agents.js +1 -1
- package/src/api/clients/caseSources/caseSources.ts +1 -1
- package/src/api/clients/chatGateways/defaults/webChatGateway.js +5 -5
- package/src/api/clients/contactGroups/contactGroups.js +0 -1
- package/src/api/clients/flows/flow.js +2 -4
- package/src/api/clients/queues/queues.js +16 -22
- package/src/api/clients/users/users.js +10 -2
- package/src/api/clients//321/201ontacts/contacts.js +0 -1
- package/src/api/clients//321/201ontacts/index.js +1 -1
- package/src/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.js +1 -1
- package/src/api/transformers/addQueryParamsToUrl/addQueryParamsToUrl.transformer.js +2 -2
- package/src/api/transformers/sanitize/sanitize.transformer.js +2 -4
- package/src/api/websocket/WebSocketClientController.ts +6 -4
- package/src/components/index.js +3 -3
- package/src/components/wt-app-header/wt-app-navigator.vue +8 -11
- package/src/components/wt-galleria/wt-galleria.vue +1 -1
- package/src/components/wt-intersection-observer/wt-intersection-observer.vue +1 -1
- package/src/components/wt-player/src/components/buttons/mute-button.vue +0 -1
- package/src/components/wt-rounded-action/_variables.css +0 -3
- package/src/components/wt-select/mixins/multiselectMixin.js +0 -1
- package/src/components/wt-select/multiselect.css +2 -0
- package/src/components/wt-select/wt-select-v2.vue +3 -2
- package/src/components/wt-status-select/wt-status-select.vue +2 -4
- package/src/components/wt-switcher/wt-switcher.vue +1 -1
- package/src/components/wt-table/wt-table.vue +1 -1
- package/src/components/wt-tabs/wt-tabs.vue +1 -2
- package/src/components/wt-textarea/wt-textarea.vue +3 -4
- package/src/components/wt-tree/__tests__/WtTree.spec.js +1 -1
- package/src/components/wt-tree/wt-tree.vue +92 -60
- package/src/components/wt-tree-line/wt-tree-line.vue +2 -2
- package/src/components/wt-tree-table/wt-tree-table.vue +90 -84
- package/src/components/wt-tree-table-row/wt-tree-table-row.vue +2 -2
- package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +2 -2
- package/src/components/wt-vidstack-player/composables/useVidstackSrc.ts +1 -1
- package/src/composables/useCachedInterval/__tests__/useCachedInterval.spec.js +1 -1
- package/src/composables/useCard/useCardComponent.js +1 -1
- package/src/composables/useInputControl/useInputControl.ts +1 -1
- package/src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause.js +1 -1
- package/src/composables/useTableColumnDrag/useTableColumnDrag.ts +1 -1
- package/src/enums/index.ts +0 -1
- package/src/install.ts +1 -1
- package/src/locale/en/en.js +5 -2
- package/src/locale/es/es.js +5 -2
- package/src/locale/kz/kz.js +7 -6
- package/src/locale/pl/pl.js +7 -6
- package/src/locale/ro/ro.js +5 -2
- package/src/locale/ru/ru.js +5 -2
- package/src/locale/uk/uk.js +5 -2
- package/src/locale/uz/uz.js +5 -2
- package/src/locale/vi/vi.js +5 -2
- package/src/mixins/dataFilterMixins/__tests__/sortFilterMixin.spec.js +1 -1
- package/src/modules/AgentPdfs/components/agent-pdfs-tab.vue +104 -96
- package/src/modules/AgentStatusSelect/api/agent-status.js +9 -13
- package/src/modules/AuditForm/components/audit-form.vue +1 -1
- package/src/modules/AuditForm/components/form-answers/answer-editing-info/audit-form-answer-editing-info.vue +1 -1
- package/src/modules/CSVExport/XLSExport.js +5 -7
- package/src/modules/CSVExport/composables/useCSVExport.ts +3 -3
- package/src/modules/CSVExport/mixins/exportCSVMixin.js +1 -5
- package/src/modules/CSVExport/mixins/exportXLSMixin.js +1 -5
- package/src/modules/FilesExport/composables/useFilesExport.ts +1 -1
- package/src/modules/FilesExport/types/types.ts +1 -1
- package/src/modules/Filters/store/FiltersStoreModule.js +27 -27
- package/src/modules/Flow/enums/FlowApp.enum.ts +88 -0
- package/src/modules/Flow/index.ts +2 -0
- package/src/modules/Flow/lookups/FlowTypeApplications.lookup.ts +120 -0
- package/src/modules/Notifications/store/NotificationsStoreModule.js +1 -1
- package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js +0 -4
- package/src/modules/ObjectPermissions/components/permissions-tab.vue +5 -7
- package/src/modules/QueryFilters/mixins/__tests__/apiFilterMixin.spec.js +2 -2
- package/src/modules/QueryFilters/mixins/__tests__/sortFilterMixin.spec.js +1 -1
- package/src/modules/QueryFilters/store/QueryFiltersStoreModule.js +5 -6
- package/src/modules/TableStoreModule/store/TableStoreModule.js +10 -18
- package/src/modules/UploadCsvPopup/scripts/normalizeCSVData.ts +9 -9
- package/src/modules/UploadCsvPopup/scripts/parseCSV.ts +1 -1
- package/src/modules/Userinfo/composables/createUserAccessControl.ts +2 -2
- package/src/modules/Userinfo/composables/types/CreateUserAccessControl.d.ts +2 -4
- package/src/modules/Userinfo/scripts/utils.ts +4 -2
- package/src/scripts/compareSize.ts +7 -6
- package/src/store/new/modules/tableStoreModule/tableStoreModule.js +17 -29
- package/src/validations/vuelidate/validators/decimalValidator.js +2 -1
- package/src/validations/vuelidate/validators/websocketValidator/websocketValidator.js +1 -1
- package/types/api/clients//321/201ontacts/index.d.ts +2 -2
- package/types/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.d.ts +1 -1
- package/types/components/wt-switcher/wt-switcher.vue.d.ts +1 -1
- package/types/components/wt-table/wt-table.vue.d.ts +1 -1
- package/types/components/wt-textarea/wt-textarea.vue.d.ts +3 -4
- package/types/components/wt-tree/wt-tree.vue.d.ts +6 -6
- package/types/components/wt-tree-line/wt-tree-line.vue.d.ts +2 -2
- package/types/components/wt-tree-table/wt-tree-table.vue.d.ts +2 -2
- package/types/components/wt-tree-table-row/wt-tree-table-row.vue.d.ts +1 -1
- package/types/install.d.ts +1 -2
- package/types/locale/en/en.d.ts +1 -0
- package/types/locale/es/es.d.ts +2 -0
- package/types/locale/i18n.d.ts +9 -0
- package/types/locale/index.d.ts +9 -0
- package/types/locale/kz/kz.d.ts +2 -0
- package/types/locale/pl/pl.d.ts +2 -0
- package/types/locale/ro/ro.d.ts +2 -0
- package/types/locale/ru/ru.d.ts +2 -0
- package/types/locale/uk/uk.d.ts +2 -0
- package/types/locale/uz/uz.d.ts +2 -0
- package/types/locale/vi/vi.d.ts +2 -0
- package/types/modules/AgentPdfs/components/agent-pdfs-tab.vue.d.ts +1 -1
- package/types/modules/CSVExport/composables/useCSVExport.d.ts +3 -3
- package/types/modules/FilesExport/composables/useFilesExport.d.ts +1 -1
- package/types/modules/FilesExport/types/types.d.ts +1 -1
- package/types/modules/Filters/store/FiltersStoreModule.d.ts +2 -2
- package/types/modules/Flow/enums/FlowApp.enum.d.ts +83 -0
- package/types/modules/Flow/index.d.ts +2 -0
- package/types/modules/Flow/lookups/FlowTypeApplications.lookup.d.ts +8 -0
- package/types/modules/Notifications/store/NotificationsStoreModule.d.ts +1 -1
- package/types/modules/TableStoreModule/store/TableStoreModule.d.ts +2 -2
- package/types/modules/Userinfo/composables/createUserAccessControl.d.ts +2 -2
- package/types/modules/Userinfo/scripts/utils.d.ts +1 -1
- package/types/store/new/modules/tableStoreModule/tableStoreModule.d.ts +2 -2
|
@@ -1,29 +1,62 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
2
|
+
<div class="wt-tree">
|
|
3
|
+
<div
|
|
4
|
+
v-if="mode === WtTreeMode.Tree"
|
|
5
|
+
class="wt-tree__content"
|
|
6
|
+
>
|
|
7
|
+
<wt-tree-line
|
|
8
|
+
v-for="(item, index) in data"
|
|
9
|
+
:key="index"
|
|
10
|
+
:model-value="modelValue"
|
|
11
|
+
:item-label="itemLabel"
|
|
12
|
+
:item-data="itemData"
|
|
13
|
+
:data="item"
|
|
14
|
+
:children-prop="childrenProp"
|
|
15
|
+
:multiple="multiple"
|
|
16
|
+
:allow-parent="allowParent"
|
|
17
|
+
@update:model-value="emit('update:modelValue', $event)"
|
|
18
|
+
>
|
|
19
|
+
<template
|
|
20
|
+
v-if="$slots['item-prefix']"
|
|
21
|
+
#item-prefix="slotProps"
|
|
22
|
+
>
|
|
23
|
+
<slot
|
|
24
|
+
name="item-prefix"
|
|
25
|
+
v-bind="slotProps"
|
|
26
|
+
/>
|
|
27
|
+
</template>
|
|
28
|
+
</wt-tree-line>
|
|
29
|
+
</div>
|
|
30
|
+
<div
|
|
31
|
+
v-if="mode === WtTreeMode.List"
|
|
32
|
+
class="wt-tree__list-content"
|
|
33
|
+
>
|
|
34
|
+
<span
|
|
35
|
+
v-for="(item, index) in allData"
|
|
36
|
+
:key="index"
|
|
37
|
+
class="wt-tree__label-wrapper"
|
|
38
|
+
:class="{ active: compareSelectElement(item) }"
|
|
39
|
+
>
|
|
40
|
+
<p
|
|
41
|
+
class="wt-tree__label"
|
|
42
|
+
@click="selectElement(item)"
|
|
43
|
+
>
|
|
44
|
+
{{ itemLabel ? item[itemLabel] : item }}
|
|
45
|
+
</p>
|
|
46
|
+
<wt-icon
|
|
47
|
+
v-if="compareSelectElement(item)"
|
|
48
|
+
icon="chat-message-status-sent"
|
|
49
|
+
class="wt-tree__label-icon"
|
|
50
|
+
/>
|
|
51
|
+
</span>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
24
54
|
</template>
|
|
25
55
|
|
|
26
|
-
<script
|
|
56
|
+
<script
|
|
57
|
+
setup
|
|
58
|
+
lang="ts"
|
|
59
|
+
>
|
|
27
60
|
import deepEqual from 'deep-equal';
|
|
28
61
|
import { computed } from 'vue';
|
|
29
62
|
|
|
@@ -35,11 +68,11 @@ const props = withDefaults(
|
|
|
35
68
|
/**
|
|
36
69
|
* Selected element, it can be an object or a string, related to itemData props
|
|
37
70
|
*/
|
|
38
|
-
modelValue?: null |
|
|
71
|
+
modelValue?: null | unknown;
|
|
39
72
|
/**
|
|
40
73
|
* You need to pass an array of objects that will be displayed in the tree
|
|
41
74
|
*/
|
|
42
|
-
data:
|
|
75
|
+
data: unknown[];
|
|
43
76
|
/**
|
|
44
77
|
* You can pass the name of the property that will be used as the label of the selected item
|
|
45
78
|
*/
|
|
@@ -68,18 +101,18 @@ const props = withDefaults(
|
|
|
68
101
|
);
|
|
69
102
|
|
|
70
103
|
const emit = defineEmits<{
|
|
71
|
-
(e: 'select', data:
|
|
72
|
-
(e: 'update:modelValue', value:
|
|
104
|
+
(e: 'select', data: unknown): void;
|
|
105
|
+
(e: 'update:modelValue', value: unknown): void;
|
|
73
106
|
}>();
|
|
74
107
|
|
|
75
108
|
const allData = computed(() => {
|
|
76
109
|
const result = [];
|
|
77
110
|
|
|
78
|
-
const getNestedItems = (item:
|
|
111
|
+
const getNestedItems = (item: unknown) => {
|
|
79
112
|
result.push(item);
|
|
80
113
|
|
|
81
114
|
if (item[props.childrenProp]) {
|
|
82
|
-
item[props.childrenProp].forEach((child:
|
|
115
|
+
item[props.childrenProp].forEach((child: unknown) => {
|
|
83
116
|
getNestedItems(child);
|
|
84
117
|
});
|
|
85
118
|
}
|
|
@@ -92,11 +125,11 @@ const allData = computed(() => {
|
|
|
92
125
|
return result;
|
|
93
126
|
});
|
|
94
127
|
|
|
95
|
-
const selectElement = (item:
|
|
128
|
+
const selectElement = (item: unknown) => {
|
|
96
129
|
emit('update:modelValue', props.itemData ? item[props.itemData] : item);
|
|
97
130
|
};
|
|
98
131
|
|
|
99
|
-
const compareSelectElement = (item:
|
|
132
|
+
const compareSelectElement = (item: unknown) => {
|
|
100
133
|
if (props.itemData) {
|
|
101
134
|
return item[props.itemData] === props.modelValue;
|
|
102
135
|
}
|
|
@@ -107,52 +140,51 @@ const compareSelectElement = (item: any) => {
|
|
|
107
140
|
|
|
108
141
|
<style scoped>
|
|
109
142
|
.wt-tree {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
143
|
+
border-radius: var(--border-radius);
|
|
144
|
+
background: var(--content-wrapper-color);
|
|
145
|
+
padding: var(--spacing-sm);
|
|
146
|
+
overflow: auto;
|
|
114
147
|
}
|
|
115
148
|
|
|
116
149
|
.wt-tree__content {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
150
|
+
display: flex;
|
|
151
|
+
flex-direction: column;
|
|
152
|
+
padding-right: var(--spacing-2xs);
|
|
153
|
+
height: 100%;
|
|
154
|
+
overflow: auto;
|
|
122
155
|
}
|
|
123
156
|
|
|
124
157
|
.wt-tree__list-content {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
158
|
+
display: flex;
|
|
159
|
+
flex-direction: column;
|
|
160
|
+
align-items: flex-start;
|
|
161
|
+
gap: var(--spacing-xs);
|
|
162
|
+
padding-right: var(--spacing-2xs);
|
|
163
|
+
height: 100%;
|
|
164
|
+
overflow: auto;
|
|
132
165
|
}
|
|
133
166
|
|
|
134
167
|
.wt-tree__label-wrapper {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
168
|
+
display: flex;
|
|
169
|
+
align-items: center;
|
|
170
|
+
transition: var(--transition);
|
|
171
|
+
cursor: pointer;
|
|
172
|
+
border-radius: var(--border-radius);
|
|
173
|
+
padding: 0 var(--spacing-2xs);
|
|
174
|
+
color: var(--wt-tree-item-on);
|
|
142
175
|
}
|
|
143
176
|
|
|
144
177
|
.wt-tree__label-wrapper:hover {
|
|
145
|
-
|
|
146
|
-
|
|
178
|
+
background: var(--wt-tree-item-hover);
|
|
179
|
+
color: var(--wt-tree-item-hover-on);
|
|
147
180
|
}
|
|
148
181
|
|
|
149
182
|
.wt-tree__label-wrapper.active {
|
|
150
|
-
|
|
151
|
-
|
|
183
|
+
background: var(--wt-tree-item-active);
|
|
184
|
+
color: var(--wt-tree-item-active-on);
|
|
152
185
|
}
|
|
153
186
|
|
|
154
187
|
.wt-tree__label-icon {
|
|
155
|
-
|
|
188
|
+
flex-shrink: 0;
|
|
156
189
|
}
|
|
157
|
-
|
|
158
190
|
</style>
|
|
@@ -121,7 +121,7 @@ const props = withDefaults(
|
|
|
121
121
|
|
|
122
122
|
const emit = defineEmits<{
|
|
123
123
|
(e: 'openParent'): void;
|
|
124
|
-
(e: 'update:modelValue', value:
|
|
124
|
+
(e: 'update:modelValue', value: unknown): void;
|
|
125
125
|
}>();
|
|
126
126
|
|
|
127
127
|
const label = computed(() =>
|
|
@@ -260,7 +260,7 @@ const setMultipleModelValueWithTree = () => {
|
|
|
260
260
|
|
|
261
261
|
const setMultipleModelValue = () => {
|
|
262
262
|
const value = props.itemData ? props.data[props.itemData] : props.data;
|
|
263
|
-
let existingIndex;
|
|
263
|
+
let existingIndex: number;
|
|
264
264
|
|
|
265
265
|
if (props.itemData) {
|
|
266
266
|
existingIndex = props.modelValue.indexOf(props.data[props.itemData]);
|
|
@@ -1,101 +1,104 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="wt-tree-table wt-scrollbar">
|
|
3
|
-
<table
|
|
4
|
-
class="wt-tree-table-wrapper"
|
|
5
|
-
>
|
|
3
|
+
<table class="wt-tree-table-wrapper">
|
|
6
4
|
<thead class="wt-tree-table-head">
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
<tr class="wt-tree-table-tr wt-tree-table-tr-head">
|
|
6
|
+
<th
|
|
7
|
+
v-for="(col, key) of dataHeaders"
|
|
8
|
+
:key="String(key) + col?.sort"
|
|
9
|
+
:class="[
|
|
12
10
|
{
|
|
13
11
|
'wt-tree-table-th--sortable': isColSortable(col),
|
|
14
12
|
},
|
|
15
13
|
`wt-tree-table-th--sort-${col.sort}`,
|
|
16
14
|
]"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<div class="wt-tree-table-th__content"
|
|
22
|
-
:class="{'wt-tree-table-th__content--selectable': key === 0 && selectable}">
|
|
15
|
+
:style="col.width ? `min-width:${col.width}` : ''"
|
|
16
|
+
class="wt-tree-table-th typo-body-1"
|
|
17
|
+
@click="sort(col, key)"
|
|
18
|
+
>
|
|
23
19
|
<div
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
class="wt-tree-table-th__content"
|
|
21
|
+
:class="{ 'wt-tree-table-th__content--selectable': key === 0 && selectable }"
|
|
26
22
|
>
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
@
|
|
23
|
+
<div
|
|
24
|
+
v-if="key === 0 && selectable"
|
|
25
|
+
@click.stop
|
|
26
|
+
>
|
|
27
|
+
<wt-checkbox
|
|
28
|
+
:selected="isAllSelected"
|
|
29
|
+
@update:selected="selectAll"
|
|
30
|
+
/>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="wt-tree-table-th__text">
|
|
33
|
+
{{ col.text }}
|
|
34
|
+
</div>
|
|
35
|
+
<wt-icon
|
|
36
|
+
v-if="sortable"
|
|
37
|
+
class="wt-tree-table-th-sort-arrow wt-tree-table-th-sort-arrow--asc"
|
|
38
|
+
icon="sort-arrow-up"
|
|
39
|
+
size="sm"
|
|
40
|
+
/>
|
|
41
|
+
<wt-icon
|
|
42
|
+
v-if="sortable"
|
|
43
|
+
class="wt-tree-table-th-sort-arrow wt-tree-table-th-sort-arrow--desc"
|
|
44
|
+
icon="sort-arrow-down"
|
|
45
|
+
size="sm"
|
|
30
46
|
/>
|
|
31
47
|
</div>
|
|
32
|
-
|
|
33
|
-
|
|
48
|
+
</th>
|
|
49
|
+
<th
|
|
50
|
+
v-if="gridActions"
|
|
51
|
+
class="wt-tree-table-th__actions"
|
|
52
|
+
>
|
|
53
|
+
<div class="wt-tree-table-th__content">
|
|
54
|
+
<slot name="actions-header" />
|
|
34
55
|
</div>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class="wt-tree-table-th-sort-arrow wt-tree-table-th-sort-arrow--asc"
|
|
38
|
-
icon="sort-arrow-up"
|
|
39
|
-
size="sm"
|
|
40
|
-
/>
|
|
41
|
-
<wt-icon
|
|
42
|
-
v-if="sortable"
|
|
43
|
-
class="wt-tree-table-th-sort-arrow wt-tree-table-th-sort-arrow--desc"
|
|
44
|
-
icon="sort-arrow-down"
|
|
45
|
-
size="sm"
|
|
46
|
-
/>
|
|
47
|
-
</div>
|
|
48
|
-
</th>
|
|
49
|
-
<th
|
|
50
|
-
v-if="gridActions"
|
|
51
|
-
class="wt-tree-table-th__actions"
|
|
52
|
-
>
|
|
53
|
-
<div class="wt-tree-table-th__content">
|
|
54
|
-
<slot name="actions-header" />
|
|
55
|
-
</div>
|
|
56
|
-
</th>
|
|
57
|
-
</tr>
|
|
56
|
+
</th>
|
|
57
|
+
</tr>
|
|
58
58
|
</thead>
|
|
59
59
|
|
|
60
60
|
<tbody class="wt-tree-table-body">
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
>
|
|
73
|
-
<template #actions="{ item }">
|
|
74
|
-
<slot
|
|
75
|
-
name="actions"
|
|
76
|
-
:item="item"
|
|
77
|
-
/>
|
|
78
|
-
</template>
|
|
79
|
-
<template
|
|
80
|
-
v-for="(col, headerKey) of dataHeaders"
|
|
81
|
-
:key="headerKey"
|
|
82
|
-
#[col.value]="{ item }"
|
|
61
|
+
<wt-tree-table-row
|
|
62
|
+
v-for="(row, dataKey) of data"
|
|
63
|
+
:key="dataKey"
|
|
64
|
+
:row-position="dataKey"
|
|
65
|
+
:data-headers="dataHeaders"
|
|
66
|
+
:data="row"
|
|
67
|
+
:selectable="selectable"
|
|
68
|
+
:children-prop="childrenProp"
|
|
69
|
+
:selected-elements="selectedElements"
|
|
70
|
+
:searched-prop="searchedProp"
|
|
71
|
+
@update:selected="handleSelection($event.data, $event.select)"
|
|
83
72
|
>
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
73
|
+
<template #actions="{ item }">
|
|
74
|
+
<slot
|
|
75
|
+
name="actions"
|
|
76
|
+
:item="item"
|
|
77
|
+
/>
|
|
78
|
+
</template>
|
|
79
|
+
<template
|
|
80
|
+
v-for="(col, headerKey) of dataHeaders"
|
|
81
|
+
:key="headerKey"
|
|
82
|
+
#[col.value]="{ item }"
|
|
88
83
|
>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
84
|
+
<slot
|
|
85
|
+
:index="dataKey"
|
|
86
|
+
:item="item"
|
|
87
|
+
:name="col.value"
|
|
88
|
+
>
|
|
89
|
+
{{ item[col.value] }}
|
|
90
|
+
</slot>
|
|
91
|
+
</template>
|
|
92
|
+
</wt-tree-table-row>
|
|
93
93
|
</tbody>
|
|
94
94
|
</table>
|
|
95
95
|
</div>
|
|
96
96
|
</template>
|
|
97
97
|
|
|
98
|
-
<script
|
|
98
|
+
<script
|
|
99
|
+
setup
|
|
100
|
+
lang="ts"
|
|
101
|
+
>
|
|
99
102
|
import { computed, toRef } from 'vue';
|
|
100
103
|
|
|
101
104
|
import { useWtTable } from '../../composables/useWtTable/useWtTable';
|
|
@@ -113,7 +116,7 @@ const props = withDefaults(
|
|
|
113
116
|
/**
|
|
114
117
|
* 'List of data, represented by table. '
|
|
115
118
|
*/
|
|
116
|
-
data: Record<string,
|
|
119
|
+
data: Record<string, unknown>[];
|
|
117
120
|
/**
|
|
118
121
|
* 'If true, draws sorting arrows and sends sorting events at header click. Draws a sorting arrow by "sort": "asc"/"desc" header value. '
|
|
119
122
|
*/
|
|
@@ -122,7 +125,7 @@ const props = withDefaults(
|
|
|
122
125
|
* 'If true, draws row selection checkboxes. Checkbox toggles data object _isSelected property. It's IMPORTANT to set this property before sending data to table. '
|
|
123
126
|
*/
|
|
124
127
|
selectable?: boolean;
|
|
125
|
-
selected:
|
|
128
|
+
selected: unknown[];
|
|
126
129
|
/**
|
|
127
130
|
* 'If true, reserves space for 3 icon actions in the last column. Accessible by "actions" slot. '
|
|
128
131
|
*/
|
|
@@ -149,14 +152,14 @@ const emit = defineEmits([
|
|
|
149
152
|
'update:selected',
|
|
150
153
|
]);
|
|
151
154
|
|
|
152
|
-
const checkHasChildItems = (item: Record<string,
|
|
155
|
+
const checkHasChildItems = (item: Record<string, unknown>) => {
|
|
153
156
|
return item[props.childrenProp] && Array.isArray(item[props.childrenProp]);
|
|
154
157
|
};
|
|
155
158
|
|
|
156
|
-
const getSelectedValue = (items: Record<string,
|
|
159
|
+
const getSelectedValue = (items: Record<string, unknown>[]) => {
|
|
157
160
|
const selected = [];
|
|
158
161
|
|
|
159
|
-
const pushSelectedElement = (item: Record<string,
|
|
162
|
+
const pushSelectedElement = (item: Record<string, unknown>) => {
|
|
160
163
|
if (item._isSelected) {
|
|
161
164
|
return [
|
|
162
165
|
item,
|
|
@@ -173,10 +176,10 @@ const getSelectedValue = (items: Record<string, any>[]) => {
|
|
|
173
176
|
return selected;
|
|
174
177
|
};
|
|
175
178
|
|
|
176
|
-
const getAllNestedElements = (item: Record<string,
|
|
179
|
+
const getAllNestedElements = (item: Record<string, unknown>) => {
|
|
177
180
|
const nested = [];
|
|
178
181
|
|
|
179
|
-
const pushElement = (item: Record<string,
|
|
182
|
+
const pushElement = (item: Record<string, unknown>) => {
|
|
180
183
|
nested.push(item);
|
|
181
184
|
|
|
182
185
|
if (checkHasChildItems(item)) {
|
|
@@ -189,7 +192,7 @@ const getAllNestedElements = (item: Record<string, any>) => {
|
|
|
189
192
|
return nested;
|
|
190
193
|
};
|
|
191
194
|
|
|
192
|
-
const selectedElements = computed<Record<string,
|
|
195
|
+
const selectedElements = computed<Record<string, unknown>[]>(() => {
|
|
193
196
|
// _isSelected for backwards compatibility
|
|
194
197
|
return props.selected || getSelectedValue(props.data);
|
|
195
198
|
});
|
|
@@ -220,7 +223,10 @@ const sort = (col: WtTableHeader) => {
|
|
|
220
223
|
emit('sort', col, nextSort);
|
|
221
224
|
};
|
|
222
225
|
|
|
223
|
-
const changeSelectItem = (
|
|
226
|
+
const changeSelectItem = (
|
|
227
|
+
items: Record<string, unknown>[],
|
|
228
|
+
selected: boolean,
|
|
229
|
+
) => {
|
|
224
230
|
items.forEach((item) => {
|
|
225
231
|
item._isSelected = selected;
|
|
226
232
|
|
|
@@ -124,7 +124,7 @@ const props = withDefaults(
|
|
|
124
124
|
*/
|
|
125
125
|
childrenProp: string;
|
|
126
126
|
selectable?: boolean;
|
|
127
|
-
selectedElements: Record<string,
|
|
127
|
+
selectedElements: Record<string, unknown>[];
|
|
128
128
|
dataHeaders: WtTableHeader[];
|
|
129
129
|
gridActions?: boolean;
|
|
130
130
|
/**
|
|
@@ -166,7 +166,7 @@ const openCollapse = () => {
|
|
|
166
166
|
emit('expanded-collapse');
|
|
167
167
|
};
|
|
168
168
|
|
|
169
|
-
const hasSearchedElement = (data: Record<string,
|
|
169
|
+
const hasSearchedElement = (data: Record<string, unknown>, nestedLevel = 0) => {
|
|
170
170
|
// Check if the object itself has searched
|
|
171
171
|
if (data[props.searchedProp] && nestedLevel) return true;
|
|
172
172
|
|
|
@@ -109,6 +109,6 @@ export function normalizeVidstackMediaSrc({
|
|
|
109
109
|
/**
|
|
110
110
|
* "video/object" or "audio/object" types represent JS objects like MediaStream or file Blob
|
|
111
111
|
*/
|
|
112
|
-
function isObjectSrcType({
|
|
112
|
+
function isObjectSrcType({ type }: { src: unknown; type: string }) {
|
|
113
113
|
return type?.includes('/object');
|
|
114
114
|
}
|
|
@@ -8,7 +8,7 @@ describe('useCachedInterval', () => {
|
|
|
8
8
|
});
|
|
9
9
|
subscribe(callback);
|
|
10
10
|
expect(callback).toHaveBeenCalledTimes(1);
|
|
11
|
-
return await new Promise((resolve
|
|
11
|
+
return await new Promise((resolve) =>
|
|
12
12
|
setTimeout(() => {
|
|
13
13
|
expect(callback).toHaveBeenCalledTimes(2);
|
|
14
14
|
resolve();
|
|
@@ -12,7 +12,7 @@ const isDurationOverflow = ({ durationMin, limitMin }) => {
|
|
|
12
12
|
return durationMin > limitMin && limitMin !== 0;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
const duration = ({ durationMin
|
|
15
|
+
const duration = ({ durationMin /* limitMin */ }) => {
|
|
16
16
|
return prettifyPauseCauseDuration(durationMin);
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -52,7 +52,7 @@ export const useTableColumnDrag = (table, reorderableColumns) => {
|
|
|
52
52
|
copyEl.style.position = 'absolute';
|
|
53
53
|
copyEl.style.top = '-9999px';
|
|
54
54
|
copyEl.style.background = 'var(--p-datatable-header-cell-drag-background)';
|
|
55
|
-
copyEl.style.width = event.target.offsetWidth
|
|
55
|
+
copyEl.style.width = `${event.target.offsetWidth}px`;
|
|
56
56
|
document.body.appendChild(copyEl);
|
|
57
57
|
event.dataTransfer.setDragImage(copyEl, event.offsetX, event.offsetY);
|
|
58
58
|
// Clean up after drag starts
|
package/src/enums/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import AbstractUserStatus from './AbstractUserStatus/AbstractUserStatus.enum.js';
|
|
2
2
|
import AgentStatus from './AgentStatus/AgentStatus.enum.js';
|
|
3
3
|
import { ButtonColor } from './ButtonColor/ButtonColor';
|
|
4
|
-
import { ButtonSize } from './ButtonSize/ButtonSize';
|
|
5
4
|
import { ButtonVariant } from './ButtonVariant/ButtonVariant';
|
|
6
5
|
import ChatGatewayProvider from './ChatGatewayProvider/ChatGatewayProvider.enum.js';
|
|
7
6
|
import ProviderIconType from './ChatGatewayProvider/ProviderIconType.enum';
|
package/src/install.ts
CHANGED
|
@@ -13,7 +13,7 @@ import initPrimevue from './plugins/primevue/primevue.plugin';
|
|
|
13
13
|
export { fillIconsRepository };
|
|
14
14
|
|
|
15
15
|
export default {
|
|
16
|
-
install(app, { eventBus,
|
|
16
|
+
install(app, { eventBus, globals = {} }) {
|
|
17
17
|
Object.keys(Directives).forEach((name) => {
|
|
18
18
|
app.directive(name, Directives[name]);
|
|
19
19
|
});
|
package/src/locale/en/en.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
EngineRoutingSchemaType,
|
|
3
|
+
WebitelMediaExporterExportStatus,
|
|
4
|
+
} from '@webitel/api-services/gen/models';
|
|
2
5
|
import deepmerge from 'deepmerge';
|
|
3
6
|
import {
|
|
4
7
|
AgentStatus,
|
|
5
8
|
CallDirection,
|
|
6
9
|
ChannelState,
|
|
7
10
|
ChannelType,
|
|
8
|
-
EngineRoutingSchemaType,
|
|
9
11
|
} from 'webitel-sdk';
|
|
10
12
|
|
|
11
13
|
import {
|
|
@@ -231,6 +233,7 @@ export default deepmerge(
|
|
|
231
233
|
[EngineRoutingSchemaType.Voice]: 'Voice',
|
|
232
234
|
[EngineRoutingSchemaType.Service]: 'Service',
|
|
233
235
|
[EngineRoutingSchemaType.Processing]: 'Forms',
|
|
236
|
+
[EngineRoutingSchemaType.Default]: 'No type',
|
|
234
237
|
},
|
|
235
238
|
},
|
|
236
239
|
messengers: {
|
package/src/locale/es/es.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
EngineRoutingSchemaType,
|
|
3
|
+
WebitelMediaExporterExportStatus,
|
|
4
|
+
} from '@webitel/api-services/gen/models';
|
|
2
5
|
import {
|
|
3
6
|
AgentStatus,
|
|
4
7
|
CallDirection,
|
|
5
8
|
ChannelState,
|
|
6
9
|
ChannelType,
|
|
7
|
-
EngineRoutingSchemaType,
|
|
8
10
|
} from 'webitel-sdk';
|
|
9
11
|
|
|
10
12
|
import {
|
|
@@ -223,6 +225,7 @@ export default {
|
|
|
223
225
|
[EngineRoutingSchemaType.Voice]: 'Voz',
|
|
224
226
|
[EngineRoutingSchemaType.Service]: 'Servicio',
|
|
225
227
|
[EngineRoutingSchemaType.Processing]: 'Formularios',
|
|
228
|
+
[EngineRoutingSchemaType.Default]: 'Sin tipo',
|
|
226
229
|
},
|
|
227
230
|
},
|
|
228
231
|
messengers: {
|