ng-ipa-library 1.4.8 → 1.4.9
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/esm2020/lib/core/interceptors/error.interceptor.mjs +6 -43
- package/esm2020/lib/core/services/error.service.mjs +38 -5
- package/esm2020/lib/services/common.service.mjs +15 -6
- package/fesm2015/ng-ipa-library.mjs +113 -110
- package/fesm2015/ng-ipa-library.mjs.map +1 -1
- package/fesm2020/ng-ipa-library.mjs +111 -108
- package/fesm2020/ng-ipa-library.mjs.map +1 -1
- package/lib/core/interceptors/error.interceptor.d.ts +1 -7
- package/lib/core/services/error.service.d.ts +10 -1
- package/lib/services/common.service.d.ts +4 -1
- package/package.json +1 -1
|
@@ -3,11 +3,9 @@ import { throwError } from 'rxjs';
|
|
|
3
3
|
import { catchError } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../services/error.service";
|
|
6
|
-
import * as i2 from "ngx-toastr";
|
|
7
6
|
export class ErrorInterceptor {
|
|
8
|
-
constructor(errorService
|
|
7
|
+
constructor(errorService) {
|
|
9
8
|
this.errorService = errorService;
|
|
10
|
-
this.toastrService = toastrService;
|
|
11
9
|
}
|
|
12
10
|
intercept(req, next) {
|
|
13
11
|
if (this.isException(req)) {
|
|
@@ -22,10 +20,10 @@ export class ErrorInterceptor {
|
|
|
22
20
|
};
|
|
23
21
|
switch (response.statusCode) {
|
|
24
22
|
case 500:
|
|
25
|
-
this.show500ErrorMsg(response, toastrConfig);
|
|
23
|
+
this.errorService.show500ErrorMsg(response, toastrConfig);
|
|
26
24
|
break;
|
|
27
25
|
default:
|
|
28
|
-
this.showErrorMsg(response, toastrConfig);
|
|
26
|
+
this.errorService.showErrorMsg(response, toastrConfig);
|
|
29
27
|
break;
|
|
30
28
|
}
|
|
31
29
|
return throwError(() => error);
|
|
@@ -39,45 +37,10 @@ export class ErrorInterceptor {
|
|
|
39
37
|
}
|
|
40
38
|
return false;
|
|
41
39
|
}
|
|
42
|
-
showErrorMsg(response, toastrConfig) {
|
|
43
|
-
if (response.errors && response.errors.length > 0) {
|
|
44
|
-
toastrConfig.enableHtml = true;
|
|
45
|
-
let msg = '';
|
|
46
|
-
response.errors.forEach((error) => {
|
|
47
|
-
msg += `<li>${error}</li>`;
|
|
48
|
-
});
|
|
49
|
-
this.toastrService.error(`<ul>${msg}</ul>`, response.message, toastrConfig);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.toastrService.error('', response.message, toastrConfig);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
show500ErrorMsg(response, toastrConfig) {
|
|
56
|
-
const msg = response.innerException + ' ' + (response.stackTrace ?? '');
|
|
57
|
-
const toastr = this.toastrService.error(msg, response.message, toastrConfig);
|
|
58
|
-
toastr.onShown.subscribe(() => {
|
|
59
|
-
this.addCopyButton(response.message + '\n' + msg);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
addCopyButton(message) {
|
|
63
|
-
const messageToast = document.getElementsByClassName('toast-message')[0];
|
|
64
|
-
const icon = document.createElement('i');
|
|
65
|
-
icon.classList.add('ms-2', 'fas', 'fa-copy');
|
|
66
|
-
icon.addEventListener('click', () => {
|
|
67
|
-
this.copyToClipboard(message);
|
|
68
|
-
});
|
|
69
|
-
messageToast.appendChild(icon);
|
|
70
|
-
}
|
|
71
|
-
copyToClipboard(message) {
|
|
72
|
-
navigator.clipboard.writeText(message);
|
|
73
|
-
this.toastrService.success('تم نسخ الرسالة إلى الحافظة', '', {
|
|
74
|
-
positionClass: 'toast-bottom-right',
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
40
|
}
|
|
78
|
-
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1.ErrorService }
|
|
41
|
+
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1.ErrorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
42
|
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor });
|
|
80
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
81
44
|
type: Injectable
|
|
82
|
-
}], ctorParameters: function () { return [{ type: i1.ErrorService }
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.ErrorService }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU01QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzFCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFxQixDQUFDO1lBQzdDLE1BQU0sWUFBWSxHQUE4QjtnQkFDOUMsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixZQUFZLEVBQUUsS0FBSzthQUNwQixDQUFDO1lBQ0YsUUFBUSxRQUFRLENBQUMsVUFBVSxFQUFFO2dCQUMzQixLQUFLLEdBQUc7b0JBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUMxRCxNQUFNO2dCQUVSO29CQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDdkQsTUFBTTthQUNUO1lBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBcUI7UUFDdkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBeENVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUV4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hcGlFeGNlcHRpb24nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlKSB7fVxyXG5cclxuICBpbnRlcmNlcHQoXHJcbiAgICByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xyXG4gICAgaWYgKHRoaXMuaXNFeGNlcHRpb24ocmVxKSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgQXBpRXhjZXB0aW9uO1xyXG4gICAgICAgIGNvbnN0IHRvYXN0ckNvbmZpZzogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHtcclxuICAgICAgICAgIGRpc2FibGVUaW1lT3V0OiB0cnVlLFxyXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgICB0YXBUb0Rpc21pc3M6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgc3dpdGNoIChyZXNwb25zZS5zdGF0dXNDb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIDUwMDpcclxuICAgICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2hvdzUwMEVycm9yTXNnKHJlc3BvbnNlLCB0b2FzdHJDb25maWcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zaG93RXJyb3JNc2cocmVzcG9uc2UsIHRvYXN0ckNvbmZpZyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0V4Y2VwdGlvbihyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBib29sZWFuIHtcclxuICAgIGZvciAoY29uc3QgdXJsIG9mIHRoaXMuZXJyb3JTZXJ2aWNlLnVybHMpIHtcclxuICAgICAgaWYgKHJlcS51cmwuaW5jbHVkZXModXJsLnBhdGgpICYmIHJlcS5tZXRob2QgPT09IHVybC5tZXRob2QpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-toastr";
|
|
4
|
+
import * as i2 from "../../services/common.service";
|
|
3
5
|
export class ErrorService {
|
|
4
|
-
constructor() {
|
|
6
|
+
constructor(toastrService, commonService) {
|
|
7
|
+
this.toastrService = toastrService;
|
|
8
|
+
this.commonService = commonService;
|
|
5
9
|
this.urls = [];
|
|
6
10
|
}
|
|
7
11
|
setExceptionUrls(urls) {
|
|
@@ -10,13 +14,42 @@ export class ErrorService {
|
|
|
10
14
|
addExceptionUrl(url) {
|
|
11
15
|
this.urls.push(url);
|
|
12
16
|
}
|
|
17
|
+
showErrorMsg(response, toastrConfig) {
|
|
18
|
+
if (response.errors && response.errors.length > 0) {
|
|
19
|
+
toastrConfig.enableHtml = true;
|
|
20
|
+
let msg = '';
|
|
21
|
+
response.errors.forEach((error) => {
|
|
22
|
+
msg += `<li>${error}</li>`;
|
|
23
|
+
});
|
|
24
|
+
this.toastrService.error(`<ul>${msg}</ul>`, response.message, toastrConfig);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.toastrService.error('', response.message, toastrConfig);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
show500ErrorMsg(response, toastrConfig) {
|
|
31
|
+
const msg = response.innerException + ' ' + (response.stackTrace ?? '');
|
|
32
|
+
const toastr = this.toastrService.error(msg, response.message, toastrConfig);
|
|
33
|
+
toastr.onShown.subscribe(() => {
|
|
34
|
+
this.addCopyButton(response.message + '\n' + msg);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
addCopyButton(message) {
|
|
38
|
+
const messageToast = document.getElementsByClassName('toast-message')[0];
|
|
39
|
+
const icon = document.createElement('i');
|
|
40
|
+
icon.classList.add('ms-2', 'fas', 'fa-copy');
|
|
41
|
+
icon.addEventListener('click', () => {
|
|
42
|
+
this.commonService.copyToClipboard(message);
|
|
43
|
+
});
|
|
44
|
+
messageToast.appendChild(icon);
|
|
45
|
+
}
|
|
13
46
|
}
|
|
14
|
-
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: i2.CommonService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
48
|
ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, providedIn: 'root' });
|
|
16
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, decorators: [{
|
|
17
50
|
type: Injectable,
|
|
18
51
|
args: [{
|
|
19
|
-
providedIn: 'root'
|
|
52
|
+
providedIn: 'root',
|
|
20
53
|
}]
|
|
21
|
-
}], ctorParameters: function () { return []; } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i2.CommonService }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFVM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFDVSxhQUE0QixFQUM1QixhQUE0QjtRQUQ1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUh0QyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUl2QixDQUFDO0lBRUosZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFpQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQXFCLEVBQUUsWUFBdUM7UUFDekUsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxZQUFZLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDYixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNoQyxHQUFHLElBQUksT0FBTyxLQUFLLE9BQU8sQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0QixPQUFPLEdBQUcsT0FBTyxFQUNqQixRQUFRLENBQUMsT0FBTyxFQUNoQixZQUFZLENBQ2IsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxlQUFlLENBQ2IsUUFBc0IsRUFDdEIsWUFBdUM7UUFFdkMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUNyQyxHQUFHLEVBQ0gsUUFBUSxDQUFDLE9BQU8sRUFDaEIsWUFBWSxDQUNiLENBQUM7UUFDRixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZTtRQUNuQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQ2xELGVBQWUsQ0FDaEIsQ0FBQyxDQUFDLENBQW1CLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOzt5R0F6RFUsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBBcGlFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpRXhjZXB0aW9uJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpUmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFeGNlcHRpb25VcmwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhjZXB0aW9uVXJsLm1vZGVsJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvclNlcnZpY2Uge1xyXG4gIHVybHM6IEV4Y2VwdGlvblVybFtdID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHNldEV4Y2VwdGlvblVybHModXJsczogRXhjZXB0aW9uVXJsW10pIHtcclxuICAgIHRoaXMudXJscyA9IHVybHM7XHJcbiAgfVxyXG5cclxuICBhZGRFeGNlcHRpb25VcmwodXJsOiBFeGNlcHRpb25VcmwpIHtcclxuICAgIHRoaXMudXJscy5wdXNoKHVybCk7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3JNc2cocmVzcG9uc2U6IEFwaVJlc3BvbnNlLCB0b2FzdHJDb25maWc6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4pIHtcclxuICAgIGlmIChyZXNwb25zZS5lcnJvcnMgJiYgcmVzcG9uc2UuZXJyb3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdG9hc3RyQ29uZmlnLmVuYWJsZUh0bWwgPSB0cnVlO1xyXG4gICAgICBsZXQgbXNnID0gJyc7XHJcbiAgICAgIHJlc3BvbnNlLmVycm9ycy5mb3JFYWNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgIG1zZyArPSBgPGxpPiR7ZXJyb3J9PC9saT5gO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgIGA8dWw+JHttc2d9PC91bD5gLFxyXG4gICAgICAgIHJlc3BvbnNlLm1lc3NhZ2UsXHJcbiAgICAgICAgdG9hc3RyQ29uZmlnXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IoJycsIHJlc3BvbnNlLm1lc3NhZ2UsIHRvYXN0ckNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93NTAwRXJyb3JNc2coXHJcbiAgICByZXNwb25zZTogQXBpRXhjZXB0aW9uLFxyXG4gICAgdG9hc3RyQ29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+XHJcbiAgKSB7XHJcbiAgICBjb25zdCBtc2cgPSByZXNwb25zZS5pbm5lckV4Y2VwdGlvbiArICcgJyArIChyZXNwb25zZS5zdGFja1RyYWNlID8/ICcnKTtcclxuICAgIGNvbnN0IHRvYXN0ciA9IHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihcclxuICAgICAgbXNnLFxyXG4gICAgICByZXNwb25zZS5tZXNzYWdlLFxyXG4gICAgICB0b2FzdHJDb25maWdcclxuICAgICk7XHJcbiAgICB0b2FzdHIub25TaG93bi5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFkZENvcHlCdXR0b24ocmVzcG9uc2UubWVzc2FnZSArICdcXG4nICsgbXNnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRDb3B5QnV0dG9uKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgY29uc3QgbWVzc2FnZVRvYXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcclxuICAgICAgJ3RvYXN0LW1lc3NhZ2UnXHJcbiAgICApWzBdIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTtcclxuICAgIGljb24uY2xhc3NMaXN0LmFkZCgnbXMtMicsICdmYXMnLCAnZmEtY29weScpO1xyXG4gICAgaWNvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlLmNvcHlUb0NsaXBib2FyZChtZXNzYWdlKTtcclxuICAgIH0pO1xyXG4gICAgbWVzc2FnZVRvYXN0LmFwcGVuZENoaWxkKGljb24pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-toastr";
|
|
3
4
|
export class CommonService {
|
|
4
|
-
constructor() {
|
|
5
|
+
constructor(toastrService) {
|
|
6
|
+
this.toastrService = toastrService;
|
|
7
|
+
}
|
|
8
|
+
copyToClipboard(message) {
|
|
9
|
+
navigator.clipboard.writeText(message);
|
|
10
|
+
this.toastrService.success('تم نسخ الرسالة إلى الحافظة', '', {
|
|
11
|
+
positionClass: 'toast-bottom-right',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
5
14
|
print(element, title, classes) {
|
|
6
15
|
const styles = this.getElementTag('style');
|
|
7
|
-
const
|
|
16
|
+
const links = this.getElementTag('link');
|
|
8
17
|
const scripts = this.getElementTag('script');
|
|
9
18
|
const printContents = document.getElementById(element)?.innerHTML;
|
|
10
19
|
const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');
|
|
@@ -13,7 +22,7 @@ export class CommonService {
|
|
|
13
22
|
<head>
|
|
14
23
|
<title> ${title} </title>
|
|
15
24
|
<meta charset="utf-8">
|
|
16
|
-
${
|
|
25
|
+
${links}
|
|
17
26
|
${styles}
|
|
18
27
|
<style>
|
|
19
28
|
@media print {
|
|
@@ -54,12 +63,12 @@ export class CommonService {
|
|
|
54
63
|
return html.join('\r\n');
|
|
55
64
|
}
|
|
56
65
|
}
|
|
57
|
-
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
66
|
+
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
67
|
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, providedIn: 'root' });
|
|
59
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, decorators: [{
|
|
60
69
|
type: Injectable,
|
|
61
70
|
args: [{
|
|
62
71
|
providedIn: 'root',
|
|
63
72
|
}]
|
|
64
|
-
}], ctorParameters: function () { return []; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }]; } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxFQUFFO1lBQzNELGFBQWEsRUFBRSxvQkFBb0I7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLE9BQWdCO1FBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHOzs7c0JBR0ssS0FBSzs7Y0FFYixLQUFLO2NBQ0wsTUFBTTs7Ozs7Ozs7Ozs7O3lCQVlLLE9BQU87Y0FDbEIsYUFBYTtjQUNiLE9BQU87OztnQkFHTCxDQUFDO1FBQ2IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNsQixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUN2QyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDaEMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNqQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQWdDO1FBQ3BELE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7MEdBL0RVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2UpIHt9XHJcblxyXG4gIGNvcHlUb0NsaXBib2FyZChtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KG1lc3NhZ2UpO1xyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ9iq2YUg2YbYs9iuINin2YTYsdiz2KfZhNipINil2YTZiSDYp9mE2K3Yp9mB2LjYqScsICcnLCB7XHJcbiAgICAgIHBvc2l0aW9uQ2xhc3M6ICd0b2FzdC1ib3R0b20tcmlnaHQnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcmludChlbGVtZW50OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGNsYXNzZXM/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHN0eWxlcyA9IHRoaXMuZ2V0RWxlbWVudFRhZygnc3R5bGUnKTtcclxuICAgIGNvbnN0IGxpbmtzID0gdGhpcy5nZXRFbGVtZW50VGFnKCdsaW5rJyk7XHJcbiAgICBjb25zdCBzY3JpcHRzID0gdGhpcy5nZXRFbGVtZW50VGFnKCdzY3JpcHQnKTtcclxuXHJcbiAgICBjb25zdCBwcmludENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCk/LmlubmVySFRNTDtcclxuICAgIGNvbnN0IHBvcHVwV2luID0gd2luZG93Lm9wZW4oJycsICcnLCAndG9wPTAsbGVmdD0wLGhlaWdodD0xMDAlLHdpZHRoPWF1dG8nKTtcclxuICAgIGNvbnN0IGRhdGEgPSBgXHJcbiAgICAgICAgPCFET0NUWVBFIGh0bWw+XHJcbiAgICAgICAgICAgIDxoZWFkPlxyXG4gICAgICAgICAgICA8dGl0bGU+ICR7dGl0bGV9IDwvdGl0bGU+XHJcbiAgICAgICAgICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiPlxyXG4gICAgICAgICAgICAke2xpbmtzfVxyXG4gICAgICAgICAgICAke3N0eWxlc31cclxuICAgICAgICAgICAgPHN0eWxlPlxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcclxuICAgICAgICAgICAgICAgICAgLm5vUHJpbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3N0eWxlPlxyXG4gICAgICAgICAgICA8L2hlYWQ+XHJcbiAgICAgICAgICA8Ym9keSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj5cclxuICAgICAgICAgICAgJHtwcmludENvbnRlbnRzfVxyXG4gICAgICAgICAgICAke3NjcmlwdHN9XHJcbiAgICAgICAgICA8L2JvZHk+XHJcblxyXG4gICAgICAgIDwvaHRtbD5gO1xyXG4gICAgcG9wdXBXaW4/LmRvY3VtZW50Lm9wZW4oKTtcclxuICAgIHBvcHVwV2luPy5kb2N1bWVudC53cml0ZShkYXRhKTtcclxuICAgIHBvcHVwV2luPy5kb2N1bWVudC5jbG9zZSgpO1xyXG4gICAgcG9wdXBXaW4/LmZvY3VzKCk7XHJcbiAgICBwb3B1cFdpbj8uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwb3B1cFdpbi5kb2N1bWVudC5oYXNGb2N1cygpKSB7XHJcbiAgICAgICAgICBwb3B1cFdpbi5wcmludCgpO1xyXG4gICAgICAgICAgcG9wdXBXaW4uY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVsZW1lbnRUYWcodGFnOiBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXApOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaHRtbDogc3RyaW5nW10gPSBbXTtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBlbGVtZW50cy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgaHRtbC5wdXNoKGVsZW1lbnRzW2luZGV4XS5vdXRlckhUTUwpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodG1sLmpvaW4oJ1xcclxcbicpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1351,8 +1351,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
1351
1351
|
type: Injectable
|
|
1352
1352
|
}], ctorParameters: function () { return [{ type: LoaderService }]; } });
|
|
1353
1353
|
|
|
1354
|
+
class CommonService {
|
|
1355
|
+
constructor(toastrService) {
|
|
1356
|
+
this.toastrService = toastrService;
|
|
1357
|
+
}
|
|
1358
|
+
copyToClipboard(message) {
|
|
1359
|
+
navigator.clipboard.writeText(message);
|
|
1360
|
+
this.toastrService.success('تم نسخ الرسالة إلى الحافظة', '', {
|
|
1361
|
+
positionClass: 'toast-bottom-right',
|
|
1362
|
+
});
|
|
1363
|
+
}
|
|
1364
|
+
print(element, title, classes) {
|
|
1365
|
+
var _a;
|
|
1366
|
+
const styles = this.getElementTag('style');
|
|
1367
|
+
const links = this.getElementTag('link');
|
|
1368
|
+
const scripts = this.getElementTag('script');
|
|
1369
|
+
const printContents = (_a = document.getElementById(element)) === null || _a === void 0 ? void 0 : _a.innerHTML;
|
|
1370
|
+
const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');
|
|
1371
|
+
const data = `
|
|
1372
|
+
<!DOCTYPE html>
|
|
1373
|
+
<head>
|
|
1374
|
+
<title> ${title} </title>
|
|
1375
|
+
<meta charset="utf-8">
|
|
1376
|
+
${links}
|
|
1377
|
+
${styles}
|
|
1378
|
+
<style>
|
|
1379
|
+
@media print {
|
|
1380
|
+
.noPrint{
|
|
1381
|
+
display: none !important;
|
|
1382
|
+
}
|
|
1383
|
+
body {
|
|
1384
|
+
direction: rtl;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
</style>
|
|
1388
|
+
</head>
|
|
1389
|
+
<body class="${classes}">
|
|
1390
|
+
${printContents}
|
|
1391
|
+
${scripts}
|
|
1392
|
+
</body>
|
|
1393
|
+
|
|
1394
|
+
</html>`;
|
|
1395
|
+
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.open();
|
|
1396
|
+
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.write(data);
|
|
1397
|
+
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.close();
|
|
1398
|
+
popupWin === null || popupWin === void 0 ? void 0 : popupWin.focus();
|
|
1399
|
+
popupWin === null || popupWin === void 0 ? void 0 : popupWin.addEventListener('focus', () => {
|
|
1400
|
+
setTimeout(() => {
|
|
1401
|
+
if (popupWin.document.hasFocus()) {
|
|
1402
|
+
popupWin.print();
|
|
1403
|
+
popupWin.close();
|
|
1404
|
+
}
|
|
1405
|
+
}, 1000);
|
|
1406
|
+
});
|
|
1407
|
+
}
|
|
1408
|
+
getElementTag(tag) {
|
|
1409
|
+
const html = [];
|
|
1410
|
+
const elements = document.getElementsByTagName(tag);
|
|
1411
|
+
for (let index = 0; index < elements.length; index++) {
|
|
1412
|
+
html.push(elements[index].outerHTML);
|
|
1413
|
+
}
|
|
1414
|
+
return html.join('\r\n');
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1418
|
+
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, providedIn: 'root' });
|
|
1419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, decorators: [{
|
|
1420
|
+
type: Injectable,
|
|
1421
|
+
args: [{
|
|
1422
|
+
providedIn: 'root',
|
|
1423
|
+
}]
|
|
1424
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }]; } });
|
|
1425
|
+
|
|
1354
1426
|
class ErrorService {
|
|
1355
|
-
constructor() {
|
|
1427
|
+
constructor(toastrService, commonService) {
|
|
1428
|
+
this.toastrService = toastrService;
|
|
1429
|
+
this.commonService = commonService;
|
|
1356
1430
|
this.urls = [];
|
|
1357
1431
|
}
|
|
1358
1432
|
setExceptionUrls(urls) {
|
|
@@ -1361,20 +1435,49 @@ class ErrorService {
|
|
|
1361
1435
|
addExceptionUrl(url) {
|
|
1362
1436
|
this.urls.push(url);
|
|
1363
1437
|
}
|
|
1438
|
+
showErrorMsg(response, toastrConfig) {
|
|
1439
|
+
if (response.errors && response.errors.length > 0) {
|
|
1440
|
+
toastrConfig.enableHtml = true;
|
|
1441
|
+
let msg = '';
|
|
1442
|
+
response.errors.forEach((error) => {
|
|
1443
|
+
msg += `<li>${error}</li>`;
|
|
1444
|
+
});
|
|
1445
|
+
this.toastrService.error(`<ul>${msg}</ul>`, response.message, toastrConfig);
|
|
1446
|
+
}
|
|
1447
|
+
else {
|
|
1448
|
+
this.toastrService.error('', response.message, toastrConfig);
|
|
1449
|
+
}
|
|
1450
|
+
}
|
|
1451
|
+
show500ErrorMsg(response, toastrConfig) {
|
|
1452
|
+
var _a;
|
|
1453
|
+
const msg = response.innerException + ' ' + ((_a = response.stackTrace) !== null && _a !== void 0 ? _a : '');
|
|
1454
|
+
const toastr = this.toastrService.error(msg, response.message, toastrConfig);
|
|
1455
|
+
toastr.onShown.subscribe(() => {
|
|
1456
|
+
this.addCopyButton(response.message + '\n' + msg);
|
|
1457
|
+
});
|
|
1458
|
+
}
|
|
1459
|
+
addCopyButton(message) {
|
|
1460
|
+
const messageToast = document.getElementsByClassName('toast-message')[0];
|
|
1461
|
+
const icon = document.createElement('i');
|
|
1462
|
+
icon.classList.add('ms-2', 'fas', 'fa-copy');
|
|
1463
|
+
icon.addEventListener('click', () => {
|
|
1464
|
+
this.commonService.copyToClipboard(message);
|
|
1465
|
+
});
|
|
1466
|
+
messageToast.appendChild(icon);
|
|
1467
|
+
}
|
|
1364
1468
|
}
|
|
1365
|
-
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1469
|
+
ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1366
1470
|
ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, providedIn: 'root' });
|
|
1367
1471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorService, decorators: [{
|
|
1368
1472
|
type: Injectable,
|
|
1369
1473
|
args: [{
|
|
1370
|
-
providedIn: 'root'
|
|
1474
|
+
providedIn: 'root',
|
|
1371
1475
|
}]
|
|
1372
|
-
}], ctorParameters: function () { return []; } });
|
|
1476
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: CommonService }]; } });
|
|
1373
1477
|
|
|
1374
1478
|
class ErrorInterceptor {
|
|
1375
|
-
constructor(errorService
|
|
1479
|
+
constructor(errorService) {
|
|
1376
1480
|
this.errorService = errorService;
|
|
1377
|
-
this.toastrService = toastrService;
|
|
1378
1481
|
}
|
|
1379
1482
|
intercept(req, next) {
|
|
1380
1483
|
if (this.isException(req)) {
|
|
@@ -1389,10 +1492,10 @@ class ErrorInterceptor {
|
|
|
1389
1492
|
};
|
|
1390
1493
|
switch (response.statusCode) {
|
|
1391
1494
|
case 500:
|
|
1392
|
-
this.show500ErrorMsg(response, toastrConfig);
|
|
1495
|
+
this.errorService.show500ErrorMsg(response, toastrConfig);
|
|
1393
1496
|
break;
|
|
1394
1497
|
default:
|
|
1395
|
-
this.showErrorMsg(response, toastrConfig);
|
|
1498
|
+
this.errorService.showErrorMsg(response, toastrConfig);
|
|
1396
1499
|
break;
|
|
1397
1500
|
}
|
|
1398
1501
|
return throwError(() => error);
|
|
@@ -1406,48 +1509,12 @@ class ErrorInterceptor {
|
|
|
1406
1509
|
}
|
|
1407
1510
|
return false;
|
|
1408
1511
|
}
|
|
1409
|
-
showErrorMsg(response, toastrConfig) {
|
|
1410
|
-
if (response.errors && response.errors.length > 0) {
|
|
1411
|
-
toastrConfig.enableHtml = true;
|
|
1412
|
-
let msg = '';
|
|
1413
|
-
response.errors.forEach((error) => {
|
|
1414
|
-
msg += `<li>${error}</li>`;
|
|
1415
|
-
});
|
|
1416
|
-
this.toastrService.error(`<ul>${msg}</ul>`, response.message, toastrConfig);
|
|
1417
|
-
}
|
|
1418
|
-
else {
|
|
1419
|
-
this.toastrService.error('', response.message, toastrConfig);
|
|
1420
|
-
}
|
|
1421
|
-
}
|
|
1422
|
-
show500ErrorMsg(response, toastrConfig) {
|
|
1423
|
-
var _a;
|
|
1424
|
-
const msg = response.innerException + ' ' + ((_a = response.stackTrace) !== null && _a !== void 0 ? _a : '');
|
|
1425
|
-
const toastr = this.toastrService.error(msg, response.message, toastrConfig);
|
|
1426
|
-
toastr.onShown.subscribe(() => {
|
|
1427
|
-
this.addCopyButton(response.message + '\n' + msg);
|
|
1428
|
-
});
|
|
1429
|
-
}
|
|
1430
|
-
addCopyButton(message) {
|
|
1431
|
-
const messageToast = document.getElementsByClassName('toast-message')[0];
|
|
1432
|
-
const icon = document.createElement('i');
|
|
1433
|
-
icon.classList.add('ms-2', 'fas', 'fa-copy');
|
|
1434
|
-
icon.addEventListener('click', () => {
|
|
1435
|
-
this.copyToClipboard(message);
|
|
1436
|
-
});
|
|
1437
|
-
messageToast.appendChild(icon);
|
|
1438
|
-
}
|
|
1439
|
-
copyToClipboard(message) {
|
|
1440
|
-
navigator.clipboard.writeText(message);
|
|
1441
|
-
this.toastrService.success('تم نسخ الرسالة إلى الحافظة', '', {
|
|
1442
|
-
positionClass: 'toast-bottom-right',
|
|
1443
|
-
});
|
|
1444
|
-
}
|
|
1445
1512
|
}
|
|
1446
|
-
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }
|
|
1513
|
+
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1447
1514
|
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor });
|
|
1448
1515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
1449
1516
|
type: Injectable
|
|
1450
|
-
}], ctorParameters: function () { return [{ type: ErrorService }
|
|
1517
|
+
}], ctorParameters: function () { return [{ type: ErrorService }]; } });
|
|
1451
1518
|
|
|
1452
1519
|
class AuthService {
|
|
1453
1520
|
constructor() {
|
|
@@ -1778,70 +1845,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
1778
1845
|
}]
|
|
1779
1846
|
}], ctorParameters: function () { return []; } });
|
|
1780
1847
|
|
|
1781
|
-
class CommonService {
|
|
1782
|
-
constructor() { }
|
|
1783
|
-
print(element, title, classes) {
|
|
1784
|
-
var _a;
|
|
1785
|
-
const styles = this.getElementTag('style');
|
|
1786
|
-
const linkes = this.getElementTag('link');
|
|
1787
|
-
const scripts = this.getElementTag('script');
|
|
1788
|
-
const printContents = (_a = document.getElementById(element)) === null || _a === void 0 ? void 0 : _a.innerHTML;
|
|
1789
|
-
const popupWin = window.open('', '', 'top=0,left=0,height=100%,width=auto');
|
|
1790
|
-
const data = `
|
|
1791
|
-
<!DOCTYPE html>
|
|
1792
|
-
<head>
|
|
1793
|
-
<title> ${title} </title>
|
|
1794
|
-
<meta charset="utf-8">
|
|
1795
|
-
${linkes}
|
|
1796
|
-
${styles}
|
|
1797
|
-
<style>
|
|
1798
|
-
@media print {
|
|
1799
|
-
.noPrint{
|
|
1800
|
-
display: none !important;
|
|
1801
|
-
}
|
|
1802
|
-
body {
|
|
1803
|
-
direction: rtl;
|
|
1804
|
-
}
|
|
1805
|
-
}
|
|
1806
|
-
</style>
|
|
1807
|
-
</head>
|
|
1808
|
-
<body class="${classes}">
|
|
1809
|
-
${printContents}
|
|
1810
|
-
${scripts}
|
|
1811
|
-
</body>
|
|
1812
|
-
|
|
1813
|
-
</html>`;
|
|
1814
|
-
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.open();
|
|
1815
|
-
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.write(data);
|
|
1816
|
-
popupWin === null || popupWin === void 0 ? void 0 : popupWin.document.close();
|
|
1817
|
-
popupWin === null || popupWin === void 0 ? void 0 : popupWin.focus();
|
|
1818
|
-
popupWin === null || popupWin === void 0 ? void 0 : popupWin.addEventListener('focus', () => {
|
|
1819
|
-
setTimeout(() => {
|
|
1820
|
-
if (popupWin.document.hasFocus()) {
|
|
1821
|
-
popupWin.print();
|
|
1822
|
-
popupWin.close();
|
|
1823
|
-
}
|
|
1824
|
-
}, 1000);
|
|
1825
|
-
});
|
|
1826
|
-
}
|
|
1827
|
-
getElementTag(tag) {
|
|
1828
|
-
const html = [];
|
|
1829
|
-
const elements = document.getElementsByTagName(tag);
|
|
1830
|
-
for (let index = 0; index < elements.length; index++) {
|
|
1831
|
-
html.push(elements[index].outerHTML);
|
|
1832
|
-
}
|
|
1833
|
-
return html.join('\r\n');
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1836
|
-
CommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1837
|
-
CommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, providedIn: 'root' });
|
|
1838
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CommonService, decorators: [{
|
|
1839
|
-
type: Injectable,
|
|
1840
|
-
args: [{
|
|
1841
|
-
providedIn: 'root',
|
|
1842
|
-
}]
|
|
1843
|
-
}], ctorParameters: function () { return []; } });
|
|
1844
|
-
|
|
1845
1848
|
/*
|
|
1846
1849
|
* Public API Surface of ipa-library
|
|
1847
1850
|
*/
|