@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
@@ -12,22 +12,29 @@ import { map as map$1, shareReplay, finalize } from 'rxjs/operators';
12
12
  import { MatSnackBar } from '@angular/material/snack-bar';
13
13
 
14
14
  class NavigationService {
15
+ history = [];
16
+ router = inject(Router);
17
+ location = inject(Location);
15
18
  constructor() {
16
- this.history = [];
17
- this.router = inject(Router);
18
- this.location = inject(Location);
19
- }
20
- start() {
21
19
  this.router.events.subscribe((event) => {
22
20
  if (event instanceof NavigationEnd) {
23
21
  this.history.push(event.urlAfterRedirects);
24
22
  }
25
23
  });
26
24
  }
25
+ start() {
26
+ // this.router.events.subscribe((event) => {
27
+ // if (event instanceof NavigationEnd) {
28
+ // this.history.push(event.urlAfterRedirects);
29
+ // console.log(this.history);
30
+ // }
31
+ // });
32
+ }
27
33
  getHistory() {
28
34
  return this.history;
29
35
  }
30
36
  back() {
37
+ console.log(this.history);
31
38
  this.history.pop();
32
39
  if (this.history.length > 0) {
33
40
  this.location.back();
@@ -42,18 +49,21 @@ class NavigationService {
42
49
  }
43
50
  return '';
44
51
  }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, providedIn: 'root' });
45
54
  }
46
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NavigationService });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: NavigationService, decorators: [{
49
- type: Injectable
50
- }] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavigationService, decorators: [{
56
+ type: Injectable,
57
+ args: [{
58
+ providedIn: 'root',
59
+ }]
60
+ }], ctorParameters: function () { return []; } });
51
61
 
52
62
  class DialogComponent {
53
- constructor() {
54
- this.data = inject(MAT_DIALOG_DATA);
55
- this.dialogRef = inject((MatDialogRef));
56
- }
63
+ data = inject(MAT_DIALOG_DATA);
64
+ result;
65
+ dialogRef = inject((MatDialogRef));
66
+ componentRef;
57
67
  ngOnInit() {
58
68
  this.createComponent();
59
69
  // this.dialogRef.afterOpened().subscribe((res) => {
@@ -106,10 +116,10 @@ class DialogComponent {
106
116
  onEsc() {
107
117
  this.close(false);
108
118
  }
119
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
+ 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: [""] });
109
121
  }
110
- DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
111
- DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.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: [""] });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogComponent, decorators: [{
113
123
  type: Component,
114
124
  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" }]
115
125
  }], propDecorators: { componentRef: [{
@@ -121,9 +131,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
121
131
  }] } });
122
132
 
123
133
  class DialogService {
124
- constructor() {
125
- this.dialog = inject(MatDialog);
126
- }
134
+ dialog = inject(MatDialog);
135
+ dialogRef;
127
136
  open(options) {
128
137
  this.dialogRef = this.dialog.open(DialogComponent, {
129
138
  data: {
@@ -137,17 +146,20 @@ class DialogService {
137
146
  confirmed() {
138
147
  return this.dialogRef.afterClosed().pipe(take(1), map((res) => res));
139
148
  }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
150
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService });
140
151
  }
141
- DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
142
- DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogService });
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogService, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, decorators: [{
144
153
  type: Injectable
145
154
  }] });
146
155
 
147
156
  class BaseService {
157
+ http;
158
+ actionUrl;
159
+ endpoint;
160
+ environment = inject(APP_CONFIG);
148
161
  constructor(http) {
149
162
  this.http = http;
150
- this.environment = inject(APP_CONFIG);
151
163
  this.init();
152
164
  }
153
165
  init() {
@@ -192,10 +204,10 @@ class BaseService {
192
204
  })
193
205
  .pipe(map((result) => result));
194
206
  }
207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
208
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, providedIn: 'root' });
195
209
  }
