@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.
- package/esm2022/lib/angular-services.module.mjs +23 -0
- package/esm2022/lib/components/dialog/dialog.component.mjs +75 -0
- package/esm2022/lib/directive/back-button.directive.mjs +24 -0
- package/esm2022/lib/directive/index.mjs +4 -0
- package/esm2022/lib/interceptor/loading.interceptor.mjs +34 -0
- package/esm2022/lib/services/base.service.mjs +68 -0
- package/esm2022/lib/services/dialog.service.mjs +29 -0
- package/esm2022/lib/services/layout.service.mjs +22 -0
- package/esm2022/lib/services/loading.service.mjs +31 -0
- package/esm2022/lib/services/media.service.mjs +69 -0
- package/esm2022/lib/services/navigation.service.mjs +53 -0
- package/esm2022/lib/services/snack-bar.service.mjs +19 -0
- package/{fesm2020 → fesm2022}/rolatech-angular-services.mjs +79 -67
- package/fesm2022/rolatech-angular-services.mjs.map +1 -0
- package/lib/angular-services.module.d.ts +3 -3
- package/lib/directive/back-button.directive.d.ts +1 -1
- package/lib/directive/index.d.ts +2 -0
- package/lib/services/navigation.service.d.ts +1 -0
- package/package.json +10 -16
- package/esm2020/lib/angular-services.module.mjs +0 -21
- package/esm2020/lib/components/dialog/dialog.component.mjs +0 -74
- package/esm2020/lib/directive/back-button.directive.mjs +0 -25
- package/esm2020/lib/directive/index.mjs +0 -2
- package/esm2020/lib/interceptor/loading.interceptor.mjs +0 -32
- package/esm2020/lib/services/base.service.mjs +0 -64
- package/esm2020/lib/services/dialog.service.mjs +0 -29
- package/esm2020/lib/services/layout.service.mjs +0 -19
- package/esm2020/lib/services/loading.service.mjs +0 -31
- package/esm2020/lib/services/media.service.mjs +0 -68
- package/esm2020/lib/services/navigation.service.mjs +0 -42
- package/esm2020/lib/services/snack-bar.service.mjs +0 -20
- package/fesm2015/rolatech-angular-services.mjs +0 -410
- package/fesm2015/rolatech-angular-services.mjs.map +0 -1
- package/fesm2020/rolatech-angular-services.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interceptor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
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
|
-
|
|
125
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
340
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 "
|
|
4
|
-
import * as i3 from "
|
|
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.
|
|
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,
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BackButtonDirective, "[rolatechBackButton]", never, {}, {}, never, never, true, never>;
|
|
9
9
|
}
|
package/lib/directive/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolatech/angular-services",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@rolatech/angular-common": "0.
|
|
8
|
-
"rxjs": "
|
|
9
|
-
"@angular/router": "
|
|
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": "
|
|
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
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
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
|