@webitel/ui-sdk 23.12.2 → 23.12.5-1
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/favicon.ico +0 -0
- package/dist/img/sprite/index.js +148 -1
- package/dist/img/sprite/link.svg +8 -0
- package/dist/img/sprite/variable-select.svg +9 -0
- package/dist/plyr.svg +70 -0
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.mjs +22670 -0
- package/dist/ui-sdk.umd.js +37 -43084
- package/package.json +34 -40
- package/src/api/axios/generateInstance.js +1 -1
- package/src/components/on-demand/wt-cc-agent-status-timers/wt-cc-agent-status-timers.vue +3 -3
- package/src/components/on-demand/wt-save-failed-popup/__tests__/WtPopup.spec.js +9 -0
- package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +70 -0
- package/src/components/transitions/wt-expand-transition.vue +2 -2
- package/src/components/wt-app-header/_variables.scss +1 -1
- package/src/components/wt-app-header/wt-app-header.vue +2 -5
- package/src/components/wt-app-header/wt-app-navigator.vue +6 -5
- package/src/components/wt-app-header/wt-header-actions.vue +30 -14
- package/src/components/wt-avatar/_variables.scss +1 -1
- package/src/components/wt-avatar/wt-avatar.vue +2 -2
- package/src/components/wt-badge/wt-badge.vue +3 -3
- package/src/components/wt-button/_variables.scss +2 -32
- package/src/components/wt-button/wt-button.vue +5 -3
- package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +9 -8
- package/src/components/wt-button-select/wt-button-select.vue +58 -59
- package/src/components/wt-checkbox/wt-checkbox.vue +15 -48
- package/src/components/wt-chip/_variables.scss +21 -2
- package/src/components/wt-chip/wt-chip.scss +20 -17
- package/src/components/wt-chip/wt-chip.vue +10 -5
- package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
- package/src/components/wt-copy-action/wt-copy-action.vue +6 -6
- package/src/components/wt-datepicker/_variables.scss +1 -1
- package/src/components/wt-datepicker/wt-datepicker.vue +14 -12
- package/src/components/wt-divider/wt-divider.vue +1 -1
- package/src/components/wt-dummy/wt-dummy.vue +6 -2
- package/src/components/wt-error-page/wt-error-page.vue +10 -4
- package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
- package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +7 -4
- package/src/components/wt-headline/wt-headline.vue +4 -4
- package/src/components/wt-headline-nav/_variables.scss +5 -2
- package/src/components/wt-headline-nav/wt-headline-nav.vue +46 -33
- package/src/components/wt-hint/wt-hint.vue +5 -6
- package/src/components/wt-icon/_variables.scss +5 -10
- package/src/components/wt-icon/wt-icon.vue +15 -6
- package/src/components/wt-icon-action/_internals/wt-add-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-delete-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-download-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-edit-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-history-icon-action.vue +2 -2
- package/src/components/wt-icon-action/_internals/wt-refresh-icon-action.vue +2 -2
- package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
- package/src/components/wt-icon-btn/wt-icon-btn.vue +4 -2
- package/src/components/wt-indicator/_variables.scss +14 -19
- package/src/components/wt-indicator/wt-indicator.vue +26 -27
- package/src/components/wt-input/wt-input.vue +200 -219
- package/src/components/wt-input-info/wt-input-info.vue +2 -2
- package/src/components/wt-item-link/wt-item-link.vue +1 -1
- package/src/components/wt-label/_variables.scss +4 -2
- package/src/components/wt-label/wt-label.vue +5 -18
- package/src/components/wt-load-bar/wt-load-bar.vue +7 -4
- package/src/components/wt-loader/_internals/wt-loader--md.vue +11 -2
- package/src/components/wt-loader/_internals/wt-loader--sm.vue +9 -2
- package/src/components/wt-loader/_variables.scss +2 -2
- package/src/components/wt-loader/wt-loader.vue +10 -3
- package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -9
- package/src/components/wt-notification/wt-notification.vue +4 -4
- package/src/components/wt-notifications-bar/wt-notifications-bar.vue +9 -5
- package/src/components/wt-page-header/wt-page-header.vue +7 -8
- package/src/components/wt-page-wrapper/wt-page-wrapper.vue +8 -5
- package/src/components/wt-pagination/wt-pagination.vue +17 -15
- package/src/components/wt-player/__tests__/WtPlayer.spec.js +1 -1
- package/src/components/wt-player/_variables.scss +1 -1
- package/src/components/wt-player/wt-player.vue +17 -17
- package/src/components/wt-popup/_variables.scss +4 -3
- package/src/components/wt-popup/wt-popup.vue +18 -10
- package/src/components/wt-progress-bar/_variables.scss +10 -8
- package/src/components/wt-progress-bar/wt-progress-bar.vue +27 -18
- package/src/components/wt-radio/wt-radio.vue +26 -54
- package/src/components/wt-rounded-action/_variables.scss +4 -35
- package/src/components/wt-rounded-action/wt-rounded-action.vue +15 -70
- package/src/components/wt-search-bar/__tests__/WtSearchBar.spec.js +1 -1
- package/src/components/wt-search-bar/wt-search-bar.vue +18 -42
- package/src/components/wt-select/_multiselect.scss +48 -53
- package/src/components/wt-select/_variables.scss +0 -3
- package/src/components/wt-select/mixins/multiselectMixin.js +9 -1
- package/src/components/wt-select/wt-select.vue +41 -40
- package/src/components/wt-slider/_variables.scss +6 -0
- package/src/components/wt-slider/wt-slider.vue +25 -9
- package/src/components/wt-status-select/_variables.scss +7 -4
- package/src/components/wt-status-select/wt-status-select.vue +18 -12
- package/src/components/wt-stepper/_variables.scss +5 -0
- package/src/components/wt-stepper/wt-stepper.vue +15 -9
- package/src/components/wt-switcher/_variables.scss +30 -7
- package/src/components/wt-switcher/wt-switcher.vue +56 -35
- package/src/components/wt-table/_variables.scss +8 -5
- package/src/components/wt-table/wt-table.vue +123 -90
- package/src/components/wt-table-actions/wt-table-actions.vue +14 -14
- package/src/components/wt-table-column-select/wt-table-column-select.vue +33 -28
- package/src/components/wt-tabs/_variables.scss +4 -4
- package/src/components/wt-tabs/wt-tabs.vue +15 -13
- package/src/components/wt-tags-input/wt-tags-input.vue +26 -35
- package/src/components/wt-textarea/wt-textarea.vue +37 -54
- package/src/components/wt-time-input/wt-time-input.vue +24 -54
- package/src/components/wt-timepicker/wt-timepicker.vue +19 -27
- package/src/components/wt-tooltip/__tests__/WtTooltip.spec.js +0 -10
- package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +2 -2
- package/src/components/wt-tooltip/_variables.scss +2 -4
- package/src/components/wt-tooltip/wt-tooltip.vue +6 -18
- package/src/composables/useCachedInterval/__tests__/useCachedInterval.spec.js +5 -5
- package/src/composables/useRepresentableAgentPauseCause/__tests__/useRepresentableAgentPauseCause.spec.js +1 -1
- package/src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause.js +1 -1
- package/src/css/styleguide/colors/_colors.scss +45 -29
- package/src/css/styleguide/colors/reusable/_text-field.scss +36 -0
- package/src/css/styleguide/placeholder/_placeholder.scss +9 -9
- package/src/enums/WebitelApplications/AdminSections.enum.js +2 -1
- package/src/locale/en/en.js +11 -3
- package/src/locale/es/es.js +2 -0
- package/src/locale/i18n.js +3 -1
- package/src/locale/kz/kz.js +327 -0
- package/src/locale/ru/ru.js +11 -3
- package/src/locale/ua/ua.js +11 -3
- package/src/mixins/validationMixin/__tests__/validationMixin.spec.js +2 -2
- package/src/mixins/validationMixin/useValidation.js +19 -4
- package/src/mixins/validationMixin/validationMixin.js +1 -0
- package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +4 -4
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +11 -9
- package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +6 -5
- package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +3 -3
- package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +1 -1
- package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +11 -8
- package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +8 -8
- package/src/modules/AuditForm/components/audit-form-question.vue +8 -8
- package/src/modules/AuditForm/components/audit-form.vue +6 -5
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options-write-row.vue +4 -4
- package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +7 -4
- package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +3 -3
- package/src/modules/CSVExport/__tests__/CSVExport.spec.js +5 -2
- package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +77 -0
- package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +35 -17
- package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -3
- package/src/modules/FilesExport/scripts/generateMediaURL.js +1 -1
- package/src/modules/Filters/components/filter-pagination.vue +1 -1
- package/src/modules/Filters/components/filter-table-fields.vue +1 -1
- package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +6 -6
- package/src/modules/QueryFilters/classes/__tests__/ApiFilterSchema.spec.js +1 -1
- package/src/modules/QueryFilters/components/__tests__/abstract-api-filter.spec.js +7 -5
- package/src/modules/QueryFilters/components/__tests__/abstract-enum-filter.spec.js +3 -1
- package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +2 -2
- package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +4 -4
- package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +2 -2
- package/src/modules/QueryFilters/components/abstract-api-filter.vue +2 -2
- package/src/modules/QueryFilters/components/abstract-enum-filter.vue +2 -2
- package/src/modules/QueryFilters/components/filter-datetime.vue +2 -2
- package/src/modules/QueryFilters/components/filter-from-to.vue +12 -10
- package/src/modules/QueryFilters/components/filter-search.vue +2 -2
- package/src/modules/QueryFilters/components/filter-table-fields.vue +7 -7
- package/src/modules/QueryFilters/mixins/__tests__/apiFilterMixin.spec.js +1 -1
- package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +2 -2
- package/src/modules/QueryFilters/mixins/__tests__/paginationFilterMixin.spec.js +2 -2
- package/src/modules/QueryFilters/mixins/__tests__/sortFilterMixin.spec.js +1 -1
- package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +2 -2
- package/src/modules/Userinfo/classes/ApplicationsAccess.js +6 -2
- package/src/modules/Userinfo/components/__tests__/auth.spec.js +7 -8
- package/src/modules/Userinfo/components/the-auth.vue +8 -5
- package/src/scripts/debounce.js +1 -1
- package/src/scripts/saveAsJSON.js +9 -0
- package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +6 -6
- package/src/validators/variableSearchValidator/__tests__/variableSearchValidator.spec.js +48 -0
- package/src/validators/variableSearchValidator/variableSearchValidator.js +10 -0
- package/src/validators/websocketValidator/__tests__/websocketValidator.spec.js +28 -0
- package/src/validators/websocketValidator/websocketValidator.js +9 -0
- package/dist/demo.html +0 -1
- package/dist/ui-sdk.common.js +0 -43066
- package/dist/ui-sdk.common.js.map +0 -1
- package/dist/ui-sdk.umd.js.map +0 -1
- package/dist/ui-sdk.umd.min.js +0 -35
- package/dist/ui-sdk.umd.min.js.map +0 -1
- package/src/components/wt-button/Readme.md +0 -23
- package/src/components/wt-button-select/Readme.md +0 -13
- package/src/components/wt-icon/Readme.md +0 -327
- package/src/components/wt-icon/docs/cleanup-svg-fill-none.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-fill.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-viewbox-correct.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-viewbox-incorrect.png +0 -0
- package/src/components/wt-icon/docs/cleanup-svg-width-height.png +0 -0
- package/src/components/wt-icon/docs/svg-icon-code-example.png +0 -0
- package/src/components/wt-icon/docs/svg-sprite-in-dom.png +0 -0
- package/src/components/wt-icon-btn/Readme.md +0 -10
- package/src/components/wt-rounded-action/Readme.md +0 -68
- package/src/components/wt-tags-input/_variables.scss +0 -24
- package/src/locale/.DS_Store +0 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentStatus,
|
|
3
|
+
CallDirection,
|
|
4
|
+
ChannelState,
|
|
5
|
+
ChannelType,
|
|
6
|
+
EngineRoutingSchemaType,
|
|
7
|
+
} from 'webitel-sdk';
|
|
8
|
+
import { QueueType } from 'webitel-sdk/esm2015/enums';
|
|
9
|
+
import AdminSections from '../../enums/WebitelApplications/AdminSections.enum';
|
|
10
|
+
import CrmSections from '../../enums/WebitelApplications/CrmSections.enum';
|
|
11
|
+
import SupervisorSections
|
|
12
|
+
from '../../enums/WebitelApplications/SupervisorSections.enum';
|
|
13
|
+
import WebitelApplications
|
|
14
|
+
from '../../enums/WebitelApplications/WebitelApplications.enum';
|
|
15
|
+
import { snakeToCamel } from '../../scripts/caseConverters';
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
reusable: {
|
|
19
|
+
total: 'Барлығы',
|
|
20
|
+
ok: 'ок',
|
|
21
|
+
save: 'Сақтау',
|
|
22
|
+
saveAs: 'ретінде сақтау',
|
|
23
|
+
saved: 'Сақталды',
|
|
24
|
+
send: 'Жіберу',
|
|
25
|
+
start: 'Бастау',
|
|
26
|
+
close: 'Жабу',
|
|
27
|
+
add: 'Қосу',
|
|
28
|
+
cancel: 'Бас тарту',
|
|
29
|
+
import: 'Импорттау',
|
|
30
|
+
export: 'Экспорттау',
|
|
31
|
+
true: 'Иә',
|
|
32
|
+
delete: 'Жою',
|
|
33
|
+
search: 'Іздеу',
|
|
34
|
+
open: 'Ашу',
|
|
35
|
+
name: 'Атауы',
|
|
36
|
+
expand: 'Ашу',
|
|
37
|
+
collapse: 'Жию ',
|
|
38
|
+
generate: 'Бастау',
|
|
39
|
+
lang: {
|
|
40
|
+
en: 'English',
|
|
41
|
+
es: 'Español',
|
|
42
|
+
ru: 'Орысша',
|
|
43
|
+
ua: 'Українська',
|
|
44
|
+
kz: 'Қазақ',
|
|
45
|
+
},
|
|
46
|
+
from: 'Бастап',
|
|
47
|
+
to: 'Дейін',
|
|
48
|
+
state: 'Жағдай',
|
|
49
|
+
refresh: 'Жаңарту',
|
|
50
|
+
retry: 'Қайталау',
|
|
51
|
+
downloadAll: 'Барлығын жүктеп алу',
|
|
52
|
+
warning: 'Ескерту',
|
|
53
|
+
doNotSave: 'Сақтамау',
|
|
54
|
+
required: 'Міндетті',
|
|
55
|
+
copy: 'Көшіру',
|
|
56
|
+
new: 'Жаңа',
|
|
57
|
+
createdAt: 'Жасалды',
|
|
58
|
+
createdBy: 'кім жасады',
|
|
59
|
+
modifiedAt: 'Өзгертілді',
|
|
60
|
+
modifiedBy: 'кім өзгертті',
|
|
61
|
+
general: 'Жалпы',
|
|
62
|
+
generalInfo: 'жалпы ақпарат',
|
|
63
|
+
all: 'Барлығы { entity }',
|
|
64
|
+
upload: 'Жүктеп алу',
|
|
65
|
+
edit: 'Редакциялау',
|
|
66
|
+
back: 'Артқа',
|
|
67
|
+
step: 'Қадам { count }',
|
|
68
|
+
},
|
|
69
|
+
vocabulary: {
|
|
70
|
+
language: 'Тіл',
|
|
71
|
+
voice: 'Дауыс',
|
|
72
|
+
format: 'Формат',
|
|
73
|
+
text: 'Мәтін',
|
|
74
|
+
yes: 'Иә',
|
|
75
|
+
no: 'Жоқ',
|
|
76
|
+
description: 'Сипаттама',
|
|
77
|
+
login: 'Логин',
|
|
78
|
+
host: 'Хост',
|
|
79
|
+
time: 'Уақыт',
|
|
80
|
+
channel: 'Арна',
|
|
81
|
+
file: 'Файл',
|
|
82
|
+
logout: 'Шығу',
|
|
83
|
+
priority: 'Басымдық',
|
|
84
|
+
variables: 'Ауыспалы | Ауыспалылар',
|
|
85
|
+
type: 'Тип',
|
|
86
|
+
tag: 'Тег | Тегтер',
|
|
87
|
+
output: 'Шығу',
|
|
88
|
+
values: 'Мәні| Мәндер',
|
|
89
|
+
keys: 'Кілт | Кілттер',
|
|
90
|
+
duration: 'Ұзақтығы',
|
|
91
|
+
reset: 'Қалпына келтіру',
|
|
92
|
+
errors: 'Қате | Қателер',
|
|
93
|
+
labels: 'Белгі | Белгілер',
|
|
94
|
+
permissions: 'Рұқсат | Рұқсат',
|
|
95
|
+
options: 'Опция | Опциялар',
|
|
96
|
+
emails: 'Email | Emails',
|
|
97
|
+
phones: 'Телефон | Телефондар',
|
|
98
|
+
messaging: 'Хабарламалар',
|
|
99
|
+
},
|
|
100
|
+
date: {
|
|
101
|
+
sec: 'Сек',
|
|
102
|
+
timezone: 'Уақыт белдеуі | Уақыт белдеулері',
|
|
103
|
+
},
|
|
104
|
+
objects: {
|
|
105
|
+
team: 'Команда | Командалар',
|
|
106
|
+
supervisor: 'Супервизор | Супервизорлар',
|
|
107
|
+
auditor: 'Аудитор | Аудиторлар',
|
|
108
|
+
region: 'Аймақ | Аймақтар',
|
|
109
|
+
communicationType: 'Байланыс түрі |Байланыс түрлері',
|
|
110
|
+
queue: {
|
|
111
|
+
type: {
|
|
112
|
+
[QueueType.INBOUND_QUEUE]: 'Кіріс кезегі',
|
|
113
|
+
[QueueType.OFFLINE_QUEUE]: 'Офлайн кезек',
|
|
114
|
+
[QueueType.OUTBOUND_IVR_QUEUE]: 'Шығыс IVR',
|
|
115
|
+
[QueueType.PREDICTIVE_DIALER]: 'Предиктивтік қоңырау',
|
|
116
|
+
[QueueType.PROGRESSIVE_DIALER]: 'Прогрессивті қоңырау',
|
|
117
|
+
[QueueType.PREVIEW_DIALER]: 'Қоңырауды алдын ала қарау',
|
|
118
|
+
[QueueType.CHAT_INBOUND_QUEUE]: 'Чаттар кезегі',
|
|
119
|
+
[QueueType.INBOUND_JOB_QUEUE]: 'Кіріс тапсырмалар кезегі',
|
|
120
|
+
[QueueType.OUTBOUND_JOB_QUEUE]: 'Шығыс тапсырмалар кезегі',
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
agent: {
|
|
124
|
+
status: {
|
|
125
|
+
[AgentStatus.Online]: 'Онлайн',
|
|
126
|
+
[AgentStatus.Pause]: 'Үзіліс',
|
|
127
|
+
[AgentStatus.Offline]: 'Оффлайн',
|
|
128
|
+
[snakeToCamel(AgentStatus.BreakOut)]: 'Мәжбүрлі үзіліс',
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
flow: {
|
|
132
|
+
type: {
|
|
133
|
+
[EngineRoutingSchemaType.Chat]: 'Мәтіндік',
|
|
134
|
+
[EngineRoutingSchemaType.Voice]: 'Дыбыстық',
|
|
135
|
+
[EngineRoutingSchemaType.Service]: 'Қызметтік',
|
|
136
|
+
[EngineRoutingSchemaType.Processing]: 'Нысандар',
|
|
137
|
+
[EngineRoutingSchemaType.Default]: 'Типі жоқ',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
channel: {
|
|
142
|
+
state: {
|
|
143
|
+
[ChannelState.Waiting]: 'Күту',
|
|
144
|
+
[ChannelState.Distribute]: 'Резервтелген',
|
|
145
|
+
[ChannelState.Offering]: 'Тарату',
|
|
146
|
+
[ChannelState.Answered]: 'Жауап берді',
|
|
147
|
+
[ChannelState.Active]: 'Белсенді',
|
|
148
|
+
[ChannelState.Bridged]: 'Қосылды',
|
|
149
|
+
[ChannelState.Hold]: 'Ұстап тұру',
|
|
150
|
+
[ChannelState.Missed]: 'Өткізіп жіберді',
|
|
151
|
+
[snakeToCamel(ChannelState.WrapTime)]: 'Кейінгі өңдеу',
|
|
152
|
+
[ChannelState.Processing]: 'Өңдеу',
|
|
153
|
+
[ChannelState.Transfer]: 'Ауыстыру',
|
|
154
|
+
},
|
|
155
|
+
type: {
|
|
156
|
+
[ChannelType.Call]: 'Қоңырау',
|
|
157
|
+
[ChannelType.Email]: 'Пошта',
|
|
158
|
+
[ChannelType.Chat]: 'Чат',
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
calls: {
|
|
162
|
+
direction: {
|
|
163
|
+
[CallDirection.Inbound]: 'Кіріс | Кірістер',
|
|
164
|
+
[CallDirection.Outbound]: 'Шығыс | Шығыстар',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
WebitelApplications: {
|
|
168
|
+
[WebitelApplications.AGENT]: {},
|
|
169
|
+
[WebitelApplications.AUDIT]: {
|
|
170
|
+
sections: {},
|
|
171
|
+
},
|
|
172
|
+
[WebitelApplications.CRM]: {
|
|
173
|
+
sections: {
|
|
174
|
+
[CrmSections.CONTACTS]: 'Байланыстар',
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
[WebitelApplications.HISTORY]: {},
|
|
178
|
+
[WebitelApplications.ANALYTICS]: {},
|
|
179
|
+
[WebitelApplications.SUPERVISOR]: {
|
|
180
|
+
sections: {
|
|
181
|
+
[SupervisorSections.QUEUES]: 'Кезектер',
|
|
182
|
+
[SupervisorSections.AGENTS]: 'Операторлар',
|
|
183
|
+
[SupervisorSections.ACTIVE_CALLS]: 'Белсенді қоңыраулар',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
[WebitelApplications.ADMIN]: {
|
|
187
|
+
sections: {
|
|
188
|
+
[AdminSections.USERS]: 'Пайдаланушылар',
|
|
189
|
+
[AdminSections.LICENSE]: 'Лицензиялар',
|
|
190
|
+
[AdminSections.DEVICES]: 'Құрылғылар',
|
|
191
|
+
[AdminSections.FLOW]: 'Схемалар',
|
|
192
|
+
[AdminSections.DIALPLAN]: 'Шығыс бағыттау',
|
|
193
|
+
[AdminSections.GATEWAYS]: 'Шлюздер',
|
|
194
|
+
[AdminSections.CHATPLAN]: 'Мәтіндік хабарламаны бағыттау қағидасы',
|
|
195
|
+
[AdminSections.SKILLS]: 'Оператор дағдылары',
|
|
196
|
+
[AdminSections.BUCKETS]: 'Себеттер',
|
|
197
|
+
[AdminSections.MEDIA]: 'Медиафайлдар',
|
|
198
|
+
[AdminSections.BLACKLIST]: 'Тізімдер',
|
|
199
|
+
[AdminSections.CALENDARS]: 'Күнтізбелер',
|
|
200
|
+
[AdminSections.COMMUNICATIONS]: 'Байланыс түрлері',
|
|
201
|
+
[AdminSections.REGIONS]: 'Орындар',
|
|
202
|
+
[AdminSections.PAUSE_CAUSE]: 'Оператор күйлері',
|
|
203
|
+
[AdminSections.AGENTS]: 'Операторлар',
|
|
204
|
+
[AdminSections.TEAMS]: 'Командалар',
|
|
205
|
+
[AdminSections.RESOURCES]: 'Ресурстар',
|
|
206
|
+
[AdminSections.RESOURCE_GROUPS]: 'Ресурстар топтары',
|
|
207
|
+
[AdminSections.QUEUES]: 'Кезектер',
|
|
208
|
+
[AdminSections.STORAGE]: 'Қойма',
|
|
209
|
+
[AdminSections.COGNITIVE_PROFILES]: 'Дыбыстық профильдер',
|
|
210
|
+
[AdminSections.EMAIL_PROFILES]: 'Email профильдері',
|
|
211
|
+
[AdminSections.IMPORT_CSV]: 'CSV файлдарынан деректерді импорттау',
|
|
212
|
+
[AdminSections.TRIGGERS]: 'Триггерлер',
|
|
213
|
+
[AdminSections.ROLES]: 'Рөлдер',
|
|
214
|
+
[AdminSections.OBJECTS]: 'Бөлімдер',
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
validation: {
|
|
219
|
+
required: 'Міндетті өріс',
|
|
220
|
+
numeric: 'Сандық мәнді енгізу керек',
|
|
221
|
+
email: 'Электрондық пошта мекенжайын енгізу қажет',
|
|
222
|
+
gatewayHostValidator: 'IPv4 немесе FQDN енгізу керек',
|
|
223
|
+
sipAccountValidator: 'SIP-аккаунт енгізу керек',
|
|
224
|
+
ipValidator: 'IPv4 енгізу керек',
|
|
225
|
+
macValidator: 'MAC-мекенжайын енгізу керек',
|
|
226
|
+
minValue: 'Мәні кіші болмауы керек',
|
|
227
|
+
maxValue: 'Мәні үлкен болмауы керек',
|
|
228
|
+
sameAs: 'Қате құпиясөз',
|
|
229
|
+
requiredArrayValue: 'Өріс бос болмауы керек',
|
|
230
|
+
minLength: 'Таңбалар саны кем болмауы керек',
|
|
231
|
+
url: 'Жарамды URL-мекенжайын енгізу қажет',
|
|
232
|
+
regExpValidator: 'Жарамсыз тұрақты мән',
|
|
233
|
+
domainValidator: 'Қате домен',
|
|
234
|
+
},
|
|
235
|
+
webitelUI: {
|
|
236
|
+
searchBar: {
|
|
237
|
+
placeholder: 'Іздеу',
|
|
238
|
+
},
|
|
239
|
+
timepicker: {
|
|
240
|
+
hour: 'Сағат:',
|
|
241
|
+
min: 'Мин:',
|
|
242
|
+
sec: 'Сек:',
|
|
243
|
+
},
|
|
244
|
+
datetimepicker: {
|
|
245
|
+
lastHour: 'Соңғы сағат',
|
|
246
|
+
lastDay: 'Соңғы күн',
|
|
247
|
+
},
|
|
248
|
+
pagination: {
|
|
249
|
+
sizeText: 'Беттегі жазбалар:',
|
|
250
|
+
prev: 'Артқа',
|
|
251
|
+
next: 'Әрі қарай',
|
|
252
|
+
},
|
|
253
|
+
appNavigator: {
|
|
254
|
+
title: 'Webitel қосымшалары',
|
|
255
|
+
},
|
|
256
|
+
headerActions: {
|
|
257
|
+
account: 'Аккаунт',
|
|
258
|
+
docs: 'Құжаттама',
|
|
259
|
+
settings: 'Баптау',
|
|
260
|
+
logout: 'Шығу',
|
|
261
|
+
buildVersion: 'Құрастыру нұсқасы',
|
|
262
|
+
},
|
|
263
|
+
tableActions: {
|
|
264
|
+
filterReset: 'Іріктемені қалпына келтіру',
|
|
265
|
+
columnSelect: 'Бағандарды қосу',
|
|
266
|
+
refreshTable: 'Жаңарту',
|
|
267
|
+
expandFilters: 'Іріктемені кеңейту',
|
|
268
|
+
},
|
|
269
|
+
tableColumnSelect: {
|
|
270
|
+
title: 'Көрсетілетін бағандарды таңдаңыз',
|
|
271
|
+
},
|
|
272
|
+
statusSelect: {
|
|
273
|
+
online: 'Онлайн',
|
|
274
|
+
pause: 'Үзіліс ',
|
|
275
|
+
offline: 'Оффлайн',
|
|
276
|
+
breakOut: 'Мәжбүрлі үзіліс',
|
|
277
|
+
},
|
|
278
|
+
iconAction: {
|
|
279
|
+
deleteActionHint: 'Жою',
|
|
280
|
+
editActionHint: 'Редакциялау',
|
|
281
|
+
addActionHint: 'Қосу',
|
|
282
|
+
historyActionHint: 'Тарих',
|
|
283
|
+
downloadActionHint: 'Жүктеп алу',
|
|
284
|
+
},
|
|
285
|
+
errorPages: {
|
|
286
|
+
goBack: 'Артқа қайту',
|
|
287
|
+
page403: {
|
|
288
|
+
title: 'Кіруге болмайды',
|
|
289
|
+
text: 'Кешіріңіз, бұл бетті көруге сізде рұқсат жоқ.',
|
|
290
|
+
},
|
|
291
|
+
page404: {
|
|
292
|
+
title: 'Сіз адасып кеткен сияқтысыз',
|
|
293
|
+
text: 'Кешіріңіз, біз сіз іздегенді таба алмадық',
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
copyAction: {
|
|
297
|
+
copy: 'Көшіру',
|
|
298
|
+
copied: 'Көшірілді!',
|
|
299
|
+
},
|
|
300
|
+
auditForm: {
|
|
301
|
+
question: 'Критерий',
|
|
302
|
+
option: 'Нұсқа |Нұсқалар',
|
|
303
|
+
addQuestion: 'Критерий қосу',
|
|
304
|
+
answerType: 'Жауап түрі',
|
|
305
|
+
type: {
|
|
306
|
+
options: 'Нұсқа ',
|
|
307
|
+
score: 'Бал',
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
deleteConfirmationPopup: {
|
|
311
|
+
title: 'Жоюды растаңыз',
|
|
312
|
+
askingAlert: '{count} жазбасын жойғыңыз келетініне сенімдісіз бе? | {count} жазбасын жойғыңыз келетініне сенімдісіз бе?',
|
|
313
|
+
undoneActionAlert: 'Бұл әрекетті қайтару мүмкін емес.',
|
|
314
|
+
deleteAll: 'БАРЛЫҒЫ',
|
|
315
|
+
},
|
|
316
|
+
dummy: {
|
|
317
|
+
text: 'Бөлімде әлі жазбалар жазылмаған',
|
|
318
|
+
},
|
|
319
|
+
agentStatusSelect: {
|
|
320
|
+
pauseCausePopup: {
|
|
321
|
+
title: 'Үзіліс себебін таңдаңыз',
|
|
322
|
+
min: 'Мин',
|
|
323
|
+
unlimited: 'Лимитсіз',
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
};
|
package/src/locale/ru/ru.js
CHANGED
|
@@ -44,6 +44,7 @@ export default {
|
|
|
44
44
|
es: 'Español',
|
|
45
45
|
ru: 'Русский',
|
|
46
46
|
ua: 'Українська',
|
|
47
|
+
kz: 'Қазақ',
|
|
47
48
|
},
|
|
48
49
|
from: 'От',
|
|
49
50
|
to: 'До',
|
|
@@ -222,12 +223,13 @@ export default {
|
|
|
222
223
|
[AdminSections.STORAGE]: 'Хранилища',
|
|
223
224
|
[AdminSections.COGNITIVE_PROFILES]: 'Голосовые профили',
|
|
224
225
|
[AdminSections.EMAIL_PROFILES]: 'Email профили',
|
|
226
|
+
[AdminSections.SINGLE_SIGN_ON]: 'Single Sign-on',
|
|
225
227
|
[AdminSections.IMPORT_CSV]: 'Импорт данных из CSV файлов',
|
|
226
228
|
[AdminSections.TRIGGERS]: 'Триггеры',
|
|
227
229
|
[AdminSections.ROLES]: 'Роли',
|
|
228
230
|
[AdminSections.OBJECTS]: 'Разделы',
|
|
229
231
|
[AdminSections.CHANGELOGS]: 'Журнал изменений',
|
|
230
|
-
[AdminSections.
|
|
232
|
+
[AdminSections.CONFIGURATION]: 'Конфигурация',
|
|
231
233
|
},
|
|
232
234
|
},
|
|
233
235
|
},
|
|
@@ -245,6 +247,7 @@ export default {
|
|
|
245
247
|
requiredArrayValue: 'Поле не должно быть пустым',
|
|
246
248
|
minLength: 'Количество символов не должно быть меньше, чем',
|
|
247
249
|
url: 'Необходимо ввести корректный url-адрес',
|
|
250
|
+
websocketValidator: 'Необходимо ввести корректный WebSocket url-адрес',
|
|
248
251
|
regExpValidator: 'Не правильное регулярное выражение',
|
|
249
252
|
domainValidator: 'Неправильный домен',
|
|
250
253
|
decimalValidator: 'Количество десятичных знаков не должно быть больше { count }',
|
|
@@ -254,6 +257,7 @@ export default {
|
|
|
254
257
|
searchBar: {
|
|
255
258
|
placeholder: 'Поиск',
|
|
256
259
|
settingsHint: 'Настройки поиска',
|
|
260
|
+
variableSearchHint: 'Формат запроса: "ключ=значение"',
|
|
257
261
|
},
|
|
258
262
|
timepicker: {
|
|
259
263
|
hour: 'Час:',
|
|
@@ -336,8 +340,7 @@ export default {
|
|
|
336
340
|
},
|
|
337
341
|
deleteConfirmationPopup: {
|
|
338
342
|
title: 'Подтвердите удаление',
|
|
339
|
-
askingAlert: 'Вы уверенны, что
|
|
340
|
-
undoneActionAlert: 'Это действие не может быть отменено.',
|
|
343
|
+
askingAlert: 'Вы уверенны, что хотите\n удалить {count} запись? | Вы уверенны, что хотите\n удалить {count} записей?',
|
|
341
344
|
deleteAll: 'ВСЕ',
|
|
342
345
|
},
|
|
343
346
|
dummy: {
|
|
@@ -354,5 +357,10 @@ export default {
|
|
|
354
357
|
message: 'Лимит операторов в паузе превышен. Перерыв сейчас недоступен.',
|
|
355
358
|
},
|
|
356
359
|
},
|
|
360
|
+
saveFailedPopup: {
|
|
361
|
+
title: 'Ошибка сохранения',
|
|
362
|
+
label: 'Что-то пошло не так. Пожалуйста, попробуйте еще раз',
|
|
363
|
+
exportToJson: 'Экспортировать в JSON',
|
|
364
|
+
},
|
|
357
365
|
},
|
|
358
366
|
};
|
package/src/locale/ua/ua.js
CHANGED
|
@@ -44,6 +44,7 @@ export default {
|
|
|
44
44
|
es: 'Español',
|
|
45
45
|
ru: 'Русский',
|
|
46
46
|
ua: 'Українська',
|
|
47
|
+
kz: 'Қазақ',
|
|
47
48
|
},
|
|
48
49
|
from: 'Від',
|
|
49
50
|
to: 'До',
|
|
@@ -222,12 +223,13 @@ export default {
|
|
|
222
223
|
[AdminSections.STORAGE]: 'Сховища',
|
|
223
224
|
[AdminSections.COGNITIVE_PROFILES]: 'Голосові профілі',
|
|
224
225
|
[AdminSections.EMAIL_PROFILES]: 'Email профілі',
|
|
226
|
+
[AdminSections.SINGLE_SIGN_ON]: 'Single Sign-on',
|
|
225
227
|
[AdminSections.IMPORT_CSV]: 'Імпорт даних з CSV файлів',
|
|
226
228
|
[AdminSections.TRIGGERS]: 'Тригери',
|
|
227
229
|
[AdminSections.ROLES]: 'Ролі',
|
|
228
230
|
[AdminSections.OBJECTS]: 'Розділи',
|
|
229
231
|
[AdminSections.CHANGELOGS]: 'Журнал змін',
|
|
230
|
-
[AdminSections.
|
|
232
|
+
[AdminSections.CONFIGURATION]: 'Конфігурація',
|
|
231
233
|
},
|
|
232
234
|
},
|
|
233
235
|
},
|
|
@@ -245,6 +247,7 @@ export default {
|
|
|
245
247
|
requiredArrayValue: 'Поле не повинно бути пустим',
|
|
246
248
|
minLength: 'Кількість символів повинна бути не меншою, ніж',
|
|
247
249
|
url: 'Необхідно ввести правильну url-адресу',
|
|
250
|
+
websocketValidator: 'Необхідно ввести правильну WebSocket url-адресу',
|
|
248
251
|
regExpValidator: 'Не правильний регулярний вираз',
|
|
249
252
|
domainValidator: 'Невірний домен',
|
|
250
253
|
decimalValidator: 'Кількість десяткових знаків не повинна бути більше { count }',
|
|
@@ -254,6 +257,7 @@ export default {
|
|
|
254
257
|
searchBar: {
|
|
255
258
|
placeholder: 'Пошук',
|
|
256
259
|
settingsHint: 'Налаштування пошуку',
|
|
260
|
+
variableSearchHint: 'Формат запиту: "ключ=значення"',
|
|
257
261
|
},
|
|
258
262
|
timepicker: {
|
|
259
263
|
hour: 'Год:',
|
|
@@ -336,8 +340,7 @@ export default {
|
|
|
336
340
|
},
|
|
337
341
|
deleteConfirmationPopup: {
|
|
338
342
|
title: 'Підтвердіть видалення',
|
|
339
|
-
askingAlert: 'Ви впевнені, що
|
|
340
|
-
undoneActionAlert: 'Дана дія не може бути скасована.',
|
|
343
|
+
askingAlert: 'Ви впевнені, що хочете\n видалити {count} запис? | Ви впевнені, що хочете\n видалити {count} записів?',
|
|
341
344
|
deleteAll: 'ВСІ',
|
|
342
345
|
},
|
|
343
346
|
dummy: {
|
|
@@ -354,5 +357,10 @@ export default {
|
|
|
354
357
|
message: 'Ліміт операторів в паузі перевищено. Перерва наразі недоступна.',
|
|
355
358
|
},
|
|
356
359
|
},
|
|
360
|
+
saveFailedPopup: {
|
|
361
|
+
title: 'Помилка збереження',
|
|
362
|
+
label: 'Щось пішло не так. Будь ласка, спробуйте ще раз',
|
|
363
|
+
exportToJson: 'Експортувати в JSON',
|
|
364
|
+
},
|
|
357
365
|
},
|
|
358
366
|
};
|
|
@@ -30,7 +30,7 @@ describe('Validation mixin', () => {
|
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
});
|
|
33
|
-
expect(wrapper.vm.validationText).toBe('
|
|
33
|
+
expect(wrapper.vm.validationText).toBe('Should look like email');
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
it('prioritizes error messages', () => {
|
|
@@ -42,6 +42,6 @@ describe('Validation mixin', () => {
|
|
|
42
42
|
},
|
|
43
43
|
},
|
|
44
44
|
});
|
|
45
|
-
expect(wrapper.vm.validationText).toBe('
|
|
45
|
+
expect(wrapper.vm.validationText).toBe('Field is required');
|
|
46
46
|
});
|
|
47
47
|
});
|
|
@@ -1,14 +1,28 @@
|
|
|
1
|
-
import { computed } from 'vue';
|
|
1
|
+
import { computed, isReactive, isRef } from 'vue';
|
|
2
2
|
import { useI18n } from 'vue-i18n';
|
|
3
3
|
|
|
4
|
-
export function useValidation({ v, customValidators }) {
|
|
4
|
+
export function useValidation({ v: inputV, customValidators: inputCustomValidators }) {
|
|
5
5
|
const { t } = useI18n();
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
// support vue options api, where v is a reactive, not ref
|
|
8
|
+
let v = inputV;
|
|
9
|
+
let customValidators = inputCustomValidators;
|
|
10
|
+
|
|
11
|
+
if (isReactive(v)) {
|
|
12
|
+
v = computed(() => inputV);
|
|
13
|
+
customValidators = computed(() => inputCustomValidators);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// end
|
|
17
|
+
|
|
18
|
+
console.info(v, inputV, isRef(v), isReactive(inputV));
|
|
19
|
+
|
|
20
|
+
const isValidation = computed(() => !!v && !!v.value && !!Object.keys(v.value).length);
|
|
7
21
|
const invalid = computed(() => isValidation.value && v.value.$error);
|
|
8
22
|
|
|
9
23
|
const validationText = computed(() => {
|
|
10
24
|
let validationText = '';
|
|
11
|
-
if (isValidation && invalid) {
|
|
25
|
+
if (isValidation.value && invalid) {
|
|
12
26
|
if (v.value.required?.$invalid) validationText = t('validation.required');
|
|
13
27
|
else if (v.value.numeric?.$invalid) validationText = t('validation.numeric');
|
|
14
28
|
else if (v.value.email?.$invalid) validationText = t('validation.email');
|
|
@@ -24,6 +38,7 @@ export function useValidation({ v, customValidators }) {
|
|
|
24
38
|
else if (v.value.sameAs?.$invalid) validationText = `${t('validation.sameAs')}`;
|
|
25
39
|
else if (v.value.domainValidator?.$invalid) validationText = `${t('validation.domainValidator')}`;
|
|
26
40
|
else if (v.value.decimalValidator?.$invalid) validationText = `${t('validation.decimalValidator')} ${v.value.decimalValidator.$params.count}`;
|
|
41
|
+
else if (v.value.websocketValidator?.$invalid) validationText = `${t('validation.websocketValidator')}`;
|
|
27
42
|
else if (v.value.integer?.$invalid) validationText = `${t('validation.integer')}`;
|
|
28
43
|
}
|
|
29
44
|
// eslint-disable-next-line no-restricted-syntax
|
|
@@ -34,6 +34,7 @@ export default {
|
|
|
34
34
|
else if (this.v.sameAs?.$invalid) validationText = `${this.$t('validation.sameAs')}`;
|
|
35
35
|
else if (this.v.domainValidator?.$invalid) validationText = `${this.$t('validation.domainValidator')}`;
|
|
36
36
|
else if (this.v.decimalValidator?.$invalid) validationText = `${this.$t('validation.decimalValidator')} ${this.v.decimalValidator.$params.count}`;
|
|
37
|
+
else if (this.v.websocketValidator?.$invalid) validationText = `${this.$t('validation.websocketValidator')}`;
|
|
37
38
|
else if (this.v.integer?.$invalid) validationText = `${this.$t('validation.integer')}`;
|
|
38
39
|
}
|
|
39
40
|
// eslint-disable-next-line no-restricted-syntax
|
package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js
CHANGED
|
@@ -6,13 +6,13 @@ import * as PauseCauseAPIFactory from '../../api/pause-cause';
|
|
|
6
6
|
import WtCcAgentStatusSelect from '../wt-cc-agent-status-select.vue';
|
|
7
7
|
|
|
8
8
|
const pauseCauses = [{ name: 'jest1' }, { name: 'jest2' }];
|
|
9
|
-
const getAgentPauseCausesMock =
|
|
9
|
+
const getAgentPauseCausesMock = vi.fn(() => ({ items: pauseCauses }));
|
|
10
10
|
// https://stackoverflow.com/a/63727813
|
|
11
|
-
|
|
11
|
+
vi.spyOn(PauseCauseAPIFactory, 'default').mockImplementation(() => ({ getList: getAgentPauseCausesMock }));
|
|
12
12
|
|
|
13
|
-
const agentStatusMock =
|
|
13
|
+
const agentStatusMock = vi.fn(() => {});
|
|
14
14
|
// https://stackoverflow.com/a/63727813
|
|
15
|
-
|
|
15
|
+
vi.spyOn(AgentStatusAPIFactory, 'default').mockImplementation(() => ({ patch: agentStatusMock }));
|
|
16
16
|
|
|
17
17
|
const agent = {
|
|
18
18
|
status: '',
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
min-width="480"
|
|
5
5
|
@close="close"
|
|
6
6
|
>
|
|
7
|
-
<template
|
|
7
|
+
<template #title>
|
|
8
8
|
{{ $t('webitelUI.agentStatusSelect.pauseCausePopup.title') }}
|
|
9
9
|
</template>
|
|
10
|
-
<template
|
|
10
|
+
<template #main>
|
|
11
11
|
<form @submit.prevent="setPause">
|
|
12
12
|
<ul>
|
|
13
13
|
<li
|
|
14
|
-
class="wt-cc-pause-cause-popup-option"
|
|
15
14
|
v-for="(option) of pauseCause"
|
|
16
15
|
:key="option.id"
|
|
16
|
+
class="wt-cc-pause-cause-popup-option"
|
|
17
17
|
>
|
|
18
18
|
<wt-radio
|
|
19
19
|
class="wt-cc-pause-cause-popup-option__radio"
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
:value="option.id"
|
|
22
22
|
:label="option.name"
|
|
23
23
|
@input="select(option)"
|
|
24
|
-
|
|
24
|
+
/>
|
|
25
25
|
<div class="wt-cc-pause-cause-popup-option__limits-wrapper">
|
|
26
26
|
<span
|
|
27
27
|
:class="{
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
'wt-cc-pause-cause-popup-option__duration--overflow': option.isOverflow,
|
|
29
|
+
}"
|
|
30
30
|
>
|
|
31
31
|
{{ option.duration }}
|
|
32
32
|
</span>
|
|
@@ -37,16 +37,18 @@
|
|
|
37
37
|
</ul>
|
|
38
38
|
</form>
|
|
39
39
|
</template>
|
|
40
|
-
<template
|
|
40
|
+
<template #actions>
|
|
41
41
|
<wt-button
|
|
42
42
|
:disabled="!selected"
|
|
43
43
|
@click="setPause"
|
|
44
|
-
>
|
|
44
|
+
>
|
|
45
|
+
{{ $t('reusable.ok') }}
|
|
45
46
|
</wt-button>
|
|
46
47
|
<wt-button
|
|
47
48
|
color="secondary"
|
|
48
49
|
@click="close"
|
|
49
|
-
>
|
|
50
|
+
>
|
|
51
|
+
{{ $t('reusable.cancel') }}
|
|
50
52
|
</wt-button>
|
|
51
53
|
</template>
|
|
52
54
|
</wt-popup>
|
package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue
CHANGED
|
@@ -4,25 +4,26 @@
|
|
|
4
4
|
min-width="480"
|
|
5
5
|
@close="close"
|
|
6
6
|
>
|
|
7
|
-
<template
|
|
7
|
+
<template #header>
|
|
8
8
|
{{ $t('webitelUI.agentStatusSelect.statusSelectErrorPopup.title') }}
|
|
9
9
|
</template>
|
|
10
|
-
<template
|
|
10
|
+
<template #main>
|
|
11
11
|
<article class="wt-cc-status-select-error-popup__main-wrapper">
|
|
12
12
|
<wt-icon
|
|
13
13
|
icon="attention"
|
|
14
14
|
color="danger"
|
|
15
|
-
|
|
15
|
+
/>
|
|
16
16
|
<p class="wt-cc-status-select-error-popup__message">
|
|
17
17
|
{{ $t('webitelUI.agentStatusSelect.statusSelectErrorPopup.message') }}
|
|
18
18
|
</p>
|
|
19
19
|
</article>
|
|
20
20
|
</template>
|
|
21
|
-
<template
|
|
21
|
+
<template #actions>
|
|
22
22
|
<wt-button
|
|
23
23
|
color="secondary"
|
|
24
24
|
@click="close"
|
|
25
|
-
>
|
|
25
|
+
>
|
|
26
|
+
{{ $t('reusable.ok') }}
|
|
26
27
|
</wt-button>
|
|
27
28
|
</template>
|
|
28
29
|
</wt-popup>
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
:status="status"
|
|
5
5
|
:status-duration="statusDuration"
|
|
6
6
|
@change="handleStatusSelectInput"
|
|
7
|
-
|
|
7
|
+
/>
|
|
8
8
|
<pause-cause-popup
|
|
9
9
|
v-if="isPauseCausePopup"
|
|
10
10
|
:options="pauseCauses"
|
|
11
11
|
@change="handlePauseCauseInput"
|
|
12
12
|
@close="closePauseCausePopup"
|
|
13
|
-
|
|
13
|
+
/>
|
|
14
14
|
<status-select-error-popup
|
|
15
15
|
v-if="error"
|
|
16
16
|
:error="error"
|
|
17
17
|
@close="error = null"
|
|
18
|
-
|
|
18
|
+
/>
|
|
19
19
|
</article>
|
|
20
20
|
</template>
|
|
21
21
|
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
useDestroyableSortable,
|
|
7
7
|
} from '../../../../composables/useDestroyableSortable/useDestroyableSortable';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
vi.mock('../../../../composables/useDestroyableSortable/useDestroyableSortable');
|
|
10
10
|
|
|
11
11
|
useDestroyableSortable.mockImplementation(() => ({ reloadSortable: ref(false) }));
|
|
12
12
|
|