@rolatech/angular-services 0.0.25 → 0.2.1

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 (32) hide show
  1. package/esm2020/index.mjs +3 -1
  2. package/esm2020/lib/angular-services.module.mjs +11 -7
  3. package/esm2020/lib/components/dialog/dialog.component.mjs +74 -0
  4. package/esm2020/lib/directive/back-button.directive.mjs +25 -0
  5. package/esm2020/lib/directive/index.mjs +2 -0
  6. package/esm2020/lib/interceptor/index.mjs +2 -0
  7. package/esm2020/lib/interceptor/loading.interceptor.mjs +32 -0
  8. package/esm2020/lib/services/base.service.mjs +9 -13
  9. package/esm2020/lib/services/dialog.service.mjs +29 -0
  10. package/esm2020/lib/services/index.mjs +8 -2
  11. package/esm2020/lib/services/layout.service.mjs +3 -3
  12. package/esm2020/lib/services/loading.service.mjs +3 -3
  13. package/esm2020/lib/services/media.service.mjs +3 -3
  14. package/esm2020/lib/services/navigation.service.mjs +42 -0
  15. package/esm2020/lib/services/snack-bar.service.mjs +20 -0
  16. package/fesm2015/rolatech-angular-services.mjs +231 -32
  17. package/fesm2015/rolatech-angular-services.mjs.map +1 -1
  18. package/fesm2020/rolatech-angular-services.mjs +233 -30
  19. package/fesm2020/rolatech-angular-services.mjs.map +1 -1
  20. package/index.d.ts +2 -0
  21. package/lib/angular-services.module.d.ts +4 -2
  22. package/lib/components/dialog/dialog.component.d.ts +35 -0
  23. package/lib/directive/back-button.directive.d.ts +9 -0
  24. package/lib/directive/index.d.ts +1 -0
  25. package/lib/interceptor/index.d.ts +1 -0
  26. package/lib/interceptor/loading.interceptor.d.ts +12 -0
  27. package/lib/services/base.service.d.ts +2 -2
  28. package/lib/services/dialog.service.d.ts +13 -0
  29. package/lib/services/index.d.ts +4 -1
  30. package/lib/services/navigation.service.d.ts +14 -0
  31. package/lib/services/snack-bar.service.d.ts +9 -0
  32. package/package.json +7 -6
@@ -1,18 +1,153 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { inject, Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, HostListener, Directive, NgModule } from '@angular/core';
3
+ import { Location } from '@angular/common';
4
+ import { Router, NavigationEnd } from '@angular/router';
5
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';
6
+ import { take, map, BehaviorSubject } from 'rxjs';
4
7
  import * as i1 from '@angular/common/http';
5
- import * as i2 from '@rolatech/angular-common';
6
- import { APP_CONFIG } from '@rolatech/angular-common';
7
- import { map, BehaviorSubject } from 'rxjs';
8
+ import { APP_CONFIG, AngularCommonModule } from '@rolatech/angular-common';
8
9
  import * as i1$1 from '@angular/cdk/layout';
9
10
  import { Breakpoints } from '@angular/cdk/layout';
