@formio/angular 8.0.0-rc.5 → 8.0.0-rc.6
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/resource/resource.component.mjs +2 -2
- package/esm2022/resource/resource.service.mjs +12 -3
- package/fesm2022/formio-angular-resource.mjs +12 -3
- package/fesm2022/formio-angular-resource.mjs.map +1 -1
- package/package.json +1 -1
- package/resource/resource.service.d.ts +2 -2
- package/resource/resource.service.d.ts.map +1 -1
|
@@ -30,7 +30,7 @@ export class FormioResourceComponent {
|
|
|
30
30
|
this.routerSubscription.unsubscribe();
|
|
31
31
|
}
|
|
32
32
|
init() {
|
|
33
|
-
return this.service.init(this.route).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
|
|
33
|
+
return this.service.init(this.route, this.router).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
|
|
34
34
|
this.perms.delete = perms.delete;
|
|
35
35
|
this.perms.edit = perms.edit;
|
|
36
36
|
return this.service.resource;
|
|
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ template: "<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n" }]
|
|
45
45
|
}], ctorParameters: () => [{ type: i1.FormioResourceService }, { type: i2.ActivatedRoute }, { type: i3.FormioAuthService }, { type: i2.Router }] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vcmVzb3VyY2Uvc3JjL3Jlc291cmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWtCLGFBQWEsRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUXJGLE1BQU0sT0FBTyx1QkFBdUI7SUFLekI7SUFDQTtJQUNBO0lBQ0E7SUFQRixLQUFLLEdBQUcsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztJQUNyQyxrQkFBa0IsQ0FBZTtJQUV4QyxZQUNTLE9BQThCLEVBQzlCLEtBQXFCLEVBQ3JCLElBQXVCLEVBQ3ZCLE1BQWM7UUFIZCxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9ELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUN0QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FyQ1UsdUJBQXVCOzJGQUF2Qix1QkFBdUIsb0RDVHBDLGt1QkFPQTs7MkZERWEsdUJBQXVCO2tCQUhuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFNlcnZpY2UgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXIvYXV0aCc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb1Jlc291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcGVybXMgPSB7ZGVsZXRlOiBmYWxzZSwgZWRpdDogZmFsc2V9O1xuICBwdWJsaWMgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1pb1Jlc291cmNlU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBhdXRoOiBGb3JtaW9BdXRoU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmluaXQodGhpcy5yb3V0ZSwgdGhpcy5yb3V0ZXIpLnRoZW4oKCkgPT4gXG4gICAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiBcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmZvcm1Gb3JtaW8udXNlclBlcm1pc3Npb25zKFxuICAgICAgICAgIHRoaXMuYXV0aC51c2VyLCBcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZm9ybSwgXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlc291cmNlXG4gICAgICAgICkudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgICB0aGlzLnBlcm1zLmRlbGV0ZSA9IHBlcm1zLmRlbGV0ZTtcbiAgICAgICAgICB0aGlzLnBlcm1zLmVkaXQgPSBwZXJtcy5lZGl0O1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UucmVzb3VyY2U7XG4gICAgICAgIH0pXG4gICAgKSk7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFic1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweFwiPlxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiLi4vXCI+PGVtIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0IGJpIGJpLWNoZXZyb24tbGVmdFwiPjwvZW0+PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwidmlld1wiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5WaWV3PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZWRpdFwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZWRpdFwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5FZGl0PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiICpuZ0lmPVwicGVybXMuZGVsZXRlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJkZWxldGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaCBiaSBiaS10cmFzaFwiPjwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4iXX0=
|
|
@@ -76,9 +76,18 @@ export class FormioResourceService {
|
|
|
76
76
|
this.formio = new FormioPromiseService(this.resourceUrl);
|
|
77
77
|
this.resource = { data: {} };
|
|
78
78
|
}
|
|
79
|
-
init(route) {
|
|
79
|
+
init(route, router = null) {
|
|
80
80
|
const snapshot = route.snapshot;
|
|
81
|
-
|
|
81
|
+
let reset = false;
|
|
82
|
+
if (snapshot.queryParams?.hasOwnProperty('reset')) {
|
|
83
|
+
reset = snapshot.queryParams.reset;
|
|
84
|
+
}
|
|
85
|
+
else if (router) {
|
|
86
|
+
const navigation = router.getCurrentNavigation();
|
|
87
|
+
if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {
|
|
88
|
+
reset = navigation.extras.state['reset'];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
82
91
|
const resourceId = snapshot.params['id'];
|
|
83
92
|
if (resourceId && (resourceId === this.resourceId) && !reset) {
|
|
84
93
|
return this.ready;
|
|
@@ -228,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
228
237
|
}], ctorParameters: () => [{ type: i1.FormioAppConfig }, { type: i2.FormioResourceConfig }, { type: i3.FormioResources, decorators: [{
|
|
229
238
|
type: Optional
|
|
230
239
|
}] }] });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQUd2QixNQUFNLE9BQU8scUJBQXFCO0lBOEJ2QjtJQUNBO0lBQ1k7SUEvQmQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixJQUFJLENBQU07SUFDVixNQUFNLENBQWU7SUFDckIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQXVCO0lBQ2pDLE1BQU0sQ0FBdUI7SUFDN0IsT0FBTyxDQUFtQztJQUUxQyxlQUFlLENBQU07SUFDckIsY0FBYyxDQUFNO0lBQ3BCLGNBQWMsQ0FBZ0I7SUFFOUIsZUFBZSxDQUFnQjtJQUMvQixVQUFVLENBQVU7SUFDcEIsU0FBUyxDQUFNO0lBRWYsS0FBSyxDQUFnQjtJQUNyQixZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBRWpCLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFlO0lBQ3pCLFdBQVcsQ0FBTTtJQUNqQixVQUFVLENBQU07SUFDaEIsU0FBUyxDQUFVO0lBRTFCLFlBQ1MsU0FBMEIsRUFDMUIsTUFBNEIsRUFDaEIsZ0JBQWlDO1FBRjdDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0s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QUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUQsT0FBTyxNQUFNO2FBQ1YsY0FBYyxDQUFDLFFBQVEsQ0FBQzthQUN4QixJQUFJLENBQ0gsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUNoQzthQUNBLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLGdCQUFnQixFQUFFO2FBQ2xCLElBQUksQ0FDSCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLEVBQ0QsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQ2hDO2FBQ0EsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0F0UFUscUJBQXFCOzJHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQWlDTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuL3Jlc291cmNlLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvUmVmcmVzaFZhbHVlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pbywgVXRpbHMgfSBmcm9tICdAZm9ybWlvL2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVNlcnZpY2Uge1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzO1xuICBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgcHVibGljIHJlc291cmNlVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2U7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBwdWJsaWMgcmVmcmVzaDogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgcHVibGljIHJlc291cmNlUmVzb2x2ZTogYW55O1xuICBwdWJsaWMgcmVzb3VyY2VSZWplY3Q6IGFueTtcbiAgcHVibGljIHJlc291cmNlTG9hZGVkPzogUHJvbWlzZTxhbnk+O1xuXG4gIHB1YmxpYyByZXNvdXJjZUxvYWRpbmc/OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyByZXNvdXJjZUlkPzogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VzOiBhbnk7XG5cbiAgcHVibGljIHJlYWR5PzogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyByZWFkeVJlamVjdDogYW55O1xuXG4gIHB1YmxpYyBmb3JtTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1Mb2FkZWQ6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtUmVqZWN0OiBhbnk7XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByZXNvdXJjZXNTZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZXNcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRzID0gbmV3IEZvcm1pb0FsZXJ0cygpO1xuICAgIHRoaXMucmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgY29uc29sZS53YXJuKCdGb3JtaW9SZXNvdXJjZVNlcnZpY2UuaW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuJyk7XG4gIH1cblxuICBzZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBhbnkpIHtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5mb3JtTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLnJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlYWR5UmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZm9ybUxvYWRlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLmZvcm1SZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuZm9ybVJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGVkID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMucmVzb3VyY2VSZWplY3QgPSByZWplY3Q7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNvdXJjZUlkID0gcmVzb3VyY2VJZDtcbiAgICB0aGlzLnJlc291cmNlVXJsID0gdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy8nICsgdGhpcy5jb25maWcuZm9ybTtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICB0aGlzLnJlc291cmNlVXJsICs9ICcvc3VibWlzc2lvbi8nICsgdGhpcy5yZXNvdXJjZUlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICAgIEZvcm1pby5mb3JtT25seSA9IHRoaXMuYXBwQ29uZmlnLmZvcm1Pbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvUHJvbWlzZVNlcnZpY2UodGhpcy5yZXNvdXJjZVVybCk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHsgZGF0YToge30gfTtcbiAgfVxuXG4gIGluaXQocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgY29uc3Qgc25hcHNob3QgPSByb3V0ZS5zbmFwc2hvdDtcbiAgICBjb25zdCByZXNldCA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1zPy5oYXNPd25Qcm9wZXJ0eSgncmVzZXQnKSA/IHNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlc2V0IDogZmFsc2U7XG4gICAgY29uc3QgcmVzb3VyY2VJZCA9IHNuYXBzaG90LnBhcmFtc1snaWQnXTtcbiAgICBpZiAocmVzb3VyY2VJZCAmJiAocmVzb3VyY2VJZCA9PT0gdGhpcy5yZXNvdXJjZUlkKSAmJiAhcmVzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlYWR5O1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgcmVzb3VyY2UuXG4gICAgdGhpcy5zZXRSZXNvdXJjZShyZXNvdXJjZUlkKTtcblxuICAgIC8vIEFkZCB0aGlzIHJlc291cmNlIHNlcnZpY2UgdG8gdGhlIGxpc3Qgb2YgYWxsIHJlc291cmNlcyBpbiBjb250ZXh0LlxuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLnJlc291cmNlcztcbiAgICAgIHRoaXMucmVzb3VyY2VzW3RoaXMuY29uZmlnLm5hbWVdID0gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkRm9ybSgpXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMubG9hZFJlc291cmNlKCkpXG4gICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVhZHlSZXNvbHZlKHRoaXMuZm9ybSkpXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLnJlYWR5UmVqZWN0KGVycikpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxvYWRGb3JtKClcbiAgICAgIC50aGVuKCgpID0+IHRoaXMucmVhZHlSZXNvbHZlKHRoaXMuZm9ybSkpXG4gICAgICAuY2F0Y2goKGVycikgPT4gdGhpcy5yZWFkeVJlamVjdChlcnIpKTtcbiAgfVxuXG4gIG9uRXJyb3IoZXJyb3I6IGFueSkge1xuICAgIHRoaXMuYWxlcnRzLnNldEFsZXJ0KHtcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB8fCBlcnJvclxuICAgIH0pO1xuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzU2VydmljZS5lcnJvci5lbWl0KGVycm9yKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBvbkZvcm1FcnJvcihlcnI6IGFueSkge1xuICAgIHRoaXMuZm9ybVJlamVjdChlcnIpO1xuICAgIHRoaXMub25FcnJvcihlcnIpO1xuICB9XG5cbiAgbG9hZEZvcm0oKSB7XG4gICAgaWYgKHRoaXMuZm9ybUxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nO1xuICAgIH1cbiAgICB0aGlzLmZvcm1VcmwgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLmNvbmZpZy5mb3JtO1xuICAgIHRoaXMuZm9ybUZvcm1pbyA9IG5ldyBGb3JtaW9Qcm9taXNlU2VydmljZSh0aGlzLmZvcm1VcmwpO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmZvcm1Mb2FkaW5nID0gdGhpcy5mb3JtRm9ybWlvXG4gICAgICAubG9hZEZvcm0oKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChmb3JtOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICAgIHRoaXMuZm9ybVJlc29sdmUoZm9ybSk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRQYXJlbnRzKCk7XG4gICAgICAgICAgcmV0dXJuIGZvcm07XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkZvcm1FcnJvcihlcnIpXG4gICAgICApXG4gICAgICAuY2F0Y2goKGVycjogYW55KSA9PiB0aGlzLm9uRm9ybUVycm9yKGVycikpO1xuICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nO1xuICB9XG5cbiAgbG9hZFBhcmVudHMoKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5wYXJlbnRzIHx8ICF0aGlzLmNvbmZpZy5wYXJlbnRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXNvdXJjZXNTZXJ2aWNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdZb3UgbXVzdCBwcm92aWRlIHRoZSBGb3JtaW9SZXNvdXJjZXMgd2l0aGluIHlvdXIgYXBwbGljYXRpb24gdG8gdXNlIG5lc3RlZCByZXNvdXJjZXMuJ1xuICAgICAgKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mb3JtTG9hZGluZy50aGVuKChmb3JtKSA9PiB7XG4gICAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGxpc3Qgb2YgcGFyZW50cy5cbiAgICAgIGNvbnN0IF9wYXJlbnRzTG9hZGVkOiBBcnJheTxQcm9taXNlPGFueT4+ID0gW107XG4gICAgICB0aGlzLmNvbmZpZy5wYXJlbnRzLmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlTmFtZSA9IHBhcmVudC5yZXNvdXJjZSB8fCBwYXJlbnQ7XG4gICAgICAgIGNvbnN0IHJlc291cmNlRmllbGQgPSBwYXJlbnQuZmllbGQgfHwgcGFyZW50O1xuICAgICAgICBjb25zdCBmaWx0ZXJSZXNvdXJjZSA9IHBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyJykgPyBwYXJlbnQuZmlsdGVyIDogdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMucmVzb3VyY2VzLmhhc093blByb3BlcnR5KHJlc291cmNlTmFtZSkgJiYgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VOYW1lXS5yZXNvdXJjZUxvYWRlZCkge1xuICAgICAgICAgIF9wYXJlbnRzTG9hZGVkLnB1c2goXG4gICAgICAgICAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZU5hbWVdLnJlc291cmNlTG9hZGVkLnRoZW4oKHJlc291cmNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgbGV0IHBhcmVudFBhdGggPSAnJztcbiAgICAgICAgICAgICAgVXRpbHMuZWFjaENvbXBvbmVudChmb3JtLmNvbXBvbmVudHMsIChjb21wb25lbnQsIHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50LmtleSA9PT0gcmVzb3VyY2VGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgY29tcG9uZW50LmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQuY2xlYXJPbkhpZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIF8uc2V0KHRoaXMucmVzb3VyY2UuZGF0YSwgcGF0aCwgcmVzb3VyY2UpO1xuICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aCA9IHBhdGg7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5hbWU6IHBhcmVudFBhdGgsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBmaWx0ZXJSZXNvdXJjZSxcbiAgICAgICAgICAgICAgICByZXNvdXJjZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gV2hlbiBhbGwgdGhlIHBhcmVudHMgaGF2ZSBsb2FkZWQsIGVtaXQgdGhhdCB0byB0aGUgb25QYXJlbnRzIGVtaXR0ZXIuXG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwoX3BhcmVudHNMb2FkZWQpLnRoZW4oKHBhcmVudHM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2guZW1pdCh7XG4gICAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgICBzdWJtaXNzaW9uOiB0aGlzLnJlc291cmNlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFyZW50cztcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXNzaW9uRXJyb3IoZXJyOiBhbnkpIHtcbiAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICB0aGlzLnJlc291cmNlUmVqZWN0KGVycik7XG4gIH1cblxuICBsb2FkUmVzb3VyY2UoKSB7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VMb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvdXJjZUxvYWRpbmc7XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IHRoaXMuZm9ybWlvXG4gICAgICAubG9hZFN1Ym1pc3Npb24obnVsbCwge2lnbm9yZUNhY2hlOiB0cnVlfSlcbiAgICAgIC50aGVuKFxuICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICAgIHByb3BlcnR5OiAnc3VibWlzc2lvbicsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5yZXNvdXJjZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlKHJlc291cmNlKTtcbiAgICAgICAgICByZXR1cm4gcmVzb3VyY2U7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vblN1Ym1pc3Npb25FcnJvcihlcnIpXG4gICAgICApXG4gICAgICAuY2F0Y2goKGVycjogYW55KSA9PiB0aGlzLm9uU3VibWlzc2lvbkVycm9yKGVycikpO1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlTG9hZGluZztcbiAgfVxuXG4gIHNhdmUocmVzb3VyY2U6IGFueSkge1xuICAgIGNvbnN0IGZvcm1pbyA9IHJlc291cmNlLl9pZCA/IHRoaXMuZm9ybWlvIDogdGhpcy5mb3JtRm9ybWlvO1xuICAgIHJldHVybiBmb3JtaW9cbiAgICAgIC5zYXZlU3VibWlzc2lvbihyZXNvdXJjZSlcbiAgICAgIC50aGVuKFxuICAgICAgICAoc2F2ZWQ6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBzYXZlZDtcbiAgICAgICAgICByZXR1cm4gc2F2ZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25FcnJvcihlcnIpKTtcbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtaW9cbiAgICAgIC5kZWxldGVTdWJtaXNzaW9uKClcbiAgICAgIC50aGVuKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IG51bGw7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25FcnJvcihlcnIpKTtcbiAgfVxufVxuIl19
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQUd2QixNQUFNLE9BQU8scUJBQXFCO0lBOEJ2QjtJQUNBO0lBQ1k7SUEvQmQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixJQUFJLENBQU07SUFDVixNQUFNLENBQWU7SUFDckIsUUFBUSxDQUFNO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQXVCO0lBQ2pDLE1BQU0sQ0FBdUI7SUFDN0IsT0FBTyxDQUFtQztJQUUxQyxlQUFlLENBQU07SUFDckIsY0FBYyxDQUFNO0lBQ3BCLGNBQWMsQ0FBZ0I7SUFFOUIsZUFBZSxDQUFnQjtJQUMvQixVQUFVLENBQVU7SUFDcEIsU0FBUyxDQUFNO0lBRWYsS0FBSyxDQUFnQjtJQUNyQixZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBRWpCLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFlO0lBQ3pCLFdBQVcsQ0FBTTtJQUNqQixVQUFVLENBQU07SUFDaEIsU0FBUyxDQUFVO0lBRTFCLFlBQ1MsU0FBMEIsRUFDMUIsTUFBNEIsRUFDaEIsZ0JBQWlDO1FBRjdDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0s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QUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7dUdBL1BVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFpQ04sUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuL3Jlc291cmNlLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvUmVmcmVzaFZhbHVlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pbywgVXRpbHMgfSBmcm9tICdAZm9ybWlvL2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVNlcnZpY2Uge1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzO1xuICBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgcHVibGljIHJlc291cmNlVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2U7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBwdWJsaWMgcmVmcmVzaDogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgcHVibGljIHJlc291cmNlUmVzb2x2ZTogYW55O1xuICBwdWJsaWMgcmVzb3VyY2VSZWplY3Q6IGFueTtcbiAgcHVibGljIHJlc291cmNlTG9hZGVkPzogUHJvbWlzZTxhbnk+O1xuXG4gIHB1YmxpYyByZXNvdXJjZUxvYWRpbmc/OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyByZXNvdXJjZUlkPzogc3RyaW5nO1xuICBwdWJsaWMgcmVzb3VyY2VzOiBhbnk7XG5cbiAgcHVibGljIHJlYWR5PzogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyByZWFkeVJlamVjdDogYW55O1xuXG4gIHB1YmxpYyBmb3JtTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1Mb2FkZWQ6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtUmVqZWN0OiBhbnk7XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByZXNvdXJjZXNTZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZXNcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYWxlcnRzID0gbmV3IEZvcm1pb0FsZXJ0cygpO1xuICAgIHRoaXMucmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgY29uc29sZS53YXJuKCdGb3JtaW9SZXNvdXJjZVNlcnZpY2UuaW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuJyk7XG4gIH1cblxuICBzZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBhbnkpIHtcbiAgICB0aGlzLnJlc291cmNlTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5mb3JtTG9hZGluZyA9IG51bGw7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLnJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlYWR5UmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZm9ybUxvYWRlZCA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICB0aGlzLmZvcm1SZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuZm9ybVJlamVjdCA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlTG9hZGVkID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmVzb3VyY2VSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMucmVzb3VyY2VSZWplY3QgPSByZWplY3Q7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNvdXJjZUlkID0gcmVzb3VyY2VJZDtcbiAgICB0aGlzLnJlc291cmNlVXJsID0gdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy8nICsgdGhpcy5jb25maWcuZm9ybTtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUlkKSB7XG4gICAgICB0aGlzLnJlc291cmNlVXJsICs9ICcvc3VibWlzc2lvbi8nICsgdGhpcy5yZXNvdXJjZUlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICAgIEZvcm1pby5mb3JtT25seSA9IHRoaXMuYXBwQ29uZmlnLmZvcm1Pbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvUHJvbWlzZVNlcnZpY2UodGhpcy5yZXNvdXJjZVVybCk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHsgZGF0YToge30gfTtcbiAgfVxuXG4gIGluaXQocm91dGU6IEFjdGl2YXRlZFJvdXRlLCByb3V0ZXI6IFJvdXRlciA9IG51bGwpIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHJvdXRlLnNuYXBzaG90O1xuICAgIGxldCByZXNldCA9IGZhbHNlO1xuICAgIGlmIChzbmFwc2hvdC5xdWVyeVBhcmFtcz8uaGFzT3duUHJvcGVydHkoJ3Jlc2V0JykpIHtcbiAgICAgIHJlc2V0ID0gc25hcHNob3QucXVlcnlQYXJhbXMucmVzZXQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJvdXRlcikge1xuICAgICAgY29uc3QgbmF2aWdhdGlvbiA9IHJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xuICAgICAgaWYgKG5hdmlnYXRpb24/LmV4dHJhcy5zdGF0ZSAmJiBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZS5oYXNPd25Qcm9wZXJ0eSgncmVzZXQnKSkge1xuICAgICAgICByZXNldCA9IG5hdmlnYXRpb24uZXh0cmFzLnN0YXRlWydyZXNldCddO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gc25hcHNob3QucGFyYW1zWydpZCddO1xuICAgIGlmIChyZXNvdXJjZUlkICYmIChyZXNvdXJjZUlkID09PSB0aGlzLnJlc291cmNlSWQpICYmICFyZXNldCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVhZHk7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSByZXNvdXJjZS5cbiAgICB0aGlzLnNldFJlc291cmNlKHJlc291cmNlSWQpO1xuXG4gICAgLy8gQWRkIHRoaXMgcmVzb3VyY2Ugc2VydmljZSB0byB0aGUgbGlzdCBvZiBhbGwgcmVzb3VyY2VzIGluIGNvbnRleHQuXG4gICAgaWYgKHRoaXMucmVzb3VyY2VzU2VydmljZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXMgPSB0aGlzLnJlc291cmNlc1NlcnZpY2UucmVzb3VyY2VzO1xuICAgICAgdGhpcy5yZXNvdXJjZXNbdGhpcy5jb25maWcubmFtZV0gPSB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc291cmNlSWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRGb3JtKClcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkUmVzb3VyY2UoKSlcbiAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWFkeVJlc29sdmUodGhpcy5mb3JtKSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IHRoaXMucmVhZHlSZWplY3QoZXJyKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubG9hZEZvcm0oKVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yZWFkeVJlc29sdmUodGhpcy5mb3JtKSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB0aGlzLnJlYWR5UmVqZWN0KGVycikpO1xuICB9XG5cbiAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5hbGVydHMuc2V0QWxlcnQoe1xuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIHx8IGVycm9yXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VzU2VydmljZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIG9uRm9ybUVycm9yKGVycjogYW55KSB7XG4gICAgdGhpcy5mb3JtUmVqZWN0KGVycik7XG4gICAgdGhpcy5vbkVycm9yKGVycik7XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICBpZiAodGhpcy5mb3JtTG9hZGluZykge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUxvYWRpbmc7XG4gICAgfVxuICAgIHRoaXMuZm9ybVVybCA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIHRoaXMuY29uZmlnLmZvcm07XG4gICAgdGhpcy5mb3JtRm9ybWlvID0gbmV3IEZvcm1pb1Byb21pc2VTZXJ2aWNlKHRoaXMuZm9ybVVybCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZm9ybUxvYWRpbmcgPSB0aGlzLmZvcm1Gb3JtaW9cbiAgICAgIC5sb2FkRm9ybSgpXG4gICAgICAudGhlbihcbiAgICAgICAgKGZvcm06IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgdGhpcy5mb3JtUmVzb2x2ZShmb3JtKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZFBhcmVudHMoKTtcbiAgICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRm9ybUVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25Gb3JtRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUxvYWRpbmc7XG4gIH1cblxuICBsb2FkUGFyZW50cygpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnBhcmVudHMgfHwgIXRoaXMuY29uZmlnLnBhcmVudHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1lvdSBtdXN0IHByb3ZpZGUgdGhlIEZvcm1pb1Jlc291cmNlcyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiB0byB1c2UgbmVzdGVkIHJlc291cmNlcy4nXG4gICAgICApO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nLnRoZW4oKGZvcm0pID0+IHtcbiAgICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJlbnRzLlxuICAgICAgY29uc3QgX3BhcmVudHNMb2FkZWQ6IEFycmF5PFByb21pc2U8YW55Pj4gPSBbXTtcbiAgICAgIHRoaXMuY29uZmlnLnBhcmVudHMuZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VOYW1lID0gcGFyZW50LnJlc291cmNlIHx8IHBhcmVudDtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VGaWVsZCA9IHBhcmVudC5maWVsZCB8fCBwYXJlbnQ7XG4gICAgICAgIGNvbnN0IGZpbHRlclJlc291cmNlID0gcGFyZW50Lmhhc093blByb3BlcnR5KCdmaWx0ZXInKSA/IHBhcmVudC5maWx0ZXIgOiB0cnVlO1xuICAgICAgICBpZiAodGhpcy5yZXNvdXJjZXMuaGFzT3duUHJvcGVydHkocmVzb3VyY2VOYW1lKSAmJiB0aGlzLnJlc291cmNlc1tyZXNvdXJjZU5hbWVdLnJlc291cmNlTG9hZGVkKSB7XG4gICAgICAgICAgX3BhcmVudHNMb2FkZWQucHVzaChcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzW3Jlc291cmNlTmFtZV0ucmVzb3VyY2VMb2FkZWQudGhlbigocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBsZXQgcGFyZW50UGF0aCA9ICcnO1xuICAgICAgICAgICAgICBVdGlscy5lYWNoQ29tcG9uZW50KGZvcm0uY29tcG9uZW50cywgKGNvbXBvbmVudCwgcGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnQua2V5ID09PSByZXNvdXJjZUZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5jbGVhck9uSGlkZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgXy5zZXQodGhpcy5yZXNvdXJjZS5kYXRhLCBwYXRoLCByZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgICBwYXJlbnRQYXRoID0gcGF0aDtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogcGFyZW50UGF0aCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZpbHRlclJlc291cmNlLFxuICAgICAgICAgICAgICAgIHJlc291cmNlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBXaGVuIGFsbCB0aGUgcGFyZW50cyBoYXZlIGxvYWRlZCwgZW1pdCB0aGF0IHRvIHRoZSBvblBhcmVudHMgZW1pdHRlci5cbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChfcGFyZW50c0xvYWRlZCkudGhlbigocGFyZW50czogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICBmb3JtOiBmb3JtLFxuICAgICAgICAgIHN1Ym1pc3Npb246IHRoaXMucmVzb3VyY2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwYXJlbnRzO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pc3Npb25FcnJvcihlcnI6IGFueSkge1xuICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgIHRoaXMucmVzb3VyY2VSZWplY3QoZXJyKTtcbiAgfVxuXG4gIGxvYWRSZXNvdXJjZSgpIHtcbiAgICBpZiAodGhpcy5yZXNvdXJjZUxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc291cmNlTG9hZGluZztcbiAgICB9XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzb3VyY2VMb2FkaW5nID0gdGhpcy5mb3JtaW9cbiAgICAgIC5sb2FkU3VibWlzc2lvbihudWxsLCB7aWdub3JlQ2FjaGU6IHRydWV9KVxuICAgICAgLnRoZW4oXG4gICAgICAgIChyZXNvdXJjZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlO1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoLmVtaXQoe1xuICAgICAgICAgICAgcHJvcGVydHk6ICdzdWJtaXNzaW9uJyxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnJlc291cmNlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZVJlc29sdmUocmVzb3VyY2UpO1xuICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uU3VibWlzc2lvbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25TdWJtaXNzaW9uRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VMb2FkaW5nO1xuICB9XG5cbiAgc2F2ZShyZXNvdXJjZTogYW55KSB7XG4gICAgY29uc3QgZm9ybWlvID0gcmVzb3VyY2UuX2lkID8gdGhpcy5mb3JtaW8gOiB0aGlzLmZvcm1Gb3JtaW87XG4gICAgcmV0dXJuIGZvcm1pb1xuICAgICAgLnNhdmVTdWJtaXNzaW9uKHJlc291cmNlKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChzYXZlZDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHNhdmVkO1xuICAgICAgICAgIHJldHVybiBzYXZlZDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1pb1xuICAgICAgLmRlbGV0ZVN1Ym1pc3Npb24oKVxuICAgICAgLnRoZW4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc291cmNlID0gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG59XG4iXX0=
|
|
@@ -114,9 +114,18 @@ class FormioResourceService {
|
|
|
114
114
|
this.formio = new FormioPromiseService(this.resourceUrl);
|
|
115
115
|
this.resource = { data: {} };
|
|
116
116
|
}
|
|
117
|
-
init(route) {
|
|
117
|
+
init(route, router = null) {
|
|
118
118
|
const snapshot = route.snapshot;
|
|
119
|
-
|
|
119
|
+
let reset = false;
|
|
120
|
+
if (snapshot.queryParams?.hasOwnProperty('reset')) {
|
|
121
|
+
reset = snapshot.queryParams.reset;
|
|
122
|
+
}
|
|
123
|
+
else if (router) {
|
|
124
|
+
const navigation = router.getCurrentNavigation();
|
|
125
|
+
if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {
|
|
126
|
+
reset = navigation.extras.state['reset'];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
120
129
|
const resourceId = snapshot.params['id'];
|
|
121
130
|
if (resourceId && (resourceId === this.resourceId) && !reset) {
|
|
122
131
|
return this.ready;
|
|
@@ -292,7 +301,7 @@ class FormioResourceComponent {
|
|
|
292
301
|
this.routerSubscription.unsubscribe();
|
|
293
302
|
}
|
|
294
303
|
init() {
|
|
295
|
-
return this.service.init(this.route).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
|
|
304
|
+
return this.service.init(this.route, this.router).then(() => this.auth.ready.then(() => this.service.formFormio.userPermissions(this.auth.user, this.service.form, this.service.resource).then((perms) => {
|
|
296
305
|
this.perms.delete = perms.delete;
|
|
297
306
|
this.perms.edit = perms.edit;
|
|
298
307
|
return this.service.resource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute) {\n const snapshot = route.snapshot;\n const reset = snapshot.queryParams?.hasOwnProperty('reset') ? snapshot.queryParams.reset : false;\n const resourceId = snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId) && !reset) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute, router: Router = null) {\n const snapshot = route.snapshot;\n let reset = false;\n if (snapshot.queryParams?.hasOwnProperty('reset')) {\n reset = snapshot.queryParams.reset;\n }\n else if (router) {\n const navigation = router.getCurrentNavigation();\n if (navigation?.extras.state && navigation.extras.state.hasOwnProperty('reset')) {\n reset = navigation.extras.state['reset'];\n }\n }\n const resourceId = snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId) && !reset) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route, this.router).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
2
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
3
|
import { FormioResourceConfig } from './resource.config';
|
|
4
4
|
import { FormioResources } from './resources.service';
|
|
5
5
|
import { FormioPromiseService } from '@formio/angular';
|
|
@@ -37,7 +37,7 @@ export declare class FormioResourceService {
|
|
|
37
37
|
constructor(appConfig: FormioAppConfig, config: FormioResourceConfig, resourcesService: FormioResources);
|
|
38
38
|
initialize(): void;
|
|
39
39
|
setResource(resourceId: any): void;
|
|
40
|
-
init(route: ActivatedRoute): Promise<any>;
|
|
40
|
+
init(route: ActivatedRoute, router?: Router): Promise<any>;
|
|
41
41
|
onError(error: any): void;
|
|
42
42
|
onFormError(err: any): void;
|
|
43
43
|
loadForm(): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.service.d.ts","sourceRoot":"","sources":["../../../projects/angular-formio/resource/src/resource.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.service.d.ts","sourceRoot":"","sources":["../../../projects/angular-formio/resource/src/resource.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;AAIrD,qBACa,qBAAqB;IA8BvB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,oBAAoB;IAChB,gBAAgB,EAAE,eAAe;IA/B/C,WAAW,UAAS;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAE1C,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9B,eAAe,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IAEf,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;IAEjB,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;gBAGjB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,EAChB,gBAAgB,EAAE,eAAe;IAOtD,UAAU;IAIV,WAAW,CAAC,UAAU,EAAE,GAAG;IA+B3B,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,GAAE,MAAa;IAsCjD,OAAO,CAAC,KAAK,EAAE,GAAG;IAWlB,WAAW,CAAC,GAAG,EAAE,GAAG;IAKpB,QAAQ;IAuBR,WAAW;IAmDX,iBAAiB,CAAC,GAAG,EAAE,GAAG;IAK1B,YAAY;IAwBZ,IAAI,CAAC,QAAQ,EAAE,GAAG;IAclB,MAAM;yCArPK,qBAAqB;6CAArB,qBAAqB;CAgQjC"}
|