@bnsights/bbsf-utilities 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/bnsights-bbsf-utilities-1.0.0.tgz +0 -0
- package/bnsights-bbsf-utilities.d.ts +4 -0
- package/bnsights-bbsf-utilities.metadata.json +1 -0
- package/bundles/bnsights-bbsf-utilities.umd.js +1127 -0
- package/bundles/bnsights-bbsf-utilities.umd.js.map +1 -0
- package/esm2015/bnsights-bbsf-utilities.js +5 -0
- package/esm2015/lib/bbsf-utilities.module.js +50 -0
- package/esm2015/lib/shared/authentication/auth.service.js +157 -0
- package/esm2015/lib/shared/config/environment.js +12 -0
- package/esm2015/lib/shared/models/ErrorModel.js +3 -0
- package/esm2015/lib/shared/models/RequestOptionsModel.js +9 -0
- package/esm2015/lib/shared/services/controlvalidation.service.js +151 -0
- package/esm2015/lib/shared/services/environment.service.js +31 -0
- package/esm2015/lib/shared/services/masterlayout.service.js +65 -0
- package/esm2015/lib/shared/services/requesthandler.service.js +85 -0
- package/esm2015/lib/shared/services/stylesbundle.service.js +46 -0
- package/esm2015/lib/shared/services/translate.service.js +13 -0
- package/esm2015/lib/shared/services/utility.service.js +96 -0
- package/esm2015/public-api.js +15 -0
- package/fesm2015/bnsights-bbsf-utilities.js +661 -0
- package/fesm2015/bnsights-bbsf-utilities.js.map +1 -0
- package/lib/bbsf-utilities.module.d.ts +6 -0
- package/lib/shared/authentication/auth.service.d.ts +32 -0
- package/lib/shared/config/environment.d.ts +1 -0
- package/lib/shared/models/ErrorModel.d.ts +5 -0
- package/lib/shared/models/RequestOptionsModel.d.ts +9 -0
- package/lib/shared/services/controlvalidation.service.d.ts +19 -0
- package/lib/shared/services/environment.service.d.ts +7 -0
- package/lib/shared/services/masterlayout.service.d.ts +18 -0
- package/lib/shared/services/requesthandler.service.d.ts +23 -0
- package/lib/shared/services/stylesbundle.service.d.ts +6 -0
- package/lib/shared/services/translate.service.d.ts +3 -0
- package/lib/shared/services/utility.service.d.ts +19 -0
- package/package.json +38 -0
- package/public-api.d.ts +11 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { BlockUI } from 'ng-block-ui';
|
|
4
|
+
import { UtilityService } from './utility.service';
|
|
5
|
+
import { RequestOptionsModel } from '../models/RequestOptionsModel';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./utility.service";
|
|
8
|
+
export class ControlValidationService {
|
|
9
|
+
constructor(utilityService) {
|
|
10
|
+
this.utilityService = utilityService;
|
|
11
|
+
this.requestOptions = new RequestOptionsModel();
|
|
12
|
+
this.isCreatedBefor = false;
|
|
13
|
+
}
|
|
14
|
+
showGlobalError(errorMessage) {
|
|
15
|
+
let globalErorrElement = document.getElementsByClassName('alert alert-danger alert-InvalidValidation');
|
|
16
|
+
if (globalErorrElement.length > 0) {
|
|
17
|
+
this.removeElementsByClass('alert alert-danger alert-InvalidValidation');
|
|
18
|
+
}
|
|
19
|
+
if (this.isCreatedBefor == true) {
|
|
20
|
+
this.removeElementsByClass('alert alert-danger alert-InvalidValidation');
|
|
21
|
+
}
|
|
22
|
+
// tslint:disable-next-line: prefer-const
|
|
23
|
+
var objects = document.querySelectorAll('form.ng-invalid.ng-touched');
|
|
24
|
+
const tagName = 'div';
|
|
25
|
+
// tslint:disable-next-line: prefer-const
|
|
26
|
+
var elementToAppend = document.createElement(tagName); // Your tag name here
|
|
27
|
+
let message = "";
|
|
28
|
+
if (localStorage.getItem('language') == "ar")
|
|
29
|
+
message = errorMessage ? errorMessage : "لديك بعص الأخطاء . من فضلك قم بالمراجعه ";
|
|
30
|
+
else
|
|
31
|
+
message = errorMessage ? errorMessage : "You have some validation errors. Please check below";
|
|
32
|
+
elementToAppend.innerHTML = "<ul><li>" + message + "</li></ul>";
|
|
33
|
+
elementToAppend.className += 'alert alert-danger alert-InvalidValidation';
|
|
34
|
+
elementToAppend.id += 'errorId';
|
|
35
|
+
// tslint:disable-next-line: prefer-for-of
|
|
36
|
+
for (let i = 0; i < objects.length; i++) {
|
|
37
|
+
// const elementToAppen = elementToAppend.cloneNode(true);
|
|
38
|
+
// objects[i].insertBefore(elementToAppen, objects[i].firstChild);
|
|
39
|
+
const elementToAppen = elementToAppend.cloneNode(true);
|
|
40
|
+
let targetElement = objects[i].getElementsByClassName("b-control")[0];
|
|
41
|
+
targetElement.parentNode.insertBefore(elementToAppen, targetElement);
|
|
42
|
+
this.isCreatedBefor = true;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
RemoveGlobalError() {
|
|
47
|
+
const removedList = document.getElementsByClassName('alert alert-danger alert-InvalidValidation');
|
|
48
|
+
// tslint:disable-next-line: prefer-for-of
|
|
49
|
+
for (let index = 0; index < removedList.length; index++) {
|
|
50
|
+
const element = removedList[index];
|
|
51
|
+
element.remove();
|
|
52
|
+
}
|
|
53
|
+
this.isCreatedBefor = false;
|
|
54
|
+
}
|
|
55
|
+
showInputErro(errors) {
|
|
56
|
+
// show error on top of form
|
|
57
|
+
this.showGlobalError();
|
|
58
|
+
// remove old error from server
|
|
59
|
+
this.removeElementsByClass('errortemplet');
|
|
60
|
+
// Looping in error Object
|
|
61
|
+
for (const key in errors) {
|
|
62
|
+
if (errors.hasOwnProperty(key)) {
|
|
63
|
+
for (const iterator of errors[key]) {
|
|
64
|
+
const input = document.querySelectorAll('[ng-reflect-name=' + key + ']')[0];
|
|
65
|
+
if (input.attributes['ng-reflect-name'].value === key) {
|
|
66
|
+
this.removeElementsByClass('erroclass-' + key);
|
|
67
|
+
const tagName = 'p';
|
|
68
|
+
const elementToAppend = document.createElement(tagName); // Your tag name here
|
|
69
|
+
elementToAppend.innerHTML = iterator;
|
|
70
|
+
elementToAppend.style.color = 'red';
|
|
71
|
+
elementToAppend.className += 'errortemplet erroclass-' + key;
|
|
72
|
+
const elementToappen = elementToAppend.cloneNode(true);
|
|
73
|
+
input.parentNode.insertBefore(elementToappen, input.lastChild);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
removeElementsByClass(className) {
|
|
81
|
+
const elements = document.getElementsByClassName(className);
|
|
82
|
+
while (elements.length > 0) {
|
|
83
|
+
elements[0].parentNode.removeChild(elements[0]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
renderServerErrors(form, err, requestOptions) {
|
|
87
|
+
if (err.error == null) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.requestOptions = requestOptions;
|
|
91
|
+
err.error.validation_errors.forEach((element) => {
|
|
92
|
+
let fieldName = element.field;
|
|
93
|
+
let controlName = element.control_name;
|
|
94
|
+
let message = element.message;
|
|
95
|
+
if (form == null) {
|
|
96
|
+
this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${fieldName}: ${message}`);
|
|
97
|
+
}
|
|
98
|
+
else if (!this.hasControlName(form, controlName)) {
|
|
99
|
+
this.showGlobalError(`${fieldName}: ${message}`);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.setFieldError(form, controlName, fieldName, message);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
hasControlName(form, controlName) {
|
|
107
|
+
let control = form.get(controlName);
|
|
108
|
+
return control != null;
|
|
109
|
+
}
|
|
110
|
+
setFieldError(form, controlName, fieldName, message) {
|
|
111
|
+
let control = form.get(controlName);
|
|
112
|
+
let errors = { [message]: true };
|
|
113
|
+
let fieldNameArray = fieldName.split('.');
|
|
114
|
+
if (fieldNameArray.length >= 1) {
|
|
115
|
+
switch (fieldNameArray[length - 1].toLocaleLowerCase()) {
|
|
116
|
+
case "english":
|
|
117
|
+
let englishControl = control.get("EnglishValue");
|
|
118
|
+
englishControl.setErrors(errors);
|
|
119
|
+
englishControl.markAsTouched();
|
|
120
|
+
englishControl.updateValueAndValidity();
|
|
121
|
+
break;
|
|
122
|
+
case "arabic":
|
|
123
|
+
let arabicControl = control.get("ArabicValue");
|
|
124
|
+
arabicControl.setErrors(errors);
|
|
125
|
+
arabicControl.markAsTouched();
|
|
126
|
+
arabicControl.updateValueAndValidity();
|
|
127
|
+
break;
|
|
128
|
+
default:
|
|
129
|
+
control.setErrors(errors);
|
|
130
|
+
control.markAsTouched();
|
|
131
|
+
control.updateValueAndValidity();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${fieldName}: ${message}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
ControlValidationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ControlValidationService_Factory() { return new ControlValidationService(i0.ɵɵinject(i1.UtilityService)); }, token: ControlValidationService, providedIn: "root" });
|
|
140
|
+
ControlValidationService.decorators = [
|
|
141
|
+
{ type: Injectable, args: [{
|
|
142
|
+
providedIn: 'root'
|
|
143
|
+
},] }
|
|
144
|
+
];
|
|
145
|
+
ControlValidationService.ctorParameters = () => [
|
|
146
|
+
{ type: UtilityService }
|
|
147
|
+
];
|
|
148
|
+
__decorate([
|
|
149
|
+
BlockUI()
|
|
150
|
+
], ControlValidationService.prototype, "blockUI", void 0);
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFLakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFPcEUsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQyxZQUVZLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpsQyxtQkFBYyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFVeEUsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFGckIsQ0FBQztJQU1ILGVBQWUsQ0FBQyxZQUFvQjtRQUNoQyxJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO1FBQ3RHLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUM1RTtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDNUU7UUFDRCx5Q0FBeUM7UUFDekMsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlDQUF5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QUMsYUFBYSxFQUFFLENBQUM7b0JBQy9CLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN4QyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLGFBQWEsR0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO29CQUM1QyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzlCLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN2QyxNQUFNO2dCQUVSO29CQUNFLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzFCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7YUFDcEM7U0FFRjthQUVEO1lBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxTQUFTLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQTtTQUM3TDtJQUdILENBQUM7Ozs7WUFqS04sVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTSxjQUFjOztBQXFCUjtJQUFWLE9BQU8sRUFBRTt5REFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgSG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9SZXF1ZXN0T3B0aW9uc01vZGVsJztcclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvclxyXG4gICAgICAoXHJcbiAgICAgICAgcHJpdmF0ZSB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2VcclxuICAgICAgKSBcclxuICAgICAgeyBcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICBpc0NyZWF0ZWRCZWZvciA9IGZhbHNlO1xyXG5cclxuICAgIEBCbG9ja1VJKCkgYmxvY2tVSTogTmdCbG9ja1VJO1xyXG5cclxuICAgIHNob3dHbG9iYWxFcnJvcihlcnJvck1lc3NhZ2U/OnN0cmluZykge1xyXG4gICAgICAgIGxldCBnbG9iYWxFcm9yckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKVxyXG4gICAgICAgIGlmIChnbG9iYWxFcm9yckVsZW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0NyZWF0ZWRCZWZvciA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudHNCeUNsYXNzKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItY29uc3RcclxuICAgICAgICB2YXIgb2JqZWN0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0ubmctaW52YWxpZC5uZy10b3VjaGVkJyk7XHJcbiAgICAgICAgY29uc3QgdGFnTmFtZSA9ICdkaXYnO1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLWNvbnN0XHJcbiAgICAgICAgdmFyIGVsZW1lbnRUb0FwcGVuZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7IC8vIFlvdXIgdGFnIG5hbWUgaGVyZVxyXG4gICAgICAgIGxldCBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykgPT0gXCJhclwiKVxyXG4gICAgICAgICAgICBtZXNzYWdlID1lcnJvck1lc3NhZ2U/ZXJyb3JNZXNzYWdlOiBcItmE2K/ZitmDINio2LnYtSDYp9mE2KPYrti32KfYoSAuINmF2YYg2YHYttmE2YMg2YLZhSDYqNin2YTZhdix2KfYrNi52YcgXCI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBtZXNzYWdlID1lcnJvck1lc3NhZ2U/ZXJyb3JNZXNzYWdlOiBcIllvdSBoYXZlIHNvbWUgdmFsaWRhdGlvbiBlcnJvcnMuIFBsZWFzZSBjaGVjayBiZWxvd1wiXHJcblxyXG4gICAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbm5lckhUTUwgPSBcIjx1bD48bGk+XCIgKyBtZXNzYWdlICsgXCI8L2xpPjwvdWw+XCI7XHJcbiAgICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJztcclxuICAgICAgICBlbGVtZW50VG9BcHBlbmQuaWQgKz0gJ2Vycm9ySWQnO1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLWZvci1vZlxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAvLyBjb25zdCBlbGVtZW50VG9BcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vIG9iamVjdHNbaV0uaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCBvYmplY3RzW2ldLmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50VG9BcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXRFbGVtZW50ID0gb2JqZWN0c1tpXS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYi1jb250cm9sXCIpWzBdO1xyXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCB0YXJnZXRFbGVtZW50KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NyZWF0ZWRCZWZvciA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgUmVtb3ZlR2xvYmFsRXJyb3IoKSB7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKTtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1mb3Itb2ZcclxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcmVtb3ZlZExpc3QubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSByZW1vdmVkTGlzdFtpbmRleF07XHJcbiAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNDcmVhdGVkQmVmb3IgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93SW5wdXRFcnJvKGVycm9yczogYW55KSB7XHJcblxyXG4gICAgICAgIC8vIHNob3cgZXJyb3Igb24gdG9wIG9mIGZvcm0gXHJcbiAgICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IoKTtcclxuICAgICAgICAvLyByZW1vdmUgb2xkIGVycm9yIGZyb20gc2VydmVyXHJcbiAgICAgICAgdGhpcy5yZW1vdmVFbGVtZW50c0J5Q2xhc3MoJ2Vycm9ydGVtcGxldCcpO1xyXG4gICAgICAgIC8vIExvb3BpbmcgaW4gZXJyb3IgT2JqZWN0XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVyYXRvciBvZiBlcnJvcnNba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW25nLXJlZmxlY3QtbmFtZT0nICsga2V5ICsgJ10nKVswXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKGlucHV0LmF0dHJpYnV0ZXNbJ25nLXJlZmxlY3QtbmFtZSddLnZhbHVlIGFzIHN0cmluZykgPT09IGtleSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnZXJyb2NsYXNzLScgKyBrZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWdOYW1lID0gJ3AnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb0FwcGVuZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7IC8vIFlvdXIgdGFnIG5hbWUgaGVyZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50VG9BcHBlbmQuaW5uZXJIVE1MID0gaXRlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5zdHlsZS5jb2xvciA9ICdyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5jbGFzc05hbWUgKz0gJ2Vycm9ydGVtcGxldCBlcnJvY2xhc3MtJyArIGtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvYXBwZW4gPSBlbGVtZW50VG9BcHBlbmQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtZW50VG9hcHBlbiwgaW5wdXQubGFzdENoaWxkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUVsZW1lbnRzQnlDbGFzcyhjbGFzc05hbWUpIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY2xhc3NOYW1lKTtcclxuICAgICAgICB3aGlsZSAoZWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBlbGVtZW50c1swXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnRzWzBdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICByZW5kZXJTZXJ2ZXJFcnJvcnMoZm9ybTogRm9ybUdyb3VwLCBlcnI6IEh0dHBFcnJvclJlc3BvbnNlLHJlcXVlc3RPcHRpb25zOlJlcXVlc3RPcHRpb25zTW9kZWwpIHtcclxuICAgICAgICBpZiAoZXJyLmVycm9yID09IG51bGwpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucz1yZXF1ZXN0T3B0aW9ucztcclxuICAgICAgICBlcnIuZXJyb3IudmFsaWRhdGlvbl9lcnJvcnMuZm9yRWFjaCgoZWxlbWVudDogRXJyb3JNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmllbGROYW1lID0gZWxlbWVudC5maWVsZDtcclxuICAgICAgICAgICAgbGV0IGNvbnRyb2xOYW1lID0gZWxlbWVudC5jb250cm9sX25hbWU7XHJcbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZWxlbWVudC5tZXNzYWdlO1xyXG4gICAgICAgICAgICBpZiAoZm9ybSA9PSBudWxsICkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucy5jdXN0b21FcnJvck1lc3NhZ2UgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSh0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSkgOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZShgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKCF0aGlzLmhhc0NvbnRyb2xOYW1lKGZvcm0sY29udHJvbE5hbWUpKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dHbG9iYWxFcnJvcihgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZm9ybSxjb250cm9sTmFtZSxmaWVsZE5hbWUsbWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIHByaXZhdGUgaGFzQ29udHJvbE5hbWUoZm9ybTogRm9ybUdyb3VwLCBjb250cm9sTmFtZTogc3RyaW5nKTogYm9vbGVhblxyXG4gICAgIHtcclxuICAgICAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcclxuICAgICAgICByZXR1cm4gY29udHJvbCAhPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgcHJpdmF0ZSBzZXRGaWVsZEVycm9yKGZvcm06IEZvcm1Hcm91cCwgY29udHJvbE5hbWU6IHN0cmluZyxmaWVsZE5hbWU6c3RyaW5nLG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBjb250cm9sID1mb3JtLmdldChjb250cm9sTmFtZSk7XHJcbiAgICAgICAgbGV0IGVycm9ycyA9IHsgW21lc3NhZ2VdOiB0cnVlIH07XHJcbiAgICAgICAgbGV0IGZpZWxkTmFtZUFycmF5ID0gZmllbGROYW1lLnNwbGl0KCcuJylcclxuICAgIFxyXG4gICAgICAgaWYgKGZpZWxkTmFtZUFycmF5Lmxlbmd0aD49MSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICBzd2l0Y2ggKGZpZWxkTmFtZUFycmF5W2xlbmd0aC0xXS50b0xvY2FsZUxvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJlbmdsaXNoXCI6XHJcbiAgICAgICAgICAgICAgbGV0IGVuZ2xpc2hDb250cm9sPWNvbnRyb2wuZ2V0KFwiRW5nbGlzaFZhbHVlXCIpXHJcbiAgICAgICAgICAgICAgZW5nbGlzaENvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcbiAgICAgICAgICAgICAgZW5nbGlzaENvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGVuZ2xpc2hDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImFyYWJpY1wiOlxyXG4gICAgICAgICAgICAgIGxldCBhcmFiaWNDb250cm9sPWNvbnRyb2wuZ2V0KFwiQXJhYmljVmFsdWVcIilcclxuICAgICAgICAgICAgICBhcmFiaWNDb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICAgIGFyYWJpY0NvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGFyYWJpY0NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgeyAgXHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSA/IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKHRoaXMucmVxdWVzdE9wdGlvbnMuY3VzdG9tRXJyb3JNZXNzYWdlKSA6IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKGAke2ZpZWxkTmFtZX06ICR7bWVzc2FnZX1gKVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIFxyXG4gICAgICB9XHJcbiAgICBcclxuICAgIFxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { environment } from '../config/environment';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EnvironmentService {
|
|
5
|
+
getEnvironmentObject() {
|
|
6
|
+
return environment;
|
|
7
|
+
}
|
|
8
|
+
getBaseUrl() {
|
|
9
|
+
let Url = environment["BBSF_BaseUrl"];
|
|
10
|
+
return Url;
|
|
11
|
+
}
|
|
12
|
+
getApiUrl() {
|
|
13
|
+
let Url = environment["BBSF_ApiUrl"];
|
|
14
|
+
return Url;
|
|
15
|
+
}
|
|
16
|
+
getProductionMode() {
|
|
17
|
+
let Mode = environment["BBSF_IsProduction"];
|
|
18
|
+
return Mode;
|
|
19
|
+
}
|
|
20
|
+
getIdentityServerUrl() {
|
|
21
|
+
let Url = environment["BBSF_IdentityServerUrl"];
|
|
22
|
+
return Url;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
EnvironmentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EnvironmentService_Factory() { return new EnvironmentService(); }, token: EnvironmentService, providedIn: "root" });
|
|
26
|
+
EnvironmentService.decorators = [
|
|
27
|
+
{ type: Injectable, args: [{
|
|
28
|
+
providedIn: 'root'
|
|
29
|
+
},] }
|
|
30
|
+
];
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0Isb0JBQW9CO1FBQ2xCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3JDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFZLENBQUE7UUFDdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQy9DLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7OztZQTNCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vY29uZmlnL2Vudmlyb25tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XHJcblxyXG4gIGdldEVudmlyb25tZW50T2JqZWN0KCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZVVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQmFzZVVybFwiXVxyXG4gICAgcmV0dXJuIFVybDtcclxuICB9XHJcbiAgZ2V0QXBpVXJsKCkge1xyXG4gICAgbGV0IFVybCA9IGVudmlyb25tZW50W1wiQkJTRl9BcGlVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0UHJvZHVjdGlvbk1vZGUoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiQkJTRl9Jc1Byb2R1Y3Rpb25cIl0gYXMgYm9vbGVhblxyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXRJZGVudGl0eVNlcnZlclVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfSWRlbnRpdHlTZXJ2ZXJVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG59Il19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { HttpParams } from "@angular/common/http";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { Router } from "@angular/router";
|
|
4
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
5
|
+
import { AuthService } from "../authentication/auth.service";
|
|
6
|
+
import { RequestHandlerService } from "./requesthandler.service";
|
|
7
|
+
import { StylesBundleService } from "./stylesbundle.service";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/router";
|
|
10
|
+
import * as i2 from "./requesthandler.service";
|
|
11
|
+
import * as i3 from "../authentication/auth.service";
|
|
12
|
+
import * as i4 from "./stylesbundle.service";
|
|
13
|
+
import * as i5 from "@ngx-translate/core";
|
|
14
|
+
export class MasterLayoutService {
|
|
15
|
+
constructor(router, http, authService, stylesBundleService, translate) {
|
|
16
|
+
this.router = router;
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.authService = authService;
|
|
19
|
+
this.stylesBundleService = stylesBundleService;
|
|
20
|
+
this.translate = translate;
|
|
21
|
+
this.ApiUrl = "/api/admin/Users/";
|
|
22
|
+
}
|
|
23
|
+
switchLang(lang, bundleEnglishName, bundleArabicName) {
|
|
24
|
+
this.changeLanguage(lang).subscribe((result) => {
|
|
25
|
+
this.updateUserInfo().subscribe((Value) => {
|
|
26
|
+
let UserInfoObject = Value;
|
|
27
|
+
this.authService.getUser();
|
|
28
|
+
this.authService.user.profile = Object.assign(this.authService.user.profile, UserInfoObject);
|
|
29
|
+
this.authService.storUser(this.authService.user);
|
|
30
|
+
this.stylesBundleService.loadThemes(lang, bundleEnglishName, bundleArabicName);
|
|
31
|
+
localStorage.setItem('language', lang);
|
|
32
|
+
this.translate.use(lang);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
reloadComponent() {
|
|
37
|
+
let currentUrl = this.router.url;
|
|
38
|
+
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
39
|
+
this.router.onSameUrlNavigation = 'reload';
|
|
40
|
+
this.router.navigate([currentUrl]);
|
|
41
|
+
}
|
|
42
|
+
changeLanguage(key) {
|
|
43
|
+
let params = new HttpParams();
|
|
44
|
+
params = params.append("UserId", this.authService.user.profile.id);
|
|
45
|
+
params = params.append("LanguageKey", key);
|
|
46
|
+
return this.http.post(this.ApiUrl + 'updateLaguage', null, params);
|
|
47
|
+
}
|
|
48
|
+
updateUserInfo() {
|
|
49
|
+
return this.http.get('/connect/userinfo');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
MasterLayoutService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MasterLayoutService_Factory() { return new MasterLayoutService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.RequestHandlerService), i0.ɵɵinject(i3.AuthService), i0.ɵɵinject(i4.StylesBundleService), i0.ɵɵinject(i5.TranslateService)); }, token: MasterLayoutService, providedIn: "root" });
|
|
53
|
+
MasterLayoutService.decorators = [
|
|
54
|
+
{ type: Injectable, args: [{
|
|
55
|
+
providedIn: 'root'
|
|
56
|
+
},] }
|
|
57
|
+
];
|
|
58
|
+
MasterLayoutService.ctorParameters = () => [
|
|
59
|
+
{ type: Router },
|
|
60
|
+
{ type: RequestHandlerService },
|
|
61
|
+
{ type: AuthService },
|
|
62
|
+
{ type: StylesBundleService },
|
|
63
|
+
{ type: TranslateService }
|
|
64
|
+
];
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVybGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9tYXN0ZXJsYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsWUFBb0IsTUFBYyxFQUFVLElBQTJCLEVBQVUsV0FBd0IsRUFBUyxtQkFBdUMsRUFBVSxTQUEwQjtRQUF6SyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBdUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUQ3TCxXQUFNLEdBQUMsbUJBQW1CLENBQUE7SUFFMUIsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFZLEVBQUUsaUJBQXlCLEVBQUUsZ0JBQXdCO1FBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUMxQyxJQUFJLGNBQWMsR0FBRSxLQUFLLENBQUU7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDOUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUMsaUJBQWlCLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDN0UsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZTtRQUNYLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sY0FBYyxDQUFDLEdBQVc7UUFFN0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRUssY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDN0MsQ0FBQzs7OztZQXJDSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVJRLE1BQU07WUFHTixxQkFBcUI7WUFEckIsV0FBVztZQUVYLG1CQUFtQjtZQUhuQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gXCIuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcIi4vcmVxdWVzdGhhbmRsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdHlsZXNCdW5kbGVTZXJ2aWNlIH0gZnJvbSBcIi4vc3R5bGVzYnVuZGxlLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFzdGVyTGF5b3V0U2VydmljZSB7XHJcbiAgICBBcGlVcmw9XCIvYXBpL2FkbWluL1VzZXJzL1wiXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGh0dHA6IFJlcXVlc3RIYW5kbGVyU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UscHJpdmF0ZSBzdHlsZXNCdW5kbGVTZXJ2aWNlOlN0eWxlc0J1bmRsZVNlcnZpY2UgLHByaXZhdGUgdHJhbnNsYXRlOlRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIH1cclxuICAgIHN3aXRjaExhbmcobGFuZzogc3RyaW5nLCBidW5kbGVFbmdsaXNoTmFtZTogc3RyaW5nLCBidW5kbGVBcmFiaWNOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKGxhbmcpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVXNlckluZm8oKS5zdWJzY3JpYmUoKFZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBVc2VySW5mb09iamVjdCA9VmFsdWUgO1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXIoKTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51c2VyLnByb2ZpbGUgPSBPYmplY3QuYXNzaWduKCB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZSwgVXNlckluZm9PYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnN0b3JVc2VyKHRoaXMuYXV0aFNlcnZpY2UudXNlcik7XHJcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzQnVuZGxlU2VydmljZS5sb2FkVGhlbWVzKGxhbmcsYnVuZGxlRW5nbGlzaE5hbWUsYnVuZGxlQXJhYmljTmFtZSk7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmcpO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHJlbG9hZENvbXBvbmVudCgpIHtcclxuICAgICAgICBsZXQgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgICB0aGlzLnJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9ICgpID0+IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm9uU2FtZVVybE5hdmlnYXRpb24gPSAncmVsb2FkJztcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbY3VycmVudFVybF0pO1xyXG4gICAgfVxyXG5cclxuICAgcHJpdmF0ZSBjaGFuZ2VMYW5ndWFnZShrZXk6IHN0cmluZykge1xyXG5cclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiVXNlcklkXCIsIHRoaXMuYXV0aFNlcnZpY2UudXNlci5wcm9maWxlLmlkKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiTGFuZ3VhZ2VLZXlcIiwga2V5KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5BcGlVcmwgKyAndXBkYXRlTGFndWFnZScsIG51bGwsIHBhcmFtcylcclxuICAgIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVVc2VySW5mbygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnL2Nvbm5lY3QvdXNlcmluZm8nKVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpClient, HttpHeaders } from "@angular/common/http";
|
|
3
|
+
import { RequestOptionsModel } from '../models/RequestOptionsModel';
|
|
4
|
+
import { AuthService } from '../authentication/auth.service';
|
|
5
|
+
import { EnvironmentService } from './environment.service';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
import { UtilityService } from './utility.service';
|
|
8
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
|
9
|
+
import { ControlValidationService } from './controlvalidation.service';
|
|
10
|
+
import { BBSFTranslateService } from './translate.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common/http";
|
|
13
|
+
import * as i2 from "../authentication/auth.service";
|
|
14
|
+
import * as i3 from "./environment.service";
|
|
15
|
+
import * as i4 from "./utility.service";
|
|
16
|
+
import * as i5 from "./controlvalidation.service";
|
|
17
|
+
import * as i6 from "./translate.service";
|
|
18
|
+
export class RequestHandlerService {
|
|
19
|
+
constructor(http, authService, environmentService, utilityService, controlValidationService, bbsfTranslateService) {
|
|
20
|
+
this.http = http;
|
|
21
|
+
this.authService = authService;
|
|
22
|
+
this.environmentService = environmentService;
|
|
23
|
+
this.utilityService = utilityService;
|
|
24
|
+
this.controlValidationService = controlValidationService;
|
|
25
|
+
this.bbsfTranslateService = bbsfTranslateService;
|
|
26
|
+
this.requestOptions = new RequestOptionsModel();
|
|
27
|
+
this.currentLanguage = "";
|
|
28
|
+
this.onDestroy$ = new Subject();
|
|
29
|
+
//using localStorage to avoid call getCurrentLanguage() because it is not all to use async in constructor
|
|
30
|
+
this.currentLanguage = localStorage.getItem('language');
|
|
31
|
+
this.bbsfTranslateService.onLangChange.subscribe((event) => {
|
|
32
|
+
if (this.currentLanguage != event.lang) {
|
|
33
|
+
this.currentLanguage = event.lang;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
get(Url, params, requestOptions) {
|
|
38
|
+
if (requestOptions)
|
|
39
|
+
this.requestOptions = requestOptions;
|
|
40
|
+
let headers = new HttpHeaders({
|
|
41
|
+
'Content-Type': 'application/json',
|
|
42
|
+
'Authorization': this.authService.authorizationHeaderValue(),
|
|
43
|
+
});
|
|
44
|
+
headers = headers.set('Accept-Language', this.currentLanguage.toString());
|
|
45
|
+
if (!this.requestOptions.disableBlockUI)
|
|
46
|
+
this.utilityService.startBlockUI();
|
|
47
|
+
return this.http.get(this.environmentService.getApiUrl() + Url, { headers: headers, params: params }).pipe(takeUntil(this.onDestroy$), tap((result) => {
|
|
48
|
+
if (!this.requestOptions.disableBlockUI)
|
|
49
|
+
this.utilityService.stopBlockUI();
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
post(Url, model, params, requestOptions) {
|
|
53
|
+
if (requestOptions)
|
|
54
|
+
this.requestOptions = requestOptions;
|
|
55
|
+
let headers = new HttpHeaders({
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
'Authorization': this.authService.authorizationHeaderValue(),
|
|
58
|
+
});
|
|
59
|
+
headers = headers.set('Accept-Language', this.currentLanguage.toString());
|
|
60
|
+
if (!this.requestOptions.disableBlockUI)
|
|
61
|
+
this.utilityService.startBlockUI();
|
|
62
|
+
return this.http.post(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
|
|
63
|
+
if (!this.requestOptions.disableBlockUI)
|
|
64
|
+
this.utilityService.stopBlockUI();
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
destroyHandler() {
|
|
68
|
+
this.onDestroy$.next();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
RequestHandlerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RequestHandlerService_Factory() { return new RequestHandlerService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(i3.EnvironmentService), i0.ɵɵinject(i4.UtilityService), i0.ɵɵinject(i5.ControlValidationService), i0.ɵɵinject(i6.BBSFTranslateService)); }, token: RequestHandlerService, providedIn: "root" });
|
|
72
|
+
RequestHandlerService.decorators = [
|
|
73
|
+
{ type: Injectable, args: [{
|
|
74
|
+
providedIn: 'root'
|
|
75
|
+
},] }
|
|
76
|
+
];
|
|
77
|
+
RequestHandlerService.ctorParameters = () => [
|
|
78
|
+
{ type: HttpClient },
|
|
79
|
+
{ type: AuthService },
|
|
80
|
+
{ type: EnvironmentService },
|
|
81
|
+
{ type: UtilityService },
|
|
82
|
+
{ type: ControlValidationService },
|
|
83
|
+
{ type: BBSFTranslateService }
|
|
84
|
+
];
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdGhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3RoYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUVZLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ3hCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBTDFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEw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QUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O1lBbkVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBZlEsVUFBVTtZQUdWLFdBQVc7WUFDWCxrQkFBa0I7WUFFbEIsY0FBYztZQUlkLHdCQUF3QjtZQUN4QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0T3B0aW9uc01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL1JlcXVlc3RPcHRpb25zTW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi91dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuICBwcml2YXRlIGN1cnJlbnRMYW5ndWFnZSA9IFwiXCI7XHJcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvclxyXG4gICAgKFxyXG4gICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBjb250cm9sVmFsaWRhdGlvblNlcnZpY2U6IENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBiYnNmVHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgLy91c2luZyBsb2NhbFN0b3JhZ2UgIHRvIGF2b2lkIGNhbGwgZ2V0Q3VycmVudExhbmd1YWdlKCkgYmVjYXVzZSBpdCBpcyBub3QgYWxsIHRvIHVzZSBhc3luYyBpbiBjb25zdHJ1Y3RvclxyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKTtcclxuXHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMYW5ndWFnZSAhPSBldmVudC5sYW5nKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBldmVudC5sYW5nO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0KFVybDogc3RyaW5nLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwpIHtcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCksXHJcbiAgICB9KTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0LUxhbmd1YWdlJywgdGhpcy5jdXJyZW50TGFuZ3VhZ2UudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRBcGlVcmwoKSArIFVybCwgeyBoZWFkZXJzOiBoZWFkZXJzLCBwYXJhbXM6IHBhcmFtcyB9KS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSxcclxuICAgICAgdGFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcG9zdChVcmw6IHN0cmluZywgbW9kZWw/OiBhbnksIHBhcmFtcz86IEh0dHBQYXJhbXMsIHJlcXVlc3RPcHRpb25zPzogUmVxdWVzdE9wdGlvbnNNb2RlbCkge1xyXG4gICAgaWYgKHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKSxcclxuXHJcbiAgICB9KTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0LUxhbmd1YWdlJywgdGhpcy5jdXJyZW50TGFuZ3VhZ2UudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBwdWJsaWMgZGVzdHJveUhhbmRsZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class StylesBundleService {
|
|
6
|
+
constructor(document) {
|
|
7
|
+
this.document = document;
|
|
8
|
+
}
|
|
9
|
+
loadThemes(lang, bundleEnglishName, bundleArabicName) {
|
|
10
|
+
if (lang == "ar") {
|
|
11
|
+
this.loadStyleBundle(bundleArabicName.toString());
|
|
12
|
+
document.querySelector('html').setAttribute("lang", "ar");
|
|
13
|
+
document.querySelector('html').setAttribute("dir", "rtl");
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.loadStyleBundle(bundleEnglishName.toString());
|
|
17
|
+
document.querySelector('html').setAttribute("lang", "en");
|
|
18
|
+
document.querySelector('html').setAttribute("dir", "ltr");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
loadStyleBundle(styleName) {
|
|
22
|
+
const head = this.document.getElementsByTagName('head')[0];
|
|
23
|
+
let themeLink = this.document.getElementById('client-theme');
|
|
24
|
+
if (themeLink && themeLink.href.includes(styleName)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
else if (themeLink && !themeLink.href.includes(styleName)) {
|
|
28
|
+
themeLink.remove();
|
|
29
|
+
}
|
|
30
|
+
const style = this.document.createElement('link');
|
|
31
|
+
style.id = 'client-theme';
|
|
32
|
+
style.rel = 'stylesheet';
|
|
33
|
+
style.href = `${styleName}`;
|
|
34
|
+
head.appendChild(style);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
StylesBundleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StylesBundleService_Factory() { return new StylesBundleService(i0.ɵɵinject(i1.DOCUMENT)); }, token: StylesBundleService, providedIn: "root" });
|
|
38
|
+
StylesBundleService.decorators = [
|
|
39
|
+
{ type: Injectable, args: [{
|
|
40
|
+
providedIn: 'root'
|
|
41
|
+
},] }
|
|
42
|
+
];
|
|
43
|
+
StylesBundleService.ctorParameters = () => [
|
|
44
|
+
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
45
|
+
];
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXNidW5kbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRSxDQUFDO0lBRTNELFVBQVUsQ0FBQyxJQUFZLEVBQUMsaUJBQXdCLEVBQUMsZ0JBQXVCO1FBQ3RFLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDakQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ2xELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0Q7SUFFSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFvQixDQUFDO1FBRWhGLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDUjthQUNJLElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekQsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsS0FBSyxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDekIsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUdpRCxRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlc0J1bmRsZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCl7fVxyXG5cclxuICBsb2FkVGhlbWVzKGxhbmc6IHN0cmluZyxidW5kbGVFbmdsaXNoTmFtZTpzdHJpbmcsYnVuZGxlQXJhYmljTmFtZTpzdHJpbmcpIHtcclxuICAgIGlmIChsYW5nID09IFwiYXJcIikge1xyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVBcmFiaWNOYW1lLnRvU3RyaW5nKCkpXHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJsYW5nXCIsIFwiYXJcIik7XHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJkaXJcIiwgXCJydGxcIik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVFbmdsaXNoTmFtZS50b1N0cmluZygpKVxyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwibGFuZ1wiLCBcImVuXCIpO1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwibHRyXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGxvYWRTdHlsZUJ1bmRsZShzdHlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuXHJcbiAgICBsZXQgdGhlbWVMaW5rID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xpZW50LXRoZW1lJykgYXMgSFRNTExpbmtFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGVtZUxpbmsgJiYgdGhlbWVMaW5rLmhyZWYuaW5jbHVkZXMoc3R5bGVOYW1lKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGVtZUxpbmsgJiYgIXRoZW1lTGluay5ocmVmLmluY2x1ZGVzKHN0eWxlTmFtZSkpIHtcclxuICAgICAgdGhlbWVMaW5rLnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2NsaWVudC10aGVtZSc7XHJcbiAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICBzdHlsZS5ocmVmID0gYCR7c3R5bGVOYW1lfWA7XHJcbiAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
export class BBSFTranslateService extends TranslateService {
|
|
6
|
+
}
|
|
7
|
+
BBSFTranslateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BBSFTranslateService_Factory() { return new BBSFTranslateService(i0.ɵɵinject(i1.TranslateStore), i0.ɵɵinject(i1.TranslateLoader), i0.ɵɵinject(i1.TranslateCompiler), i0.ɵɵinject(i1.TranslateParser), i0.ɵɵinject(i1.MissingTranslationHandler), i0.ɵɵinject(i1.USE_DEFAULT_LANG), i0.ɵɵinject(i1.USE_STORE), i0.ɵɵinject(i1.USE_EXTEND), i0.ɵɵinject(i1.DEFAULT_LANGUAGE)); }, token: BBSFTranslateService, providedIn: "root" });
|
|
8
|
+
BBSFTranslateService.decorators = [
|
|
9
|
+
{ type: Injectable, args: [{
|
|
10
|
+
providedIn: 'root'
|
|
11
|
+
},] }
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLdkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjs7OztZQUh6RCxVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIGV4dGVuZHMgVHJhbnNsYXRlU2VydmljZSB7XHJcbn0iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ToastrService } from 'ngx-toastr';
|
|
4
|
+
import { BlockUI } from 'ng-block-ui';
|
|
5
|
+
import { AppInjector } from '../../bbsf-utilities.module';
|
|
6
|
+
import { AuthService } from '../authentication/auth.service';
|
|
7
|
+
import { BBSFTranslateService } from './translate.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "./translate.service";
|
|
10
|
+
import * as i2 from "../authentication/auth.service";
|
|
11
|
+
export class UtilityService {
|
|
12
|
+
constructor(Translator, authService) {
|
|
13
|
+
this.Translator = Translator;
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this.isCreatedBefore = false;
|
|
16
|
+
}
|
|
17
|
+
getResourceValue(Key) {
|
|
18
|
+
let ResourceValue = "";
|
|
19
|
+
this.Translator.get(Key).subscribe(data => { ResourceValue = data; return ResourceValue; });
|
|
20
|
+
return ResourceValue;
|
|
21
|
+
}
|
|
22
|
+
getCurrentLanguage() {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
let user = yield this.authService.getCurrentUser().then((user) => {
|
|
25
|
+
return user;
|
|
26
|
+
});
|
|
27
|
+
return user.profile.locale;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
isCurrentLanguageEnglish() {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
(yield this.getCurrentLanguage()) == "en" ? true : false;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
isCurrentLanguageArabic() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
(yield this.getCurrentLanguage()) == "ar" ? true : false;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
notifySuccessMessage(Message, title, time) {
|
|
41
|
+
let MessageTemplate = this.getResourceValue("SuccessMessage");
|
|
42
|
+
let titleTemplate = this.getResourceValue("Success");
|
|
43
|
+
if (Message) {
|
|
44
|
+
MessageTemplate = Message;
|
|
45
|
+
}
|
|
46
|
+
if (title) {
|
|
47
|
+
titleTemplate = title;
|
|
48
|
+
}
|
|
49
|
+
let toaster = AppInjector.get(ToastrService);
|
|
50
|
+
toaster.success(MessageTemplate, titleTemplate);
|
|
51
|
+
}
|
|
52
|
+
notifyErrorMessage(Message, title, time) {
|
|
53
|
+
let MessageTemplate = this.getResourceValue("ErrorMessage");
|
|
54
|
+
let titleTemplate = this.getResourceValue("Error");
|
|
55
|
+
if (Message) {
|
|
56
|
+
MessageTemplate = Message;
|
|
57
|
+
}
|
|
58
|
+
if (title) {
|
|
59
|
+
titleTemplate = title;
|
|
60
|
+
}
|
|
61
|
+
const toaster = AppInjector.get(ToastrService);
|
|
62
|
+
toaster.error(MessageTemplate, titleTemplate);
|
|
63
|
+
}
|
|
64
|
+
notifyWarningMessage(Message, title, time) {
|
|
65
|
+
let MessageTemplate = this.getResourceValue("WarningMessage");
|
|
66
|
+
let titleTemplate = this.getResourceValue("Warning");
|
|
67
|
+
if (Message) {
|
|
68
|
+
MessageTemplate = Message;
|
|
69
|
+
}
|
|
70
|
+
if (title) {
|
|
71
|
+
titleTemplate = title;
|
|
72
|
+
}
|
|
73
|
+
const toaster = AppInjector.get(ToastrService);
|
|
74
|
+
toaster.warning(MessageTemplate, titleTemplate);
|
|
75
|
+
}
|
|
76
|
+
startBlockUI() {
|
|
77
|
+
this.blockUI.start();
|
|
78
|
+
}
|
|
79
|
+
stopBlockUI() {
|
|
80
|
+
this.blockUI.stop();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
UtilityService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilityService_Factory() { return new UtilityService(i0.ɵɵinject(i1.BBSFTranslateService), i0.ɵɵinject(i2.AuthService)); }, token: UtilityService, providedIn: "root" });
|
|
84
|
+
UtilityService.decorators = [
|
|
85
|
+
{ type: Injectable, args: [{
|
|
86
|
+
providedIn: 'root'
|
|
87
|
+
},] }
|
|
88
|
+
];
|
|
89
|
+
UtilityService.ctorParameters = () => [
|
|
90
|
+
{ type: BBSFTranslateService },
|
|
91
|
+
{ type: AuthService }
|
|
92
|
+
];
|
|
93
|
+
__decorate([
|
|
94
|
+
BlockUI()
|
|
95
|
+
], UtilityService.prototype, "blockUI", void 0);
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU8zRCxNQUFNLE9BQU8sY0FBYztJQUt2QixZQUFvQixVQUFnQyxFQUFVLFdBQXdCO1FBQWxFLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIdEYsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFLeEIsQ0FBQztJQUdELGdCQUFnQixDQUFDLEdBQVc7UUFDeEIsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sYUFBYSxDQUFDO0lBRXpCLENBQUM7SUFJSyxrQkFBa0I7O1lBQ3BCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDN0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQy9CLENBQUM7S0FBQTtJQUNLLHdCQUF3Qjs7WUFDMUIsQ0FBQSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDMUQsQ0FBQztLQUFBO0lBQ0ssdUJBQXVCOztZQUN6QixDQUFBLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUMxRCxDQUFDO0tBQUE7SUFFRCxvQkFBb0IsQ0FBQyxPQUFnQixFQUFFLEtBQWMsRUFBRSxJQUFhO1FBRWhFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sRUFBRTtZQUNULGVBQWUsR0FBRyxPQUFPLENBQUM7U0FDN0I7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDekI7UUFDRCxJQUFJLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFnQixFQUFFLEtBQWMsRUFBRSxJQUFhO1FBRTlELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxPQUFPLEVBQUU7WUFDVCxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDUCxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0IsRUFBRSxLQUFjLEVBQUUsSUFBYTtRQUVoRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLEVBQUU7WUFDVCxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDUCxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7WUFsRkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOUSxvQkFBb0I7WUFEcEIsV0FBVzs7QUFXTDtJQUFWLE9BQU8sRUFBRTsrQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgSG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQXBwSW5qZWN0b3IgfSBmcm9tICcuLi8uLi9iYnNmLXV0aWxpdGllcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIGlzQ3JlYXRlZEJlZm9yZSA9IGZhbHNlO1xyXG4gICAgQEJsb2NrVUkoKSBibG9ja1VJOiBOZ0Jsb2NrVUk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBUcmFuc2xhdG9yOiBCQlNGVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFJlc291cmNlVmFsdWUoS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBSZXNvdXJjZVZhbHVlID0gXCJcIlxyXG4gICAgICAgIHRoaXMuVHJhbnNsYXRvci5nZXQoS2V5KS5zdWJzY3JpYmUoZGF0YSA9PiB7IFJlc291cmNlVmFsdWUgPSBkYXRhOyByZXR1cm4gUmVzb3VyY2VWYWx1ZTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIFJlc291cmNlVmFsdWU7XHJcblxyXG4gICAgfVxyXG5cclxuIFxyXG4gICAgXHJcbiAgICBhc3luYyBnZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudGhlbigodXNlcikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlcjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiB1c2VyLnByb2ZpbGUubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgaXNDdXJyZW50TGFuZ3VhZ2VFbmdsaXNoKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB9XHJcbiAgICBhc3luYyBpc0N1cnJlbnRMYW5ndWFnZUFyYWJpYygpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmdldEN1cnJlbnRMYW5ndWFnZSgpID09IFwiYXJcIiA/IHRydWUgOiBmYWxzZVxyXG4gICAgfVxyXG5cclxuICAgIG5vdGlmeVN1Y2Nlc3NNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyKSB7XHJcblxyXG4gICAgICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJTdWNjZXNzTWVzc2FnZVwiKTtcclxuICAgICAgICBsZXQgdGl0bGVUZW1wbGF0ZSA9IHRoaXMuZ2V0UmVzb3VyY2VWYWx1ZShcIlN1Y2Nlc3NcIik7XHJcbiAgICAgICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICAgIHRpdGxlVGVtcGxhdGUgPSB0aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRvYXN0ZXIgPSBBcHBJbmplY3Rvci5nZXQoVG9hc3RyU2VydmljZSk7XHJcbiAgICAgICAgdG9hc3Rlci5zdWNjZXNzKE1lc3NhZ2VUZW1wbGF0ZSwgdGl0bGVUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbm90aWZ5RXJyb3JNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyKSB7XHJcblxyXG4gICAgICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvck1lc3NhZ2VcIik7XHJcbiAgICAgICAgbGV0IHRpdGxlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvclwiKTtcclxuICAgICAgICBpZiAoTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBNZXNzYWdlVGVtcGxhdGUgPSBNZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGl0bGUpIHtcclxuICAgICAgICAgICAgdGl0bGVUZW1wbGF0ZSA9IHRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgICAgIHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBub3RpZnlXYXJuaW5nTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlcikge1xyXG5cclxuICAgICAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiV2FybmluZ01lc3NhZ2VcIik7XHJcbiAgICAgICAgbGV0IHRpdGxlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJXYXJuaW5nXCIpO1xyXG4gICAgICAgIGlmIChNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIE1lc3NhZ2VUZW1wbGF0ZSA9IE1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRvYXN0ZXIgPSBBcHBJbmplY3Rvci5nZXQoVG9hc3RyU2VydmljZSk7XHJcbiAgICAgICAgdG9hc3Rlci53YXJuaW5nKE1lc3NhZ2VUZW1wbGF0ZSwgdGl0bGVUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnRCbG9ja1VJKCkge1xyXG4gICAgICAgIHRoaXMuYmxvY2tVSS5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgc3RvcEJsb2NrVUkoKSB7XHJcbiAgICAgICAgdGhpcy5ibG9ja1VJLnN0b3AoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of bbsf-utilities
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/bbsf-utilities.module';
|
|
5
|
+
export * from './lib/shared/services/utility.service';
|
|
6
|
+
export * from './lib/shared/services/environment.service';
|
|
7
|
+
export * from './lib/shared/services/requesthandler.service';
|
|
8
|
+
export * from './lib/shared/services/stylesbundle.service';
|
|
9
|
+
export * from './lib/shared/services/translate.service';
|
|
10
|
+
export * from './lib/shared/services/controlvalidation.service';
|
|
11
|
+
export * from './lib/shared/services/masterlayout.service';
|
|
12
|
+
export * from './lib/shared/config/environment';
|
|
13
|
+
export * from './lib/shared/authentication/auth.service';
|
|
14
|
+
export * from './lib/shared/models/RequestOptionsModel';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLDRDQUE0QyxDQUFBO0FBQzFELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLDRDQUE0QyxDQUFBO0FBTTFELGNBQWMsaUNBQWlDLENBQUM7QUFHaEQsY0FBYywwQ0FBMEMsQ0FBQztBQUd6RCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGJic2YtdXRpbGl0aWVzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmJzZi11dGlsaXRpZXMubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9yZXF1ZXN0aGFuZGxlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvc3R5bGVzYnVuZGxlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9tYXN0ZXJsYXlvdXQuc2VydmljZSdcclxuXHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29uZmlnL2Vudmlyb25tZW50JztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvYXV0aGVudGljYXRpb24vYXV0aC5zZXJ2aWNlJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvbW9kZWxzL1JlcXVlc3RPcHRpb25zTW9kZWwnO1xyXG5cclxuIl19
|