196
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
197
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BaseService, providedIn: 'root' });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BaseService, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BaseService, decorators: [{
199
211
  type: Injectable,
200
212
  args: [{
201
213
  providedIn: 'root',
@@ -203,11 +215,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
203
215
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
204
216
 
205
217
  class LoadingService {
206
- constructor() {
207
- this.loading$ = new BehaviorSubject(false);
208
- this.ratio$ = new BehaviorSubject(0);
209
- this.isLoading = false;
210
- }
218
+ loading$ = new BehaviorSubject(false);
219
+ ratio$ = new BehaviorSubject(0);
220
+ isLoading = false;
221
+ constructor() { }
211
222
  start() {
212
223
  this.loading$.next(true);
213
224
  }
@@ -220,10 +231,10 @@ class LoadingService {
220
231
  async dismiss() {
221
232
  this.isLoading = false;
222
233
  }
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
235
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, providedIn: 'root' });
223
236
  }
224
- LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
225
- LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingService, providedIn: 'root' });
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingService, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingService, decorators: [{
227
238
  type: Injectable,
228
239
  args: [{
229
240
  providedIn: 'root',
@@ -284,10 +295,10 @@ class MediaService extends BaseService {
284
295
  .get(`${this.actionUrl}/groups`, { withCredentials: true })
285
296
  .pipe(map((result) => result));
286
297
  }
298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
299
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, providedIn: 'root' });
287
300
  }
288
- MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MediaService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
289
- MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MediaService, providedIn: 'root' });
290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MediaService, decorators: [{
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MediaService, decorators: [{
291
302
  type: Injectable,
292
303
  args: [{
293
304
  providedIn: 'root',
@@ -295,33 +306,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
295
306
  }] });
296
307
 
297
308
  class LayoutService {
309
+ breakpointObserver;
310
+ isHandset$;
298
311
  constructor(breakpointObserver) {
299
312
  this.breakpointObserver = breakpointObserver;
300
313
  this.isHandset$ = this.breakpointObserver
301
314
  .observe([Breakpoints.Small, Breakpoints.HandsetPortrait])
302
315
  .pipe(map$1((result) => result.matches), shareReplay());
303
316
  }
317
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService, deps: [{ token: i1$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
318
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService });
304
319
  }
305
- LayoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LayoutService, deps: [{ token: i1$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
306
- LayoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LayoutService });
307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LayoutService, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LayoutService, decorators: [{
308
321
  type: Injectable
309
322
  }], ctorParameters: function () { return [{ type: i1$1.BreakpointObserver }]; } });
310
323
 
311
324
  class SnackBarService {
312
- constructor() {
313
- this.snackBar = inject(MatSnackBar);
314
- }
325
+ snackBar = inject(MatSnackBar);
315
326
  open(message) {
316
327
  this.snackBar.open(message);
317
328
  }
318
329
  dismiss() {
319
330
  this.snackBar.dismiss();
320
331
  }
332
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
333
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService });
321
334
  }
322
- SnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
323
- SnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SnackBarService });
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SnackBarService, decorators: [{
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SnackBarService, decorators: [{
325
336
  type: Injectable
326
337
  }] });
327
338
 
@@ -336,46 +347,47 @@ const services = [
336
347
  ];
337
348
 
338
349
  class BackButtonDirective {
339
- constructor() {
340
- this.navigation = inject(NavigationService);
341
- console.log(323);
342
- }
350
+ navigation = inject(NavigationService);
351
+ constructor() { }
343
352
  onClick() {
344
- console.log(311);
345
353
  this.navigation.back();
346
354
  }
355
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BackButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
356
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: BackButtonDirective, isStandalone: true, selector: "[rolatechBackButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
347
357
  }
348
- BackButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BackButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
349
- BackButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: BackButtonDirective, selector: "[rolatechBackButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BackButtonDirective, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BackButtonDirective, decorators: [{
351
359
  type: Directive,
352
360
  args: [{
353
361
  selector: '[rolatechBackButton]',
362
+ standalone: true,
354
363
  }]
355
364
  }], ctorParameters: function () { return []; }, propDecorators: { onClick: [{
356
365
  type: HostListener,
357
366
  args: ['click']
358
367
  }] } });
359
368
 
369
+ const SERVICE_DIRECTIVES = [BackButtonDirective];
370
+
360
371
  class AngularServicesModule {
372
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
373
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, declarations: [DialogComponent], imports: [AngularCommonModule, BackButtonDirective], exports: [BackButtonDirective] });
374
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, providers: [...services], imports: [AngularCommonModule] });
361
375
  }
