@js-smart/ng-kit 18.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 +297 -0
- package/esm2022/js-smart-ng-kit.mjs +5 -0
- package/esm2022/lib/components/alert/alert.component.mjs +95 -0
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +172 -0
- package/esm2022/lib/components/buttons/base-button/base-button.component.mjs +72 -0
- package/esm2022/lib/components/buttons/bs-link-button/bs-link-button.component.mjs +52 -0
- package/esm2022/lib/components/buttons/delete-button/delete-button.component.mjs +62 -0
- package/esm2022/lib/components/buttons/edit-bs-button/edit-bs-button.component.mjs +55 -0
- package/esm2022/lib/components/buttons/edit-button/edit-button.component.mjs +49 -0
- package/esm2022/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.component.mjs +51 -0
- package/esm2022/lib/components/buttons/excel-export-button/excel-export-button.component.mjs +14 -0
- package/esm2022/lib/components/buttons/manage-button/manage-button.component.mjs +49 -0
- package/esm2022/lib/components/buttons/pdf-export-button/pdf-export-button.component.mjs +13 -0
- package/esm2022/lib/components/buttons/primary-button/primary-button.component.mjs +61 -0
- package/esm2022/lib/components/buttons/save-primary-button/save-primary-button.component.mjs +60 -0
- package/esm2022/lib/components/buttons/search-button/search-button.component.mjs +52 -0
- package/esm2022/lib/components/buttons/success-button/success-button.component.mjs +65 -0
- package/esm2022/lib/components/buttons/view-button/view-button.component.mjs +41 -0
- package/esm2022/lib/components/buttons/view-primary-button/view-primary-button.component.mjs +49 -0
- package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +63 -0
- package/esm2022/lib/components/ngx-spinner/ngx-spinner.component.mjs +195 -0
- package/esm2022/lib/components/ngx-spinner/ngx-spinner.enum.mjs +16 -0
- package/esm2022/lib/components/ngx-spinner/ngx-spinner.service.mjs +71 -0
- package/esm2022/lib/components/ngx-spinner/safe-html.pipe.mjs +24 -0
- package/esm2022/lib/components/snack-bar/error-snack-bar/error-snack-bar.component.mjs +50 -0
- package/esm2022/lib/components/snack-bar/success-snack-bar/success-snack-bar.component.mjs +50 -0
- package/esm2022/lib/components/spinner/spinner.component.mjs +31 -0
- package/esm2022/lib/directives/ngx-print.directive.mjs +255 -0
- package/esm2022/lib/directives/prevent-multiple-clicks.directive.mjs +44 -0
- package/esm2022/lib/pipes/type-of.pipe.mjs +17 -0
- package/esm2022/lib/services/mat-snack-bar.service.mjs +82 -0
- package/esm2022/lib/svg-icons/edit-solid-svg/edit-solid-svg.component.mjs +22 -0
- package/esm2022/lib/types/progress-state.mjs +2 -0
- package/esm2022/lib/util/progress-util.mjs +80 -0
- package/esm2022/public-api.mjs +33 -0
- package/fesm2022/js-smart-ng-kit.mjs +1872 -0
- package/fesm2022/js-smart-ng-kit.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/alert/alert.component.d.ts +73 -0
- package/lib/components/autocomplete/autocomplete.component.d.ts +115 -0
- package/lib/components/buttons/base-button/base-button.component.d.ts +63 -0
- package/lib/components/buttons/bs-link-button/bs-link-button.component.d.ts +10 -0
- package/lib/components/buttons/delete-button/delete-button.component.d.ts +11 -0
- package/lib/components/buttons/edit-bs-button/edit-bs-button.component.d.ts +9 -0
- package/lib/components/buttons/edit-button/edit-button.component.d.ts +10 -0
- package/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.component.d.ts +10 -0
- package/lib/components/buttons/excel-export-button/excel-export-button.component.d.ts +5 -0
- package/lib/components/buttons/manage-button/manage-button.component.d.ts +10 -0
- package/lib/components/buttons/pdf-export-button/pdf-export-button.component.d.ts +5 -0
- package/lib/components/buttons/primary-button/primary-button.component.d.ts +12 -0
- package/lib/components/buttons/save-primary-button/save-primary-button.component.d.ts +11 -0
- package/lib/components/buttons/search-button/search-button.component.d.ts +11 -0
- package/lib/components/buttons/success-button/success-button.component.d.ts +11 -0
- package/lib/components/buttons/view-button/view-button.component.d.ts +9 -0
- package/lib/components/buttons/view-primary-button/view-primary-button.component.d.ts +10 -0
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +20 -0
- package/lib/components/ngx-spinner/ngx-spinner.component.d.ts +109 -0
- package/lib/components/ngx-spinner/ngx-spinner.enum.d.ts +37 -0
- package/lib/components/ngx-spinner/ngx-spinner.service.d.ts +34 -0
- package/lib/components/ngx-spinner/safe-html.pipe.d.ts +10 -0
- package/lib/components/snack-bar/error-snack-bar/error-snack-bar.component.d.ts +22 -0
- package/lib/components/snack-bar/success-snack-bar/success-snack-bar.component.d.ts +22 -0
- package/lib/components/spinner/spinner.component.d.ts +22 -0
- package/lib/directives/ngx-print.directive.d.ts +157 -0
- package/lib/directives/prevent-multiple-clicks.directive.d.ts +21 -0
- package/lib/pipes/type-of.pipe.d.ts +7 -0
- package/lib/services/mat-snack-bar.service.d.ts +61 -0
- package/lib/svg-icons/edit-solid-svg/edit-solid-svg.component.d.ts +8 -0
- package/lib/types/progress-state.d.ts +7 -0
- package/lib/util/progress-util.d.ts +45 -0
- package/package.json +47 -0
- package/public-api.d.ts +25 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const LOADERS = {
|
|
2
|
+
'ball-clip-rotate': 1,
|
|
3
|
+
};
|
|
4
|
+
export const DEFAULTS = {
|
|
5
|
+
BD_COLOR: 'rgba(51,51,51,0.8)',
|
|
6
|
+
SPINNER_COLOR: '#fff',
|
|
7
|
+
SPINNER_TYPE: 'ball-clip-rotate',
|
|
8
|
+
Z_INDEX: 99999,
|
|
9
|
+
};
|
|
10
|
+
export const PRIMARY_SPINNER = 'primary';
|
|
11
|
+
export class NgxSpinner {
|
|
12
|
+
constructor(init) {
|
|
13
|
+
Object.assign(this, init);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNwaW5uZXIuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmd4LXNwaW5uZXIvbmd4LXNwaW5uZXIuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDdEIsa0JBQWtCLEVBQUUsQ0FBQztDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3ZCLFFBQVEsRUFBRSxvQkFBb0I7SUFDOUIsYUFBYSxFQUFFLE1BQU07SUFDckIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxPQUFPLEVBQUUsS0FBSztDQUNkLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBZXpDLE1BQU0sT0FBTyxVQUFVO0lBZXRCLFlBQVksSUFBMEI7UUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IExPQURFUlMgPSB7XG5cdCdiYWxsLWNsaXAtcm90YXRlJzogMSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUUyA9IHtcblx0QkRfQ09MT1I6ICdyZ2JhKDUxLDUxLDUxLDAuOCknLFxuXHRTUElOTkVSX0NPTE9SOiAnI2ZmZicsXG5cdFNQSU5ORVJfVFlQRTogJ2JhbGwtY2xpcC1yb3RhdGUnLFxuXHRaX0lOREVYOiA5OTk5OSxcbn07XG5cbmV4cG9ydCBjb25zdCBQUklNQVJZX1NQSU5ORVIgPSAncHJpbWFyeSc7XG5cbmV4cG9ydCB0eXBlIFNpemUgPSAnZGVmYXVsdCcgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNwaW5uZXIge1xuXHRiZENvbG9yPzogc3RyaW5nO1xuXHRzaXplPzogU2l6ZTtcblx0Y29sb3I/OiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGZ1bGxTY3JlZW4/OiBib29sZWFuO1xuXHR6SW5kZXg/OiBudW1iZXI7XG5cdHRlbXBsYXRlPzogc3RyaW5nO1xuXHRzaG93U3Bpbm5lcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBOZ3hTcGlubmVyIHtcblx0bmFtZT86IHN0cmluZztcblx0YmRDb2xvcj86IHN0cmluZztcblx0c2l6ZT86IFNpemU7XG5cdGNvbG9yPzogc3RyaW5nO1xuXHR0eXBlPzogc3RyaW5nO1xuXHRjbGFzcz86IHN0cmluZztcblx0ZGl2Q291bnQ/OiBudW1iZXI7XG5cdGRpdkFycmF5PzogQXJyYXk8bnVtYmVyPjtcblx0ZnVsbFNjcmVlbj86IGJvb2xlYW47XG5cdHNob3c/OiBib29sZWFuO1xuXHR6SW5kZXg/OiBudW1iZXI7XG5cdHRlbXBsYXRlPzogc3RyaW5nO1xuXHRzaG93U3Bpbm5lcj86IGJvb2xlYW47XG5cblx0Y29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8Tmd4U3Bpbm5lcj4pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
4
|
+
import { NgxSpinner, PRIMARY_SPINNER } from './ngx-spinner.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgxSpinnerService {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Spinner observable
|
|
10
|
+
*
|
|
11
|
+
* @memberof NgxSpinnerService
|
|
12
|
+
*/
|
|
13
|
+
// private spinnerObservable = new ReplaySubject<NgxSpinner>(1);
|
|
14
|
+
this.spinnerObservable = new BehaviorSubject(undefined);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates an instance of NgxSpinnerService.
|
|
18
|
+
* @memberof NgxSpinnerService
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Get subscription of desired spinner
|
|
22
|
+
* @memberof NgxSpinnerService
|
|
23
|
+
**/
|
|
24
|
+
getSpinner(name) {
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
return this.spinnerObservable.asObservable().pipe(filter((x) => x?.name === name));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* To show spinner
|
|
30
|
+
*
|
|
31
|
+
* @memberof NgxSpinnerService
|
|
32
|
+
*/
|
|
33
|
+
show(name = PRIMARY_SPINNER, spinner) {
|
|
34
|
+
return new Promise((resolve, _reject) => {
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
if (spinner && Object.keys(spinner).length) {
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
spinner['name'] = name;
|
|
39
|
+
this.spinnerObservable.next(new NgxSpinner({ ...spinner, show: true }));
|
|
40
|
+
resolve(true);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.spinnerObservable.next(new NgxSpinner({ name, show: true }));
|
|
44
|
+
resolve(true);
|
|
45
|
+
}
|
|
46
|
+
}, 10);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* To hide spinner
|
|
51
|
+
*
|
|
52
|
+
* @memberof NgxSpinnerService
|
|
53
|
+
*/
|
|
54
|
+
hide(name = PRIMARY_SPINNER, debounce = 10) {
|
|
55
|
+
return new Promise((resolve, _reject) => {
|
|
56
|
+
setTimeout(() => {
|
|
57
|
+
this.spinnerObservable.next(new NgxSpinner({ name, show: false }));
|
|
58
|
+
resolve(true);
|
|
59
|
+
}, debounce);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxSpinnerService, providedIn: 'root' }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxSpinnerService, decorators: [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{
|
|
68
|
+
providedIn: 'root',
|
|
69
|
+
}]
|
|
70
|
+
}] });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNwaW5uZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmd4LXNwaW5uZXIvbmd4LXNwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFXLE1BQU0sb0JBQW9CLENBQUM7O0FBSzFFLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJQzs7OztXQUlHO1FBQ0gsZ0VBQWdFO1FBQ3pELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztLQWtEbEY7SUFoREE7OztPQUdHO0lBRUg7OztRQUdJO0lBQ0osVUFBVSxDQUFDLElBQVk7UUFDdEIsYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxPQUFlLGVBQWUsRUFBRSxPQUFpQjtRQUNyRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3ZDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUMsYUFBYTtvQkFDYixPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDeEUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNmLENBQUM7cUJBQU0sQ0FBQztvQkFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2xFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDZixDQUFDO1lBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxPQUFlLGVBQWUsRUFBRSxXQUFtQixFQUFFO1FBQ3pELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNmLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0F4RFcsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7MkZBRU4saUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTmd4U3Bpbm5lciwgUFJJTUFSWV9TUElOTkVSLCBTcGlubmVyIH0gZnJvbSAnLi9uZ3gtc3Bpbm5lci5lbnVtJztcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5neFNwaW5uZXJTZXJ2aWNlIHtcblx0LyoqXG5cdCAqIFNwaW5uZXIgb2JzZXJ2YWJsZVxuXHQgKlxuXHQgKiBAbWVtYmVyb2YgTmd4U3Bpbm5lclNlcnZpY2Vcblx0ICovXG5cdC8vIHByaXZhdGUgc3Bpbm5lck9ic2VydmFibGUgPSBuZXcgUmVwbGF5U3ViamVjdDxOZ3hTcGlubmVyPigxKTtcblx0cHVibGljIHNwaW5uZXJPYnNlcnZhYmxlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3hTcGlubmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIE5neFNwaW5uZXJTZXJ2aWNlLlxuXHQgKiBAbWVtYmVyb2YgTmd4U3Bpbm5lclNlcnZpY2Vcblx0ICovXG5cblx0LyoqXG5cdCAqIEdldCBzdWJzY3JpcHRpb24gb2YgZGVzaXJlZCBzcGlubmVyXG5cdCAqIEBtZW1iZXJvZiBOZ3hTcGlubmVyU2VydmljZVxuXHQgKiovXG5cdGdldFNwaW5uZXIobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxOZ3hTcGlubmVyPiB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHJldHVybiB0aGlzLnNwaW5uZXJPYnNlcnZhYmxlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKCh4KSA9PiB4Py5uYW1lID09PSBuYW1lKSk7XG5cdH1cblxuXHQvKipcblx0ICogVG8gc2hvdyBzcGlubmVyXG5cdCAqXG5cdCAqIEBtZW1iZXJvZiBOZ3hTcGlubmVyU2VydmljZVxuXHQgKi9cblx0c2hvdyhuYW1lOiBzdHJpbmcgPSBQUklNQVJZX1NQSU5ORVIsIHNwaW5uZXI/OiBTcGlubmVyKSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCBfcmVqZWN0KSA9PiB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0aWYgKHNwaW5uZXIgJiYgT2JqZWN0LmtleXMoc3Bpbm5lcikubGVuZ3RoKSB7XG5cdFx0XHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0XHRcdHNwaW5uZXJbJ25hbWUnXSA9IG5hbWU7XG5cdFx0XHRcdFx0dGhpcy5zcGlubmVyT2JzZXJ2YWJsZS5uZXh0KG5ldyBOZ3hTcGlubmVyKHsgLi4uc3Bpbm5lciwgc2hvdzogdHJ1ZSB9KSk7XG5cdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnNwaW5uZXJPYnNlcnZhYmxlLm5leHQobmV3IE5neFNwaW5uZXIoeyBuYW1lLCBzaG93OiB0cnVlIH0pKTtcblx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LCAxMCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVG8gaGlkZSBzcGlubmVyXG5cdCAqXG5cdCAqIEBtZW1iZXJvZiBOZ3hTcGlubmVyU2VydmljZVxuXHQgKi9cblx0aGlkZShuYW1lOiBzdHJpbmcgPSBQUklNQVJZX1NQSU5ORVIsIGRlYm91bmNlOiBudW1iZXIgPSAxMCkge1xuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgX3JlamVjdCkgPT4ge1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuc3Bpbm5lck9ic2VydmFibGUubmV4dChuZXcgTmd4U3Bpbm5lcih7IG5hbWUsIHNob3c6IGZhbHNlIH0pKTtcblx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdH0sIGRlYm91bmNlKTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class SafeHtmlPipe {
|
|
5
|
+
constructor(_sanitizer) {
|
|
6
|
+
this._sanitizer = _sanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(v) {
|
|
9
|
+
if (v) {
|
|
10
|
+
return this._sanitizer.bypassSecurityTrustHtml(v);
|
|
11
|
+
}
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'safeHtml',
|
|
21
|
+
standalone: true,
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1raXQvc3JjL2xpYi9jb21wb25lbnRzL25neC1zcGlubmVyL3NhZmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFlBQVk7SUFDeEIsWUFBb0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUFHLENBQUM7SUFFaEQsU0FBUyxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQzs4R0FSVyxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuXHRuYW1lOiAnc2FmZUh0bWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTYWZlSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cblx0dHJhbnNmb3JtKHY6IHN0cmluZyk6IFNhZmVIdG1sIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodikge1xuXHRcdFx0cmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2KTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
8
|
+
import * as i2 from "@angular/material/icon";
|
|
9
|
+
import * as i3 from "@angular/material/button";
|
|
10
|
+
export class ErrorSnackBarComponent {
|
|
11
|
+
constructor(msb, data) {
|
|
12
|
+
this.msb = msb;
|
|
13
|
+
this.data = data;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Close the Snack Bar
|
|
17
|
+
*
|
|
18
|
+
* @author Pavan Kumar Jadda
|
|
19
|
+
* @since 2.7.18
|
|
20
|
+
*/
|
|
21
|
+
close() {
|
|
22
|
+
this.msb.dismissWithAction();
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ErrorSnackBarComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: ErrorSnackBarComponent, isStandalone: true, selector: "app-error-snack-bar", ngImport: i0, template: `
|
|
26
|
+
<div class="custom-flex-center error-snackbar">
|
|
27
|
+
<mat-icon>error</mat-icon>
|
|
28
|
+
<label>{{ data.message }}</label>
|
|
29
|
+
<button style="margin-left: auto" (click)="close()" mat-icon-button>
|
|
30
|
+
<mat-icon>close</mat-icon>
|
|
31
|
+
</button>
|
|
32
|
+
</div>
|
|
33
|
+
`, isInline: true, styles: [":root{--primary-color: #153d77;--secondary-color: #6c757d;--white-color: #fff;--success-color: #198754;--delete-color: #dc3545;--background-color: #f2f2f2}.success-snackbar{color:#fff;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.error-snackbar{color:#fff;--mdc-snackbar-container-color: var(--delete-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.light-success-snackbar{color:#155724;background-color:#d4edda;--mdc-snackbar-container-color: #d4edda;--mat-mdc-snack-bar-button-color: darkgreen}.light-error-snackbar{color:#721c24;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: darkred;border-color:#f5c6cb}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ErrorSnackBarComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'app-error-snack-bar', standalone: true, imports: [CommonModule, MatIconModule, MatButtonModule], template: `
|
|
38
|
+
<div class="custom-flex-center error-snackbar">
|
|
39
|
+
<mat-icon>error</mat-icon>
|
|
40
|
+
<label>{{ data.message }}</label>
|
|
41
|
+
<button style="margin-left: auto" (click)="close()" mat-icon-button>
|
|
42
|
+
<mat-icon>close</mat-icon>
|
|
43
|
+
</button>
|
|
44
|
+
</div>
|
|
45
|
+
`, styles: [":root{--primary-color: #153d77;--secondary-color: #6c757d;--white-color: #fff;--success-color: #198754;--delete-color: #dc3545;--background-color: #f2f2f2}.success-snackbar{color:#fff;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.error-snackbar{color:#fff;--mdc-snackbar-container-color: var(--delete-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.light-success-snackbar{color:#155724;background-color:#d4edda;--mdc-snackbar-container-color: #d4edda;--mat-mdc-snack-bar-button-color: darkgreen}.light-error-snackbar{color:#721c24;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: darkred;border-color:#f5c6cb}\n"] }]
|
|
46
|
+
}], ctorParameters: () => [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
49
|
+
}] }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc25hY2stYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvc25hY2stYmFyL2Vycm9yLXNuYWNrLWJhci9lcnJvci1zbmFjay1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFpQjNELE1BQU0sT0FBTyxzQkFBc0I7SUFDbEMsWUFDUSxHQUEyQyxFQUNmLElBQTBDO1FBRHRFLFFBQUcsR0FBSCxHQUFHLENBQXdDO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBc0M7SUFDM0UsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsS0FBSztRQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQWRXLHNCQUFzQixnREFHekIsa0JBQWtCO2tHQUhmLHNCQUFzQiwrRUFYeEI7Ozs7Ozs7O0VBUVQsNHhCQVRTLFlBQVksOEJBQUUsYUFBYSxtTEFBRSxlQUFlOzsyRkFZMUMsc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNDLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxZQUM3Qzs7Ozs7Ozs7RUFRVDs7MEJBTUMsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREFUQSwgTWF0U25hY2tCYXJSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYXBwLWVycm9yLXNuYWNrLWJhcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGRpdiBjbGFzcz1cImN1c3RvbS1mbGV4LWNlbnRlciBlcnJvci1zbmFja2JhclwiPlxuXHRcdFx0PG1hdC1pY29uPmVycm9yPC9tYXQtaWNvbj5cblx0XHRcdDxsYWJlbD57eyBkYXRhLm1lc3NhZ2UgfX08L2xhYmVsPlxuXHRcdFx0PGJ1dHRvbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiBhdXRvXCIgKGNsaWNrKT1cImNsb3NlKClcIiBtYXQtaWNvbi1idXR0b24+XG5cdFx0XHRcdDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0YCxcblx0c3R5bGVVcmxzOiBbJy4uLy4uLy4uLy4uL2Fzc2V0cy9hcHAtbWF0LXNuYWNrLWJhci5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JTbmFja0JhckNvbXBvbmVudCB7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBtc2I6IE1hdFNuYWNrQmFyUmVmPEVycm9yU25hY2tCYXJDb21wb25lbnQ+LFxuXHRcdEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKSBwdWJsaWMgZGF0YTogeyBtZXNzYWdlOiBzdHJpbmc7IGFjdGlvbj86IHN0cmluZyB9LFxuXHQpIHt9XG5cblx0LyoqXG5cdCAqIENsb3NlIHRoZSBTbmFjayBCYXJcblx0ICpcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKiBAc2luY2UgMi43LjE4XG5cdCAqL1xuXHRjbG9zZSgpIHtcblx0XHR0aGlzLm1zYi5kaXNtaXNzV2l0aEFjdGlvbigpO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
8
|
+
import * as i2 from "@angular/material/button";
|
|
9
|
+
import * as i3 from "@angular/material/icon";
|
|
10
|
+
export class SuccessSnackBarComponent {
|
|
11
|
+
constructor(msb, data) {
|
|
12
|
+
this.msb = msb;
|
|
13
|
+
this.data = data;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Close the Snack Bar
|
|
17
|
+
*
|
|
18
|
+
* @author Pavan Kumar Jadda
|
|
19
|
+
* @since 2.7.18
|
|
20
|
+
*/
|
|
21
|
+
close() {
|
|
22
|
+
this.msb.dismissWithAction();
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SuccessSnackBarComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: SuccessSnackBarComponent, isStandalone: true, selector: "app-success-snack-bar", ngImport: i0, template: `
|
|
26
|
+
<div class="custom-flex-center success-snackbar">
|
|
27
|
+
<mat-icon>check_circle</mat-icon>
|
|
28
|
+
<label>{{ data.message }}</label>
|
|
29
|
+
<button style="margin-left: auto" (click)="close()" mat-icon-button>
|
|
30
|
+
<mat-icon>close</mat-icon>
|
|
31
|
+
</button>
|
|
32
|
+
</div>
|
|
33
|
+
`, isInline: true, styles: [":root{--primary-color: #153d77;--secondary-color: #6c757d;--white-color: #fff;--success-color: #198754;--delete-color: #dc3545;--background-color: #f2f2f2}.success-snackbar{color:#fff;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.error-snackbar{color:#fff;--mdc-snackbar-container-color: var(--delete-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.light-success-snackbar{color:#155724;background-color:#d4edda;--mdc-snackbar-container-color: #d4edda;--mat-mdc-snack-bar-button-color: darkgreen}.light-error-snackbar{color:#721c24;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: darkred;border-color:#f5c6cb}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'app-success-snack-bar', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule], template: `
|
|
38
|
+
<div class="custom-flex-center success-snackbar">
|
|
39
|
+
<mat-icon>check_circle</mat-icon>
|
|
40
|
+
<label>{{ data.message }}</label>
|
|
41
|
+
<button style="margin-left: auto" (click)="close()" mat-icon-button>
|
|
42
|
+
<mat-icon>close</mat-icon>
|
|
43
|
+
</button>
|
|
44
|
+
</div>
|
|
45
|
+
`, styles: [":root{--primary-color: #153d77;--secondary-color: #6c757d;--white-color: #fff;--success-color: #198754;--delete-color: #dc3545;--background-color: #f2f2f2}.success-snackbar{color:#fff;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.error-snackbar{color:#fff;--mdc-snackbar-container-color: var(--delete-color);--mat-mdc-snack-bar-button-color: var(--white-color)}.light-success-snackbar{color:#155724;background-color:#d4edda;--mdc-snackbar-container-color: #d4edda;--mat-mdc-snack-bar-button-color: darkgreen}.light-error-snackbar{color:#721c24;--mdc-snackbar-container-color: var(--success-color);--mat-mdc-snack-bar-button-color: darkred;border-color:#f5c6cb}\n"] }]
|
|
46
|
+
}], ctorParameters: () => [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
49
|
+
}] }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcta2l0L3NyYy9saWIvY29tcG9uZW50cy9zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFpQnZELE1BQU0sT0FBTyx3QkFBd0I7SUFDcEMsWUFDUSxHQUE2QyxFQUNqQixJQUEwQztRQUR0RSxRQUFHLEdBQUgsR0FBRyxDQUEwQztRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFzQztJQUMzRSxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxLQUFLO1FBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBZFcsd0JBQXdCLGdEQUczQixrQkFBa0I7a0dBSGYsd0JBQXdCLGlGQVgxQjs7Ozs7Ozs7RUFRVCw0eEJBVFMsWUFBWSw4QkFBRSxlQUFlLDJJQUFFLGFBQWE7OzJGQVkxQyx3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0MsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQzdDOzs7Ozs7OztFQVFUOzswQkFNQyxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtc3VjY2Vzcy1zbmFjay1iYXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXYgY2xhc3M9XCJjdXN0b20tZmxleC1jZW50ZXIgc3VjY2Vzcy1zbmFja2JhclwiPlxuXHRcdFx0PG1hdC1pY29uPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XG5cdFx0XHQ8bGFiZWw+e3sgZGF0YS5tZXNzYWdlIH19PC9sYWJlbD5cblx0XHRcdDxidXR0b24gc3R5bGU9XCJtYXJnaW4tbGVmdDogYXV0b1wiIChjbGljayk9XCJjbG9zZSgpXCIgbWF0LWljb24tYnV0dG9uPlxuXHRcdFx0XHQ8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuXHRcdFx0PC9idXR0b24+XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHN0eWxlVXJsczogWycuLi8uLi8uLi8uLi9hc3NldHMvYXBwLW1hdC1zbmFjay1iYXIuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCB7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBtc2I6IE1hdFNuYWNrQmFyUmVmPFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudD4sXG5cdFx0QEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpIHB1YmxpYyBkYXRhOiB7IG1lc3NhZ2U6IHN0cmluZzsgYWN0aW9uPzogc3RyaW5nIH0sXG5cdCkge31cblxuXHQvKipcblx0ICogQ2xvc2UgdGhlIFNuYWNrIEJhclxuXHQgKlxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqIEBzaW5jZSAyLjcuMThcblx0ICovXG5cdGNsb3NlKCkge1xuXHRcdHRoaXMubXNiLmRpc21pc3NXaXRoQWN0aW9uKCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, input } from '@angular/core';
|
|
2
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
5
|
+
export class SpinnerComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
/**
|
|
8
|
+
* Use Boostrap Spinner. Default `true`
|
|
9
|
+
*/
|
|
10
|
+
this.bootstrapSpinner = input(true);
|
|
11
|
+
/**
|
|
12
|
+
* Diameter of the Angular Material spinner
|
|
13
|
+
*/
|
|
14
|
+
this.diameter = input(50);
|
|
15
|
+
/**
|
|
16
|
+
* Color of the Angular Material spinner
|
|
17
|
+
*/
|
|
18
|
+
this.color = input('primary');
|
|
19
|
+
/**
|
|
20
|
+
* Stroke Width of the Angular Material spinner
|
|
21
|
+
*/
|
|
22
|
+
this.strokeWidth = input(5);
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: SpinnerComponent, isStandalone: true, selector: "spinner,lib-spinner", inputs: { bootstrapSpinner: { classPropertyName: "bootstrapSpinner", publicName: "bootstrapSpinner", isSignal: true, isRequired: false, transformFunction: null }, diameter: { classPropertyName: "diameter", publicName: "diameter", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- Angular Material Spinner -->\n@if (!bootstrapSpinner()) {\n\t<mat-spinner [color]=\"color()\" [diameter]=\"diameter()\" [strokeWidth]=\"strokeWidth()\" class=\"mx-auto\"> </mat-spinner>\n}\n\n<!-- Bootstrap Spinner -->\n@if (bootstrapSpinner()) {\n\t<div class=\"d-flex justify-content-center\">\n\t\t<div class=\"spinner-border bs-spinner\" role=\"status\"></div>\n\t</div>\n}\n", styles: [".bs-spinner-sm{color:#3f51b5;margin-bottom:20px}.bs-spinner{color:#3f51b5;width:3rem;height:3rem;margin-bottom:20px}.bs-spinner-lg{color:#3f51b5;width:5rem;height:5rem;margin-bottom:20px}\n"], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'spinner,lib-spinner', standalone: true, imports: [MatProgressSpinnerModule], template: "<!-- Angular Material Spinner -->\n@if (!bootstrapSpinner()) {\n\t<mat-spinner [color]=\"color()\" [diameter]=\"diameter()\" [strokeWidth]=\"strokeWidth()\" class=\"mx-auto\"> </mat-spinner>\n}\n\n<!-- Bootstrap Spinner -->\n@if (bootstrapSpinner()) {\n\t<div class=\"d-flex justify-content-center\">\n\t\t<div class=\"spinner-border bs-spinner\" role=\"status\"></div>\n\t</div>\n}\n", styles: [".bs-spinner-sm{color:#3f51b5;margin-bottom:20px}.bs-spinner{color:#3f51b5;width:3rem;height:3rem;margin-bottom:20px}.bs-spinner-lg{color:#3f51b5;width:5rem;height:5rem;margin-bottom:20px}\n"] }]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1raXQvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1raXQvc3JjL2xpYi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBUzlFLE1BQU0sT0FBTyxnQkFBZ0I7SUFQN0I7UUFRQzs7V0FFRztRQUNILHFCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQjs7V0FFRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckI7O1dBRUc7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFlLFNBQVMsQ0FBQyxDQUFDO1FBRXZDOztXQUVHO1FBQ0gsZ0JBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdkI7OEdBcEJZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHVuQkNYN0Isa1lBV0Esc1BESlcsd0JBQXdCOzsyRkFJdEIsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNDLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ3NwaW5uZXIsbGliLXNwaW5uZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXSxcblx0dGVtcGxhdGVVcmw6ICcuL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwaW5uZXJDb21wb25lbnQge1xuXHQvKipcblx0ICogIFVzZSBCb29zdHJhcCBTcGlubmVyLiBEZWZhdWx0IGB0cnVlYFxuXHQgKi9cblx0Ym9vdHN0cmFwU3Bpbm5lciA9IGlucHV0KHRydWUpO1xuXG5cdC8qKlxuXHQgKiBEaWFtZXRlciBvZiB0aGUgQW5ndWxhciBNYXRlcmlhbCBzcGlubmVyXG5cdCAqL1xuXHRkaWFtZXRlciA9IGlucHV0KDUwKTtcblxuXHQvKipcblx0ICogIENvbG9yIG9mIHRoZSBBbmd1bGFyIE1hdGVyaWFsIHNwaW5uZXJcblx0ICovXG5cdGNvbG9yID0gaW5wdXQ8VGhlbWVQYWxldHRlPigncHJpbWFyeScpO1xuXG5cdC8qKlxuXHQgKiAgU3Ryb2tlIFdpZHRoIG9mIHRoZSBBbmd1bGFyIE1hdGVyaWFsIHNwaW5uZXJcblx0ICovXG5cdHN0cm9rZVdpZHRoID0gaW5wdXQoNSk7XG59XG4iLCI8IS0tIEFuZ3VsYXIgTWF0ZXJpYWwgU3Bpbm5lciAtLT5cbkBpZiAoIWJvb3RzdHJhcFNwaW5uZXIoKSkge1xuXHQ8bWF0LXNwaW5uZXIgW2NvbG9yXT1cImNvbG9yKClcIiBbZGlhbWV0ZXJdPVwiZGlhbWV0ZXIoKVwiIFtzdHJva2VXaWR0aF09XCJzdHJva2VXaWR0aCgpXCIgY2xhc3M9XCJteC1hdXRvXCI+IDwvbWF0LXNwaW5uZXI+XG59XG5cbjwhLS0gQm9vdHN0cmFwIFNwaW5uZXIgLS0+XG5AaWYgKGJvb3RzdHJhcFNwaW5uZXIoKSkge1xuXHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgYnMtc3Bpbm5lclwiIHJvbGU9XCJzdGF0dXNcIj48L2Rpdj5cblx0PC9kaXY+XG59XG4iXX0=
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Reusable Angular directory that prints given contents of HTML element
|
|
5
|
+
*
|
|
6
|
+
* @since 12.0.0
|
|
7
|
+
* @author Pavan Kumar Jadda
|
|
8
|
+
*/
|
|
9
|
+
export class NgxPrintDirective {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* If `true`, uses CSS of HTMl element, otherwise no CSS applied
|
|
13
|
+
*
|
|
14
|
+
* @since 12.0.0
|
|
15
|
+
* @author Pavan Kumar Jadda
|
|
16
|
+
*/
|
|
17
|
+
this.useExistingCss = false;
|
|
18
|
+
/**
|
|
19
|
+
* A delay in milliseconds to force the print dialog to wait before opened. Default: 0
|
|
20
|
+
*
|
|
21
|
+
* @since 12.0.0
|
|
22
|
+
* @author Pavan Kumar Jadda
|
|
23
|
+
*/
|
|
24
|
+
this.printDelay = 0;
|
|
25
|
+
/**
|
|
26
|
+
* ID of the Mat Paginator
|
|
27
|
+
*
|
|
28
|
+
* @since 12.0.0
|
|
29
|
+
* @author Pavan Kumar Jadda
|
|
30
|
+
*/
|
|
31
|
+
this.paginatorId = '';
|
|
32
|
+
/**
|
|
33
|
+
* HTML tag ID of the Mat-Table Input Filter
|
|
34
|
+
*
|
|
35
|
+
* @since 12.0.0
|
|
36
|
+
* @author Pavan Kumar Jadda
|
|
37
|
+
*/
|
|
38
|
+
this.inputFilterId = '';
|
|
39
|
+
/**
|
|
40
|
+
* If `true`, referenced table is Mat-Table
|
|
41
|
+
*
|
|
42
|
+
* @since 12.0.0
|
|
43
|
+
* @author Pavan Kumar Jadda
|
|
44
|
+
*/
|
|
45
|
+
this.isMatTable = false;
|
|
46
|
+
/**
|
|
47
|
+
* If `true` Mat-Table paginator will be hidden
|
|
48
|
+
*
|
|
49
|
+
* @since 12.0.0
|
|
50
|
+
* @author Pavan Kumar Jadda
|
|
51
|
+
*/
|
|
52
|
+
this.hideMatTablePaginator = false;
|
|
53
|
+
this.printStyleArray = [];
|
|
54
|
+
/**
|
|
55
|
+
* List of Style sheet files
|
|
56
|
+
*
|
|
57
|
+
* @since 12.0.0
|
|
58
|
+
* @author Pavan Kumar Jadda
|
|
59
|
+
*/
|
|
60
|
+
this.styleSheetFileArray = '';
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* List of CSS properties that needs to be applied while printing the document
|
|
64
|
+
*
|
|
65
|
+
* @since 12.0.0
|
|
66
|
+
* @author Pavan Kumar Jadda
|
|
67
|
+
*/
|
|
68
|
+
set printStyle({ values }) {
|
|
69
|
+
for (const key in values) {
|
|
70
|
+
if (values.hasOwnProperty(key)) {
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
this.printStyleArray.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
this.returnStyleValues();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Sets given style sheet files to print document
|
|
79
|
+
*
|
|
80
|
+
* @param cssList Comma separated value of CSS file names
|
|
81
|
+
*
|
|
82
|
+
* @since 12.0.0
|
|
83
|
+
* @author Pavan Kumar Jadda
|
|
84
|
+
*/
|
|
85
|
+
set styleSheetFile(cssList) {
|
|
86
|
+
if (cssList.indexOf(',') !== -1) {
|
|
87
|
+
const cssFileArray = cssList.split(',');
|
|
88
|
+
for (const cssFileName of cssFileArray) {
|
|
89
|
+
this.styleSheetFileArray = this.styleSheetFileArray + NgxPrintDirective.linkTagFn(cssFileName);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.styleSheetFileArray = NgxPrintDirective.linkTagFn(cssList);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Build link HTMl tag based on given file name
|
|
98
|
+
*
|
|
99
|
+
* @since 12.0.0
|
|
100
|
+
* @author Pavan Kumar Jadda
|
|
101
|
+
*/
|
|
102
|
+
static linkTagFn(cssFileName) {
|
|
103
|
+
return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Gets HTML element by tag name
|
|
107
|
+
*
|
|
108
|
+
* @since 12.0.0
|
|
109
|
+
* @author Pavan Kumar Jadda
|
|
110
|
+
*/
|
|
111
|
+
static getElementTag(tag) {
|
|
112
|
+
const html = [];
|
|
113
|
+
const elements = document.getElementsByTagName(tag);
|
|
114
|
+
// @ts-ignore
|
|
115
|
+
for (const element of elements) {
|
|
116
|
+
html.push(element.outerHTML);
|
|
117
|
+
}
|
|
118
|
+
return html.join('\r\n');
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Print the element upon clicking the button
|
|
122
|
+
*
|
|
123
|
+
* @since 12.0.0
|
|
124
|
+
* @author Pavan Kumar Jadda
|
|
125
|
+
*/
|
|
126
|
+
print() {
|
|
127
|
+
//Hide paginator for Material table
|
|
128
|
+
if (this.isMatTable && this.hideMatTablePaginator && this.matTableDataSource) {
|
|
129
|
+
this.matTableDataSource.paginator = null;
|
|
130
|
+
}
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
if (this.isMatTable) {
|
|
133
|
+
this.hideMatPaginatorBeforePrinting();
|
|
134
|
+
}
|
|
135
|
+
// Do something after
|
|
136
|
+
let printContents;
|
|
137
|
+
let popupWin;
|
|
138
|
+
let styles = '';
|
|
139
|
+
let links = '';
|
|
140
|
+
if (this.useExistingCss) {
|
|
141
|
+
styles = NgxPrintDirective.getElementTag('style');
|
|
142
|
+
links = NgxPrintDirective.getElementTag('link');
|
|
143
|
+
}
|
|
144
|
+
if (this.printSectionId) {
|
|
145
|
+
printContents = document.getElementById(this.printSectionId)?.innerHTML;
|
|
146
|
+
popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');
|
|
147
|
+
popupWin?.document.open();
|
|
148
|
+
popupWin?.document.write(`
|
|
149
|
+
<html lang="en-us">
|
|
150
|
+
<head>
|
|
151
|
+
<title>${this.printTitle ? this.printTitle : ''}</title>
|
|
152
|
+
${this.returnStyleValues()}
|
|
153
|
+
${this.styleSheetFileArray}
|
|
154
|
+
${styles}
|
|
155
|
+
${links}
|
|
156
|
+
</head>
|
|
157
|
+
<body>
|
|
158
|
+
${printContents}
|
|
159
|
+
<script defer>
|
|
160
|
+
function triggerPrint() {
|
|
161
|
+
window.removeEventListener('load', triggerPrint, false);
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
window.print();
|
|
164
|
+
setTimeout(function() { window.close(); }, 0);
|
|
165
|
+
}, ${this.printDelay});
|
|
166
|
+
}
|
|
167
|
+
window.addEventListener('load', triggerPrint, false);
|
|
168
|
+
</script>
|
|
169
|
+
</body>
|
|
170
|
+
</html>`);
|
|
171
|
+
popupWin?.document.close();
|
|
172
|
+
//Revert back the mat-paginator after printing
|
|
173
|
+
if (this.isMatTable) {
|
|
174
|
+
this.showMatPaginatorAfterPrinting();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, 1000); //1 second timeout to hide paginator
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Hide Mat Paginator before Printing
|
|
181
|
+
*
|
|
182
|
+
* @since 12.0.1
|
|
183
|
+
* @author Pavan Kumar Jadda
|
|
184
|
+
*/
|
|
185
|
+
hideMatPaginatorBeforePrinting() {
|
|
186
|
+
// @ts-ignore
|
|
187
|
+
document.getElementById(this.paginatorId).style.display = 'none';
|
|
188
|
+
if (document.getElementById(this.inputFilterId) != null) {
|
|
189
|
+
// @ts-ignore
|
|
190
|
+
document.getElementById(this.inputFilterId).style.display = 'none';
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Show Mat Paginator after Printing
|
|
195
|
+
*
|
|
196
|
+
* @since 12.0.1
|
|
197
|
+
* @author Pavan Kumar Jadda
|
|
198
|
+
*/
|
|
199
|
+
showMatPaginatorAfterPrinting() {
|
|
200
|
+
this.matTableDataSource.paginator = this.paginator;
|
|
201
|
+
// @ts-ignore
|
|
202
|
+
document.getElementById(this.paginatorId).style.display = 'block';
|
|
203
|
+
if (document.getElementById(this.inputFilterId) != null) {
|
|
204
|
+
// @ts-ignore
|
|
205
|
+
document.getElementById(this.inputFilterId).style.display = 'block';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* @returns the string that create the stylesheet which will be injected later within <style></style> tag. Join/replace to transform an array objects to css-styled string
|
|
210
|
+
*
|
|
211
|
+
* @since 12.0.0
|
|
212
|
+
* @author Pavan Kumar Jadda
|
|
213
|
+
*/
|
|
214
|
+
returnStyleValues() {
|
|
215
|
+
return `<style> ${this.printStyleArray.join(' ').replace(/,/g, ';')} </style>`;
|
|
216
|
+
}
|
|
217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
218
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: NgxPrintDirective, isStandalone: true, selector: "button[ngxPrint], button[print]", inputs: { printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", matTableDataSource: "matTableDataSource", paginator: "paginator", paginatorId: "paginatorId", inputFilterId: "inputFilterId", isMatTable: "isMatTable", hideMatTablePaginator: "hideMatTablePaginator", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, ngImport: i0 }); }
|
|
219
|
+
}
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxPrintDirective, decorators: [{
|
|
221
|
+
type: Directive,
|
|
222
|
+
args: [{
|
|
223
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
224
|
+
selector: 'button[ngxPrint], button[print]',
|
|
225
|
+
standalone: true,
|
|
226
|
+
}]
|
|
227
|
+
}], propDecorators: { printSectionId: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], printTitle: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], useExistingCss: [{
|
|
232
|
+
type: Input
|
|
233
|
+
}], printDelay: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], matTableDataSource: [{
|
|
236
|
+
type: Input
|
|
237
|
+
}], paginator: [{
|
|
238
|
+
type: Input
|
|
239
|
+
}], paginatorId: [{
|
|
240
|
+
type: Input
|
|
241
|
+
}], inputFilterId: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], isMatTable: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], hideMatTablePaginator: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], printStyle: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], styleSheetFile: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], print: [{
|
|
252
|
+
type: HostListener,
|
|
253
|
+
args: ['click']
|
|
254
|
+
}] } });
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSS9EOzs7OztHQUtHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQXNCQzs7Ozs7V0FLRztRQUNNLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRWhDOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFHLENBQUMsQ0FBQztRQWtCeEI7Ozs7O1dBS0c7UUFDTSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUUxQjs7Ozs7V0FLRztRQUNNLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRTVCOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUU1Qjs7Ozs7V0FLRztRQUNNLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUVoQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUM1Qjs7Ozs7V0FLRztRQUNLLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztLQTJLakM7SUF6S0E7Ozs7O09BS0c7SUFDSCxJQUNJLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBb0I7UUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsYUFBYTtnQkFDYixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lB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QUcsT0FBTyxDQUFDO1FBQ3JFLENBQUM7SUFDRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxpQkFBaUI7UUFDeEIsT0FBTyxXQUFXLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUNoRixDQUFDOzhHQWxRVyxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDViw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjs4QkFRUyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUcsYUFBYTtzQkFBckIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFrQkYsVUFBVTtzQkFEYixLQUFLO2dCQW9CRixjQUFjO3NCQURqQixLQUFLO2dCQTZDQyxLQUFLO3NCQURYLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcblxuLyoqXG4gKiBSZXVzYWJsZSBBbmd1bGFyIGRpcmVjdG9yeSB0aGF0IHByaW50cyBnaXZlbiBjb250ZW50cyBvZiBIVE1MIGVsZW1lbnRcbiAqXG4gKiBAc2luY2UgMTIuMC4wXG4gKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG4gKi9cbkBEaXJlY3RpdmUoe1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuXHRzZWxlY3RvcjogJ2J1dHRvbltuZ3hQcmludF0sIGJ1dHRvbltwcmludF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hQcmludERpcmVjdGl2ZSB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgSFRNTCBlbGVtZW50IHRob3NlIGNvbnRlbnRzIG5lZWQgdG8gYmUgcHJpbnRlZFxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpIHByaW50U2VjdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIFRpdGxlIG9mIHRoZSBIVE1MIGVsZW1lbnQgdGhvc2UgY29udGVudHMgbmVlZCB0byBiZSBwcmludGVkXG5cdCAqXG5cdCAqIEBzaW5jZSAxMi4wLjBcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKi9cblx0QElucHV0KCkgcHJpbnRUaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBJZiBgdHJ1ZWAsIHVzZXMgQ1NTIG9mIEhUTWwgZWxlbWVudCwgb3RoZXJ3aXNlIG5vIENTUyBhcHBsaWVkXG5cdCAqXG5cdCAqIEBzaW5jZSAxMi4wLjBcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKi9cblx0QElucHV0KCkgdXNlRXhpc3RpbmdDc3MgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQSBkZWxheSBpbiBtaWxsaXNlY29uZHMgdG8gZm9yY2UgdGhlIHByaW50IGRpYWxvZyB0byB3YWl0IGJlZm9yZSBvcGVuZWQuIERlZmF1bHQ6IDBcblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMFxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRASW5wdXQoKSBwcmludERlbGF5ID0gMDtcblxuXHQvKipcblx0ICogSW5zdGFuY2Ugb2YgdGhlIE1hdCBUYWJsZSBEYXRhIFNvdXJjZVxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpIG1hdFRhYmxlRGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+O1xuXG5cdC8qKlxuXHQgKiBJbnN0YW5jZSBvZiB0aGUgTWF0IFBhZ2luYXRvclxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcblxuXHQvKipcblx0ICogSUQgb2YgdGhlIE1hdCBQYWdpbmF0b3Jcblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMFxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRASW5wdXQoKSBwYWdpbmF0b3JJZCA9ICcnO1xuXG5cdC8qKlxuXHQgKiBIVE1MIHRhZyBJRCBvZiB0aGUgTWF0LVRhYmxlIElucHV0IEZpbHRlclxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpIGlucHV0RmlsdGVySWQgPSAnJztcblxuXHQvKipcblx0ICogSWYgYHRydWVgLCByZWZlcmVuY2VkIHRhYmxlIGlzIE1hdC1UYWJsZVxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpIGlzTWF0VGFibGUgPSBmYWxzZTtcblxuXHQvKipcblx0ICogSWYgYHRydWVgIE1hdC1UYWJsZSBwYWdpbmF0b3Igd2lsbCBiZSBoaWRkZW5cblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMFxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRASW5wdXQoKSBoaWRlTWF0VGFibGVQYWdpbmF0b3IgPSBmYWxzZTtcblxuXHRwdWJsaWMgcHJpbnRTdHlsZUFycmF5ID0gW107XG5cdC8qKlxuXHQgKiBMaXN0IG9mIFN0eWxlIHNoZWV0IGZpbGVzXG5cdCAqXG5cdCAqIEBzaW5jZSAxMi4wLjBcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKi9cblx0cHJpdmF0ZSBzdHlsZVNoZWV0RmlsZUFycmF5ID0gJyc7XG5cblx0LyoqXG5cdCAqIExpc3Qgb2YgQ1NTIHByb3BlcnRpZXMgdGhhdCBuZWVkcyB0byBiZSBhcHBsaWVkIHdoaWxlIHByaW50aW5nIHRoZSBkb2N1bWVudFxuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpXG5cdHNldCBwcmludFN0eWxlKHsgdmFsdWVzIH06IFByaW50U3R5bGVQYXJhbXMpIHtcblx0XHRmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZXMpIHtcblx0XHRcdGlmICh2YWx1ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuXHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdHRoaXMucHJpbnRTdHlsZUFycmF5LnB1c2goKGtleSArIEpTT04uc3RyaW5naWZ5KHZhbHVlc1trZXldKSkucmVwbGFjZSgvWydcIl0rL2csICcnKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMucmV0dXJuU3R5bGVWYWx1ZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIGdpdmVuIHN0eWxlIHNoZWV0IGZpbGVzIHRvIHByaW50IGRvY3VtZW50XG5cdCAqXG5cdCAqIEBwYXJhbSBjc3NMaXN0IENvbW1hIHNlcGFyYXRlZCB2YWx1ZSBvZiBDU1MgZmlsZSBuYW1lc1xuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdEBJbnB1dCgpXG5cdHNldCBzdHlsZVNoZWV0RmlsZShjc3NMaXN0OiBzdHJpbmcpIHtcblx0XHRpZiAoY3NzTGlzdC5pbmRleE9mKCcsJykgIT09IC0xKSB7XG5cdFx0XHRjb25zdCBjc3NGaWxlQXJyYXkgPSBjc3NMaXN0LnNwbGl0KCcsJyk7XG5cdFx0XHRmb3IgKGNvbnN0IGNzc0ZpbGVOYW1lIG9mIGNzc0ZpbGVBcnJheSkge1xuXHRcdFx0XHR0aGlzLnN0eWxlU2hlZXRGaWxlQXJyYXkgPSB0aGlzLnN0eWxlU2hlZXRGaWxlQXJyYXkgKyBOZ3hQcmludERpcmVjdGl2ZS5saW5rVGFnRm4oY3NzRmlsZU5hbWUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnN0eWxlU2hlZXRGaWxlQXJyYXkgPSBOZ3hQcmludERpcmVjdGl2ZS5saW5rVGFnRm4oY3NzTGlzdCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGxpbmsgSFRNbCB0YWcgYmFzZWQgb24gZ2l2ZW4gZmlsZSBuYW1lXG5cdCAqXG5cdCAqIEBzaW5jZSAxMi4wLjBcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgbGlua1RhZ0ZuKGNzc0ZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCIke2Nzc0ZpbGVOYW1lfVwiPmA7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBIVE1MIGVsZW1lbnQgYnkgdGFnIG5hbWVcblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMFxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyBnZXRFbGVtZW50VGFnKHRhZzoga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwKTogc3RyaW5nIHtcblx0XHRjb25zdCBodG1sOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKTtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0Zm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7XG5cdFx0XHRodG1sLnB1c2goZWxlbWVudC5vdXRlckhUTUwpO1xuXHRcdH1cblx0XHRyZXR1cm4gaHRtbC5qb2luKCdcXHJcXG4nKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQcmludCB0aGUgZWxlbWVudCB1cG9uIGNsaWNraW5nIHRoZSBidXR0b25cblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMFxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRASG9zdExpc3RlbmVyKCdjbGljaycpXG5cdHB1YmxpYyBwcmludCgpOiB2b2lkIHtcblx0XHQvL0hpZGUgcGFnaW5hdG9yIGZvciBNYXRlcmlhbCB0YWJsZVxuXHRcdGlmICh0aGlzLmlzTWF0VGFibGUgJiYgdGhpcy5oaWRlTWF0VGFibGVQYWdpbmF0b3IgJiYgdGhpcy5tYXRUYWJsZURhdGFTb3VyY2UpIHtcblx0XHRcdHRoaXMubWF0VGFibGVEYXRhU291cmNlLnBhZ2luYXRvciA9IG51bGw7XG5cdFx0fVxuXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5pc01hdFRhYmxlKSB7XG5cdFx0XHRcdHRoaXMuaGlkZU1hdFBhZ2luYXRvckJlZm9yZVByaW50aW5nKCk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIERvIHNvbWV0aGluZyBhZnRlclxuXHRcdFx0bGV0IHByaW50Q29udGVudHM7XG5cdFx0XHRsZXQgcG9wdXBXaW47XG5cdFx0XHRsZXQgc3R5bGVzID0gJyc7XG5cdFx0XHRsZXQgbGlua3MgPSAnJztcblxuXHRcdFx0aWYgKHRoaXMudXNlRXhpc3RpbmdDc3MpIHtcblx0XHRcdFx0c3R5bGVzID0gTmd4UHJpbnREaXJlY3RpdmUuZ2V0RWxlbWVudFRhZygnc3R5bGUnKTtcblx0XHRcdFx0bGlua3MgPSBOZ3hQcmludERpcmVjdGl2ZS5nZXRFbGVtZW50VGFnKCdsaW5rJyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5wcmludFNlY3Rpb25JZCkge1xuXHRcdFx0XHRwcmludENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wcmludFNlY3Rpb25JZCk/LmlubmVySFRNTDtcblx0XHRcdFx0cG9wdXBXaW4gPSB3aW5kb3cub3BlbignJywgJ19ibGFuaycsICd0b3A9MCxsZWZ0PTAsaGVpZ2h0PWF1dG8sd2lkdGg9YXV0bycpO1xuXHRcdFx0XHRwb3B1cFdpbj8uZG9jdW1lbnQub3BlbigpO1xuXHRcdFx0XHRwb3B1cFdpbj8uZG9jdW1lbnQud3JpdGUoYFxuICAgICAgPGh0bWwgbGFuZz1cImVuLXVzXCI+XG4gICAgICAgIDxoZWFkPlxuICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZSA/IHRoaXMucHJpbnRUaXRsZSA6ICcnfTwvdGl0bGU+XG4gICAgICAgICAgJHt0aGlzLnJldHVyblN0eWxlVmFsdWVzKCl9XG4gICAgICAgICAgJHt0aGlzLnN0eWxlU2hlZXRGaWxlQXJyYXl9XG4gICAgICAgICAgJHtzdHlsZXN9XG4gICAgICAgICAgJHtsaW5rc31cbiAgICAgICAgPC9oZWFkPlxuICAgICAgICA8Ym9keT5cbiAgICAgICAgICAke3ByaW50Q29udGVudHN9XG4gICAgICAgICAgPHNjcmlwdCBkZWZlcj5cbiAgICAgICAgICAgIGZ1bmN0aW9uIHRyaWdnZXJQcmludCgpIHtcbiAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd2luZG93LnByaW50KCk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDApO1xuICAgICAgICAgICAgICB9LCAke3RoaXMucHJpbnREZWxheX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcbiAgICAgICAgICA8L3NjcmlwdD5cbiAgICAgICAgPC9ib2R5PlxuICAgICAgPC9odG1sPmApO1xuXG5cdFx0XHRcdHBvcHVwV2luPy5kb2N1bWVudC5jbG9zZSgpO1xuXG5cdFx0XHRcdC8vUmV2ZXJ0IGJhY2sgdGhlIG1hdC1wYWdpbmF0b3IgYWZ0ZXIgcHJpbnRpbmdcblx0XHRcdFx0aWYgKHRoaXMuaXNNYXRUYWJsZSkge1xuXHRcdFx0XHRcdHRoaXMuc2hvd01hdFBhZ2luYXRvckFmdGVyUHJpbnRpbmcoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sIDEwMDApOyAvLzEgc2Vjb25kIHRpbWVvdXQgdG8gaGlkZSBwYWdpbmF0b3Jcblx0fVxuXG5cdC8qKlxuXHQgKiBIaWRlIE1hdCBQYWdpbmF0b3IgYmVmb3JlIFByaW50aW5nXG5cdCAqXG5cdCAqIEBzaW5jZSAxMi4wLjFcblx0ICogQGF1dGhvciBQYXZhbiBLdW1hciBKYWRkYVxuXHQgKi9cblx0cHJpdmF0ZSBoaWRlTWF0UGFnaW5hdG9yQmVmb3JlUHJpbnRpbmcoKSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucGFnaW5hdG9ySWQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0aWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaW5wdXRGaWx0ZXJJZCkgIT0gbnVsbCkge1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pbnB1dEZpbHRlcklkKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBTaG93IE1hdCBQYWdpbmF0b3IgYWZ0ZXIgUHJpbnRpbmdcblx0ICpcblx0ICogQHNpbmNlIDEyLjAuMVxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqL1xuXHRwcml2YXRlIHNob3dNYXRQYWdpbmF0b3JBZnRlclByaW50aW5nKCkge1xuXHRcdHRoaXMubWF0VGFibGVEYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnBhZ2luYXRvcklkKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblx0XHRpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pbnB1dEZpbHRlcklkKSAhPSBudWxsKSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlucHV0RmlsdGVySWQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHRoYXQgY3JlYXRlIHRoZSBzdHlsZXNoZWV0IHdoaWNoIHdpbGwgYmUgaW5qZWN0ZWQgbGF0ZXIgd2l0aGluIDxzdHlsZT48L3N0eWxlPiB0YWcuIEpvaW4vcmVwbGFjZSB0byB0cmFuc2Zvcm0gYW4gYXJyYXkgb2JqZWN0cyB0byBjc3Mtc3R5bGVkIHN0cmluZ1xuXHQgKlxuXHQgKiBAc2luY2UgMTIuMC4wXG5cdCAqIEBhdXRob3IgUGF2YW4gS3VtYXIgSmFkZGFcblx0ICovXG5cdHByaXZhdGUgcmV0dXJuU3R5bGVWYWx1ZXMoKSB7XG5cdFx0cmV0dXJuIGA8c3R5bGU+ICR7dGhpcy5wcmludFN0eWxlQXJyYXkuam9pbignICcpLnJlcGxhY2UoLywvZywgJzsnKX0gPC9zdHlsZT5gO1xuXHR9XG59XG5cbmludGVyZmFjZSBQcmludFN0eWxlUGFyYW1zIHtcblx0dmFsdWVzOiB7IFtwOiBzdHJpbmddOiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSB9O1xufVxuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Output, input } from '@angular/core';
|
|
2
|
+
import { Subject, throttleTime } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PreventMultipleClicksDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.throttleTime = input(2000);
|
|
7
|
+
this.throttleClick = new EventEmitter();
|
|
8
|
+
this.clicks = new Subject();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Intercepts click event and stops default navigation. After first click set {@link throttleTime} to 2000 to prevent duplicate clicks
|
|
12
|
+
*
|
|
13
|
+
* @param event DOM event
|
|
14
|
+
*
|
|
15
|
+
* @author Pavan Kumar Jadda
|
|
16
|
+
* @since 2.3.27
|
|
17
|
+
*/
|
|
18
|
+
clickEvent(event) {
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
event.stopPropagation();
|
|
21
|
+
this.clicks.next(event);
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.subscription = this.clicks.pipe(throttleTime(this.throttleTime())).subscribe((e) => this.throttleClick.emit(e));
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this.subscription?.unsubscribe();
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PreventMultipleClicksDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.0", type: PreventMultipleClicksDirective, isStandalone: true, selector: "[preventMultipleClicks]", inputs: { throttleTime: { classPropertyName: "throttleTime", publicName: "throttleTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { throttleClick: "throttleClick" }, host: { listeners: { "click": "clickEvent($event)" } }, ngImport: i0 }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: PreventMultipleClicksDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[preventMultipleClicks]',
|
|
36
|
+
standalone: true,
|
|
37
|
+
}]
|
|
38
|
+
}], propDecorators: { throttleClick: [{
|
|
39
|
+
type: Output
|
|
40
|
+
}], clickEvent: [{
|
|
41
|
+
type: HostListener,
|
|
42
|
+
args: ['click', ['$event']]
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC1tdWx0aXBsZS1jbGlja3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcta2l0L3NyYy9saWIvZGlyZWN0aXZlcy9wcmV2ZW50LW11bHRpcGxlLWNsaWNrcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQUtDLGlCQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyQyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztLQXlCL0I7SUF0QkE7Ozs7Ozs7T0FPRztJQUVILFVBQVUsQ0FBQyxLQUFVO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0E1QlcsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCOzhCQUdVLGFBQWE7c0JBQXRCLE1BQU07Z0JBY1AsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbcHJldmVudE11bHRpcGxlQ2xpY2tzXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFByZXZlbnRNdWx0aXBsZUNsaWNrc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblx0dGhyb3R0bGVUaW1lID0gaW5wdXQoMjAwMCk7XG5cdEBPdXRwdXQoKSB0aHJvdHRsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdHByaXZhdGUgY2xpY2tzID0gbmV3IFN1YmplY3QoKTtcblx0cHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuXHQvKipcblx0ICogSW50ZXJjZXB0cyBjbGljayBldmVudCBhbmQgc3RvcHMgZGVmYXVsdCBuYXZpZ2F0aW9uLiBBZnRlciBmaXJzdCBjbGljayBzZXQge0BsaW5rIHRocm90dGxlVGltZX0gdG8gMjAwMCB0byBwcmV2ZW50IGR1cGxpY2F0ZSBjbGlja3Ncblx0ICpcblx0ICogQHBhcmFtIGV2ZW50IERPTSBldmVudFxuXHQgKlxuXHQgKiBAYXV0aG9yIFBhdmFuIEt1bWFyIEphZGRhXG5cdCAqIEBzaW5jZSAyLjMuMjdcblx0ICovXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcblx0Y2xpY2tFdmVudChldmVudDogYW55KSB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmNsaWNrcy5uZXh0KGV2ZW50KTtcblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jbGlja3MucGlwZSh0aHJvdHRsZVRpbWUodGhpcy50aHJvdHRsZVRpbWUoKSkpLnN1YnNjcmliZSgoZSkgPT4gdGhpcy50aHJvdHRsZUNsaWNrLmVtaXQoZSkpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TypeOfPipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
return typeof value;
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TypeOfPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: TypeOfPipe, isStandalone: true, name: "typeOf" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TypeOfPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'typeOf',
|
|
14
|
+
standalone: true,
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1vZi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmcta2l0L3NyYy9saWIvcGlwZXMvdHlwZS1vZi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sVUFBVTtJQUN0QixTQUFTLENBQUMsS0FBVTtRQUNuQixPQUFPLE9BQU8sS0FBSyxDQUFDO0lBQ3JCLENBQUM7OEdBSFcsVUFBVTs0R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuXHRuYW1lOiAndHlwZU9mJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZU9mUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGFueSB7XG5cdFx0cmV0dXJuIHR5cGVvZiB2YWx1ZTtcblx0fVxufVxuIl19
|