@formio/angular 7.5.0-rc.1-dev.1060.2e45ec8 → 7.5.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 +93 -0
- package/FormioBaseComponent.d.ts.map +1 -0
- package/README.md +13 -204
- package/auth/auth.component.d.ts +6 -0
- package/auth/auth.component.d.ts.map +1 -0
- package/auth/auth.config.d.ts +63 -0
- package/auth/auth.config.d.ts.map +1 -0
- package/auth/auth.module.d.ts +17 -0
- package/auth/auth.module.d.ts.map +1 -0
- package/auth/auth.routes.d.ts +4 -0
- package/auth/auth.routes.d.ts.map +1 -0
- package/auth/auth.service.d.ts +41 -0
- package/auth/auth.service.d.ts.map +1 -0
- package/auth/formio-angular-auth.d.ts.map +1 -0
- package/{projects/angular-formio/auth/src/index.ts → auth/index.d.ts} +2 -1
- package/auth/index.d.ts.map +1 -0
- package/auth/login/login.component.d.ts +10 -0
- package/auth/login/login.component.d.ts.map +1 -0
- package/auth/register/register.component.d.ts +10 -0
- package/auth/register/register.component.d.ts.map +1 -0
- package/auth/resetpass/resetpass.component.d.ts +9 -0
- package/auth/resetpass/resetpass.component.d.ts.map +1 -0
- package/components/alerts/formio.alerts.component.d.ts +12 -0
- package/components/alerts/formio.alerts.component.d.ts.map +1 -0
- package/components/alerts/formio.alerts.d.ts +12 -0
- package/components/alerts/formio.alerts.d.ts.map +1 -0
- package/components/alerts/parse-html-content.pipe.d.ts +8 -0
- package/components/alerts/parse-html-content.pipe.d.ts.map +1 -0
- package/components/formbuilder/formbuilder.component.d.ts +37 -0
- package/components/formbuilder/formbuilder.component.d.ts.map +1 -0
- package/components/formio/formio.component.d.ts +15 -0
- package/components/formio/formio.component.d.ts.map +1 -0
- package/components/formioreport/formioreport.component.d.ts +21 -0
- package/components/formioreport/formioreport.component.d.ts.map +1 -0
- package/components/loader/formio.loader.component.d.ts +7 -0
- package/components/loader/formio.loader.component.d.ts.map +1 -0
- package/{projects/angular-formio/src/core.ts → core.d.ts} +2 -12
- package/core.d.ts.map +1 -0
- package/custom-tags.service.d.ts +8 -0
- package/custom-tags.service.d.ts.map +1 -0
- package/embed/app.service.d.ts +28 -0
- package/embed/app.service.d.ts.map +1 -0
- package/embed/builder.component.d.ts +14 -0
- package/embed/builder.component.d.ts.map +1 -0
- package/embed/embed.module.d.ts +10 -0
- package/embed/embed.module.d.ts.map +1 -0
- package/embed/formio-angular-embed.d.ts.map +1 -0
- package/embed/formio.component.d.ts +17 -0
- package/embed/formio.component.d.ts.map +1 -0
- package/{projects/angular-formio/embed/src/index.ts → embed/index.d.ts} +2 -1
- package/embed/index.d.ts.map +1 -0
- package/esm2022/FormioBaseComponent.mjs +580 -0
- package/esm2022/auth/auth.component.mjs +12 -0
- package/esm2022/auth/auth.config.mjs +21 -0
- package/esm2022/auth/auth.module.mjs +46 -0
- package/esm2022/auth/auth.routes.mjs +32 -0
- package/esm2022/auth/auth.service.mjs +199 -0
- package/esm2022/auth/formio-angular-auth.mjs +5 -0
- package/esm2022/auth/index.mjs +9 -0
- package/esm2022/auth/login/login.component.mjs +20 -0
- package/esm2022/auth/register/register.component.mjs +20 -0
- package/esm2022/auth/resetpass/resetpass.component.mjs +17 -0
- package/esm2022/components/alerts/formio.alerts.component.mjs +28 -0
- package/esm2022/components/alerts/formio.alerts.mjs +13 -0
- package/esm2022/components/alerts/parse-html-content.pipe.mjs +19 -0
- package/esm2022/components/formbuilder/formbuilder.component.mjs +202 -0
- package/esm2022/components/formio/formio.component.mjs +43 -0
- package/esm2022/components/formioreport/formioreport.component.mjs +89 -0
- package/esm2022/components/loader/formio.loader.component.mjs +15 -0
- package/esm2022/core.mjs +18 -0
- package/esm2022/custom-tags.service.mjs +14 -0
- package/esm2022/embed/app.service.mjs +58 -0
- package/esm2022/embed/builder.component.mjs +36 -0
- package/esm2022/embed/embed.module.mjs +35 -0
- package/esm2022/embed/formio-angular-embed.mjs +5 -0
- package/esm2022/embed/formio.component.mjs +50 -0
- package/esm2022/embed/index.mjs +7 -0
- package/esm2022/formio-angular.mjs +5 -0
- package/esm2022/formio-promise.service.mjs +36 -0
- package/esm2022/formio.common.mjs +11 -0
- package/esm2022/formio.config.mjs +29 -0
- package/esm2022/formio.module.mjs +59 -0
- package/esm2022/formio.service.mjs +62 -0
- package/esm2022/formio.utils.mjs +21 -0
- package/esm2022/grid/GridBodyComponent.mjs +89 -0
- package/esm2022/grid/GridFooterComponent.mjs +44 -0
- package/esm2022/grid/GridHeaderComponent.mjs +34 -0
- package/esm2022/grid/form/FormGridBody.component.mjs +63 -0
- package/esm2022/grid/form/FormGridFooter.component.mjs +26 -0
- package/esm2022/grid/form/FormGridHeader.component.mjs +27 -0
- package/esm2022/grid/form/index.mjs +9 -0
- package/esm2022/grid/form/time-since.pipe.mjs +37 -0
- package/esm2022/grid/formio-angular-grid.mjs +5 -0
- package/esm2022/grid/grid.component.mjs +257 -0
- package/esm2022/grid/grid.module.mjs +79 -0
- package/esm2022/grid/grid.service.mjs +18 -0
- package/esm2022/grid/index.mjs +13 -0
- package/esm2022/grid/submission/SubmissionGridBody.component.mjs +43 -0
- package/esm2022/grid/submission/SubmissionGridFooter.component.mjs +23 -0
- package/esm2022/grid/submission/SubmissionGridHeader.component.mjs +63 -0
- package/esm2022/grid/submission/index.mjs +9 -0
- package/esm2022/grid/types/grid-column.mjs +2 -0
- package/esm2022/grid/types/grid-footer-positions.mjs +7 -0
- package/esm2022/grid/types/grid-header.mjs +6 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/manager/create/create.component.mjs +18 -0
- package/esm2022/manager/delete/delete.component.mjs +42 -0
- package/esm2022/manager/edit/edit.component.mjs +125 -0
- package/esm2022/manager/form/form.component.mjs +80 -0
- package/esm2022/manager/form-manager.config.mjs +18 -0
- package/esm2022/manager/form-manager.module.mjs +83 -0
- package/esm2022/manager/form-manager.routes.mjs +74 -0
- package/esm2022/manager/form-manager.service.mjs +185 -0
- package/esm2022/manager/formio-angular-manager.mjs +5 -0
- package/esm2022/manager/index/index.component.mjs +108 -0
- package/esm2022/manager/index.mjs +16 -0
- package/esm2022/manager/submission/delete/delete.component.mjs +32 -0
- package/esm2022/manager/submission/edit/edit.component.mjs +25 -0
- package/esm2022/manager/submission/index/index.component.mjs +25 -0
- package/esm2022/manager/submission/submission/submission.component.mjs +29 -0
- package/esm2022/manager/submission/view/view.component.mjs +17 -0
- package/esm2022/manager/view/view.component.mjs +52 -0
- package/esm2022/resource/create/create.component.mjs +43 -0
- package/esm2022/resource/delete/delete.component.mjs +29 -0
- package/esm2022/resource/edit/edit.component.mjs +42 -0
- package/esm2022/resource/formio-angular-resource.mjs +5 -0
- package/esm2022/resource/index/index.component.mjs +69 -0
- package/esm2022/resource/index.mjs +12 -0
- package/esm2022/resource/resource.component.mjs +46 -0
- package/esm2022/resource/resource.config.mjs +13 -0
- package/esm2022/resource/resource.module.mjs +62 -0
- package/esm2022/resource/resource.routes.mjs +42 -0
- package/esm2022/resource/resource.service.mjs +229 -0
- package/esm2022/resource/resources.service.mjs +25 -0
- package/esm2022/resource/view/view.component.mjs +25 -0
- package/esm2022/types/alerts-position.mjs +8 -0
- package/esm2022/types/formio-metadata.mjs +2 -0
- package/esm2022/types/formio-submission.mjs +6 -0
- package/fesm2022/formio-angular-auth.mjs +345 -0
- package/fesm2022/formio-angular-auth.mjs.map +1 -0
- package/fesm2022/formio-angular-embed.mjs +176 -0
- package/fesm2022/formio-angular-embed.mjs.map +1 -0
- package/fesm2022/formio-angular-grid.mjs +772 -0
- package/fesm2022/formio-angular-grid.mjs.map +1 -0
- package/fesm2022/formio-angular-manager.mjs +822 -0
- package/fesm2022/formio-angular-manager.mjs.map +1 -0
- package/fesm2022/formio-angular-resource.mjs +571 -0
- package/fesm2022/formio-angular-resource.mjs.map +1 -0
- package/fesm2022/formio-angular.mjs +1187 -0
- package/fesm2022/formio-angular.mjs.map +1 -0
- package/formio-angular.d.ts.map +1 -0
- package/formio-promise.service.d.ts +16 -0
- package/formio-promise.service.d.ts.map +1 -0
- package/formio.common.d.ts +73 -0
- package/formio.common.d.ts.map +1 -0
- package/formio.config.d.ts +20 -0
- package/formio.config.d.ts.map +1 -0
- package/formio.module.d.ts +15 -0
- package/formio.module.d.ts.map +1 -0
- package/formio.service.d.ts +18 -0
- package/formio.service.d.ts.map +1 -0
- package/formio.utils.d.ts +2 -0
- package/formio.utils.d.ts.map +1 -0
- package/grid/GridBodyComponent.d.ts +35 -0
- package/grid/GridBodyComponent.d.ts.map +1 -0
- package/grid/GridFooterComponent.d.ts +20 -0
- package/grid/GridFooterComponent.d.ts.map +1 -0
- package/grid/GridHeaderComponent.d.ts +16 -0
- package/grid/GridHeaderComponent.d.ts.map +1 -0
- package/grid/form/FormGridBody.component.d.ts +19 -0
- package/grid/form/FormGridBody.component.d.ts.map +1 -0
- package/grid/form/FormGridFooter.component.d.ts +10 -0
- package/grid/form/FormGridFooter.component.d.ts.map +1 -0
- package/grid/form/FormGridHeader.component.d.ts +11 -0
- package/grid/form/FormGridHeader.component.d.ts.map +1 -0
- package/grid/form/index.d.ts +10 -0
- package/grid/form/index.d.ts.map +1 -0
- package/grid/form/time-since.pipe.d.ts +8 -0
- package/grid/form/time-since.pipe.d.ts.map +1 -0
- package/grid/formio-angular-grid.d.ts.map +1 -0
- package/grid/grid.component.d.ts +59 -0
- package/grid/grid.component.d.ts.map +1 -0
- package/grid/grid.module.d.ts +23 -0
- package/grid/grid.module.d.ts.map +1 -0
- package/grid/grid.service.d.ts +10 -0
- package/grid/grid.service.d.ts.map +1 -0
- package/{projects/angular-formio/grid/src/index.ts → grid/index.d.ts} +1 -0
- package/grid/index.d.ts.map +1 -0
- package/grid/submission/SubmissionGridBody.component.d.ts +19 -0
- package/grid/submission/SubmissionGridBody.component.d.ts.map +1 -0
- package/grid/submission/SubmissionGridFooter.component.d.ts +10 -0
- package/grid/submission/SubmissionGridFooter.component.d.ts.map +1 -0
- package/grid/submission/SubmissionGridHeader.component.d.ts +30 -0
- package/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -0
- package/{projects/angular-formio/grid/src/submission/index.ts → grid/submission/index.d.ts} +6 -4
- package/grid/submission/index.d.ts.map +1 -0
- package/grid/types/grid-column.d.ts +7 -0
- package/grid/types/grid-column.d.ts.map +1 -0
- package/grid/types/grid-footer-positions.d.ts +6 -0
- package/grid/types/grid-footer-positions.d.ts.map +1 -0
- package/grid/types/grid-header.d.ts +13 -0
- package/grid/types/grid-header.d.ts.map +1 -0
- package/{projects/angular-formio/src/index.ts → index.d.ts} +1 -0
- package/index.d.ts.map +1 -0
- package/manager/create/create.component.d.ts +9 -0
- package/manager/create/create.component.d.ts.map +1 -0
- package/manager/delete/delete.component.d.ts +18 -0
- package/manager/delete/delete.component.d.ts.map +1 -0
- package/manager/edit/edit.component.d.ts +31 -0
- package/manager/edit/edit.component.d.ts.map +1 -0
- package/manager/form/form.component.d.ts +29 -0
- package/manager/form/form.component.d.ts.map +1 -0
- package/manager/form-manager.config.d.ts +30 -0
- package/manager/form-manager.config.d.ts.map +1 -0
- package/manager/form-manager.module.d.ts +28 -0
- package/manager/form-manager.module.d.ts.map +1 -0
- package/manager/form-manager.routes.d.ts +4 -0
- package/manager/form-manager.routes.d.ts.map +1 -0
- package/manager/form-manager.service.d.ts +37 -0
- package/manager/form-manager.service.d.ts.map +1 -0
- package/manager/formio-angular-manager.d.ts.map +1 -0
- package/manager/index/index.component.d.ts +28 -0
- package/manager/index/index.component.d.ts.map +1 -0
- package/{projects/angular-formio/manager/src/index.ts → manager/index.d.ts} +1 -0
- package/manager/index.d.ts.map +1 -0
- package/manager/submission/delete/delete.component.d.ts +16 -0
- package/manager/submission/delete/delete.component.d.ts.map +1 -0
- package/manager/submission/edit/edit.component.d.ts +13 -0
- package/manager/submission/edit/edit.component.d.ts.map +1 -0
- package/manager/submission/index/index.component.d.ts +13 -0
- package/manager/submission/index/index.component.d.ts.map +1 -0
- package/manager/submission/submission/submission.component.d.ts +15 -0
- package/manager/submission/submission/submission.component.d.ts.map +1 -0
- package/manager/submission/view/view.component.d.ts +9 -0
- package/manager/submission/view/view.component.d.ts.map +1 -0
- package/manager/view/view.component.d.ts +24 -0
- package/manager/view/view.component.d.ts.map +1 -0
- package/package.json +63 -54
- package/resource/create/create.component.d.ts +19 -0
- package/resource/create/create.component.d.ts.map +1 -0
- package/resource/delete/delete.component.d.ts +14 -0
- package/resource/delete/delete.component.d.ts.map +1 -0
- package/resource/edit/edit.component.d.ts +22 -0
- package/resource/edit/edit.component.d.ts.map +1 -0
- package/resource/formio-angular-resource.d.ts.map +1 -0
- package/resource/index/index.component.d.ts +23 -0
- package/resource/index/index.component.d.ts.map +1 -0
- package/{projects/angular-formio/resource/src/index.ts → resource/index.d.ts} +1 -0
- package/resource/index.d.ts.map +1 -0
- package/resource/resource.component.d.ts +24 -0
- package/resource/resource.component.d.ts.map +1 -0
- package/resource/resource.config.d.ts +17 -0
- package/resource/resource.config.d.ts.map +1 -0
- package/resource/resource.module.d.ts +20 -0
- package/resource/resource.module.d.ts.map +1 -0
- package/resource/resource.routes.d.ts +4 -0
- package/resource/resource.routes.d.ts.map +1 -0
- package/resource/resource.service.d.ts +52 -0
- package/resource/resource.service.d.ts.map +1 -0
- package/resource/resources.service.d.ts +16 -0
- package/resource/resources.service.d.ts.map +1 -0
- package/resource/view/view.component.d.ts +16 -0
- package/resource/view/view.component.d.ts.map +1 -0
- package/types/alerts-position.d.ts +7 -0
- package/types/alerts-position.d.ts.map +1 -0
- package/types/formio-metadata.d.ts +11 -0
- package/types/formio-metadata.d.ts.map +1 -0
- package/types/formio-submission.d.ts +19 -0
- package/types/formio-submission.d.ts.map +1 -0
- package/.dockerignore +0 -5
- package/.editorconfig +0 -13
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +0 -15
- package/.github/ISSUE_TEMPLATE/question.md +0 -8
- package/.github/pull_request_template.md +0 -35
- package/.github/workflows/repo.yml +0 -145
- package/.travis.yml +0 -4
- package/.yo-rc.json +0 -7
- package/CHANGELOG.md +0 -1153
- package/Dockerfile +0 -20
- package/LICENSE +0 -21
- package/angular.json +0 -38
- package/bs-config.json +0 -11
- package/projects/angular-formio/README.md +0 -24
- package/projects/angular-formio/auth/ng-package.json +0 -5
- package/projects/angular-formio/auth/src/auth.component.html +0 -11
- package/projects/angular-formio/auth/src/auth.component.ts +0 -5
- package/projects/angular-formio/auth/src/auth.config.ts +0 -72
- package/projects/angular-formio/auth/src/auth.module.ts +0 -33
- package/projects/angular-formio/auth/src/auth.routes.ts +0 -34
- package/projects/angular-formio/auth/src/auth.service.ts +0 -221
- package/projects/angular-formio/auth/src/login/login.component.html +0 -1
- package/projects/angular-formio/auth/src/login/login.component.ts +0 -11
- package/projects/angular-formio/auth/src/public_api.ts +0 -5
- package/projects/angular-formio/auth/src/register/register.component.html +0 -1
- package/projects/angular-formio/auth/src/register/register.component.ts +0 -11
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +0 -1
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +0 -8
- package/projects/angular-formio/embed/ng-package.json +0 -5
- package/projects/angular-formio/embed/src/app.service.ts +0 -59
- package/projects/angular-formio/embed/src/builder.component.ts +0 -19
- package/projects/angular-formio/embed/src/embed.module.ts +0 -23
- package/projects/angular-formio/embed/src/formio.component.ts +0 -27
- package/projects/angular-formio/grid/ng-package.json +0 -5
- package/projects/angular-formio/grid/src/GridBodyComponent.ts +0 -80
- package/projects/angular-formio/grid/src/GridFooterComponent.ts +0 -25
- package/projects/angular-formio/grid/src/GridHeaderComponent.ts +0 -25
- package/projects/angular-formio/grid/src/form/FormGridBody.component.html +0 -22
- package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +0 -4
- package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +0 -46
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +0 -21
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +0 -23
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +0 -18
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +0 -24
- package/projects/angular-formio/grid/src/form/index.ts +0 -8
- package/projects/angular-formio/grid/src/form/time-since.pipe.ts +0 -31
- package/projects/angular-formio/grid/src/grid.component.html +0 -18
- package/projects/angular-formio/grid/src/grid.component.scss +0 -9
- package/projects/angular-formio/grid/src/grid.component.ts +0 -242
- package/projects/angular-formio/grid/src/grid.footer.scss +0 -14
- package/projects/angular-formio/grid/src/grid.module.ts +0 -49
- package/projects/angular-formio/grid/src/grid.service.ts +0 -16
- package/projects/angular-formio/grid/src/public_api.ts +0 -5
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +0 -7
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +0 -39
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +0 -18
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +0 -20
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +0 -11
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +0 -72
- package/projects/angular-formio/grid/src/types/grid-column.ts +0 -7
- package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +0 -5
- package/projects/angular-formio/grid/src/types/grid-header.ts +0 -14
- package/projects/angular-formio/karma.conf.js +0 -32
- package/projects/angular-formio/manager/ng-package.json +0 -5
- package/projects/angular-formio/manager/src/create/create.component.ts +0 -11
- package/projects/angular-formio/manager/src/delete/delete.component.html +0 -6
- package/projects/angular-formio/manager/src/delete/delete.component.ts +0 -37
- package/projects/angular-formio/manager/src/edit/edit.component.html +0 -19
- package/projects/angular-formio/manager/src/edit/edit.component.ts +0 -110
- package/projects/angular-formio/manager/src/form/form.component.html +0 -32
- package/projects/angular-formio/manager/src/form/form.component.ts +0 -73
- package/projects/angular-formio/manager/src/form-manager.config.ts +0 -31
- package/projects/angular-formio/manager/src/form-manager.module.ts +0 -54
- package/projects/angular-formio/manager/src/form-manager.routes.ts +0 -75
- package/projects/angular-formio/manager/src/form-manager.service.ts +0 -190
- package/projects/angular-formio/manager/src/index/index.component.html +0 -14
- package/projects/angular-formio/manager/src/index/index.component.scss +0 -22
- package/projects/angular-formio/manager/src/index/index.component.ts +0 -100
- package/projects/angular-formio/manager/src/public_api.ts +0 -5
- package/projects/angular-formio/manager/src/submission/delete/delete.component.html +0 -6
- package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +0 -26
- package/projects/angular-formio/manager/src/submission/edit/edit.component.html +0 -7
- package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +0 -18
- package/projects/angular-formio/manager/src/submission/index/index.component.html +0 -1
- package/projects/angular-formio/manager/src/submission/index/index.component.ts +0 -18
- package/projects/angular-formio/manager/src/submission/submission/submission.component.html +0 -8
- package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +0 -24
- package/projects/angular-formio/manager/src/submission/view/view.component.html +0 -7
- package/projects/angular-formio/manager/src/submission/view/view.component.ts +0 -9
- package/projects/angular-formio/manager/src/view/view.component.html +0 -11
- package/projects/angular-formio/manager/src/view/view.component.ts +0 -44
- package/projects/angular-formio/ng-package.json +0 -7
- package/projects/angular-formio/package.json +0 -37
- package/projects/angular-formio/resource/ng-package.json +0 -5
- package/projects/angular-formio/resource/src/create/create.component.html +0 -13
- package/projects/angular-formio/resource/src/create/create.component.scss +0 -3
- package/projects/angular-formio/resource/src/create/create.component.ts +0 -37
- package/projects/angular-formio/resource/src/delete/delete.component.html +0 -5
- package/projects/angular-formio/resource/src/delete/delete.component.ts +0 -24
- package/projects/angular-formio/resource/src/edit/edit.component.html +0 -7
- package/projects/angular-formio/resource/src/edit/edit.component.ts +0 -35
- package/projects/angular-formio/resource/src/index/index.component.html +0 -10
- package/projects/angular-formio/resource/src/index/index.component.ts +0 -64
- package/projects/angular-formio/resource/src/index.js +0 -24
- package/projects/angular-formio/resource/src/public_api.ts +0 -5
- package/projects/angular-formio/resource/src/resource.component.html +0 -7
- package/projects/angular-formio/resource/src/resource.component.ts +0 -48
- package/projects/angular-formio/resource/src/resource.config.ts +0 -17
- package/projects/angular-formio/resource/src/resource.module.ts +0 -43
- package/projects/angular-formio/resource/src/resource.routes.ts +0 -43
- package/projects/angular-formio/resource/src/resource.service.ts +0 -258
- package/projects/angular-formio/resource/src/resources.service.ts +0 -24
- package/projects/angular-formio/resource/src/view/view.component.html +0 -6
- package/projects/angular-formio/resource/src/view/view.component.ts +0 -19
- package/projects/angular-formio/src/FormioBaseComponent.ts +0 -554
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +0 -3
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +0 -19
- package/projects/angular-formio/src/components/alerts/formio.alerts.ts +0 -21
- package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +0 -15
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +0 -1
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +0 -213
- package/projects/angular-formio/src/components/formio/formio.component.html +0 -8
- package/projects/angular-formio/src/components/formio/formio.component.ts +0 -33
- package/projects/angular-formio/src/components/formioreport/formioreport.component.html +0 -8
- package/projects/angular-formio/src/components/formioreport/formioreport.component.ts +0 -95
- package/projects/angular-formio/src/components/loader/formio.loader.component.html +0 -3
- package/projects/angular-formio/src/components/loader/formio.loader.component.scss +0 -26
- package/projects/angular-formio/src/components/loader/formio.loader.component.ts +0 -10
- package/projects/angular-formio/src/custom-tags.service.ts +0 -9
- package/projects/angular-formio/src/formio-promise.service.ts +0 -36
- package/projects/angular-formio/src/formio.common.ts +0 -91
- package/projects/angular-formio/src/formio.config.ts +0 -26
- package/projects/angular-formio/src/formio.module.ts +0 -38
- package/projects/angular-formio/src/formio.service.ts +0 -57
- package/projects/angular-formio/src/formio.utils.ts +0 -23
- package/projects/angular-formio/src/public-api.ts +0 -5
- package/projects/angular-formio/src/test.ts +0 -28
- package/projects/angular-formio/src/types/alerts-position.ts +0 -6
- package/projects/angular-formio/src/types/formio-metadata.ts +0 -10
- package/projects/angular-formio/src/types/formio-submission.ts +0 -20
- package/projects/angular-formio/tsconfig.lib.json +0 -27
- package/projects/angular-formio/tsconfig.lib.prod.json +0 -8
- package/projects/angular-formio/tsconfig.spec.json +0 -17
- package/projects/angular-formio/tslint.json +0 -17
- package/tsconfig.json +0 -39
- package/tslint.json +0 -140
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { GridFooterPositions } from './types/grid-footer-positions';
|
|
2
|
+
import { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class GridFooterComponent {
|
|
5
|
+
header;
|
|
6
|
+
body;
|
|
7
|
+
createText;
|
|
8
|
+
size;
|
|
9
|
+
actionAllowed;
|
|
10
|
+
pageChanged;
|
|
11
|
+
createItem;
|
|
12
|
+
template;
|
|
13
|
+
footerPositions = GridFooterPositions;
|
|
14
|
+
constructor() {
|
|
15
|
+
this.pageChanged = new EventEmitter();
|
|
16
|
+
this.createItem = new EventEmitter();
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: GridFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: GridFooterComponent, selector: "ng-component", inputs: { header: "header", body: "body", createText: "createText", size: "size", actionAllowed: "actionAllowed" }, outputs: { pageChanged: "pageChanged", createItem: "createItem" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: GridFooterComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
template: ''
|
|
25
|
+
}]
|
|
26
|
+
}], ctorParameters: () => [], propDecorators: { header: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], body: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], createText: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], size: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], actionAllowed: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], pageChanged: [{
|
|
37
|
+
type: Output
|
|
38
|
+
}], createItem: [{
|
|
39
|
+
type: Output
|
|
40
|
+
}], template: [{
|
|
41
|
+
type: ViewChild,
|
|
42
|
+
args: [TemplateRef, { static: true }]
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEZvb3RlckNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL0dyaWRGb290ZXJDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8vRixNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLE1BQU0sQ0FBc0I7SUFDNUIsSUFBSSxDQUFvQjtJQUN4QixVQUFVLENBQVM7SUFDbkIsSUFBSSxDQUFTO0lBQ2IsYUFBYSxDQUFNO0lBQ2xCLFdBQVcsQ0FBb0I7SUFDL0IsVUFBVSxDQUFvQjtJQUNBLFFBQVEsQ0FBbUI7SUFFNUQsZUFBZSxHQUFHLG1CQUFtQixDQUFDO0lBRTdDO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO3VHQWZVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHFSQVFuQixXQUFXLDhEQVZaLEVBQUU7OzJGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt3REFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNpQyxRQUFRO3NCQUEvQyxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmlkRm9vdGVyUG9zaXRpb25zIH0gZnJvbSAnLi90eXBlcy9ncmlkLWZvb3Rlci1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL0dyaWRIZWFkZXJDb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZEJvZHlDb21wb25lbnQgfSBmcm9tICcuL0dyaWRCb2R5Q29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBHcmlkRm9vdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGVyOiBHcmlkSGVhZGVyQ29tcG9uZW50O1xuICBASW5wdXQoKSBib2R5OiBHcmlkQm9keUNvbXBvbmVudDtcbiAgQElucHV0KCkgY3JlYXRlVGV4dDogU3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFjdGlvbkFsbG93ZWQ6IGFueTtcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgpIGNyZWF0ZUl0ZW06IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7c3RhdGljOiB0cnVlfSkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHVibGljIGZvb3RlclBvc2l0aW9ucyA9IEdyaWRGb290ZXJQb3NpdGlvbnM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLmNyZWF0ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GridHeaderComponent {
|
|
4
|
+
actionAllowed;
|
|
5
|
+
sort;
|
|
6
|
+
template;
|
|
7
|
+
headers;
|
|
8
|
+
constructor() {
|
|
9
|
+
this.headers = [];
|
|
10
|
+
this.sort = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
get numHeaders() {
|
|
13
|
+
return this.headers.length;
|
|
14
|
+
}
|
|
15
|
+
load(formio, query, columns) {
|
|
16
|
+
return Promise.resolve([]);
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: GridHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: GridHeaderComponent, selector: "ng-component", inputs: { actionAllowed: "actionAllowed" }, outputs: { sort: "sort" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: GridHeaderComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
template: ''
|
|
25
|
+
}]
|
|
26
|
+
}], ctorParameters: () => [], propDecorators: { actionAllowed: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], sort: [{
|
|
29
|
+
type: Output
|
|
30
|
+
}], template: [{
|
|
31
|
+
type: ViewChild,
|
|
32
|
+
args: [TemplateRef, { static: true }]
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEhlYWRlckNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL0dyaWRIZWFkZXJDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8vRixNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLGFBQWEsQ0FBTTtJQUNsQixJQUFJLENBQTJCO0lBQ0QsUUFBUSxDQUFtQjtJQUM1RCxPQUFPLENBQW9CO0lBQ2xDO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBNEIsRUFBRSxLQUFXLEVBQUUsT0FBb0I7UUFDbEUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7dUdBaEJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHFLQUduQixXQUFXLDhEQUxaLEVBQUU7OzJGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt3REFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFDaUMsUUFBUTtzQkFBL0MsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvUHJvbWlzZVNlcnZpY2V9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge0dyaWRIZWFkZXJ9IGZyb20gJy4vdHlwZXMvZ3JpZC1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRIZWFkZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBhY3Rpb25BbGxvd2VkOiBhbnk7XG4gIEBPdXRwdXQoKSBzb3J0OiBFdmVudEVtaXR0ZXI8R3JpZEhlYWRlcj47XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGhlYWRlcnM6IEFycmF5PEdyaWRIZWFkZXI+O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmhlYWRlcnMgPSBbXTtcbiAgICB0aGlzLnNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBnZXQgbnVtSGVhZGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJzLmxlbmd0aDtcbiAgfVxuXG4gIGxvYWQoZm9ybWlvOiBGb3JtaW9Qcm9taXNlU2VydmljZSwgcXVlcnk/OiBhbnksIGNvbHVtbnM/OiBBcnJheTxhbnk+KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, ViewChildren } from '@angular/core';
|
|
2
|
+
import { GridBodyComponent } from '../GridBodyComponent';
|
|
3
|
+
import { Tooltip } from 'bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/router";
|
|
7
|
+
import * as i3 from "./time-since.pipe";
|
|
8
|
+
export class FormGridBodyComponent extends GridBodyComponent {
|
|
9
|
+
createBtns;
|
|
10
|
+
viewBtns;
|
|
11
|
+
editBtns;
|
|
12
|
+
permissionsBtns;
|
|
13
|
+
deleteBtns;
|
|
14
|
+
tooltips = [];
|
|
15
|
+
load(formio, query) {
|
|
16
|
+
query = query || {};
|
|
17
|
+
return formio.loadForms({ params: query })
|
|
18
|
+
.then((forms) => this.setRows(query, forms))
|
|
19
|
+
.then(() => this.attachTooltips());
|
|
20
|
+
}
|
|
21
|
+
attachTooltips() {
|
|
22
|
+
this.createBtns.forEach((el) => {
|
|
23
|
+
this.tooltips.push(new Tooltip(el.nativeElement, { title: 'Create' }));
|
|
24
|
+
});
|
|
25
|
+
this.editBtns.forEach((el) => {
|
|
26
|
+
this.tooltips.push(new Tooltip(el.nativeElement, { title: 'Edit' }));
|
|
27
|
+
});
|
|
28
|
+
this.viewBtns.forEach((el) => {
|
|
29
|
+
this.tooltips.push(new Tooltip(el.nativeElement, { title: 'View' }));
|
|
30
|
+
});
|
|
31
|
+
this.permissionsBtns.forEach((el) => {
|
|
32
|
+
this.tooltips.push(new Tooltip(el.nativeElement, { title: 'Permissions' }));
|
|
33
|
+
});
|
|
34
|
+
this.deleteBtns.forEach((el) => {
|
|
35
|
+
this.tooltips.push(new Tooltip(el.nativeElement, { title: 'Delete' }));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.tooltips.forEach((tootip) => tootip.dispose());
|
|
40
|
+
}
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: FormGridBodyComponent, selector: "form-grid-body", viewQueries: [{ propertyName: "createBtns", predicate: ["create"], descendants: true }, { propertyName: "viewBtns", predicate: ["view"], descendants: true }, { propertyName: "editBtns", predicate: ["edit"], descendants: true }, { propertyName: "permissionsBtns", predicate: ["permissions"], descendants: true }, { propertyName: "deleteBtns", predicate: ["delete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\" class=\"text-decoration-none\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end align-items-center\">\n <button #create *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil bi bi-pencil\"></span></button> \n <button #view *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt bi bi-table\"></span></button> \n <button #edit *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit bi bi-pencil-square\"></span></button> \n <button #delete *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-secondary btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash bi bi-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n", styles: [".form-btn{font-size:.75rem;margin:2px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.TimeSince, name: "timeSince" }] });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridBodyComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'form-grid-body', template: "<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\" class=\"text-decoration-none\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end align-items-center\">\n <button #create *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil bi bi-pencil\"></span></button> \n <button #view *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt bi bi-table\"></span></button> \n <button #edit *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit bi bi-pencil-square\"></span></button> \n <button #delete *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-secondary btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash bi bi-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n", styles: [".form-btn{font-size:.75rem;margin:2px 0}\n"] }]
|
|
47
|
+
}], propDecorators: { createBtns: [{
|
|
48
|
+
type: ViewChildren,
|
|
49
|
+
args: ['create']
|
|
50
|
+
}], viewBtns: [{
|
|
51
|
+
type: ViewChildren,
|
|
52
|
+
args: ['view']
|
|
53
|
+
}], editBtns: [{
|
|
54
|
+
type: ViewChildren,
|
|
55
|
+
args: ['edit']
|
|
56
|
+
}], permissionsBtns: [{
|
|
57
|
+
type: ViewChildren,
|
|
58
|
+
args: ['permissions']
|
|
59
|
+
}], deleteBtns: [{
|
|
60
|
+
type: ViewChildren,
|
|
61
|
+
args: ['delete']
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2Zvcm0vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2Zvcm0vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQU1wQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBQ2xDLFVBQVUsQ0FBZTtJQUMzQixRQUFRLENBQWU7SUFDdkIsUUFBUSxDQUFlO0lBQ2hCLGVBQWUsQ0FBZTtJQUNuQyxVQUFVLENBQWU7SUFDMUMsUUFBUSxHQUFtQixFQUFFLENBQUM7SUFFckMsSUFBSSxDQUFDLE1BQTRCLEVBQUUsS0FBVztRQUM1QyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDdkMsSUFBSSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNoRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQWMsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFjLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBYyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQWMsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFjLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBbkNVLHFCQUFxQjsyRkFBckIscUJBQXFCLGdkQ1RsQywyakRBc0JBOzsyRkRiYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtGLFVBQVU7c0JBQWpDLFlBQVk7dUJBQUMsUUFBUTtnQkFDQSxRQUFRO3NCQUE3QixZQUFZO3VCQUFDLE1BQU07Z0JBQ0UsUUFBUTtzQkFBN0IsWUFBWTt1QkFBQyxNQUFNO2dCQUNTLGVBQWU7c0JBQTNDLFlBQVk7dUJBQUMsYUFBYTtnQkFDSCxVQUFVO3NCQUFqQyxZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vR3JpZEJvZHlDb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvUHJvbWlzZVNlcnZpY2UgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ2Jvb3RzdHJhcCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWdyaWQtYm9keScsXG4gIHN0eWxlVXJsczogWycuL0Zvcm1HcmlkQm9keS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR3JpZEJvZHlDb21wb25lbnQgZXh0ZW5kcyBHcmlkQm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2NyZWF0ZScpIGNyZWF0ZUJ0bnM6IEVsZW1lbnRSZWZbXTtcbiAgQFZpZXdDaGlsZHJlbigndmlldycpIHZpZXdCdG5zOiBFbGVtZW50UmVmW107XG4gIEBWaWV3Q2hpbGRyZW4oJ2VkaXQnKSBlZGl0QnRuczogRWxlbWVudFJlZltdO1xuICBAVmlld0NoaWxkcmVuKCdwZXJtaXNzaW9ucycpIHBlcm1pc3Npb25zQnRuczogRWxlbWVudFJlZltdO1xuICBAVmlld0NoaWxkcmVuKCdkZWxldGUnKSBkZWxldGVCdG5zOiBFbGVtZW50UmVmW107XG4gIHB1YmxpYyB0b29sdGlwczogQXJyYXk8VG9vbHRpcD4gPSBbXTtcblxuICBsb2FkKGZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2UsIHF1ZXJ5PzogYW55KSB7XG4gICAgcXVlcnkgPSBxdWVyeSB8fCB7fTtcbiAgICByZXR1cm4gZm9ybWlvLmxvYWRGb3Jtcyh7IHBhcmFtczogcXVlcnkgfSlcbiAgICAgIC50aGVuKChmb3JtczogYW55KSA9PiB0aGlzLnNldFJvd3MocXVlcnksIGZvcm1zKSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuYXR0YWNoVG9vbHRpcHMoKSk7XG4gIH1cblxuICBhdHRhY2hUb29sdGlwcygpIHtcbiAgICB0aGlzLmNyZWF0ZUJ0bnMuZm9yRWFjaCgoZWw6IEVsZW1lbnRSZWYpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcHMucHVzaChuZXcgVG9vbHRpcChlbC5uYXRpdmVFbGVtZW50LCB7dGl0bGU6ICdDcmVhdGUnfSkpO1xuICAgIH0pO1xuICAgIHRoaXMuZWRpdEJ0bnMuZm9yRWFjaCgoZWw6IEVsZW1lbnRSZWYpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcHMucHVzaChuZXcgVG9vbHRpcChlbC5uYXRpdmVFbGVtZW50LCB7dGl0bGU6ICdFZGl0J30pKTtcbiAgICB9KTtcbiAgICB0aGlzLnZpZXdCdG5zLmZvckVhY2goKGVsOiBFbGVtZW50UmVmKSA9PiB7XG4gICAgICB0aGlzLnRvb2x0aXBzLnB1c2gobmV3IFRvb2x0aXAoZWwubmF0aXZlRWxlbWVudCwge3RpdGxlOiAnVmlldyd9KSk7XG4gICAgfSlcbiAgICB0aGlzLnBlcm1pc3Npb25zQnRucy5mb3JFYWNoKChlbDogRWxlbWVudFJlZikgPT4ge1xuICAgICAgdGhpcy50b29sdGlwcy5wdXNoKG5ldyBUb29sdGlwKGVsLm5hdGl2ZUVsZW1lbnQsIHt0aXRsZTogJ1Blcm1pc3Npb25zJ30pKTtcbiAgICB9KTtcbiAgICB0aGlzLmRlbGV0ZUJ0bnMuZm9yRWFjaCgoZWw6IEVsZW1lbnRSZWYpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcHMucHVzaChuZXcgVG9vbHRpcChlbC5uYXRpdmVFbGVtZW50LCB7dGl0bGU6ICdEZWxldGUnfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwcy5mb3JFYWNoKCh0b290aXA6IFRvb2x0aXApID0+IHRvb3RpcC5kaXNwb3NlKCkpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDx0Ym9keSAqbmdJZj1cInJvd3NcIj5cbiAgICA8dHIgKm5nRm9yPVwibGV0IGZvcm0gb2Ygcm93c1wiPlxuICAgICAgPHRkPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS05XCI+XG4gICAgICAgICAgICA8YSByb3V0ZXJMaW5rPVwie3tmb3JtLl9pZH19L3ZpZXdcIiAoY2xpY2spPVwib25Sb3dTZWxlY3QoJGV2ZW50LCBmb3JtKVwiIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmVcIj48aDU+e3sgZm9ybS50aXRsZSB9fTwvaDU+PC9hPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdXBkYXRlZCBzbWFsbCB0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIFVwZGF0ZWQge3sgZm9ybS5tb2RpZmllZCB8IHRpbWVTaW5jZSB9fSBhZ29cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b24gI2NyZWF0ZSAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1WaWV3JylcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIGZvcm0tYnRuIGZvcm0tYnRuLXVzZVwiIChjbGljayk9XCJvblJvd0FjdGlvbigkZXZlbnQsIGZvcm0sICd2aWV3JylcIj48c3BhbiBjbGFzcz1cImZhIGZhLXBlbmNpbCBiaSBiaS1wZW5jaWxcIj48L3NwYW4+PC9idXR0b24+Jm5ic3A7XG4gICAgICAgICAgICA8YnV0dG9uICN2aWV3ICpuZ0lmPVwiYWN0aW9uQWxsb3dlZCgnZm9ybVN1Ym1pc3Npb24nKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gZm9ybS1idG5cIiAoY2xpY2spPVwib25Sb3dBY3Rpb24oJGV2ZW50LCBmb3JtLCAnc3VibWlzc2lvbicpXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS1saXN0LWFsdCBiaSBiaS10YWJsZVwiPjwvc3Bhbj48L2J1dHRvbj4mbmJzcDtcbiAgICAgICAgICAgIDxidXR0b24gI2VkaXQgKm5nSWY9XCJhY3Rpb25BbGxvd2VkKCdmb3JtRWRpdCcpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbSBmb3JtLWJ0blwiIChjbGljayk9XCJvblJvd0FjdGlvbigkZXZlbnQsIGZvcm0sICdlZGl0JylcIj48c3BhbiBjbGFzcz1cImZhIGZhLWVkaXQgYmkgYmktcGVuY2lsLXNxdWFyZVwiPjwvc3Bhbj48L2J1dHRvbj4mbmJzcDtcbiAgICAgICAgICAgIDxidXR0b24gI2RlbGV0ZSAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1EZWxldGUnKVwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGZvcm0tYnRuIGZvcm0tYnRuLWRlbGV0ZVwiIChjbGljayk9XCJvblJvd0FjdGlvbigkZXZlbnQsIGZvcm0sICdkZWxldGUnKVwiIHRpdGxlPVwiRGVsZXRlIGZvcm1cIj48c3BhbiBjbGFzcz1cImZhIGZhLXRyYXNoIGJpIGJpLXRyYXNoXCI+PC9zcGFuPjwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { GridFooterComponent } from '../GridFooterComponent';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "ngx-bootstrap/pagination";
|
|
7
|
+
export class FormGridFooterComponent extends GridFooterComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
if (!this.createText) {
|
|
13
|
+
this.createText = 'Create Form';
|
|
14
|
+
}
|
|
15
|
+
if (!this.size) {
|
|
16
|
+
this.size = 7;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: FormGridFooterComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus-lg\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n", styles: ["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PaginationComponent, selector: "pagination", inputs: ["align", "maxSize", "boundaryLinks", "directionLinks", "firstText", "previousText", "nextText", "lastText", "rotate", "pageBtnClass", "disabled", "customPageTemplate", "customNextTemplate", "customPreviousTemplate", "customFirstTemplate", "customLastTemplate", "itemsPerPage", "totalItems"], outputs: ["numPages", "pageChanged"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridFooterComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ encapsulation: ViewEncapsulation.None, template: "<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus-lg\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n", styles: ["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\n"] }]
|
|
25
|
+
}], ctorParameters: () => [] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRGb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvZm9ybS9Gb3JtR3JpZEZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9mb3JtL0Zvcm1HcmlkRm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBTzdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFFOUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO3VHQWJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDJFQ1JwQyxnMkNBcUJBOzsyRkRiYSx1QkFBdUI7a0JBTG5DLFNBQVM7b0NBR08saUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vR3JpZEZvb3RlckNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vRm9ybUdyaWRGb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vZ3JpZC5mb290ZXIuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HcmlkRm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgR3JpZEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5jcmVhdGVUZXh0KSB7XG4gICAgICB0aGlzLmNyZWF0ZVRleHQgPSAnQ3JlYXRlIEZvcm0nO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc2l6ZSkge1xuICAgICAgdGhpcy5zaXplID0gNztcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZm9vdGVyIGxldC1wb3NpdGlvbj1cInBvc2l0aW9uXCIgbGV0LWxhYmVsPVwibGFiZWxcIj5cbiAgPHRoZWFkIGNsYXNzPVwiZm9ybWlvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJwb3NpdGlvbiA9PT0gZm9vdGVyUG9zaXRpb25zLnRvcFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdEZvb3RlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbGFiZWw6IGxhYmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC90aGVhZD5cbiAgPHRmb290IGNsYXNzPVwiZm9ybWlvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJwb3NpdGlvbiA9PT0gZm9vdGVyUG9zaXRpb25zLmJvdHRvbVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdEZvb3RlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbGFiZWw6IGxhYmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC90Zm9vdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtbGFiZWw9XCJsYWJlbFwiICNkZWZhdWx0Rm9vdGVyVGVtcGxhdGU+XG4gIDx0cj5cbiAgICA8dGQgKm5nSWY9XCJoZWFkZXJcIiBbY29sU3Bhbl09XCJoZWFkZXIubnVtSGVhZGVyc1wiPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1DcmVhdGUnKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGZvcm0tYnRuLXVzZSBmbG9hdC1zdGFydFwiIChjbGljayk9XCJjcmVhdGVJdGVtLmVtaXQoJ2Zvcm0nKVwiPjxlbSBjbGFzcz1cImZhIGZhLXBsdXMgYmkgYmktcGx1cy1sZ1wiPjwvZW0+IHt7IGNyZWF0ZVRleHQgfX08L2J1dHRvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmxvYXQtZW5kIGl0ZW0tY291bnRlclwiPjxzcGFuIGNsYXNzPVwicGFnZS1udW1cIj57eyBib2R5LmZpcnN0SXRlbSB9fSAtIHt7IGJvZHkubGFzdEl0ZW0gfX08L3NwYW4+IC8ge3sgYm9keS50b3RhbCB9fSB0b3RhbDwvc3Bhbj5cbiAgICAgIDxzcGFuIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIiByb2xlPVwibmF2aWdhdGlvblwiPlxuICAgICAgICA8cGFnaW5hdGlvbiBbdG90YWxJdGVtc109XCJib2R5LnRvdGFsXCIgW2l0ZW1zUGVyUGFnZV09XCJib2R5LmxpbWl0XCIgWyhuZ01vZGVsKV09XCJib2R5LnNraXBcIiAocGFnZUNoYW5nZWQpPVwicGFnZUNoYW5nZWQuZW1pdCgkZXZlbnQpXCIgW21heFNpemVdPVwic2l6ZVwiIGNsYXNzPVwianVzdGlmeS1jb250ZW50LWNlbnRlciBwYWdpbmF0aW9uLXNtXCI+XG4gICAgICAgIDwvcGFnaW5hdGlvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3RkPlxuICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { GridHeaderComponent } from '../GridHeaderComponent';
|
|
3
|
+
import { SortType } from '../types/grid-header';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class FormGridHeaderComponent extends GridHeaderComponent {
|
|
7
|
+
header;
|
|
8
|
+
load(formio) {
|
|
9
|
+
this.header = {
|
|
10
|
+
label: 'Title',
|
|
11
|
+
key: 'title',
|
|
12
|
+
sort: SortType.ASC
|
|
13
|
+
};
|
|
14
|
+
this.headers = [this.header];
|
|
15
|
+
return Promise.resolve(this.headers);
|
|
16
|
+
}
|
|
17
|
+
get numHeaders() {
|
|
18
|
+
return 2;
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: FormGridHeaderComponent, selector: "form-grid-header", usesInheritance: true, ngImport: i0, template: "<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a (click)=\"sort.emit(header)\" style=\"cursor: pointer\">\n {{ header.label }} <span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormGridHeaderComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'form-grid-header', template: "<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a (click)=\"sort.emit(header)\" style=\"cursor: pointer\">\n {{ header.label }} <span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n" }]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRIZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvZm9ybS9Gb3JtR3JpZEhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9mb3JtL0Zvcm1HcmlkSGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFhLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQUN2RCxNQUFNLENBQWE7SUFDMUIsSUFBSSxDQUFDLE1BQVk7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsT0FBTztZQUNaLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRztTQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7dUdBZFUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsK0VDUnBDLG9tQkFrQkE7OzJGRFZhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0dyaWRIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uL0dyaWRIZWFkZXJDb21wb25lbnQnO1xuaW1wb3J0IHtHcmlkSGVhZGVyLCBTb3J0VHlwZX0gZnJvbSAnLi4vdHlwZXMvZ3JpZC1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWdyaWQtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL0Zvcm1HcmlkSGVhZGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR3JpZEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEdyaWRIZWFkZXJDb21wb25lbnQge1xuICBwdWJsaWMgaGVhZGVyOiBHcmlkSGVhZGVyO1xuICBsb2FkKGZvcm1pbz86IGFueSkge1xuICAgIHRoaXMuaGVhZGVyID0ge1xuICAgICAgbGFiZWw6ICdUaXRsZScsXG4gICAgICBrZXk6ICd0aXRsZScsXG4gICAgICBzb3J0OiBTb3J0VHlwZS5BU0NcbiAgICB9O1xuICAgIHRoaXMuaGVhZGVycyA9IFt0aGlzLmhlYWRlcl07XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmhlYWRlcnMpO1xuICB9XG5cbiAgZ2V0IG51bUhlYWRlcnMoKSB7XG4gICAgcmV0dXJuIDI7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOVwiPlxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNvcnQuZW1pdChoZWFkZXIpXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIj5cbiAgICAgICAgICAgICAge3sgaGVhZGVyLmxhYmVsIH19Jm5ic3A7PHNwYW4gW25nQ2xhc3NdPVwieydmYS1jYXJldC11cCBiaS1jYXJldC11cCc6IChoZWFkZXIuc29ydCA9PT0gJ2FzYycpLCAnZmEtY2FyZXQtZG93biBiaS1jYXJldC1kb3duJzogKGhlYWRlci5zb3J0ID09PSAnZGVzYycpfVwiIGNsYXNzPVwiZmEgYmlcIiAqbmdJZj1cImhlYWRlci5zb3J0XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgICAgICAgICAgT3BlcmF0aW9uc1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormGridHeaderComponent } from './FormGridHeader.component';
|
|
2
|
+
import { FormGridBodyComponent } from './FormGridBody.component';
|
|
3
|
+
import { FormGridFooterComponent } from './FormGridFooter.component';
|
|
4
|
+
export default {
|
|
5
|
+
header: FormGridHeaderComponent,
|
|
6
|
+
body: FormGridBodyComponent,
|
|
7
|
+
footer: FormGridFooterComponent
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLGVBQWU7SUFDYixNQUFNLEVBQUUsdUJBQXVCO0lBQy9CLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsTUFBTSxFQUFFLHVCQUF1QjtDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyaWRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL0Zvcm1HcmlkSGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtR3JpZEJvZHlDb21wb25lbnQgfSBmcm9tICcuL0Zvcm1HcmlkQm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdyaWRGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL0Zvcm1HcmlkRm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgZGVmYXVsdCB7XG4gIGhlYWRlcjogRm9ybUdyaWRIZWFkZXJDb21wb25lbnQsXG4gIGJvZHk6IEZvcm1HcmlkQm9keUNvbXBvbmVudCxcbiAgZm9vdGVyOiBGb3JtR3JpZEZvb3RlckNvbXBvbmVudFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TimeSince {
|
|
4
|
+
transform(date) {
|
|
5
|
+
const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;
|
|
6
|
+
let interval;
|
|
7
|
+
if (interval >= 1) {
|
|
8
|
+
return interval + ' year' + (interval > 1 ? 's' : '');
|
|
9
|
+
}
|
|
10
|
+
interval = Math.floor(elapsed / 2592000);
|
|
11
|
+
if (interval >= 1) {
|
|
12
|
+
return interval + ' month' + (interval > 1 ? 's' : '');
|
|
13
|
+
}
|
|
14
|
+
interval = Math.floor(elapsed / 86400);
|
|
15
|
+
if (interval >= 1) {
|
|
16
|
+
return interval + ' day' + (interval > 1 ? 's' : '');
|
|
17
|
+
}
|
|
18
|
+
interval = Math.floor(elapsed / 3600);
|
|
19
|
+
if (interval >= 1) {
|
|
20
|
+
return interval + ' hour' + (interval > 1 ? 's' : '');
|
|
21
|
+
}
|
|
22
|
+
interval = Math.floor(elapsed / 60);
|
|
23
|
+
if (interval >= 1) {
|
|
24
|
+
return interval + ' minute' + (interval > 1 ? 's' : '');
|
|
25
|
+
}
|
|
26
|
+
return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TimeSince, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.2", ngImport: i0, type: TimeSince, name: "timeSince" });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: TimeSince, decorators: [{
|
|
32
|
+
type: Pipe,
|
|
33
|
+
args: [{
|
|
34
|
+
name: 'timeSince'
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zaW5jZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvZm9ybS90aW1lLXNpbmNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFNBQVMsQ0FBQyxJQUFVO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6RSxJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sUUFBUSxHQUFHLE9BQU8sR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUMsQ0FBQztZQUNqQixPQUFPLFFBQVEsR0FBRyxRQUFRLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsT0FBTyxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sUUFBUSxHQUFHLE9BQU8sR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixPQUFPLFFBQVEsR0FBRyxTQUFTLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO3VHQXhCVSxTQUFTO3FHQUFULFNBQVM7OzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0aW1lU2luY2UnXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVTaW5jZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxhcHNlZCA9IChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKSkgLyAxMDAwO1xuICAgIGxldCBpbnRlcnZhbDtcbiAgICBpZiAoaW50ZXJ2YWwgPj0gMSkge1xuICAgICAgcmV0dXJuIGludGVydmFsICsgJyB5ZWFyJyArIChpbnRlcnZhbCA+IDEgPyAncycgOiAnJyk7XG4gICAgfVxuICAgIGludGVydmFsID0gTWF0aC5mbG9vcihlbGFwc2VkIC8gMjU5MjAwMCk7XG4gICAgaWYgKGludGVydmFsID49IDEpe1xuICAgICAgcmV0dXJuIGludGVydmFsICsgJyBtb250aCcgKyAoaW50ZXJ2YWwgPiAxID8gJ3MnIDogJycpO1xuICAgIH1cbiAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoZWxhcHNlZCAvIDg2NDAwKTtcbiAgICBpZiAoaW50ZXJ2YWwgPj0gMSkge1xuICAgICAgcmV0dXJuIGludGVydmFsICsgJyBkYXknICsgKGludGVydmFsID4gMSA/ICdzJyA6ICcnKTtcbiAgICB9XG4gICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKGVsYXBzZWQgLyAzNjAwKTtcbiAgICBpZiAoaW50ZXJ2YWwgPj0gMSkge1xuICAgICAgcmV0dXJuIGludGVydmFsICsgJyBob3VyJyArIChpbnRlcnZhbCA+IDEgPyAncycgOiAnJyk7XG4gICAgfVxuICAgIGludGVydmFsID0gTWF0aC5mbG9vcihlbGFwc2VkIC8gNjApO1xuICAgIGlmIChpbnRlcnZhbCA+PSAxKSB7XG4gICAgICByZXR1cm4gaW50ZXJ2YWwgKyAnIG1pbnV0ZScgKyAoaW50ZXJ2YWwgPiAxID8gJ3MnIDogJycpO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5mbG9vcihlbGFwc2VkKSArICcgc2Vjb25kJyArIChlbGFwc2VkID4gMSA/ICdzJyA6ICcnKTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWFuZ3VsYXItZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2Zvcm1pby1hbmd1bGFyLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { GridFooterPositions } from './types/grid-footer-positions';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { each } from 'lodash';
|
|
4
|
+
import { Formio } from '@formio/js/sdk';
|
|
5
|
+
import FormComponents from './form/index';
|
|
6
|
+
import SubmissionComponents from './submission/index';
|
|
7
|
+
import { FormioPromiseService } from '@formio/angular';
|
|
8
|
+
import { SortType } from './types/grid-header';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@formio/angular";
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
export class FormioGridComponent {
|
|
13
|
+
alerts;
|
|
14
|
+
resolver;
|
|
15
|
+
ref;
|
|
16
|
+
footerPosition = GridFooterPositions.bottom;
|
|
17
|
+
src;
|
|
18
|
+
items;
|
|
19
|
+
onForm;
|
|
20
|
+
query;
|
|
21
|
+
refresh;
|
|
22
|
+
columns;
|
|
23
|
+
gridType;
|
|
24
|
+
size;
|
|
25
|
+
components;
|
|
26
|
+
formio;
|
|
27
|
+
label;
|
|
28
|
+
createText;
|
|
29
|
+
isActionAllowed;
|
|
30
|
+
select;
|
|
31
|
+
rowSelect;
|
|
32
|
+
rowAction;
|
|
33
|
+
createItem;
|
|
34
|
+
error;
|
|
35
|
+
headerElement;
|
|
36
|
+
bodyElement;
|
|
37
|
+
footerElement;
|
|
38
|
+
page = 0;
|
|
39
|
+
isLoading = false;
|
|
40
|
+
initialized = false;
|
|
41
|
+
header;
|
|
42
|
+
body;
|
|
43
|
+
footer;
|
|
44
|
+
footerPositions = GridFooterPositions;
|
|
45
|
+
constructor(alerts, resolver, ref) {
|
|
46
|
+
this.alerts = alerts;
|
|
47
|
+
this.resolver = resolver;
|
|
48
|
+
this.ref = ref;
|
|
49
|
+
this.select = this.rowSelect = new EventEmitter();
|
|
50
|
+
this.rowAction = new EventEmitter();
|
|
51
|
+
this.createItem = new EventEmitter();
|
|
52
|
+
this.error = new EventEmitter();
|
|
53
|
+
this.isLoading = true;
|
|
54
|
+
}
|
|
55
|
+
createComponent(property, component) {
|
|
56
|
+
const factory = this.resolver.resolveComponentFactory(component);
|
|
57
|
+
const componentRef = property.createComponent(factory);
|
|
58
|
+
return componentRef.instance;
|
|
59
|
+
}
|
|
60
|
+
loadGrid(src) {
|
|
61
|
+
// If no source is provided, then skip.
|
|
62
|
+
if (!src && !this.formio) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Do not double load.
|
|
66
|
+
if (this.formio && this.src && (src === this.src)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (src) {
|
|
70
|
+
this.src = src;
|
|
71
|
+
this.formio = new FormioPromiseService(this.src, { formOnly: true });
|
|
72
|
+
}
|
|
73
|
+
// Load the header.
|
|
74
|
+
this.header.load(this.formio, {}, this.columns)
|
|
75
|
+
.then(() => this.setPage(0))
|
|
76
|
+
.catch(error => this.onError(error));
|
|
77
|
+
}
|
|
78
|
+
ngOnInit() {
|
|
79
|
+
// Create our components.
|
|
80
|
+
const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);
|
|
81
|
+
this.header = this.createComponent(this.headerElement, comps.header);
|
|
82
|
+
this.header.actionAllowed = this.actionAllowed.bind(this);
|
|
83
|
+
this.header.sort.subscribe(header => this.sortColumn(header));
|
|
84
|
+
this.body = this.createComponent(this.bodyElement, comps.body);
|
|
85
|
+
this.body.header = this.header;
|
|
86
|
+
this.body.actionAllowed = this.actionAllowed.bind(this);
|
|
87
|
+
this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));
|
|
88
|
+
this.body.rowAction.subscribe(action => this.rowAction.emit(action));
|
|
89
|
+
this.footer = this.createComponent(this.footerElement, comps.footer);
|
|
90
|
+
this.footer.header = this.header;
|
|
91
|
+
this.footer.body = this.body;
|
|
92
|
+
this.footer.actionAllowed = this.actionAllowed.bind(this);
|
|
93
|
+
this.footer.createText = this.createText;
|
|
94
|
+
this.footer.size = this.size;
|
|
95
|
+
this.footer.pageChanged.subscribe(page => this.pageChanged(page));
|
|
96
|
+
this.footer.createItem.subscribe(item => this.createItem.emit(item));
|
|
97
|
+
}
|
|
98
|
+
ngOnChanges(changes) {
|
|
99
|
+
if (this.initialized) {
|
|
100
|
+
if ((changes.src && changes.src.currentValue) ||
|
|
101
|
+
(changes.formio && changes.formio.currentValue)) {
|
|
102
|
+
this.loadGrid(changes.src.currentValue);
|
|
103
|
+
}
|
|
104
|
+
if (changes.items && changes.items.currentValue) {
|
|
105
|
+
this.refreshGrid();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (this.footer &&
|
|
109
|
+
(changes.createText && changes.createText.currentValue)) {
|
|
110
|
+
this.footer.createText = changes.createText.currentValue;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
ngAfterViewInit() {
|
|
114
|
+
this.alerts.setAlerts([]);
|
|
115
|
+
this.query = this.query || {};
|
|
116
|
+
if (this.refresh) {
|
|
117
|
+
this.refresh.subscribe((query) => this.refreshGrid(query));
|
|
118
|
+
}
|
|
119
|
+
this.loadGrid(this.src);
|
|
120
|
+
this.initialized = true;
|
|
121
|
+
this.ref.detectChanges();
|
|
122
|
+
}
|
|
123
|
+
actionAllowed(action) {
|
|
124
|
+
if (this.isActionAllowed) {
|
|
125
|
+
return this.isActionAllowed(action);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
onError(error) {
|
|
132
|
+
this.isLoading = false;
|
|
133
|
+
this.error.emit(error);
|
|
134
|
+
if (typeof error === 'string' || error.message) {
|
|
135
|
+
this.alerts.setAlert({
|
|
136
|
+
type: 'danger',
|
|
137
|
+
message: error.message || error
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
refreshGrid(query) {
|
|
142
|
+
this.alerts.setAlerts([]);
|
|
143
|
+
this.query = query || this.query;
|
|
144
|
+
if (!this.query.hasOwnProperty('limit')) {
|
|
145
|
+
this.query.limit = 10;
|
|
146
|
+
}
|
|
147
|
+
if (!this.query.hasOwnProperty('skip')) {
|
|
148
|
+
this.query.skip = 0;
|
|
149
|
+
}
|
|
150
|
+
this.isLoading = true;
|
|
151
|
+
this.ref.detectChanges();
|
|
152
|
+
Formio.cache = {};
|
|
153
|
+
let loader = null;
|
|
154
|
+
if (this.items) {
|
|
155
|
+
loader = Promise.resolve(this.body.setRows(this.query, this.items));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
loader = this.body.load(this.formio, this.query);
|
|
159
|
+
}
|
|
160
|
+
return loader.then(info => {
|
|
161
|
+
this.isLoading = false;
|
|
162
|
+
this.initialized = true;
|
|
163
|
+
this.ref.detectChanges();
|
|
164
|
+
}).catch(error => this.onError(error));
|
|
165
|
+
}
|
|
166
|
+
setPage(num = -1) {
|
|
167
|
+
this.page = num !== -1 ? num : this.page;
|
|
168
|
+
if (!this.query.hasOwnProperty('limit')) {
|
|
169
|
+
this.query.limit = 10;
|
|
170
|
+
}
|
|
171
|
+
if (!this.query.hasOwnProperty('skip')) {
|
|
172
|
+
this.query.skip = 0;
|
|
173
|
+
}
|
|
174
|
+
this.query.skip = this.page * this.query.limit;
|
|
175
|
+
this.refreshGrid();
|
|
176
|
+
}
|
|
177
|
+
sortColumn(header) {
|
|
178
|
+
// Reset all other column sorts.
|
|
179
|
+
each(this.header.headers, (col) => {
|
|
180
|
+
if (col.key !== header.key) {
|
|
181
|
+
col.sort = '';
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
switch (header.sort) {
|
|
185
|
+
case 'asc':
|
|
186
|
+
header.sort = SortType.DESC;
|
|
187
|
+
this.query.sort = '-' + header.key;
|
|
188
|
+
break;
|
|
189
|
+
case 'desc':
|
|
190
|
+
header.sort = undefined;
|
|
191
|
+
delete this.query.sort;
|
|
192
|
+
break;
|
|
193
|
+
case undefined:
|
|
194
|
+
header.sort = SortType.ASC;
|
|
195
|
+
this.query.sort = header.key;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
this.refreshGrid();
|
|
199
|
+
}
|
|
200
|
+
pageChanged(page) {
|
|
201
|
+
this.setPage(page.page - 1);
|
|
202
|
+
}
|
|
203
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormioGridComponent, deps: [{ token: i1.FormioAlerts }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
204
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: FormioGridComponent, selector: "formio-grid", inputs: { footerPosition: "footerPosition", src: "src", items: "items", onForm: "onForm", query: "query", refresh: "refresh", columns: "columns", gridType: "gridType", size: "size", components: "components", formio: "formio", label: "label", createText: "createText", isActionAllowed: "isActionAllowed" }, outputs: { select: "select", rowSelect: "rowSelect", rowAction: "rowAction", createItem: "createItem", error: "error" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerTemplate"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "bodyElement", first: true, predicate: ["bodyTemplate"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "footerElement", first: true, predicate: ["footerTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n", styles: [".formio-grid{position:relative;width:100%}.grid-refresh{height:400px;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.FormioLoaderComponent, selector: "formio-loader", inputs: ["isLoading"] }, { kind: "component", type: i1.FormioAlertsComponent, selector: "formio-alerts", inputs: ["alerts"], outputs: ["focusComponent"] }] });
|
|
205
|
+
}
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormioGridComponent, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{ selector: 'formio-grid', template: "<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n", styles: [".formio-grid{position:relative;width:100%}.grid-refresh{height:400px;width:100%}\n"] }]
|
|
209
|
+
}], ctorParameters: () => [{ type: i1.FormioAlerts }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }], propDecorators: { footerPosition: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], src: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], items: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], onForm: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], query: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], refresh: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], columns: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], gridType: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}], size: [{
|
|
226
|
+
type: Input
|
|
227
|
+
}], components: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], formio: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], label: [{
|
|
232
|
+
type: Input
|
|
233
|
+
}], createText: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], isActionAllowed: [{
|
|
236
|
+
type: Input
|
|
237
|
+
}], select: [{
|
|
238
|
+
type: Output
|
|
239
|
+
}], rowSelect: [{
|
|
240
|
+
type: Output
|
|
241
|
+
}], rowAction: [{
|
|
242
|
+
type: Output
|
|
243
|
+
}], createItem: [{
|
|
244
|
+
type: Output
|
|
245
|
+
}], error: [{
|
|
246
|
+
type: Output
|
|
247
|
+
}], headerElement: [{
|
|
248
|
+
type: ViewChild,
|
|
249
|
+
args: ['headerTemplate', { read: ViewContainerRef, static: true }]
|
|
250
|
+
}], bodyElement: [{
|
|
251
|
+
type: ViewChild,
|
|
252
|
+
args: ['bodyTemplate', { read: ViewContainerRef, static: true }]
|
|
253
|
+
}], footerElement: [{
|
|
254
|
+
type: ViewChild,
|
|
255
|
+
args: ['footerTemplate', { read: ViewContainerRef, static: true }]
|
|
256
|
+
}] } });
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2dyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXRDLE9BQU8sY0FBYyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLG9CQUFvQixNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFBYSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU96RCxNQUFNLE9BQU8sbUJBQW1CO0lBaUNyQjtJQUNDO0lBQ0E7SUFsQ0QsY0FBYyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUM1QyxHQUFHLENBQVU7SUFDYixLQUFLLENBQWM7SUFDbkIsTUFBTSxDQUFnQjtJQUN0QixLQUFLLENBQU87SUFDWixPQUFPLENBQXdCO0lBQy9CLE9BQU8sQ0FBcUI7SUFDNUIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBVTtJQUNkLFVBQVUsQ0FBTztJQUNqQixNQUFNLENBQXdCO0lBQzlCLEtBQUssQ0FBVTtJQUNmLFVBQVUsQ0FBUztJQUNuQixlQUFlLENBQU07SUFDcEIsTUFBTSxD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QWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxN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QWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUM4RCxhQUFhO3NCQUFqRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0EsV0FBVztzQkFBN0UsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDSSxhQUFhO3NCQUFqRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmlkRm9vdGVyUG9zaXRpb25zIH0gZnJvbSAnLi90eXBlcy9ncmlkLWZvb3Rlci1wb3NpdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1pb0FsZXJ0c30gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7ZWFjaH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7Rm9ybWlvfSBmcm9tICdAZm9ybWlvL2pzL3Nkayc7XG5pbXBvcnQge0dyaWRIZWFkZXJDb21wb25lbnR9IGZyb20gJy4vR3JpZEhlYWRlckNvbXBvbmVudCc7XG5pbXBvcnQge0dyaWRCb2R5Q29tcG9uZW50fSBmcm9tICcuL0dyaWRCb2R5Q29tcG9uZW50JztcbmltcG9ydCB7R3JpZEZvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9HcmlkRm9vdGVyQ29tcG9uZW50JztcbmltcG9ydCBGb3JtQ29tcG9uZW50cyBmcm9tICcuL2Zvcm0vaW5kZXgnO1xuaW1wb3J0IFN1Ym1pc3Npb25Db21wb25lbnRzIGZyb20gJy4vc3VibWlzc2lvbi9pbmRleCc7XG5pbXBvcnQge0Zvcm1pb1Byb21pc2VTZXJ2aWNlfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtHcmlkQ29sdW1ufSBmcm9tICcuL3R5cGVzL2dyaWQtY29sdW1uJztcbmltcG9ydCB7R3JpZEhlYWRlciwgU29ydFR5cGV9IGZyb20gJy4vdHlwZXMvZ3JpZC1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtaW8tZ3JpZCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb0dyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGZvb3RlclBvc2l0aW9uID0gR3JpZEZvb3RlclBvc2l0aW9ucy5ib3R0b207XG4gIEBJbnB1dCgpIHNyYz86IHN0cmluZztcbiAgQElucHV0KCkgaXRlbXM/OiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBvbkZvcm0/OiBQcm9taXNlPGFueT47XG4gIEBJbnB1dCgpIHF1ZXJ5PzogYW55O1xuICBASW5wdXQoKSByZWZyZXNoPzogRXZlbnRFbWl0dGVyPG9iamVjdD47XG4gIEBJbnB1dCgpIGNvbHVtbnM/OiBBcnJheTxHcmlkQ29sdW1uPjtcbiAgQElucHV0KCkgZ3JpZFR5cGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbXBvbmVudHM/OiBhbnk7XG4gIEBJbnB1dCgpIGZvcm1pbz86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgY3JlYXRlVGV4dDogU3RyaW5nO1xuICBASW5wdXQoKSBpc0FjdGlvbkFsbG93ZWQ6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdDogRXZlbnRFbWl0dGVyPG9iamVjdD47XG4gIEBPdXRwdXQoKSByb3dTZWxlY3Q6IEV2ZW50RW1pdHRlcjxvYmplY3Q+O1xuICBAT3V0cHV0KCkgcm93QWN0aW9uOiBFdmVudEVtaXR0ZXI8b2JqZWN0PjtcbiAgQE91dHB1dCgpIGNyZWF0ZUl0ZW06IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCkgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAVmlld0NoaWxkKCdoZWFkZXJUZW1wbGF0ZScsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWV9KSBoZWFkZXJFbGVtZW50OiBWaWV3Q29udGFpbmVyUmVmO1xuICBAVmlld0NoaWxkKCdib2R5VGVtcGxhdGUnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlfSkgYm9keUVsZW1lbnQ6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pIGZvb3RlckVsZW1lbnQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHVibGljIHBhZ2UgPSAwO1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgaGVhZGVyOiBHcmlkSGVhZGVyQ29tcG9uZW50O1xuICBwdWJsaWMgYm9keTogR3JpZEJvZHlDb21wb25lbnQ7XG4gIHB1YmxpYyBmb290ZXI6IEdyaWRGb290ZXJDb21wb25lbnQ7XG4gIHB1YmxpYyBmb290ZXJQb3NpdGlvbnMgPSBHcmlkRm9vdGVyUG9zaXRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhbGVydHM6IEZvcm1pb0FsZXJ0cyxcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuc2VsZWN0ID0gdGhpcy5yb3dTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5yb3dBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5jcmVhdGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMuZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICB9XG5cbiAgY3JlYXRlQ29tcG9uZW50KHByb3BlcnR5LCBjb21wb25lbnQpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHByb3BlcnR5LmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICByZXR1cm4gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICB9XG5cbiAgbG9hZEdyaWQoc3JjPzogc3RyaW5nKSB7XG4gICAgLy8gSWYgbm8gc291cmNlIGlzIHByb3ZpZGVkLCB0aGVuIHNraXAuXG4gICAgaWYgKCFzcmMgJiYgIXRoaXMuZm9ybWlvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIERvIG5vdCBkb3VibGUgbG9hZC5cbiAgICBpZiAodGhpcy5mb3JtaW8gJiYgdGhpcy5zcmMgJiYgKHNyYyA9PT0gdGhpcy5zcmMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNyYykge1xuICAgICAgdGhpcy5zcmMgPSBzcmM7XG4gICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW9Qcm9taXNlU2VydmljZSh0aGlzLnNyYywgeyBmb3JtT25seTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICAvLyBMb2FkIHRoZSBoZWFkZXIuXG4gICAgdGhpcy5oZWFkZXIubG9hZCh0aGlzLmZvcm1pbywge30sIHRoaXMuY29sdW1ucylcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuc2V0UGFnZSgwKSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB0aGlzLm9uRXJyb3IoZXJyb3IpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIENyZWF0ZSBvdXIgY29tcG9uZW50cy5cbiAgICBjb25zdCBjb21wcyA9IHRoaXMuY29tcG9uZW50cyB8fCAoKHRoaXMuZ3JpZFR5cGUgPT09ICdmb3JtJykgPyBGb3JtQ29tcG9uZW50cyA6IFN1Ym1pc3Npb25Db21wb25lbnRzKTtcblxuICAgIHRoaXMuaGVhZGVyID0gdGhpcy5jcmVhdGVDb21wb25lbnQodGhpcy5oZWFkZXJFbGVtZW50LCBjb21wcy5oZWFkZXIpO1xuICAgIHRoaXMuaGVhZGVyLmFjdGlvbkFsbG93ZWQgPSB0aGlzLmFjdGlvbkFsbG93ZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhlYWRlci5zb3J0LnN1YnNjcmliZShoZWFkZXIgPT4gdGhpcy5zb3J0Q29sdW1uKGhlYWRlcikpO1xuXG4gICAgdGhpcy5ib2R5ID0gdGhpcy5jcmVhdGVDb21wb25lbnQodGhpcy5ib2R5RWxlbWVudCwgY29tcHMuYm9keSk7XG4gICAgdGhpcy5ib2R5LmhlYWRlciA9IHRoaXMuaGVhZGVyO1xuICAgIHRoaXMuYm9keS5hY3Rpb25BbGxvd2VkID0gdGhpcy5hY3Rpb25BbGxvd2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5ib2R5LnJvd1NlbGVjdC5zdWJzY3JpYmUocm93ID0+IHRoaXMucm93U2VsZWN0LmVtaXQocm93KSk7XG4gICAgdGhpcy5ib2R5LnJvd0FjdGlvbi5zdWJzY3JpYmUoYWN0aW9uID0+IHRoaXMucm93QWN0aW9uLmVtaXQoYWN0aW9uKSk7XG5cbiAgICB0aGlzLmZvb3RlciA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMuZm9vdGVyRWxlbWVudCwgY29tcHMuZm9vdGVyKTtcbiAgICB0aGlzLmZvb3Rlci5oZWFkZXIgPSB0aGlzLmhlYWRlcjtcbiAgICB0aGlzLmZvb3Rlci5ib2R5ID0gdGhpcy5ib2R5O1xuICAgIHRoaXMuZm9vdGVyLmFjdGlvbkFsbG93ZWQgPSB0aGlzLmFjdGlvbkFsbG93ZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmZvb3Rlci5jcmVhdGVUZXh0ID0gdGhpcy5jcmVhdGVUZXh0O1xuICAgIHRoaXMuZm9vdGVyLnNpemUgPSB0aGlzLnNpemU7XG4gICAgdGhpcy5mb290ZXIucGFnZUNoYW5nZWQuc3Vic2NyaWJlKHBhZ2UgPT4gdGhpcy5wYWdlQ2hhbmdlZChwYWdlKSk7XG4gICAgdGhpcy5mb290ZXIuY3JlYXRlSXRlbS5zdWJzY3JpYmUoaXRlbSA9PiB0aGlzLmNyZWF0ZUl0ZW0uZW1pdChpdGVtKSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgaWYgKFxuICAgICAgICAoY2hhbmdlcy5zcmMgJiYgY2hhbmdlcy5zcmMuY3VycmVudFZhbHVlKSB8fFxuICAgICAgICAoY2hhbmdlcy5mb3JtaW8gJiYgY2hhbmdlcy5mb3JtaW8uY3VycmVudFZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubG9hZEdyaWQoY2hhbmdlcy5zcmMuY3VycmVudFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoYW5nZXMuaXRlbXMgJiYgY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmZvb3RlciAmJlxuICAgICAgICAoY2hhbmdlcy5jcmVhdGVUZXh0ICYmIGNoYW5nZXMuY3JlYXRlVGV4dC5jdXJyZW50VmFsdWUpKSB7XG4gICAgICB0aGlzLmZvb3Rlci5jcmVhdGVUZXh0ID0gY2hhbmdlcy5jcmVhdGVUZXh0LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hbGVydHMuc2V0QWxlcnRzKFtdKTtcbiAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5xdWVyeSB8fCB7fTtcbiAgICBpZiAodGhpcy5yZWZyZXNoKSB7XG4gICAgICB0aGlzLnJlZnJlc2guc3Vic2NyaWJlKChxdWVyeTogb2JqZWN0KSA9PiB0aGlzLnJlZnJlc2hHcmlkKHF1ZXJ5KSk7XG4gICAgfVxuICAgIHRoaXMubG9hZEdyaWQodGhpcy5zcmMpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGFjdGlvbkFsbG93ZWQoYWN0aW9uKSB7XG4gICAgaWYgKHRoaXMuaXNBY3Rpb25BbGxvd2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0FjdGlvbkFsbG93ZWQoYWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnIHx8IGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgIHRoaXMuYWxlcnRzLnNldEFsZXJ0KHtcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfHwgZXJyb3JcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hHcmlkKHF1ZXJ5PzogYW55KSB7XG4gICAgdGhpcy5hbGVydHMuc2V0QWxlcnRzKFtdKTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnkgfHwgdGhpcy5xdWVyeTtcbiAgICBpZiAoIXRoaXMucXVlcnkuaGFzT3duUHJvcGVydHkoJ2xpbWl0JykpIHtcbiAgICAgIHRoaXMucXVlcnkubGltaXQgPSAxMDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnF1ZXJ5Lmhhc093blByb3BlcnR5KCdza2lwJykpIHtcbiAgICAgIHRoaXMucXVlcnkuc2tpcCA9IDA7XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgRm9ybWlvLmNhY2hlID0ge307XG4gICAgbGV0IGxvYWRlciA9IG51bGw7XG4gICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgIGxvYWRlciA9IFByb21pc2UucmVzb2x2ZSh0aGlzLmJvZHkuc2V0Um93cyh0aGlzLnF1ZXJ5LCB0aGlzLml0ZW1zKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlciA9IHRoaXMuYm9keS5sb2FkKHRoaXMuZm9ybWlvLCB0aGlzLnF1ZXJ5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9hZGVyLnRoZW4oaW5mbyA9PiB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSkuY2F0Y2goZXJyb3IgPT4gdGhpcy5vbkVycm9yKGVycm9yKSk7XG4gIH1cblxuICBzZXRQYWdlKG51bSA9IC0xKSB7XG4gICAgdGhpcy5wYWdlID0gbnVtICE9PSAtMSA/IG51bSA6IHRoaXMucGFnZTtcbiAgICBpZiAoIXRoaXMucXVlcnkuaGFzT3duUHJvcGVydHkoJ2xpbWl0JykpIHtcbiAgICAgIHRoaXMucXVlcnkubGltaXQgPSAxMDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnF1ZXJ5Lmhhc093blByb3BlcnR5KCdza2lwJykpIHtcbiAgICAgIHRoaXMucXVlcnkuc2tpcCA9IDA7XG4gICAgfVxuICAgIHRoaXMucXVlcnkuc2tpcCA9IHRoaXMucGFnZSAqIHRoaXMucXVlcnkubGltaXQ7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICB9XG5cbiAgc29ydENvbHVtbihoZWFkZXI6IEdyaWRIZWFkZXIpIHtcbiAgICAvLyBSZXNldCBhbGwgb3RoZXIgY29sdW1uIHNvcnRzLlxuICAgIGVhY2godGhpcy5oZWFkZXIuaGVhZGVycywgKGNvbDogYW55KSA9PiB7XG4gICAgICBpZiAoY29sLmtleSAhPT0gaGVhZGVyLmtleSkge1xuICAgICAgICBjb2wuc29ydCA9ICcnO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHN3aXRjaCAoaGVhZGVyLnNvcnQpIHtcbiAgICAgIGNhc2UgJ2FzYyc6XG4gICAgICAgIGhlYWRlci5zb3J0ID0gU29ydFR5cGUuREVTQztcbiAgICAgICAgdGhpcy5xdWVyeS5zb3J0ID0gJy0nICsgaGVhZGVyLmtleTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZXNjJzpcbiAgICAgICAgaGVhZGVyLnNvcnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnF1ZXJ5LnNvcnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgIGhlYWRlci5zb3J0ID0gU29ydFR5cGUuQVNDO1xuICAgICAgICB0aGlzLnF1ZXJ5LnNvcnQgPSBoZWFkZXIua2V5O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICB9XG5cbiAgcGFnZUNoYW5nZWQocGFnZTogYW55KSB7XG4gICAgdGhpcy5zZXRQYWdlKHBhZ2UucGFnZSAtIDEpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT48L25nLXRlbXBsYXRlPlxuPGRpdiBjbGFzcz1cImZvcm1pby1ncmlkXCI+XG4gIDxmb3JtaW8tYWxlcnRzIFthbGVydHNdPVwiYWxlcnRzXCI+PC9mb3JtaW8tYWxlcnRzPlxuICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxpemVkICYmIFtmb290ZXJQb3NpdGlvbnMudG9wLCBmb290ZXJQb3NpdGlvbnMuYm90aF0uaW5kZXhPZihmb290ZXJQb3NpdGlvbikgIT09IC0xXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3Rlci50ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBvc2l0aW9uOiBmb290ZXJQb3NpdGlvbnMudG9wLCBsYWJlbDogbGFiZWwgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbml0aWFsaXplZFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXIudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8Zm9ybWlvLWxvYWRlciBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiPjwvZm9ybWlvLWxvYWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5pdGlhbGl6ZWRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5LnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxpemVkICYmIFtmb290ZXJQb3NpdGlvbnMuYm90dG9tLCBmb290ZXJQb3NpdGlvbnMuYm90aF0uaW5kZXhPZihmb290ZXJQb3NpdGlvbikgIT09IC0xXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3Rlci50ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBvc2l0aW9uOiBmb290ZXJQb3NpdGlvbnMuYm90dG9tLCBsYWJlbDogbGFiZWwgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|