@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,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Formio } from 'formiojs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../resource.service";
|
|
5
|
-
import * as i2 from "../resource.config";
|
|
6
|
-
import * as i3 from "@formio/angular";
|
|
7
|
-
export class FormioResourceViewComponent {
|
|
8
|
-
constructor(service, config) {
|
|
9
|
-
this.service = service;
|
|
10
|
-
this.config = config;
|
|
11
|
-
this.submission = { data: {} };
|
|
12
|
-
}
|
|
13
|
-
ngOnDestroy() {
|
|
14
|
-
Formio.clearCache();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
FormioResourceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioResourceViewComponent, deps: [{ token: i1.FormioResourceService }, { token: i2.FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
FormioResourceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormioResourceViewComponent, selector: "ng-component", ngImport: i0, template: "<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n", dependencies: [{ kind: "component", type: i3.FormioComponent, selector: "formio" }] });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioResourceViewComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ template: "<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n" }]
|
|
22
|
-
}], ctorParameters: function () { return [{ type: i1.FormioResourceService }, { type: i2.FormioResourceConfig }]; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9yZXNvdXJjZS9zcmMvdmlldy92aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy92aWV3L3ZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDOzs7OztBQUtoQyxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQ1MsT0FBOEIsRUFDOUIsTUFBNEI7UUFENUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFFOUIsZUFBVSxHQUFHLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBRDVCLENBQUM7SUFHSixXQUFXO1FBQ1QsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7O3dIQVRVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG9EQ1J4QyxxSkFNQTsyRkRFYSwyQkFBMkI7a0JBSHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1pb1Jlc291cmNlU2VydmljZSB9IGZyb20gJy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuLi9yZXNvdXJjZS5jb25maWcnO1xuaW1wb3J0IHtGb3JtaW99IGZyb20gJ2Zvcm1pb2pzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3l7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZVNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZzogRm9ybWlvUmVzb3VyY2VDb25maWdcbiAgKSB7fVxuICBwdWJsaWMgc3VibWlzc2lvbiA9IHtkYXRhOiB7fX07XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgRm9ybWlvLmNsZWFyQ2FjaGUoKTtcbiAgfVxufVxuIiwiPGZvcm1pb1xuICBbZm9ybV09XCJzZXJ2aWNlLmZvcm1cIlxuICBbc3VibWlzc2lvbl09XCJzZXJ2aWNlLnJlc291cmNlXCJcbiAgW2hpZGVDb21wb25lbnRzXT1cImNvbmZpZy5wYXJlbnRzXCJcbiAgW3JlYWRPbmx5XT1cInRydWVcIlxuPjwvZm9ybWlvPlxuIl19
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, EventEmitter, Component, NgModule } from '@angular/core';
|
|
3
|
-
import { get, each } from 'lodash';
|
|
4
|
-
import { Formio } from 'formiojs';
|
|
5
|
-
import * as i2 from '@formio/angular';
|
|
6
|
-
import { extendRouter, FormioModule } from '@formio/angular';
|
|
7
|
-
import * as i1 from '@angular/router';
|
|
8
|
-
import { RouterModule } from '@angular/router';
|
|
9
|
-
import { CommonModule } from '@angular/common';
|
|
10
|
-
|
|
11
|
-
class FormioAuthConfig {
|
|
12
|
-
}
|
|
13
|
-
FormioAuthConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
FormioAuthConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthConfig });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthConfig, decorators: [{
|
|
16
|
-
type: Injectable
|
|
17
|
-
}] });
|
|
18
|
-
var FormioOauthType;
|
|
19
|
-
(function (FormioOauthType) {
|
|
20
|
-
FormioOauthType["okta"] = "okta";
|
|
21
|
-
FormioOauthType["saml"] = "saml";
|
|
22
|
-
})(FormioOauthType || (FormioOauthType = {}));
|
|
23
|
-
|
|
24
|
-
class FormioAuthService {
|
|
25
|
-
constructor(appConfig, config) {
|
|
26
|
-
this.appConfig = appConfig;
|
|
27
|
-
this.config = config;
|
|
28
|
-
this.authenticated = false;
|
|
29
|
-
this.formAccess = {};
|
|
30
|
-
this.submissionAccess = {};
|
|
31
|
-
this.is = {};
|
|
32
|
-
this.user = null;
|
|
33
|
-
if (this.appConfig && this.appConfig.appUrl) {
|
|
34
|
-
Formio.setBaseUrl(this.appConfig.apiUrl);
|
|
35
|
-
Formio.setProjectUrl(this.appConfig.appUrl);
|
|
36
|
-
Formio.formOnly = !!this.appConfig.formOnly;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.error('You must provide an AppConfig within your application!');
|
|
40
|
-
}
|
|
41
|
-
this.loginForm =
|
|
42
|
-
this.appConfig.appUrl +
|
|
43
|
-
'/' +
|
|
44
|
-
get(this.config, 'login.form', 'user/login');
|
|
45
|
-
this.registerForm =
|
|
46
|
-
this.appConfig.appUrl +
|
|
47
|
-
'/' +
|
|
48
|
-
get(this.config, 'register.form', 'user/register');
|
|
49
|
-
this.resetPassForm =
|
|
50
|
-
this.appConfig.appUrl +
|
|
51
|
-
'/' +
|
|
52
|
-
get(this.config, 'register.form', 'resetpass');
|
|
53
|
-
this.onLogin = new EventEmitter();
|
|
54
|
-
this.onLogout = new EventEmitter();
|
|
55
|
-
this.onRegister = new EventEmitter();
|
|
56
|
-
this.onUser = new EventEmitter();
|
|
57
|
-
this.onError = new EventEmitter();
|
|
58
|
-
this.ready = new Promise((resolve, reject) => {
|
|
59
|
-
this.readyResolve = resolve;
|
|
60
|
-
this.readyReject = reject;
|
|
61
|
-
});
|
|
62
|
-
// Register for the core events.
|
|
63
|
-
Formio.events.on('formio.badToken', () => this.logoutError());
|
|
64
|
-
Formio.events.on('formio.sessionExpired', () => this.logoutError());
|
|
65
|
-
if (!this.config.delayAuth) {
|
|
66
|
-
this.init();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
onLoginSubmit(submission) {
|
|
70
|
-
this.setUser(submission);
|
|
71
|
-
this.onLogin.emit(submission);
|
|
72
|
-
}
|
|
73
|
-
onRegisterSubmit(submission) {
|
|
74
|
-
this.setUser(submission);
|
|
75
|
-
this.onRegister.emit(submission);
|
|
76
|
-
}
|
|
77
|
-
onResetPassSubmit(submission) {
|
|
78
|
-
this.onResetPass.emit(submission);
|
|
79
|
-
}
|
|
80
|
-
init() {
|
|
81
|
-
this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then((project) => {
|
|
82
|
-
each(project.access, (access) => {
|
|
83
|
-
this.formAccess[access.type] = access.roles;
|
|
84
|
-
});
|
|
85
|
-
}, () => {
|
|
86
|
-
this.formAccess = {};
|
|
87
|
-
return null;
|
|
88
|
-
});
|
|
89
|
-
// Get the access for this project.
|
|
90
|
-
this.accessReady = Formio.makeStaticRequest(this.appConfig.appUrl + '/access').then((access) => {
|
|
91
|
-
each(access.forms, (form) => {
|
|
92
|
-
this.submissionAccess[form.name] = {};
|
|
93
|
-
form.submissionAccess.forEach((subAccess) => {
|
|
94
|
-
this.submissionAccess[form.name][subAccess.type] = subAccess.roles;
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
this.roles = access.roles;
|
|
98
|
-
return access;
|
|
99
|
-
}, () => {
|
|
100
|
-
this.roles = {};
|
|
101
|
-
return null;
|
|
102
|
-
});
|
|
103
|
-
let currentUserPromise;
|
|
104
|
-
if (this.config.oauth) {
|
|
105
|
-
// Make a fix to the hash to remove starting "/" that angular might put there.
|
|
106
|
-
if (window.location.hash && window.location.hash.match(/^#\/access_token/)) {
|
|
107
|
-
history.pushState(null, null, window.location.hash.replace(/^#\/access_token/, '#access_token'));
|
|
108
|
-
}
|
|
109
|
-
// Initiate the SSO if they provide oauth settings.
|
|
110
|
-
currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
currentUserPromise = Formio.currentUser();
|
|
114
|
-
}
|
|
115
|
-
this.userReady = currentUserPromise.then((user) => {
|
|
116
|
-
this.setUser(user);
|
|
117
|
-
return user;
|
|
118
|
-
});
|
|
119
|
-
// Trigger we are redy when all promises have resolved.
|
|
120
|
-
if (this.accessReady) {
|
|
121
|
-
this.accessReady
|
|
122
|
-
.then(() => this.projectReady)
|
|
123
|
-
.then(() => this.userReady)
|
|
124
|
-
.then(() => this.readyResolve(true))
|
|
125
|
-
.catch((err) => this.readyReject(err));
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
setUser(user) {
|
|
129
|
-
const namespace = Formio.namespace || 'formio';
|
|
130
|
-
if (user) {
|
|
131
|
-
this.user = user;
|
|
132
|
-
localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));
|
|
133
|
-
this.setUserRoles();
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this.user = null;
|
|
137
|
-
this.is = {};
|
|
138
|
-
localStorage.removeItem(`${namespace}AppUser`);
|
|
139
|
-
Formio.clearCache();
|
|
140
|
-
Formio.setUser(null);
|
|
141
|
-
}
|
|
142
|
-
this.authenticated = !!Formio.getToken();
|
|
143
|
-
this.onUser.emit(this.user);
|
|
144
|
-
}
|
|
145
|
-
setUserRoles() {
|
|
146
|
-
if (this.accessReady) {
|
|
147
|
-
this.accessReady.then(() => {
|
|
148
|
-
each(this.roles, (role, roleName) => {
|
|
149
|
-
if (this.user.roles.indexOf(role._id) !== -1) {
|
|
150
|
-
this.is[roleName] = true;
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
logoutError() {
|
|
157
|
-
this.setUser(null);
|
|
158
|
-
const namespace = Formio.namespace || 'formio';
|
|
159
|
-
localStorage.removeItem(`${namespace}Token`);
|
|
160
|
-
this.onError.emit();
|
|
161
|
-
}
|
|
162
|
-
logout() {
|
|
163
|
-
this.setUser(null);
|
|
164
|
-
const namespace = Formio.namespace || 'formio';
|
|
165
|
-
if (localStorage.getItem(`${namespace}LogoutAuthUrl`)) {
|
|
166
|
-
window.open(localStorage.getItem(`${namespace}LogoutAuthUrl`), null, 'width=1020,height=618');
|
|
167
|
-
localStorage.removeItem(`${namespace}LogoutAuthUrl`);
|
|
168
|
-
}
|
|
169
|
-
this.handleLogout(namespace);
|
|
170
|
-
}
|
|
171
|
-
handleLogout(namespace) {
|
|
172
|
-
localStorage.removeItem(`${namespace}Token`);
|
|
173
|
-
Formio.logout()
|
|
174
|
-
.then(() => this.onLogout.emit())
|
|
175
|
-
.catch(() => this.logoutError());
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
FormioAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthService, deps: [{ token: i2.FormioAppConfig }, { token: FormioAuthConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
179
|
-
FormioAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthService });
|
|
180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthService, decorators: [{
|
|
181
|
-
type: Injectable
|
|
182
|
-
}], ctorParameters: function () { return [{ type: i2.FormioAppConfig }, { type: FormioAuthConfig }]; } });
|
|
183
|
-
|
|
184
|
-
class FormioAuthComponent {
|
|
185
|
-
}
|
|
186
|
-
FormioAuthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
187
|
-
FormioAuthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormioAuthComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthComponent, decorators: [{
|
|
189
|
-
type: Component,
|
|
190
|
-
args: [{ template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n" }]
|
|
191
|
-
}] });
|
|
192
|
-
|
|
193
|
-
class FormioAuthLoginComponent {
|
|
194
|
-
constructor(service) {
|
|
195
|
-
this.service = service;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
FormioAuthLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthLoginComponent, deps: [{ token: FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
-
FormioAuthLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormioAuthLoginComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthLoginComponent, decorators: [{
|
|
201
|
-
type: Component,
|
|
202
|
-
args: [{ template: "<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n" }]
|
|
203
|
-
}], ctorParameters: function () { return [{ type: FormioAuthService }]; } });
|
|
204
|
-
|
|
205
|
-
class FormioAuthRegisterComponent {
|
|
206
|
-
constructor(service) {
|
|
207
|
-
this.service = service;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
FormioAuthRegisterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthRegisterComponent, deps: [{ token: FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
211
|
-
FormioAuthRegisterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormioAuthRegisterComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuthRegisterComponent, decorators: [{
|
|
213
|
-
type: Component,
|
|
214
|
-
args: [{ template: "<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n" }]
|
|
215
|
-
}], ctorParameters: function () { return [{ type: FormioAuthService }]; } });
|
|
216
|
-
|
|
217
|
-
class FormioResetPassComponent {
|
|
218
|
-
constructor(service) {
|
|
219
|
-
this.service = service;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
FormioResetPassComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioResetPassComponent, deps: [{ token: FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
-
FormioResetPassComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: FormioResetPassComponent, selector: "ng-component", ngImport: i0, template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n", dependencies: [{ kind: "component", type: i2.FormioComponent, selector: "formio" }] });
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioResetPassComponent, decorators: [{
|
|
225
|
-
type: Component,
|
|
226
|
-
args: [{ template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n" }]
|
|
227
|
-
}], ctorParameters: function () { return [{ type: FormioAuthService }]; } });
|
|
228
|
-
|
|
229
|
-
function FormioAuthRoutes(config) {
|
|
230
|
-
return [
|
|
231
|
-
{
|
|
232
|
-
path: '',
|
|
233
|
-
component: config && config.auth ? config.auth : FormioAuthComponent,
|
|
234
|
-
children: [
|
|
235
|
-
{
|
|
236
|
-
path: '',
|
|
237
|
-
redirectTo: 'login',
|
|
238
|
-
pathMatch: 'full'
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
path: 'login',
|
|
242
|
-
component: config && config.login ? config.login : FormioAuthLoginComponent
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
path: 'register',
|
|
246
|
-
component: config && config.register ? config.register : FormioAuthRegisterComponent
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
path: 'resetpass',
|
|
250
|
-
component: config && config.resetpass ? config.resetpass : FormioResetPassComponent
|
|
251
|
-
}
|
|
252
|
-
]
|
|
253
|
-
}
|
|
254
|
-
];
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
class FormioAuth {
|
|
258
|
-
static forRoot(config) {
|
|
259
|
-
return extendRouter(FormioAuth, config, FormioAuthRoutes);
|
|
260
|
-
}
|
|
261
|
-
static forChild(config) {
|
|
262
|
-
return extendRouter(FormioAuth, config, FormioAuthRoutes);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
FormioAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuth, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
266
|
-
FormioAuth.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: FormioAuth, declarations: [FormioAuthComponent,
|
|
267
|
-
FormioAuthLoginComponent,
|
|
268
|
-
FormioAuthRegisterComponent,
|
|
269
|
-
FormioResetPassComponent], imports: [CommonModule,
|
|
270
|
-
FormioModule,
|
|
271
|
-
RouterModule] });
|
|
272
|
-
FormioAuth.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuth, imports: [CommonModule,
|
|
273
|
-
FormioModule,
|
|
274
|
-
RouterModule] });
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FormioAuth, decorators: [{
|
|
276
|
-
type: NgModule,
|
|
277
|
-
args: [{
|
|
278
|
-
imports: [
|
|
279
|
-
CommonModule,
|
|
280
|
-
FormioModule,
|
|
281
|
-
RouterModule
|
|
282
|
-
],
|
|
283
|
-
declarations: [
|
|
284
|
-
FormioAuthComponent,
|
|
285
|
-
FormioAuthLoginComponent,
|
|
286
|
-
FormioAuthRegisterComponent,
|
|
287
|
-
FormioResetPassComponent
|
|
288
|
-
]
|
|
289
|
-
}]
|
|
290
|
-
}] });
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Generated bundle index. Do not edit.
|
|
294
|
-
*/
|
|
295
|
-
|
|
296
|
-
export { FormioAuth, FormioAuthComponent, FormioAuthConfig, FormioAuthLoginComponent, FormioAuthRegisterComponent, FormioAuthRoutes, FormioAuthService, FormioResetPassComponent };
|
|
297
|
-
//# sourceMappingURL=formio-angular-auth.mjs.map
|
|
298
|
-
//# sourceMappingURL=formio-angular-auth.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formio-angular-auth.mjs","sources":["../../../projects/angular-formio/auth/src/auth.config.ts","../../../projects/angular-formio/auth/src/auth.service.ts","../../../projects/angular-formio/auth/src/auth.component.ts","../../../projects/angular-formio/auth/src/auth.component.html","../../../projects/angular-formio/auth/src/login/login.component.ts","../../../projects/angular-formio/auth/src/login/login.component.html","../../../projects/angular-formio/auth/src/register/register.component.ts","../../../projects/angular-formio/auth/src/register/register.component.html","../../../projects/angular-formio/auth/src/resetpass/resetpass.component.ts","../../../projects/angular-formio/auth/src/resetpass/resetpass.component.html","../../../projects/angular-formio/auth/src/auth.routes.ts","../../../projects/angular-formio/auth/src/auth.module.ts","../../../projects/angular-formio/auth/src/formio-angular-auth.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioAuthFormConfig {\n path?: string;\n form?: string;\n component?: any;\n}\n\nexport interface FormioAuthRouteConfig {\n auth?: any;\n login?: any;\n register?: any;\n resetpass?: any;\n}\n\n@Injectable()\nexport class FormioAuthConfig {\n component?: any;\n delayAuth?: any;\n login?: FormioAuthFormConfig;\n register?: FormioAuthFormConfig;\n resetpass?: FormioAuthFormConfig;\n oauth?: FormioOAuthConfig;\n}\n\n\nexport interface FormioOAuthConfig {\n type: FormioOauthType;\n options: FormioOktaConfig | FormioSamlConfig;\n}\n\nexport enum FormioOauthType {\n okta = 'okta',\n saml = 'saml',\n}\n\nexport interface FormioOktaConfig extends OktaConfig {\n formio?: any;\n}\n\nexport interface FormioSamlConfig {\n relay: string;\n}\n\n// for more details about Okta configuration options see https://github.com/okta/okta-auth-js#configuration-reference\nexport interface OktaConfig {\n url?: string;\n tokenManager?: OktaTokenManagerConfig;\n issuer?: string;\n clientId?: string;\n redirectUri?: string;\n postLogoutRedirectUri?: string;\n pkce?: boolean;\n authorizeUrl?: string;\n userinfoUrl?: string;\n tokenUrl?: string;\n ignoreSignature?: boolean;\n maxClockSkew?: number;\n scopes?: string[];\n httpRequestClient?: Function;\n}\n\nexport interface OktaTokenManagerConfig {\n storage?: string | {\n getItem?: Function;\n setItem?: Function;\n };\n secure?: boolean;\n autoRenew?: boolean;\n expireEarlySeconds?: number;\n storageKey?: string;\n}\n","import { EventEmitter, Injectable, Inject } from '@angular/core';\nimport { FormioAuthConfig } from './auth.config';\nimport { FormioAppConfig } from '@formio/angular';\nimport { get, each } from 'lodash';\nimport { Formio } from 'formiojs';\n\n@Injectable()\nexport class FormioAuthService {\n public user: any;\n public authenticated = false;\n\n public loginForm: string;\n public onLogin: EventEmitter<object>;\n public onLogout: EventEmitter<object>;\n\n public registerForm: string;\n public onRegister: EventEmitter<object>;\n public onUser: EventEmitter<object>;\n public onError: EventEmitter<any>;\n\n public resetPassForm: string;\n public onResetPass: EventEmitter<object>;\n\n public ready: Promise<boolean>;\n public readyResolve: any;\n public readyReject: any;\n\n public projectReady?: Promise<any>;\n public accessReady?: Promise<any>;\n public userReady?: Promise<any>;\n public formAccess: any = {};\n public submissionAccess: any = {};\n public roles: any;\n public is: any = {};\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioAuthConfig\n ) {\n this.user = null;\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\n this.loginForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'login.form', 'user/login');\n this.registerForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'user/register');\n this.resetPassForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'resetpass');\n this.onLogin = new EventEmitter();\n this.onLogout = new EventEmitter();\n this.onRegister = new EventEmitter();\n this.onUser = new EventEmitter();\n this.onError = new EventEmitter();\n\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n\n // Register for the core events.\n Formio.events.on('formio.badToken', () => this.logoutError());\n Formio.events.on('formio.sessionExpired', () => this.logoutError());\n if (!this.config.delayAuth) {\n this.init();\n }\n }\n\n onLoginSubmit(submission: object) {\n this.setUser(submission);\n this.onLogin.emit(submission);\n }\n\n onRegisterSubmit(submission: object) {\n this.setUser(submission);\n this.onRegister.emit(submission);\n }\n\n onResetPassSubmit(submission: object) {\n this.onResetPass.emit(submission);\n }\n\n init() {\n this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then(\n (project: any) => {\n each(project.access, (access: any) => {\n this.formAccess[access.type] = access.roles;\n });\n },\n (): any => {\n this.formAccess = {};\n return null;\n }\n );\n\n // Get the access for this project.\n this.accessReady = Formio.makeStaticRequest(\n this.appConfig.appUrl + '/access'\n ).then(\n (access: any) => {\n each(access.forms, (form: any) => {\n this.submissionAccess[form.name] = {};\n form.submissionAccess.forEach((subAccess: any) => {\n this.submissionAccess[form.name][subAccess.type] = subAccess.roles;\n });\n });\n this.roles = access.roles;\n return access;\n },\n (): any => {\n this.roles = {};\n return null;\n }\n );\n\n let currentUserPromise: Promise<any>;\n if (this.config.oauth) {\n // Make a fix to the hash to remove starting \"/\" that angular might put there.\n if (window.location.hash && window.location.hash.match(/^#\\/access_token/)) {\n history.pushState(null, null, window.location.hash.replace(/^#\\/access_token/, '#access_token'));\n }\n\n // Initiate the SSO if they provide oauth settings.\n currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);\n } else {\n currentUserPromise = Formio.currentUser();\n }\n\n this.userReady = currentUserPromise.then((user: any) => {\n this.setUser(user);\n return user;\n });\n\n // Trigger we are redy when all promises have resolved.\n if (this.accessReady) {\n this.accessReady\n .then(() => this.projectReady)\n .then(() => this.userReady)\n .then(() => this.readyResolve(true))\n .catch((err: any) => this.readyReject(err));\n }\n }\n\n setUser(user: any) {\n const namespace = Formio.namespace || 'formio';\n if (user) {\n this.user = user;\n localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));\n this.setUserRoles();\n } else {\n this.user = null;\n this.is = {};\n localStorage.removeItem(`${namespace}AppUser`);\n Formio.clearCache();\n Formio.setUser(null);\n }\n\n this.authenticated = !!Formio.getToken();\n this.onUser.emit(this.user);\n }\n\n setUserRoles() {\n if (this.accessReady) {\n this.accessReady.then(() => {\n each(this.roles, (role: any, roleName: string) => {\n if (this.user.roles.indexOf(role._id) !== -1) {\n this.is[roleName] = true;\n }\n });\n });\n }\n }\n\n logoutError() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n localStorage.removeItem(`${namespace}Token`);\n this.onError.emit();\n }\n\n logout() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n if(localStorage.getItem(`${namespace}LogoutAuthUrl`)) {\n window.open(localStorage.getItem(`${namespace}LogoutAuthUrl`), null, 'width=1020,height=618');\n localStorage.removeItem(`${namespace}LogoutAuthUrl`)\n }\n this.handleLogout(namespace);\n }\n\n handleLogout(namespace) {\n localStorage.removeItem(`${namespace}Token`);\n Formio.logout()\n .then(() => this.onLogout.emit())\n .catch(() => this.logoutError());\n }\n}\n","import { Component } from '@angular/core';\n@Component({\n templateUrl: './auth.component.html'\n})\nexport class FormioAuthComponent {}\n","<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './login.component.html'\n})\nexport class FormioAuthLoginComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './register.component.html'\n})\nexport class FormioAuthRegisterComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './resetpass.component.html'\n})\nexport class FormioResetPassComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n","import { Routes } from '@angular/router';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\n\nexport function FormioAuthRoutes(config?: FormioAuthRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.auth ? config.auth : FormioAuthComponent,\n children: [\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n {\n path: 'login',\n component: config && config.login ? config.login : FormioAuthLoginComponent\n },\n {\n path: 'register',\n component: config && config.register ? config.register : FormioAuthRegisterComponent\n },\n {\n path: 'resetpass',\n component: config && config.resetpass ? config.resetpass : FormioResetPassComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthRoutes } from './auth.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n RouterModule\n ],\n declarations: [\n FormioAuthComponent,\n FormioAuthLoginComponent,\n FormioAuthRegisterComponent,\n FormioResetPassComponent\n ]\n})\nexport class FormioAuth {\n static forRoot(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n static forChild(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioAuthConfig","i1.FormioAuthService"],"mappings":"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"}
|