@formio/angular 5.5.0-rc.9 → 6.0.0-rc.2
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/FormioBaseComponent.d.ts +2 -1
- package/FormioBaseComponent.d.ts.map +1 -1
- package/auth/auth.service.d.ts.map +1 -1
- package/components/alerts/formio.alerts.component.d.ts +1 -1
- package/components/formbuilder/formbuilder.component.d.ts +3 -3
- package/components/formbuilder/formbuilder.component.d.ts.map +1 -1
- package/components/loader/formio.loader.component.d.ts +1 -1
- package/core.d.ts +1 -1
- package/core.d.ts.map +1 -1
- package/custom-component/create-custom-component.d.ts +11 -11
- package/custom-component/create-custom-component.d.ts.map +1 -1
- package/elements.common.d.ts +2 -2
- package/elements.common.d.ts.map +1 -1
- package/esm2022/FormioBaseComponent.mjs +561 -0
- package/esm2022/auth/auth.component.mjs +13 -0
- package/esm2022/auth/auth.config.mjs +22 -0
- package/esm2022/auth/auth.module.mjs +47 -0
- package/esm2022/auth/auth.service.mjs +191 -0
- package/esm2022/auth/login/login.component.mjs +18 -0
- package/esm2022/auth/register/register.component.mjs +18 -0
- package/esm2022/auth/resetpass/resetpass.component.mjs +18 -0
- package/esm2022/components/alerts/formio.alerts.component.mjs +29 -0
- package/esm2022/components/alerts/formio.alerts.mjs +13 -0
- package/esm2022/components/alerts/parse-html-content.pipe.mjs +20 -0
- package/esm2022/components/formbuilder/formbuilder.component.mjs +202 -0
- package/esm2022/components/formio/formio.component.mjs +43 -0
- package/esm2022/components/loader/formio.loader.component.mjs +16 -0
- package/esm2022/core.mjs +17 -0
- package/esm2022/custom-component/create-custom-component.mjs +144 -0
- package/esm2022/custom-component/custom-tags.service.mjs +15 -0
- package/{esm2020 → esm2022}/custom-component/register-custom-component.mjs +2 -2
- package/esm2022/elements.common.mjs +2 -0
- package/esm2022/formio-promise.service.mjs +36 -0
- package/esm2022/formio.common.mjs +11 -0
- package/esm2022/formio.config.mjs +15 -0
- package/esm2022/formio.module.mjs +55 -0
- package/esm2022/formio.service.mjs +62 -0
- package/esm2022/grid/GridBodyComponent.mjs +90 -0
- package/esm2022/grid/GridFooterComponent.mjs +45 -0
- package/esm2022/grid/GridHeaderComponent.mjs +35 -0
- package/esm2022/grid/form/FormGridBody.component.mjs +20 -0
- package/esm2022/grid/form/FormGridFooter.component.mjs +27 -0
- package/esm2022/grid/form/FormGridHeader.component.mjs +28 -0
- package/esm2022/grid/form/time-since.pipe.mjs +38 -0
- package/esm2022/grid/grid.component.mjs +258 -0
- package/esm2022/grid/grid.module.mjs +80 -0
- package/esm2022/grid/grid.service.mjs +19 -0
- package/esm2022/grid/submission/SubmissionGridBody.component.mjs +44 -0
- package/esm2022/grid/submission/SubmissionGridFooter.component.mjs +24 -0
- package/esm2022/grid/submission/SubmissionGridHeader.component.mjs +64 -0
- package/esm2022/manager/create/create.component.mjs +19 -0
- package/esm2022/manager/delete/delete.component.mjs +43 -0
- package/esm2022/manager/edit/edit.component.mjs +123 -0
- package/esm2022/manager/form/form.component.mjs +81 -0
- package/esm2022/manager/form-manager.config.mjs +19 -0
- package/esm2022/manager/form-manager.module.mjs +84 -0
- package/esm2022/manager/form-manager.service.mjs +189 -0
- package/{esm2020 → esm2022}/manager/index/index.component.mjs +13 -6
- package/esm2022/manager/submission/delete/delete.component.mjs +33 -0
- package/esm2022/manager/submission/edit/edit.component.mjs +26 -0
- package/esm2022/manager/submission/index/index.component.mjs +26 -0
- package/esm2022/manager/submission/submission/submission.component.mjs +30 -0
- package/esm2022/manager/submission/view/view.component.mjs +18 -0
- package/esm2022/manager/view/view.component.mjs +52 -0
- package/esm2022/resource/create/create.component.mjs +44 -0
- package/esm2022/resource/delete/delete.component.mjs +30 -0
- package/esm2022/resource/edit/edit.component.mjs +43 -0
- package/esm2022/resource/index/index.component.mjs +71 -0
- package/esm2022/resource/resource.component.mjs +51 -0
- package/esm2022/resource/resource.config.mjs +14 -0
- package/esm2022/resource/resource.module.mjs +63 -0
- package/{esm2020 → esm2022}/resource/resource.service.mjs +29 -7
- package/esm2022/resource/resources.service.mjs +26 -0
- package/esm2022/resource/view/view.component.mjs +26 -0
- package/{fesm2020 → fesm2022}/formio-angular-auth.mjs +68 -36
- package/fesm2022/formio-angular-auth.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/formio-angular-grid.mjs +123 -73
- package/fesm2022/formio-angular-grid.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/formio-angular-manager.mjs +147 -80
- package/fesm2022/formio-angular-manager.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/formio-angular-resource.mjs +109 -58
- package/fesm2022/formio-angular-resource.mjs.map +1 -0
- package/fesm2022/formio-angular.mjs +1226 -0
- package/fesm2022/formio-angular.mjs.map +1 -0
- package/formio.common.d.ts +5 -5
- package/formio.common.d.ts.map +1 -1
- package/grid/GridBodyComponent.d.ts +1 -1
- package/grid/GridFooterComponent.d.ts +1 -1
- package/grid/GridHeaderComponent.d.ts +1 -1
- package/grid/grid.component.d.ts +1 -1
- package/grid/submission/SubmissionGridHeader.component.d.ts +1 -1
- package/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -1
- package/manager/form-manager.service.d.ts +1 -1
- package/manager/form-manager.service.d.ts.map +1 -1
- package/manager/view/view.component.d.ts +1 -0
- package/manager/view/view.component.d.ts.map +1 -1
- package/package.json +21 -35
- package/resource/edit/edit.component.d.ts +1 -0
- package/resource/edit/edit.component.d.ts.map +1 -1
- package/esm2020/FormioBaseComponent.mjs +0 -529
- package/esm2020/auth/auth.component.mjs +0 -12
- package/esm2020/auth/auth.config.mjs +0 -15
- package/esm2020/auth/auth.module.mjs +0 -46
- package/esm2020/auth/auth.service.mjs +0 -166
- package/esm2020/auth/login/login.component.mjs +0 -16
- package/esm2020/auth/register/register.component.mjs +0 -16
- package/esm2020/auth/resetpass/resetpass.component.mjs +0 -16
- package/esm2020/components/alerts/formio.alerts.component.mjs +0 -29
- package/esm2020/components/alerts/formio.alerts.mjs +0 -15
- package/esm2020/components/alerts/parse-html-content.pipe.mjs +0 -19
- package/esm2020/components/formbuilder/formbuilder.component.mjs +0 -187
- package/esm2020/components/formio/formio.component.mjs +0 -40
- package/esm2020/components/loader/formio.loader.component.mjs +0 -14
- package/esm2020/core.mjs +0 -14
- package/esm2020/custom-component/create-custom-component.mjs +0 -144
- package/esm2020/custom-component/custom-tags.service.mjs +0 -16
- package/esm2020/elements.common.mjs +0 -2
- package/esm2020/formio-promise.service.mjs +0 -33
- package/esm2020/formio.common.mjs +0 -8
- package/esm2020/formio.config.mjs +0 -14
- package/esm2020/formio.module.mjs +0 -54
- package/esm2020/formio.service.mjs +0 -59
- package/esm2020/grid/GridBodyComponent.mjs +0 -81
- package/esm2020/grid/GridFooterComponent.mjs +0 -36
- package/esm2020/grid/GridHeaderComponent.mjs +0 -30
- package/esm2020/grid/form/FormGridBody.component.mjs +0 -19
- package/esm2020/grid/form/FormGridFooter.component.mjs +0 -26
- package/esm2020/grid/form/FormGridHeader.component.mjs +0 -26
- package/esm2020/grid/form/time-since.pipe.mjs +0 -37
- package/esm2020/grid/grid.component.mjs +0 -230
- package/esm2020/grid/grid.module.mjs +0 -79
- package/esm2020/grid/grid.service.mjs +0 -17
- package/esm2020/grid/submission/SubmissionGridBody.component.mjs +0 -43
- package/esm2020/grid/submission/SubmissionGridFooter.component.mjs +0 -23
- package/esm2020/grid/submission/SubmissionGridHeader.component.mjs +0 -61
- package/esm2020/manager/create/create.component.mjs +0 -18
- package/esm2020/manager/delete/delete.component.mjs +0 -37
- package/esm2020/manager/edit/edit.component.mjs +0 -109
- package/esm2020/manager/form/form.component.mjs +0 -70
- package/esm2020/manager/form-manager.config.mjs +0 -17
- package/esm2020/manager/form-manager.module.mjs +0 -83
- package/esm2020/manager/form-manager.service.mjs +0 -178
- package/esm2020/manager/submission/delete/delete.component.mjs +0 -28
- package/esm2020/manager/submission/edit/edit.component.mjs +0 -22
- package/esm2020/manager/submission/index/index.component.mjs +0 -22
- package/esm2020/manager/submission/submission/submission.component.mjs +0 -26
- package/esm2020/manager/submission/view/view.component.mjs +0 -16
- package/esm2020/manager/view/view.component.mjs +0 -42
- package/esm2020/resource/create/create.component.mjs +0 -37
- package/esm2020/resource/delete/delete.component.mjs +0 -26
- package/esm2020/resource/edit/edit.component.mjs +0 -36
- package/esm2020/resource/index/index.component.mjs +0 -61
- package/esm2020/resource/resource.component.mjs +0 -46
- package/esm2020/resource/resource.config.mjs +0 -15
- package/esm2020/resource/resource.module.mjs +0 -62
- package/esm2020/resource/resources.service.mjs +0 -22
- package/esm2020/resource/view/view.component.mjs +0 -23
- package/fesm2015/formio-angular-auth.mjs +0 -298
- package/fesm2015/formio-angular-auth.mjs.map +0 -1
- package/fesm2015/formio-angular-grid.mjs +0 -678
- package/fesm2015/formio-angular-grid.mjs.map +0 -1
- package/fesm2015/formio-angular-manager.mjs +0 -746
- package/fesm2015/formio-angular-manager.mjs.map +0 -1
- package/fesm2015/formio-angular-resource.mjs +0 -506
- package/fesm2015/formio-angular-resource.mjs.map +0 -1
- package/fesm2015/formio-angular.mjs +0 -1153
- package/fesm2015/formio-angular.mjs.map +0 -1
- package/fesm2020/formio-angular-auth.mjs.map +0 -1
- package/fesm2020/formio-angular-grid.mjs.map +0 -1
- package/fesm2020/formio-angular-manager.mjs.map +0 -1
- package/fesm2020/formio-angular-resource.mjs.map +0 -1
- package/fesm2020/formio-angular.mjs +0 -1172
- package/fesm2020/formio-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/auth/auth.routes.mjs +0 -0
- /package/{esm2020 → esm2022}/auth/formio-angular-auth.mjs +0 -0
- /package/{esm2020 → esm2022}/auth/index.mjs +0 -0
- /package/{esm2020 → esm2022}/formio-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/formio.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/formio-angular-grid.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/index.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/submission/index.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/types/grid-column.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/types/grid-footer-positions.mjs +0 -0
- /package/{esm2020 → esm2022}/grid/types/grid-header.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/manager/form-manager.routes.mjs +0 -0
- /package/{esm2020 → esm2022}/manager/formio-angular-manager.mjs +0 -0
- /package/{esm2020 → esm2022}/manager/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resource/formio-angular-resource.mjs +0 -0
- /package/{esm2020 → esm2022}/resource/index.mjs +0 -0
- /package/{esm2020 → esm2022}/resource/resource.routes.mjs +0 -0
- /package/{esm2020 → esm2022}/types/alerts-position.mjs +0 -0
- /package/{esm2020 → esm2022}/types/formio-metadata.mjs +0 -0
- /package/{esm2020 → esm2022}/types/formio-submission.mjs +0 -0
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../form-manager.service";
|
|
4
|
-
import * as i2 from "@angular/router";
|
|
5
|
-
import * as i3 from "@formio/angular";
|
|
6
|
-
import * as i4 from "@formio/angular/grid";
|
|
7
|
-
export class FormManagerDeleteComponent {
|
|
8
|
-
constructor(managerService, router, route, alerts, gridService) {
|
|
9
|
-
this.managerService = managerService;
|
|
10
|
-
this.router = router;
|
|
11
|
-
this.route = route;
|
|
12
|
-
this.alerts = alerts;
|
|
13
|
-
this.gridService = gridService;
|
|
14
|
-
}
|
|
15
|
-
onDelete() {
|
|
16
|
-
this.managerService.formio.deleteForm().then(() => {
|
|
17
|
-
if (this.gridService) {
|
|
18
|
-
const currentPage = +localStorage.getItem('currentPage') || 0;
|
|
19
|
-
const formsNumberPerPage = this.gridService.getFormsPerPage();
|
|
20
|
-
if (formsNumberPerPage === 1 && currentPage !== 0) {
|
|
21
|
-
localStorage.setItem('currentPage', `${currentPage - 1}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
this.router.navigate(['../../'], { relativeTo: this.route });
|
|
25
|
-
}).catch(err => this.alerts.setAlert({ type: 'danger', message: (err.message || err) }));
|
|
26
|
-
}
|
|
27
|
-
onCancel() {
|
|
28
|
-
this.router.navigate(['../', 'view'], { relativeTo: this.route });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
FormManagerDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerDeleteComponent, deps: [{ token: i1.FormManagerService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.FormioAlerts }, { token: i4.GridService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
FormManagerDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormManagerDeleteComponent, selector: "ng-component", ngImport: i0, template: "<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<h3>Are you sure you wish to delete this form?</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-default\">No</button>\n</div>\n", dependencies: [{ kind: "component", type: i3.FormioAlertsComponent, selector: "formio-alerts", inputs: ["alerts"], outputs: ["focusComponent"] }] });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerDeleteComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ template: "<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<h3>Are you sure you wish to delete this form?</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-default\">No</button>\n</div>\n" }]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i1.FormManagerService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.FormioAlerts }, { type: i4.GridService }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTMUMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNTLGNBQWtDLEVBQ2xDLE1BQWMsRUFDZCxLQUFxQixFQUNyQixNQUFvQixFQUNwQixXQUF5QjtRQUp6QixtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFDL0IsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUU5RCxJQUFJLGtCQUFrQixLQUFLLENBQUMsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO29CQUNqRCxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRDthQUNGO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7O3VIQTFCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixvRENUdkMsK1ZBTUE7MkZER2EsMEJBQTBCO2tCQUh0QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9ncmlkJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kZWxldGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VyRGVsZXRlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1hbmFnZXJTZXJ2aWNlOiBGb3JtTWFuYWdlclNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzLFxuICAgIHB1YmxpYyBncmlkU2VydmljZT86IEdyaWRTZXJ2aWNlXG4gICkge31cblxuICBvbkRlbGV0ZSgpIHtcbiAgICB0aGlzLm1hbmFnZXJTZXJ2aWNlLmZvcm1pby5kZWxldGVGb3JtKCkudGhlbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ncmlkU2VydmljZSkge1xuICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFBhZ2UnKSB8fCAwO1xuICAgICAgICBjb25zdCBmb3Jtc051bWJlclBlclBhZ2UgPSB0aGlzLmdyaWRTZXJ2aWNlLmdldEZvcm1zUGVyUGFnZSgpO1xuXG4gICAgICAgIGlmIChmb3Jtc051bWJlclBlclBhZ2UgPT09IDEgJiYgY3VycmVudFBhZ2UgIT09IDApIHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFBhZ2UnLCBgJHtjdXJyZW50UGFnZSAtIDF9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8uLi8nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIH0pLmNhdGNoKGVyciA9PiB0aGlzLmFsZXJ0cy5zZXRBbGVydCh7dHlwZTogJ2RhbmdlcicsIG1lc3NhZ2U6IChlcnIubWVzc2FnZSB8fCBlcnIpfSkpO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nLCAndmlldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cbn1cbiIsIjxmb3JtaW8tYWxlcnRzIFthbGVydHNdPVwiYWxlcnRzXCI+PC9mb3JtaW8tYWxlcnRzPlxuPGgzPkFyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBkZWxldGUgdGhpcyBmb3JtPzwvaDM+XG48ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGVsZXRlKClcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+WWVzPC9idXR0b24+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkNhbmNlbCgpXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIj5ObzwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormBuilderComponent } from '@formio/angular';
|
|
3
|
-
import _ from 'lodash';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../form-manager.service";
|
|
6
|
-
import * as i2 from "@angular/router";
|
|
7
|
-
import * as i3 from "../form-manager.config";
|
|
8
|
-
import * as i4 from "@formio/angular";
|
|
9
|
-
import * as i5 from "@angular/common";
|
|
10
|
-
import * as i6 from "@angular/forms";
|
|
11
|
-
export class FormManagerEditComponent {
|
|
12
|
-
constructor(service, router, route, config, ref, alerts) {
|
|
13
|
-
this.service = service;
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.route = route;
|
|
16
|
-
this.config = config;
|
|
17
|
-
this.ref = ref;
|
|
18
|
-
this.alerts = alerts;
|
|
19
|
-
this.form = { components: [] };
|
|
20
|
-
this.formReady = false;
|
|
21
|
-
this.loading = false;
|
|
22
|
-
this.editMode = false;
|
|
23
|
-
}
|
|
24
|
-
initBuilder(editing) {
|
|
25
|
-
if (editing) {
|
|
26
|
-
this.loading = true;
|
|
27
|
-
this.editMode = true;
|
|
28
|
-
return this.service.formReady.then(() => {
|
|
29
|
-
this.form = this.service.form;
|
|
30
|
-
this.formTitle.nativeElement.value = this.service.form.title;
|
|
31
|
-
this.formType.nativeElement.value = this.service.form.display || 'form';
|
|
32
|
-
this.formReady = true;
|
|
33
|
-
this.loading = false;
|
|
34
|
-
this.ref.detectChanges();
|
|
35
|
-
return true;
|
|
36
|
-
}).catch(err => {
|
|
37
|
-
this.alerts.setAlert({ type: 'danger', message: (err.message || err) });
|
|
38
|
-
this.loading = false;
|
|
39
|
-
this.ref.detectChanges();
|
|
40
|
-
this.formReady = true;
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.formReady = true;
|
|
45
|
-
return Promise.resolve(true);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
ngAfterViewInit() {
|
|
49
|
-
this.route.url.subscribe(url => {
|
|
50
|
-
setTimeout(() => this.initBuilder((url[0].path === 'edit')), 0);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
onDisplaySelect(event) {
|
|
54
|
-
this.builder.setDisplay(event.target.value);
|
|
55
|
-
}
|
|
56
|
-
saveForm() {
|
|
57
|
-
this.loading = true;
|
|
58
|
-
this.form = _.cloneDeep(this.builder.formio.schema);
|
|
59
|
-
this.form.title = this.formTitle.nativeElement.value.trim();
|
|
60
|
-
this.form.display = this.formType.nativeElement.value;
|
|
61
|
-
if (this.config.tag) {
|
|
62
|
-
this.form.tags = this.form.tags || [];
|
|
63
|
-
this.form.tags.push(this.config.tag);
|
|
64
|
-
this.form.tags = _.uniq(this.form.tags);
|
|
65
|
-
}
|
|
66
|
-
if (!this.form._id) {
|
|
67
|
-
this.form.name = _.camelCase(this.form.title).toLowerCase();
|
|
68
|
-
this.form.path = this.form.name;
|
|
69
|
-
}
|
|
70
|
-
return this.service.formio.saveForm(this.form).then(form => {
|
|
71
|
-
this.form = this.service.setForm(form);
|
|
72
|
-
this.loading = false;
|
|
73
|
-
return this.form;
|
|
74
|
-
}).catch(err => {
|
|
75
|
-
this.loading = false;
|
|
76
|
-
// Catch if a form is returned as an error. This is a conflict.
|
|
77
|
-
if (err._id && err.type) {
|
|
78
|
-
throw err;
|
|
79
|
-
}
|
|
80
|
-
this.alerts.setAlert({ type: 'danger', message: (err.message || err) });
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
onSave() {
|
|
84
|
-
return this.saveForm().then((form) => {
|
|
85
|
-
if (this.editMode) {
|
|
86
|
-
this.router.navigate(['../', 'view'], { relativeTo: this.route });
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
this.router.navigate(['../', form._id, 'view'], { relativeTo: this.route });
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
FormManagerEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerEditComponent, deps: [{ token: i1.FormManagerService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.FormManagerConfig }, { token: i0.ChangeDetectorRef }, { token: i4.FormioAlerts }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
FormManagerEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormManagerEditComponent, selector: "ng-component", viewQueries: [{ propertyName: "builder", first: true, predicate: FormBuilderComponent, descendants: true }, { propertyName: "formTitle", first: true, predicate: ["title"], descendants: true }, { propertyName: "formType", first: true, predicate: ["type"], descendants: true }], ngImport: i0, template: "<div class=\"loader\" *ngIf=\"loading\"></div>\n<div class=\"form-group row\">\n <div class=\"col-sm-8\">\n <input type=\"text\" class=\"form-control\" id=\"formTitle\" placeholder=\"Enter a Title\" #title>\n </div>\n <div class=\"col-sm-2\">\n <select class=\"form-control\" id=\"formSelect\" (change)=\"onDisplaySelect($event)\" #type>\n <option value=\"form\">Form</option>\n <option value=\"wizard\">Wizard</option>\n <option value=\"pdf\">PDF</option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <button class=\"btn btn-primary btn-block\" (click)=\"onSave()\">Save Form</button>\n </div>\n</div>\n<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<form-builder *ngIf=\"formReady\" [formbuilder]=\"config.builder\" [form]=\"form\" #builder></form-builder>\n<button class=\"btn btn-primary\" style=\"margin-top: 10px;\" (click)=\"onSave()\">Save Form</button>\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FormBuilderComponent, selector: "form-builder", inputs: ["form", "options", "formbuilder", "noeval", "refresh", "rebuild"], outputs: ["change"] }, { kind: "component", type: i4.FormioAlertsComponent, selector: "formio-alerts", inputs: ["alerts"], outputs: ["focusComponent"] }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerEditComponent, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{ template: "<div class=\"loader\" *ngIf=\"loading\"></div>\n<div class=\"form-group row\">\n <div class=\"col-sm-8\">\n <input type=\"text\" class=\"form-control\" id=\"formTitle\" placeholder=\"Enter a Title\" #title>\n </div>\n <div class=\"col-sm-2\">\n <select class=\"form-control\" id=\"formSelect\" (change)=\"onDisplaySelect($event)\" #type>\n <option value=\"form\">Form</option>\n <option value=\"wizard\">Wizard</option>\n <option value=\"pdf\">PDF</option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <button class=\"btn btn-primary btn-block\" (click)=\"onSave()\">Save Form</button>\n </div>\n</div>\n<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<form-builder *ngIf=\"formReady\" [formbuilder]=\"config.builder\" [form]=\"form\" #builder></form-builder>\n<button class=\"btn btn-primary\" style=\"margin-top: 10px;\" (click)=\"onSave()\">Save Form</button>\n" }]
|
|
99
|
-
}], ctorParameters: function () { return [{ type: i1.FormManagerService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.FormManagerConfig }, { type: i0.ChangeDetectorRef }, { type: i4.FormioAlerts }]; }, propDecorators: { builder: [{
|
|
100
|
-
type: ViewChild,
|
|
101
|
-
args: [FormBuilderComponent, { static: false }]
|
|
102
|
-
}], formTitle: [{
|
|
103
|
-
type: ViewChild,
|
|
104
|
-
args: ['title', { static: false }]
|
|
105
|
-
}], formType: [{
|
|
106
|
-
type: ViewChild,
|
|
107
|
-
args: ['type', { static: false }]
|
|
108
|
-
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9lZGl0L2VkaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvZWRpdC9lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUtuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBS3ZCLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDUyxPQUEyQixFQUMzQixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsTUFBeUIsRUFDekIsR0FBc0IsRUFDdEIsTUFBb0I7UUFMcEIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFFM0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDakIsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENB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SSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7YUFDakU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQzthQUMzRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBOUZVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZGQUN4QixvQkFBb0Isd05DWmpDLDY0QkFtQkE7MkZEUmEsd0JBQXdCO2tCQUhwQyxTQUFTOztzUEFJMEMsT0FBTztzQkFBeEQsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ1gsU0FBUztzQkFBN0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNDLFFBQVE7c0JBQTNDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvQWxlcnRzIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoRm9ybUJ1aWxkZXJDb21wb25lbnQsIHtzdGF0aWM6IGZhbHNlfSkgYnVpbGRlcjogRm9ybUJ1aWxkZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlJywge3N0YXRpYzogZmFsc2V9KSBmb3JtVGl0bGU6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3R5cGUnLCB7c3RhdGljOiBmYWxzZX0pIGZvcm1UeXBlOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgZm9ybTogYW55O1xuICBwdWJsaWMgbG9hZGluZzogQm9vbGVhbjtcbiAgcHVibGljIGZvcm1SZWFkeTogQm9vbGVhbjtcbiAgcHVibGljIGVkaXRNb2RlOiBCb29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtTWFuYWdlclNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIGNvbmZpZzogRm9ybU1hbmFnZXJDb25maWcsXG4gICAgcHVibGljIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IHtjb21wb25lbnRzOiBbXX07XG4gICAgdGhpcy5mb3JtUmVhZHkgPSBmYWxzZTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XG4gIH1cblxuICBpbml0QnVpbGRlcihlZGl0aW5nKSB7XG4gICAgaWYgKGVkaXRpbmcpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmVkaXRNb2RlID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZm9ybVJlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLnNlcnZpY2UuZm9ybTtcbiAgICAgICAgdGhpcy5mb3JtVGl0bGUubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuc2VydmljZS5mb3JtLnRpdGxlO1xuICAgICAgICB0aGlzLmZvcm1UeXBlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnNlcnZpY2UuZm9ybS5kaXNwbGF5IHx8ICdmb3JtJztcbiAgICAgICAgdGhpcy5mb3JtUmVhZHkgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRzLnNldEFsZXJ0KHt0eXBlOiAnZGFuZ2VyJywgbWVzc2FnZTogKGVyci5tZXNzYWdlIHx8IGVycil9KTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5mb3JtUmVhZHkgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybVJlYWR5ID0gdHJ1ZTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucm91dGUudXJsLnN1YnNjcmliZSggdXJsID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbml0QnVpbGRlcigodXJsWzBdLnBhdGggPT09ICdlZGl0JykpLCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGlzcGxheVNlbGVjdChldmVudCkge1xuICAgIHRoaXMuYnVpbGRlci5zZXREaXNwbGF5KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICBzYXZlRm9ybSgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZm9ybSA9IF8uY2xvbmVEZWVwKHRoaXMuYnVpbGRlci5mb3JtaW8uc2NoZW1hKTtcbiAgICB0aGlzLmZvcm0udGl0bGUgPSB0aGlzLmZvcm1UaXRsZS5uYXRpdmVFbGVtZW50LnZhbHVlLnRyaW0oKTtcbiAgICB0aGlzLmZvcm0uZGlzcGxheSA9IHRoaXMuZm9ybVR5cGUubmF0aXZlRWxlbWVudC52YWx1ZTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy50YWcpIHtcbiAgICAgIHRoaXMuZm9ybS50YWdzID0gdGhpcy5mb3JtLnRhZ3MgfHwgW107XG4gICAgICB0aGlzLmZvcm0udGFncy5wdXNoKHRoaXMuY29uZmlnLnRhZyk7XG4gICAgICB0aGlzLmZvcm0udGFncyA9IF8udW5pcSh0aGlzLmZvcm0udGFncyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5mb3JtLl9pZCkge1xuICAgICAgdGhpcy5mb3JtLm5hbWUgPSBfLmNhbWVsQ2FzZSh0aGlzLmZvcm0udGl0bGUpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLmZvcm0ucGF0aCA9IHRoaXMuZm9ybS5uYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmZvcm1pby5zYXZlRm9ybSh0aGlzLmZvcm0pLnRoZW4oZm9ybSA9PiB7XG4gICAgICB0aGlzLmZvcm0gPSB0aGlzLnNlcnZpY2Uuc2V0Rm9ybShmb3JtKTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybTtcbiAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAvLyBDYXRjaCBpZiBhIGZvcm0gaXMgcmV0dXJuZWQgYXMgYW4gZXJyb3IuIFRoaXMgaXMgYSBjb25mbGljdC5cbiAgICAgIGlmIChlcnIuX2lkICYmIGVyci50eXBlKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxlcnRzLnNldEFsZXJ0KHt0eXBlOiAnZGFuZ2VyJywgbWVzc2FnZTogKGVyci5tZXNzYWdlIHx8IGVycil9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uU2F2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlRm9ybSgpLnRoZW4oKGZvcm0pID0+IHtcbiAgICAgIGlmICh0aGlzLmVkaXRNb2RlKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJywgJ3ZpZXcnXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGV9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJywgZm9ybS5faWQsICd2aWV3J10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsb2FkZXJcIiAqbmdJZj1cImxvYWRpbmdcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZm9ybVRpdGxlXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBhIFRpdGxlXCIgI3RpdGxlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZm9ybVNlbGVjdFwiIChjaGFuZ2UpPVwib25EaXNwbGF5U2VsZWN0KCRldmVudClcIiAjdHlwZT5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCJmb3JtXCI+Rm9ybTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIndpemFyZFwiPldpemFyZDwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInBkZlwiPlBERjwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2tcIiAoY2xpY2spPVwib25TYXZlKClcIj5TYXZlIEZvcm08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxmb3JtaW8tYWxlcnRzIFthbGVydHNdPVwiYWxlcnRzXCI+PC9mb3JtaW8tYWxlcnRzPlxuPGZvcm0tYnVpbGRlciAqbmdJZj1cImZvcm1SZWFkeVwiIFtmb3JtYnVpbGRlcl09XCJjb25maWcuYnVpbGRlclwiIFtmb3JtXT1cImZvcm1cIiAjYnVpbGRlcj48L2Zvcm0tYnVpbGRlcj5cbjxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcHg7XCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCI+U2F2ZSBGb3JtPC9idXR0b24+XG4iXX0=
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../form-manager.service";
|
|
4
|
-
import * as i2 from "@angular/router";
|
|
5
|
-
import * as i3 from "@formio/angular";
|
|
6
|
-
import * as i4 from "../form-manager.config";
|
|
7
|
-
import * as i5 from "ngx-bootstrap/modal";
|
|
8
|
-
import * as i6 from "@angular/common";
|
|
9
|
-
import * as i7 from "@angular/forms";
|
|
10
|
-
export class FormManagerFormComponent {
|
|
11
|
-
constructor(service, route, appConfig, options, modalService) {
|
|
12
|
-
this.service = service;
|
|
13
|
-
this.route = route;
|
|
14
|
-
this.appConfig = appConfig;
|
|
15
|
-
this.options = options;
|
|
16
|
-
this.modalService = modalService;
|
|
17
|
-
this.choice = 'isUrl';
|
|
18
|
-
this.goTo = '';
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.service.reset(this.route);
|
|
22
|
-
this.service.loadForm().then(form => {
|
|
23
|
-
this.service.formSrc = this.appConfig.appUrl + '/' + form.path;
|
|
24
|
-
this.projectId = form.project;
|
|
25
|
-
this.pathName = form.path;
|
|
26
|
-
this.getShareUrl();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
getShareUrl() {
|
|
30
|
-
const src = this.appConfig.appUrl + '/' + this.pathName;
|
|
31
|
-
this.shareUrl = `${this.options.viewer}/#/?src=${encodeURIComponent(src)}`;
|
|
32
|
-
return this.shareUrl;
|
|
33
|
-
}
|
|
34
|
-
openEmbed(content) {
|
|
35
|
-
let goto = '';
|
|
36
|
-
if (this.goTo) {
|
|
37
|
-
goto += `if (d && d.formSubmission && d.formSubmission._id) { window.location.href = "${this.goTo}";}`;
|
|
38
|
-
}
|
|
39
|
-
let embedCode = '<script type="text/javascript">';
|
|
40
|
-
embedCode += '(function a(d, w, u) {';
|
|
41
|
-
embedCode += 'var h = d.getElementsByTagName("head")[0];';
|
|
42
|
-
embedCode += 'var s = d.createElement("script");';
|
|
43
|
-
embedCode += 's.type = "text/javascript";';
|
|
44
|
-
embedCode += 's.src = "' + this.options.viewer + '/assets/lib/seamless/seamless.parent.min.js";';
|
|
45
|
-
embedCode += 's.onload = function b() {';
|
|
46
|
-
embedCode += 'var f = d.getElementById("formio-form-' + this.service.formio.formId + '");';
|
|
47
|
-
embedCode += 'if (!f || (typeof w.seamless === u)) {';
|
|
48
|
-
embedCode += 'return setTimeout(b, 100);';
|
|
49
|
-
embedCode += '}';
|
|
50
|
-
embedCode += 'w.seamless(f, {fallback:false}).receive(function(d, e) {' + goto + '});';
|
|
51
|
-
embedCode += '};';
|
|
52
|
-
embedCode += 'h.appendChild(s);';
|
|
53
|
-
embedCode += '})(document, window);';
|
|
54
|
-
embedCode += '</script>';
|
|
55
|
-
embedCode += '<iframe id="formio-form-' + this.service.formio.formId + '" ';
|
|
56
|
-
embedCode += 'style="width:100%;border:none;" height="800px" src="' + this.shareUrl + '&iframe=1"></iframe>';
|
|
57
|
-
this.embedCode = embedCode;
|
|
58
|
-
this.modalRef = this.modalService.show(content, { class: 'modal-lg' });
|
|
59
|
-
}
|
|
60
|
-
choices(string) {
|
|
61
|
-
this.choice = string;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
FormManagerFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerFormComponent, deps: [{ token: i1.FormManagerService }, { token: i2.ActivatedRoute }, { token: i3.FormioAppConfig }, { token: i4.FormManagerConfig }, { token: i5.BsModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
FormManagerFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormManagerFormComponent, selector: "ng-component", ngImport: i0, template: "<button *ngIf=\"options.viewer\" class=\"pull-right btn btn-outline-primary\" (click)=\"openEmbed(content)\"><em class=\"fa fa-share-alt glyphicon glyphicon-share bi bi-share\"></em> Share</button>\n<ul class=\"nav nav-tabs mb-2\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><em class=\"fa fa-pencil glyphicon glyphicon-pencil bi bi-pencil\"></em> Enter Data</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><em class=\"fa fa-list-alt glyphicon glyphicon-list-alt bi bi-table\"></em> View Data</a></li>\n <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit glyphicon glyphicon-edit bi bi-pencil-square\"></em> Edit Form</a></li>\n <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n<ng-template #content>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Share or Embed this form</h4>\n <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ul class=\"nav nav-tabs mr-auto mb-2\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><em class=\"fa fa-link bi bi-link\"></em> URL</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><em class=\"fa fa-code bi bi-code-slash\"></em> Embed</a>\n </li>\n </ul>\n <pre *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\n <input *ngIf=\"choice === 'isUrl'\" type=\"text\" onclick=\"this.focus();this.select()\" readonly=\"readonly\" class=\"form-control\" [ngModel]=\"shareUrl\" placeholder=\"https://examples.form.io/example\">\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerFormComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ template: "<button *ngIf=\"options.viewer\" class=\"pull-right btn btn-outline-primary\" (click)=\"openEmbed(content)\"><em class=\"fa fa-share-alt glyphicon glyphicon-share bi bi-share\"></em> Share</button>\n<ul class=\"nav nav-tabs mb-2\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><em class=\"fa fa-pencil glyphicon glyphicon-pencil bi bi-pencil\"></em> Enter Data</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><em class=\"fa fa-list-alt glyphicon glyphicon-list-alt bi bi-table\"></em> View Data</a></li>\n <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit glyphicon glyphicon-edit bi bi-pencil-square\"></em> Edit Form</a></li>\n <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n<ng-template #content>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Share or Embed this form</h4>\n <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ul class=\"nav nav-tabs mr-auto mb-2\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><em class=\"fa fa-link bi bi-link\"></em> URL</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><em class=\"fa fa-code bi bi-code-slash\"></em> Embed</a>\n </li>\n </ul>\n <pre *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\n <input *ngIf=\"choice === 'isUrl'\" type=\"text\" onclick=\"this.focus();this.select()\" readonly=\"readonly\" class=\"form-control\" [ngModel]=\"shareUrl\" placeholder=\"https://examples.form.io/example\">\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\n </div>\n</ng-template>\n" }]
|
|
69
|
-
}], ctorParameters: function () { return [{ type: i1.FormManagerService }, { type: i2.ActivatedRoute }, { type: i3.FormioAppConfig }, { type: i4.FormManagerConfig }, { type: i5.BsModalService }]; } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFVL0QsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUNTLE9BQTJCLEVBQzNCLEtBQXFCLEVBQ3JCLFNBQTBCLEVBQzFCLE9BQTBCLEVBQ3pCLFlBQTRCO1FBSjdCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQVp0QyxXQUFNLEdBQVEsT0FBTyxDQUFDO1FBS3RCLFNBQUksR0FBUSxFQUFFLENBQUM7SUFRWCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sV0FBVyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCO1FBQ2pDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksSUFBSSxnRkFBZ0YsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1NBQ3hHO1FBQ0QsSUFBSSxTQUFTLEdBQUcsaUNBQWlDLENBQUM7UUFDbEQsU0FBUyxJQUFJLHdCQUF3QixDQUFDO1FBQ3RDLFNBQVMsSUFBTyw0Q0FBNEMsQ0FBQztRQUM3RCxTQUFTLElBQU8sb0NBQW9DLENBQUM7UUFDckQsU0FBUyxJQUFPLDZCQUE2QixDQUFDO1FBQzlDLFNBQVMsSUFBTyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsK0NBQStDLENBQUM7UUFDcEcsU0FBUyxJQUFPLDJCQUEyQixDQUFDO1FBQzVDLFNBQVMsSUFBVSx3Q0FBd0MsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2pHLFNBQVMsSUFBVSx3Q0FBd0MsQ0FBQztRQUM1RCxTQUFTLElBQWEsNEJBQTRCLENBQUM7UUFDbkQsU0FBUyxJQUFVLEdBQUcsQ0FBQztRQUN2QixTQUFTLElBQVUsMERBQTBELEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUM3RixTQUFTLElBQU8sSUFBSSxDQUFDO1FBQ3JCLFNBQVMsSUFBTyxtQkFBbUIsQ0FBQztRQUNwQyxTQUFTLElBQUksdUJBQXVCLENBQUM7UUFDckMsU0FBUyxJQUFJLFdBQVcsQ0FBQztRQUN6QixTQUFTLElBQUksMEJBQTBCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUM1RSxTQUFTLElBQVEsc0RBQXNELEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUNqSCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBTTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7O3FIQTdEVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixvRENWckMsNnJGQWdDQTsyRkR0QmEsd0JBQXdCO2tCQUhwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXBwQ29uZmlnIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlLCBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY2hvaWNlOiBhbnkgPSAnaXNVcmwnO1xuICBlbWJlZENvZGU6IGFueTtcbiAgc2hhcmVVcmw6IGFueTtcbiAgcHJvamVjdElkOiBhbnk7XG4gIHBhdGhOYW1lOiBhbnk7XG4gIGdvVG86IGFueSA9ICcnO1xuICBtb2RhbFJlZjogQnNNb2RhbFJlZjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1NYW5hZ2VyU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBhcHBDb25maWc6IEZvcm1pb0FwcENvbmZpZyxcbiAgICBwdWJsaWMgb3B0aW9uczogRm9ybU1hbmFnZXJDb25maWcsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnJlc2V0KHRoaXMucm91dGUpO1xuICAgIHRoaXMuc2VydmljZS5sb2FkRm9ybSgpLnRoZW4oZm9ybSA9PiB7XG4gICAgICB0aGlzLnNlcnZpY2UuZm9ybVNyYyA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIGZvcm0ucGF0aDtcbiAgICAgIHRoaXMucHJvamVjdElkID0gZm9ybS5wcm9qZWN0O1xuICAgICAgdGhpcy5wYXRoTmFtZSA9IGZvcm0ucGF0aDtcbiAgICAgIHRoaXMuZ2V0U2hhcmVVcmwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaGFyZVVybCgpIHtcbiAgICBjb25zdCBzcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLnBhdGhOYW1lO1xuICAgIHRoaXMuc2hhcmVVcmwgPSBgJHt0aGlzLm9wdGlvbnMudmlld2VyfS8jLz9zcmM9JHtlbmNvZGVVUklDb21wb25lbnQoc3JjKX1gO1xuICAgIHJldHVybiB0aGlzLnNoYXJlVXJsO1xuICB9XG5cbiAgb3BlbkVtYmVkKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBsZXQgZ290byA9ICcnO1xuICAgIGlmICh0aGlzLmdvVG8pIHtcbiAgICAgIGdvdG8gKz0gYGlmIChkICYmIGQuZm9ybVN1Ym1pc3Npb24gJiYgZC5mb3JtU3VibWlzc2lvbi5faWQpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIiR7dGhpcy5nb1RvfVwiO31gO1xuICAgIH1cbiAgICBsZXQgZW1iZWRDb2RlID0gJzxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPic7XG4gICAgZW1iZWRDb2RlICs9ICcoZnVuY3Rpb24gYShkLCB3LCB1KSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBoID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBzID0gZC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnR5cGUgPSBcInRleHQvamF2YXNjcmlwdFwiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnNyYyA9IFwiJyArIHRoaXMub3B0aW9ucy52aWV3ZXIgKyAnL2Fzc2V0cy9saWIvc2VhbWxlc3Mvc2VhbWxlc3MucGFyZW50Lm1pbi5qc1wiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLm9ubG9hZCA9IGZ1bmN0aW9uIGIoKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ3ZhciBmID0gZC5nZXRFbGVtZW50QnlJZChcImZvcm1pby1mb3JtLScgKyB0aGlzLnNlcnZpY2UuZm9ybWlvLmZvcm1JZCArICdcIik7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ2lmICghZiB8fCAodHlwZW9mIHcuc2VhbWxlc3MgPT09IHUpKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgICAgJ3JldHVybiBzZXRUaW1lb3V0KGIsIDEwMCk7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ30nO1xuICAgIGVtYmVkQ29kZSArPSAgICAgICAndy5zZWFtbGVzcyhmLCB7ZmFsbGJhY2s6ZmFsc2V9KS5yZWNlaXZlKGZ1bmN0aW9uKGQsIGUpIHsnICsgZ290byArICd9KTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnfTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnaC5hcHBlbmRDaGlsZChzKTsnO1xuICAgIGVtYmVkQ29kZSArPSAnfSkoZG9jdW1lbnQsIHdpbmRvdyk7JztcbiAgICBlbWJlZENvZGUgKz0gJzwvc2NyaXB0Pic7XG4gICAgZW1iZWRDb2RlICs9ICc8aWZyYW1lIGlkPVwiZm9ybWlvLWZvcm0tJyArIHRoaXMuc2VydmljZS5mb3JtaW8uZm9ybUlkICsgJ1wiICc7XG4gICAgZW1iZWRDb2RlICs9ICAgICAnc3R5bGU9XCJ3aWR0aDoxMDAlO2JvcmRlcjpub25lO1wiIGhlaWdodD1cIjgwMHB4XCIgc3JjPVwiJyArIHRoaXMuc2hhcmVVcmwgKyAnJmlmcmFtZT0xXCI+PC9pZnJhbWU+JztcbiAgICB0aGlzLmVtYmVkQ29kZSA9IGVtYmVkQ29kZTtcbiAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhjb250ZW50LCB7IGNsYXNzOiAnbW9kYWwtbGcnIH0pO1xuICB9XG5cbiAgY2hvaWNlcyhzdHJpbmcpIHtcbiAgICB0aGlzLmNob2ljZSA9IHN0cmluZztcbiAgfVxufVxuIiwiPGJ1dHRvbiAqbmdJZj1cIm9wdGlvbnMudmlld2VyXCIgY2xhc3M9XCJwdWxsLXJpZ2h0IGJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5FbWJlZChjb250ZW50KVwiPjxlbSBjbGFzcz1cImZhIGZhLXNoYXJlLWFsdCBnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIGJpIGJpLXNoYXJlXCI+PC9lbT4gU2hhcmU8L2J1dHRvbj5cbjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBtYi0yXCI+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCIuLi9cIj48ZW0gY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWxlZnQgZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLWxlZnQgYmkgYmktY2hldnJvbi1sZWZ0XCI+PC9lbT48L2E+PC9saT5cbiAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJ2aWV3XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxlbSBjbGFzcz1cImZhIGZhLXBlbmNpbCBnbHlwaGljb24gZ2x5cGhpY29uLXBlbmNpbCBiaSBiaS1wZW5jaWxcIj48L2VtPiBFbnRlciBEYXRhPC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwic3VibWlzc2lvblwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj48ZW0gY2xhc3M9XCJmYSBmYS1saXN0LWFsdCBnbHlwaGljb24gZ2x5cGhpY29uLWxpc3QtYWx0IGJpIGJpLXRhYmxlXCI+PC9lbT4gVmlldyBEYXRhPC9hPjwvbGk+XG4gIDxsaSAqbmdJZj1cInNlcnZpY2UuYWN0aW9uQWxsb3dlZCgnZm9ybUVkaXQnKVwiIGNsYXNzPVwibmF2LWl0ZW1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJlZGl0XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxlbSBjbGFzcz1cImZhIGZhLWVkaXQgZ2x5cGhpY29uIGdseXBoaWNvbi1lZGl0IGJpIGJpLXBlbmNpbC1zcXVhcmVcIj48L2VtPiBFZGl0IEZvcm08L2E+PC9saT5cbiAgPGxpICpuZ0lmPVwic2VydmljZS5hY3Rpb25BbGxvd2VkKCdmb3JtRGVsZXRlJylcIiBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZGVsZXRlXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtdHJhc2ggZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaCBiaSBiaS10cmFzaFwiPjwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlNoYXJlIG9yIEVtYmVkIHRoaXMgZm9ybTwvaDQ+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJtb2RhbFJlZi5oaWRlKClcIj5cbiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBtci1hdXRvIG1iLTJcIj5cbiAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XG4gICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGNob2ljZSA9PT0gJ2lzVXJsJ31cIiAoY2xpY2spPVwiY2hvaWNlcygnaXNVcmwnKVwiPjxlbSBjbGFzcz1cImZhIGZhLWxpbmsgYmkgYmktbGlua1wiPjwvZW0+IFVSTDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxuICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBjaG9pY2UgPT09ICdpc0VtYmVkJ31cIiAoY2xpY2spPVwiY2hvaWNlcygnaXNFbWJlZCcpXCI+PGVtIGNsYXNzPVwiZmEgZmEtY29kZSBiaSBiaS1jb2RlLXNsYXNoXCI+PC9lbT4gRW1iZWQ8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPHByZSAgKm5nSWY9XCJjaG9pY2UgPT09ICdpc0VtYmVkJ1wiPjx0ZXh0YXJlYSBvbmNsaWNrPVwidGhpcy5mb2N1cygpO3RoaXMuc2VsZWN0KClcIiByZWFkb25seT1cInJlYWRvbmx5XCIgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiIHJvd3M9XCI4XCIgW25nTW9kZWxdPVwiZW1iZWRDb2RlXCI+PC90ZXh0YXJlYT48L3ByZT5cbiAgICA8aW5wdXQgKm5nSWY9XCJjaG9pY2UgPT09ICdpc1VybCdcIiB0eXBlPVwidGV4dFwiIG9uY2xpY2s9XCJ0aGlzLmZvY3VzKCk7dGhpcy5zZWxlY3QoKVwiIHJlYWRvbmx5PVwicmVhZG9ubHlcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cInNoYXJlVXJsXCIgcGxhY2Vob2xkZXI9XCJodHRwczovL2V4YW1wbGVzLmZvcm0uaW8vZXhhbXBsZVwiPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIChjbGljayk9XCJtb2RhbFJlZi5oaWRlKClcIj5DbG9zZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FormManagerConfig {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.tag = '';
|
|
6
|
-
this.includeSearch = false;
|
|
7
|
-
this.saveDraft = false;
|
|
8
|
-
this.type = 'form';
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
FormManagerConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
-
FormManagerConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerConfig });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerConfig, decorators: [{
|
|
14
|
-
type: Injectable
|
|
15
|
-
}] });
|
|
16
|
-
export const DefaultConfiguration = new FormManagerConfig();
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFrQjNDLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFUyxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1Qsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixTQUFJLEdBQUcsTUFBTSxDQUFDO0tBSXRCOzs4R0FSWSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOztBQVdYLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTWFuYWdlclJvdXRlQ29uZmlnIHtcbiAgZm9ybUluZGV4PzogYW55O1xuICBmb3JtQ3JlYXRlPzogYW55O1xuICBmb3JtPzogYW55O1xuICBmb3JtVmlldz86IGFueTtcbiAgZm9ybUVkaXQ/OiBhbnk7XG4gIGZvcm1FbWJlZD86IGFueTtcbiAgZm9ybURlbGV0ZT86IGFueTtcbiAgc3VibWlzc2lvbkluZGV4PzogYW55O1xuICBzdWJtaXNzaW9uPzogYW55O1xuICBzdWJtaXNzaW9uVmlldz86IGFueTtcbiAgc3VibWlzc2lvbkVkaXQ/OiBhbnk7XG4gIHN1Ym1pc3Npb25EZWxldGU/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlckNvbmZpZyB7XG4gIHB1YmxpYyB0YWcgPSAnJztcbiAgcHVibGljIGluY2x1ZGVTZWFyY2ggPSBmYWxzZTtcbiAgcHVibGljIHNhdmVEcmFmdCA9IGZhbHNlO1xuICBwdWJsaWMgdHlwZSA9ICdmb3JtJztcbiAgcHVibGljIGJ1aWxkZXI/OiBhbnk7XG4gIHB1YmxpYyB2aWV3ZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyByZW5kZXJlcjogYW55O1xufVxuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbmZpZ3VyYXRpb24gPSBuZXcgRm9ybU1hbmFnZXJDb25maWcoKTsiXX0=
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { FormsModule } from '@angular/forms';
|
|
5
|
-
import { FormioModule } from '@formio/angular';
|
|
6
|
-
import { FormioGrid } from '@formio/angular/grid';
|
|
7
|
-
import { FormManagerIndexComponent } from './index/index.component';
|
|
8
|
-
import { FormManagerCreateComponent } from './create/create.component';
|
|
9
|
-
import { FormManagerFormComponent } from './form/form.component';
|
|
10
|
-
import { FormManagerViewComponent } from './view/view.component';
|
|
11
|
-
import { FormManagerEditComponent } from './edit/edit.component';
|
|
12
|
-
import { FormManagerDeleteComponent } from './delete/delete.component';
|
|
13
|
-
import { SubmissionComponent } from './submission/submission/submission.component';
|
|
14
|
-
import { SubmissionEditComponent } from './submission/edit/edit.component';
|
|
15
|
-
import { SubmissionDeleteComponent } from './submission/delete/delete.component';
|
|
16
|
-
import { SubmissionViewComponent } from './submission/view/view.component';
|
|
17
|
-
import { SubmissionIndexComponent } from './submission/index/index.component';
|
|
18
|
-
import { FormManagerRoutes } from './form-manager.routes';
|
|
19
|
-
import { PaginationModule } from 'ngx-bootstrap/pagination';
|
|
20
|
-
import { ModalModule } from 'ngx-bootstrap/modal';
|
|
21
|
-
import { extendRouter } from '@formio/angular';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
import * as i1 from "ngx-bootstrap/modal";
|
|
24
|
-
import * as i2 from "ngx-bootstrap/pagination";
|
|
25
|
-
export class FormManagerModule {
|
|
26
|
-
static forChild(config) {
|
|
27
|
-
return extendRouter(FormManagerModule, config, FormManagerRoutes);
|
|
28
|
-
}
|
|
29
|
-
static forRoot(config) {
|
|
30
|
-
return extendRouter(FormManagerModule, config, FormManagerRoutes);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
FormManagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
34
|
-
FormManagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: FormManagerModule, declarations: [FormManagerIndexComponent,
|
|
35
|
-
FormManagerCreateComponent,
|
|
36
|
-
FormManagerFormComponent,
|
|
37
|
-
FormManagerViewComponent,
|
|
38
|
-
FormManagerEditComponent,
|
|
39
|
-
FormManagerDeleteComponent,
|
|
40
|
-
SubmissionComponent,
|
|
41
|
-
SubmissionEditComponent,
|
|
42
|
-
SubmissionDeleteComponent,
|
|
43
|
-
SubmissionViewComponent,
|
|
44
|
-
SubmissionIndexComponent], imports: [CommonModule,
|
|
45
|
-
FormioModule,
|
|
46
|
-
RouterModule,
|
|
47
|
-
FormsModule,
|
|
48
|
-
FormioGrid, i1.ModalModule, i2.PaginationModule] });
|
|
49
|
-
FormManagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerModule, imports: [CommonModule,
|
|
50
|
-
FormioModule,
|
|
51
|
-
RouterModule,
|
|
52
|
-
FormsModule,
|
|
53
|
-
FormioGrid,
|
|
54
|
-
ModalModule.forRoot(),
|
|
55
|
-
PaginationModule.forRoot()] });
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerModule, decorators: [{
|
|
57
|
-
type: NgModule,
|
|
58
|
-
args: [{
|
|
59
|
-
imports: [
|
|
60
|
-
CommonModule,
|
|
61
|
-
FormioModule,
|
|
62
|
-
RouterModule,
|
|
63
|
-
FormsModule,
|
|
64
|
-
FormioGrid,
|
|
65
|
-
ModalModule.forRoot(),
|
|
66
|
-
PaginationModule.forRoot()
|
|
67
|
-
],
|
|
68
|
-
declarations: [
|
|
69
|
-
FormManagerIndexComponent,
|
|
70
|
-
FormManagerCreateComponent,
|
|
71
|
-
FormManagerFormComponent,
|
|
72
|
-
FormManagerViewComponent,
|
|
73
|
-
FormManagerEditComponent,
|
|
74
|
-
FormManagerDeleteComponent,
|
|
75
|
-
SubmissionComponent,
|
|
76
|
-
SubmissionEditComponent,
|
|
77
|
-
SubmissionDeleteComponent,
|
|
78
|
-
SubmissionViewComponent,
|
|
79
|
-
SubmissionIndexComponent
|
|
80
|
-
]
|
|
81
|
-
}]
|
|
82
|
-
}] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUF5Qi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUErQjtRQUM3QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUErQjtRQUM1QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs4R0FOVSxpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFiMUIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLHdCQUF3QixhQW5CeEIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLFVBQVU7K0dBa0JELGlCQUFpQixZQXRCMUIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLFVBQVU7UUFDVixXQUFXLENBQUMsT0FBTyxFQUFFO1FBQ3JCLGdCQUFnQixDQUFDLE9BQU8sRUFBRTsyRkFnQmpCLGlCQUFpQjtrQkF4QjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7cUJBQzNCO29CQUNELFlBQVksRUFBRTt3QkFDWix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1pb01vZHVsZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9HcmlkIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2dyaWQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJJbmRleENvbXBvbmVudCB9IGZyb20gJy4vaW5kZXgvaW5kZXguY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyQ3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUvY3JlYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC9lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9zdWJtaXNzaW9uL3N1Ym1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL2VkaXQvZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25JbmRleENvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9pbmRleC9pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJSb3V0ZUNvbmZpZyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclJvdXRlcyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLnJvdXRlcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wYWdpbmF0aW9uJztcbmltcG9ydCB7IE1vZGFsTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBleHRlbmRSb3V0ZXIgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3JtaW9Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvcm1pb0dyaWQsXG4gICAgTW9kYWxNb2R1bGUuZm9yUm9vdCgpLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUuZm9yUm9vdCgpXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZvcm1NYW5hZ2VySW5kZXhDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJDcmVhdGVDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VyVmlld0NvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlckVkaXRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJEZWxldGVDb21wb25lbnQsXG4gICAgU3VibWlzc2lvbkNvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uRWRpdENvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uRGVsZXRlQ29tcG9uZW50LFxuICAgIFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50LFxuICAgIFN1Ym1pc3Npb25JbmRleENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VyTW9kdWxlIHtcbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZz86IEZvcm1NYW5hZ2VyUm91dGVDb25maWcpOiBhbnkge1xuICAgIHJldHVybiBleHRlbmRSb3V0ZXIoRm9ybU1hbmFnZXJNb2R1bGUsIGNvbmZpZywgRm9ybU1hbmFnZXJSb3V0ZXMpO1xuICB9XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEZvcm1NYW5hZ2VyUm91dGVDb25maWcpOiBhbnkge1xuICAgIHJldHVybiBleHRlbmRSb3V0ZXIoRm9ybU1hbmFnZXJNb2R1bGUsIGNvbmZpZywgRm9ybU1hbmFnZXJSb3V0ZXMpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Formio } from 'formiojs';
|
|
3
|
-
import _intersection from 'lodash/intersection';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@formio/angular";
|
|
6
|
-
import * as i2 from "./form-manager.config";
|
|
7
|
-
import * as i3 from "@formio/angular/auth";
|
|
8
|
-
export class FormManagerService {
|
|
9
|
-
constructor(appConfig, config, auth) {
|
|
10
|
-
this.appConfig = appConfig;
|
|
11
|
-
this.config = config;
|
|
12
|
-
this.auth = auth;
|
|
13
|
-
this.form = null;
|
|
14
|
-
this.formSrc = '';
|
|
15
|
-
this.perms = { delete: false, edit: false };
|
|
16
|
-
if (this.appConfig && this.appConfig.appUrl) {
|
|
17
|
-
Formio.setBaseUrl(this.appConfig.apiUrl);
|
|
18
|
-
Formio.setProjectUrl(this.appConfig.appUrl);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
console.error('You must provide an AppConfig within your application!');
|
|
22
|
-
}
|
|
23
|
-
this.allAccessMap = {
|
|
24
|
-
'update_all': 'formEdit',
|
|
25
|
-
'delete_all': 'formDelete'
|
|
26
|
-
};
|
|
27
|
-
this.ownAccessMap = {
|
|
28
|
-
'update_own': 'formEdit',
|
|
29
|
-
'delete_own': 'formDelete'
|
|
30
|
-
};
|
|
31
|
-
this.actionAllowed = (action) => this.isActionAllowed(action);
|
|
32
|
-
this.reset();
|
|
33
|
-
}
|
|
34
|
-
isActionAllowed(action) {
|
|
35
|
-
return this.access[action];
|
|
36
|
-
}
|
|
37
|
-
setAccess() {
|
|
38
|
-
this.access = {
|
|
39
|
-
formCreate: true,
|
|
40
|
-
formView: true,
|
|
41
|
-
formSubmission: true,
|
|
42
|
-
formEdit: true,
|
|
43
|
-
formPermission: true,
|
|
44
|
-
formDelete: true,
|
|
45
|
-
projectSettings: true,
|
|
46
|
-
userManagement: true
|
|
47
|
-
};
|
|
48
|
-
if (this.auth) {
|
|
49
|
-
this.access = {
|
|
50
|
-
formCreate: false,
|
|
51
|
-
formView: false,
|
|
52
|
-
formSubmission: false,
|
|
53
|
-
formEdit: false,
|
|
54
|
-
formPermission: false,
|
|
55
|
-
formDelete: false,
|
|
56
|
-
projectSettings: false,
|
|
57
|
-
userManagement: false
|
|
58
|
-
};
|
|
59
|
-
this.ready = this.auth.ready.then(() => {
|
|
60
|
-
let administrator = this.auth.roles["administrator"];
|
|
61
|
-
let formbuilder = this.auth.roles["formbuilder"];
|
|
62
|
-
let formadmin = this.auth.roles["formadmin"];
|
|
63
|
-
if (this.auth.user && this.auth.user.roles) {
|
|
64
|
-
this.auth.user.roles.forEach((roleId) => {
|
|
65
|
-
if (administrator._id === roleId) {
|
|
66
|
-
this.access.formCreate = true;
|
|
67
|
-
this.access.formView = true;
|
|
68
|
-
this.access.formSubmission = true;
|
|
69
|
-
this.access.formEdit = true;
|
|
70
|
-
this.access.formPermission = true;
|
|
71
|
-
this.access.formDelete = true;
|
|
72
|
-
this.access.projectSettings = true;
|
|
73
|
-
this.access.userManagement = true;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
if (formadmin._id === roleId) {
|
|
77
|
-
this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
|
|
78
|
-
this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
|
|
79
|
-
this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
|
|
80
|
-
this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
|
|
81
|
-
this.access.formView = this.auth.formAccess.read_all.includes(roleId);
|
|
82
|
-
this.access.formSubmission = this.auth.formAccess.read_all.includes(roleId);
|
|
83
|
-
}
|
|
84
|
-
if (formbuilder._id === roleId) {
|
|
85
|
-
this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
|
|
86
|
-
this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
|
|
87
|
-
this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
|
|
88
|
-
this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
|
|
89
|
-
this.access.formView = this.auth.formAccess.read_all.includes(roleId);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
this.ready = Promise.resolve(false);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
reset(route) {
|
|
101
|
-
if (route) {
|
|
102
|
-
route.params.subscribe(params => {
|
|
103
|
-
if (params.id) {
|
|
104
|
-
this.formio = new Formio(`${this.formio.formsUrl}/${params.id}`);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.reset();
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
this.formio = new Formio(this.appConfig.appUrl);
|
|
113
|
-
this.setAccess();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
hasAccess(roles) {
|
|
117
|
-
if (!this.auth.user) {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
return !!_intersection(roles, this.auth.user.roles).length;
|
|
121
|
-
}
|
|
122
|
-
setForm(form) {
|
|
123
|
-
this.form = form;
|
|
124
|
-
this.formSrc = this.appConfig.appUrl + '/' + form.path;
|
|
125
|
-
if (form.access) {
|
|
126
|
-
// Check if they have access here.
|
|
127
|
-
form.access.forEach(access => {
|
|
128
|
-
// Check for all access.
|
|
129
|
-
if (this.allAccessMap[access.type] && !this.access[this.allAccessMap[access.type]]) {
|
|
130
|
-
this.access[this.allAccessMap[access.type]] = this.hasAccess(access.roles);
|
|
131
|
-
}
|
|
132
|
-
// Check for own access.
|
|
133
|
-
if (this.auth && this.auth.user &&
|
|
134
|
-
(form._id === this.auth.user._id) &&
|
|
135
|
-
this.ownAccessMap[access.type] &&
|
|
136
|
-
!this.access[this.ownAccessMap[access.type]]) {
|
|
137
|
-
this.access[this.ownAccessMap[access.type]] = this.hasAccess(access.roles);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return form;
|
|
142
|
-
}
|
|
143
|
-
loadForm() {
|
|
144
|
-
this.form = null;
|
|
145
|
-
this.formReady = this.formio.loadForm().then(form => this.setForm(form));
|
|
146
|
-
return this.formReady;
|
|
147
|
-
}
|
|
148
|
-
setSubmission(route) {
|
|
149
|
-
return new Promise((resolve) => {
|
|
150
|
-
route.params.subscribe(params => {
|
|
151
|
-
this.formio = new Formio(`${this.formio.submissionsUrl}/${params.id}`);
|
|
152
|
-
resolve(this.formio);
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
submissionLoaded(submission) {
|
|
157
|
-
this.auth.ready.then(() => {
|
|
158
|
-
this.formio.userPermissions(this.auth.user, this.form, submission).then((perms) => {
|
|
159
|
-
this.perms.delete = perms.delete;
|
|
160
|
-
this.perms.edit = perms.edit;
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
loadForms() {
|
|
165
|
-
return this.formio.loadForms({ params: {
|
|
166
|
-
tags: this.config.tag
|
|
167
|
-
} });
|
|
168
|
-
}
|
|
169
|
-
createForm(form) {
|
|
170
|
-
return this.formio.createform(form);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
FormManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerService, deps: [{ token: i1.FormioAppConfig }, { token: i2.FormManagerConfig }, { token: i3.FormioAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
174
|
-
FormManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerService });
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormManagerService, decorators: [{
|
|
176
|
-
type: Injectable
|
|
177
|
-
}], ctorParameters: function () { return [{ type: i1.FormioAppConfig }, { type: i2.FormManagerConfig }, { type: i3.FormioAuthService }]; } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJbEMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDUyxTQUEwQixFQUMxQixNQUF5QixFQUN6QixJQUF1QjtRQUZ2QixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVB6QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBTzFDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUMzQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7U0FDekU7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLFlBQVksRUFBRSxVQUFVO1lBQ3hCLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xC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TSxDQUFDLENBQUM7Z0NBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7NkJBQzdFOzRCQUNELElBQUksV0FBVyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUU7Z0NBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzNFLElBQUksQ0FBQyxNQUFNLENB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Q0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBQyxNQUFNLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7YUFDdEIsRUFBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOzsrR0F2TFUsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1pb0FwcENvbmZpZyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW8gfSBmcm9tICdmb3JtaW9qcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9hdXRoJztcbmltcG9ydCBfZWFjaCBmcm9tICdsb2Rhc2gvZWFjaCc7XG5pbXBvcnQgX2ludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VyU2VydmljZSB7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pbztcbiAgcHVibGljIGFjY2VzczogYW55O1xuICBwdWJsaWMgYWxsQWNjZXNzTWFwOiBhbnk7XG4gIHB1YmxpYyBvd25BY2Nlc3NNYXA6IGFueTtcbiAgcHVibGljIHJlYWR5OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyBmb3JtUmVhZHk6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGFjdGlvbkFsbG93ZWQ6IGFueTtcbiAgcHVibGljIGZvcm0gPSBudWxsO1xuICBwdWJsaWMgZm9ybVNyYyA9ICcnO1xuICBwdWJsaWMgcGVybXMgPSB7ZGVsZXRlOiBmYWxzZSwgZWRpdDogZmFsc2V9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhcHBDb25maWc6IEZvcm1pb0FwcENvbmZpZyxcbiAgICBwdWJsaWMgY29uZmlnOiBGb3JtTWFuYWdlckNvbmZpZyxcbiAgICBwdWJsaWMgYXV0aDogRm9ybWlvQXV0aFNlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnICYmIHRoaXMuYXBwQ29uZmlnLmFwcFVybCkge1xuICAgICAgRm9ybWlvLnNldEJhc2VVcmwodGhpcy5hcHBDb25maWcuYXBpVXJsKTtcbiAgICAgIEZvcm1pby5zZXRQcm9qZWN0VXJsKHRoaXMuYXBwQ29uZmlnLmFwcFVybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYW4gQXBwQ29uZmlnIHdpdGhpbiB5b3VyIGFwcGxpY2F0aW9uIScpO1xuICAgIH1cblxuICAgIHRoaXMuYWxsQWNjZXNzTWFwID0ge1xuICAgICAgJ3VwZGF0ZV9hbGwnOiAnZm9ybUVkaXQnLFxuICAgICAgJ2RlbGV0ZV9hbGwnOiAnZm9ybURlbGV0ZSdcbiAgICB9O1xuICAgIHRoaXMub3duQWNjZXNzTWFwID0ge1xuICAgICAgJ3VwZGF0ZV9vd24nOiAnZm9ybUVkaXQnLFxuICAgICAgJ2RlbGV0ZV9vd24nOiAnZm9ybURlbGV0ZSdcbiAgICB9O1xuICAgIHRoaXMuYWN0aW9uQWxsb3dlZCA9IChhY3Rpb24pID0+IHRoaXMuaXNBY3Rpb25BbGxvd2VkKGFjdGlvbik7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgaXNBY3Rpb25BbGxvd2VkKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXNzW2FjdGlvbl07XG4gIH1cblxuICBzZXRBY2Nlc3MoKSB7XG4gICAgdGhpcy5hY2Nlc3MgPSB7XG4gICAgICBmb3JtQ3JlYXRlOiB0cnVlLFxuICAgICAgZm9ybVZpZXc6IHRydWUsXG4gICAgICBmb3JtU3VibWlzc2lvbjogdHJ1ZSxcbiAgICAgIGZvcm1FZGl0OiB0cnVlLFxuICAgICAgZm9ybVBlcm1pc3Npb246IHRydWUsXG4gICAgICBmb3JtRGVsZXRlOiB0cnVlLFxuICAgICAgcHJvamVjdFNldHRpbmdzOiB0cnVlLFxuICAgICAgdXNlck1hbmFnZW1lbnQ6IHRydWVcbiAgICB9O1xuICAgIGlmICh0aGlzLmF1dGgpIHtcbiAgICAgIHRoaXMuYWNjZXNzID0ge1xuICAgICAgICBmb3JtQ3JlYXRlOiBmYWxzZSxcbiAgICAgICAgZm9ybVZpZXc6IGZhbHNlLFxuICAgICAgICBmb3JtU3VibWlzc2lvbjogZmFsc2UsXG4gICAgICAgIGZvcm1FZGl0OiBmYWxzZSxcbiAgICAgICAgZm9ybVBlcm1pc3Npb246IGZhbHNlLFxuICAgICAgICBmb3JtRGVsZXRlOiBmYWxzZSxcbiAgICAgICAgcHJvamVjdFNldHRpbmdzOiBmYWxzZSxcbiAgICAgICAgdXNlck1hbmFnZW1lbnQ6IGZhbHNlXG4gICAgICB9O1xuICAgICAgdGhpcy5yZWFkeSA9IHRoaXMuYXV0aC5yZWFkeS50aGVuKCgpID0+IHtcbiAgICAgICAgbGV0IGFkbWluaXN0cmF0b3IgPSB0aGlzLmF1dGgucm9sZXNbXCJhZG1pbmlzdHJhdG9yXCJdO1xuICAgICAgICBsZXQgZm9ybWJ1aWxkZXIgPSB0aGlzLmF1dGgucm9sZXNbXCJmb3JtYnVpbGRlclwiXTtcbiAgICAgICAgbGV0IGZvcm1hZG1pbiA9IHRoaXMuYXV0aC5yb2xlc1tcImZvcm1hZG1pblwiXTtcblxuICAgICAgICBpZiAodGhpcy5hdXRoLnVzZXIgJiYgdGhpcy5hdXRoLnVzZXIucm9sZXMpIHtcbiAgICAgICAgICB0aGlzLmF1dGgudXNlci5yb2xlcy5mb3JFYWNoKChyb2xlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGFkbWluaXN0cmF0b3IuX2lkID09PSByb2xlSWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUNyZWF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1WaWV3ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVN1Ym1pc3Npb249IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1FZGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVBlcm1pc3Npb24gPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRGVsZXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MucHJvamVjdFNldHRpbmdzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MudXNlck1hbmFnZW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChmb3JtYWRtaW4uX2lkID09PSByb2xlSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtQ3JlYXRlID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MuY3JlYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1FZGl0ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1QZXJtaXNzaW9uID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1EZWxldGUgPSAgdGhpcy5hdXRoLmZvcm1BY2Nlc3MuZGVsZXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1WaWV3ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MucmVhZF9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtU3VibWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGZvcm1idWlsZGVyLl9pZCA9PT0gcm9sZUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUNyZWF0ZSA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLmNyZWF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRWRpdCA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRGVsZXRlID0gIHRoaXMuYXV0aC5mb3JtQWNjZXNzLmRlbGV0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtVmlldyA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkgPSBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBpZiAocm91dGUpIHtcbiAgICAgIHJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pbyhgJHt0aGlzLmZvcm1pby5mb3Jtc1VybH0vJHtwYXJhbXMuaWR9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvKHRoaXMuYXBwQ29uZmlnLmFwcFVybCk7XG4gICAgICB0aGlzLnNldEFjY2VzcygpO1xuICAgIH1cbiAgfVxuXG4gIGhhc0FjY2Vzcyhyb2xlcykge1xuICAgIGlmICghdGhpcy5hdXRoLnVzZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICEhX2ludGVyc2VjdGlvbihyb2xlcywgdGhpcy5hdXRoLnVzZXIucm9sZXMpLmxlbmd0aDtcbiAgfVxuXG4gIHNldEZvcm0oZm9ybTogYW55KSB7XG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZvcm1TcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyBmb3JtLnBhdGg7XG4gICAgaWYgKGZvcm0uYWNjZXNzKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGV5IGhhdmUgYWNjZXNzIGhlcmUuXG4gICAgICBmb3JtLmFjY2Vzcy5mb3JFYWNoKGFjY2VzcyA9PiB7XG4gICAgICAgIC8vIENoZWNrIGZvciBhbGwgYWNjZXNzLlxuICAgICAgICBpZiAodGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdICYmICF0aGlzLmFjY2Vzc1t0aGlzLmFsbEFjY2Vzc01hcFthY2Nlc3MudHlwZV1dKSB7XG4gICAgICAgICAgdGhpcy5hY2Nlc3NbdGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdXSA9IHRoaXMuaGFzQWNjZXNzKGFjY2Vzcy5yb2xlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBmb3Igb3duIGFjY2Vzcy5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYXV0aCAmJiB0aGlzLmF1dGgudXNlciAmJlxuICAgICAgICAgIChmb3JtLl9pZCA9PT0gdGhpcy5hdXRoLnVzZXIuX2lkKSAmJlxuICAgICAgICAgIHRoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXSAmJlxuICAgICAgICAgICF0aGlzLmFjY2Vzc1t0aGlzLm93bkFjY2Vzc01hcFthY2Nlc3MudHlwZV1dXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuYWNjZXNzW3RoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXV0gPSB0aGlzLmhhc0FjY2VzcyhhY2Nlc3Mucm9sZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZm9ybVJlYWR5ID0gdGhpcy5mb3JtaW8ubG9hZEZvcm0oKS50aGVuKGZvcm0gPT4gdGhpcy5zZXRGb3JtKGZvcm0pKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVhZHk7XG4gIH1cblxuICBzZXRTdWJtaXNzaW9uKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW8oYCR7dGhpcy5mb3JtaW8uc3VibWlzc2lvbnNVcmx9LyR7cGFyYW1zLmlkfWApO1xuICAgICAgICByZXNvbHZlKHRoaXMuZm9ybWlvKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWlzc2lvbkxvYWRlZChzdWJtaXNzaW9uOiBhbnkpIHtcbiAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1pby51c2VyUGVybWlzc2lvbnModGhpcy5hdXRoLnVzZXIsIHRoaXMuZm9ybSwgc3VibWlzc2lvbikudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgdGhpcy5wZXJtcy5kZWxldGUgPSBwZXJtcy5kZWxldGU7XG4gICAgICAgIHRoaXMucGVybXMuZWRpdCA9IHBlcm1zLmVkaXQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRGb3JtcygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtaW8ubG9hZEZvcm1zKHtwYXJhbXM6IHtcbiAgICAgIHRhZ3M6IHRoaXMuY29uZmlnLnRhZ1xuICAgIH19KTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oZm9ybTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWlvLmNyZWF0ZWZvcm0oZm9ybSk7XG4gIH1cbn1cbiJdfQ==
|