@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "2.0.11",
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.91"
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', 'task'],
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', 'task'].includes(this.color)) return 'main';
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
- &.task {
162
+ &.job {
163
163
  color: var(--btn-light-font-color);
164
- background-color: var(--btn-task-color);
165
- border-color: var(--btn-task-color);
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-task--hover-color);
170
- border-color: var(--btn-task--hover-color);
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
- &.task {
246
- color: var(--btn-task-color);
247
- border-color: var(--btn-task-color);
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-task--hover-color);
252
- border-color: var(--btn-task--hover-color);
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', 'task', 'hold', 'secondary-50'],
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
- &-task .wt-icon__icon {
101
- fill: var(--task-color);
100
+ &-job .wt-icon__icon {
101
+ fill: var(--job-color);
102
102
  }
103
103
 
104
104
  &-hold .wt-icon__icon {
@@ -23,7 +23,7 @@
23
23
  :allow-empty="allowEmpty"
24
24
  :disabled="disabled"
25
25
  :internal-search="!searchMethod"
26
- :label="optionLabel"
26
+ :label="trackBy ? optionLabel : null"
27
27
  :limit="1"
28
28
  :limit-text="(count) => `+${count}`"
29
29
  :loading="false"
@@ -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 }">{{ label }}</slot>
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-task-color: var(--task-color);
46
- --btn-task--hover-color: var(--task--hover-color);
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
- --_task-color-hue: 227;
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
- --_task-color: var(--_task-color-hue), 80%, 50%;
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
- --task-color: hsla(var(--_task-color), var(--_opacity--default));
84
- --task--hover-color: hsla(var(--_task-color), var(--_opacity--hover));
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);
@@ -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.TASK_QUEUE]: 'Task queue',
68
+ [QueueType.INBOUND_JOB_QUEUE]: 'Inbound job queue',
69
+ [QueueType.OUTBOUND_JOB_QUEUE]: 'Outbound job queue',
59
70
  },
60
71
  },
61
72
  agent: {
@@ -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.TASK_QUEUE]: 'Очередь задач',
67
+ [QueueType.INBOUND_JOB_QUEUE]: 'Входящая очередь заданий',
68
+ [QueueType.OUTBOUND_JOB_QUEUE]: 'Исходящая очередь заданий',
59
69
  },
60
70
  },
61
71
  agent: {
@@ -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.TASK_QUEUE]: 'Черга задач',
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
  },