362
- AngularServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
363
- AngularServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, declarations: [DialogComponent, BackButtonDirective], imports: [AngularCommonModule] });
364
- AngularServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, providers: [...services], imports: [AngularCommonModule] });
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, decorators: [{
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AngularServicesModule, decorators: [{
366
377
  type: NgModule,
367
378
  args: [{
368
- imports: [AngularCommonModule],
379
+ imports: [AngularCommonModule, SERVICE_DIRECTIVES],
369
380
  providers: [...services],
370
- declarations: [DialogComponent, BackButtonDirective],
371
- exports: [],
381
+ declarations: [DialogComponent],
382
+ exports: [SERVICE_DIRECTIVES],
372
383
  }]
373
384
  }] });
374
385
 
375
386
  class LoadingInterceptor {
387
+ loadingService;
388
+ activeRequests = 0;
376
389
  constructor(loadingService) {
377
390
  this.loadingService = loadingService;
378
- this.activeRequests = 0;
379
391
  }
380
392
  intercept(request, next) {
381
393
  if (this.activeRequests === 0) {
@@ -389,10 +401,10 @@ class LoadingInterceptor {
389
401
  }
390
402
  }));
391
403
  }
404
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Injectable });
405
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, providedIn: 'root' });
392
406
  }
393
- LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Injectable });
394
- LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingInterceptor, providedIn: 'root' });
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: LoadingInterceptor, decorators: [{
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LoadingInterceptor, decorators: [{
396
408
  type: Injectable,
397
409
  args: [{
398
410
  providedIn: 'root',
@@ -403,5 +415,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
403
415
  * Generated bundle index. Do not edit.
404
416
  */
405
417
 
406
- export { AngularServicesModule, BackButtonDirective, BaseService, DialogService, LayoutService, LoadingInterceptor, LoadingService, MediaService, NavigationService, SnackBarService, services };
418
+ export { AngularServicesModule, BackButtonDirective, BaseService, DialogService, LayoutService, LoadingInterceptor, LoadingService, MediaService, NavigationService, SERVICE_DIRECTIVES, SnackBarService, services };
407
419
  //# sourceMappingURL=rolatech-angular-services.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-services.mjs","sources":["../../../../libs/angular-services/src/lib/services/navigation.service.ts","../../../../libs/angular-services/src/lib/components/dialog/dialog.component.ts","../../../../libs/angular-services/src/lib/components/dialog/dialog.component.html","../../../../libs/angular-services/src/lib/services/dialog.service.ts","../../../../libs/angular-services/src/lib/services/base.service.ts","../../../../libs/angular-services/src/lib/services/loading.service.ts","../../../../libs/angular-services/src/lib/services/media.service.ts","../../../../libs/angular-services/src/lib/services/layout.service.ts","../../../../libs/angular-services/src/lib/services/snack-bar.service.ts","../../../../libs/angular-services/src/lib/services/index.ts","../../../../libs/angular-services/src/lib/directive/back-button.directive.ts","../../../../libs/angular-services/src/lib/directive/index.ts","../../../../libs/angular-services/src/lib/angular-services.module.ts","../../../../libs/angular-services/src/lib/interceptor/loading.interceptor.ts","../../../../libs/angular-services/src/rolatech-angular-services.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavigationService {\n private history: string[] = [];\n router = inject(Router);\n location = inject(Location);\n constructor() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n start() {\n // this.router.events.subscribe((event) => {\n // if (event instanceof NavigationEnd) {\n // this.history.push(event.urlAfterRedirects);\n // console.log(this.history);\n // }\n // });\n }\n getHistory(): string[] {\n return this.history;\n }\n back(): void {\n console.log(this.history);\n this.history.pop();\n if (this.history.length > 0) {\n this.location.back();\n } else {\n this.router.navigateByUrl('/');\n }\n }\n next(): string {\n if (this.history.length > 0) {\n return this.history[this.history.length - 2];\n }\n return '';\n }\n}\n","import {\n Component,\n ComponentRef,\n EventEmitter,\n HostListener,\n inject,\n InjectionToken,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface DialogData {\n title: string;\n message?: string;\n cancelText?: string;\n confirmText?: string;\n component?: any;\n width?: any;\n height?: any;\n data?: any;\n}\nexport interface IDynamicDialogConfig {\n title?: string;\n okText?: string;\n cancelText?: string;\n component: Component;\n data: any;\n}\n@Component({\n selector: 'rolatech-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class DialogComponent implements OnInit, OnDestroy {\n data: DialogData = inject(MAT_DIALOG_DATA);\n result: any;\n dialogRef = inject(MatDialogRef<DialogComponent>);\n\n @ViewChild('container', { read: ViewContainerRef, static: true })\n public componentRef!: ViewContainerRef;\n\n ngOnInit() {\n this.createComponent();\n // this.dialogRef.afterOpened().subscribe((res) => {\n // console.log(res);\n // this.result = res;\n // this.dialogRef.componentInstance['someOutput'].subscribe((res) => {\n // console.log(res);\n // });\n // });\n }\n createComponent() {\n this.componentRef.clear();\n const componentRef = this.componentRef.createComponent<DialogComponent>(this.data.component);\n const hostedComponent = componentRef.instance;\n // hostedComponent.data = this.data.data;\n\n // componentRef.instance['someOutput'].subsribe();\n\n if (this.data.data) {\n Object.keys(this.data.data).forEach((inputName) => {\n hostedComponent[inputName] = this.data.data[inputName];\n });\n }\n\n Object.keys(hostedComponent)\n .filter((prop) => hostedComponent[prop] instanceof EventEmitter)\n .forEach((output) => {\n this[output] = new EventEmitter();\n hostedComponent[output].subscribe((data) => {\n console.log(data);\n this[output].emit(data);\n });\n });\n this.dialogRef.afterOpened().subscribe(() => {\n this.dialogRef.componentInstance['someOutput'].subscribe((res) => {\n console.log(res);\n this.result = res;\n });\n });\n }\n\n ngOnDestroy() {\n this.componentRef.clear();\n }\n\n public cancel() {\n this.close(false);\n }\n public close(value) {\n this.dialogRef.close(value);\n }\n public confirm() {\n this.close(this.result);\n }\n @HostListener('keydown.esc')\n public onEsc() {\n this.close(false);\n }\n}\n","<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","import { inject, Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { map, Observable, take } from 'rxjs';\nimport { DialogComponent, DialogData } from '../components/dialog/dialog.component';\n\n@Injectable()\nexport class DialogService {\n dialog = inject(MatDialog);\n dialogRef!: MatDialogRef<DialogComponent>;\n\n public open(options: DialogData) {\n this.dialogRef = this.dialog.open<DialogComponent, DialogData>(DialogComponent, {\n data: {\n ...options,\n },\n });\n }\n public cancelled(): Observable<any> {\n return this.dialogRef.beforeClosed().pipe(\n take(1),\n map((res) => res)\n );\n }\n public confirmed(): Observable<any> {\n return this.dialogRef.afterClosed().pipe(\n take(1),\n map((res) => res)\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Inject, Injectable } from '@angular/core';\nimport { APP_CONFIG, AppConfig } from '@rolatech/angular-common';\nimport { map, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BaseService {\n protected actionUrl!: string;\n public endpoint!: string;\n environment = inject(APP_CONFIG);\n\n constructor(protected http: HttpClient) {\n this.init();\n }\n init() {\n this.actionUrl = `${this.environment.baseUrl}/${this.endpoint}`;\n }\n find<T>(options?: any): Observable<T> {\n return this.http.get<T>(this.actionUrl, {\n params: options,\n withCredentials: true,\n });\n }\n get<T>(id: string, options?: any): Observable<T> {\n return this.http.get<T>(`${this.actionUrl}/${id}`, {\n params: options,\n withCredentials: true,\n });\n }\n create<T>(item: T): Observable<T> {\n return this.http.post<T>(`${this.actionUrl}`, item, {\n withCredentials: true,\n });\n }\n update<T>(id: string, data: T): Observable<T> {\n return this.http.put<T>(`${this.actionUrl}/${id}`, data, {\n withCredentials: true,\n });\n }\n delete<T>(id: string): Observable<T> {\n return this.http.delete<T>(`${this.actionUrl}/${id}`, {\n withCredentials: true,\n });\n }\n updateStatus<T>(id: string, data: T): Observable<T> {\n return this.http.put<T>(`${this.actionUrl}/${id}/status`, data, {\n withCredentials: true,\n });\n }\n search(word: string): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}?search=${word}`, {\n withCredentials: true,\n })\n .pipe(map((result) => result));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n public loading$ = new BehaviorSubject(false);\n public ratio$ = new BehaviorSubject(0);\n isLoading = false;\n\n constructor() {}\n\n start() {\n this.loading$.next(true);\n }\n\n stop() {\n this.loading$.next(false);\n }\n async present(text?: string) {\n this.isLoading = true;\n }\n\n async dismiss() {\n this.isLoading = false;\n }\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseService } from './base.service';\nimport { map, Observable } from 'rxjs';\n@Injectable({\n providedIn: 'root',\n})\nexport class MediaService extends BaseService {\n override init() {\n this.endpoint = 'media';\n super.init();\n }\n upload(data: FormData): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/upload`, data, {\n reportProgress: false,\n withCredentials: true,\n // headers: new HttpHeaders({\n // 'Content-Type': 'multipart/form-data',\n // }),\n })\n .pipe(map((result) => result));\n }\n uploadAndSave(data: FormData): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/save`, data, {\n reportProgress: false,\n withCredentials: true,\n })\n .pipe(map((result) => result));\n }\n deleteBy(filename: string): Observable<any> {\n return this.http\n .delete<any>(`${this.actionUrl}/${filename}`, {})\n .pipe(map((result) => result));\n }\n batchDelete(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/batch`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n moveToGroup(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/move`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n addGroup(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/groups`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n findGroup(id: string): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}/groups/${id}`, { withCredentials: true })\n .pipe(map((result) => result));\n }\n findGroups(options?: any): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}/groups`, { withCredentials: true })\n .pipe(map((result) => result));\n }\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n isHandset$: Observable<boolean>;\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.isHandset$ = this.breakpointObserver\n .observe([Breakpoints.Small, Breakpoints.HandsetPortrait])\n .pipe(\n map((result) => result.matches),\n shareReplay()\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Injectable()\nexport class SnackBarService {\n snackBar = inject(MatSnackBar);\n open(message) {\n this.snackBar.open(message);\n }\n dismiss() {\n this.snackBar.dismiss();\n }\n}\n","import { NavigationService } from './navigation.service';\nimport { DialogService } from './dialog.service';\nimport { BaseService } from './base.service';\nimport { LoadingService } from './loading.service';\nimport { MediaService } from './media.service';\nimport { LayoutService } from './layout.service';\nimport { SnackBarService } from './snack-bar.service';\n\nexport { BaseService, LoadingService, MediaService, LayoutService, DialogService, SnackBarService, NavigationService };\n\nexport const services: any[] = [\n BaseService,\n LoadingService,\n MediaService,\n LayoutService,\n DialogService,\n SnackBarService,\n NavigationService,\n];\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport { NavigationService } from '../services';\n\n@Directive({\n selector: '[rolatechBackButton]',\n standalone: true,\n})\nexport class BackButtonDirective {\n navigation = inject(NavigationService);\n constructor() {}\n @HostListener('click')\n onClick(): void {\n this.navigation.back();\n }\n}\n","import { Provider } from '@angular/core';\nimport { BackButtonDirective } from './back-button.directive';\n\nexport { BackButtonDirective } from './back-button.directive';\n\nexport const SERVICE_DIRECTIVES: Provider[] = [BackButtonDirective];\n","import { NgModule } from '@angular/core';\nimport * as fromServices from './services';\nimport { DialogComponent } from './components/dialog/dialog.component';\nimport { SERVICE_DIRECTIVES } from './directive';\nimport { AngularCommonModule } from '@rolatech/angular-common';\n\n@NgModule({\n imports: [AngularCommonModule, SERVICE_DIRECTIVES],\n providers: [...fromServices.services],\n declarations: [DialogComponent],\n exports: [SERVICE_DIRECTIVES],\n})\nexport class AngularServicesModule {}\n","import { Injectable } from '@angular/core';\nimport {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { LoadingService } from '../services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingInterceptor {\n activeRequests = 0;\n\n constructor(private loadingService: LoadingService) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (this.activeRequests === 0) {\n this.loadingService.start();\n }\n\n this.activeRequests++;\n\n return next.handle(request).pipe(\n finalize(() => {\n this.activeRequests--;\n if (this.activeRequests === 0) {\n this.loadingService.stop();\n }\n })\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1","i1.BackButtonDirective","fromServices.services","i1.LoadingService"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./components/dialog/dialog.component";
3
- import * as i2 from "./directive/back-button.directive";
4
- import * as i3 from "@rolatech/angular-common";
3
+ import * as i2 from "@rolatech/angular-common";
4
+ import * as i3 from "./directive/back-button.directive";
5
5
  export declare class AngularServicesModule {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularServicesModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularServicesModule, [typeof i1.DialogComponent, typeof i2.BackButtonDirective], [typeof i3.AngularCommonModule], never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularServicesModule, [typeof i1.DialogComponent], [typeof i2.AngularCommonModule, typeof i3.BackButtonDirective], [typeof i3.BackButtonDirective]>;
8
8
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularServicesModule>;
9
9
  }
@@ -5,5 +5,5 @@ export declare class BackButtonDirective {
5
5
  constructor();
6
6
  onClick(): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<BackButtonDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<BackButtonDirective, "[rolatechBackButton]", never, {}, {}, never, never, false, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BackButtonDirective, "[rolatechBackButton]", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -1 +1,3 @@
1
+ import { Provider } from '@angular/core';
1
2
  export { BackButtonDirective } from './back-button.directive';
3
+ export declare const SERVICE_DIRECTIVES: Provider[];
@@ -5,6 +5,7 @@ export declare class NavigationService {
5
5
  private history;
6
6
  router: Router;
7
7
  location: Location;
8
+ constructor();
8
9
  start(): void;
9
10
  getHistory(): string[];
10
11
  back(): void;
package/package.json CHANGED
@@ -1,21 +1,17 @@
1
1
  {
2
2
  "name": "@rolatech/angular-services",
3
- "version": "0.2.1",
3
+ "version": "16.0.0",
4
4
  "peerDependencies": {
5
- "@angular/common": "^15.2.0",
6
- "@angular/core": "^15.2.0",
7
- "@rolatech/angular-common": "0.2.1",
8
- "rxjs": "~7.8.0",
9
- "@angular/router": "~15.2.0"
5
+ "@angular/common": "^16.0.0",
6
+ "@angular/core": "^16.0.0",
7
+ "@rolatech/angular-common": "16.0.0",
8
+ "rxjs": "7.8.1",
9
+ "@angular/router": "16.0.0"
10
10
  },
11
11
  "dependencies": {
12
12
  "tslib": "^2.5.0"
13
13
  },
14
- "module": "fesm2015/rolatech-angular-services.mjs",
15
- "es2020": "fesm2020/rolatech-angular-services.mjs",
16
- "esm2020": "esm2020/rolatech-angular-services.mjs",
17
- "fesm2020": "fesm2020/rolatech-angular-services.mjs",
18
- "fesm2015": "fesm2015/rolatech-angular-services.mjs",
14
+ "module": "fesm2022/rolatech-angular-services.mjs",
19
15
  "typings": "index.d.ts",
20
16
  "exports": {
21
17
  "./package.json": {
@@ -23,11 +19,9 @@
23
19
  },
24
20
  ".": {
25
21
  "types": "./index.d.ts",
26
- "esm2020": "./esm2020/rolatech-angular-services.mjs",
27
- "es2020": "./fesm2020/rolatech-angular-services.mjs",
28
- "es2015": "./fesm2015/rolatech-angular-services.mjs",
29
- "node": "./fesm2015/rolatech-angular-services.mjs",
30
- "default": "./fesm2020/rolatech-angular-services.mjs"
22
+ "esm2022": "./esm2022/rolatech-angular-services.mjs",
23
+ "esm": "./esm2022/rolatech-angular-services.mjs",
24
+ "default": "./fesm2022/rolatech-angular-services.mjs"
31
25
  }
32
26
  },
33
27
  "sideEffects": false
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import * as fromServices from './services';
3
- import { DialogComponent } from './components/dialog/dialog.component';
4
- import { BackButtonDirective } from './directive';
5
- import { AngularCommonModule } from '@rolatech/angular-common';
6
- import * as i0 from "@angular/core";
7
- export class AngularServicesModule {
8
- }
9
- AngularServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- AngularServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, declarations: [DialogComponent, BackButtonDirective], imports: [AngularCommonModule] });
11
- AngularServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, providers: [...fromServices.services], imports: [AngularCommonModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: AngularServicesModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [AngularCommonModule],
16
- providers: [...fromServices.services],
17
- declarations: [DialogComponent, BackButtonDirective],
18
- exports: [],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9hbmd1bGFyLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxZQUFZLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBUS9ELE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFIakIsZUFBZSxFQUFFLG1CQUFtQixhQUZ6QyxtQkFBbUI7bUhBS2xCLHFCQUFxQixhQUpyQixDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUQzQixtQkFBbUI7MkZBS2xCLHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO29CQUNyQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGZyb21TZXJ2aWNlcyBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWNrQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbLi4uZnJvbVNlcnZpY2VzLnNlcnZpY2VzXSxcbiAgZGVjbGFyYXRpb25zOiBbRGlhbG9nQ29tcG9uZW50LCBCYWNrQnV0dG9uRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJTZXJ2aWNlc01vZHVsZSB7fVxuIl19
@@ -1,74 +0,0 @@
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
- export class DialogComponent {
5
- constructor() {
6
- this.data = inject(MAT_DIALOG_DATA);
7
- this.dialogRef = inject((MatDialogRef));
8
- }
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
- }
62
- DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.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: [""] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DialogComponent, decorators: [{
65
- type: Component,
66
- 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" }]
67
- }], propDecorators: { componentRef: [{
68
- type: ViewChild,
69
- args: ['container', { read: ViewContainerRef, static: true }]
70
- }], onEsc: [{
71
- type: HostListener,
72
- args: ['keydown.esc']
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1zZXJ2aWNlcy9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFLTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBd0J6RSxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQU1FLFNBQUksR0FBZSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQTZCLENBQUEsQ0FBQyxDQUFDO0tBK0RuRDtJQTFEQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLG9EQUFvRDtRQUNwRCxzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdFQUF3RTtRQUN4RSx3QkFBd0I7UUFDeEIsUUFBUTtRQUNSLE1BQU07SUFDUixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0YsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUM5Qyx5Q0FBeUM7UUFFekMsa0RBQWtEO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNoRCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQ3pCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLFlBQVksQ0FBQzthQUMvRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNsQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ00sS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNNLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7NEdBakVVLGVBQWU7Z0dBQWYsZUFBZSxnTUFLTSxnQkFBZ0IsMkNDMUNsRCxxd0JBaUJBOzJGRG9CYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGlCQUFpQjs4QkFVcEIsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwRHpELEtBQUs7c0JBRFgsWUFBWTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XG4gIGNvbmZpcm1UZXh0Pzogc3RyaW5nO1xuICBjb21wb25lbnQ/OiBhbnk7XG4gIHdpZHRoPzogYW55O1xuICBoZWlnaHQ/OiBhbnk7XG4gIGRhdGE/OiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIElEeW5hbWljRGlhbG9nQ29uZmlnIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG9rVGV4dD86IHN0cmluZztcbiAgY2FuY2VsVGV4dD86IHN0cmluZztcbiAgY29tcG9uZW50OiBDb21wb25lbnQ7XG4gIGRhdGE6IGFueTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBkYXRhOiBEaWFsb2dEYXRhID0gaW5qZWN0KE1BVF9ESUFMT0dfREFUQSk7XG4gIHJlc3VsdDogYW55O1xuICBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPERpYWxvZ0NvbXBvbmVudD4pO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjb21wb25lbnRSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KCk7XG4gICAgLy8gdGhpcy5kaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAvLyAgIHRoaXMucmVzdWx0ID0gcmVzO1xuICAgIC8vICAgdGhpcy5kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2VbJ3NvbWVPdXRwdXQnXS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgIC8vICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgIC8vICAgfSk7XG4gICAgLy8gfSk7XG4gIH1cbiAgY3JlYXRlQ29tcG9uZW50KCkge1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmNsZWFyKCk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRSZWYuY3JlYXRlQ29tcG9uZW50PERpYWxvZ0NvbXBvbmVudD4odGhpcy5kYXRhLmNvbXBvbmVudCk7XG4gICAgY29uc3QgaG9zdGVkQ29tcG9uZW50ID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIC8vIGhvc3RlZENvbXBvbmVudC5kYXRhID0gdGhpcy5kYXRhLmRhdGE7XG5cbiAgICAvLyBjb21wb25lbnRSZWYuaW5zdGFuY2VbJ3NvbWVPdXRwdXQnXS5zdWJzcmliZSgpO1xuXG4gICAgaWYgKHRoaXMuZGF0YS5kYXRhKSB7XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRhdGEuZGF0YSkuZm9yRWFjaCgoaW5wdXROYW1lKSA9PiB7XG4gICAgICAgIGhvc3RlZENvbXBvbmVudFtpbnB1dE5hbWVdID0gdGhpcy5kYXRhLmRhdGFbaW5wdXROYW1lXTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGhvc3RlZENvbXBvbmVudClcbiAgICAgIC5maWx0ZXIoKHByb3ApID0+IGhvc3RlZENvbXBvbmVudFtwcm9wXSBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcilcbiAgICAgIC5mb3JFYWNoKChvdXRwdXQpID0+IHtcbiAgICAgICAgdGhpc1tvdXRwdXRdID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgICAgICBob3N0ZWRDb21wb25lbnRbb3V0cHV0XS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgICB0aGlzW291dHB1dF0uZW1pdChkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZVsnc29tZU91dHB1dCddLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgIHRoaXMucmVzdWx0ID0gcmVzO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpIHtcbiAgICB0aGlzLmNsb3NlKGZhbHNlKTtcbiAgfVxuICBwdWJsaWMgY2xvc2UodmFsdWUpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jbG9zZSh0aGlzLnJlc3VsdCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnKVxuICBwdWJsaWMgb25Fc2MoKSB7XG4gICAgdGhpcy5jbG9zZShmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwLTMgZmxleCBmbGV4LWNvbCBtaW4tdy1bMzIwcHhdXCIgc3R5bGU9XCJ3aWR0aDoge3sgZGF0YS53aWR0aCB9fTtoZWlnaHQ6IHt7IGRhdGEuaGVpZ2h0IH19XCI+XG4gIDxkaXYgY2xhc3M9XCJwLTJcIj5cbiAgICA8aDEgY2xhc3M9XCJ0ZXh0LXhsXCI+e3sgZGF0YS50aXRsZSB9fTwvaDE+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicC0yXCI+XG4gICAgPHAgY2xhc3M9XCJcIj57eyBkYXRhLm1lc3NhZ2UgfX08L3A+XG4gICAgPG5nLXRlbXBsYXRlICNjb250YWluZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8IS0tIDxuZy1jb250YWluZXIgI2NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj4gLS0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleC0xXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBwLTIgbXQtM1wiPlxuICAgIDxhIGNsYXNzPVwibXItMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7IGRhdGEuY2FuY2VsVGV4dCA/IGRhdGEuY2FuY2VsVGV4dCA6ICdDYW5jZWwnIH19PC9hPlxuICAgIDxhIGNsYXNzPVwidy0yMCB0ZXh0LWNlbnRlciBob3ZlcjpiZy1ibGFjayBiZy1ibGFjayBjdXJzb3ItcG9pbnRlciBwLTIgdGV4dC13aGl0ZSByb3VuZGVkXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPnt7XG4gICAgICBkYXRhLmNvbmZpcm1UZXh0ID8gZGF0YS5jb25maXJtVGV4dCA6ICdPaydcbiAgICB9fTwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Directive, HostListener, inject } from '@angular/core';
2
- import { NavigationService } from '../services';
3
- import * as i0 from "@angular/core";
4
- export class BackButtonDirective {
5
- constructor() {
6
- this.navigation = inject(NavigationService);
7
- console.log(323);
8
- }
9
- onClick() {
10
- console.log(311);
11
- this.navigation.back();
12
- }
13
- }
14
- BackButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BackButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15
- BackButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: BackButtonDirective, selector: "[rolatechBackButton]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: BackButtonDirective, decorators: [{
17
- type: Directive,
18
- args: [{
19
- selector: '[rolatechBackButton]',
20
- }]
21
- }], ctorParameters: function () { return []; }, propDecorators: { onClick: [{
22
- type: HostListener,
23
- args: ['click']
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXNlcnZpY2VzL3NyYy9saWIvZGlyZWN0aXZlL2JhY2stYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUtoRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO1FBREEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7Z0hBVFUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzswRUFPQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcm9sYXRlY2hCYWNrQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIEJhY2tCdXR0b25EaXJlY3RpdmUge1xuICBuYXZpZ2F0aW9uID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc29sZS5sb2coMzIzKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coMzExKTtcbiAgICB0aGlzLm5hdmlnYXRpb24uYmFjaygpO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { BackButtonDirective } from './back-button.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItc2VydmljZXMvc3JjL2xpYi9kaXJlY3RpdmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCYWNrQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9iYWNrLWJ1dHRvbi5kaXJlY3RpdmUnO1xuIl19