10
- import { map as map$1, shareReplay } from 'rxjs/operators';
11
+ import { map as map$1, shareReplay, finalize } from 'rxjs/operators';
12
+ import { MatSnackBar } from '@angular/material/snack-bar';
13
+
14
+ class NavigationService {
15
+ constructor() {
16
+ this.history = [];
17
+ this.router = inject(Router);
18
+ this.location = inject(Location);
19
+ }
20
+ start() {
21
+ this.router.events.subscribe((event) => {
22
+ if (event instanceof NavigationEnd) {
23
+ this.history.push(event.urlAfterRedirects);
24
+ }
25
+ });
26
+ }
27
+ getHistory() {
28
+ return this.history;
29
+ }
30
+ back() {
31
+ this.history.pop();
32
+ if (this.history.length > 0) {
33
+ this.location.back();
34
+ }
35
+ else {
36
+ this.router.navigateByUrl('/');
37
+ }
38
+ }
39
+ next() {
40
+ if (this.history.length > 0) {
41
+ return this.history[this.history.length - 2];
42
+ }
43
+ return '';
44
+ }
45
+ }
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
+ }] });
51
+
52
+ class DialogComponent {
53
+ constructor() {
54
+ this.data = inject(MAT_DIALOG_DATA);
55
+ this.dialogRef = inject((MatDialogRef));
56
+ }
57
+ ngOnInit() {
58
+ this.createComponent();
59
+ // this.dialogRef.afterOpened().subscribe((res) => {
60
+ // console.log(res);
61
+ // this.result = res;
62
+ // this.dialogRef.componentInstance['someOutput'].subscribe((res) => {
63
+ // console.log(res);
64
+ // });
65
+ // });
66
+ }
67
+ createComponent() {
68
+ this.componentRef.clear();
69
+ const componentRef = this.componentRef.createComponent(this.data.component);
70
+ const hostedComponent = componentRef.instance;
71
+ // hostedComponent.data = this.data.data;
72
+ // componentRef.instance['someOutput'].subsribe();
73
+ if (this.data.data) {
74
+ Object.keys(this.data.data).forEach((inputName) => {
75
+ hostedComponent[inputName] = this.data.data[inputName];
76
+ });
77
+ }
78
+ Object.keys(hostedComponent)
79
+ .filter((prop) => hostedComponent[prop] instanceof EventEmitter)
80
+ .forEach((output) => {
81
+ this[output] = new EventEmitter();
82
+ hostedComponent[output].subscribe((data) => {
83
+ console.log(data);
84
+ this[output].emit(data);
85
+ });
86
+ });
87
+ this.dialogRef.afterOpened().subscribe(() => {
88
+ this.dialogRef.componentInstance['someOutput'].subscribe((res) => {
89
+ console.log(res);
90
+ this.result = res;
91
+ });
92
+ });
93
+ }
94
+ ngOnDestroy() {
95
+ this.componentRef.clear();
96
+ }
97
+ cancel() {
98
+ this.close(false);
99
+ }
100
+ close(value) {
101
+ this.dialogRef.close(value);
102
+ }
103
+ confirm() {
104
+ this.close(this.result);
105
+ }
106
+ onEsc() {
107
+ this.close(false);
108
+ }
109
+ }
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: [{
113
+ type: Component,
114
+ 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
+ }], propDecorators: { componentRef: [{
116
+ type: ViewChild,
117
+ args: ['container', { read: ViewContainerRef, static: true }]
118
+ }], onEsc: [{
119
+ type: HostListener,
120
+ args: ['keydown.esc']
121
+ }] } });
122
+
123
+ class DialogService {
124
+ constructor() {
125
+ this.dialog = inject(MatDialog);
126
+ }
127
+ open(options) {
128
+ this.dialogRef = this.dialog.open(DialogComponent, {
129
+ data: {
130
+ ...options,
131
+ },
132
+ });
133
+ }
134
+ cancelled() {
135
+ return this.dialogRef.beforeClosed().pipe(take(1), map((res) => res));
136
+ }
137
+ confirmed() {
138
+ return this.dialogRef.afterClosed().pipe(take(1), map((res) => res));
139
+ }
140
+ }
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: [{
144
+ type: Injectable
145
+ }] });
11
146
 
12
147
  class BaseService {
13
- constructor(http, environment) {
148
+ constructor(http) {
14
149
  this.http = http;
15
- this.environment = environment;
150
+ this.environment = inject(APP_CONFIG);
16
151
  this.init();
17
152
  }
18
153
  init() {
@@ -58,17 +193,14 @@ class BaseService {
58
193
  .pipe(map((result) => result));
59
194
  }
60
195
  }
61
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }, { token: APP_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
62
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, providedIn: 'root' });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, decorators: [{
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: [{
64
199
  type: Injectable,
65
200
  args: [{
66
201
  providedIn: 'root',
67
202
  }]
68
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AppConfig, decorators: [{
69
- type: Inject,
70
- args: [APP_CONFIG]
71
- }] }]; } });
203
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
72
204
 
