@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
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export const FlowApp = {
|
|
2
|
+
CALENDAR: 'calendar',
|
|
3
|
+
EXECUTE: 'execute',
|
|
4
|
+
FUNCTION: 'function',
|
|
5
|
+
GOTO: 'goto',
|
|
6
|
+
IF: 'if',
|
|
7
|
+
JS: 'js',
|
|
8
|
+
MATH: 'math',
|
|
9
|
+
PLATA_BY_MONO: 'plataByMono',
|
|
10
|
+
I_FRAME: 'iFrame',
|
|
11
|
+
START: 'start',
|
|
12
|
+
STOP: 'stop',
|
|
13
|
+
SWITCH: 'switch',
|
|
14
|
+
STRING: 'string',
|
|
15
|
+
MARK_IVR: 'markIVR',
|
|
16
|
+
SOFT_SLEEP: 'softSleep',
|
|
17
|
+
SET_GRANTEE: 'setGrantee',
|
|
18
|
+
SCHEMA: 'schema',
|
|
19
|
+
LOG: 'log',
|
|
20
|
+
TRIGGER: 'trigger',
|
|
21
|
+
HTTP_REQUEST: 'httpRequest',
|
|
22
|
+
CUSTOM_CODE: 'customCode',
|
|
23
|
+
EXPORT_VARIABLES: 'export',
|
|
24
|
+
SET_VARIABLES: 'set',
|
|
25
|
+
UN_SET_VARIABLES: 'unSet',
|
|
26
|
+
USER_INFO: 'userInfo',
|
|
27
|
+
LIST: 'list',
|
|
28
|
+
LIST_ADD: 'listAdd',
|
|
29
|
+
WHILE: 'while',
|
|
30
|
+
NOTIFICATION: 'notification',
|
|
31
|
+
OPEN_LINK: 'openLink',
|
|
32
|
+
|
|
33
|
+
PLAYBACK: 'playback',
|
|
34
|
+
RING_READY: 'ringReady',
|
|
35
|
+
PRE_ANSWER: 'preAnswer',
|
|
36
|
+
ANSWER: 'answer',
|
|
37
|
+
HANGUP: 'hangup',
|
|
38
|
+
SIP_REDIRECT: 'sipRedirect',
|
|
39
|
+
RINGBACK: 'ringback',
|
|
40
|
+
BRIDGE: 'bridge',
|
|
41
|
+
CONFERENCE: 'conference',
|
|
42
|
+
GENERATE_LINK: 'generateLink',
|
|
43
|
+
IN_BAND_DTMF: 'inBandDTMF',
|
|
44
|
+
FLUSH_DTMF: 'flushDTMF',
|
|
45
|
+
UPDATE_CID: 'updateCid',
|
|
46
|
+
PARK: 'park',
|
|
47
|
+
JOIN_QUEUE: 'joinQueue',
|
|
48
|
+
RECORD_FILE: 'recordFile',
|
|
49
|
+
RECORD_SESSION: 'recordSession',
|
|
50
|
+
TTS: 'tts',
|
|
51
|
+
MEMBER_INFO: 'memberInfo',
|
|
52
|
+
GET_QUEUE_AGENTS: 'getQueueAgents',
|
|
53
|
+
JOIN_AGENT: 'joinAgent',
|
|
54
|
+
CALLBACK_QUEUE: 'callbackQueue',
|
|
55
|
+
PATCH_MEMBERS: 'patchMembers',
|
|
56
|
+
|
|
57
|
+
RECV_MESSAGE: 'recvMessage',
|
|
58
|
+
SEND_TEXT: 'sendText',
|
|
59
|
+
SEND_FILE: 'sendFile',
|
|
60
|
+
SEND_EMAIL: 'sendEmail',
|
|
61
|
+
SEND_TTS: 'sendTts',
|
|
62
|
+
STT: 'stt',
|
|
63
|
+
SEND_MESSAGE: 'sendMessage',
|
|
64
|
+
CLASSIFIER: 'classifier',
|
|
65
|
+
MENU: 'menu',
|
|
66
|
+
BROADCAST_CHAT_MESSAGE: 'broadcastChatMessage',
|
|
67
|
+
CHAT_HISTORY: 'chatHistory',
|
|
68
|
+
CHAT_AI: 'chatAi',
|
|
69
|
+
|
|
70
|
+
MAKE_CALL: 'makeCall',
|
|
71
|
+
FORM_TEXTFIELD: 'formTextfield',
|
|
72
|
+
FORM_SELECT: 'formSelect',
|
|
73
|
+
FORM_SELECT_SERVICE: 'formSelectService',
|
|
74
|
+
FORM_TABLE: 'formTable',
|
|
75
|
+
FORM_TEXT: 'formText',
|
|
76
|
+
FORM_DATETIME_PICKER: 'formDatetimePicker',
|
|
77
|
+
FORM_RICH_TEXT_EDITOR: 'formRichTextEditor',
|
|
78
|
+
FORM_SELECT_FROM_OBJECT: 'formSelectFromObject',
|
|
79
|
+
FORM_SELECT_CASE_STATUS: 'formSelectCaseStatus',
|
|
80
|
+
GENERATE_FORM: 'generateForm',
|
|
81
|
+
ATTEMPT_RESULT: 'attemptResult',
|
|
82
|
+
GET_EMAIL: 'getEmail',
|
|
83
|
+
FORM_FILE: 'formFile',
|
|
84
|
+
|
|
85
|
+
CUSTOM_MODULE: 'customModule',
|
|
86
|
+
} as const;
|
|
87
|
+
|
|
88
|
+
export type FlowApp = (typeof FlowApp)[keyof typeof FlowApp];
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { EngineRoutingSchemaType } from '@webitel/api-services/gen/models';
|
|
2
|
+
|
|
3
|
+
import { FlowApp } from '../enums/FlowApp.enum';
|
|
4
|
+
|
|
5
|
+
const general = [
|
|
6
|
+
FlowApp.IF,
|
|
7
|
+
FlowApp.SWITCH,
|
|
8
|
+
FlowApp.FUNCTION,
|
|
9
|
+
FlowApp.EXECUTE,
|
|
10
|
+
FlowApp.CALENDAR,
|
|
11
|
+
FlowApp.SET_VARIABLES,
|
|
12
|
+
FlowApp.EXPORT_VARIABLES,
|
|
13
|
+
FlowApp.UN_SET_VARIABLES,
|
|
14
|
+
FlowApp.HTTP_REQUEST,
|
|
15
|
+
FlowApp.JS,
|
|
16
|
+
FlowApp.MATH,
|
|
17
|
+
FlowApp.PLATA_BY_MONO,
|
|
18
|
+
FlowApp.STRING,
|
|
19
|
+
FlowApp.USER_INFO,
|
|
20
|
+
FlowApp.SCHEMA,
|
|
21
|
+
FlowApp.SOFT_SLEEP,
|
|
22
|
+
// FlowApp.SQL,
|
|
23
|
+
FlowApp.LIST,
|
|
24
|
+
FlowApp.LIST_ADD,
|
|
25
|
+
FlowApp.LOG,
|
|
26
|
+
FlowApp.SEND_EMAIL,
|
|
27
|
+
FlowApp.SEND_MESSAGE,
|
|
28
|
+
FlowApp.GOTO,
|
|
29
|
+
FlowApp.BROADCAST_CHAT_MESSAGE,
|
|
30
|
+
FlowApp.GET_EMAIL,
|
|
31
|
+
FlowApp.GET_QUEUE_AGENTS,
|
|
32
|
+
// FlowApp.GET_QUEUE_METRICS,
|
|
33
|
+
FlowApp.MEMBER_INFO,
|
|
34
|
+
FlowApp.PATCH_MEMBERS,
|
|
35
|
+
FlowApp.CALLBACK_QUEUE,
|
|
36
|
+
FlowApp.WHILE,
|
|
37
|
+
FlowApp.OPEN_LINK,
|
|
38
|
+
FlowApp.NOTIFICATION,
|
|
39
|
+
FlowApp.CUSTOM_CODE,
|
|
40
|
+
FlowApp.CUSTOM_MODULE,
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
export const FlowTypeApplications = {
|
|
44
|
+
[EngineRoutingSchemaType.Voice]: [
|
|
45
|
+
...general,
|
|
46
|
+
FlowApp.TRIGGER,
|
|
47
|
+
FlowApp.MARK_IVR,
|
|
48
|
+
FlowApp.SET_GRANTEE,
|
|
49
|
+
FlowApp.CLASSIFIER,
|
|
50
|
+
FlowApp.RING_READY,
|
|
51
|
+
FlowApp.PRE_ANSWER,
|
|
52
|
+
FlowApp.ANSWER,
|
|
53
|
+
FlowApp.SIP_REDIRECT,
|
|
54
|
+
FlowApp.RINGBACK,
|
|
55
|
+
FlowApp.UPDATE_CID,
|
|
56
|
+
FlowApp.PARK,
|
|
57
|
+
FlowApp.CONFERENCE,
|
|
58
|
+
FlowApp.BRIDGE,
|
|
59
|
+
FlowApp.HANGUP,
|
|
60
|
+
FlowApp.IN_BAND_DTMF,
|
|
61
|
+
FlowApp.FLUSH_DTMF,
|
|
62
|
+
FlowApp.PLAYBACK,
|
|
63
|
+
FlowApp.RECORD_FILE,
|
|
64
|
+
FlowApp.RECORD_SESSION,
|
|
65
|
+
FlowApp.GENERATE_LINK,
|
|
66
|
+
FlowApp.TTS,
|
|
67
|
+
FlowApp.JOIN_QUEUE,
|
|
68
|
+
FlowApp.JOIN_AGENT,
|
|
69
|
+
// FlowApp.CC_POSITION,
|
|
70
|
+
// FlowApp.AWT,
|
|
71
|
+
// FlowApp.LAST_BRIDGED,
|
|
72
|
+
],
|
|
73
|
+
[EngineRoutingSchemaType.Chat]: [
|
|
74
|
+
...general,
|
|
75
|
+
FlowApp.TRIGGER,
|
|
76
|
+
FlowApp.MENU,
|
|
77
|
+
FlowApp.RECV_MESSAGE,
|
|
78
|
+
FlowApp.SEND_TEXT,
|
|
79
|
+
FlowApp.SEND_TTS,
|
|
80
|
+
FlowApp.SEND_FILE,
|
|
81
|
+
FlowApp.STT,
|
|
82
|
+
FlowApp.GENERATE_LINK,
|
|
83
|
+
FlowApp.CLASSIFIER,
|
|
84
|
+
FlowApp.JOIN_QUEUE,
|
|
85
|
+
FlowApp.CHAT_HISTORY,
|
|
86
|
+
FlowApp.CHAT_AI,
|
|
87
|
+
// FlowApp.CC_POSITION,
|
|
88
|
+
// FlowApp.AWT,
|
|
89
|
+
],
|
|
90
|
+
[EngineRoutingSchemaType.Processing]: [
|
|
91
|
+
...general,
|
|
92
|
+
FlowApp.MAKE_CALL,
|
|
93
|
+
FlowApp.FORM_TEXTFIELD,
|
|
94
|
+
FlowApp.FORM_SELECT,
|
|
95
|
+
FlowApp.FORM_SELECT_SERVICE,
|
|
96
|
+
FlowApp.FORM_TEXT,
|
|
97
|
+
FlowApp.FORM_DATETIME_PICKER,
|
|
98
|
+
FlowApp.FORM_RICH_TEXT_EDITOR,
|
|
99
|
+
FlowApp.FORM_SELECT_FROM_OBJECT,
|
|
100
|
+
FlowApp.FORM_SELECT_CASE_STATUS,
|
|
101
|
+
FlowApp.FORM_TABLE,
|
|
102
|
+
FlowApp.FORM_FILE,
|
|
103
|
+
FlowApp.GENERATE_FORM,
|
|
104
|
+
FlowApp.ATTEMPT_RESULT,
|
|
105
|
+
FlowApp.I_FRAME,
|
|
106
|
+
],
|
|
107
|
+
[EngineRoutingSchemaType.Service]: [
|
|
108
|
+
...general,
|
|
109
|
+
// FlowApp.AWT,
|
|
110
|
+
// FlowApp.CONFIRM,
|
|
111
|
+
// FlowApp.CANCEL,
|
|
112
|
+
// FlowApp.ABANDONED,
|
|
113
|
+
FlowApp.ATTEMPT_RESULT,
|
|
114
|
+
FlowApp.STT,
|
|
115
|
+
],
|
|
116
|
+
[EngineRoutingSchemaType.Default]: Object.values(FlowApp),
|
|
117
|
+
} as const;
|
|
118
|
+
|
|
119
|
+
export type FlowTypeApplications =
|
|
120
|
+
(typeof FlowTypeApplications)[keyof typeof FlowTypeApplications];
|
package/src/modules/ObjectPermissions/_internals/store/helpers/createObjectPermissionsStoreModule.js
CHANGED
|
@@ -15,10 +15,6 @@ export const createObjectPermissionsStoreModule = (modules) => {
|
|
|
15
15
|
objectPermissionsStoreModule(),
|
|
16
16
|
]);
|
|
17
17
|
|
|
18
|
-
const cardSubmodule = [
|
|
19
|
-
// empty, now permissions don't have standard card functionality
|
|
20
|
-
];
|
|
21
|
-
|
|
22
18
|
return createBaseStoreModule([
|
|
23
19
|
{
|
|
24
20
|
modules: {
|
|
@@ -150,14 +150,12 @@ const {
|
|
|
150
150
|
|
|
151
151
|
const localizedDataList = computed(() => {
|
|
152
152
|
return dataList.value.map((item) => {
|
|
153
|
-
const access = Object.keys(item.access).reduce((
|
|
154
|
-
|
|
155
|
-
...access,
|
|
156
|
-
[rule]
|
|
157
|
-
...item.access[rule],
|
|
158
|
-
name: t(`access.accessMode.${item.access[rule].id}`),
|
|
159
|
-
},
|
|
153
|
+
const access = Object.keys(item.access).reduce((acc, rule) => {
|
|
154
|
+
acc[rule] = {
|
|
155
|
+
...item.access[rule],
|
|
156
|
+
name: t(`access.accessMode.${item.access[rule].id}`),
|
|
160
157
|
};
|
|
158
|
+
return acc;
|
|
161
159
|
}, {});
|
|
162
160
|
|
|
163
161
|
return {
|
|
@@ -53,7 +53,7 @@ describe('API filter mixin', () => {
|
|
|
53
53
|
team,
|
|
54
54
|
},
|
|
55
55
|
});
|
|
56
|
-
|
|
56
|
+
shallowMount(Component, {
|
|
57
57
|
global: {
|
|
58
58
|
plugins: [
|
|
59
59
|
router,
|
|
@@ -74,7 +74,7 @@ describe('API filter mixin', () => {
|
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it('Sets empty array value if $route query is empty', async () => {
|
|
77
|
-
|
|
77
|
+
shallowMount(Component, {
|
|
78
78
|
global: {
|
|
79
79
|
plugins: [
|
|
80
80
|
router,
|
|
@@ -6,12 +6,11 @@ export default class QueryFiltersStoreModule extends BaseStoreModule {
|
|
|
6
6
|
GET_FILTERS: (state, getters) =>
|
|
7
7
|
Object.keys(state).reduce((filters, filterKey) => {
|
|
8
8
|
const filterValue = getters.GET_FILTER(filterKey);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
9
|
+
if (isEmpty(filterValue)) {
|
|
10
|
+
return filters;
|
|
11
|
+
}
|
|
12
|
+
filters[filterKey] = filterValue;
|
|
13
|
+
return filters;
|
|
15
14
|
}, {}),
|
|
16
15
|
GET_FILTER: (state) => (filter) => {
|
|
17
16
|
const { value, storedProp, multiple } = state[filter];
|
|
@@ -19,15 +19,13 @@ export default class TableStoreModule extends BaseStoreModule {
|
|
|
19
19
|
PARENT_ID: () => null, // override me
|
|
20
20
|
|
|
21
21
|
// FIXME: maybe move to filters module?
|
|
22
|
-
FILTERS: (
|
|
22
|
+
FILTERS: (_, getters) => getters['filters/GET_FILTERS'],
|
|
23
23
|
|
|
24
24
|
FIELDS: (state) => {
|
|
25
25
|
const fields = state.headers.reduce((fields, { show, field }) => {
|
|
26
|
-
if (show)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
field,
|
|
30
|
-
];
|
|
26
|
+
if (show) {
|
|
27
|
+
fields.push(field);
|
|
28
|
+
}
|
|
31
29
|
return fields;
|
|
32
30
|
}, []);
|
|
33
31
|
|
|
@@ -40,7 +38,7 @@ export default class TableStoreModule extends BaseStoreModule {
|
|
|
40
38
|
},
|
|
41
39
|
|
|
42
40
|
// main GET_LIST params collector
|
|
43
|
-
GET_LIST_PARAMS: (
|
|
41
|
+
GET_LIST_PARAMS: (_state, getters) => (overrides) => {
|
|
44
42
|
const filters = getters.FILTERS();
|
|
45
43
|
const fields = getters.FIELDS;
|
|
46
44
|
const parentId = getters.PARENT_ID;
|
|
@@ -250,8 +248,6 @@ export default class TableStoreModule extends BaseStoreModule {
|
|
|
250
248
|
}
|
|
251
249
|
try {
|
|
252
250
|
await context.dispatch(action, deleted);
|
|
253
|
-
} catch (err) {
|
|
254
|
-
throw err;
|
|
255
251
|
} finally {
|
|
256
252
|
await context.dispatch('LOAD_DATA_LIST');
|
|
257
253
|
|
|
@@ -269,15 +265,11 @@ export default class TableStoreModule extends BaseStoreModule {
|
|
|
269
265
|
},
|
|
270
266
|
|
|
271
267
|
DELETE_SINGLE: async (context, { id, etag }) => {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
});
|
|
278
|
-
} catch (err) {
|
|
279
|
-
throw err;
|
|
280
|
-
}
|
|
268
|
+
await context.dispatch('api/DELETE_ITEM', {
|
|
269
|
+
context,
|
|
270
|
+
id,
|
|
271
|
+
etag,
|
|
272
|
+
});
|
|
281
273
|
},
|
|
282
274
|
|
|
283
275
|
DELETE_BULK: async (context, deleted) =>
|
|
@@ -21,12 +21,12 @@ const normalizeCSVData = ({ data, mappings }) => {
|
|
|
21
21
|
|
|
22
22
|
return data.map((dataItem, index) => {
|
|
23
23
|
const normalized = nonEmptyMappingFields.reduce(
|
|
24
|
-
(normalizedItem, { name, csv, required }) => {
|
|
24
|
+
(normalizedItem: Record<string, unknown>, { name, csv, required }) => {
|
|
25
25
|
const value = Array.isArray(csv)
|
|
26
26
|
? csv.map((csv) => dataItem[csv])
|
|
27
27
|
: dataItem[csv];
|
|
28
28
|
|
|
29
|
-
let filteredValue; // Filter empty values in validation purposes
|
|
29
|
+
let filteredValue: unknown; // Filter empty values in validation purposes
|
|
30
30
|
if (Array.isArray(value)) {
|
|
31
31
|
// Because required field can be combined from many fields in multiple select, so we need to check all values.
|
|
32
32
|
// For example, if we have 3 fields and they are empty, we will get empty array.
|
|
@@ -43,14 +43,14 @@ const normalizeCSVData = ({ data, mappings }) => {
|
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
if (isValueEmpty) {
|
|
47
|
+
return normalizedItem;
|
|
48
|
+
}
|
|
49
|
+
// Original value for proper mapping (e.g., variables in members)
|
|
50
|
+
normalizedItem[name] = value;
|
|
51
|
+
return normalizedItem;
|
|
52
52
|
},
|
|
53
|
-
{},
|
|
53
|
+
{} as Record<string, unknown>,
|
|
54
54
|
);
|
|
55
55
|
|
|
56
56
|
return normalized;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { computed, Ref } from 'vue';
|
|
1
|
+
import { computed, type Ref } from 'vue';
|
|
2
2
|
import { useRoute } from 'vue-router';
|
|
3
3
|
import { CrudAction, type WtObject } from '../../../enums';
|
|
4
4
|
import { _wtUiLog } from '../../../scripts/logger';
|
|
5
|
-
import { createUserAccessStore } from '../stores/accessStore';
|
|
5
|
+
import type { createUserAccessStore } from '../stores/accessStore';
|
|
6
6
|
import type { UserAccessStore } from '../types/UserAccess.d.ts';
|
|
7
7
|
|
|
8
8
|
export type UseUserAccessControlComposableOptions =
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type { WtObject } from '../../../../enums';
|
|
4
|
-
import type { createUserAccessStore } from '../../../../modules/Userinfo/v2/stores/accessStore';
|
|
1
|
+
/** Ambient declarations for create-user-access-control can be added here. */
|
|
2
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CrudAction, WtObject } from '../../../enums';
|
|
2
2
|
import { _wtUiLog as wtlog } from '../../../scripts/logger';
|
|
3
3
|
import {
|
|
4
4
|
mapGlobalActionToCrudAction,
|
|
@@ -92,7 +92,9 @@ export const makeSectionVisibilityMap = (
|
|
|
92
92
|
|
|
93
93
|
Object.entries(rawVisibility).forEach(([app, appSectionsVisibility]) => {
|
|
94
94
|
Object.entries(appSectionsVisibility).forEach(([section, visibility]) => {
|
|
95
|
-
if (section.startsWith('_'))
|
|
95
|
+
if (section.startsWith('_')) {
|
|
96
|
+
return; // skip private fields
|
|
97
|
+
}
|
|
96
98
|
map.set(
|
|
97
99
|
`${app}/${section}`,
|
|
98
100
|
(
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ComponentSize } from '../enums/ComponentSize/ComponentSize';
|
|
2
2
|
|
|
3
|
-
const numerics = Object.values(ComponentSize).reduce(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
},
|
|
3
|
+
const numerics = Object.values(ComponentSize).reduce(
|
|
4
|
+
(nums, size, index) => {
|
|
5
|
+
nums[size] = index;
|
|
6
|
+
return nums;
|
|
7
|
+
},
|
|
8
|
+
{} as Record<ComponentSize, number>,
|
|
9
|
+
);
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Compare two sizes, returning a number indicating the difference between them.
|
|
@@ -18,7 +18,7 @@ const getters = {
|
|
|
18
18
|
PARENT_ID: () => null, // override me
|
|
19
19
|
|
|
20
20
|
// FIXME: maybe move to filters module?
|
|
21
|
-
FILTERS: (
|
|
21
|
+
FILTERS: (_, getters) => () => getters['filters/GET_FILTERS'](),
|
|
22
22
|
|
|
23
23
|
REQUIRED_FIELDS: () => [
|
|
24
24
|
'id',
|
|
@@ -26,11 +26,9 @@ const getters = {
|
|
|
26
26
|
|
|
27
27
|
FIELDS: (state, getters) => {
|
|
28
28
|
const fields = state.headers.reduce((fields, { show, field }) => {
|
|
29
|
-
if (show || show === undefined)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
field,
|
|
33
|
-
];
|
|
29
|
+
if (show || show === undefined) {
|
|
30
|
+
fields.push(field);
|
|
31
|
+
}
|
|
34
32
|
return fields;
|
|
35
33
|
}, []);
|
|
36
34
|
|
|
@@ -42,7 +40,7 @@ const getters = {
|
|
|
42
40
|
];
|
|
43
41
|
},
|
|
44
42
|
|
|
45
|
-
GET_LIST_PARAMS: (
|
|
43
|
+
GET_LIST_PARAMS: (_s, getters) => (overrides) => {
|
|
46
44
|
const filters = getters.FILTERS();
|
|
47
45
|
const fields = getters.FIELDS;
|
|
48
46
|
const parentId = getters.PARENT_ID;
|
|
@@ -257,8 +255,6 @@ const actions = {
|
|
|
257
255
|
}
|
|
258
256
|
try {
|
|
259
257
|
await context.dispatch(action, deleted);
|
|
260
|
-
} catch (err) {
|
|
261
|
-
throw err;
|
|
262
258
|
} finally {
|
|
263
259
|
await context.dispatch('LOAD_DATA_LIST');
|
|
264
260
|
await context.dispatch('SET_SELECTED', []);
|
|
@@ -277,30 +273,22 @@ const actions = {
|
|
|
277
273
|
},
|
|
278
274
|
|
|
279
275
|
DELETE_SINGLE: async (context, { id, etag }) => {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
});
|
|
286
|
-
} catch (err) {
|
|
287
|
-
throw err;
|
|
288
|
-
}
|
|
276
|
+
await context.dispatch('DELETE_ITEM_API', {
|
|
277
|
+
context,
|
|
278
|
+
id,
|
|
279
|
+
etag,
|
|
280
|
+
});
|
|
289
281
|
},
|
|
290
282
|
|
|
291
283
|
DELETE_BULK: async (context, deleted) => {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
);
|
|
284
|
+
const results = await Promise.allSettled(
|
|
285
|
+
deleted.map((item) => context.dispatch('DELETE_SINGLE', item)),
|
|
286
|
+
);
|
|
296
287
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}
|
|
302
|
-
} catch (err) {
|
|
303
|
-
throw err;
|
|
288
|
+
// list of rejected requests
|
|
289
|
+
const rejected = results.filter((result) => result.status === 'rejected');
|
|
290
|
+
if (rejected.length) {
|
|
291
|
+
throw rejected;
|
|
304
292
|
}
|
|
305
293
|
},
|
|
306
294
|
|
|
@@ -7,7 +7,8 @@ const decimalValidator = (count) =>
|
|
|
7
7
|
{
|
|
8
8
|
count,
|
|
9
9
|
},
|
|
10
|
-
(value) =>
|
|
10
|
+
(value) =>
|
|
11
|
+
Number(value) % 1 === 0 || value.toString().split('.')[1].length <= count,
|
|
11
12
|
);
|
|
12
13
|
|
|
13
14
|
export default decimalValidator;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
+
import ContactsSearchMode from './enums/ContactsSearchMode.js';
|
|
1
2
|
import contactChatMessagesHistory from './contactChatMessagesHistory.js';
|
|
2
3
|
import contacts from './contacts.js';
|
|
3
|
-
|
|
4
|
-
export { contactChatMessagesHistory, contacts, ContactsSearchMode };
|
|
4
|
+
export { ContactsSearchMode, contactChatMessagesHistory, contacts };
|
|
@@ -58,7 +58,7 @@ interface Props extends DataTableProps {
|
|
|
58
58
|
reorderableColumns?: boolean;
|
|
59
59
|
rowExpansionDisabled?: (row: object) => boolean;
|
|
60
60
|
lazy?: boolean;
|
|
61
|
-
onLoading?: (event: VirtualScrollerLazyEvent) => Promise<
|
|
61
|
+
onLoading?: (event: VirtualScrollerLazyEvent) => Promise<unknown>;
|
|
62
62
|
loading?: boolean;
|
|
63
63
|
itemSize?: number | undefined;
|
|
64
64
|
}
|
|
@@ -54,7 +54,7 @@ interface Props extends /* @vue-ignore */ TextareaProps {
|
|
|
54
54
|
* Object with props, passed down to wt-label as props
|
|
55
55
|
* @type {Object}
|
|
56
56
|
*/
|
|
57
|
-
labelProps?: Record<string,
|
|
57
|
+
labelProps?: Record<string, unknown>;
|
|
58
58
|
/**
|
|
59
59
|
* Enables auto-resize. If passed, "Enter" key press emits "enter" event, new line is shift+enter
|
|
60
60
|
* @type {boolean}
|
|
@@ -63,9 +63,8 @@ interface Props extends /* @vue-ignore */ TextareaProps {
|
|
|
63
63
|
autoresize?: boolean;
|
|
64
64
|
/**
|
|
65
65
|
* Validation rules
|
|
66
|
-
* @type {any}
|
|
67
66
|
*/
|
|
68
|
-
v?:
|
|
67
|
+
v?: unknown;
|
|
69
68
|
/**
|
|
70
69
|
* Custom validators array
|
|
71
70
|
* @type {Array<{name: string, text: string}>}
|
|
@@ -115,7 +114,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
115
114
|
text: string;
|
|
116
115
|
}>;
|
|
117
116
|
v: any;
|
|
118
|
-
labelProps: Record<string,
|
|
117
|
+
labelProps: Record<string, unknown>;
|
|
119
118
|
rows: number;
|
|
120
119
|
autoresize: boolean;
|
|
121
120
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -2,11 +2,11 @@ type __VLS_Props = {
|
|
|
2
2
|
/**
|
|
3
3
|
* Selected element, it can be an object or a string, related to itemData props
|
|
4
4
|
*/
|
|
5
|
-
modelValue?: null |
|
|
5
|
+
modelValue?: null | unknown;
|
|
6
6
|
/**
|
|
7
7
|
* You need to pass an array of objects that will be displayed in the tree
|
|
8
8
|
*/
|
|
9
|
-
data:
|
|
9
|
+
data: unknown[];
|
|
10
10
|
/**
|
|
11
11
|
* You can pass the name of the property that will be used as the label of the selected item
|
|
12
12
|
*/
|
|
@@ -32,11 +32,11 @@ type __VLS_Slots = {} & {
|
|
|
32
32
|
'item-prefix'?: (props: typeof __VLS_10) => any;
|
|
33
33
|
};
|
|
34
34
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
35
|
-
select: (data:
|
|
36
|
-
"update:modelValue": (value:
|
|
35
|
+
select: (data: unknown) => any;
|
|
36
|
+
"update:modelValue": (value: unknown) => any;
|
|
37
37
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
38
|
-
onSelect?: (data:
|
|
39
|
-
"onUpdate:modelValue"?: (value:
|
|
38
|
+
onSelect?: (data: unknown) => any;
|
|
39
|
+
"onUpdate:modelValue"?: (value: unknown) => any;
|
|
40
40
|
}>, {
|
|
41
41
|
mode: string;
|
|
42
42
|
childrenProp: string;
|