@tuki-io/tuki-widgets 0.0.32 → 0.0.35
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/README.md +24 -24
- package/esm2020/lib/widgets.component.mjs +22 -22
- package/esm2020/lib/widgets.module.mjs +21 -21
- package/esm2020/lib/widgets.service.mjs +14 -14
- package/esm2020/public-api.mjs +7 -7
- package/esm2020/tuki-io-tuki-widgets.mjs +4 -4
- package/esm2020/user-device-manage/public-api.mjs +9 -9
- package/esm2020/user-device-manage/src/app.constants.mjs +95 -95
- package/esm2020/user-device-manage/src/classes/device.mjs +85 -85
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +2 -2
- package/esm2020/user-device-manage/src/classes/line-association.mjs +121 -121
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +10 -10
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +27 -27
- package/esm2020/user-device-manage/src/classes/line.mjs +18 -18
- package/esm2020/user-device-manage/src/classes/notification.mjs +32 -32
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +7 -7
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +111 -111
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +21 -21
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +32 -32
- package/esm2020/user-device-manage/src/classes/types.mjs +24 -24
- package/esm2020/user-device-manage/src/common-functions.mjs +19 -19
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +34 -34
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +31 -31
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +16 -16
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +64 -64
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +179 -179
- package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +24 -24
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +335 -335
- package/esm2020/user-device-manage/src/environments/environment.mjs +11 -11
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +36 -36
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -74
- package/esm2020/user-device-manage/src/material.module.mjs +192 -192
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +35 -35
- package/esm2020/user-device-manage/src/services/api.service.mjs +79 -79
- package/esm2020/user-device-manage/src/services/device.service.mjs +83 -83
- package/esm2020/user-device-manage/src/services/dns.service.mjs +104 -104
- package/esm2020/user-device-manage/src/services/line.service.mjs +76 -76
- package/esm2020/user-device-manage/src/services/notification.service.mjs +62 -62
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +70 -70
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +197 -197
- package/esm2020/user-device-manage/src/services/user.service.mjs +243 -243
- package/esm2020/user-device-manage/src/services/utils.service.mjs +87 -87
- package/esm2020/user-device-manage/src/services/validation.service.mjs +760 -760
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +107 -107
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +4 -4
- package/esm2020/user-manage/public-api.mjs +7 -7
- package/esm2020/user-manage/src/app.constants.mjs +50 -50
- package/esm2020/user-manage/src/classes/device.mjs +37 -37
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +2 -2
- package/esm2020/user-manage/src/classes/line-association.mjs +110 -110
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +10 -10
- package/esm2020/user-manage/src/classes/line-directory.mjs +27 -27
- package/esm2020/user-manage/src/classes/line.mjs +18 -18
- package/esm2020/user-manage/src/classes/notification.mjs +32 -32
- package/esm2020/user-manage/src/classes/pagination.mjs +8 -8
- package/esm2020/user-manage/src/classes/recording-options.mjs +7 -7
- package/esm2020/user-manage/src/classes/simplified-user.mjs +109 -109
- package/esm2020/user-manage/src/classes/table-data.mjs +2 -2
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +32 -32
- package/esm2020/user-manage/src/classes/user-list.mjs +10 -10
- package/esm2020/user-manage/src/common-functions.mjs +19 -19
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +24 -24
- package/esm2020/user-manage/src/environments/environment.mjs +11 -11
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +36 -36
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -74
- package/esm2020/user-manage/src/material.module.mjs +188 -188
- package/esm2020/user-manage/src/notifications/notification.component.mjs +35 -35
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-manage/src/services/api.service.mjs +79 -79
- package/esm2020/user-manage/src/services/dns.service.mjs +110 -110
- package/esm2020/user-manage/src/services/line.service.mjs +34 -34
- package/esm2020/user-manage/src/services/notification.service.mjs +62 -62
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-manage/src/services/site-settings.service.mjs +36 -36
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +197 -197
- package/esm2020/user-manage/src/services/user.service.mjs +207 -207
- package/esm2020/user-manage/src/services/users-search.service.mjs +49 -49
- package/esm2020/user-manage/src/services/utils.service.mjs +73 -73
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +65 -65
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +78 -78
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +20 -20
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +208 -208
- package/esm2020/user-manage/src/user-manage.module.mjs +99 -99
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +43 -43
- package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +4 -4
- package/esm2020/users-list/public-api.mjs +9 -9
- package/esm2020/users-list/src/app.constants.mjs +50 -50
- package/esm2020/users-list/src/classes/device.mjs +7 -7
- package/esm2020/users-list/src/classes/line.mjs +18 -18
- package/esm2020/users-list/src/classes/notification.mjs +31 -31
- package/esm2020/users-list/src/classes/pagination.mjs +8 -8
- package/esm2020/users-list/src/classes/simlified-user.mjs +50 -50
- package/esm2020/users-list/src/classes/table-data.mjs +2 -2
- package/esm2020/users-list/src/classes/user-list.mjs +13 -13
- package/esm2020/users-list/src/material.module.mjs +209 -209
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +95 -95
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +35 -35
- package/esm2020/users-list/src/services/api-webex.service.mjs +17 -17
- package/esm2020/users-list/src/services/api.service.mjs +78 -78
- package/esm2020/users-list/src/services/dns.service.mjs +120 -120
- package/esm2020/users-list/src/services/events-communication.service.mjs +14 -14
- package/esm2020/users-list/src/services/notification.service.mjs +62 -62
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/users-list/src/services/user.service.mjs +150 -150
- package/esm2020/users-list/src/services/users-search.service.mjs +120 -120
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +34 -34
- package/esm2020/users-list/src/users-list.component.mjs +260 -259
- package/esm2020/users-list/src/users-list.module.mjs +80 -80
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/users-list/src/utils/common-functions.mjs +19 -19
- package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +43 -43
- package/esm2020/users-list/src/utils/utils.service.mjs +73 -73
- package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +4 -4
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +3277 -3277
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +2004 -2004
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1429 -1428
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +48 -48
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +3239 -3239
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +1987 -1987
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1418 -1417
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +48 -48
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/widgets.component.d.ts +8 -8
- package/lib/widgets.module.d.ts +7 -7
- package/lib/widgets.service.d.ts +6 -6
- package/package.json +1 -1
- package/public-api.d.ts +3 -3
- package/user-device-manage/index.d.ts +5 -5
- package/user-device-manage/public-api.d.ts +8 -8
- package/user-device-manage/src/app.constants.d.ts +74 -74
- package/user-device-manage/src/classes/device.d.ts +233 -233
- package/user-device-manage/src/classes/line-association-interface.d.ts +45 -45
- package/user-device-manage/src/classes/line-association.d.ts +62 -62
- package/user-device-manage/src/classes/line-call-info-display.d.ts +11 -11
- package/user-device-manage/src/classes/line-directory.d.ts +15 -15
- package/user-device-manage/src/classes/line.d.ts +140 -140
- package/user-device-manage/src/classes/notification.d.ts +18 -18
- package/user-device-manage/src/classes/recording-options.d.ts +5 -5
- package/user-device-manage/src/classes/simplified-user.d.ts +52 -52
- package/user-device-manage/src/classes/site-defaults.d.ts +146 -146
- package/user-device-manage/src/classes/translation-pattern.d.ts +19 -19
- package/user-device-manage/src/classes/types.d.ts +19 -19
- package/user-device-manage/src/common-functions.d.ts +1 -1
- package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +20 -20
- package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +15 -15
- package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +7 -7
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +24 -24
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +89 -89
- package/user-device-manage/src/device-list/device-list.component.d.ts +11 -11
- package/user-device-manage/src/device-manage-widget.component.d.ts +71 -71
- package/user-device-manage/src/environments/environment.d.ts +9 -9
- package/user-device-manage/src/interseptors/auth.interceptor.d.ts +9 -9
- package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -35
- package/user-device-manage/src/material.module.d.ts +29 -29
- package/user-device-manage/src/notifications/notification.component.d.ts +19 -19
- package/user-device-manage/src/services/api.service.d.ts +20 -20
- package/user-device-manage/src/services/device.service.d.ts +21 -21
- package/user-device-manage/src/services/dns.service.d.ts +14 -14
- package/user-device-manage/src/services/line.service.d.ts +33 -33
- package/user-device-manage/src/services/notification.service.d.ts +18 -18
- package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/user-device-manage/src/services/site-settings.service.d.ts +25 -25
- package/user-device-manage/src/services/sorting-utils.service.d.ts +26 -26
- package/user-device-manage/src/services/user.service.d.ts +51 -51
- package/user-device-manage/src/services/utils.service.d.ts +10 -10
- package/user-device-manage/src/services/validation.service.d.ts +165 -165
- package/user-device-manage/src/user-device-manage.module.d.ts +22 -22
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +6 -6
- package/user-manage/index.d.ts +5 -5
- package/user-manage/public-api.d.ts +6 -6
- package/user-manage/src/app.constants.d.ts +29 -29
- package/user-manage/src/classes/device.d.ts +203 -203
- package/user-manage/src/classes/line-association-interface.d.ts +40 -40
- package/user-manage/src/classes/line-association.d.ts +55 -55
- package/user-manage/src/classes/line-call-info-display.d.ts +11 -11
- package/user-manage/src/classes/line-directory.d.ts +16 -16
- package/user-manage/src/classes/line.d.ts +140 -140
- package/user-manage/src/classes/notification.d.ts +18 -18
- package/user-manage/src/classes/pagination.d.ts +13 -13
- package/user-manage/src/classes/recording-options.d.ts +5 -5
- package/user-manage/src/classes/simplified-user.d.ts +50 -50
- package/user-manage/src/classes/table-data.d.ts +5 -5
- package/user-manage/src/classes/translation-pattern.d.ts +18 -18
- package/user-manage/src/classes/user-list.d.ts +34 -34
- package/user-manage/src/common-functions.d.ts +1 -1
- package/user-manage/src/device-list/device-list.component.d.ts +11 -11
- package/user-manage/src/environments/environment.d.ts +9 -9
- package/user-manage/src/interseptors/auth.interceptor.d.ts +9 -9
- package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -35
- package/user-manage/src/material.module.d.ts +28 -28
- package/user-manage/src/notifications/notification.component.d.ts +19 -19
- package/user-manage/src/removeKynFromIBM.service.d.ts +8 -8
- package/user-manage/src/services/api.service.d.ts +21 -21
- package/user-manage/src/services/dns.service.d.ts +14 -14
- package/user-manage/src/services/line.service.d.ts +17 -17
- package/user-manage/src/services/notification.service.d.ts +18 -18
- package/user-manage/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/user-manage/src/services/site-settings.service.d.ts +9 -9
- package/user-manage/src/services/sorting-utils.service.d.ts +26 -26
- package/user-manage/src/services/user.service.d.ts +43 -43
- package/user-manage/src/services/users-search.service.d.ts +25 -25
- package/user-manage/src/services/utils.service.d.ts +9 -9
- package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +24 -24
- package/user-manage/src/user-calling/user-calling.component.d.ts +30 -30
- package/user-manage/src/user-info/user-info.component.d.ts +9 -9
- package/user-manage/src/user-manage-widget.component.d.ts +45 -45
- package/user-manage/src/user-manage.module.d.ts +21 -21
- package/user-manage/src/utils/app-loader/app-loader.d.ts +6 -6
- package/user-manage/src/utils/pagination/pagination.component.d.ts +18 -18
- package/users-list/index.d.ts +5 -5
- package/users-list/public-api.d.ts +8 -8
- package/users-list/src/app.constants.d.ts +32 -32
- package/users-list/src/classes/device.d.ts +224 -224
- package/users-list/src/classes/line.d.ts +140 -140
- package/users-list/src/classes/notification.d.ts +18 -18
- package/users-list/src/classes/pagination.d.ts +13 -13
- package/users-list/src/classes/simlified-user.d.ts +25 -25
- package/users-list/src/classes/table-data.d.ts +5 -5
- package/users-list/src/classes/user-list.d.ts +36 -36
- package/users-list/src/material.module.d.ts +31 -31
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +25 -25
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +16 -16
- package/users-list/src/services/api-webex.service.d.ts +8 -8
- package/users-list/src/services/api.service.d.ts +21 -21
- package/users-list/src/services/dns.service.d.ts +18 -18
- package/users-list/src/services/events-communication.service.d.ts +8 -8
- package/users-list/src/services/notification.service.d.ts +18 -18
- package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/users-list/src/services/user.service.d.ts +34 -34
- package/users-list/src/services/users-search.service.d.ts +34 -34
- package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +20 -20
- package/users-list/src/users-list.component.d.ts +59 -59
- package/users-list/src/users-list.module.d.ts +16 -16
- package/users-list/src/utils/app-loader/app-loader.d.ts +6 -6
- package/users-list/src/utils/common-functions.d.ts +1 -1
- package/users-list/src/utils/pagination/pagination.component.d.ts +18 -18
- package/users-list/src/utils/utils.service.d.ts +9 -9
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class APIService {
|
|
6
|
-
constructor(httpClient) {
|
|
7
|
-
this.httpClient = httpClient;
|
|
8
|
-
this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
|
|
9
|
-
}
|
|
10
|
-
fetch(url, params, cache) {
|
|
11
|
-
const headers = this.getHeaders(cache);
|
|
12
|
-
params = params || {};
|
|
13
|
-
return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
|
|
14
|
-
}
|
|
15
|
-
post(url, body, params = {}) {
|
|
16
|
-
body = body || null;
|
|
17
|
-
const headers = this.getHeaders();
|
|
18
|
-
return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
|
|
19
|
-
}
|
|
20
|
-
// use when response extended data is necessary:
|
|
21
|
-
postExtended(url, body = null, params = {}, headers = {}) {
|
|
22
|
-
headers = headers || this.getHeaders();
|
|
23
|
-
return this.httpClient.post(this.apiUrl + url, body, {
|
|
24
|
-
headers,
|
|
25
|
-
observe: 'response',
|
|
26
|
-
params: this.prepareEncodedParams(params)
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
put(url, body = null, params = {}) {
|
|
30
|
-
const headers = this.getHeaders();
|
|
31
|
-
return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
|
|
32
|
-
}
|
|
33
|
-
delete(url, params = {}) {
|
|
34
|
-
const headers = this.getHeaders();
|
|
35
|
-
return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
|
|
36
|
-
}
|
|
37
|
-
fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
|
|
38
|
-
const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
|
|
39
|
-
const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
|
|
40
|
-
return this.fetch(url, params, cache);
|
|
41
|
-
}
|
|
42
|
-
prepareEncodedParams(params) {
|
|
43
|
-
const result = {};
|
|
44
|
-
if (!params) {
|
|
45
|
-
return {};
|
|
46
|
-
}
|
|
47
|
-
for (const key of Object.keys(params)) {
|
|
48
|
-
if (params[key]) {
|
|
49
|
-
const stringParam = params[key].toString();
|
|
50
|
-
result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
getHeaders(cache) {
|
|
56
|
-
let headers = new HttpHeaders();
|
|
57
|
-
if (cache) {
|
|
58
|
-
headers = headers.append('_Cache', 'true ');
|
|
59
|
-
}
|
|
60
|
-
const token = this.token || this.getParameterByName('token');
|
|
61
|
-
headers = headers.append('Authorization', 'Bearer ' + token);
|
|
62
|
-
return headers;
|
|
63
|
-
}
|
|
64
|
-
getParameterByName(name, url = window.location.href) {
|
|
65
|
-
name = name.replace(/[\[\]]/g, '\\$&');
|
|
66
|
-
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
|
67
|
-
if (!results)
|
|
68
|
-
return null;
|
|
69
|
-
if (!results[2])
|
|
70
|
-
return '';
|
|
71
|
-
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
|
|
77
|
-
type: Injectable
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class APIService {
|
|
6
|
+
constructor(httpClient) {
|
|
7
|
+
this.httpClient = httpClient;
|
|
8
|
+
this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
|
|
9
|
+
}
|
|
10
|
+
fetch(url, params, cache) {
|
|
11
|
+
const headers = this.getHeaders(cache);
|
|
12
|
+
params = params || {};
|
|
13
|
+
return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
|
|
14
|
+
}
|
|
15
|
+
post(url, body, params = {}) {
|
|
16
|
+
body = body || null;
|
|
17
|
+
const headers = this.getHeaders();
|
|
18
|
+
return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
|
|
19
|
+
}
|
|
20
|
+
// use when response extended data is necessary:
|
|
21
|
+
postExtended(url, body = null, params = {}, headers = {}) {
|
|
22
|
+
headers = headers || this.getHeaders();
|
|
23
|
+
return this.httpClient.post(this.apiUrl + url, body, {
|
|
24
|
+
headers,
|
|
25
|
+
observe: 'response',
|
|
26
|
+
params: this.prepareEncodedParams(params)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
put(url, body = null, params = {}) {
|
|
30
|
+
const headers = this.getHeaders();
|
|
31
|
+
return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
|
|
32
|
+
}
|
|
33
|
+
delete(url, params = {}) {
|
|
34
|
+
const headers = this.getHeaders();
|
|
35
|
+
return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
|
|
36
|
+
}
|
|
37
|
+
fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
|
|
38
|
+
const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
|
|
39
|
+
const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
|
|
40
|
+
return this.fetch(url, params, cache);
|
|
41
|
+
}
|
|
42
|
+
prepareEncodedParams(params) {
|
|
43
|
+
const result = {};
|
|
44
|
+
if (!params) {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
for (const key of Object.keys(params)) {
|
|
48
|
+
if (params[key]) {
|
|
49
|
+
const stringParam = params[key].toString();
|
|
50
|
+
result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
getHeaders(cache) {
|
|
56
|
+
let headers = new HttpHeaders();
|
|
57
|
+
if (cache) {
|
|
58
|
+
headers = headers.append('_Cache', 'true ');
|
|
59
|
+
}
|
|
60
|
+
const token = this.token || this.getParameterByName('token');
|
|
61
|
+
headers = headers.append('Authorization', 'Bearer ' + token);
|
|
62
|
+
return headers;
|
|
63
|
+
}
|
|
64
|
+
getParameterByName(name, url = window.location.href) {
|
|
65
|
+
name = name.replace(/[\[\]]/g, '\\$&');
|
|
66
|
+
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
|
67
|
+
if (!results)
|
|
68
|
+
return null;
|
|
69
|
+
if (!results[2])
|
|
70
|
+
return '';
|
|
71
|
+
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
|
|
77
|
+
type: Injectable
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9zZXJ2aWNlcy9hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxVQUFVO0lBR3JCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUk3RSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxNQUFZLEVBQUUsS0FBZTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3RDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUks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LElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsU0FBUyxHQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFTLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUM5RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxFQUN6RCxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3dHQTlFVSxVQUFVOzRHQUFWLFVBQVU7NEZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBUElTZXJ2aWNlIHtcclxuICBwdWJsaWMgdG9rZW46IGFueTtcclxuICBhcGlVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgJy9kY3AnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBmZXRjaCh1cmw6IHN0cmluZywgcGFyYW1zPzogYW55LCBjYWNoZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycyhjYWNoZSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0aGlzLmFwaVVybCArIHVybCwge3BhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcyA9IHt9KTogYW55IHtcclxuICAgIGJvZHkgPSBib2R5IHx8IG51bGw7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSwgaGVhZGVyc30pO1xyXG4gIH1cclxuXHJcbiAgLy8gdXNlIHdoZW4gcmVzcG9uc2UgZXh0ZW5kZWQgZGF0YSBpcyBuZWNlc3Nhcnk6XHJcbiAgcG9zdEV4dGVuZGVkKHVybDogc3RyaW5nLCBib2R5ID0gbnVsbCwgcGFyYW1zID0ge30sIGhlYWRlcnMgPSB7fSkge1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMgfHwgdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcclxuICAgICAgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHV0KHVybDogc3RyaW5nLCBib2R5ID0gbnVsbCwgcGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7aGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyl9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSh1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHRoaXMuYXBpVXJsICsgdXJsLCB7aGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyl9KTtcclxuICB9XHJcblxyXG4gIGZldGNoUGFnaW5hdGlvbih1cmw6IHN0cmluZywgcGFnZVNpemU6IG51bWJlciwgcGFnZU51bWJlcjogbnVtYmVyLCBhZGRpdGlvbmFsUGFyYW1zID0ge30sIGNhY2hlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb3B5QWRkaXRpb25hbFBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWRkaXRpb25hbFBhcmFtcykpO1xyXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmFzc2lnbihjb3B5QWRkaXRpb25hbFBhcmFtcywge3NpemU6IHBhZ2VTaXplLnRvU3RyaW5nKCksIHBhZ2U6IHBhZ2VOdW1iZXIudG9TdHJpbmcoKX0pO1xyXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2godXJsLCBwYXJhbXMsIGNhY2hlKSBhcyBPYnNlcnZhYmxlPGFueT47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtczogYW55KSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xyXG5cclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcclxuICAgICAgaWYgKHBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgY29uc3Qgc3RyaW5nUGFyYW0gPSBwYXJhbXNba2V5XS50b1N0cmluZygpO1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gc3RyaW5nUGFyYW0uaW5jbHVkZXMoJysnKSA/IGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdQYXJhbSkgOiBzdHJpbmdQYXJhbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SGVhZGVycyhjYWNoZT86IGJvb2xlYW4pOiBIdHRwSGVhZGVycyB7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnX0NhY2hlJywgJ3RydWUgJyk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW4gfHwgdGhpcy5nZXRQYXJhbWV0ZXJCeU5hbWUoJ3Rva2VuJyk7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcrIHRva2VuKTtcclxuICAgIHJldHVybiBoZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeU5hbWUobmFtZTogYW55LCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZikge1xyXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1xcW1xcXV0vZywgJ1xcXFwkJicpO1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBuYW1lICsgJyg9KFteJiNdKil8JnwjfCQpJyksXHJcbiAgICAgIHJlc3VsdHMgPSByZWdleC5leGVjKHVybCk7XHJcbiAgICBpZiAoIXJlc3VsdHMpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKCFyZXN1bHRzWzJdKSByZXR1cm4gJyc7XHJcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdHNbMl0ucmVwbGFjZSgvXFwrL2csICcgJykpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { of, throwError } from 'rxjs';
|
|
3
|
-
import { API } from '../app.constants';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import { SortingUtilsService } from './sorting-utils.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./api.service";
|
|
8
|
-
export class DeviceService {
|
|
9
|
-
constructor(apiService) {
|
|
10
|
-
this.apiService = apiService;
|
|
11
|
-
this.dataPending = false;
|
|
12
|
-
}
|
|
13
|
-
hasUnsavedChanges(device, originDevice) {
|
|
14
|
-
if (device?.lineAssociationsHasChanges) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
if (device && originDevice) {
|
|
18
|
-
return JSON.stringify(device.getSavableData()) !== JSON.stringify(originDevice.getSavableData());
|
|
19
|
-
}
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
hasDeviceInfoUnsavedChanges(device, originDevice) {
|
|
23
|
-
if (device && originDevice) {
|
|
24
|
-
return JSON.stringify(device.getDeviceInfoSavableData()) !== JSON.stringify(originDevice.getDeviceInfoSavableData());
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
getDataToUpdateDevice(device, originalDevice) {
|
|
29
|
-
// --- to exclude newLines from update
|
|
30
|
-
// const devToUpdate = new Device(device, this.validationService);
|
|
31
|
-
// const originalDevToUpdate = new Device(originalDevice, this.validationService);
|
|
32
|
-
// // @ts-ignore
|
|
33
|
-
// devToUpdate.lineAssociations = devToUpdate.lineAssociations?.filter(line => line.linePkid);
|
|
34
|
-
// // @ts-ignore
|
|
35
|
-
// originalDevToUpdate.lineAssociations = originalDevToUpdate.lineAssociations?.filter(line => line.linePkid);
|
|
36
|
-
const body = SortingUtilsService.diff(originalDevice.getDeviceInfoSavableData(), device.getDeviceInfoSavableData(), 'device', ['speedDials', 'busyLampFields']);
|
|
37
|
-
return body;
|
|
38
|
-
}
|
|
39
|
-
fetchLeanUserDevicesConversationById(userId, siteId) {
|
|
40
|
-
return this.apiService.fetch(API.LEAN_USER_DEVICES_CONVERSATION_START.replace(':siteId', String(siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))));
|
|
41
|
-
}
|
|
42
|
-
getSlotsByButtonTemplate(siteId, buttonTemplateName) {
|
|
43
|
-
return this.apiService.fetch(API.LINE_SLOTS.replace(':siteId', String(siteId)), { name: buttonTemplateName }, true);
|
|
44
|
-
// .pipe(this.handleError(true, true));
|
|
45
|
-
}
|
|
46
|
-
putDeviceFields(siteId, deviceName, token, body) {
|
|
47
|
-
console.log('userToken = ', token);
|
|
48
|
-
const URL = API.UPDATE_DEVICE_FIELDS
|
|
49
|
-
.replace(':siteId', String(siteId))
|
|
50
|
-
.replace(':deviceName', deviceName)
|
|
51
|
-
.replace(':token', token);
|
|
52
|
-
console.log('url = ', URL);
|
|
53
|
-
return this.apiService.post(URL, body);
|
|
54
|
-
// .pipe(this.handleError(true, true));
|
|
55
|
-
}
|
|
56
|
-
updateAvailableSlots(siteId, device) {
|
|
57
|
-
if (!device) {
|
|
58
|
-
throw throwError(() => new Error('test'));
|
|
59
|
-
}
|
|
60
|
-
if (!device.buttonTemplate) {
|
|
61
|
-
throw throwError(() => new Error('test'));
|
|
62
|
-
}
|
|
63
|
-
if (device.buttonTemplate === '') {
|
|
64
|
-
device.availableSlots = [];
|
|
65
|
-
return of(device);
|
|
66
|
-
}
|
|
67
|
-
const existingPositions = device.lineAssociations.map((lineAssociation) => lineAssociation.position);
|
|
68
|
-
return this.getSlotsByButtonTemplate(siteId, device.buttonTemplate)
|
|
69
|
-
.pipe(map((buttonTemplate) => {
|
|
70
|
-
this.lineSlotsList = buttonTemplate.lineSlots;
|
|
71
|
-
device.availableSlots = this.lineSlotsList.filter((position) => !existingPositions.includes(position));
|
|
72
|
-
this.availableLineSlotsList = device.availableSlots.slice();
|
|
73
|
-
return device;
|
|
74
|
-
}));
|
|
75
|
-
// .pipe(this.handleError(true, true));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
DeviceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
-
DeviceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService });
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService, decorators: [{
|
|
81
|
-
type: Injectable
|
|
82
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of, throwError } from 'rxjs';
|
|
3
|
+
import { API } from '../app.constants';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { SortingUtilsService } from './sorting-utils.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./api.service";
|
|
8
|
+
export class DeviceService {
|
|
9
|
+
constructor(apiService) {
|
|
10
|
+
this.apiService = apiService;
|
|
11
|
+
this.dataPending = false;
|
|
12
|
+
}
|
|
13
|
+
hasUnsavedChanges(device, originDevice) {
|
|
14
|
+
if (device?.lineAssociationsHasChanges) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (device && originDevice) {
|
|
18
|
+
return JSON.stringify(device.getSavableData()) !== JSON.stringify(originDevice.getSavableData());
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
hasDeviceInfoUnsavedChanges(device, originDevice) {
|
|
23
|
+
if (device && originDevice) {
|
|
24
|
+
return JSON.stringify(device.getDeviceInfoSavableData()) !== JSON.stringify(originDevice.getDeviceInfoSavableData());
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
getDataToUpdateDevice(device, originalDevice) {
|
|
29
|
+
// --- to exclude newLines from update
|
|
30
|
+
// const devToUpdate = new Device(device, this.validationService);
|
|
31
|
+
// const originalDevToUpdate = new Device(originalDevice, this.validationService);
|
|
32
|
+
// // @ts-ignore
|
|
33
|
+
// devToUpdate.lineAssociations = devToUpdate.lineAssociations?.filter(line => line.linePkid);
|
|
34
|
+
// // @ts-ignore
|
|
35
|
+
// originalDevToUpdate.lineAssociations = originalDevToUpdate.lineAssociations?.filter(line => line.linePkid);
|
|
36
|
+
const body = SortingUtilsService.diff(originalDevice.getDeviceInfoSavableData(), device.getDeviceInfoSavableData(), 'device', ['speedDials', 'busyLampFields']);
|
|
37
|
+
return body;
|
|
38
|
+
}
|
|
39
|
+
fetchLeanUserDevicesConversationById(userId, siteId) {
|
|
40
|
+
return this.apiService.fetch(API.LEAN_USER_DEVICES_CONVERSATION_START.replace(':siteId', String(siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))));
|
|
41
|
+
}
|
|
42
|
+
getSlotsByButtonTemplate(siteId, buttonTemplateName) {
|
|
43
|
+
return this.apiService.fetch(API.LINE_SLOTS.replace(':siteId', String(siteId)), { name: buttonTemplateName }, true);
|
|
44
|
+
// .pipe(this.handleError(true, true));
|
|
45
|
+
}
|
|
46
|
+
putDeviceFields(siteId, deviceName, token, body) {
|
|
47
|
+
console.log('userToken = ', token);
|
|
48
|
+
const URL = API.UPDATE_DEVICE_FIELDS
|
|
49
|
+
.replace(':siteId', String(siteId))
|
|
50
|
+
.replace(':deviceName', deviceName)
|
|
51
|
+
.replace(':token', token);
|
|
52
|
+
console.log('url = ', URL);
|
|
53
|
+
return this.apiService.post(URL, body);
|
|
54
|
+
// .pipe(this.handleError(true, true));
|
|
55
|
+
}
|
|
56
|
+
updateAvailableSlots(siteId, device) {
|
|
57
|
+
if (!device) {
|
|
58
|
+
throw throwError(() => new Error('test'));
|
|
59
|
+
}
|
|
60
|
+
if (!device.buttonTemplate) {
|
|
61
|
+
throw throwError(() => new Error('test'));
|
|
62
|
+
}
|
|
63
|
+
if (device.buttonTemplate === '') {
|
|
64
|
+
device.availableSlots = [];
|
|
65
|
+
return of(device);
|
|
66
|
+
}
|
|
67
|
+
const existingPositions = device.lineAssociations.map((lineAssociation) => lineAssociation.position);
|
|
68
|
+
return this.getSlotsByButtonTemplate(siteId, device.buttonTemplate)
|
|
69
|
+
.pipe(map((buttonTemplate) => {
|
|
70
|
+
this.lineSlotsList = buttonTemplate.lineSlots;
|
|
71
|
+
device.availableSlots = this.lineSlotsList.filter((position) => !existingPositions.includes(position));
|
|
72
|
+
this.availableLineSlotsList = device.availableSlots.slice();
|
|
73
|
+
return device;
|
|
74
|
+
}));
|
|
75
|
+
// .pipe(this.handleError(true, true));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
DeviceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
DeviceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceService, decorators: [{
|
|
81
|
+
type: Injectable
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9zZXJ2aWNlcy9kZXZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIaEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFLcEIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxZQUFvQjtRQUMzRCxJQUFJLE1BQU0sRUFBRSwwQkFBMEIsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxNQUFNLElBQUksWUFBWSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sMkJBQTJCLENBQUMsTUFBYyxFQUFFLFlBQW9CO1FBQ3JFLElBQUksTUFBTSxJQUFJLFlBQVksRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLENB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QUFHLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQy9HLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDSCx1Q0FBdUM7SUFDM0MsQ0FBQzs7MkdBbEZVLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU29ydGluZ1V0aWxzU2VydmljZSB9IGZyb20gJy4vc29ydGluZy11dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnV0dG9udGVtcGxhdGUsIERldmljZSB9IGZyb20gJy4uL2NsYXNzZXMvZGV2aWNlJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uLWludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2VTZXJ2aWNlIHtcclxuICBhdmFpbGFibGVTbG90cyE6IG51bWJlcltdO1xyXG4gIGxpbmVTbG90c0xpc3QhOiBhbnk7XHJcbiAgYXZhaWxhYmxlTGluZVNsb3RzTGlzdCE6IGFueTtcclxuICBkYXRhUGVuZGluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyhkZXZpY2U6IERldmljZSwgb3JpZ2luRGV2aWNlOiBEZXZpY2UpOiBib29sZWFuIHtcclxuICAgIGlmIChkZXZpY2U/LmxpbmVBc3NvY2lhdGlvbnNIYXNDaGFuZ2VzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGRldmljZSAmJiBvcmlnaW5EZXZpY2UpIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRldmljZS5nZXRTYXZhYmxlRGF0YSgpKSAhPT0gSlNPTi5zdHJpbmdpZnkob3JpZ2luRGV2aWNlLmdldFNhdmFibGVEYXRhKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc0RldmljZUluZm9VbnNhdmVkQ2hhbmdlcyhkZXZpY2U6IERldmljZSwgb3JpZ2luRGV2aWNlOiBEZXZpY2UpOiBib29sZWFuIHtcclxuICAgIGlmIChkZXZpY2UgJiYgb3JpZ2luRGV2aWNlKSB7XHJcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkZXZpY2UuZ2V0RGV2aWNlSW5mb1NhdmFibGVEYXRhKCkpICE9PSBKU09OLnN0cmluZ2lmeShvcmlnaW5EZXZpY2UuZ2V0RGV2aWNlSW5mb1NhdmFibGVEYXRhKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERhdGFUb1VwZGF0ZURldmljZShkZXZpY2U6IERldmljZSwgb3JpZ2luYWxEZXZpY2U6IERldmljZSkge1xyXG4gICAgLy8gLS0tIHRvIGV4Y2x1ZGUgbmV3TGluZXMgZnJvbSB1cGRhdGVcclxuICAgIC8vIGNvbnN0IGRldlRvVXBkYXRlID0gbmV3IERldmljZShkZXZpY2UsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UpO1xyXG4gICAgLy8gY29uc3Qgb3JpZ2luYWxEZXZUb1VwZGF0ZSA9IG5ldyBEZXZpY2Uob3JpZ2luYWxEZXZpY2UsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UpO1xyXG4gICAgLy8gLy8gQHRzLWlnbm9yZVxyXG4gICAgLy8gZGV2VG9VcGRhdGUubGluZUFzc29jaWF0aW9ucyA9IGRldlRvVXBkYXRlLmxpbmVBc3NvY2lhdGlvbnM/LmZpbHRlcihsaW5lID0+IGxpbmUubGluZVBraWQpO1xyXG4gICAgLy8gLy8gQHRzLWlnbm9yZVxyXG4gICAgLy8gb3JpZ2luYWxEZXZUb1VwZGF0ZS5saW5lQXNzb2NpYXRpb25zID0gb3JpZ2luYWxEZXZUb1VwZGF0ZS5saW5lQXNzb2NpYXRpb25zPy5maWx0ZXIobGluZSA9PiBsaW5lLmxpbmVQa2lkKTtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gU29ydGluZ1V0aWxzU2VydmljZS5kaWZmKG9yaWdpbmFsRGV2aWNlLmdldERldmljZUluZm9TYXZhYmxlRGF0YSgpLCBkZXZpY2UuZ2V0RGV2aWNlSW5mb1NhdmFibGVEYXRhKCksICdkZXZpY2UnLFxyXG4gICAgICBbJ3NwZWVkRGlhbHMnLCAnYnVzeUxhbXBGaWVsZHMnXSk7XHJcbiAgICByZXR1cm4gYm9keTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmZXRjaExlYW5Vc2VyRGV2aWNlc0NvbnZlcnNhdGlvbkJ5SWQodXNlcklkOiBzdHJpbmcsIHNpdGVJZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5MRUFOX1VTRVJfREVWSUNFU19DT05WRVJTQVRJT05fU1RBUlQucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNsb3RzQnlCdXR0b25UZW1wbGF0ZShzaXRlSWQ6IG51bWJlciwgYnV0dG9uVGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJ1dHRvbnRlbXBsYXRlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5MSU5FX1NMT1RTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHtuYW1lOiBidXR0b25UZW1wbGF0ZU5hbWV9LCB0cnVlKVxyXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwdXREZXZpY2VGaWVsZHMoc2l0ZUlkOiBudW1iZXIsIGRldmljZU5hbWU6IHN0cmluZywgdG9rZW46IHN0cmluZywgYm9keTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygndXNlclRva2VuID0gJywgdG9rZW4pO1xyXG4gICAgY29uc3QgVVJMID0gQVBJLlVQREFURV9ERVZJQ0VfRklFTERTXHJcbiAgICAgIC5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpXHJcbiAgICAgIC5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpXHJcbiAgICAgIC5yZXBsYWNlKCc6dG9rZW4nLCB0b2tlbik7XHJcbiAgICBjb25zb2xlLmxvZygndXJsID0gJywgVVJMKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChVUkwsIGJvZHkpXHJcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUF2YWlsYWJsZVNsb3RzKHNpdGVJZDogbnVtYmVyLCBkZXZpY2U6IERldmljZSk6IGFueSB7XHJcbiAgICBpZiAoIWRldmljZSkge1xyXG4gICAgICB0aHJvdyB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcigndGVzdCcpKTtcclxuICAgIH1cclxuICAgIGlmICghZGV2aWNlLmJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICAgIHRocm93IHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCd0ZXN0JykpO1xyXG4gICAgfVxyXG4gICAgaWYgKGRldmljZS5idXR0b25UZW1wbGF0ZSA9PT0gJycpIHtcclxuICAgICAgZGV2aWNlLmF2YWlsYWJsZVNsb3RzID0gW107XHJcbiAgICAgIHJldHVybiBvZihkZXZpY2UpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZXhpc3RpbmdQb3NpdGlvbnMgPSBkZXZpY2UubGluZUFzc29jaWF0aW9ucy5tYXAoKGxpbmVBc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlKSA9PiBsaW5lQXNzb2NpYXRpb24ucG9zaXRpb24pO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0U2xvdHNCeUJ1dHRvblRlbXBsYXRlKHNpdGVJZCwgZGV2aWNlLmJ1dHRvblRlbXBsYXRlKVxyXG4gICAgICAucGlwZShtYXAoKGJ1dHRvblRlbXBsYXRlOiBCdXR0b250ZW1wbGF0ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGluZVNsb3RzTGlzdCA9IGJ1dHRvblRlbXBsYXRlLmxpbmVTbG90cztcclxuICAgICAgICBkZXZpY2UuYXZhaWxhYmxlU2xvdHMgPSB0aGlzLmxpbmVTbG90c0xpc3QuZmlsdGVyKChwb3NpdGlvbjogbnVtYmVyKSA9PiAhZXhpc3RpbmdQb3NpdGlvbnMuaW5jbHVkZXMocG9zaXRpb24pKTtcclxuICAgICAgICB0aGlzLmF2YWlsYWJsZUxpbmVTbG90c0xpc3QgPSBkZXZpY2UuYXZhaWxhYmxlU2xvdHMuc2xpY2UoKTtcclxuICAgICAgICByZXR1cm4gZGV2aWNlO1xyXG4gICAgICB9KSlcclxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|