@webitel/ui-sdk 2.0.11 → 2.0.13-2
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/img/sprite/index.js +1 -1
- package/dist/img/sprite/{task--accept.svg → job--accept.svg} +0 -0
- package/dist/img/sprite/{task--end.svg → job--end.svg} +0 -0
- package/dist/img/sprite/{task.svg → job.svg} +0 -0
- package/dist/img/sprite/tts-download.svg +5 -0
- package/dist/ui-sdk.common.js +50 -37
- package/dist/ui-sdk.common.js.map +1 -1
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.umd.js +50 -37
- package/dist/ui-sdk.umd.js.map +1 -1
- package/dist/ui-sdk.umd.min.js +2 -2
- package/dist/ui-sdk.umd.min.js.map +1 -1
- package/package.json +2 -2
- package/src/components/atoms/wt-button/wt-button.vue +12 -12
- package/src/components/atoms/wt-icon/wt-icon.vue +3 -3
- package/src/components/molecules/wt-select/wt-select.vue +1 -1
- package/src/components/molecules/wt-textarea/wt-textarea.vue +27 -2
- package/src/css/components/atoms/wt-button/_variables.scss +2 -2
- package/src/css/styleguide/colors/_colors.scss +4 -4
- package/src/locale/en/en.js +12 -1
- package/src/locale/ru/ru.js +11 -1
- package/src/locale/ua/ua.js +11 -1
- package/src/modules/Notifications/store/NotificationsStoreModule.js +3 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webitel/ui-sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.13-2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve-lib": "vue-cli-service serve",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"vue-observe-visibility": "^1.0.0",
|
|
45
45
|
"vue-router": "^3.2.0",
|
|
46
46
|
"vuejs-datepicker": "^1.6.2",
|
|
47
|
-
"webitel-sdk": "^0.1.
|
|
47
|
+
"webitel-sdk": "^0.1.130"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@babel/eslint-parser": "^7.17.0",
|
|
@@ -32,7 +32,7 @@ export default {
|
|
|
32
32
|
color: {
|
|
33
33
|
type: String,
|
|
34
34
|
default: 'accent',
|
|
35
|
-
options: ['accent', 'secondary', 'success', 'danger', 'transfer', '
|
|
35
|
+
options: ['accent', 'secondary', 'success', 'danger', 'transfer', 'job'],
|
|
36
36
|
},
|
|
37
37
|
disabled: {
|
|
38
38
|
type: Boolean,
|
|
@@ -71,7 +71,7 @@ export default {
|
|
|
71
71
|
return '';
|
|
72
72
|
},
|
|
73
73
|
loaderColor() {
|
|
74
|
-
if (['success', 'transfer', 'danger', '
|
|
74
|
+
if (['success', 'transfer', 'danger', 'job'].includes(this.color)) return 'main';
|
|
75
75
|
return 'contrast';
|
|
76
76
|
},
|
|
77
77
|
},
|
|
@@ -159,15 +159,15 @@ export default {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
&.
|
|
162
|
+
&.job {
|
|
163
163
|
color: var(--btn-light-font-color);
|
|
164
|
-
background-color: var(--btn-
|
|
165
|
-
border-color: var(--btn-
|
|
164
|
+
background-color: var(--btn-job-color);
|
|
165
|
+
border-color: var(--btn-job-color);
|
|
166
166
|
|
|
167
167
|
&:hover,
|
|
168
168
|
&:active {
|
|
169
|
-
background-color: var(--btn-
|
|
170
|
-
border-color: var(--btn-
|
|
169
|
+
background-color: var(--btn-job--hover-color);
|
|
170
|
+
border-color: var(--btn-job--hover-color);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -242,14 +242,14 @@ export default {
|
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
&.
|
|
246
|
-
color: var(--btn-
|
|
247
|
-
border-color: var(--btn-
|
|
245
|
+
&.job {
|
|
246
|
+
color: var(--btn-job-color);
|
|
247
|
+
border-color: var(--btn-job-color);
|
|
248
248
|
|
|
249
249
|
&:hover,
|
|
250
250
|
&:active {
|
|
251
|
-
color: var(--btn-
|
|
252
|
-
border-color: var(--btn-
|
|
251
|
+
color: var(--btn-job--hover-color);
|
|
252
|
+
border-color: var(--btn-job--hover-color);
|
|
253
253
|
background-color: transparent;
|
|
254
254
|
}
|
|
255
255
|
}
|
|
@@ -29,7 +29,7 @@ export default {
|
|
|
29
29
|
color: {
|
|
30
30
|
type: String,
|
|
31
31
|
default: 'default',
|
|
32
|
-
options: ['default', 'contrast', 'active', 'accent', 'disabled', 'success', 'danger', 'transfer', '
|
|
32
|
+
options: ['default', 'contrast', 'active', 'accent', 'disabled', 'success', 'danger', 'transfer', 'job', 'hold', 'secondary-50'],
|
|
33
33
|
},
|
|
34
34
|
iconPrefix: {
|
|
35
35
|
type: String,
|
|
@@ -97,8 +97,8 @@ svg {
|
|
|
97
97
|
fill: var(--icon-color-transfer);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
&-
|
|
101
|
-
fill: var(--
|
|
100
|
+
&-job .wt-icon__icon {
|
|
101
|
+
fill: var(--job-color);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
&-hold .wt-icon__icon {
|
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
class="wt-textarea"
|
|
4
4
|
:class="{
|
|
5
5
|
'wt-textarea--disabled': disabled,
|
|
6
|
-
|
|
6
|
+
'wt-textarea--invalid': invalid,
|
|
7
|
+
}"
|
|
7
8
|
>
|
|
8
9
|
<wt-label
|
|
9
10
|
:for="name"
|
|
10
11
|
:disabled="disabled"
|
|
12
|
+
:invalid="invalid"
|
|
11
13
|
v-bind="labelProps"
|
|
12
14
|
>
|
|
13
15
|
<!-- @slot Custom input label -->
|
|
14
|
-
<slot name="label" v-bind="{ label }">{{
|
|
16
|
+
<slot name="label" v-bind="{ label }">{{ requiredLabel }}</slot>
|
|
15
17
|
</wt-label>
|
|
16
18
|
<div class="wt-textarea__wrapper">
|
|
17
19
|
<textarea
|
|
@@ -35,12 +37,20 @@
|
|
|
35
37
|
></wt-icon-btn>
|
|
36
38
|
</div>
|
|
37
39
|
</div>
|
|
40
|
+
<wt-input-info
|
|
41
|
+
v-if="isValidation"
|
|
42
|
+
:invalid="invalid"
|
|
43
|
+
>{{ validationText }}
|
|
44
|
+
</wt-input-info>
|
|
38
45
|
</div>
|
|
39
46
|
</template>
|
|
40
47
|
|
|
41
48
|
<script>
|
|
49
|
+
import validationMixin from '../../../mixins/validationMixin/validationMixin';
|
|
50
|
+
|
|
42
51
|
export default {
|
|
43
52
|
name: 'wt-textarea',
|
|
53
|
+
mixins: [validationMixin],
|
|
44
54
|
props: {
|
|
45
55
|
/**
|
|
46
56
|
* Current textarea value (`v-model`)
|
|
@@ -95,6 +105,10 @@
|
|
|
95
105
|
keypress: (event) => this.handleKeypress(event),
|
|
96
106
|
};
|
|
97
107
|
},
|
|
108
|
+
|
|
109
|
+
requiredLabel() {
|
|
110
|
+
return this.required ? `${this.label}*` : this.label;
|
|
111
|
+
},
|
|
98
112
|
},
|
|
99
113
|
|
|
100
114
|
methods: {
|
|
@@ -139,6 +153,11 @@
|
|
|
139
153
|
.wt-textarea:focus-within & {
|
|
140
154
|
color: var(--form-label--hover-color);
|
|
141
155
|
}
|
|
156
|
+
|
|
157
|
+
.wt-textarea--invalid:hover &,
|
|
158
|
+
.wt-textarea--invalid:focus-within & {
|
|
159
|
+
color: var(--label--invalid-color);
|
|
160
|
+
}
|
|
142
161
|
}
|
|
143
162
|
|
|
144
163
|
.wt-textarea__textarea {
|
|
@@ -169,6 +188,12 @@
|
|
|
169
188
|
background: var(--form-border--disabled-color);
|
|
170
189
|
border-color: var(--form-border--disabled-color);
|
|
171
190
|
}
|
|
191
|
+
|
|
192
|
+
.wt-textarea--invalid &,
|
|
193
|
+
.wt-textarea--invalid:hover & {
|
|
194
|
+
border-color: var(--false-color);
|
|
195
|
+
outline: none; // prevent outline overlapping false color
|
|
196
|
+
}
|
|
172
197
|
}
|
|
173
198
|
|
|
174
199
|
/* make icons black */
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
--btn-transfer-color: var(--transfer-color);
|
|
43
43
|
--btn-transfer--hover-color: var(--transfer--hover-color);
|
|
44
44
|
|
|
45
|
-
--btn-
|
|
46
|
-
--btn-
|
|
45
|
+
--btn-job-color: var(--job-color);
|
|
46
|
+
--btn-job--hover-color: var(--job--hover-color);
|
|
47
47
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
--_hold-color-hue: 54;
|
|
11
11
|
--_transfer-color-hue: 227;
|
|
12
|
-
--
|
|
12
|
+
--_job-color-hue: 209;
|
|
13
13
|
|
|
14
14
|
// DEFAULT STATES OPACITY
|
|
15
15
|
--_opacity--default: 0.8;
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
--_hold-color: var(--_hold-color-hue), 80%, 50%;
|
|
34
34
|
--_transfer-color: var(--_transfer-color-hue), 80%, 50%;
|
|
35
|
-
--
|
|
35
|
+
--_job-color: var(--_job-color-hue), 96%, 57%;
|
|
36
36
|
|
|
37
37
|
// MAIN COLORS
|
|
38
38
|
--accent-color: hsla(var(--_accent-color), 1);
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
--transfer-color: hsla(var(--_transfer-color), var(--_opacity--default));
|
|
81
81
|
--transfer--hover-color: hsla(var(--_transfer-color), var(--_opacity--hover));
|
|
82
82
|
|
|
83
|
-
--
|
|
84
|
-
--
|
|
83
|
+
--job-color: hsla(var(--_job-color), var(--_opacity--default));
|
|
84
|
+
--job--hover-color: hsla(var(--_job-color), var(--_opacity--hover));
|
|
85
85
|
|
|
86
86
|
// SUBORDINATE COLORS
|
|
87
87
|
--tag-bg-color: var(--accent-secondary-color);
|
package/src/locale/en/en.js
CHANGED
|
@@ -28,6 +28,7 @@ export default {
|
|
|
28
28
|
name: 'Name',
|
|
29
29
|
expand: 'Expand',
|
|
30
30
|
collapse: 'Collapse',
|
|
31
|
+
generate: 'Generate',
|
|
31
32
|
lang: {
|
|
32
33
|
en: 'English',
|
|
33
34
|
ru: 'Русский',
|
|
@@ -35,6 +36,15 @@ export default {
|
|
|
35
36
|
},
|
|
36
37
|
from: 'From',
|
|
37
38
|
to: 'To',
|
|
39
|
+
tts: 'Text-to-Speech',
|
|
40
|
+
state: 'State',
|
|
41
|
+
},
|
|
42
|
+
// yak zhe ya zaebalsya povtoriaty odni i ti sami slova!!!!
|
|
43
|
+
vocabulary: {
|
|
44
|
+
language: 'Language',
|
|
45
|
+
voice: 'Voice',
|
|
46
|
+
format: 'Format',
|
|
47
|
+
text: 'Text',
|
|
38
48
|
},
|
|
39
49
|
// date-related texts
|
|
40
50
|
date: {
|
|
@@ -55,7 +65,8 @@ export default {
|
|
|
55
65
|
[QueueType.PROGRESSIVE_DIALER]: 'Progressive dialer',
|
|
56
66
|
[QueueType.PREVIEW_DIALER]: 'Preview dialer',
|
|
57
67
|
[QueueType.CHAT_INBOUND_QUEUE]: 'Chat queue',
|
|
58
|
-
[QueueType.
|
|
68
|
+
[QueueType.INBOUND_JOB_QUEUE]: 'Inbound job queue',
|
|
69
|
+
[QueueType.OUTBOUND_JOB_QUEUE]: 'Outbound job queue',
|
|
59
70
|
},
|
|
60
71
|
},
|
|
61
72
|
agent: {
|
package/src/locale/ru/ru.js
CHANGED
|
@@ -28,6 +28,7 @@ export default {
|
|
|
28
28
|
name: 'Имя',
|
|
29
29
|
expand: 'Развернуть',
|
|
30
30
|
collapse: 'Свернуть',
|
|
31
|
+
generate: 'Сгенерировать',
|
|
31
32
|
lang: {
|
|
32
33
|
en: 'English',
|
|
33
34
|
ru: 'Русский',
|
|
@@ -35,6 +36,14 @@ export default {
|
|
|
35
36
|
},
|
|
36
37
|
from: 'От',
|
|
37
38
|
to: 'До',
|
|
39
|
+
tts: 'Text-to-Speech',
|
|
40
|
+
state: 'Состояние',
|
|
41
|
+
},
|
|
42
|
+
vocabulary: {
|
|
43
|
+
language: 'Язык',
|
|
44
|
+
voice: 'Голос',
|
|
45
|
+
format: 'Формат',
|
|
46
|
+
text: 'Текст',
|
|
38
47
|
},
|
|
39
48
|
// date-related texts
|
|
40
49
|
date: {
|
|
@@ -55,7 +64,8 @@ export default {
|
|
|
55
64
|
[QueueType.PROGRESSIVE_DIALER]: 'Прогрессивный обзвон',
|
|
56
65
|
[QueueType.PREVIEW_DIALER]: 'Превью обзвон',
|
|
57
66
|
[QueueType.CHAT_INBOUND_QUEUE]: 'Очередь чатов',
|
|
58
|
-
[QueueType.
|
|
67
|
+
[QueueType.INBOUND_JOB_QUEUE]: 'Входящая очередь заданий',
|
|
68
|
+
[QueueType.OUTBOUND_JOB_QUEUE]: 'Исходящая очередь заданий',
|
|
59
69
|
},
|
|
60
70
|
},
|
|
61
71
|
agent: {
|
package/src/locale/ua/ua.js
CHANGED
|
@@ -28,6 +28,7 @@ export default {
|
|
|
28
28
|
name: 'Ім\'я',
|
|
29
29
|
expand: 'Розгорнути',
|
|
30
30
|
collapse: 'Згорнути',
|
|
31
|
+
generate: 'Згенерувати',
|
|
31
32
|
lang: {
|
|
32
33
|
en: 'English',
|
|
33
34
|
ru: 'Русский',
|
|
@@ -35,6 +36,14 @@ export default {
|
|
|
35
36
|
},
|
|
36
37
|
from: 'Від',
|
|
37
38
|
to: 'До',
|
|
39
|
+
tts: 'Text-to-Speech',
|
|
40
|
+
state: 'Стан',
|
|
41
|
+
},
|
|
42
|
+
vocabulary: {
|
|
43
|
+
language: 'Мова',
|
|
44
|
+
voice: 'Голос',
|
|
45
|
+
format: 'Формат',
|
|
46
|
+
text: 'Текст',
|
|
38
47
|
},
|
|
39
48
|
// date-related texts
|
|
40
49
|
date: {
|
|
@@ -55,7 +64,8 @@ export default {
|
|
|
55
64
|
[QueueType.PROGRESSIVE_DIALER]: 'Прогресивний обзвін',
|
|
56
65
|
[QueueType.PREVIEW_DIALER]: 'Прев\'ю обзвін',
|
|
57
66
|
[QueueType.CHAT_INBOUND_QUEUE]: 'Черга чатів',
|
|
58
|
-
[QueueType.
|
|
67
|
+
[QueueType.INBOUND_JOB_QUEUE]: 'Вхідна черга завдань',
|
|
68
|
+
[QueueType.OUTBOUND_JOB_QUEUE]: 'Вихідна черга завдань',
|
|
59
69
|
},
|
|
60
70
|
},
|
|
61
71
|
agent: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChatActions, CallActions } from 'webitel-sdk';
|
|
1
|
+
import { ChatActions, CallActions, JobState } from 'webitel-sdk';
|
|
2
2
|
import i18n from '../../../locale/i18n';
|
|
3
3
|
import BaseStoreModule from '../../../store/BaseStoreModules/BaseStoreModule';
|
|
4
4
|
import endChatSound from '../assets/audio/end-chat.wav';
|
|
@@ -12,6 +12,7 @@ const NOTIFICATION_VISIBLE_INTERVAL = 2000;
|
|
|
12
12
|
const getNotificationSound = (action) => {
|
|
13
13
|
switch (action) {
|
|
14
14
|
case ChatActions.UserInvite:
|
|
15
|
+
case JobState.Distribute:
|
|
15
16
|
return new Audio(newChatSound);
|
|
16
17
|
case ChatActions.Message:
|
|
17
18
|
return new Audio(newMessageSound);
|
|
@@ -130,7 +131,7 @@ export default class NotificationsStoreModule extends BaseStoreModule {
|
|
|
130
131
|
|
|
131
132
|
STOP_SOUND: (context) => {
|
|
132
133
|
const { currentlyPlaying } = context.state;
|
|
133
|
-
if (currentlyPlaying) currentlyPlaying.pause();
|
|
134
|
+
if (currentlyPlaying && currentlyPlaying instanceof Audio) currentlyPlaying.pause();
|
|
134
135
|
localStorage.removeItem('wtIsPlaying');
|
|
135
136
|
context.commit('RESET_CURRENTLY_PLAYING');
|
|
136
137
|
},
|