@formio/angular 7.0.0 → 7.5.0-dev.1060.b272e25
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/.dockerignore +5 -0
- package/.editorconfig +13 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +15 -0
- package/.github/ISSUE_TEMPLATE/question.md +8 -0
- package/.github/pull_request_template.md +35 -0
- package/.github/workflows/ci.yml +171 -0
- package/.travis.yml +4 -0
- package/.yo-rc.json +7 -0
- package/CHANGELOG.md +1154 -0
- package/Dockerfile +20 -0
- package/LICENSE +21 -0
- package/README.md +204 -13
- package/angular.json +38 -0
- package/bs-config.json +11 -0
- package/{FormioBaseComponent.d.ts.map → dist/angular-formio/FormioBaseComponent.d.ts.map} +1 -1
- package/dist/angular-formio/README.md +24 -0
- package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts +1 -1
- package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts.map +1 -1
- package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts.map +1 -1
- package/{core.d.ts → dist/angular-formio/core.d.ts} +1 -1
- package/{core.d.ts.map → dist/angular-formio/core.d.ts.map} +1 -1
- package/dist/angular-formio/embed/app.service.d.ts +28 -0
- package/dist/angular-formio/embed/app.service.d.ts.map +1 -0
- package/dist/angular-formio/embed/builder.component.d.ts +14 -0
- package/dist/angular-formio/embed/builder.component.d.ts.map +1 -0
- package/dist/angular-formio/embed/embed.module.d.ts +10 -0
- package/dist/angular-formio/embed/embed.module.d.ts.map +1 -0
- package/dist/angular-formio/embed/formio-angular-embed.d.ts.map +1 -0
- package/dist/angular-formio/embed/formio.component.d.ts +17 -0
- package/dist/angular-formio/embed/formio.component.d.ts.map +1 -0
- package/dist/angular-formio/embed/index.d.ts +7 -0
- package/dist/angular-formio/embed/index.d.ts.map +1 -0
- package/dist/angular-formio/esm2022/FormioBaseComponent.mjs +580 -0
- package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.service.mjs +2 -2
- package/dist/angular-formio/esm2022/components/formbuilder/formbuilder.component.mjs +202 -0
- package/dist/angular-formio/esm2022/components/formio/formio.component.mjs +43 -0
- package/dist/angular-formio/esm2022/components/formioreport/formioreport.component.mjs +89 -0
- package/{esm2022 → dist/angular-formio/esm2022}/core.mjs +2 -2
- package/dist/angular-formio/esm2022/embed/app.service.mjs +58 -0
- package/dist/angular-formio/esm2022/embed/builder.component.mjs +36 -0
- package/dist/angular-formio/esm2022/embed/embed.module.mjs +35 -0
- package/dist/angular-formio/esm2022/embed/formio-angular-embed.mjs +5 -0
- package/dist/angular-formio/esm2022/embed/formio.component.mjs +50 -0
- package/dist/angular-formio/esm2022/embed/index.mjs +7 -0
- package/dist/angular-formio/esm2022/formio.common.mjs +11 -0
- package/{esm2022 → dist/angular-formio/esm2022}/formio.config.mjs +2 -2
- package/dist/angular-formio/esm2022/formio.service.mjs +62 -0
- package/dist/angular-formio/esm2022/grid/grid.component.mjs +257 -0
- package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridHeader.component.mjs +2 -2
- package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.service.mjs +2 -2
- package/{esm2022 → dist/angular-formio/esm2022}/manager/view/view.component.mjs +2 -2
- package/{esm2022 → dist/angular-formio/esm2022}/resource/edit/edit.component.mjs +2 -2
- package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.service.mjs +2 -2
- package/{esm2022 → dist/angular-formio/esm2022}/resource/view/view.component.mjs +2 -2
- package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-auth.mjs +1 -1
- package/dist/angular-formio/fesm2022/formio-angular-auth.mjs.map +1 -0
- package/dist/angular-formio/fesm2022/formio-angular-embed.mjs +176 -0
- package/dist/angular-formio/fesm2022/formio-angular-embed.mjs.map +1 -0
- package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-grid.mjs +2 -1
- package/dist/angular-formio/fesm2022/formio-angular-grid.mjs.map +1 -0
- package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-manager.mjs +1 -1
- package/dist/angular-formio/fesm2022/formio-angular-manager.mjs.map +1 -0
- package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-resource.mjs +1 -1
- package/dist/angular-formio/fesm2022/formio-angular-resource.mjs.map +1 -0
- package/dist/angular-formio/fesm2022/formio-angular.mjs +1187 -0
- package/dist/angular-formio/fesm2022/formio-angular.mjs.map +1 -0
- package/{formio.common.d.ts → dist/angular-formio/formio.common.d.ts} +2 -2
- package/dist/angular-formio/formio.common.d.ts.map +1 -0
- package/{formio.config.d.ts → dist/angular-formio/formio.config.d.ts} +1 -1
- package/{formio.config.d.ts.map → dist/angular-formio/formio.config.d.ts.map} +1 -1
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts.map +1 -1
- package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts.map +1 -1
- package/package.json +54 -57
- package/projects/angular-formio/README.md +24 -0
- package/projects/angular-formio/auth/ng-package.json +5 -0
- package/projects/angular-formio/auth/src/auth.component.html +11 -0
- package/projects/angular-formio/auth/src/auth.component.ts +5 -0
- package/projects/angular-formio/auth/src/auth.config.ts +72 -0
- package/projects/angular-formio/auth/src/auth.module.ts +33 -0
- package/projects/angular-formio/auth/src/auth.routes.ts +34 -0
- package/projects/angular-formio/auth/src/auth.service.ts +221 -0
- package/projects/angular-formio/auth/src/index.ts +8 -0
- package/projects/angular-formio/auth/src/login/login.component.html +1 -0
- package/projects/angular-formio/auth/src/login/login.component.ts +11 -0
- package/projects/angular-formio/auth/src/public_api.ts +5 -0
- package/projects/angular-formio/auth/src/register/register.component.html +1 -0
- package/projects/angular-formio/auth/src/register/register.component.ts +11 -0
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +1 -0
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +8 -0
- package/projects/angular-formio/embed/ng-package.json +5 -0
- package/projects/angular-formio/embed/src/app.service.ts +59 -0
- package/projects/angular-formio/embed/src/builder.component.ts +19 -0
- package/projects/angular-formio/embed/src/embed.module.ts +23 -0
- package/projects/angular-formio/embed/src/formio.component.ts +27 -0
- package/projects/angular-formio/embed/src/index.ts +6 -0
- package/projects/angular-formio/grid/ng-package.json +5 -0
- package/projects/angular-formio/grid/src/GridBodyComponent.ts +80 -0
- package/projects/angular-formio/grid/src/GridFooterComponent.ts +25 -0
- package/projects/angular-formio/grid/src/GridHeaderComponent.ts +25 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.html +22 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +4 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +46 -0
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +21 -0
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +23 -0
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +18 -0
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +24 -0
- package/projects/angular-formio/grid/src/form/index.ts +8 -0
- package/projects/angular-formio/grid/src/form/time-since.pipe.ts +31 -0
- package/projects/angular-formio/grid/src/grid.component.html +18 -0
- package/projects/angular-formio/grid/src/grid.component.scss +9 -0
- package/projects/angular-formio/grid/src/grid.component.ts +242 -0
- package/projects/angular-formio/grid/src/grid.footer.scss +14 -0
- package/projects/angular-formio/grid/src/grid.module.ts +49 -0
- package/projects/angular-formio/grid/src/grid.service.ts +16 -0
- package/projects/angular-formio/grid/src/index.ts +12 -0
- package/projects/angular-formio/grid/src/public_api.ts +5 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +7 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +39 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +18 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +20 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +11 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +72 -0
- package/projects/angular-formio/grid/src/submission/index.ts +8 -0
- package/projects/angular-formio/grid/src/types/grid-column.ts +7 -0
- package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +5 -0
- package/projects/angular-formio/grid/src/types/grid-header.ts +14 -0
- package/projects/angular-formio/karma.conf.js +32 -0
- package/projects/angular-formio/manager/ng-package.json +5 -0
- package/projects/angular-formio/manager/src/create/create.component.ts +11 -0
- package/projects/angular-formio/manager/src/delete/delete.component.html +6 -0
- package/projects/angular-formio/manager/src/delete/delete.component.ts +37 -0
- package/projects/angular-formio/manager/src/edit/edit.component.html +19 -0
- package/projects/angular-formio/manager/src/edit/edit.component.ts +110 -0
- package/projects/angular-formio/manager/src/form/form.component.html +32 -0
- package/projects/angular-formio/manager/src/form/form.component.ts +73 -0
- package/projects/angular-formio/manager/src/form-manager.config.ts +31 -0
- package/projects/angular-formio/manager/src/form-manager.module.ts +54 -0
- package/projects/angular-formio/manager/src/form-manager.routes.ts +75 -0
- package/projects/angular-formio/manager/src/form-manager.service.ts +190 -0
- package/projects/angular-formio/manager/src/index/index.component.html +14 -0
- package/projects/angular-formio/manager/src/index/index.component.scss +22 -0
- package/projects/angular-formio/manager/src/index/index.component.ts +100 -0
- package/projects/angular-formio/manager/src/index.ts +16 -0
- package/projects/angular-formio/manager/src/public_api.ts +5 -0
- package/projects/angular-formio/manager/src/submission/delete/delete.component.html +6 -0
- package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +26 -0
- package/projects/angular-formio/manager/src/submission/edit/edit.component.html +7 -0
- package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +18 -0
- package/projects/angular-formio/manager/src/submission/index/index.component.html +1 -0
- package/projects/angular-formio/manager/src/submission/index/index.component.ts +18 -0
- package/projects/angular-formio/manager/src/submission/submission/submission.component.html +8 -0
- package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +24 -0
- package/projects/angular-formio/manager/src/submission/view/view.component.html +7 -0
- package/projects/angular-formio/manager/src/submission/view/view.component.ts +9 -0
- package/projects/angular-formio/manager/src/view/view.component.html +11 -0
- package/projects/angular-formio/manager/src/view/view.component.ts +44 -0
- package/projects/angular-formio/ng-package.json +7 -0
- package/projects/angular-formio/package.json +37 -0
- package/projects/angular-formio/resource/ng-package.json +5 -0
- package/projects/angular-formio/resource/src/create/create.component.html +13 -0
- package/projects/angular-formio/resource/src/create/create.component.scss +3 -0
- package/projects/angular-formio/resource/src/create/create.component.ts +37 -0
- package/projects/angular-formio/resource/src/delete/delete.component.html +5 -0
- package/projects/angular-formio/resource/src/delete/delete.component.ts +24 -0
- package/projects/angular-formio/resource/src/edit/edit.component.html +7 -0
- package/projects/angular-formio/resource/src/edit/edit.component.ts +35 -0
- package/projects/angular-formio/resource/src/index/index.component.html +10 -0
- package/projects/angular-formio/resource/src/index/index.component.ts +64 -0
- package/projects/angular-formio/resource/src/index.js +24 -0
- package/projects/angular-formio/resource/src/index.ts +11 -0
- package/projects/angular-formio/resource/src/public_api.ts +5 -0
- package/projects/angular-formio/resource/src/resource.component.html +7 -0
- package/projects/angular-formio/resource/src/resource.component.ts +48 -0
- package/projects/angular-formio/resource/src/resource.config.ts +17 -0
- package/projects/angular-formio/resource/src/resource.module.ts +43 -0
- package/projects/angular-formio/resource/src/resource.routes.ts +43 -0
- package/projects/angular-formio/resource/src/resource.service.ts +258 -0
- package/projects/angular-formio/resource/src/resources.service.ts +24 -0
- package/projects/angular-formio/resource/src/view/view.component.html +6 -0
- package/projects/angular-formio/resource/src/view/view.component.ts +19 -0
- package/projects/angular-formio/src/FormioBaseComponent.ts +554 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +3 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +19 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.ts +21 -0
- package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +15 -0
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +1 -0
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +213 -0
- package/projects/angular-formio/src/components/formio/formio.component.html +8 -0
- package/projects/angular-formio/src/components/formio/formio.component.ts +33 -0
- package/projects/angular-formio/src/components/formioreport/formioreport.component.html +8 -0
- package/projects/angular-formio/src/components/formioreport/formioreport.component.ts +95 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.html +3 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.scss +26 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.ts +10 -0
- package/projects/angular-formio/src/core.ts +25 -0
- package/projects/angular-formio/src/custom-tags.service.ts +9 -0
- package/projects/angular-formio/src/formio-promise.service.ts +36 -0
- package/projects/angular-formio/src/formio.common.ts +91 -0
- package/projects/angular-formio/src/formio.config.ts +26 -0
- package/projects/angular-formio/src/formio.module.ts +38 -0
- package/projects/angular-formio/src/formio.service.ts +57 -0
- package/projects/angular-formio/src/formio.utils.ts +23 -0
- package/projects/angular-formio/src/index.ts +3 -0
- package/projects/angular-formio/src/public-api.ts +5 -0
- package/projects/angular-formio/src/test.ts +28 -0
- package/projects/angular-formio/src/types/alerts-position.ts +6 -0
- package/projects/angular-formio/src/types/formio-metadata.ts +10 -0
- package/projects/angular-formio/src/types/formio-submission.ts +20 -0
- package/projects/angular-formio/tsconfig.lib.json +27 -0
- package/projects/angular-formio/tsconfig.lib.prod.json +8 -0
- package/projects/angular-formio/tsconfig.spec.json +17 -0
- package/projects/angular-formio/tslint.json +17 -0
- package/tsconfig.json +39 -0
- package/tslint.json +140 -0
- package/esm2022/FormioBaseComponent.mjs +0 -583
- package/esm2022/components/formbuilder/formbuilder.component.mjs +0 -202
- package/esm2022/components/formio/formio.component.mjs +0 -43
- package/esm2022/components/formioreport/formioreport.component.mjs +0 -86
- package/esm2022/formio.common.mjs +0 -11
- package/esm2022/formio.service.mjs +0 -62
- package/esm2022/grid/grid.component.mjs +0 -257
- package/fesm2022/formio-angular-auth.mjs.map +0 -1
- package/fesm2022/formio-angular-grid.mjs.map +0 -1
- package/fesm2022/formio-angular-manager.mjs.map +0 -1
- package/fesm2022/formio-angular-resource.mjs.map +0 -1
- package/fesm2022/formio-angular.mjs +0 -1186
- package/fesm2022/formio-angular.mjs.map +0 -1
- package/formio.common.d.ts.map +0 -1
- /package/{FormioBaseComponent.d.ts → dist/angular-formio/FormioBaseComponent.d.ts} +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.component.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.component.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.config.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.config.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.module.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.module.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.service.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/auth.service.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/formio-angular-auth.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/index.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/index.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts.map +0 -0
- /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts +0 -0
- /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts.map +0 -0
- /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts.map +0 -0
- /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts.map +0 -0
- /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts.map +0 -0
- /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts.map +0 -0
- /package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts +0 -0
- /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts.map +0 -0
- /package/{custom-tags.service.d.ts → dist/angular-formio/custom-tags.service.d.ts} +0 -0
- /package/{custom-tags.service.d.ts.map → dist/angular-formio/custom-tags.service.d.ts.map} +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.config.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.module.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.routes.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/formio-angular-auth.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/login/login.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/register/register.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/auth/resetpass/resetpass.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/formio.alerts.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/formio.alerts.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/parse-html-content.pipe.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/components/loader/formio.loader.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/custom-tags.service.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/formio-angular.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/formio-promise.service.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/formio.module.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/formio.utils.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridBodyComponent.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridFooterComponent.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridHeaderComponent.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridBody.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridFooter.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridHeader.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/time-since.pipe.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/formio-angular-grid.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/grid.module.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/grid.service.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridBody.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridFooter.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-column.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-footer-positions.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-header.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/create/create.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/delete/delete.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/edit/edit.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/form/form.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.config.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.module.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.routes.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/formio-angular-manager.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/index/index.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/delete/delete.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/edit/edit.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/index/index.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/submission/submission.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/view/view.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/create/create.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/delete/delete.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/formio-angular-resource.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/index/index.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/index.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.component.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.config.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.module.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.routes.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/resource/resources.service.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/types/alerts-position.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-metadata.mjs +0 -0
- /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-submission.mjs +0 -0
- /package/{formio-angular.d.ts.map → dist/angular-formio/formio-angular.d.ts.map} +0 -0
- /package/{formio-promise.service.d.ts → dist/angular-formio/formio-promise.service.d.ts} +0 -0
- /package/{formio-promise.service.d.ts.map → dist/angular-formio/formio-promise.service.d.ts.map} +0 -0
- /package/{formio.module.d.ts → dist/angular-formio/formio.module.d.ts} +0 -0
- /package/{formio.module.d.ts.map → dist/angular-formio/formio.module.d.ts.map} +0 -0
- /package/{formio.service.d.ts → dist/angular-formio/formio.service.d.ts} +0 -0
- /package/{formio.service.d.ts.map → dist/angular-formio/formio.service.d.ts.map} +0 -0
- /package/{formio.utils.d.ts → dist/angular-formio/formio.utils.d.ts} +0 -0
- /package/{formio.utils.d.ts.map → dist/angular-formio/formio.utils.d.ts.map} +0 -0
- /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/form/index.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/form/index.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/formio-angular-grid.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.module.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.module.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.service.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/grid.service.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/index.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/index.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/index.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/submission/index.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts.map +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts +0 -0
- /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts.map +0 -0
- /package/{index.d.ts → dist/angular-formio/index.d.ts} +0 -0
- /package/{index.d.ts.map → dist/angular-formio/index.d.ts.map} +0 -0
- /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/formio-angular-manager.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/index/index.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/index/index.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/index.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/index.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts.map +0 -0
- /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts +0 -0
- /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/formio-angular-resource.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/index.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/index.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.component.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.config.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.config.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.module.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.module.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.service.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resource.service.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/resources.service.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/resources.service.d.ts.map +0 -0
- /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts +0 -0
- /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts.map +0 -0
- /package/{types → dist/angular-formio/types}/alerts-position.d.ts +0 -0
- /package/{types → dist/angular-formio/types}/alerts-position.d.ts.map +0 -0
- /package/{types → dist/angular-formio/types}/formio-metadata.d.ts +0 -0
- /package/{types → dist/angular-formio/types}/formio-metadata.d.ts.map +0 -0
- /package/{types → dist/angular-formio/types}/formio-submission.d.ts +0 -0
- /package/{types → dist/angular-formio/types}/formio-submission.d.ts.map +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { FormioAppConfig } from '@formio/angular';
|
|
3
|
+
import { FormManagerConfig } from './form-manager.config';
|
|
4
|
+
import { Formio } from '@formio/js';
|
|
5
|
+
import { ActivatedRoute } from '@angular/router';
|
|
6
|
+
import { FormioAuthService } from '@formio/angular/auth';
|
|
7
|
+
import _intersection from 'lodash/intersection';
|
|
8
|
+
|
|
9
|
+
@Injectable()
|
|
10
|
+
export class FormManagerService {
|
|
11
|
+
public formio: Formio;
|
|
12
|
+
public access: any;
|
|
13
|
+
public allAccessMap: any;
|
|
14
|
+
public ownAccessMap: any;
|
|
15
|
+
public ready: Promise<any>;
|
|
16
|
+
public formReady: Promise<any>;
|
|
17
|
+
public actionAllowed: any;
|
|
18
|
+
public form = null;
|
|
19
|
+
public formSrc = '';
|
|
20
|
+
public perms = {delete: false, edit: false};
|
|
21
|
+
|
|
22
|
+
constructor(
|
|
23
|
+
public appConfig: FormioAppConfig,
|
|
24
|
+
public config: FormManagerConfig,
|
|
25
|
+
public auth: FormioAuthService
|
|
26
|
+
) {
|
|
27
|
+
if (this.appConfig && this.appConfig.appUrl) {
|
|
28
|
+
Formio.setBaseUrl(this.appConfig.apiUrl);
|
|
29
|
+
Formio.setProjectUrl(this.appConfig.appUrl);
|
|
30
|
+
} else {
|
|
31
|
+
console.error('You must provide an AppConfig within your application!');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.allAccessMap = {
|
|
35
|
+
'update_all': 'formEdit',
|
|
36
|
+
'delete_all': 'formDelete'
|
|
37
|
+
};
|
|
38
|
+
this.ownAccessMap = {
|
|
39
|
+
'update_own': 'formEdit',
|
|
40
|
+
'delete_own': 'formDelete'
|
|
41
|
+
};
|
|
42
|
+
this.actionAllowed = (action) => this.isActionAllowed(action);
|
|
43
|
+
this.reset();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
isActionAllowed(action: string) {
|
|
47
|
+
return this.access[action];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
setAccess() {
|
|
51
|
+
this.access = {
|
|
52
|
+
formCreate: true,
|
|
53
|
+
formView: true,
|
|
54
|
+
formSubmission: true,
|
|
55
|
+
formEdit: true,
|
|
56
|
+
formPermission: true,
|
|
57
|
+
formDelete: true,
|
|
58
|
+
projectSettings: true,
|
|
59
|
+
userManagement: true
|
|
60
|
+
};
|
|
61
|
+
if (this.auth) {
|
|
62
|
+
this.access = {
|
|
63
|
+
formCreate: false,
|
|
64
|
+
formView: false,
|
|
65
|
+
formSubmission: false,
|
|
66
|
+
formEdit: false,
|
|
67
|
+
formPermission: false,
|
|
68
|
+
formDelete: false,
|
|
69
|
+
projectSettings: false,
|
|
70
|
+
userManagement: false
|
|
71
|
+
};
|
|
72
|
+
this.ready = this.auth.ready.then(() => {
|
|
73
|
+
let administrator = this.auth.roles["administrator"];
|
|
74
|
+
let formbuilder = this.auth.roles["formbuilder"];
|
|
75
|
+
let formadmin = this.auth.roles["formadmin"];
|
|
76
|
+
|
|
77
|
+
if (this.auth.user && this.auth.user.roles) {
|
|
78
|
+
this.auth.user.roles.forEach((roleId: string) => {
|
|
79
|
+
if (administrator._id === roleId) {
|
|
80
|
+
this.access.formCreate = true;
|
|
81
|
+
this.access.formView = true;
|
|
82
|
+
this.access.formSubmission= true;
|
|
83
|
+
this.access.formEdit = true;
|
|
84
|
+
this.access.formPermission = true;
|
|
85
|
+
this.access.formDelete = true;
|
|
86
|
+
this.access.projectSettings = true;
|
|
87
|
+
this.access.userManagement = true;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
if (formadmin && formadmin._id === roleId) {
|
|
91
|
+
this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
|
|
92
|
+
this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
|
|
93
|
+
this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
|
|
94
|
+
this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
|
|
95
|
+
this.access.formView = this.auth.formAccess.read_all.includes(roleId);
|
|
96
|
+
this.access.formSubmission = this.auth.formAccess.read_all.includes(roleId);
|
|
97
|
+
}
|
|
98
|
+
if (formbuilder && formbuilder._id === roleId) {
|
|
99
|
+
this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
|
|
100
|
+
this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
|
|
101
|
+
this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
|
|
102
|
+
this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
|
|
103
|
+
this.access.formView = this.auth.formAccess.read_all.includes(roleId);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
this.ready = Promise.resolve(false);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
reset(route?: ActivatedRoute) {
|
|
115
|
+
if (route) {
|
|
116
|
+
route.params.subscribe(params => {
|
|
117
|
+
if (params.id) {
|
|
118
|
+
this.formio = new Formio(`${this.formio.formsUrl}/${params.id}`);
|
|
119
|
+
} else {
|
|
120
|
+
this.reset();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
this.formio = new Formio(this.appConfig.appUrl);
|
|
125
|
+
this.setAccess();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
hasAccess(roles) {
|
|
130
|
+
if (!this.auth.user) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
return !!_intersection(roles, this.auth.user.roles).length;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
setForm(form: any) {
|
|
137
|
+
this.form = form;
|
|
138
|
+
this.formSrc = this.appConfig.appUrl + '/' + form.path;
|
|
139
|
+
if (form.access) {
|
|
140
|
+
// Check if they have access here.
|
|
141
|
+
form.access.forEach(access => {
|
|
142
|
+
// Check for all access.
|
|
143
|
+
if (this.allAccessMap[access.type] && !this.access[this.allAccessMap[access.type]]) {
|
|
144
|
+
this.access[this.allAccessMap[access.type]] = this.hasAccess(access.roles);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Check for own access.
|
|
148
|
+
if (
|
|
149
|
+
this.auth && this.auth.user &&
|
|
150
|
+
(form._id === this.auth.user._id) &&
|
|
151
|
+
this.ownAccessMap[access.type] &&
|
|
152
|
+
!this.access[this.ownAccessMap[access.type]]
|
|
153
|
+
) {
|
|
154
|
+
this.access[this.ownAccessMap[access.type]] = this.hasAccess(access.roles);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return form;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
loadForm() {
|
|
162
|
+
this.form = null;
|
|
163
|
+
this.formReady = this.formio.loadForm().then(form => this.setForm(form));
|
|
164
|
+
return this.formReady;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
setSubmission(route: ActivatedRoute) {
|
|
168
|
+
return new Promise((resolve) => {
|
|
169
|
+
route.params.subscribe(params => {
|
|
170
|
+
this.formio = new Formio(`${this.formio.submissionsUrl}/${params.id}`);
|
|
171
|
+
resolve(this.formio);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
submissionLoaded(submission: any) {
|
|
177
|
+
this.auth.ready.then(() => {
|
|
178
|
+
this.formio.userPermissions(this.auth.user, this.form, submission).then((perms) => {
|
|
179
|
+
this.perms.delete = perms.delete;
|
|
180
|
+
this.perms.edit = perms.edit;
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
loadForms() {
|
|
186
|
+
return this.formio.loadForms({params: {
|
|
187
|
+
tags: this.config.tag
|
|
188
|
+
}});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div role="search" class="input-group mb-3" *ngIf="config.includeSearch">
|
|
2
|
+
<input #search type="text" (keyup)="onSearch()" class="form-control" placeholder="Search Forms" aria-label="Search Forms" aria-describedby="button-search">
|
|
3
|
+
<span *ngIf="search && search !== ''" class="form-clear input-group-addon" (click)="clearSearch()"><span class="fa fa-times bi bi-x"></span></span>
|
|
4
|
+
</div>
|
|
5
|
+
<formio-grid
|
|
6
|
+
*ngIf="service.ready"
|
|
7
|
+
[formio]="service.formio"
|
|
8
|
+
[gridType]="'form'"
|
|
9
|
+
[query]="gridQuery"
|
|
10
|
+
[isActionAllowed]="service.actionAllowed"
|
|
11
|
+
(rowAction)="onAction($event)"
|
|
12
|
+
(rowSelect)="onSelect($event)"
|
|
13
|
+
(createItem)="onCreateItem()"
|
|
14
|
+
></formio-grid>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.form-clear {
|
|
2
|
+
background: #cecece;
|
|
3
|
+
border-radius: 50%;
|
|
4
|
+
bottom: 8px;
|
|
5
|
+
color: rgba(0, 0, 0, 0.3);
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
display: flex;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
align-items: center;
|
|
10
|
+
padding-bottom: 2px;
|
|
11
|
+
height: 24px;
|
|
12
|
+
position: absolute;
|
|
13
|
+
right: 10px;
|
|
14
|
+
top: 6px;
|
|
15
|
+
width: 24px;
|
|
16
|
+
z-index: 10;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.form-clear .fa {
|
|
20
|
+
font-size: 16px;
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';
|
|
2
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { FormManagerService } from '../form-manager.service';
|
|
4
|
+
import { DefaultConfiguration, FormManagerConfig } from '../form-manager.config';
|
|
5
|
+
import { FormioGridComponent } from '@formio/angular/grid';
|
|
6
|
+
import { debounce } from 'lodash';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
templateUrl: './index.component.html',
|
|
10
|
+
styleUrls: ['./index.component.scss']
|
|
11
|
+
})
|
|
12
|
+
export class FormManagerIndexComponent implements OnInit, AfterViewInit {
|
|
13
|
+
@ViewChild('search') searchElement: ElementRef;
|
|
14
|
+
@ViewChild(FormioGridComponent, {static: false}) formGrid: FormioGridComponent;
|
|
15
|
+
public gridQuery: any;
|
|
16
|
+
public onSearch;
|
|
17
|
+
constructor(
|
|
18
|
+
public service: FormManagerService,
|
|
19
|
+
public route: ActivatedRoute,
|
|
20
|
+
public router: Router,
|
|
21
|
+
public config: FormManagerConfig
|
|
22
|
+
) {
|
|
23
|
+
this.config = {...DefaultConfiguration, ...this.config};
|
|
24
|
+
this.gridQuery = {type: this.config.type, sort: 'title'};
|
|
25
|
+
if (this.config.tag) {
|
|
26
|
+
this.gridQuery.tags = this.config.tag;
|
|
27
|
+
}
|
|
28
|
+
this.onSearch = debounce(this._onSearch, 300);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
loadGrid() {
|
|
32
|
+
this.gridQuery = JSON.parse(localStorage.getItem('query')) || this.gridQuery;
|
|
33
|
+
const currentPage = +localStorage.getItem('currentPage') || 0;
|
|
34
|
+
this.formGrid
|
|
35
|
+
.refreshGrid(this.gridQuery)
|
|
36
|
+
.then(() => this.formGrid.setPage(currentPage - 1));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
ngOnInit() {
|
|
40
|
+
this.gridQuery = {type: this.config.type, sort: 'title'};
|
|
41
|
+
if (this.config.tag) {
|
|
42
|
+
this.gridQuery.tags = this.config.tag;
|
|
43
|
+
}
|
|
44
|
+
this.service.reset();
|
|
45
|
+
this.service.ready.then(() => {
|
|
46
|
+
this.loadGrid();
|
|
47
|
+
this.formGrid.footer.pageChanged.subscribe(page => {
|
|
48
|
+
localStorage.setItem('currentPage', page.page);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
ngAfterViewInit(): void {
|
|
54
|
+
this.searchElement.nativeElement.value = localStorage.getItem('searchInput') || '';
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
_onSearch() {
|
|
58
|
+
const search = this.searchElement.nativeElement.value;
|
|
59
|
+
if (search.length > 0) {
|
|
60
|
+
this.gridQuery.skip = 0;
|
|
61
|
+
this.gridQuery.title__regex = '/' + search + '/i';
|
|
62
|
+
this.gridQuery.title__regex = '/' + search.trim() + '/i';
|
|
63
|
+
} else {
|
|
64
|
+
delete this.gridQuery.title__regex;
|
|
65
|
+
}
|
|
66
|
+
localStorage.setItem('query', JSON.stringify(this.gridQuery));
|
|
67
|
+
localStorage.setItem('searchInput', search);
|
|
68
|
+
this.formGrid.pageChanged({page: 1, itemPerPage: this.gridQuery.limit});
|
|
69
|
+
this.formGrid.refreshGrid(this.gridQuery);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
clearSearch() {
|
|
73
|
+
this.gridQuery = {type: this.config.type, sort: 'title'};
|
|
74
|
+
if (this.config.tag) {
|
|
75
|
+
this.gridQuery.tags = this.config.tag;
|
|
76
|
+
}
|
|
77
|
+
localStorage.removeItem('query');
|
|
78
|
+
localStorage.removeItem('searchInput');
|
|
79
|
+
localStorage.removeItem('currentPage');
|
|
80
|
+
if (this.searchElement?.nativeElement) {
|
|
81
|
+
this.searchElement.nativeElement.value = '';
|
|
82
|
+
}
|
|
83
|
+
this.formGrid.pageChanged({page: 1});
|
|
84
|
+
this.formGrid.query = {};
|
|
85
|
+
this.formGrid.refreshGrid(this.gridQuery);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
onAction(action: any) {
|
|
89
|
+
this.service.form = null; // Reset previous form data
|
|
90
|
+
this.router.navigate([action.row._id, action.action], { relativeTo: this.route });
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
onSelect(row: any) {
|
|
94
|
+
this.router.navigate([row._id], { relativeTo: this.route });
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
onCreateItem() {
|
|
98
|
+
this.router.navigate(['create'], { relativeTo: this.route });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { FormManagerConfig } from './form-manager.config';
|
|
2
|
+
export { FormManagerService } from './form-manager.service';
|
|
3
|
+
export { FormManagerRoutes } from './form-manager.routes';
|
|
4
|
+
export { FormManagerIndexComponent } from './index/index.component';
|
|
5
|
+
export { FormManagerCreateComponent } from './create/create.component';
|
|
6
|
+
export { FormManagerFormComponent } from './form/form.component';
|
|
7
|
+
export { FormManagerViewComponent } from './view/view.component';
|
|
8
|
+
export { FormManagerEditComponent } from './edit/edit.component';
|
|
9
|
+
export { FormManagerDeleteComponent } from './delete/delete.component';
|
|
10
|
+
export { SubmissionEditComponent } from './submission/edit/edit.component';
|
|
11
|
+
export { SubmissionDeleteComponent } from './submission/delete/delete.component';
|
|
12
|
+
export { SubmissionViewComponent } from './submission/view/view.component';
|
|
13
|
+
export { SubmissionIndexComponent } from './submission/index/index.component';
|
|
14
|
+
export { SubmissionComponent } from './submission/submission/submission.component';
|
|
15
|
+
export { FormManagerRouteConfig } from './form-manager.config';
|
|
16
|
+
export { FormManagerModule } from './form-manager.module';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<formio-alerts [alerts]="alerts"></formio-alerts>
|
|
2
|
+
<h3>Are you sure you wish to delete this record?</h3>
|
|
3
|
+
<div class="btn-toolbar">
|
|
4
|
+
<button type="button" (click)="onDelete()" class="btn btn-danger" style="margin-right: 10px;">Yes</button>
|
|
5
|
+
<button type="button" (click)="onCancel()" class="btn btn-default">No</button>
|
|
6
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormManagerService } from '../../form-manager.service';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
import { FormioAlerts } from '@formio/angular';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
templateUrl: './delete.component.html'
|
|
8
|
+
})
|
|
9
|
+
export class SubmissionDeleteComponent {
|
|
10
|
+
constructor(
|
|
11
|
+
public service: FormManagerService,
|
|
12
|
+
public router: Router,
|
|
13
|
+
public route: ActivatedRoute,
|
|
14
|
+
public alerts: FormioAlerts
|
|
15
|
+
) {}
|
|
16
|
+
|
|
17
|
+
onDelete() {
|
|
18
|
+
this.service.formio.deleteSubmission().then(() => {
|
|
19
|
+
this.router.navigate(['../../'], { relativeTo: this.route });
|
|
20
|
+
}).catch(err => this.alerts.setAlert({type: 'danger', message: (err.message || err)}));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
onCancel() {
|
|
24
|
+
this.router.navigate(['../', 'view'], { relativeTo: this.route });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormManagerService } from '../../form-manager.service';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
templateUrl: './edit.component.html'
|
|
7
|
+
})
|
|
8
|
+
export class SubmissionEditComponent {
|
|
9
|
+
constructor(
|
|
10
|
+
public service: FormManagerService,
|
|
11
|
+
public router: Router,
|
|
12
|
+
public route: ActivatedRoute
|
|
13
|
+
) { }
|
|
14
|
+
|
|
15
|
+
onSubmit(submission) {
|
|
16
|
+
this.router.navigate(['../../'], {relativeTo: this.route});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<formio-grid [formio]="service.formio" (rowSelect)="onSelect($event)"></formio-grid>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { FormManagerService } from '../../form-manager.service';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
templateUrl: './index.component.html'
|
|
7
|
+
})
|
|
8
|
+
export class SubmissionIndexComponent {
|
|
9
|
+
constructor(
|
|
10
|
+
public service: FormManagerService,
|
|
11
|
+
public route: ActivatedRoute,
|
|
12
|
+
public router: Router
|
|
13
|
+
) {}
|
|
14
|
+
|
|
15
|
+
onSelect(row: any) {
|
|
16
|
+
this.router.navigate([row._id, 'view'], {relativeTo: this.route});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<a *ngIf="downloadUrl" [href]="downloadUrl" target="_blank" class="float-end"><img src="https://pro.formview.io/assets/pdf.png" alt="pdfImage" style="height: 2em;" /></a>
|
|
2
|
+
<ul aria-label="Submission" role="navigation" class="nav nav-tabs" style="margin-bottom:10px">
|
|
3
|
+
<li class="nav-item"><a class="nav-link" routerLink="../"><em class="fa fa-chevron-left bi bi-chevron-left"></em></a></li>
|
|
4
|
+
<li class="nav-item" routerLinkActive="active"><a class="nav-link" routerLink="view" routerLinkActive="active"><em class="fa fa-eye bi bi-eye"></em> View</a></li>
|
|
5
|
+
<li class="nav-item" routerLinkActive="active" *ngIf="service.perms.edit"><a class="nav-link" routerLink="edit" routerLinkActive="active"><em class="fa fa-edit bi bi-pencil-square"></em> Edit</a></li>
|
|
6
|
+
<li class="nav-item" routerLinkActive="active" *ngIf="service.perms.delete"><a class="nav-link" routerLink="delete" routerLinkActive="active"><span class="fa fa-trash bi bi-trash"></span></a></li>
|
|
7
|
+
</ul>
|
|
8
|
+
<router-outlet></router-outlet>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { FormManagerService } from '../../form-manager.service';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
templateUrl: './submission.component.html'
|
|
7
|
+
})
|
|
8
|
+
export class SubmissionComponent implements OnInit {
|
|
9
|
+
public downloadUrl: string;
|
|
10
|
+
constructor(
|
|
11
|
+
public service: FormManagerService,
|
|
12
|
+
public route: ActivatedRoute
|
|
13
|
+
) { }
|
|
14
|
+
|
|
15
|
+
setDownloadUrl(url) {
|
|
16
|
+
this.downloadUrl = url;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.service.setSubmission(this.route).then((formio: any) => {
|
|
21
|
+
formio.getDownloadUrl().then((url) => this.setDownloadUrl(url));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormManagerService } from '../../form-manager.service';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
templateUrl: './view.component.html'
|
|
6
|
+
})
|
|
7
|
+
export class SubmissionViewComponent {
|
|
8
|
+
constructor(public service: FormManagerService) { }
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<formio *ngIf="service.form"
|
|
2
|
+
[renderer]="config.renderer"
|
|
3
|
+
[renderOptions]="renderOptions"
|
|
4
|
+
[url]="service.formio.formUrl"
|
|
5
|
+
[form]="service.form"
|
|
6
|
+
[submission]="submission"
|
|
7
|
+
[success]="onSuccess"
|
|
8
|
+
[submitDone]="onSubmitDone"
|
|
9
|
+
[error]="onError"
|
|
10
|
+
(submit)="onSubmit($event)"
|
|
11
|
+
></formio>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, OnInit, EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormManagerConfig } from '../form-manager.config';
|
|
3
|
+
import { FormManagerService } from '../form-manager.service';
|
|
4
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
|
+
import { FormioAuthService } from '@formio/angular/auth';
|
|
6
|
+
import { Formio } from '@formio/js';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
templateUrl: './view.component.html'
|
|
10
|
+
})
|
|
11
|
+
export class FormManagerViewComponent implements OnInit {
|
|
12
|
+
public submission: any;
|
|
13
|
+
public renderOptions: any;
|
|
14
|
+
public onSuccess: EventEmitter<object> = new EventEmitter();
|
|
15
|
+
public onError: EventEmitter<object> = new EventEmitter();
|
|
16
|
+
public onSubmitDone: EventEmitter<object> = new EventEmitter();
|
|
17
|
+
constructor(
|
|
18
|
+
public service: FormManagerService,
|
|
19
|
+
public router: Router,
|
|
20
|
+
public route: ActivatedRoute,
|
|
21
|
+
public config: FormManagerConfig,
|
|
22
|
+
public auth: FormioAuthService
|
|
23
|
+
) {
|
|
24
|
+
this.renderOptions = {
|
|
25
|
+
saveDraft: this.config.saveDraft
|
|
26
|
+
};
|
|
27
|
+
this.submission = {data: {}};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.service.formio = new Formio(this.service.formio.formUrl);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
onSubmit(submission: any) {
|
|
35
|
+
const isDraft = submission.state === 'draft';
|
|
36
|
+
this.submission.data = submission.data;
|
|
37
|
+
this.submission.state = isDraft ? submission.state : 'complete';
|
|
38
|
+
this.service.formio.saveSubmission(this.submission).then(saved => {
|
|
39
|
+
this.onSubmitDone.emit(saved);
|
|
40
|
+
this.onSuccess.emit();
|
|
41
|
+
this.router.navigate(['../', 'submission', saved._id], {relativeTo: this.route});
|
|
42
|
+
}).catch((err) => this.onError.emit(err));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@formio/angular",
|
|
3
|
+
"version": "7.5.0-rc.1",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/formio/angular-formio"
|
|
7
|
+
},
|
|
8
|
+
"author": {
|
|
9
|
+
"name": "Travis Tidwell",
|
|
10
|
+
"email": "travis@form.io"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"angular",
|
|
14
|
+
"forms",
|
|
15
|
+
"json forms",
|
|
16
|
+
"javascript forms",
|
|
17
|
+
"model driven forms",
|
|
18
|
+
"form.io"
|
|
19
|
+
],
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/formio/angular-formio/issues"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=6.0.0"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@angular/core": "^16.0.0 || ^17.0.0",
|
|
29
|
+
"@angular/common": "^16.0.0 || ^17.0.0",
|
|
30
|
+
"@angular/elements": "^16.0.0 || ^17.0.0",
|
|
31
|
+
"@formio/js": "^5.0.0-rc.38",
|
|
32
|
+
"zone.js": "~0.13.0 || ~0.14.0",
|
|
33
|
+
"lodash": "^4.17.20",
|
|
34
|
+
"ngx-bootstrap": "^10.0.0 || ^11.0.0 || ^12.0.0",
|
|
35
|
+
"tslib": "^2.0.0"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<h3 *ngIf="service.form" style="margin-top:0;">
|
|
2
|
+
<a routerLink="../" class="back-button">
|
|
3
|
+
<em class="fa fa-chevron-left bi bi-chevron-left"></em>
|
|
4
|
+
</a> | New {{ service.form.title }}
|
|
5
|
+
</h3>
|
|
6
|
+
<formio
|
|
7
|
+
[form]="service.form"
|
|
8
|
+
[submission]="service.resource"
|
|
9
|
+
[refresh]="service.refresh"
|
|
10
|
+
[error]="onError"
|
|
11
|
+
[success]="onSuccess"
|
|
12
|
+
(submit)="onSubmit($event)"
|
|
13
|
+
></formio>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { FormioResourceService } from '../resource.service';
|
|
4
|
+
import { FormioResourceConfig } from '../resource.config';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
styleUrls: ['./create.component.scss'],
|
|
8
|
+
templateUrl: './create.component.html'
|
|
9
|
+
})
|
|
10
|
+
export class FormioResourceCreateComponent implements OnInit {
|
|
11
|
+
public onError: EventEmitter<any>;
|
|
12
|
+
public onSuccess: EventEmitter<any>;
|
|
13
|
+
constructor(
|
|
14
|
+
public service: FormioResourceService,
|
|
15
|
+
public route: ActivatedRoute,
|
|
16
|
+
public router: Router,
|
|
17
|
+
public config: FormioResourceConfig
|
|
18
|
+
) {
|
|
19
|
+
this.onError = new EventEmitter();
|
|
20
|
+
this.onSuccess = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ngOnInit(): void {
|
|
24
|
+
this.service.init(this.route);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
onSubmit(submission: any) {
|
|
28
|
+
this.service
|
|
29
|
+
.save(submission)
|
|
30
|
+
.then(() => {
|
|
31
|
+
this.router.navigate(['../', this.service.resource._id, 'view'], {
|
|
32
|
+
relativeTo: this.route
|
|
33
|
+
});
|
|
34
|
+
})
|
|
35
|
+
.catch((err: any) => this.onError.emit(err));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<h3>Are you sure you wish to delete this record?</h3>
|
|
2
|
+
<div class="btn-toolbar">
|
|
3
|
+
<button type="button" (click)="onDelete()" class="btn btn-danger" style="margin-right: 10px;">Yes</button>
|
|
4
|
+
<button type="button" (click)="onCancel()" class="btn btn-danger">No</button>
|
|
5
|
+
</div>
|