73
205
  class LoadingService {
74
206
  constructor() {
@@ -89,9 +221,9 @@ class LoadingService {
89
221
  this.isLoading = false;
90
222
  }
91
223
  }
92
- LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
- LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, providedIn: 'root' });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, decorators: [{
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: [{
95
227
  type: Injectable,
96
228
  args: [{
97
229
  providedIn: 'root',
@@ -153,9 +285,9 @@ class MediaService extends BaseService {
153
285
  .pipe(map((result) => result));
154
286
  }
155
287
  }
156
- MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
157
- MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, providedIn: 'root' });
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, decorators: [{
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: [{
159
291
  type: Injectable,
160
292
  args: [{
161
293
  providedIn: 'root',
@@ -170,35 +302,106 @@ class LayoutService {
170
302
  .pipe(map$1((result) => result.matches), shareReplay());
171
303
  }
172
304
  }
173
- LayoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService, deps: [{ token: i1$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
174
- LayoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService, decorators: [{
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: [{
176
308
  type: Injectable
177
309
  }], ctorParameters: function () { return [{ type: i1$1.BreakpointObserver }]; } });
178
310
 
311
+ class SnackBarService {
312
+ constructor() {
313
+ this.snackBar = inject(MatSnackBar);
314
+ }
315
+ open(message) {
316
+ this.snackBar.open(message);
317
+ }
318
+ dismiss() {
319
+ this.snackBar.dismiss();
320
+ }
321
+ }
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: [{
325
+ type: Injectable
326
+ }] });
327
+
179
328
  const services = [
180
329
  BaseService,
181
330
  LoadingService,
182
331
  MediaService,
183
332
  LayoutService,
333
+ DialogService,
334
+ SnackBarService,
335
+ NavigationService,
184
336
  ];
185
337
 
338
+ class BackButtonDirective {
339
+ constructor() {
340
+ this.navigation = inject(NavigationService);
341
+ console.log(323);
342
+ }
343
+ onClick() {
344
+ console.log(311);
345
+ this.navigation.back();
346
+ }
347
+ }
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: [{
351
+ type: Directive,
352
+ args: [{
353
+ selector: '[rolatechBackButton]',
354
+ }]
355
+ }], ctorParameters: function () { return []; }, propDecorators: { onClick: [{
356
+ type: HostListener,
357
+ args: ['click']
358
+ }] } });
359
+
186
360
  class AngularServicesModule {
187
361
  }
188
- AngularServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
189
- AngularServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, imports: [CommonModule] });
190
- AngularServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, providers: [...services], imports: [CommonModule] });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, decorators: [{
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: [{
192
366
  type: NgModule,
193
367
  args: [{
194
- imports: [CommonModule],
368
+ imports: [AngularCommonModule],
195
369
  providers: [...services],
370
+ declarations: [DialogComponent, BackButtonDirective],
371
+ exports: [],
196
372
  }]
197
373
  }] });
198
374
 
375
+ class LoadingInterceptor {
376
+ constructor(loadingService) {
377
+ this.loadingService = loadingService;
378
+ this.activeRequests = 0;
379
+ }
380
+ intercept(request, next) {
381
+ if (this.activeRequests === 0) {
382
+ this.loadingService.start();
383
+ }
384
+ this.activeRequests++;
385
+ return next.handle(request).pipe(finalize(() => {
386
+ this.activeRequests--;
387
+ if (this.activeRequests === 0) {
388
+ this.loadingService.stop();
389
+ }
390
+ }));
391
+ }
392
+ }
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: [{
396
+ type: Injectable,
397
+ args: [{
398
+ providedIn: 'root',
399
+ }]
400
+ }], ctorParameters: function () { return [{ type: LoadingService }]; } });
401
+
199
402
  /**
200
403
  * Generated bundle index. Do not edit.
201
404
  */
202
405
 
