@webitel/ui-sdk 3.0.5 → 3.0.7

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": "3.0.5",
3
+ "version": "3.0.7",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve-lib": "vue-cli-service serve",
@@ -18,6 +18,7 @@
18
18
  "src/locale/*",
19
19
  "src/css/*",
20
20
  "src/components/*",
21
+ "src/directives/*",
21
22
  "src/enums/*",
22
23
  "src/mixins/*",
23
24
  "src/scripts/*",
@@ -0,0 +1,52 @@
1
+ /* eslint-disable */
2
+
3
+ const HANDLER = '_vue_clickaway_handler';
4
+
5
+ function bind(el, binding, vnode) {
6
+ unbind(el);
7
+
8
+ const vm = vnode.context;
9
+ const callback = binding.value;
10
+
11
+ // @NOTE: Vue binds directives in microtasks, while UI events are dispatched
12
+ // in macrotasks. This causes the listener to be set up before
13
+ // the "origin" click event (the event that lead to the binding of
14
+ // the directive) arrives at the document root. To work around that,
15
+ // we ignore events until the end of the "initial" macrotask.
16
+ // @REFERENCE: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
17
+ // @REFERENCE: https://github.com/simplesmiler/vue-clickaway/issues/8
18
+ let initialMacrotaskEnded = false;
19
+ setTimeout(function() {
20
+ initialMacrotaskEnded = true;
21
+ }, 0);
22
+
23
+ el[HANDLER] = function(ev) {
24
+ // @NOTE: this test used to be just `el.contains`, but working with path is better,
25
+ // because it tests whether the element was there at the time of
26
+ // the click, not whether it is there now, that the event has arrived
27
+ // to the top.
28
+ // @NOTE: `.path` is non-standard, the standard way is `.composedPath()`
29
+ const path = ev.path || (ev.composedPath ? ev.composedPath() : undefined);
30
+ if (initialMacrotaskEnded && (path ? path.indexOf(el) < 0 : !el.contains(ev.target))) {
31
+ return callback.call(vm, ev);
32
+ }
33
+ };
34
+
35
+ document.documentElement.addEventListener('click', el[HANDLER], false);
36
+ }
37
+
38
+ function unbind(el) {
39
+ document.documentElement.removeEventListener('click', el[HANDLER], false);
40
+ delete el[HANDLER];
41
+ }
42
+
43
+ const clickaway = {
44
+ bind,
45
+ update (el, binding) {
46
+ if (binding.value === binding.oldValue) return;
47
+ bind(el, binding);
48
+ },
49
+ unbind,
50
+ };
51
+
52
+ export default clickaway;
@@ -0,0 +1,8 @@
1
+ import Vue from 'vue';
2
+ import clickaway from './clickaway/clickaway';
3
+
4
+ const Directives = {
5
+ clickaway,
6
+ };
7
+
8
+ export default Directives;
@@ -34,6 +34,7 @@ export default {
34
34
  generate: 'Generate',
35
35
  lang: {
36
36
  en: 'English',
37
+ es: 'Español',
37
38
  ru: 'Русский',
38
39
  ua: 'Українська',
39
40
  },
@@ -0,0 +1,282 @@
1
+ import {
2
+ AgentStatus,
3
+ CallDirection,
4
+ ChannelState,
5
+ ChannelType, EngineRoutingSchemaType,
6
+ } from 'webitel-sdk';
7
+ import { QueueType } from 'webitel-sdk/esm2015/enums';
8
+ import AdminSections from '../../enums/WebitelApplications/AdminSections.enum';
9
+ import SupervisorSections from '../../enums/WebitelApplications/SupervisorSections.enum';
10
+ import WebitelApplications from '../../enums/WebitelApplications/WebitelApplications.enum';
11
+ import AuditorSections
12
+ from '../../enums/WebitelApplications/AuditorSections.enum';
13
+ import { snakeToCamel } from '../../scripts/caseConverters';
14
+
15
+ export default {
16
+ // describes reusable buttons, actions, default titles, and other ui elements
17
+ reusable: {
18
+ total: 'Total',
19
+ ok: 'Ok',
20
+ save: 'Guardar',
21
+ close: 'Cerrar',
22
+ add: 'Agregar',
23
+ cancel: 'Cancelar',
24
+ import: 'Importación',
25
+ export: 'Exportación',
26
+ true: 'Sí',
27
+ delete: 'Eliminar',
28
+ search: 'Búsqueda',
29
+ open: 'Abrir',
30
+ name: 'Nombre',
31
+ expand: 'Expandir',
32
+ collapse: 'Reducir',
33
+ generate: 'Generar',
34
+ lang: {
35
+ en: 'English',
36
+ es: 'Español',
37
+ ru: 'Русский',
38
+ ua: 'Українська',
39
+ },
40
+ from: 'De',
41
+ to: 'Hasta',
42
+ tts: 'Text-to-Speech',
43
+ state: 'Estado',
44
+ refresh: 'Actualizar',
45
+ retry: 'Repetir',
46
+ reset: 'Reiniciar',
47
+ downloadAll: 'Descargar todo',
48
+ warning: 'Aviso',
49
+ doNotSave: 'No guardar',
50
+ },
51
+ vocabulary: {
52
+ language: 'Idioma',
53
+ voice: 'Voz',
54
+ format: 'Formáto',
55
+ text: 'Texto',
56
+ yes: 'Sí',
57
+ no: 'No',
58
+ description: 'Descripción',
59
+ login: 'Acceso',
60
+ host: 'Host',
61
+ time: 'Tiempo',
62
+ channel: 'Canal',
63
+ file: 'Archivo',
64
+ logout: 'Salir',
65
+ priority: 'Prioridad',
66
+ variables: 'Intercambiable | Intercambiables',
67
+ type: 'Tipo',
68
+ tag: 'Etiqueta | Etiquetas',
69
+ output: 'Salida | Salidas',
70
+ values: 'Valor | Valores',
71
+ keys: 'Clave | Claves',
72
+ duration: 'Duración',
73
+ errors: 'Error | Errores',
74
+ },
75
+ // date-related texts
76
+ date: {
77
+ sec: 'Seg',
78
+ timezone: 'Zona horaria | Zonas horarias',
79
+ },
80
+ // describes Webitel system entities
81
+ objects: {
82
+ team: 'Equipo | Equipos',
83
+ supervisor: 'Supervisor | Supervisores',
84
+ auditor: 'Auditor | Auditores',
85
+ region: 'Región | Regiones',
86
+ queue: {
87
+ type: {
88
+ [QueueType.INBOUND_QUEUE]: 'Cola entrante',
89
+ [QueueType.OFFLINE_QUEUE]: 'Cola fuera de línea',
90
+ [QueueType.OUTBOUND_IVR_QUEUE]: 'IVR saliente',
91
+ [QueueType.PREDICTIVE_DIALER]: 'Marcador predictivo',
92
+ [QueueType.PROGRESSIVE_DIALER]: 'Marcador progresivo',
93
+ [QueueType.PREVIEW_DIALER]: 'Vista previa de llamadas',
94
+ [QueueType.CHAT_INBOUND_QUEUE]: 'Cola de chats',
95
+ [QueueType.INBOUND_JOB_QUEUE]: 'Cola de tareas entrante',
96
+ [QueueType.OUTBOUND_JOB_QUEUE]: 'Cola de tareas saliente',
97
+ },
98
+ },
99
+ agent: {
100
+ status: {
101
+ [AgentStatus.Online]: 'En línea',
102
+ [AgentStatus.Pause]: 'Pausa',
103
+ [AgentStatus.Offline]: 'Desconectado',
104
+ [snakeToCamel(AgentStatus.BreakOut)]: 'Pausa forzada',
105
+ },
106
+ },
107
+ flow: {
108
+ type: {
109
+ [EngineRoutingSchemaType.Chat]: 'Chat',
110
+ [EngineRoutingSchemaType.Voice]: 'Voz',
111
+ [EngineRoutingSchemaType.Service]: 'Servicio',
112
+ [EngineRoutingSchemaType.Processing]: 'Procesamiento',
113
+ },
114
+ },
115
+ },
116
+ channel: {
117
+ state: {
118
+ [ChannelState.Waiting]: 'Espera',
119
+ [ChannelState.Distribute]: 'Reservado',
120
+ [ChannelState.Offering]: 'Distribución',
121
+ [ChannelState.Answered]: 'Respondida',
122
+ [ChannelState.Active]: 'Activo',
123
+ [ChannelState.Bridged]: 'Conectado',
124
+ [ChannelState.Hold]: 'Espera',
125
+ [ChannelState.Missed]: 'Perdida',
126
+ [snakeToCamel(ChannelState.WrapTime)]: 'Post-procesamiento',
127
+ [ChannelState.Processing]: 'Procesamiento',
128
+ [ChannelState.Transfer]: 'Transferencia',
129
+ },
130
+ type: {
131
+ [ChannelType.Call]: 'Llamada',
132
+ [ChannelType.Email]: 'Correo electrónico',
133
+ [ChannelType.Chat]: 'Chat',
134
+ },
135
+ },
136
+ calls: {
137
+ direction: {
138
+ [CallDirection.Inbound]: 'Entrante | Entrantes',
139
+ [CallDirection.Outbound]: 'Saliente | Salientes',
140
+ },
141
+ },
142
+ // describes Webitel FRONTEND applications + their navs
143
+ WebitelApplications: {
144
+ [WebitelApplications.AGENT]: { name: 'Agent Workspace' },
145
+ [WebitelApplications.AUDIT]: {
146
+ name: 'Audit',
147
+ section: {
148
+ [AuditorSections.SCORECARDS]: 'Formularios',
149
+ },
150
+ },
151
+ [WebitelApplications.HISTORY]: { name: 'Call History' },
152
+ [WebitelApplications.ANALYTICS]: { name: 'Data Visualisation Tool' },
153
+ [WebitelApplications.SUPERVISOR]: {
154
+ name: 'Supervisor Workspace',
155
+ sections: {
156
+ [SupervisorSections.QUEUES]: 'Colas',
157
+ [SupervisorSections.AGENTS]: 'Operadores',
158
+ [SupervisorSections.ACTIVE_CALLS]: 'Llamadas activas',
159
+ },
160
+ },
161
+ [WebitelApplications.ADMIN]: {
162
+ name: 'Admin',
163
+ sections: {
164
+ [AdminSections.USERS]: 'Usuarios',
165
+ [AdminSections.LICENSE]: 'Licencias',
166
+ [AdminSections.DEVICES]: 'Dispositivos',
167
+ [AdminSections.FLOW]: 'Esquemas',
168
+ [AdminSections.DIALPLAN]: 'Reglas de la marcación saliente',
169
+ [AdminSections.GATEWAYS]: 'Puertas de enlace',
170
+ [AdminSections.CHATPLAN]: 'Reglas de enrutamiento de mensajes de texto',
171
+ [AdminSections.CHAT_GATEWAYS]: 'Puertas de enlace de texto',
172
+ [AdminSections.SKILLS]: 'Habilidades del operador',
173
+ [AdminSections.BUCKETS]: 'Cestas',
174
+ [AdminSections.MEDIA]: 'Archivos multimedia',
175
+ [AdminSections.BLACKLIST]: 'Listas de llamadas',
176
+ [AdminSections.CALENDARS]: 'Calendarios',
177
+ [AdminSections.REGIONS]: 'Ubicación',
178
+ [AdminSections.COMMUNICATIONS]: 'Tipos de comunicación',
179
+ [AdminSections.PAUSE_CAUSE]: 'Estados del operador',
180
+ [AdminSections.AGENTS]: 'Operadores',
181
+ [AdminSections.TEAMS]: 'Equipos',
182
+ [AdminSections.RESOURCES]: 'Recursos',
183
+ [AdminSections.RESOURCE_GROUPS]: 'Grupos de recursos',
184
+ [AdminSections.QUEUES]: 'Colas',
185
+ [AdminSections.STORAGE]: 'Almacenamiento',
186
+ [AdminSections.COGNITIVE_PROFILES]: 'Perfiles de voz',
187
+ [AdminSections.EMAIL_PROFILES]: 'Perfiles de correo electrónico',
188
+ [AdminSections.IMPORT_CSV]: 'Importación de datos de archivos CSV',
189
+ [AdminSections.TRIGGERS]: 'Activadores',
190
+ [AdminSections.ROLES]: 'Funciones',
191
+ [AdminSections.OBJECTS]: 'Secciones',
192
+ },
193
+ },
194
+ },
195
+ validation: {
196
+ required: 'Campo requerido',
197
+ numeric: 'Valores numéricos requeridos',
198
+ email: 'Correo electrónico requerido',
199
+ gatewayHostValidator: 'IPv4 o FQDN requerido',
200
+ sipAccountValidator: 'Cuenta SIP requerida',
201
+ ipValidator: 'IPv4 requerido',
202
+ macValidator: 'dirección MAC requerida',
203
+ minValue: 'El valor no debe ser menor que',
204
+ maxValue: 'El valor no debe ser mayor que',
205
+ sameAs: 'Contraseña no válida',
206
+ requiredArrayValue: 'El campo no debe estar vacío',
207
+ minLength: 'El número de caracteres no debe ser menor que',
208
+ url: 'Se debe ingresar una URL válida',
209
+ },
210
+ webitelUI: {
211
+ searchBar: {
212
+ placeholder: 'Búsqueda',
213
+ },
214
+ timepicker: {
215
+ hour: 'Hora:',
216
+ min: 'Min:',
217
+ sec: 'Seg:',
218
+ },
219
+ datetimepicker: {
220
+ lastHour: 'Última hora',
221
+ lastDay: 'Último día',
222
+ },
223
+ pagination: {
224
+ sizeText: 'Registros en la página:',
225
+ prev: 'Atrás',
226
+ next: 'Adelante',
227
+ },
228
+ appNavigator: {
229
+ title: 'Aplicaciones de Webitel',
230
+ admin: 'Admin',
231
+ agent: 'Agent Workspace',
232
+ supervisor: 'Supervisor Workspace',
233
+ audit: 'Audit',
234
+ history: 'Call History',
235
+ grafana: 'Grafana',
236
+ },
237
+ headerActions: {
238
+ account: 'Cuenta',
239
+ docs: 'Documentación',
240
+ settings: 'Ajustes',
241
+ logout: 'Salir',
242
+ buildVersion: 'Versión de compilación',
243
+ },
244
+ tableActions: {
245
+ filterReset: 'Reiniciar filtros',
246
+ columnSelect: 'Agregar columnas',
247
+ refreshTable: 'Actualizar',
248
+ expandFilters: 'Expandir filtros',
249
+ },
250
+ tableColumnSelect: {
251
+ title: 'Seleccione columnas mostradas',
252
+ },
253
+ statusSelect: {
254
+ online: 'En línea',
255
+ pause: 'Pausa',
256
+ offline: 'Desconectado',
257
+ breakOut: 'Pausa forzada',
258
+ },
259
+ table: {
260
+ tableCells: {
261
+ deleteActionHint: 'Eliminar',
262
+ editActionHint: 'Editar',
263
+ },
264
+ },
265
+ errorPages: {
266
+ goBack: 'Regresar',
267
+ page403: {
268
+ title: 'Sin acceso',
269
+ text: 'Lo sentimos, no tiene suficientes derechos de acceso para ver esta página',
270
+ },
271
+ page404: {
272
+ title: 'Parece que se ha perdido',
273
+ text: 'Lo sentimos, no podemos encontrar lo que está buscando',
274
+ },
275
+ },
276
+ copyAction: {
277
+ copy: 'Copiar',
278
+ copied: '¡Copiado!',
279
+ },
280
+ },
281
+ };
282
+
@@ -1,10 +1,12 @@
1
1
  import { createI18n } from 'vue-i18n';
2
2
  import en from './en/en';
3
+ import en from './es/es';
3
4
  import ru from './ru/ru';
4
5
  import ua from './ua/ua';
5
6
 
6
7
  const messages = {
7
8
  en,
9
+ es,
8
10
  ru,
9
11
  ua,
10
12
  };
@@ -33,6 +33,7 @@ export default {
33
33
  generate: 'Сгенерировать',
34
34
  lang: {
35
35
  en: 'English',
36
+ es: 'Español',
36
37
  ru: 'Русский',
37
38
  ua: 'Українська',
38
39
  },
@@ -33,6 +33,7 @@ export default {
33
33
  generate: 'Згенерувати',
34
34
  lang: {
35
35
  en: 'English',
36
+ es: 'Español',
36
37
  ru: 'Русский',
37
38
  ua: 'Українська',
38
39
  },