@rolatech/angular-services 0.2.1 → 16.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.
Files changed (38) hide show
  1. package/esm2022/lib/angular-services.module.mjs +23 -0
  2. package/esm2022/lib/components/dialog/dialog.component.mjs +75 -0
  3. package/esm2022/lib/directive/back-button.directive.mjs +24 -0
  4. package/esm2022/lib/directive/index.mjs +4 -0
  5. package/esm2022/lib/interceptor/loading.interceptor.mjs +34 -0
  6. package/esm2022/lib/services/base.service.mjs +68 -0
  7. package/esm2022/lib/services/dialog.service.mjs +29 -0
  8. package/esm2022/lib/services/layout.service.mjs +22 -0
  9. package/esm2022/lib/services/loading.service.mjs +31 -0
  10. package/esm2022/lib/services/media.service.mjs +69 -0
  11. package/esm2022/lib/services/navigation.service.mjs +53 -0
  12. package/esm2022/lib/services/snack-bar.service.mjs +19 -0
  13. package/{fesm2020 → fesm2022}/rolatech-angular-services.mjs +79 -67
  14. package/fesm2022/rolatech-angular-services.mjs.map +1 -0
  15. package/lib/angular-services.module.d.ts +3 -3
  16. package/lib/directive/back-button.directive.d.ts +1 -1
  17. package/lib/directive/index.d.ts +2 -0
  18. package/lib/services/navigation.service.d.ts +1 -0
  19. package/package.json +10 -16
  20. package/esm2020/lib/angular-services.module.mjs +0 -21
  21. package/esm2020/lib/components/dialog/dialog.component.mjs +0 -74
  22. package/esm2020/lib/directive/back-button.directive.mjs +0 -25
  23. package/esm2020/lib/directive/index.mjs +0 -2
  24. package/esm2020/lib/interceptor/loading.interceptor.mjs +0 -32
  25. package/esm2020/lib/services/base.service.mjs +0 -64
  26. package/esm2020/lib/services/dialog.service.mjs +0 -29
  27. package/esm2020/lib/services/layout.service.mjs +0 -19
  28. package/esm2020/lib/services/loading.service.mjs +0 -31
  29. package/esm2020/lib/services/media.service.mjs +0 -68
  30. package/esm2020/lib/services/navigation.service.mjs +0 -42
  31. package/esm2020/lib/services/snack-bar.service.mjs +0 -20
  32. package/fesm2015/rolatech-angular-services.mjs +0 -410
  33. package/fesm2015/rolatech-angular-services.mjs.map +0 -1
  34. package/fesm2020/rolatech-angular-services.mjs.map +0 -1
  35. /package/{esm2020 → esm2022}/index.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/interceptor/index.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  38. /package/{esm2020 → esm2022}/rolatech-angular-services.mjs +0 -0
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import * as fromServices from './services';
3
+ import { DialogComponent } from './components/dialog/dialog.component';
4
+ import { SERVICE_DIRECTIVES } from './directive';
5
+ import { AngularCommonModule } from '@rolatech/angular-common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./directive/back-button.directive";
8
+ class AngularServicesModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, declarations: [DialogComponent], imports: [AngularCommonModule, i1.BackButtonDirective], exports: [i1.BackButtonDirective] });
11
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, providers: [...fromServices.services], imports: [AngularCommonModule] });
12
+ }
13
+ export { AngularServicesModule };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [AngularCommonModule, SERVICE_DIRECTIVES],
18
+ providers: [...fromServices.services],
19
+ declarations: [DialogComponent],
20
+ exports: [SERVICE_DIRECTIVES],
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9hbmd1bGFyLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxZQUFZLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUUvRCxNQU1hLHFCQUFxQjt1R0FBckIscUJBQXFCO3dHQUFyQixxQkFBcUIsaUJBSGpCLGVBQWUsYUFGcEIsbUJBQW1CO3dHQUtsQixxQkFBcUIsYUFKckIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFEM0IsbUJBQW1COztTQUtsQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO29CQUNyQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBmcm9tU2VydmljZXMgZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU0VSVklDRV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBTRVJWSUNFX0RJUkVDVElWRVNdLFxuICBwcm92aWRlcnM6IFsuLi5mcm9tU2VydmljZXMuc2VydmljZXNdLFxuICBkZWNsYXJhdGlvbnM6IFtEaWFsb2dDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU0VSVklDRV9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhclNlcnZpY2VzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { Component, EventEmitter, HostListener, inject, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ class DialogComponent {
5
+ data = inject(MAT_DIALOG_DATA);
6
+ result;
7
+ dialogRef = inject((MatDialogRef));
8
+ componentRef;
9
+ ngOnInit() {
10
+ this.createComponent();
11
+ // this.dialogRef.afterOpened().subscribe((res) => {
12
+ // console.log(res);
13
+ // this.result = res;
14
+ // this.dialogRef.componentInstance['someOutput'].subscribe((res) => {
15
+ // console.log(res);
16
+ // });
17
+ // });
18
+ }
19
+ createComponent() {
20
+ this.componentRef.clear();
21
+ const componentRef = this.componentRef.createComponent(this.data.component);
22
+ const hostedComponent = componentRef.instance;
23
+ // hostedComponent.data = this.data.data;
24
+ // componentRef.instance['someOutput'].subsribe();
25
+ if (this.data.data) {
26
+ Object.keys(this.data.data).forEach((inputName) => {
27
+ hostedComponent[inputName] = this.data.data[inputName];
28
+ });
29
+ }
30
+ Object.keys(hostedComponent)
31
+ .filter((prop) => hostedComponent[prop] instanceof EventEmitter)
32
+ .forEach((output) => {
33
+ this[output] = new EventEmitter();
34
+ hostedComponent[output].subscribe((data) => {
35
+ console.log(data);
36
+ this[output].emit(data);
37
+ });
38
+ });
39
+ this.dialogRef.afterOpened().subscribe(() => {
40
+ this.dialogRef.componentInstance['someOutput'].subscribe((res) => {
41
+ console.log(res);
42
+ this.result = res;
43
+ });
44
+ });
45
+ }
46
+ ngOnDestroy() {
47
+ this.componentRef.clear();
48
+ }
49
+ cancel() {
50
+ this.close(false);
51
+ }
52
+ close(value) {
53
+ this.dialogRef.close(value);
54
+ }
55
+ confirm() {
56
+ this.close(this.result);
57
+ }
58
+ onEsc() {
59
+ this.close(false);
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DialogComponent, selector: "rolatech-dialog", host: { listeners: { "keydown.esc": "onEsc()" } }, viewQueries: [{ propertyName: "componentRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div class=\"p-3 flex flex-col min-w-[320px]\" style=\"width: {{ data.width }};height: {{ data.height }}\">\n <div class=\"p-2\">\n <h1 class=\"text-xl\">{{ data.title }}</h1>\n </div>\n <div class=\"p-2\">\n <p class=\"\">{{ data.message }}</p>\n <ng-template #container></ng-template>\n <!-- <ng-container #container></ng-container> -->\n </div>\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-end items-center p-2 mt-3\">\n <a class=\"mr-3 cursor-pointer\" (click)=\"cancel()\">{{ data.cancelText ? data.cancelText : 'Cancel' }}</a>\n <a class=\"w-20 text-center hover:bg-black bg-black cursor-pointer p-2 text-white rounded\" (click)=\"confirm()\">{{\n data.confirmText ? data.confirmText : 'Ok'\n }}</a>\n </div>\n</div>\n", styles: [""] });
63
+ }
64
+ export { DialogComponent };
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'rolatech-dialog', template: "<div class=\"p-3 flex flex-col min-w-[320px]\" style=\"width: {{ data.width }};height: {{ data.height }}\">\n <div class=\"p-2\">\n <h1 class=\"text-xl\">{{ data.title }}</h1>\n </div>\n <div class=\"p-2\">\n <p class=\"\">{{ data.message }}</p>\n <ng-template #container></ng-template>\n <!-- <ng-container #container></ng-container> -->\n </div>\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-end items-center p-2 mt-3\">\n <a class=\"mr-3 cursor-pointer\" (click)=\"cancel()\">{{ data.cancelText ? data.cancelText : 'Cancel' }}</a>\n <a class=\"w-20 text-center hover:bg-black bg-black cursor-pointer p-2 text-white rounded\" (click)=\"confirm()\">{{\n data.confirmText ? data.confirmText : 'Ok'\n }}</a>\n </div>\n</div>\n" }]
68
+ }], propDecorators: { componentRef: [{
69
+ type: ViewChild,
70
+ args: ['container', { read: ViewContainerRef, static: true }]
71
+ }], onEsc: [{
72
+ type: HostListener,
73
+ args: ['keydown.esc']
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1zZXJ2aWNlcy9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFLTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBbUJ6RSxNQUthLGVBQWU7SUFDMUIsSUFBSSxHQUFlLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQU07SUFDWixTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUEsWUFBNkIsQ0FBQSxDQUFDLENBQUM7SUFHM0MsWUFBWSxDQUFvQjtJQUV2QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLG9EQUFvRDtRQUNwRCxzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdFQUF3RTtRQUN4RSx3QkFBd0I7UUFDeEIsUUFBUTtRQUNSLE1BQU07SUFDUixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0YsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM5Qyx5Q0FBeUM7UUFFekMsa0RBQWtEO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNoRCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLFlBQVksQ0FBQzthQUMvRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNsQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ00sS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNNLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQzt1R0FqRVUsZUFBZTsyRkFBZixlQUFlLGdNQUtNLGdCQUFnQiwyQ0MxQ2xELHF3QkFpQkE7O1NEb0JhLGVBQWU7MkZBQWYsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBVXBCLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMER6RCxLQUFLO3NCQURYLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGEge1xuICB0aXRsZTogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICBjb25maXJtVGV4dD86IHN0cmluZztcbiAgY29tcG9uZW50PzogYW55O1xuICB3aWR0aD86IGFueTtcbiAgaGVpZ2h0PzogYW55O1xuICBkYXRhPzogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBJRHluYW1pY0RpYWxvZ0NvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBva1RleHQ/OiBzdHJpbmc7XG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XG4gIGNvbXBvbmVudDogQ29tcG9uZW50O1xuICBkYXRhOiBhbnk7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGF0YTogRGlhbG9nRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuICByZXN1bHQ6IGFueTtcbiAgZGlhbG9nUmVmID0gaW5qZWN0KE1hdERpYWxvZ1JlZjxEaWFsb2dDb21wb25lbnQ+KTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgY29tcG9uZW50UmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudCgpO1xuICAgIC8vIHRoaXMuZGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgLy8gICB0aGlzLnJlc3VsdCA9IHJlcztcbiAgICAvLyAgIHRoaXMuZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlWydzb21lT3V0cHV0J10uc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAvLyAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAvLyAgIH0pO1xuICAgIC8vIH0pO1xuICB9XG4gIGNyZWF0ZUNvbXBvbmVudCgpIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jbGVhcigpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50UmVmLmNyZWF0ZUNvbXBvbmVudDxEaWFsb2dDb21wb25lbnQ+KHRoaXMuZGF0YS5jb21wb25lbnQpO1xuICAgIGNvbnN0IGhvc3RlZENvbXBvbmVudCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAvLyBob3N0ZWRDb21wb25lbnQuZGF0YSA9IHRoaXMuZGF0YS5kYXRhO1xuXG4gICAgLy8gY29tcG9uZW50UmVmLmluc3RhbmNlWydzb21lT3V0cHV0J10uc3Vic3JpYmUoKTtcblxuICAgIGlmICh0aGlzLmRhdGEuZGF0YSkge1xuICAgICAgT2JqZWN0LmtleXModGhpcy5kYXRhLmRhdGEpLmZvckVhY2goKGlucHV0TmFtZSkgPT4ge1xuICAgICAgICBob3N0ZWRDb21wb25lbnRbaW5wdXROYW1lXSA9IHRoaXMuZGF0YS5kYXRhW2lucHV0TmFtZV07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhob3N0ZWRDb21wb25lbnQpXG4gICAgICAuZmlsdGVyKChwcm9wKSA9PiBob3N0ZWRDb21wb25lbnRbcHJvcF0gaW5zdGFuY2VvZiBFdmVudEVtaXR0ZXIpXG4gICAgICAuZm9yRWFjaCgob3V0cHV0KSA9PiB7XG4gICAgICAgIHRoaXNbb3V0cHV0XSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgaG9zdGVkQ29tcG9uZW50W291dHB1dF0uc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgICAgdGhpc1tvdXRwdXRdLmVtaXQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2VbJ3NvbWVPdXRwdXQnXS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgICAgICB0aGlzLnJlc3VsdCA9IHJlcztcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgdGhpcy5jbG9zZShmYWxzZSk7XG4gIH1cbiAgcHVibGljIGNsb3NlKHZhbHVlKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodmFsdWUpO1xuICB9XG4gIHB1YmxpYyBjb25maXJtKCkge1xuICAgIHRoaXMuY2xvc2UodGhpcy5yZXN1bHQpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgcHVibGljIG9uRXNjKCkge1xuICAgIHRoaXMuY2xvc2UoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC0zIGZsZXggZmxleC1jb2wgbWluLXctWzMyMHB4XVwiIHN0eWxlPVwid2lkdGg6IHt7IGRhdGEud2lkdGggfX07aGVpZ2h0OiB7eyBkYXRhLmhlaWdodCB9fVwiPlxuICA8ZGl2IGNsYXNzPVwicC0yXCI+XG4gICAgPGgxIGNsYXNzPVwidGV4dC14bFwiPnt7IGRhdGEudGl0bGUgfX08L2gxPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInAtMlwiPlxuICAgIDxwIGNsYXNzPVwiXCI+e3sgZGF0YS5tZXNzYWdlIH19PC9wPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyPjwvbmctdGVtcGxhdGU+XG4gICAgPCEtLSA8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+IC0tPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgcC0yIG10LTNcIj5cbiAgICA8YSBjbGFzcz1cIm1yLTMgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2FuY2VsKClcIj57eyBkYXRhLmNhbmNlbFRleHQgPyBkYXRhLmNhbmNlbFRleHQgOiAnQ2FuY2VsJyB9fTwvYT5cbiAgICA8YSBjbGFzcz1cInctMjAgdGV4dC1jZW50ZXIgaG92ZXI6YmctYmxhY2sgYmctYmxhY2sgY3Vyc29yLXBvaW50ZXIgcC0yIHRleHQtd2hpdGUgcm91bmRlZFwiIChjbGljayk9XCJjb25maXJtKClcIj57e1xuICAgICAgZGF0YS5jb25maXJtVGV4dCA/IGRhdGEuY29uZmlybVRleHQgOiAnT2snXG4gICAgfX08L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Directive, HostListener, inject } from '@angular/core';
2
+ import { NavigationService } from '../services';
3
+ import * as i0 from "@angular/core";
4
+ class BackButtonDirective {
5
+ navigation = inject(NavigationService);
6
+ constructor() { }
7
+ onClick() {
8
+ this.navigation.back();
9
+ }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BackButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: BackButtonDirective, isStandalone: true, selector: "[rolatechBackButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
12
+ }
13
+ export { BackButtonDirective };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BackButtonDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[rolatechBackButton]',
18
+ standalone: true,
19
+ }]
20
+ }], ctorParameters: function () { return []; }, propDecorators: { onClick: [{
21
+ type: HostListener,
22
+ args: ['click']
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXNlcnZpY2VzL3NyYy9saWIvZGlyZWN0aXZlL2JhY2stYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUVoRCxNQUlhLG1CQUFtQjtJQUM5QixVQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsZ0JBQWUsQ0FBQztJQUVoQixPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQU5VLG1CQUFtQjsyRkFBbkIsbUJBQW1COztTQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7MEVBS0MsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JvbGF0ZWNoQmFja0J1dHRvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWNrQnV0dG9uRGlyZWN0aXZlIHtcbiAgbmF2aWdhdGlvbiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMubmF2aWdhdGlvbi5iYWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { BackButtonDirective } from './back-button.directive';
2
+ export { BackButtonDirective } from './back-button.directive';
3
+ export const SERVICE_DIRECTIVES = [BackButtonDirective];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9kaXJlY3RpdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhY2tCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2JhY2stYnV0dG9uLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7IEJhY2tCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2JhY2stYnV0dG9uLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFX0RJUkVDVElWRVM6IFByb3ZpZGVyW10gPSBbQmFja0J1dHRvbkRpcmVjdGl2ZV07XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { finalize } from 'rxjs/operators';
3
+ import { LoadingService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services";
6
+ class LoadingInterceptor {
7
+ loadingService;
8
+ activeRequests = 0;
9
+ constructor(loadingService) {
10
+ this.loadingService = loadingService;
11
+ }
12
+ intercept(request, next) {
13
+ if (this.activeRequests === 0) {
14
+ this.loadingService.start();
15
+ }
16
+ this.activeRequests++;
17
+ return next.handle(request).pipe(finalize(() => {
18
+ this.activeRequests--;
19
+ if (this.activeRequests === 0) {
20
+ this.loadingService.stop();
21
+ }
22
+ }));
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, deps: [{ token: i1.LoadingService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, providedIn: 'root' });
26
+ }
27
+ export { LoadingInterceptor };
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, decorators: [{
29
+ type: Injectable,
30
+ args: [{
31
+ providedIn: 'root',
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.LoadingService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1zZXJ2aWNlcy9zcmMvbGliL2ludGVyY2VwdG9yL2xvYWRpbmcuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRTdDLE1BR2Esa0JBQWtCO0lBR1Q7SUFGcEIsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUVuQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELFNBQVMsQ0FDUCxPQUF5QixFQUN6QixJQUFpQjtRQUVqQixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssQ0FBQyxFQUFFO2dCQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7dUdBdkJVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07O1NBRVAsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBFdmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdJbnRlcmNlcHRvciB7XG4gIGFjdGl2ZVJlcXVlc3RzID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSkge31cblxuICBpbnRlcmNlcHQoXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlUmVxdWVzdHMgPT09IDApIHtcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzKys7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy0tO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cyA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RvcCgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { APP_CONFIG } from '@rolatech/angular-common';
4
+ import { map } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ class BaseService {
8
+ http;
9
+ actionUrl;
10
+ endpoint;
11
+ environment = inject(APP_CONFIG);
12
+ constructor(http) {
13
+ this.http = http;
14
+ this.init();
15
+ }
16
+ init() {
17
+ this.actionUrl = `${this.environment.baseUrl}/${this.endpoint}`;
18
+ }
19
+ find(options) {
20
+ return this.http.get(this.actionUrl, {
21
+ params: options,
22
+ withCredentials: true,
23
+ });
24
+ }
25
+ get(id, options) {
26
+ return this.http.get(`${this.actionUrl}/${id}`, {
27
+ params: options,
28
+ withCredentials: true,
29
+ });
30
+ }
31
+ create(item) {
32
+ return this.http.post(`${this.actionUrl}`, item, {
33
+ withCredentials: true,
34
+ });
35
+ }
36
+ update(id, data) {
37
+ return this.http.put(`${this.actionUrl}/${id}`, data, {
38
+ withCredentials: true,
39
+ });
40
+ }
41
+ delete(id) {
42
+ return this.http.delete(`${this.actionUrl}/${id}`, {
43
+ withCredentials: true,
44
+ });
45
+ }
46
+ updateStatus(id, data) {
47
+ return this.http.put(`${this.actionUrl}/${id}/status`, data, {
48
+ withCredentials: true,
49
+ });
50
+ }
51
+ search(word) {
52
+ return this.http
53
+ .get(`${this.actionUrl}?search=${word}`, {
54
+ withCredentials: true,
55
+ })
56
+ .pipe(map((result) => result));
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, providedIn: 'root' });
60
+ }
61
+ export { BaseService };
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, decorators: [{
63
+ type: Injectable,
64
+ args: [{
65
+ providedIn: 'root',
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXNlcnZpY2VzL3NyYy9saWIvc2VydmljZXMvYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFVLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBRXZDLE1BR2EsV0FBVztJQUtBO0lBSlosU0FBUyxDQUFVO0lBQ3RCLFFBQVEsQ0FBVTtJQUN6QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWpDLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDcEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLENBQUksT0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEMsTUFBTSxFQUFFLE9BQU87WUFDZixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsR0FBRyxDQUFJLEVBQVUsRUFBRSxPQUFhO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ2pELE1BQU0sRUFBRSxPQUFPO1lBQ2YsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBSSxJQUFPO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDbEQsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBSSxFQUFVLEVBQUUsSUFBTztRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDdkQsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBSSxFQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3BELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZLENBQUksRUFBVSxFQUFFLElBQU87UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQzlELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVyxJQUFJLEVBQUUsRUFBRTtZQUM1QyxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO3VHQWpEVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOztTQUVQLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFQUF9DT05GSUcsIEFwcENvbmZpZyB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIGFjdGlvblVybCE6IHN0cmluZztcbiAgcHVibGljIGVuZHBvaW50ITogc3RyaW5nO1xuICBlbnZpcm9ubWVudCA9IGluamVjdChBUFBfQ09ORklHKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG4gIGluaXQoKSB7XG4gICAgdGhpcy5hY3Rpb25VcmwgPSBgJHt0aGlzLmVudmlyb25tZW50LmJhc2VVcmx9LyR7dGhpcy5lbmRwb2ludH1gO1xuICB9XG4gIGZpbmQ8VD4ob3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuYWN0aW9uVXJsLCB7XG4gICAgICBwYXJhbXM6IG9wdGlvbnMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgZ2V0PFQ+KGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH1gLCB7XG4gICAgICBwYXJhbXM6IG9wdGlvbnMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbiAgY3JlYXRlPFQ+KGl0ZW06IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4oYCR7dGhpcy5hY3Rpb25Vcmx9YCwgaXRlbSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIHVwZGF0ZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9YCwgZGF0YSwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIGRlbGV0ZTxUPihpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG4gIHVwZGF0ZVN0YXR1czxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oYCR7dGhpcy5hY3Rpb25Vcmx9LyR7aWR9L3N0YXR1c2AsIGRhdGEsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuICBzZWFyY2god29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9P3NlYXJjaD0ke3dvcmR9YCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQpID0+IHJlc3VsdCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { map, take } from 'rxjs';
4
+ import { DialogComponent } from '../components/dialog/dialog.component';
5
+ import * as i0 from "@angular/core";
6
+ class DialogService {
7
+ dialog = inject(MatDialog);
8
+ dialogRef;
9
+ open(options) {
10
+ this.dialogRef = this.dialog.open(DialogComponent, {
11
+ data: {
12
+ ...options,
13
+ },
14
+ });
15
+ }
16
+ cancelled() {
17
+ return this.dialogRef.beforeClosed().pipe(take(1), map((res) => res));
18
+ }
19
+ confirmed() {
20
+ return this.dialogRef.afterClosed().pipe(take(1), map((res) => res));
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService });
24
+ }
25
+ export { DialogService };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, decorators: [{
27
+ type: Injectable
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFcEYsTUFDYSxhQUFhO0lBQ3hCLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsU0FBUyxDQUFpQztJQUVuQyxJQUFJLENBQUMsT0FBbUI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBOEIsZUFBZSxFQUFFO1lBQzlFLElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU87YUFDWDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDdkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ2xCLENBQUM7SUFDSixDQUFDO0lBQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUNsQixDQUFDO0lBQ0osQ0FBQzt1R0F0QlUsYUFBYTsyR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQsIERpYWxvZ0RhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgZGlhbG9nUmVmITogTWF0RGlhbG9nUmVmPERpYWxvZ0NvbXBvbmVudD47XG5cbiAgcHVibGljIG9wZW4ob3B0aW9uczogRGlhbG9nRGF0YSkge1xuICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbjxEaWFsb2dDb21wb25lbnQsIERpYWxvZ0RhdGE+KERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgY2FuY2VsbGVkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmJlZm9yZUNsb3NlZCgpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKChyZXMpID0+IHJlcylcbiAgICApO1xuICB9XG4gIHB1YmxpYyBjb25maXJtZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgocmVzKSA9PiByZXMpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
2
+ import { Injectable } from '@angular/core';
3
+ import { map, shareReplay } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/layout";
6
+ class LayoutService {
7
+ breakpointObserver;
8
+ isHandset$;
9
+ constructor(breakpointObserver) {
10
+ this.breakpointObserver = breakpointObserver;
11
+ this.isHandset$ = this.breakpointObserver
12
+ .observe([Breakpoints.Small, Breakpoints.HandsetPortrait])
13
+ .pipe(map((result) => result.matches), shareReplay());
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService });
17
+ }
18
+ export { LayoutService };
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFbEQsTUFDYSxhQUFhO0lBR0o7SUFGcEIsVUFBVSxDQUFzQjtJQUVoQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0I7YUFDdEMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDekQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUMvQixXQUFXLEVBQUUsQ0FDZCxDQUFDO0lBQ04sQ0FBQzt1R0FWVSxhQUFhOzJHQUFiLGFBQWE7O1NBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExheW91dFNlcnZpY2Uge1xuICBpc0hhbmRzZXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIpIHtcbiAgICB0aGlzLmlzSGFuZHNldCQgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLlNtYWxsLCBCcmVha3BvaW50cy5IYW5kc2V0UG9ydHJhaXRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzdWx0KSA9PiByZXN1bHQubWF0Y2hlcyksXG4gICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ class LoadingService {
5
+ loading$ = new BehaviorSubject(false);
6
+ ratio$ = new BehaviorSubject(0);
7
+ isLoading = false;
8
+ constructor() { }
9
+ start() {
10
+ this.loading$.next(true);
11
+ }
12
+ stop() {
13
+ this.loading$.next(false);
14
+ }
15
+ async present(text) {
16
+ this.isLoading = true;
17
+ }
18
+ async dismiss() {
19
+ this.isLoading = false;
20
+ }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, providedIn: 'root' });
23
+ }
24
+ export { LoadingService };
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: 'root',
29
+ }]
30
+ }], ctorParameters: function () { return []; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXNlcnZpY2VzL3NyYy9saWIvc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkMsTUFHYSxjQUFjO0lBQ2xCLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVsQixnQkFBZSxDQUFDO0lBRWhCLEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQWE7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzt1R0FwQlUsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7U0FFUCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG4gIHB1YmxpYyBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgcmF0aW8kID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHN0b3AoKSB7XG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgfVxuICBhc3luYyBwcmVzZW50KHRleHQ/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gIH1cblxuICBhc3luYyBkaXNtaXNzKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BaseService } from './base.service';
3
+ import { map } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ class MediaService extends BaseService {
6
+ init() {
7
+ this.endpoint = 'media';
8
+ super.init();
9
+ }
10
+ upload(data) {
11
+ return this.http
12
+ .post(`${this.actionUrl}/upload`, data, {
13
+ reportProgress: false,
14
+ withCredentials: true,
15
+ // headers: new HttpHeaders({
16
+ // 'Content-Type': 'multipart/form-data',
17
+ // }),
18
+ })
19
+ .pipe(map((result) => result));
20
+ }
21
+ uploadAndSave(data) {
22
+ return this.http
23
+ .post(`${this.actionUrl}/save`, data, {
24
+ reportProgress: false,
25
+ withCredentials: true,
26
+ })
27
+ .pipe(map((result) => result));
28
+ }
29
+ deleteBy(filename) {
30
+ return this.http
31
+ .delete(`${this.actionUrl}/${filename}`, {})
32
+ .pipe(map((result) => result));
33
+ }
34
+ batchDelete(data) {
35
+ return this.http
36
+ .post(`${this.actionUrl}/batch`, data, { withCredentials: true })
37
+ .pipe(map((result) => result));
38
+ }
39
+ moveToGroup(data) {
40
+ return this.http
41
+ .post(`${this.actionUrl}/move`, data, { withCredentials: true })
42
+ .pipe(map((result) => result));
43
+ }
44
+ addGroup(data) {
45
+ return this.http
46
+ .post(`${this.actionUrl}/groups`, data, { withCredentials: true })
47
+ .pipe(map((result) => result));
48
+ }
49
+ findGroup(id) {
50
+ return this.http
51
+ .get(`${this.actionUrl}/groups/${id}`, { withCredentials: true })
52
+ .pipe(map((result) => result));
53
+ }
54
+ findGroups(options) {
55
+ return this.http
56
+ .get(`${this.actionUrl}/groups`, { withCredentials: true })
57
+ .pipe(map((result) => result));
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, providedIn: 'root' });
61
+ }
62
+ export { MediaService };
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, decorators: [{
64
+ type: Injectable,
65
+ args: [{
66
+ providedIn: 'root',
67
+ }]
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1zZXJ2aWNlcy9zcmMvbGliL3NlcnZpY2VzL21lZGlhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFDdkMsTUFHYSxZQUFhLFNBQVEsV0FBVztJQUNsQyxJQUFJO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQzNDLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLDZCQUE2QjtZQUM3QiwyQ0FBMkM7WUFDM0MsTUFBTTtTQUNQLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxhQUFhLENBQUMsSUFBYztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUN6QyxjQUFjLEVBQUUsS0FBSztZQUNyQixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixNQUFNLENBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBUztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBUztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBUztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxTQUFTLENBQUMsRUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNyRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsU0FBUyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQzt1R0FyRFUsWUFBWTsyR0FBWixZQUFZLGNBRlgsTUFBTTs7U0FFUCxZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcbiAgb3ZlcnJpZGUgaW5pdCgpIHtcbiAgICB0aGlzLmVuZHBvaW50ID0gJ21lZGlhJztcbiAgICBzdXBlci5pbml0KCk7XG4gIH1cbiAgdXBsb2FkKGRhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS91cGxvYWRgLCBkYXRhLCB7XG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAvLyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAvLyAgICdDb250ZW50LVR5cGUnOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgICAgIC8vIH0pLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0KSA9PiByZXN1bHQpKTtcbiAgfVxuICB1cGxvYWRBbmRTYXZlKGRhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9zYXZlYCwgZGF0YSwge1xuICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0KSk7XG4gIH1cbiAgZGVsZXRlQnkoZmlsZW5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmRlbGV0ZTxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS8ke2ZpbGVuYW1lfWAsIHt9KVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQpID0+IHJlc3VsdCkpO1xuICB9XG4gIGJhdGNoRGVsZXRlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmFjdGlvblVybH0vYmF0Y2hgLCBkYXRhLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQpID0+IHJlc3VsdCkpO1xuICB9XG4gIG1vdmVUb0dyb3VwKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmFjdGlvblVybH0vbW92ZWAsIGRhdGEsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0KSk7XG4gIH1cbiAgYWRkR3JvdXAoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuYWN0aW9uVXJsfS9ncm91cHNgLCBkYXRhLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQpID0+IHJlc3VsdCkpO1xuICB9XG4gIGZpbmRHcm91cChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L2dyb3Vwcy8ke2lkfWAsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0KSk7XG4gIH1cbiAgZmluZEdyb3VwcyhvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PGFueT4oYCR7dGhpcy5hY3Rpb25Vcmx9L2dyb3Vwc2AsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0KSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { Location } from '@angular/common';
3
+ import { NavigationEnd, Router } from '@angular/router';
4
+ import * as i0 from "@angular/core";
5
+ class NavigationService {
6
+ history = [];
7
+ router = inject(Router);
8
+ location = inject(Location);
9
+ constructor() {
10
+ this.router.events.subscribe((event) => {
11
+ if (event instanceof NavigationEnd) {
12
+ this.history.push(event.urlAfterRedirects);
13
+ }
14
+ });
15
+ }
16
+ start() {
17
+ // this.router.events.subscribe((event) => {
18
+ // if (event instanceof NavigationEnd) {
19
+ // this.history.push(event.urlAfterRedirects);
20
+ // console.log(this.history);
21
+ // }
22
+ // });
23
+ }
24
+ getHistory() {
25
+ return this.history;
26
+ }
27
+ back() {
28
+ console.log(this.history);
29
+ this.history.pop();
30
+ if (this.history.length > 0) {
31
+ this.location.back();
32
+ }
33
+ else {
34
+ this.router.navigateByUrl('/');
35
+ }
36
+ }
37
+ next() {
38
+ if (this.history.length > 0) {
39
+ return this.history[this.history.length - 2];
40
+ }
41
+ return '';
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, providedIn: 'root' });
45
+ }
46
+ export { NavigationService };
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, decorators: [{
48
+ type: Injectable,
49
+ args: [{
50
+ providedIn: 'root',
51
+ }]
52
+ }], ctorParameters: function () { return []; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXNlcnZpY2VzL3NyYy9saWIvc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxNQUdhLGlCQUFpQjtJQUNwQixPQUFPLEdBQWEsRUFBRSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QjtRQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLO1FBQ0gsNENBQTRDO1FBQzVDLDBDQUEwQztRQUMxQyxrREFBa0Q7UUFDbEQsaUNBQWlDO1FBQ2pDLE1BQU07UUFDTixNQUFNO0lBQ1IsQ0FBQztJQUNELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7dUdBcENVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07O1NBRVAsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGhpc3Rvcnk6IHN0cmluZ1tdID0gW107XG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuaGlzdG9yeS5wdXNoKGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBzdGFydCgpIHtcbiAgICAvLyB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgIC8vICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgIC8vICAgICB0aGlzLmhpc3RvcnkucHVzaChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMuaGlzdG9yeSk7XG4gICAgLy8gICB9XG4gICAgLy8gfSk7XG4gIH1cbiAgZ2V0SGlzdG9yeSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeTtcbiAgfVxuICBiYWNrKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuaGlzdG9yeSk7XG4gICAgdGhpcy5oaXN0b3J5LnBvcCgpO1xuICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKTtcbiAgICB9XG4gIH1cbiAgbmV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoIC0gMl07XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import * as i0 from "@angular/core";
4
+ class SnackBarService {
5
+ snackBar = inject(MatSnackBar);
6
+ open(message) {
7
+ this.snackBar.open(message);
8
+ }
9
+ dismiss() {
10
+ this.snackBar.dismiss();
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService });
14
+ }
15
+ export { SnackBarService };
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService, decorators: [{
17
+ type: Injectable
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRTFELE1BQ2EsZUFBZTtJQUMxQixRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLElBQUksQ0FBQyxPQUFPO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7dUdBUFUsZUFBZTsyR0FBZixlQUFlOztTQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU25hY2tCYXJTZXJ2aWNlIHtcbiAgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBvcGVuKG1lc3NhZ2UpIHtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSk7XG4gIH1cbiAgZGlzbWlzcygpIHtcbiAgICB0aGlzLnNuYWNrQmFyLmRpc21pc3MoKTtcbiAgfVxufVxuIl19