client-core-services 1.0.0
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 -0
- package/esm2020/client-core-services.mjs +5 -0
- package/esm2020/lib/my-lib.module.mjs +98 -0
- package/esm2020/lib/services/api/api-call/api-call.service.mjs +766 -0
- package/esm2020/lib/services/api/api-call-responce/api-call-responce.service.mjs +191 -0
- package/esm2020/lib/services/api/api.service.mjs +611 -0
- package/esm2020/lib/services/api/auth/auth-guard.service.mjs +37 -0
- package/esm2020/lib/services/api/auth/auth.service.mjs +500 -0
- package/esm2020/lib/services/api/aws-secret-manager/aws-secret-manager.service.mjs +78 -0
- package/esm2020/lib/services/api/common-api/common-api.service.mjs +97 -0
- package/esm2020/lib/services/api/doc-api/doc-api.service.mjs +221 -0
- package/esm2020/lib/services/api/public-api/public-api.service.mjs +37 -0
- package/esm2020/lib/services/chart/chart.service.mjs +166 -0
- package/esm2020/lib/services/check-if/check-if.service.mjs +830 -0
- package/esm2020/lib/services/common-utils/common-function.service.mjs +1277 -0
- package/esm2020/lib/services/common-utils/core-function/core-function.service.mjs +283 -0
- package/esm2020/lib/services/customvalidation/customvalidation.service.mjs +202 -0
- package/esm2020/lib/services/data-share/auth-data-share/auth-data-share.service.mjs +70 -0
- package/esm2020/lib/services/data-share/common-app-data-share/common-app-data-share.service.mjs +82 -0
- package/esm2020/lib/services/data-share/data-share.service.mjs +370 -0
- package/esm2020/lib/services/data-share/doc-data-share/doc-data-share.service.mjs +81 -0
- package/esm2020/lib/services/data-share/public-data-share/public-data-share.service.mjs +25 -0
- package/esm2020/lib/services/download/download.service.mjs +151 -0
- package/esm2020/lib/services/encryption/encryption.service.mjs +20 -0
- package/esm2020/lib/services/env/env.service.mjs +232 -0
- package/esm2020/lib/services/env/serverHostList.mjs +56 -0
- package/esm2020/lib/services/fileHandler/file-handler.service.mjs +136 -0
- package/esm2020/lib/services/form/form-control/form-control.service.mjs +654 -0
- package/esm2020/lib/services/form/form-creation/form-creation.service.mjs +880 -0
- package/esm2020/lib/services/form/form-value/form-value.service.mjs +464 -0
- package/esm2020/lib/services/form/multiple-form/multiple-form.service.mjs +346 -0
- package/esm2020/lib/services/grid/grid-common-function/grid-common-function.service.mjs +875 -0
- package/esm2020/lib/services/grid/grid-selection/grid-selection.service.mjs +84 -0
- package/esm2020/lib/services/lims-calculations/lims-calculations.service.mjs +2304 -0
- package/esm2020/lib/services/loader/loader.service.mjs +17 -0
- package/esm2020/lib/services/menu-or-module-common/menu-or-module-common.service.mjs +558 -0
- package/esm2020/lib/services/model/model.service.mjs +30 -0
- package/esm2020/lib/services/notify/notification.service.mjs +84 -0
- package/esm2020/lib/services/operator/operator.service.mjs +58 -0
- package/esm2020/lib/services/permission/permission.service.mjs +88 -0
- package/esm2020/lib/services/router/router.service.mjs +78 -0
- package/esm2020/lib/services/storage/cookies.service.mjs +56 -0
- package/esm2020/lib/services/storage/storage.service.mjs +749 -0
- package/esm2020/lib/services/tree-component/interface.mjs +6 -0
- package/esm2020/lib/services/tree-component/tree-component.service.mjs +394 -0
- package/esm2020/lib/services/userPrefrence/user-prefrence.service.mjs +767 -0
- package/esm2020/lib/services/voice-recognition/voice-recognition.service.mjs +97 -0
- package/esm2020/lib/shared/configuration/config.mjs +76 -0
- package/esm2020/lib/shared/configuration/editor-config.mjs +121 -0
- package/esm2020/lib/shared/enums/common.enum.mjs +18 -0
- package/esm2020/lib/shared/enums/config.enum.mjs +56 -0
- package/esm2020/lib/shared/enums/end-point.enum.mjs +69 -0
- package/esm2020/lib/shared/enums/flags.enum.mjs +20 -0
- package/esm2020/lib/shared/enums/keycodes.enum.mjs +122 -0
- package/esm2020/lib/shared/enums/operator_type.enum.mjs +13 -0
- package/esm2020/lib/shared/enums/storage-token-status.enum.mjs +10 -0
- package/esm2020/lib/shared/platform.mjs +2 -0
- package/esm2020/public-api.mjs +53 -0
- package/fesm2015/client-core-services.mjs +15487 -0
- package/fesm2015/client-core-services.mjs.map +1 -0
- package/fesm2020/client-core-services.mjs +15482 -0
- package/fesm2020/client-core-services.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/my-lib.module.d.ts +18 -0
- package/lib/services/api/api-call/api-call.service.d.ts +60 -0
- package/lib/services/api/api-call-responce/api-call-responce.service.d.ts +43 -0
- package/lib/services/api/api.service.d.ts +88 -0
- package/lib/services/api/auth/auth-guard.service.d.ts +13 -0
- package/lib/services/api/auth/auth.service.d.ts +50 -0
- package/lib/services/api/aws-secret-manager/aws-secret-manager.service.d.ts +22 -0
- package/lib/services/api/common-api/common-api.service.d.ts +22 -0
- package/lib/services/api/doc-api/doc-api.service.d.ts +35 -0
- package/lib/services/api/public-api/public-api.service.d.ts +14 -0
- package/lib/services/chart/chart.service.d.ts +21 -0
- package/lib/services/check-if/check-if.service.d.ts +50 -0
- package/lib/services/common-utils/common-function.service.d.ts +84 -0
- package/lib/services/common-utils/core-function/core-function.service.d.ts +21 -0
- package/lib/services/customvalidation/customvalidation.service.d.ts +21 -0
- package/lib/services/data-share/auth-data-share/auth-data-share.service.d.ts +33 -0
- package/lib/services/data-share/common-app-data-share/common-app-data-share.service.d.ts +36 -0
- package/lib/services/data-share/data-share.service.d.ts +174 -0
- package/lib/services/data-share/doc-data-share/doc-data-share.service.d.ts +33 -0
- package/lib/services/data-share/public-data-share/public-data-share.service.d.ts +12 -0
- package/lib/services/download/download.service.d.ts +35 -0
- package/lib/services/encryption/encryption.service.d.ts +8 -0
- package/lib/services/env/env.service.d.ts +44 -0
- package/lib/services/env/serverHostList.d.ts +9 -0
- package/lib/services/fileHandler/file-handler.service.d.ts +17 -0
- package/lib/services/form/form-control/form-control.service.d.ts +44 -0
- package/lib/services/form/form-creation/form-creation.service.d.ts +41 -0
- package/lib/services/form/form-value/form-value.service.d.ts +32 -0
- package/lib/services/form/multiple-form/multiple-form.service.d.ts +54 -0
- package/lib/services/grid/grid-common-function/grid-common-function.service.d.ts +74 -0
- package/lib/services/grid/grid-selection/grid-selection.service.d.ts +16 -0
- package/lib/services/lims-calculations/lims-calculations.service.d.ts +87 -0
- package/lib/services/loader/loader.service.d.ts +8 -0
- package/lib/services/menu-or-module-common/menu-or-module-common.service.d.ts +59 -0
- package/lib/services/model/model.service.d.ts +11 -0
- package/lib/services/notify/notification.service.d.ts +22 -0
- package/lib/services/operator/operator.service.d.ts +27 -0
- package/lib/services/permission/permission.service.d.ts +18 -0
- package/lib/services/router/router.service.d.ts +14 -0
- package/lib/services/storage/cookies.service.d.ts +11 -0
- package/lib/services/storage/storage.service.d.ts +132 -0
- package/lib/services/tree-component/interface.d.ts +13 -0
- package/lib/services/tree-component/tree-component.service.d.ts +38 -0
- package/lib/services/userPrefrence/user-prefrence.service.d.ts +75 -0
- package/lib/services/voice-recognition/voice-recognition.service.d.ts +36 -0
- package/lib/shared/configuration/config.d.ts +144 -0
- package/lib/shared/configuration/editor-config.d.ts +72 -0
- package/lib/shared/enums/common.enum.d.ts +16 -0
- package/lib/shared/enums/config.enum.d.ts +54 -0
- package/lib/shared/enums/end-point.enum.d.ts +66 -0
- package/lib/shared/enums/flags.enum.d.ts +18 -0
- package/lib/shared/enums/keycodes.enum.d.ts +120 -0
- package/lib/shared/enums/operator_type.enum.d.ts +9 -0
- package/lib/shared/enums/storage-token-status.enum.d.ts +8 -0
- package/lib/shared/platform.d.ts +1 -0
- package/package.json +40 -0
- package/public-api.d.ts +49 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GridSelectionService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
toggle(index, checked, field, staticData, custmizedFormValue) {
|
|
6
|
+
let responce = {
|
|
7
|
+
staticData: staticData,
|
|
8
|
+
custmizedFormValue: custmizedFormValue
|
|
9
|
+
};
|
|
10
|
+
if (checked) {
|
|
11
|
+
responce.staticData[field.ddn_field][index].selected = true;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
responce.staticData[field.ddn_field][index].selected = false;
|
|
15
|
+
}
|
|
16
|
+
responce.custmizedFormValue[field.field_name] = [];
|
|
17
|
+
responce.staticData[field.ddn_field].forEach((element) => {
|
|
18
|
+
if (element.selected) {
|
|
19
|
+
responce.custmizedFormValue[field.field_name].push(element);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return responce;
|
|
23
|
+
}
|
|
24
|
+
isIndeterminate(ddn_field, staticData) {
|
|
25
|
+
let check = 0;
|
|
26
|
+
if (staticData[ddn_field].length > 0) {
|
|
27
|
+
staticData[ddn_field].forEach((row) => {
|
|
28
|
+
if (row.selected) {
|
|
29
|
+
check = check + 1;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return (check > 0 && !this.isChecked(ddn_field, staticData));
|
|
34
|
+
}
|
|
35
|
+
;
|
|
36
|
+
isChecked(ddn_field, staticData) {
|
|
37
|
+
let check = 0;
|
|
38
|
+
if (staticData[ddn_field].length > 0) {
|
|
39
|
+
staticData[ddn_field].forEach((row) => {
|
|
40
|
+
if (row.selected) {
|
|
41
|
+
check = check + 1;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return staticData[ddn_field].length === check;
|
|
46
|
+
}
|
|
47
|
+
;
|
|
48
|
+
toggleAll(checked, field, staticData, custmizedFormValue) {
|
|
49
|
+
let responce = {
|
|
50
|
+
staticData: staticData,
|
|
51
|
+
custmizedFormValue: custmizedFormValue
|
|
52
|
+
};
|
|
53
|
+
if (checked) {
|
|
54
|
+
if (responce.staticData[field.ddn_field].length > 0) {
|
|
55
|
+
responce.staticData[field.ddn_field].forEach((row) => {
|
|
56
|
+
row.selected = true;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (responce.staticData[field.ddn_field].length > 0) {
|
|
62
|
+
responce.staticData[field.ddn_field].forEach((row) => {
|
|
63
|
+
row.selected = false;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
responce.custmizedFormValue[field.field_name] = [];
|
|
68
|
+
responce.staticData[field.ddn_field].forEach((element) => {
|
|
69
|
+
if (element.selected) {
|
|
70
|
+
responce.custmizedFormValue[field.field_name].push(element);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return responce;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
GridSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
GridSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridSelectionService, providedIn: 'root' });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GridSelectionService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root'
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: function () { return []; } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zZWxlY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZXMvZ3JpZC9ncmlkLXNlbGVjdGlvbi9ncmlkLXNlbGVjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsZ0JBQWdCLENBQUM7SUFDakIsTUFBTSxDQUFDLEtBQVMsRUFBQyxPQUFXLEVBQUMsS0FBUyxFQUFDLFVBQWMsRUFBQyxrQkFBc0I7UUFDMUUsSUFBSSxRQUFRLEdBQUc7WUFDYixVQUFVLEVBQUMsVUFBVTtZQUNyQixrQkFBa0IsRUFBQyxrQkFBa0I7U0FDdEMsQ0FBQTtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQztTQUMzRDthQUFNO1lBQ0wsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFDLEtBQUssQ0FBQztTQUM1RDtRQUNELFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25ELFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVcsRUFBRSxFQUFFO1lBQzNELElBQUcsT0FBTyxDQUFDLFFBQVEsRUFBQztnQkFDbEIsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0Q7UUFDSCxD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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZFNlbGVjdGlvblNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIHRvZ2dsZShpbmRleDphbnksY2hlY2tlZDphbnksZmllbGQ6YW55LHN0YXRpY0RhdGE6YW55LGN1c3RtaXplZEZvcm1WYWx1ZTphbnkpIHtcclxuICAgIGxldCByZXNwb25jZSA9IHtcclxuICAgICAgc3RhdGljRGF0YTpzdGF0aWNEYXRhLFxyXG4gICAgICBjdXN0bWl6ZWRGb3JtVmFsdWU6Y3VzdG1pemVkRm9ybVZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICByZXNwb25jZS5zdGF0aWNEYXRhW2ZpZWxkLmRkbl9maWVsZF1baW5kZXhdLnNlbGVjdGVkPXRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXNwb25jZS5zdGF0aWNEYXRhW2ZpZWxkLmRkbl9maWVsZF1baW5kZXhdLnNlbGVjdGVkPWZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmVzcG9uY2UuY3VzdG1pemVkRm9ybVZhbHVlW2ZpZWxkLmZpZWxkX25hbWVdID0gW107XHJcbiAgICByZXNwb25jZS5zdGF0aWNEYXRhW2ZpZWxkLmRkbl9maWVsZF0uZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcclxuICAgICAgaWYoZWxlbWVudC5zZWxlY3RlZCl7XHJcbiAgICAgICAgcmVzcG9uY2UuY3VzdG1pemVkRm9ybVZhbHVlW2ZpZWxkLmZpZWxkX25hbWVdLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJlc3BvbmNlO1xyXG4gIH1cclxuICBpc0luZGV0ZXJtaW5hdGUoZGRuX2ZpZWxkOmFueSxzdGF0aWNEYXRhOmFueSkge1xyXG4gICAgbGV0IGNoZWNrID0gMDtcclxuICAgIGlmKHN0YXRpY0RhdGFbZGRuX2ZpZWxkXS5sZW5ndGggPiAwKXtcclxuICAgICAgc3RhdGljRGF0YVtkZG5fZmllbGRdLmZvckVhY2goKHJvdzphbnkpID0+IHtcclxuICAgICAgICBpZihyb3cuc2VsZWN0ZWQpe1xyXG4gICAgICAgICAgY2hlY2sgPSBjaGVjayArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoY2hlY2sgPiAwICYmICF0aGlzLmlzQ2hlY2tlZChkZG5fZmllbGQsc3RhdGljRGF0YSkpO1xyXG4gIH07XHJcbiAgaXNDaGVja2VkKGRkbl9maWVsZDphbnksc3RhdGljRGF0YTphbnkpIHtcclxuICAgIGxldCBjaGVjayA9IDA7XHJcbiAgICBpZihzdGF0aWNEYXRhW2Rkbl9maWVsZF0ubGVuZ3RoID4gMCl7XHJcbiAgICAgIHN0YXRpY0RhdGFbZGRuX2ZpZWxkXS5mb3JFYWNoKChyb3c6YW55KSA9PiB7XHJcbiAgICAgICAgaWYocm93LnNlbGVjdGVkKXtcclxuICAgICAgICAgIGNoZWNrID0gY2hlY2sgKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3RhdGljRGF0YVtkZG5fZmllbGRdLmxlbmd0aCA9PT0gY2hlY2s7XHJcbiAgfTtcclxuICB0b2dnbGVBbGwoY2hlY2tlZDphbnksZmllbGQ6YW55LHN0YXRpY0RhdGE6YW55LGN1c3RtaXplZEZvcm1WYWx1ZTphbnkpIHtcclxuICAgIGxldCByZXNwb25jZSA9IHtcclxuICAgICAgc3RhdGljRGF0YTpzdGF0aWNEYXRhLFxyXG4gICAgICBjdXN0bWl6ZWRGb3JtVmFsdWU6Y3VzdG1pemVkRm9ybVZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAoY2hlY2tlZCApIHtcclxuICAgICAgaWYocmVzcG9uY2Uuc3RhdGljRGF0YVtmaWVsZC5kZG5fZmllbGRdLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIHJlc3BvbmNlLnN0YXRpY0RhdGFbZmllbGQuZGRuX2ZpZWxkXS5mb3JFYWNoKChyb3c6YW55KSA9PiB7XHJcbiAgICAgICAgICByb3cuc2VsZWN0ZWQ9dHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmKHJlc3BvbmNlLnN0YXRpY0RhdGFbZmllbGQuZGRuX2ZpZWxkXS5sZW5ndGggPiAwKXtcclxuICAgICAgICByZXNwb25jZS5zdGF0aWNEYXRhW2ZpZWxkLmRkbl9maWVsZF0uZm9yRWFjaCgocm93OmFueSkgPT4ge1xyXG4gICAgICAgICAgcm93LnNlbGVjdGVkPWZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXNwb25jZS5jdXN0bWl6ZWRGb3JtVmFsdWVbZmllbGQuZmllbGRfbmFtZV0gPSBbXTtcclxuICAgIHJlc3BvbmNlLnN0YXRpY0RhdGFbZmllbGQuZGRuX2ZpZWxkXS5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICBpZihlbGVtZW50LnNlbGVjdGVkKXtcclxuICAgICAgICByZXNwb25jZS5jdXN0bWl6ZWRGb3JtVmFsdWVbZmllbGQuZmllbGRfbmFtZV0ucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzcG9uY2U7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|