203
- export { AngularServicesModule, BaseService, LayoutService, LoadingService, MediaService, services };
406
+ export { AngularServicesModule, BackButtonDirective, BaseService, DialogService, LayoutService, LoadingInterceptor, LoadingService, MediaService, NavigationService, SnackBarService, services };
204
407
  //# sourceMappingURL=rolatech-angular-services.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-services.mjs","sources":["../../../../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/index.ts","../../../../libs/angular-services/src/lib/angular-services.module.ts","../../../../libs/angular-services/src/rolatech-angular-services.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { 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\n constructor(\n protected http: HttpClient,\n @Inject(APP_CONFIG) private environment: AppConfig\n ) {\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 { BaseService } from './base.service';\nimport { LoadingService } from './loading.service';\nimport { MediaService } from './media.service';\nimport { LayoutService } from './layout.service';\n\nexport { BaseService, LoadingService, MediaService, LayoutService };\n\nexport const services: any[] = [\n BaseService,\n LoadingService,\n MediaService,\n LayoutService,\n];\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as fromServices from './services';\n\n@NgModule({\n imports: [CommonModule],\n providers: [...fromServices.services],\n})\nexport class AngularServicesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1","fromServices.services"],"mappings":";;;;;;;;;;;MAQa,WAAW,CAAA;IAItB,WACY,CAAA,IAAgB,EACE,WAAsB,EAAA;QADxC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QACE,IAAW,CAAA,WAAA,GAAX,WAAW,CAAW;QAElD,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IACD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAI,CAAA,EAAA,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjE;AACD,IAAA,IAAI,CAAI,OAAa,EAAA;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,SAAS,EAAE;AACtC,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;IACD,GAAG,CAAI,EAAU,EAAE,OAAa,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,EAAE,EAAE,EAAE;AACjD,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,MAAM,CAAI,IAAO,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,CAAG,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,EAAE,IAAI,EAAE;AAClD,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;IACD,MAAM,CAAI,EAAU,EAAE,IAAO,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,CAAA,EAAG,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,EAAE,CAAE,CAAA,EAAE,IAAI,EAAE;AACvD,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,MAAM,CAAI,EAAU,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,EAAE,EAAE,EAAE;AACpD,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;IACD,YAAY,CAAI,EAAU,EAAE,IAAO,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,CAAA,EAAG,IAAI,CAAC,SAAS,CAAI,CAAA,EAAA,EAAE,CAAS,OAAA,CAAA,EAAE,IAAI,EAAE;AAC9D,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,MAAM,CAAC,IAAY,EAAA;QACjB,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CAAM,GAAG,IAAI,CAAC,SAAS,CAAW,QAAA,EAAA,IAAI,EAAE,EAAE;AAC5C,YAAA,eAAe,EAAE,IAAI;SACtB,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;;AAnDU,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,4CAMZ,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANT,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAOI,MAAM;2BAAC,UAAU,CAAA;;;MCRT,cAAc,CAAA;AAKzB,IAAA,WAAA,GAAA;AAJO,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QACvC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KAEF;IAEhB,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IACD,MAAM,OAAO,CAAC,IAAa,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;;2GApBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACEK,MAAO,YAAa,SAAQ,WAAW,CAAA;IAClC,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,KAAK,CAAC,IAAI,EAAE,CAAC;KACd;AACD,IAAA,MAAM,CAAC,IAAc,EAAA;QACnB,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,GAAG,IAAI,CAAC,SAAS,CAAS,OAAA,CAAA,EAAE,IAAI,EAAE;AAC3C,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,eAAe,EAAE,IAAI;;;;SAItB,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,aAAa,CAAC,IAAc,EAAA;QAC1B,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,GAAG,IAAI,CAAC,SAAS,CAAO,KAAA,CAAA,EAAE,IAAI,EAAE;AACzC,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,eAAe,EAAE,IAAI;SACtB,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,QAAQ,CAAC,QAAgB,EAAA;QACvB,OAAO,IAAI,CAAC,IAAI;aACb,MAAM,CAAM,CAAG,EAAA,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAA,CAAE,EAAE,EAAE,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,WAAW,CAAC,IAAS,EAAA;QACnB,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,IAAI,CAAM,CAAA,EAAG,IAAI,CAAC,SAAS,CAAQ,MAAA,CAAA,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACrE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,WAAW,CAAC,IAAS,EAAA;QACnB,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,IAAI,CAAM,CAAA,EAAG,IAAI,CAAC,SAAS,CAAO,KAAA,CAAA,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACpE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,QAAQ,CAAC,IAAS,EAAA;QAChB,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,IAAI,CAAM,CAAA,EAAG,IAAI,CAAC,SAAS,CAAS,OAAA,CAAA,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACtE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,SAAS,CAAC,EAAU,EAAA;QAClB,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,GAAG,CAAM,CAAA,EAAG,IAAI,CAAC,SAAS,CAAW,QAAA,EAAA,EAAE,CAAE,CAAA,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACrE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;AACD,IAAA,UAAU,CAAC,OAAa,EAAA;QACtB,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,GAAG,CAAM,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,OAAA,CAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;KAClC;;yGArDU,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCAY,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAoB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AACxD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB;aACtC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACzD,aAAA,IAAI,CACHA,KAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,EAC/B,WAAW,EAAE,CACd,CAAC;KACL;;0GAVU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;ACEE,MAAA,QAAQ,GAAU;IAC7B,WAAW;IACX,cAAc;IACd,YAAY;IACZ,aAAa;;;MCHF,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,YAAY,CAAA,EAAA,CAAA,CAAA;mHAGX,qBAAqB,EAAA,SAAA,EAFrB,CAAC,GAAGC,QAAqB,CAAC,YAD3B,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,SAAS,EAAE,CAAC,GAAGA,QAAqB,CAAC;AACtC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
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/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()\nexport class NavigationService {\n private history: string[] = [];\n router = inject(Router);\n location = inject(Location);\n start() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n getHistory(): string[] {\n return this.history;\n }\n back(): void {\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})\nexport class BackButtonDirective {\n navigation = inject(NavigationService);\n constructor() {\n console.log(323);\n }\n @HostListener('click')\n onClick(): void {\n console.log(311);\n this.navigation.back();\n }\n}\n","import { NgModule } from '@angular/core';\nimport * as fromServices from './services';\nimport { DialogComponent } from './components/dialog/dialog.component';\nimport { BackButtonDirective } from './directive';\nimport { AngularCommonModule } from '@rolatech/angular-common';\n\n@NgModule({\n imports: [AngularCommonModule],\n providers: [...fromServices.services],\n declarations: [DialogComponent, BackButtonDirective],\n exports: [],\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","fromServices.services","i1.LoadingService"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './lib/angular-services.module';
2
2
  export * from './lib/services';
3
+ export * from './lib/interceptor';
4
+ export * from './lib/directive';
@@ -1,7 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
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
5
  export declare class AngularServicesModule {
4
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularServicesModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularServicesModule, never, [typeof i1.CommonModule], never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularServicesModule, [typeof i1.DialogComponent, typeof i2.BackButtonDirective], [typeof i3.AngularCommonModule], never>;
6
8
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularServicesModule>;
7
9
  }
@@ -0,0 +1,35 @@
1
+ import { Component, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
2
+ import { MatDialogRef } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ export interface DialogData {
5
+ title: string;
6
+ message?: string;
7
+ cancelText?: string;
8
+ confirmText?: string;
9
+ component?: any;
10
+ width?: any;
11
+ height?: any;
12
+ data?: any;
13
+ }
14
+ export interface IDynamicDialogConfig {
15
+ title?: string;
16
+ okText?: string;
17
+ cancelText?: string;
18
+ component: Component;
19
+ data: any;
20
+ }
21
+ export declare class DialogComponent implements OnInit, OnDestroy {
22
+ data: DialogData;
23
+ result: any;
24
+ dialogRef: MatDialogRef<any, any>;
25
+ componentRef: ViewContainerRef;
26
+ ngOnInit(): void;
27
+ createComponent(): void;
28
+ ngOnDestroy(): void;
29
+ cancel(): void;
30
+ close(value: any): void;
31
+ confirm(): void;
32
+ onEsc(): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "rolatech-dialog", never, {}, {}, never, never, false, never>;
35
+ }
@@ -0,0 +1,9 @@
1
+ import { NavigationService } from '../services';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BackButtonDirective {
4
+ navigation: NavigationService;
5
+ constructor();
6
+ onClick(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<BackButtonDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BackButtonDirective, "[rolatechBackButton]", never, {}, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1 @@
1
+ export { BackButtonDirective } from './back-button.directive';
@@ -0,0 +1 @@
1
+ export { LoadingInterceptor } from './loading.interceptor';
@@ -0,0 +1,12 @@
1
+ import { HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { LoadingService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class LoadingInterceptor {
6
+ private loadingService;
7
+ activeRequests: number;
8
+ constructor(loadingService: LoadingService);
9
+ intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadingInterceptor, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<LoadingInterceptor>;
12
+ }
@@ -4,10 +4,10 @@ import { Observable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class BaseService {
6
6
  protected http: HttpClient;
7
- private environment;
8
7
  protected actionUrl: string;
9
8
  endpoint: string;
10
- constructor(http: HttpClient, environment: AppConfig);
9
+ environment: AppConfig;
10
+ constructor(http: HttpClient);
11
11
  init(): void;
12
12
  find<T>(options?: any): Observable<T>;
13
13
  get<T>(id: string, options?: any): Observable<T>;
@@ -0,0 +1,13 @@
1
+ import { MatDialog, MatDialogRef } from '@angular/material/dialog';
2
+ import { Observable } from 'rxjs';
3
+ import { DialogComponent, DialogData } from '../components/dialog/dialog.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DialogService {
6
+ dialog: MatDialog;
7
+ dialogRef: MatDialogRef<DialogComponent>;
8
+ open(options: DialogData): void;
9
+ cancelled(): Observable<any>;
10
+ confirmed(): Observable<any>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DialogService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<DialogService>;
13
+ }
@@ -1,6 +1,9 @@
1
+ import { NavigationService } from './navigation.service';
2
+ import { DialogService } from './dialog.service';
1
3
  import { BaseService } from './base.service';
2
4
  import { LoadingService } from './loading.service';
3
5
  import { MediaService } from './media.service';
4
6
  import { LayoutService } from './layout.service';
5
- export { BaseService, LoadingService, MediaService, LayoutService };
7
+ import { SnackBarService } from './snack-bar.service';
8
+ export { BaseService, LoadingService, MediaService, LayoutService, DialogService, SnackBarService, NavigationService };
6
9
  export declare const services: any[];
@@ -0,0 +1,14 @@
1
+ import { Location } from '@angular/common';
2
+ import { Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NavigationService {
5
+ private history;
6
+ router: Router;
7
+ location: Location;
8
+ start(): void;
9
+ getHistory(): string[];
10
+ back(): void;
11
+ next(): string;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
14
+ }
@@ -0,0 +1,9 @@
1
+ import { MatSnackBar } from '@angular/material/snack-bar';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SnackBarService {
4
+ snackBar: MatSnackBar;
5
+ open(message: any): void;
6
+ dismiss(): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<SnackBarService, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<SnackBarService>;
9
+ }
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@rolatech/angular-services",
3
- "version": "0.0.25",
3
+ "version": "0.2.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "^15.0.1",
6
- "@angular/core": "^15.0.1",
7
- "@rolatech/angular-common": "0.0.18",
8
- "rxjs": "7.5.7"
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"
9
10
  },
10
11
  "dependencies": {
11
- "tslib": "^2.4.1"
12
+ "tslib": "^2.5.0"
12
13
  },
13
14
  "module": "fesm2015/rolatech-angular-services.mjs",
14
15
  "es2020": "fesm2020/rolatech-angular-services.mjs",