@formio/angular 5.4.0-rc.2 → 5.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/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/01/e5/e23b89936960de6ad3508f850be720524a6231b49e8520d80bd5f9468e9404dd6ee313e5127d0648608ef8fa2b469c2c0f7c49f89162b05bbcce80461e9c +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/01/f5/4259bfb27e15abda81ea61ae4e2d8f29ef518e099f1d7c8693fa453843a874ee8d04e25a99f4061c0400be1a9f3f1a874a330fcf0a5dba082ca951c8707b +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/03/23/c769271f9bbd8eda9edbc085d8f53d3bb02909ee0a22a3de1c89b7df544beced4e74167af785a6bf25e0c981807e78868d1032267e98cd714e7779902ff9 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/0c/7a/916bd866cb386cc87b9ea07c40edc23df9d726d1865e6699b42dedfbfb2a8364ced191aa62680a9297d7644cdfa64753b8975cc254c7c581f28bba0acd15 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/15/a9/1d68fcff615e0cffcaad777402e5642b8a3bd360ad0af813af9691e0b7309038151eac43ae8e67d6b3be5a00cfaea2667e654c24ea55ff4cd2f8b58dc2a7 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/1d/f9/f8694213d5dd173183df341996413ab4b230954a5cb5fec27b2fe58be33155dca699aa3562b45b88aed867a901c5a8b5242f02d28d55bee5523532679008 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/21/d0/9bcc3e57b3d1375b9e47de16213e34f68cc10f0eff6bf1776422eeb0888c8deefdedb4d34bbfb5a48a31e3db208d2363f8aa16ee35183a90b382fa888e9f +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/22/f0/5cfa42afa778fe6e8c9d64a24c1a0c66e766ea8737f3336df95c535613589b840b5d7d45cfc0548bb91e69d1ec3acc0055e0d56b19fb05d7de846d1b8b43 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/3a/b3/f51b230d4fc92fcc2a671feb65e5d1995435fd44aeede5840708854fc200fc6e885145882b27d2e8967b1dcc1a4558ebd3afee0e3ba1bba76c4e042a509c +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/43/05/c86feb68c6e6f17d2b1e7d4aadfbef2f8554b42c9e0b7516b22a7c34044b513c23987b00507d17cb8f89b9b762b5499483d4ec16708519940e00cee5863a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/49/83/fe1894f290d2c7b62071613c17ef550fc151acb486bca8d907dc1da702f3a83f0cc638e33acdccf4a8710f342bb39ca4e591b35f5551706578315a4ec9f1 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/4b/50/b112c9a92c939784f8af5ea5888188aa9dfc5114485463d0dbf84d8e7b48ff7e52f8d012badd74347a83a214c8504cda54769f9f86774919184fed955fea +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/52/5a/4fa0f73bf834435defcfd550b63ea9924b0f0af5d8cbfe2c79ee2a3efd8b4c50c47a048c8daf54afceec58ad38159c690afe1224832ecd8e724ff4030068 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/5f/1e/aef8c84037440da9067e57fe4fb8d14c4226a97e0d41a321755d9068d490b7c37504fd2e4345ca98b2c824b940fe036e499998be3343a89e6845767dc806 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/69/49/5bcde08bb3541360e80c857e93c622592b2605f53500ec939f264908603a030c9e3da2f7ec05883f3f8ccb19f158d4e249a665f5d6a46c6c8aae7ecb7ff2 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/78/6b/938be911c6fa1b8ab5c1136954cd375f6d24ca77880eefc4f59bd030cc7c9d462b400d3db051117bcbaa5fb2037c4c08c892c5d3ceb7ac6e3f11e0b3130a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/81/f7/21b01b64900856c9f64f17129a8865cd92a471eb4c6dd452e870d5f3d685b57bc7a48759458d345cb081523d23b4f8ff7f3e6d133fcea11f971be8d7b396 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/8b/1d/9d06e2b1f63c60745b165ba2236f3b2366a6f2c2b5cfd12c73508e54cc5a4b4d5e47015a1a2188c9f3cb7ed82e5cc0d5790bd55fb6883942279d8e69d98a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/94/37/128b088664cddaff6cbdcabc604d8f559d8b8f7c3655c1e42d86e9d91c3e51483fff7e27be62ca9790fc43d271fd4c87d2246c5423f9e681793832bd3b4e +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/9c/21/3b8af7b6ee09c29bf340610026191af56f9ba1cba1f5e4476424775d5e322f84d7e900c4d264d39804cebf3dcb5aaa5eb5e9d8fd143bc3a8aa76c3d5325e +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/9f/9a/6055949c6d628b4f34b5f43410d5efbbacd956e52240b30278fd4dfe5182a206d91728e0d16b71904e0cf5b40d7944f054d7fa6f45ce38502aa3c654446c +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/a2/a1/90177481ee6a42670513d750763246aef60819ab74d0835ca92f243cd8970edc9c6e2d63a576e9edb1f702810a8632512b623550c454d16596aa29f6553a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/ab/fd/668e4582483cadf906c6b8199541af6c4c843761aa3d2372088613a1b17498c302709580ea641920b5c1e67265bf88e6e3901a210be18a8f24bc58743200 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/af/4a/cafdd325d47ab347fd8f7d3828818bd4305919aeaa02a86850a77589b07e81162d9f3d08619d253037c6562d1a1389fcd99713cef96ff394d7ec55134deb +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/af/5c/97d9a08342685ee95844b54aed260370df0de7c2408ec7b14f7da3972c811ee5a4cae7be4f51de07dd039c8639ec4e9008733bcf0b6a438b29a83d7fabe3 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/b9/9d/f7b80ff9e7ab8eb61b27b29fa5b2790f18fda8b2d23d4e821ede655c7f981c37d90094cf772ec02b8fc1730b94bd8154534a39191b9a9fc7de88974d57f4 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/ba/5d/d939f6c0890924d0234b6253e4c7baab7e285c4e9e3b838d4f223f5365ce00c421e48383fc21ecdf847e1592936f5be80b0d20ea3db471bfe39e181c091a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/c3/a1/25be872308b2510aa4e49fee9fb3708fe45d0526c4094a8b1af3bf8edd7e3c5cfb58a1c15523673b91a4c02bd4ec7baa1b88ec8ab73c7e3dde53898fe98a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/c7/4b/efaebbbabff0924b290dafa529aee821d250fc178047868b7f63c849de6af1f9557825b665fd50a87cf363e2967a7913e60a9860cac818737c43f088a0b6 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/d3/15/8fda1c88b170d1f252a22dc3be6211581e1b9975058b870c182b3b66ea5b0f3f2edfafb3ef7b10c42cfdf97b8cbbe1aeb57c965e6e6bb2b5076848889691 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/d7/53/c9807659c1f98269ec82d2980bda0b81da57c9dec6efd59cf3e7abdbfa6a3e751ab0eb4d66e6b62d31873b4b74c349c87fa194d0e7b7e114e5bdcc3cdcdb +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e1/3b/a5699b2b00255cbdc58efdda462de0c9fffe6b82cd5482a49f4fd918ecf98ffd08211dbf1d80cb60ac0052b8d9919c6d5d16fa99300dfc3be3c2b85ffbf9 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e8/bf/a382f2ee2851df30c90d614c8104b97c8352c9d894966fe19f3c5ae632bc3fdf2c4879c1f9ec67fb28afdf19cd1683e9305c193d6e82835b688e3474447e +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e9/87/edf15f2af87d650e35a6dd3675d7e6910c0ee3f095e95542c581d3b89e3cfde325714bf4a93e1c7665bc33adbbfe4cc49c073ac122ee697681d01d041eba +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e9/aa/76646c61fad4972df6b5625be826a0d182cbe21632fdba1458c6e7d87f394dd5c9ccf71389772b2a5edb616e477f74f351d88eab7c39c76afe95bb851e27 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e9/ca/53ff813610ae5d57a25518e6546b659a092de2c929fd43130db59358947aa9aa5797289f7ca39fe550d2e41050a69cb26e6b5dd6ebbcae0207ab08474dc8 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/f7/c4/20025dfcab6ef6645c04bf03ab9e87e06f5526f8c1428595f87ec9b7c23c8a04fb146e47e176baf3da8a852b7bf277bb1ab27ecb61b699cb216edd3ff8ec +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/ff/c7/bd261ba278c31a35ab220845891f83c1a18a7cf5f398b7a4332a32e1644dd6c07d5895d3cdfc546b48c66757613d53238d475eb2ce78d9fdf5e917b917f7 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/06/aa/f9f76fa9af3d6ac714d85ff94f703a46f8d164984ebe228161ea6bab4330 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/15/37/6487aecd2b887fd9938044ee0b6b002f232abb4c6aec11e76060169b9e17 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/16/36/7bfa836eaa2a8c347d0c61df497c7a72fdaf1ece0490da0636f036301a1b +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/16/6d/027642a28349d275131e5f0b4ad89dd3195a2f18a3f50faa97040e54a6ed +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/19/b4/673449e1657c54805f54357ac1b0c2052b322e18bceea346d725d761f87a +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/20/1f/18abae6c79ef08c9450a94eb2437726e500da0b14300d33930df97307cb0 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/2c/fe/611a98b5c956bb3f524e1f272f4b9774f7fc218f52aba3dc2cab06fcf387 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/3d/b3/64dc80c6357f1a2b2c91aa11aa6ecb61f21e75fa0bbbc24e6c943d6ec9c4 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/45/ac/c73386e65ccdcdd759a1005f9529b60e5f62b952e99c3ff44fdf91ca3597 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/4d/17/ade79a816bd9ec1fe3ed0094c6663e36d494fb60dc2fd5b9152ef6a92154 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/5a/5a/2ea76a4fa29eeba07bf099c32987d2c0e772b5550ae461c48f330004eb13 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/65/cb/5c5e267d1c02bd4744018bfc1139c92977232bcc803b1c1778fd9c395608 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/69/a1/d2c99d238cd15fce83d764481d6ecd5aba0f315b2013cc786399af5bba7e +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/6e/0f/2a2f6d0f5e763edefe274f04be01a682b7ff3b273317529d0811e7fff34d +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/70/10/5fc5cf1f12c9d98551a642ed8eaf8360c071c8c03095682ca2adb0bffc0b +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/76/f7/775d6b60ae22b890a075a569cf117568ebe446e138798cbc10dfe25426e1 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/7c/5a/0a1aff5c26b4da864f046051e8fd2e52689a9b97db1af2b8abed22bef859 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/81/90/4cdd95a8c37245adad95077bb618adab90df01de114668e4ebf3f2a1e743 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/88/1f/b7baf347b035cabea06d7352a540cb882747f1a3d5f891a5552cfb0e0766 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/88/38/558f66bfdbac1cf6bb7af18752df87101e04586813c23311b30277327000 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/90/12/9dab17b6ac5409fb5088b46f01d7fc9fa2ae6f497b210ad215149856deac +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/9a/be/450f4f44251c1ada84de327410e3cd1122c019774eeeb19a32e25257c00b +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/9d/fc/b6889318df1cc51a1588cacb4017e725777e9c218239d49c9f81eb2fb5a0 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/ae/7e/c1b7a3d4262ee1e7602bffa167279a4f87c28fb896a6ced429b70103b7df +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/b2/bd/e73968b87cffc870f7d7a1c48f8541b9a267388eb59a8959ebad9229920c +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/b9/cd/83db609579af94239f033ccb4367ed430d5ec50ddd5b5df6f0f175d48ce3 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/ba/e4/9e5145decd9e9b59e84aacc20459537106be69ebc18986f93b34355078bd +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/bc/3e/9599aa4a23f1e642f1c9e194c6ab52c84468a90b96b7e736f9bd5a607a19 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/c5/16/22f2736652223dd09835db0221a6fde19987bec58c72db2279eb16cee8e9 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/c6/36/d327400b7b6399d718fc68d5cac0cbd87552b456c2c2d5ce5b614ee10009 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/c9/c6/a3ec65df56befe84cb12519323461415d4fd1b6f2bf4827a93f6b1663e7f +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/cc/ed/ffba3de0599f554db4d2b4a12e7099247521660f7cfcd92971593e98eaf1 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/cf/0c/9b4c301350d8bcec537c0c04a268f1710fea9e9635a6c5015799d7c77c41 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/d9/35/1df9c5a929d12127cfe114f0ca55ea62916ca47861545762e55bf8c8735d +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/de/45/beac4cd852a628afa272062823137beb64fea6591b775133caf55358d021 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/df/6d/addfb17e1ad55ce1fbe607edaffd16f53ff1715df0ab656ac01cc8c4887c +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/e1/de/7105702be767c43ff63b8192a07fc2a6685d997867cd0b39c09599acf769 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/f6/d8/e94a21d22f73e0e1744e3509373c84104e0267b44be10ef1597a9bce2dd0 +2 -0
- package/.dccache +1 -0
- package/.dockerignore +5 -0
- package/.editorconfig +13 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +15 -0
- package/.github/ISSUE_TEMPLATE/question.md +8 -0
- package/.travis.yml +4 -0
- package/.yo-rc.json +7 -0
- package/CHANGELOG.md +1045 -0
- package/Dockerfile +20 -0
- package/LICENSE +21 -0
- package/README.md +170 -13
- package/angular.json +38 -0
- package/bs-config.json +11 -0
- package/{FormioBaseComponent.d.ts → dist/angular-formio/FormioBaseComponent.d.ts} +1 -1
- package/{FormioBaseComponent.d.ts.map → dist/angular-formio/FormioBaseComponent.d.ts.map} +0 -0
- package/dist/angular-formio/README.md +24 -0
- package/{auth → dist/angular-formio/auth}/auth.component.d.ts +1 -1
- package/{auth → dist/angular-formio/auth}/auth.component.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/auth.config.d.ts +0 -0
- package/{auth → dist/angular-formio/auth}/auth.config.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/auth.module.d.ts +0 -0
- package/{auth → dist/angular-formio/auth}/auth.module.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/auth.routes.d.ts +0 -0
- package/{auth → dist/angular-formio/auth}/auth.routes.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/auth.service.d.ts +1 -0
- package/{auth → dist/angular-formio/auth}/auth.service.d.ts.map +1 -1
- package/{auth → dist/angular-formio/auth}/formio-angular-auth.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/index.d.ts +0 -0
- package/{auth → dist/angular-formio/auth}/index.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/login/login.component.d.ts +1 -1
- package/{auth → dist/angular-formio/auth}/login/login.component.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/register/register.component.d.ts +1 -1
- package/{auth → dist/angular-formio/auth}/register/register.component.d.ts.map +0 -0
- package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts +1 -1
- package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts +1 -1
- package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts +0 -0
- package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts +0 -0
- package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts +1 -1
- package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/formio/formio.component.d.ts +1 -1
- package/{components → dist/angular-formio/components}/formio/formio.component.d.ts.map +0 -0
- package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts +1 -1
- package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts.map +0 -0
- package/{core.d.ts → dist/angular-formio/core.d.ts} +0 -0
- package/{core.d.ts.map → dist/angular-formio/core.d.ts.map} +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/create-custom-component.d.ts +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/create-custom-component.d.ts.map +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/custom-tags.service.d.ts +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/custom-tags.service.d.ts.map +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/register-custom-component.d.ts +0 -0
- package/{custom-component → dist/angular-formio/custom-component}/register-custom-component.d.ts.map +0 -0
- package/{elements.common.d.ts → dist/angular-formio/elements.common.d.ts} +0 -0
- package/{elements.common.d.ts.map → dist/angular-formio/elements.common.d.ts.map} +0 -0
- package/dist/angular-formio/esm2020/FormioBaseComponent.mjs +533 -0
- package/dist/angular-formio/esm2020/auth/auth.component.mjs +25 -0
- package/dist/angular-formio/esm2020/auth/auth.config.mjs +15 -0
- package/dist/angular-formio/esm2020/auth/auth.module.mjs +47 -0
- package/{esm2020 → dist/angular-formio/esm2020}/auth/auth.routes.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/auth/auth.service.mjs +13 -6
- package/{esm2020 → dist/angular-formio/esm2020}/auth/formio-angular-auth.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/auth/index.mjs +0 -0
- package/dist/angular-formio/esm2020/auth/login/login.component.mjs +22 -0
- package/dist/angular-formio/esm2020/auth/register/register.component.mjs +22 -0
- package/dist/angular-formio/esm2020/auth/resetpass/resetpass.component.mjs +22 -0
- package/dist/angular-formio/esm2020/components/alerts/formio.alerts.component.mjs +46 -0
- package/{esm2020 → dist/angular-formio/esm2020}/components/alerts/formio.alerts.mjs +0 -0
- package/dist/angular-formio/esm2020/components/alerts/parse-html-content.pipe.mjs +19 -0
- package/dist/angular-formio/esm2020/components/formbuilder/formbuilder.component.mjs +195 -0
- package/dist/angular-formio/esm2020/components/formio/formio.component.mjs +82 -0
- package/dist/angular-formio/esm2020/components/loader/formio.loader.component.mjs +23 -0
- package/{esm2020 → dist/angular-formio/esm2020}/core.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/custom-component/create-custom-component.mjs +0 -0
- package/dist/angular-formio/esm2020/custom-component/custom-tags.service.mjs +16 -0
- package/{esm2020 → dist/angular-formio/esm2020}/custom-component/register-custom-component.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/elements.common.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/formio-angular.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/formio-promise.service.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/formio.common.mjs +0 -0
- package/dist/angular-formio/esm2020/formio.config.mjs +14 -0
- package/dist/angular-formio/esm2020/formio.module.mjs +55 -0
- package/{esm2020 → dist/angular-formio/esm2020}/formio.service.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/formio.utils.mjs +0 -0
- package/dist/angular-formio/esm2020/grid/GridBodyComponent.mjs +86 -0
- package/dist/angular-formio/esm2020/grid/GridFooterComponent.mjs +41 -0
- package/dist/angular-formio/esm2020/grid/GridHeaderComponent.mjs +35 -0
- package/dist/angular-formio/esm2020/grid/form/FormGridBody.component.mjs +117 -0
- package/dist/angular-formio/esm2020/grid/form/FormGridFooter.component.mjs +110 -0
- package/dist/angular-formio/esm2020/grid/form/FormGridHeader.component.mjs +52 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/form/index.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/form/time-since.pipe.mjs +9 -9
- package/{esm2020 → dist/angular-formio/esm2020}/grid/formio-angular-grid.mjs +0 -0
- package/dist/angular-formio/esm2020/grid/grid.component.mjs +297 -0
- package/dist/angular-formio/esm2020/grid/grid.module.mjs +80 -0
- package/dist/angular-formio/esm2020/grid/grid.service.mjs +17 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/index.mjs +0 -0
- package/dist/angular-formio/esm2020/grid/submission/SubmissionGridBody.component.mjs +73 -0
- package/dist/angular-formio/esm2020/grid/submission/SubmissionGridFooter.component.mjs +101 -0
- package/dist/angular-formio/esm2020/grid/submission/SubmissionGridHeader.component.mjs +93 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/submission/index.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/types/grid-column.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/types/grid-footer-positions.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/grid/types/grid-header.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/index.mjs +0 -0
- package/dist/angular-formio/esm2020/manager/create/create.component.mjs +59 -0
- package/dist/angular-formio/esm2020/manager/delete/delete.component.mjs +52 -0
- package/dist/angular-formio/esm2020/manager/edit/edit.component.mjs +161 -0
- package/dist/angular-formio/esm2020/manager/form/form.component.mjs +167 -0
- package/dist/angular-formio/esm2020/manager/form-manager.config.mjs +15 -0
- package/dist/angular-formio/esm2020/manager/form-manager.module.mjs +84 -0
- package/{esm2020 → dist/angular-formio/esm2020}/manager/form-manager.routes.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/manager/form-manager.service.mjs +6 -6
- package/{esm2020 → dist/angular-formio/esm2020}/manager/formio-angular-manager.mjs +0 -0
- package/dist/angular-formio/esm2020/manager/index/index.component.mjs +126 -0
- package/{esm2020 → dist/angular-formio/esm2020}/manager/index.mjs +0 -0
- package/dist/angular-formio/esm2020/manager/submission/delete/delete.component.mjs +43 -0
- package/dist/angular-formio/esm2020/manager/submission/edit/edit.component.mjs +28 -0
- package/dist/angular-formio/esm2020/manager/submission/index/index.component.mjs +28 -0
- package/dist/angular-formio/esm2020/manager/submission/submission/submission.component.mjs +64 -0
- package/dist/angular-formio/esm2020/manager/submission/view/view.component.mjs +22 -0
- package/dist/angular-formio/esm2020/manager/view/view.component.mjs +55 -0
- package/dist/angular-formio/esm2020/resource/create/create.component.mjs +57 -0
- package/dist/angular-formio/esm2020/resource/delete/delete.component.mjs +38 -0
- package/dist/angular-formio/esm2020/resource/edit/edit.component.mjs +42 -0
- package/{esm2020 → dist/angular-formio/esm2020}/resource/formio-angular-resource.mjs +0 -0
- package/dist/angular-formio/esm2020/resource/index/index.component.mjs +70 -0
- package/{esm2020 → dist/angular-formio/esm2020}/resource/index.mjs +0 -0
- package/dist/angular-formio/esm2020/resource/resource.component.mjs +72 -0
- package/dist/angular-formio/esm2020/resource/resource.config.mjs +15 -0
- package/dist/angular-formio/esm2020/resource/resource.module.mjs +63 -0
- package/{esm2020 → dist/angular-formio/esm2020}/resource/resource.routes.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/resource/resource.service.mjs +8 -8
- package/dist/angular-formio/esm2020/resource/resources.service.mjs +22 -0
- package/dist/angular-formio/esm2020/resource/view/view.component.mjs +27 -0
- package/{esm2020 → dist/angular-formio/esm2020}/types/alerts-position.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/types/formio-metadata.mjs +0 -0
- package/{esm2020 → dist/angular-formio/esm2020}/types/formio-submission.mjs +0 -0
- package/{fesm2020 → dist/angular-formio/fesm2015}/formio-angular-auth.mjs +101 -34
- package/dist/angular-formio/fesm2015/formio-angular-auth.mjs.map +1 -0
- package/dist/angular-formio/fesm2015/formio-angular-grid.mjs +1255 -0
- package/dist/angular-formio/fesm2015/formio-angular-grid.mjs.map +1 -0
- package/dist/angular-formio/fesm2015/formio-angular-manager.mjs +1178 -0
- package/dist/angular-formio/fesm2015/formio-angular-manager.mjs.map +1 -0
- package/{fesm2015 → dist/angular-formio/fesm2015}/formio-angular-resource.mjs +175 -50
- package/dist/angular-formio/fesm2015/formio-angular-resource.mjs.map +1 -0
- package/{fesm2015 → dist/angular-formio/fesm2015}/formio-angular.mjs +188 -53
- package/dist/angular-formio/fesm2015/formio-angular.mjs.map +1 -0
- package/dist/angular-formio/fesm2020/formio-angular-auth.mjs +330 -0
- package/dist/angular-formio/fesm2020/formio-angular-auth.mjs.map +1 -0
- package/dist/angular-formio/fesm2020/formio-angular-grid.mjs +1108 -0
- package/dist/angular-formio/fesm2020/formio-angular-grid.mjs.map +1 -0
- package/dist/angular-formio/fesm2020/formio-angular-manager.mjs +1066 -0
- package/dist/angular-formio/fesm2020/formio-angular-manager.mjs.map +1 -0
- package/dist/angular-formio/fesm2020/formio-angular-resource.mjs +582 -0
- package/dist/angular-formio/fesm2020/formio-angular-resource.mjs.map +1 -0
- package/dist/angular-formio/fesm2020/formio-angular.mjs +1253 -0
- package/dist/angular-formio/fesm2020/formio-angular.mjs.map +1 -0
- package/{formio-angular.d.ts.map → dist/angular-formio/formio-angular.d.ts.map} +0 -0
- package/{formio-promise.service.d.ts → dist/angular-formio/formio-promise.service.d.ts} +0 -0
- package/{formio-promise.service.d.ts.map → dist/angular-formio/formio-promise.service.d.ts.map} +0 -0
- package/{formio.common.d.ts → dist/angular-formio/formio.common.d.ts} +0 -0
- package/{formio.common.d.ts.map → dist/angular-formio/formio.common.d.ts.map} +0 -0
- package/{formio.config.d.ts → dist/angular-formio/formio.config.d.ts} +0 -0
- package/{formio.config.d.ts.map → dist/angular-formio/formio.config.d.ts.map} +0 -0
- package/{formio.module.d.ts → dist/angular-formio/formio.module.d.ts} +0 -0
- package/{formio.module.d.ts.map → dist/angular-formio/formio.module.d.ts.map} +0 -0
- package/{formio.service.d.ts → dist/angular-formio/formio.service.d.ts} +0 -0
- package/{formio.service.d.ts.map → dist/angular-formio/formio.service.d.ts.map} +0 -0
- package/{formio.utils.d.ts → dist/angular-formio/formio.utils.d.ts} +0 -0
- package/{formio.utils.d.ts.map → dist/angular-formio/formio.utils.d.ts.map} +0 -0
- package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/form/index.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/form/index.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/formio-angular-grid.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/grid.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/grid.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/grid.module.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/grid.module.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/grid.service.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/grid.service.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/index.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/index.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts +1 -1
- package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/submission/index.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/submission/index.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts.map +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts +0 -0
- package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts.map +0 -0
- package/{index.d.ts → dist/angular-formio/index.d.ts} +0 -0
- package/{index.d.ts.map → dist/angular-formio/index.d.ts.map} +0 -0
- package/{manager → dist/angular-formio/manager}/create/create.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/create/create.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/form/form.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/form/form.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts +0 -0
- package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/formio-angular-manager.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/index/index.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/index/index.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/index.d.ts +0 -0
- package/{manager → dist/angular-formio/manager}/index.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts.map +0 -0
- package/{manager → dist/angular-formio/manager}/view/view.component.d.ts +1 -1
- package/{manager → dist/angular-formio/manager}/view/view.component.d.ts.map +0 -0
- package/dist/angular-formio/package.json +94 -0
- package/{resource → dist/angular-formio/resource}/create/create.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/create/create.component.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/formio-angular-resource.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/index/index.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/index/index.component.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/index.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/index.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resource.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/resource.component.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resource.config.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/resource.config.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resource.module.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/resource.module.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resource.routes.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/resource.routes.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resource.service.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/resource.service.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/resources.service.d.ts +0 -0
- package/{resource → dist/angular-formio/resource}/resources.service.d.ts.map +0 -0
- package/{resource → dist/angular-formio/resource}/view/view.component.d.ts +1 -1
- package/{resource → dist/angular-formio/resource}/view/view.component.d.ts.map +0 -0
- package/{types → dist/angular-formio/types}/alerts-position.d.ts +0 -0
- package/{types → dist/angular-formio/types}/alerts-position.d.ts.map +0 -0
- package/{types → dist/angular-formio/types}/formio-metadata.d.ts +0 -0
- package/{types → dist/angular-formio/types}/formio-metadata.d.ts.map +0 -0
- package/{types → dist/angular-formio/types}/formio-submission.d.ts +0 -0
- package/{types → dist/angular-formio/types}/formio-submission.d.ts.map +0 -0
- package/package.json +56 -72
- package/projects/angular-formio/README.md +24 -0
- package/projects/angular-formio/auth/ng-package.json +5 -0
- package/projects/angular-formio/auth/src/auth.component.html +12 -0
- package/projects/angular-formio/auth/src/auth.component.ts +5 -0
- package/projects/angular-formio/auth/src/auth.config.ts +72 -0
- package/projects/angular-formio/auth/src/auth.module.ts +33 -0
- package/projects/angular-formio/auth/src/auth.routes.ts +34 -0
- package/projects/angular-formio/auth/src/auth.service.ts +209 -0
- package/projects/angular-formio/auth/src/index.ts +8 -0
- package/projects/angular-formio/auth/src/login/login.component.html +1 -0
- package/projects/angular-formio/auth/src/login/login.component.ts +8 -0
- package/projects/angular-formio/auth/src/public_api.ts +5 -0
- package/projects/angular-formio/auth/src/register/register.component.html +1 -0
- package/projects/angular-formio/auth/src/register/register.component.ts +8 -0
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +1 -0
- package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +8 -0
- package/projects/angular-formio/grid/ng-package.json +5 -0
- package/projects/angular-formio/grid/src/GridBodyComponent.ts +80 -0
- package/projects/angular-formio/grid/src/GridFooterComponent.ts +25 -0
- package/projects/angular-formio/grid/src/GridHeaderComponent.ts +25 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.html +23 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +4 -0
- package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +15 -0
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +21 -0
- package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +23 -0
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +18 -0
- package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +24 -0
- package/projects/angular-formio/grid/src/form/index.ts +8 -0
- package/projects/angular-formio/grid/src/form/time-since.pipe.ts +31 -0
- package/projects/angular-formio/grid/src/grid.component.html +18 -0
- package/projects/angular-formio/grid/src/grid.component.scss +9 -0
- package/projects/angular-formio/grid/src/grid.component.ts +242 -0
- package/projects/angular-formio/grid/src/grid.footer.scss +14 -0
- package/projects/angular-formio/grid/src/grid.module.ts +49 -0
- package/projects/angular-formio/grid/src/grid.service.ts +16 -0
- package/projects/angular-formio/grid/src/index.ts +12 -0
- package/projects/angular-formio/grid/src/public_api.ts +5 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +7 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +39 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +18 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +20 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +11 -0
- package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +72 -0
- package/projects/angular-formio/grid/src/submission/index.ts +8 -0
- package/projects/angular-formio/grid/src/types/grid-column.ts +7 -0
- package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +5 -0
- package/projects/angular-formio/grid/src/types/grid-header.ts +14 -0
- package/projects/angular-formio/karma.conf.js +32 -0
- package/projects/angular-formio/manager/ng-package.json +5 -0
- package/projects/angular-formio/manager/src/create/create.component.ts +11 -0
- package/projects/angular-formio/manager/src/delete/delete.component.html +6 -0
- package/projects/angular-formio/manager/src/delete/delete.component.ts +37 -0
- package/projects/angular-formio/manager/src/edit/edit.component.html +19 -0
- package/projects/angular-formio/manager/src/edit/edit.component.ts +107 -0
- package/projects/angular-formio/manager/src/form/form.component.html +32 -0
- package/projects/angular-formio/manager/src/form/form.component.ts +73 -0
- package/projects/angular-formio/manager/src/form-manager.config.ts +26 -0
- package/projects/angular-formio/manager/src/form-manager.module.ts +54 -0
- package/projects/angular-formio/manager/src/form-manager.routes.ts +75 -0
- package/projects/angular-formio/manager/src/form-manager.service.ts +195 -0
- package/projects/angular-formio/manager/src/index/index.component.html +14 -0
- package/projects/angular-formio/manager/src/index/index.component.scss +22 -0
- package/projects/angular-formio/manager/src/index/index.component.ts +84 -0
- package/projects/angular-formio/manager/src/index.ts +16 -0
- package/projects/angular-formio/manager/src/public_api.ts +5 -0
- package/projects/angular-formio/manager/src/submission/delete/delete.component.html +6 -0
- package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +26 -0
- package/projects/angular-formio/manager/src/submission/edit/edit.component.html +7 -0
- package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +18 -0
- package/projects/angular-formio/manager/src/submission/index/index.component.html +1 -0
- package/projects/angular-formio/manager/src/submission/index/index.component.ts +18 -0
- package/projects/angular-formio/manager/src/submission/submission/submission.component.html +8 -0
- package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +24 -0
- package/projects/angular-formio/manager/src/submission/view/view.component.html +7 -0
- package/projects/angular-formio/manager/src/submission/view/view.component.ts +9 -0
- package/projects/angular-formio/manager/src/view/view.component.html +10 -0
- package/projects/angular-formio/manager/src/view/view.component.ts +41 -0
- package/projects/angular-formio/ng-package.json +7 -0
- package/projects/angular-formio/package.json +39 -0
- package/projects/angular-formio/resource/ng-package.json +5 -0
- package/projects/angular-formio/resource/src/create/create.component.html +13 -0
- package/projects/angular-formio/resource/src/create/create.component.scss +3 -0
- package/projects/angular-formio/resource/src/create/create.component.ts +37 -0
- package/projects/angular-formio/resource/src/delete/delete.component.html +5 -0
- package/projects/angular-formio/resource/src/delete/delete.component.ts +24 -0
- package/projects/angular-formio/resource/src/edit/edit.component.html +6 -0
- package/projects/angular-formio/resource/src/edit/edit.component.ts +33 -0
- package/projects/angular-formio/resource/src/index/index.component.html +10 -0
- package/projects/angular-formio/resource/src/index/index.component.ts +66 -0
- package/projects/angular-formio/resource/src/index.js +24 -0
- package/projects/angular-formio/resource/src/index.ts +11 -0
- package/projects/angular-formio/resource/src/public_api.ts +5 -0
- package/projects/angular-formio/resource/src/resource.component.html +7 -0
- package/projects/angular-formio/resource/src/resource.component.ts +48 -0
- package/projects/angular-formio/resource/src/resource.config.ts +17 -0
- package/projects/angular-formio/resource/src/resource.module.ts +43 -0
- package/projects/angular-formio/resource/src/resource.routes.ts +43 -0
- package/projects/angular-formio/resource/src/resource.service.ts +232 -0
- package/projects/angular-formio/resource/src/resources.service.ts +24 -0
- package/projects/angular-formio/resource/src/view/view.component.html +6 -0
- package/projects/angular-formio/resource/src/view/view.component.ts +19 -0
- package/projects/angular-formio/src/FormioBaseComponent.ts +525 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +3 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +19 -0
- package/projects/angular-formio/src/components/alerts/formio.alerts.ts +21 -0
- package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +15 -0
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +1 -0
- package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +213 -0
- package/projects/angular-formio/src/components/formio/formio.component.html +8 -0
- package/projects/angular-formio/src/components/formio/formio.component.ts +33 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.html +3 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.scss +26 -0
- package/projects/angular-formio/src/components/loader/formio.loader.component.ts +10 -0
- package/projects/angular-formio/src/core.ts +21 -0
- package/projects/angular-formio/src/custom-component/create-custom-component.ts +173 -0
- package/projects/angular-formio/src/custom-component/custom-tags.service.ts +10 -0
- package/projects/angular-formio/src/custom-component/register-custom-component.ts +41 -0
- package/projects/angular-formio/src/elements.common.ts +31 -0
- package/projects/angular-formio/src/formio-promise.service.ts +36 -0
- package/projects/angular-formio/src/formio.common.ts +81 -0
- package/projects/angular-formio/src/formio.config.ts +9 -0
- package/projects/angular-formio/src/formio.module.ts +35 -0
- package/projects/angular-formio/src/formio.service.ts +57 -0
- package/projects/angular-formio/src/formio.utils.ts +23 -0
- package/projects/angular-formio/src/index.ts +6 -0
- package/projects/angular-formio/src/public-api.ts +5 -0
- package/projects/angular-formio/src/test.ts +28 -0
- package/projects/angular-formio/src/types/alerts-position.ts +6 -0
- package/projects/angular-formio/src/types/formio-metadata.ts +10 -0
- package/projects/angular-formio/src/types/formio-submission.ts +20 -0
- package/projects/angular-formio/tsconfig.lib.json +27 -0
- package/projects/angular-formio/tsconfig.lib.prod.json +8 -0
- package/projects/angular-formio/tsconfig.spec.json +17 -0
- package/projects/angular-formio/tslint.json +17 -0
- package/tsconfig.json +28 -0
- package/tslint.json +140 -0
- package/esm2020/FormioBaseComponent.mjs +0 -527
- package/esm2020/auth/auth.component.mjs +0 -12
- package/esm2020/auth/auth.config.mjs +0 -15
- package/esm2020/auth/auth.module.mjs +0 -46
- package/esm2020/auth/login/login.component.mjs +0 -16
- package/esm2020/auth/register/register.component.mjs +0 -16
- package/esm2020/auth/resetpass/resetpass.component.mjs +0 -16
- package/esm2020/components/alerts/formio.alerts.component.mjs +0 -29
- package/esm2020/components/alerts/parse-html-content.pipe.mjs +0 -19
- package/esm2020/components/formbuilder/formbuilder.component.mjs +0 -187
- package/esm2020/components/formio/formio.component.mjs +0 -40
- package/esm2020/components/loader/formio.loader.component.mjs +0 -14
- package/esm2020/custom-component/custom-tags.service.mjs +0 -16
- package/esm2020/formio.config.mjs +0 -14
- package/esm2020/formio.module.mjs +0 -54
- package/esm2020/grid/GridBodyComponent.mjs +0 -81
- package/esm2020/grid/GridFooterComponent.mjs +0 -36
- package/esm2020/grid/GridHeaderComponent.mjs +0 -30
- package/esm2020/grid/form/FormGridBody.component.mjs +0 -19
- package/esm2020/grid/form/FormGridFooter.component.mjs +0 -26
- package/esm2020/grid/form/FormGridHeader.component.mjs +0 -26
- package/esm2020/grid/grid.component.mjs +0 -230
- package/esm2020/grid/grid.module.mjs +0 -79
- package/esm2020/grid/grid.service.mjs +0 -17
- package/esm2020/grid/submission/SubmissionGridBody.component.mjs +0 -43
- package/esm2020/grid/submission/SubmissionGridFooter.component.mjs +0 -23
- package/esm2020/grid/submission/SubmissionGridHeader.component.mjs +0 -61
- package/esm2020/manager/create/create.component.mjs +0 -18
- package/esm2020/manager/delete/delete.component.mjs +0 -37
- package/esm2020/manager/edit/edit.component.mjs +0 -109
- package/esm2020/manager/form/form.component.mjs +0 -70
- package/esm2020/manager/form-manager.config.mjs +0 -15
- package/esm2020/manager/form-manager.module.mjs +0 -83
- package/esm2020/manager/index/index.component.mjs +0 -84
- package/esm2020/manager/submission/delete/delete.component.mjs +0 -28
- package/esm2020/manager/submission/edit/edit.component.mjs +0 -22
- package/esm2020/manager/submission/index/index.component.mjs +0 -22
- package/esm2020/manager/submission/submission/submission.component.mjs +0 -26
- package/esm2020/manager/submission/view/view.component.mjs +0 -16
- package/esm2020/manager/view/view.component.mjs +0 -42
- package/esm2020/resource/create/create.component.mjs +0 -37
- package/esm2020/resource/delete/delete.component.mjs +0 -26
- package/esm2020/resource/edit/edit.component.mjs +0 -36
- package/esm2020/resource/index/index.component.mjs +0 -61
- package/esm2020/resource/resource.component.mjs +0 -46
- package/esm2020/resource/resource.config.mjs +0 -15
- package/esm2020/resource/resource.module.mjs +0 -62
- package/esm2020/resource/resources.service.mjs +0 -22
- package/esm2020/resource/view/view.component.mjs +0 -23
- package/fesm2015/formio-angular-auth.mjs +0 -290
- package/fesm2015/formio-angular-auth.mjs.map +0 -1
- package/fesm2015/formio-angular-grid.mjs +0 -677
- package/fesm2015/formio-angular-grid.mjs.map +0 -1
- package/fesm2015/formio-angular-manager.mjs +0 -733
- package/fesm2015/formio-angular-manager.mjs.map +0 -1
- package/fesm2015/formio-angular-resource.mjs.map +0 -1
- package/fesm2015/formio-angular.mjs.map +0 -1
- package/fesm2020/formio-angular-auth.mjs.map +0 -1
- package/fesm2020/formio-angular-grid.mjs +0 -676
- package/fesm2020/formio-angular-grid.mjs.map +0 -1
- package/fesm2020/formio-angular-manager.mjs +0 -733
- package/fesm2020/formio-angular-manager.mjs.map +0 -1
- package/fesm2020/formio-angular-resource.mjs +0 -503
- package/fesm2020/formio-angular-resource.mjs.map +0 -1
- package/fesm2020/formio-angular.mjs +0 -1169
- package/fesm2020/formio-angular.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formio-angular.mjs","sources":["../../../projects/angular-formio/src/formio.config.ts","../../../projects/angular-formio/src/formio.common.ts","../../../projects/angular-formio/src/formio.service.ts","../../../projects/angular-formio/src/formio-promise.service.ts","../../../projects/angular-formio/src/formio.utils.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/custom-component/custom-tags.service.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.html","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.html","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/formio/formio.component.html","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.html","../../../projects/angular-formio/src/formio.module.ts","../../../projects/angular-formio/src/custom-component/create-custom-component.ts","../../../projects/angular-formio/src/custom-component/register-custom-component.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FormioAppConfig {\n appUrl = '';\n apiUrl = '';\n icons?: string;\n formOnly?: boolean;\n}\n","import { ExtendedComponentSchema, ValidateOptions } from 'formiojs';\nimport { AlertsPosition } from './types/alerts-position';\nexport { ConditionalOptions, ValidateOptions } from 'formiojs';\n\nexport interface ComponentOptions<T = any, V = ValidateOptions> extends ExtendedComponentSchema<T> {\n validate?: V;\n}\n\nexport interface FormioRefreshValue {\n property?: string;\n value?: object;\n form?: object;\n submission?: object;\n}\n\nexport interface AccessSetting {\n type: string;\n roles: string[];\n}\n\nexport interface FormioForm {\n title?: string;\n display?: string;\n name?: string;\n path?: string;\n type?: string;\n project?: string;\n template?: string;\n components?: ExtendedComponentSchema[];\n tags?: string[];\n access?: AccessSetting[];\n submissionAccess?: AccessSetting[];\n}\n\nexport interface ComponentInstance {\n component: ExtendedComponentSchema;\n id: string;\n type: string;\n asString?(value: any): string;\n getView(value: any): string;\n}\n\nexport interface AlertsOptions {\n submitMessage: string;\n}\n\nexport interface ErrorsOptions {\n message: string;\n}\n\nexport class FormioError {\n constructor(\n public message: string,\n public component: ExtendedComponentSchema,\n public silent?: boolean,\n ) {}\n}\n\nexport type FormioSubmissionCallback = (\n error: FormioError,\n submission: object\n) => void;\nexport type FormioBeforeSubmit = (\n submission: object,\n callback: FormioSubmissionCallback\n) => void;\n\nexport interface FormioHookOptions {\n beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface FormioOptions {\n errors?: ErrorsOptions;\n alerts?: AlertsOptions;\n alertsPosition?: AlertsPosition;\n disableAlerts?: boolean;\n i18n?: object;\n fileService?: object;\n hooks?: FormioHookOptions;\n sanitizeConfig?: any;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { Formio } from 'formiojs';\n\nexport class FormioService {\n public formio: any;\n constructor(public url: string, public options?: object) {\n this.formio = new Formio(this.url, this.options);\n }\n requestWrapper(fn: any) {\n let record: any;\n let called = false;\n return Observable.create((observer: Observer<any>) => {\n try {\n if (!called) {\n called = true;\n fn()\n .then((_record: any) => {\n record = _record;\n observer.next(record);\n observer.complete();\n })\n .catch((err: any) => observer.error(err));\n } else if (record) {\n observer.next(record);\n observer.complete();\n }\n } catch (err) {\n observer.error(err);\n }\n });\n }\n saveForm(form: FormioForm, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.saveForm(form, options));\n }\n loadForm(query?: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForm(query, options));\n }\n loadForms(query: any, options?: any): Observable<FormioForm> {\n return this.requestWrapper(() => this.formio.loadForms(query, options));\n }\n loadSubmission(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmission(query, options));\n }\n userPermissions(user: any, form: any, submission: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.userPermissions(user, form, submission));\n }\n deleteSubmission(data?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.deleteSubmission(data, options));\n }\n saveSubmission(submission: {}, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.saveSubmission(submission, options));\n }\n loadSubmissions(query?: any, options?: any): Observable<{}> {\n return this.requestWrapper(() => this.formio.loadSubmissions(query, options));\n }\n}\n","import { from } from 'rxjs';\nimport { FormioService } from './formio.service';\nimport { FormioForm } from './formio.common';\n\nexport class FormioPromiseService {\n private formioService: FormioService;\n\n constructor(public url: string, public options?: object) {\n this.formioService = new FormioService(url, options);\n }\n\n saveForm(form: FormioForm, options?: any): Promise<any> {\n return this.formioService.saveForm(form, options).toPromise();\n }\n loadForm(query?: any, options?: any): Promise<any> {\n return this.formioService.loadForm(query, options).toPromise();\n }\n loadSubmission(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmission(query, options).toPromise();\n }\n userPermissions(user: any, form: any, submission: any): Promise<any> {\n return this.formioService.userPermissions(user, form, submission).toPromise();\n }\n deleteSubmission(data?: any, options?: any): Promise<any> {\n return this.formioService.deleteSubmission(data, options).toPromise();\n }\n loadForms(query: any, options?: any): Promise<any> {\n return this.formioService.loadForms(query, options).toPromise();\n }\n saveSubmission(submission: {}, options?: any): Promise<any> {\n return this.formioService.saveSubmission(submission, options).toPromise();\n }\n loadSubmissions(query?: any, options?: any): Promise<any> {\n return this.formioService.loadSubmissions(query, options).toPromise();\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { find, trim, each, intersection } from 'lodash';\n\nexport function extendRouter(Class: any, config: any, ClassRoutes: any) {\n each(Class.decorators, decorator => {\n each(decorator.args, arg => {\n if (arg.declarations) {\n each(config, component => arg.declarations.push(component));\n }\n if (arg.imports) {\n each(arg.imports, (_import, index) => {\n if (\n (_import.ngModule && (_import.ngModule.name === 'RouterModule')) ||\n (_import.name === 'RouterModule')\n ) {\n arg.imports[index] = RouterModule.forChild(ClassRoutes(config));\n }\n });\n }\n });\n });\n return Class;\n}\n","export interface FormioAlert {\n type: string;\n message: string;\n component?: any;\n}\n\nexport class FormioAlerts {\n public alerts: FormioAlert[] = [];\n\n setAlert(alert: FormioAlert) {\n this.alerts = [alert];\n }\n\n addAlert(alert: FormioAlert) {\n this.alerts.push(alert);\n }\n\n setAlerts(alerts: FormioAlert[]) {\n this.alerts = alerts;\n }\n}\n","export enum AlertsPosition {\n none,\n top,\n bottom,\n both\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CustomTagsService {\n tags: string[] = [];\n\n addCustomTag(tag: string) {\n this.tags.push(tag);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-component/custom-tags.service';\nimport Evaluator from 'formiojs/utils/Evaluator';\nimport { fastCloneDeep } from 'formiojs/utils/utils';\nimport { AlertsPosition } from './types/alerts-position';\n\n@Component({\n template: ''\n})\nexport class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {\n @Input() form?: FormioForm;\n @Input() submission?: any = {};\n @Input() src?: string;\n @Input() url?: string;\n @Input() service?: FormioService;\n @Input() options?: FormioOptions;\n @Input() noeval ? = Evaluator.noeval;\n @Input() formioOptions?: any;\n @Input() renderOptions?: any;\n @Input() readOnly ? = false;\n @Input() viewOnly ? = false;\n @Input() hideLoading ? = false;\n @Input() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: EventEmitter<object>;\n @Input() language?: EventEmitter<string>;\n @Input() hooks?: any = {};\n @Input() renderer?: any;\n @Input() watchSubmissionErrors ? = false;\n @Input() dataTableActions? : any = []\n @Output() render = new EventEmitter<object>();\n @Output() customEvent = new EventEmitter<object>();\n @Output() fileUploadingStatus = new EventEmitter<string>();\n @Output() submit = new EventEmitter<object>();\n @Output() prevPage = new EventEmitter<object>();\n @Output() nextPage = new EventEmitter<object>();\n @Output() beforeSubmit = new EventEmitter<object>();\n @Output() rowAdd = new EventEmitter<any>();\n @Output() rowAdded = new EventEmitter<any>();\n @Output() rowEdit = new EventEmitter<any>();\n @Output() rowEdited = new EventEmitter<any>();\n @Output() rowDelete = new EventEmitter<any>();\n @Output() rowClick = new EventEmitter<any>();\n @Output() rowSelectChange = new EventEmitter<any>();\n @Output() change = new EventEmitter<object>();\n @Output() invalid = new EventEmitter<boolean>();\n @Output() errorChange = new EventEmitter<any>();\n @Output() formLoad = new EventEmitter<any>();\n @Output() submissionLoad = new EventEmitter<any>();\n @Output() ready = new EventEmitter<FormioBaseComponent>();\n @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;\n\n public AlertsPosition = AlertsPosition;\n public formio: any;\n public initialized = false;\n public alerts = new FormioAlerts();\n public formioReady: Promise<any>;\n\n private formioReadyResolve: any;\n private submitting = false;\n private submissionSuccess = false;\n public isLoading: boolean;\n public noAlerts: boolean;\n public label: string;\n\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n this.isLoading = true;\n this.formioReady = new Promise((ready) => {\n this.formioReadyResolve = ready;\n });\n }\n\n getRenderer() {\n return this.renderer;\n }\n\n getRendererOptions() {\n const extraTags = this.customTags ? this.customTags.tags : [];\n return assign({}, {\n icons: get(this.config, 'icons', 'fontawesome'),\n noAlerts: get(this.options, 'noAlerts', true),\n readOnly: this.readOnly,\n viewAsHtml: this.viewOnly,\n ...(this.viewOnly && { renderMode: \"html\" }),\n i18n: get(this.options, 'i18n', null),\n fileService: get(this.options, 'fileService', null),\n hooks: this.hooks,\n sanitizeConfig: {\n addTags: extraTags\n },\n dataTableActions: this.dataTableActions\n }, this.renderOptions || {});\n }\n\n createRenderer() {\n const Renderer = this.getRenderer();\n const form = (new Renderer(\n this.formioElement ? this.formioElement.nativeElement : null,\n this.form,\n this.getRendererOptions()\n ));\n return form.instance;\n }\n\n setForm(form: FormioForm) {\n this.form = form;\n if (this.formio) {\n this.formio.destroy();\n }\n\n if (this.form.title) {\n this.label = this.form.title;\n } else if (this.form.components && this.form.components[0]) {\n this.label = this.form.components[0].label;\n }\n\n // Clear out the element to render the new form.\n if (this.formioElement && this.formioElement.nativeElement) {\n this.formioElement.nativeElement.innerHTML = '';\n }\n this.formio = this.createRenderer();\n this.formio.submission = this.submission;\n if (this.renderOptions && this.renderOptions.validateOnInit) {\n this.formio.setValue(this.submission, {validateOnInit: true});\n }\n if (this.url) {\n this.formio.setUrl(this.url, this.formioOptions || {});\n }\n if (this.src) {\n this.formio.setUrl(this.src, this.formioOptions || {});\n }\n this.formio.nosubmit = true;\n this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));\n this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));\n this.formio.on('change', (value: any, flags: any, isModified: boolean) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\n this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));\n this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\n this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\n this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\n this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\n this.formio.on('customEvent', (event: any) =>\n this.ngZone.run(() => this.customEvent.emit(event))\n );\n\n ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {\n const status = !!index ? 'end' : 'start';\n this.formio.on(eventName, () =>\n this.ngZone.run(() => this.fileUploadingStatus.emit(status))\n );\n });\n\n this.formio.on('submit', (submission: any, saved: boolean) =>\n this.ngZone.run(() => this.submitForm(submission, saved))\n );\n this.formio.on('error', (err: any) => this.ngZone.run(() => {\n this.submissionSuccess = false;\n return this.onError(err);\n }));\n this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));\n this.formio.on('formLoad', (loadedForm: any) =>\n this.ngZone.run(() => this.formLoad.emit(loadedForm))\n );\n\n return this.formio.ready.then(() => {\n this.ngZone.run(() => {\n this.isLoading = false;\n this.ready.emit(this);\n this.formioReadyResolve(this.formio);\n if (this.formio.submissionReady) {\n this.formio.submissionReady.then((submission) => {\n this.submissionLoad.emit(submission);\n });\n }\n });\n return this.formio;\n });\n }\n\n initialize() {\n if (this.initialized) {\n return;\n }\n\n const extraTags = this.customTags ? this.customTags.tags : [];\n const defaultOptions: FormioOptions = {\n errors: {\n message: 'Please fix the following errors before submitting.'\n },\n alerts: {\n submitMessage: 'Submission Complete.'\n },\n disableAlerts: false,\n hooks: {\n beforeSubmit: null\n },\n sanitizeConfig: {\n addTags: extraTags\n },\n alertsPosition: AlertsPosition.top,\n };\n this.options = Object.assign(defaultOptions, this.options);\n if (this.options.disableAlerts) {\n this.options.alertsPosition = AlertsPosition.none;\n }\n this.initialized = true;\n }\n\n ngOnInit() {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (this.language) {\n if (typeof this.language === 'string') {\n this.formio.language = this.language;\n } else {\n this.language.subscribe((lang: string) => {\n this.formio.language = lang;\n });\n }\n }\n\n if (this.refresh) {\n this.refresh.subscribe((refresh: FormioRefreshValue) =>\n this.onRefresh(refresh)\n );\n }\n\n if (this.error) {\n this.error.subscribe((err: any) => this.onError(err));\n }\n\n if (this.success) {\n this.success.subscribe((message: string) => {\n this.alerts.setAlert({\n type: 'success',\n message: message || get(this.options, 'alerts.submitMessage')\n });\n });\n }\n\n if (this.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\n this.service.loadForm({ params: { live: 1 } }).subscribe(\n (form: FormioForm) => {\n if (form && form.components) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(form);\n });\n }\n\n // if a submission is also provided.\n if (\n isEmpty(this.submission) &&\n this.service &&\n this.service.formio.submissionId\n ) {\n this.service.loadSubmission().subscribe(\n (submission: any) => {\n if (this.readOnly) {\n this.formio.options.readOnly = true;\n }\n this.submission = this.formio.submission = submission;\n },\n err => this.onError(err)\n );\n }\n },\n err => this.onError(err)\n );\n }\n if (this.url && !this.service) {\n this.service = new FormioService(this.url);\n }\n }\n\n ngOnDestroy() {\n if (this.formio) {\n this.formio.destroy();\n }\n }\n\n onRefresh(refresh: FormioRefreshValue) {\n this.formioReady.then(() => {\n if (refresh.form) {\n this.formio.setForm(refresh.form).then(() => {\n if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n }\n });\n } else if (refresh.submission) {\n this.formio.setSubmission(refresh.submission);\n } else {\n switch (refresh.property) {\n case 'submission':\n this.formio.submission = refresh.value;\n break;\n case 'form':\n this.formio.form = refresh.value;\n break;\n }\n }\n });\n }\n\n ngOnChanges(changes: any) {\n Evaluator.noeval = this.noeval;\n this.initialize();\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.setForm(changes.form.currentValue);\n });\n }\n\n this.formioReady.then(() => {\n if (changes.submission && changes.submission.currentValue) {\n this.formio.setSubmission(changes.submission.currentValue, {\n fromSubmission: !changes.submission.firstChange\n });\n }\n\n if (changes.hideComponents && changes.hideComponents.currentValue) {\n const hiddenComponents = changes.hideComponents.currentValue;\n this.formio.options.hide = hiddenComponents;\n this.formio.everyComponent((component) => {\n component.options.hide = hiddenComponents;\n if (hiddenComponents.includes(component.component.key)) {\n component.visible = false;\n }\n });\n }\n });\n }\n\n onPrevPage(data: any) {\n this.alerts.setAlerts([]);\n this.prevPage.emit(data);\n }\n\n onNextPage(data: any) {\n this.alerts.setAlerts([]);\n this.nextPage.emit(data);\n }\n\n onSubmit(submission: any, saved: boolean, noemit?: boolean) {\n this.submitting = false;\n this.submissionSuccess = true;\n\n this.formio.setValue(fastCloneDeep(submission), {\n noValidate: true,\n noCheck: true\n });\n\n if (saved) {\n this.formio.emit('submitDone', submission);\n }\n if (!noemit) {\n this.submit.emit(submission);\n }\n if (!this.success) {\n this.alerts.setAlert({\n type: 'success',\n message: get(this.options, 'alerts.submitMessage')\n });\n }\n }\n\n onError(err: any) {\n this.alerts.setAlerts([]);\n this.submitting = false;\n this.isLoading = false;\n\n if (!err) {\n return;\n }\n\n // Make sure it is an array.\n const errors = Array.isArray(err) ? err : [err];\n\n // Emit these errors again.\n this.errorChange.emit(errors);\n\n if (err.silent) {\n return;\n }\n\n if (this.formio && errors.length) {\n this.formio.emit('submitError', errors);\n }\n\n // Iterate through each one and set the alerts array.\n errors.forEach((error: any) => {\n const {\n message,\n paths,\n } = error\n ? error.details\n ? {\n message: error.details.map((detail) => detail.message),\n paths: error.details.map((detail) => detail.path),\n }\n : {\n message: error.message || error.toString(),\n paths: error.path ? [error.path] : [],\n }\n : {\n message: '',\n paths: [],\n };\n\n let shouldErrorDisplay = true;\n\n if (this.formio) {\n paths.forEach((path, index) => {\n const component = this.formio.getComponent(path);\n if (component) {\n const components = Array.isArray(component) ? component : [component];\n const messageText = Array.isArray(message) ? message[index] : message;\n components.forEach((comp) => comp.setCustomValidity(messageText, true));\n this.alerts.addAlert({\n type: 'danger',\n message: message[index],\n component,\n });\n shouldErrorDisplay = false;\n }\n });\n\n if ((window as any).VPAT_ENABLED) {\n if (typeof error ==='string' && this.formio.components) {\n this.formio.components.forEach((comp) => {\n if (comp && comp.type !== 'button') {\n comp.setCustomValidity(message, true);\n }\n });\n }\n }\n\n if (!this.noAlerts) {\n this.formio.showErrors();\n }\n }\n\n if (shouldErrorDisplay) {\n this.alerts.addAlert({\n type: 'danger',\n message,\n component: error.component,\n });\n }\n });\n }\n\n focusOnComponet(key: any) {\n if (this.formio) {\n this.formio.focusOnComponent(key);\n }\n }\n\n submitExecute(submission: object, saved = false) {\n if (this.service && !this.url && !saved) {\n this.service\n .saveSubmission(submission)\n .subscribe(\n (sub: {}) => this.onSubmit(sub, true),\n err => this.onError(err)\n );\n } else {\n this.onSubmit(submission, false);\n }\n }\n\n submitForm(submission: any, saved = false) {\n // Keep double submits from occurring...\n if (this.submitting) {\n return;\n }\n this.formio.setMetadata(submission);\n this.submissionSuccess = false;\n this.submitting = true;\n this.beforeSubmit.emit(submission);\n\n // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously\n // or even provide a custom Error method.\n const beforeSubmit = get(this.options, 'hooks.beforeSubmit');\n if (beforeSubmit) {\n beforeSubmit(submission, (err: FormioError, sub: object) => {\n if (err) {\n this.onError(err);\n return;\n }\n this.submitExecute(sub, saved);\n });\n } else {\n this.submitExecute(submission, saved);\n }\n }\n\n onChange(value: any, flags: any, isModified: boolean) {\n if (this.watchSubmissionErrors && !this.submissionSuccess) {\n const errors = get(this, 'formio.errors', []);\n const alerts = get(this, 'alerts.alerts', []);\n const submitted = get(this, 'formio.submitted', false);\n if (submitted && (errors.length || alerts.length)) {\n this.onError(errors);\n }\n }\n return this.change.emit({...value, flags, isModified});\n }\n}\n","<div class=\"formio-loader-wrapper\" *ngIf=\"isLoading\">\n <div class=\"formio-loader\"></div>\n</div>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'formio-loader',\n styleUrls: ['./formio.loader.component.scss'],\n templateUrl: './formio.loader.component.html'\n})\nexport class FormioLoaderComponent {\n @Input() isLoading: boolean;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'parseHtmlContent', pure: false })\nexport class ParseHtmlContentPipe implements PipeTransform {\n\n /*\n Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.\n And then render in template.\n */\n transform(content) {\n const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];\n\n return parsedContent?.textContent;\n }\n}\n","<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n {{alert.message | parseHtmlContent}}\n</div>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\n\n@Component({\n selector: 'formio-alerts',\n templateUrl: './formio.alerts.component.html'\n})\nexport class FormioAlertsComponent implements OnInit {\n @Input() alerts: FormioAlerts;\n @Output() focusComponent = new EventEmitter<object>();\n ngOnInit() {\n if (!this.alerts) {\n this.alerts = new FormioAlerts();\n }\n }\n getComponent (event, alert) {\n this.focusComponent.emit(alert.component.key);\n }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n <div *ngIf=\"isLoading && !hideLoading\" style=\"position:relative;height:200px\">\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n </div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n <div #formio></div>\n <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n</div>\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from 'formiojs';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'formio',\n templateUrl: './formio.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormioComponent extends FormioBaseComponent implements OnInit, OnChanges {\n constructor(\n public ngZone: NgZone,\n @Optional() public config: FormioAppConfig,\n @Optional() public customTags?: CustomTagsService,\n ) {\n super(ngZone, config, customTags);\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n }\n\n getRenderer() {\n return this.renderer || Form;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n OnChanges,\n OnDestroy,\n ViewEncapsulation,\n Optional,\n ElementRef,\n ViewChild,\n EventEmitter,\n Output,\n NgZone\n} from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport {\n FormioForm,\n FormioOptions\n} from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from 'formiojs';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'form-builder',\n templateUrl: './formbuilder.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.builder.min.css'],\n encapsulation: ViewEncapsulation.None\n})\n/* tslint:enable */\nexport class FormBuilderComponent implements OnInit, OnChanges, OnDestroy {\n public ready: Promise<object>;\n public readyResolve: any;\n public formio: any;\n public builder: FormBuilder;\n public componentAdding = false;\n private refreshSubscription: Subscription;\n @Input() form?: FormioForm;\n @Input() options?: FormioOptions;\n @Input() formbuilder?: any;\n @Input() noeval ? = false;\n @Input() refresh?: Observable<void>;\n @Input() rebuild?: Observable<object>;\n @Output() change?: EventEmitter<object>;\n @ViewChild('builder', { static: true }) builderElement?: ElementRef<any>;\n\n constructor(\n private ngZone: NgZone,\n @Optional() private config: FormioAppConfig,\n @Optional() private customTags?: CustomTagsService\n ) {\n if (this.config) {\n Formio.setBaseUrl(this.config.apiUrl);\n Formio.setProjectUrl(this.config.appUrl);\n } else {\n console.warn('You must provide an AppConfig within your application!');\n }\n\n this.change = new EventEmitter();\n this.ready = new Promise((resolve: any) => {\n this.readyResolve = resolve;\n });\n }\n\n ngOnInit() {\n Utils.Evaluator.noeval = this.noeval;\n\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(this.form);\n });\n });\n }\n\n if (this.rebuild) {\n this.rebuild.subscribe((options) => {\n this.ngZone.runOutsideAngular(() => {\n this.rebuildForm(this.form, options);\n });\n });\n }\n }\n\n setInstance(instance: any) {\n this.formio = instance;\n instance.off('addComponent');\n instance.off('saveComponent');\n instance.off('updateComponent');\n instance.off('removeComponent');\n instance.on('addComponent', (component, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n if (isNew) {\n this.componentAdding = true;\n } else {\n this.change.emit({\n type: 'addComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n this.componentAdding = false;\n }\n });\n });\n instance.on('saveComponent', (component, original, parent, path, index, isNew) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: this.componentAdding ? 'addComponent' : 'saveComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n originalComponent: original,\n parent: parent,\n path: path,\n index: index,\n isNew: isNew || false\n });\n this.componentAdding = false;\n });\n });\n instance.on('updateComponent', (component) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'updateComponent',\n builder: instance,\n form: instance.schema,\n component: component\n });\n });\n });\n instance.on('removeComponent', (component, parent, path, index) => {\n this.ngZone.run(() => {\n this.change.emit({\n type: 'deleteComponent',\n builder: instance,\n form: instance.schema,\n component: component,\n parent: parent,\n path: path,\n index: index\n });\n });\n });\n this.ngZone.run(() => {\n this.readyResolve(instance);\n });\n return instance;\n }\n\n setDisplay(display: String, prevDisplay?: string) {\n if (display && display !== prevDisplay) {\n (this.builder as any).setDisplay(display);\n }\n }\n\n buildForm(form: any, prevForm?: any) {\n if (!form || !this.builderElement || !this.builderElement.nativeElement) {\n return;\n }\n\n if (this.builder) {\n this.setDisplay(form.display, prevForm?.display);\n this.setInstance(this.builder.instance);\n this.builder.form = form;\n this.builder.instance.form = form;\n return this.builder.instance;\n }\n\n return this.rebuildForm(form);\n }\n\n rebuildForm(form: any, options?: object) {\n const Builder = this.formbuilder || FormBuilder;\n const extraTags = this.customTags ? this.customTags.tags : [];\n this.builder = new Builder(\n this.builderElement.nativeElement,\n form,\n assign({\n icons: 'fontawesome',\n sanitizeConfig: {\n addTags: extraTags\n }\n }, options || this.options || {})\n );\n return this.builder.ready.then(instance => this.setInstance(instance));\n }\n\n ngOnChanges(changes: any) {\n Utils.Evaluator.noeval = this.noeval;\n\n if (changes.form && changes.form.currentValue) {\n this.ngZone.runOutsideAngular(() => {\n this.buildForm(changes.form.currentValue || {components: []}, changes.form.previousValue);\n });\n }\n }\n\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n\n if (this.formio) {\n this.formio.destroy();\n }\n }\n}\n","<div #builder></div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormioComponent } from './components/formio/formio.component';\nimport { FormBuilderComponent } from './components/formbuilder/formbuilder.component';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';\nimport { FormioAlertsComponent } from './components/alerts/formio.alerts.component';\nimport { FormioLoaderComponent } from './components/loader/formio.loader.component';\nimport { CustomTagsService } from './custom-component/custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\n\n@NgModule({\n declarations: [\n FormioComponent,\n FormioBaseComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ]\n})\nexport class FormioModule {}\n","// @ts-nocheck\nimport { BuilderInfo, Components, ExtendedComponentSchema, Utils as FormioUtils } from 'formiojs';\nimport { FormioCustomComponentInfo, FormioCustomElement, FormioEvent } from '../elements.common';\nimport { clone, isNil, isArray } from 'lodash';\n\nconst BaseInputComponent = Components.components.input;\nconst TextfieldComponent = Components.components.textfield;\n\nexport function createCustomFormioComponent(customComponentOptions: FormioCustomComponentInfo) {\n return class CustomComponent extends BaseInputComponent {\n static editForm = customComponentOptions.editForm || TextfieldComponent.editForm;\n id = FormioUtils.getRandomComponentId();\n type = customComponentOptions.type;\n _customAngularElement: FormioCustomElement;\n\n static schema() {\n return BaseInputComponent.schema({\n ...customComponentOptions.schema,\n type: customComponentOptions.type,\n });\n }\n\n get defaultSchema() {\n return CustomComponent.schema();\n }\n\n get emptyValue() {\n return customComponentOptions.emptyValue || null;\n }\n\n static get builderInfo(): BuilderInfo {\n return {\n title: customComponentOptions.title,\n group: customComponentOptions.group,\n icon: customComponentOptions.icon,\n weight: customComponentOptions.weight,\n documentation: customComponentOptions.documentation,\n schema: CustomComponent.schema(),\n };\n }\n\n constructor(public component: ExtendedComponentSchema, options: any, data: any) {\n super(component, {\n ...options,\n sanitizeConfig: {\n addTags: [customComponentOptions.selector],\n },\n }, data);\n\n if (customComponentOptions.extraValidators) {\n this.validators = this.validators.concat(customComponentOptions.extraValidators);\n }\n }\n\n elementInfo() {\n const info = super.elementInfo();\n info.type = customComponentOptions.selector;\n info.changeEvent = customComponentOptions.changeEvent || 'valueChange';\n info.attr = {\n ...info.attr,\n class: info.attr.class.replace('form-control', 'form-control-custom-field') // remove the form-control class as the custom angular component may look different\n };\n return info;\n }\n\n get inputInfo() {\n const info = {\n id: this.key,\n ...this.elementInfo()\n }\n return info;\n }\n\n renderElement(value: any, index: number) {\n const info = this.inputInfo;\n return this.renderTemplate(customComponentOptions.template || 'input', {\n input: info,\n value,\n index\n });\n }\n\n attach(element: HTMLElement) {\n let superAttach = super.attach(element);\n\n this._customAngularElement = element.querySelector(customComponentOptions.selector);\n\n // Bind the custom options and the validations to the Angular component's inputs (flattened)\n if (this._customAngularElement) {\n // To make sure we have working input in IE...\n // IE doesn't render it properly if it's not visible on the screen\n // due to the whole structure applied via innerHTML to the parent\n // so we need to use appendChild\n if (!this._customAngularElement.getAttribute('ng-version')) {\n this._customAngularElement.removeAttribute('ref');\n\n const newCustomElement = document.createElement(customComponentOptions.selector) as FormioCustomElement;\n\n newCustomElement.setAttribute('ref', 'input');\n Object.keys(this.inputInfo.attr).forEach((attr: string) => {\n newCustomElement.setAttribute(attr, this.inputInfo.attr[attr]);\n });\n\n this._customAngularElement.appendChild(newCustomElement);\n this._customAngularElement = newCustomElement;\n\n superAttach = super.attach(element);\n }\n\n // Bind customOptions\n for (const key in this.component.customOptions) {\n if (this.component.customOptions.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.customOptions[key];\n }\n }\n // Bind validate options\n for (const key in this.component.validate) {\n if (this.component.validate.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.validate[key];\n }\n }\n // Bind options explicitly set\n const fieldOptions = customComponentOptions.fieldOptions;\n if (isArray(fieldOptions) && fieldOptions.length > 0) {\n for (const key in fieldOptions) {\n if (fieldOptions.hasOwnProperty(key)) {\n this._customAngularElement[fieldOptions[key]] = this.component[fieldOptions[key]];\n }\n }\n }\n\n // Attach event listener for emit event\n this._customAngularElement.addEventListener('formioEvent', (event: CustomEvent<FormioEvent>) => {\n this.emit(event.detail.eventName, {\n ...event.detail.data,\n component: this.component\n });\n });\n\n // Ensure we bind the value (if it isn't a multiple-value component with no wrapper)\n if (!this._customAngularElement.value && !this.component.disableMultiValueWrapper) {\n this.restoreValue();\n }\n\n }\n return superAttach;\n }\n\n // Add extra option to support multiple value (e.g. datagrid) with single angular component (disableMultiValueWrapper)\n useWrapper() {\n return this.component.hasOwnProperty('multiple') && this.component.multiple && !this.component.disableMultiValueWrapper;\n }\n\n get defaultValue() {\n let defaultValue = this.emptyValue;\n\n // handle falsy default value\n if (!isNil(this.component.defaultValue)) {\n defaultValue = this.component.defaultValue;\n }\n\n if (this.component.customDefaultValue && !this.options.preview) {\n defaultValue = this.evaluate(\n this.component.customDefaultValue,\n { value: '' },\n 'value'\n );\n }\n\n return clone(defaultValue);\n }\n };\n}\n","import { Injector, Type } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { Components } from 'formiojs';\nimport { FormioCustomComponentInfo } from '../elements.common';\nimport { createCustomFormioComponent } from './create-custom-component';\nimport { CustomTagsService } from './custom-tags.service';\n\nexport function registerCustomTag(tag: string, injector: Injector): void {\n injector.get(CustomTagsService).addCustomTag(tag);\n}\n\nexport function registerCustomTags(tags: string[], injector: Injector): void {\n tags.forEach(tag => registerCustomTag(tag, injector));\n}\n\nexport function registerCustomFormioComponent(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, createCustomFormioComponent(options));\n}\n\nexport function registerCustomFormioComponentWithClass(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n formioClass: any,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, formioClass);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FormioAppConfig","i2.CustomTagsService","FormioUtils"],"mappings":"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"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { get, each } from 'lodash';
|
|
4
|
+
import { Formio } from 'formiojs';
|
|
5
|
+
import * as i2 from '@formio/angular';
|
|
6
|
+
import { extendRouter, FormioModule } from '@formio/angular';
|
|
7
|
+
import * as i1 from '@angular/router';
|
|
8
|
+
import { RouterModule } from '@angular/router';
|
|
9
|
+
import { CommonModule } from '@angular/common';
|
|
10
|
+
|
|
11
|
+
class FormioAuthConfig {
|
|
12
|
+
}
|
|
13
|
+
FormioAuthConfig.ɵfac = function FormioAuthConfig_Factory(t) { return new (t || FormioAuthConfig)(); };
|
|
14
|
+
FormioAuthConfig.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormioAuthConfig, factory: FormioAuthConfig.ɵfac });
|
|
15
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthConfig, [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}], null, null); })();
|
|
18
|
+
var FormioOauthType;
|
|
19
|
+
(function (FormioOauthType) {
|
|
20
|
+
FormioOauthType["okta"] = "okta";
|
|
21
|
+
FormioOauthType["saml"] = "saml";
|
|
22
|
+
})(FormioOauthType || (FormioOauthType = {}));
|
|
23
|
+
|
|
24
|
+
class FormioAuthService {
|
|
25
|
+
constructor(appConfig, config) {
|
|
26
|
+
this.appConfig = appConfig;
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.authenticated = false;
|
|
29
|
+
this.formAccess = {};
|
|
30
|
+
this.submissionAccess = {};
|
|
31
|
+
this.is = {};
|
|
32
|
+
this.user = null;
|
|
33
|
+
if (this.appConfig && this.appConfig.appUrl) {
|
|
34
|
+
Formio.setBaseUrl(this.appConfig.apiUrl);
|
|
35
|
+
Formio.setProjectUrl(this.appConfig.appUrl);
|
|
36
|
+
Formio.formOnly = !!this.appConfig.formOnly;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.error('You must provide an AppConfig within your application!');
|
|
40
|
+
}
|
|
41
|
+
this.loginForm =
|
|
42
|
+
this.appConfig.appUrl +
|
|
43
|
+
'/' +
|
|
44
|
+
get(this.config, 'login.form', 'user/login');
|
|
45
|
+
this.registerForm =
|
|
46
|
+
this.appConfig.appUrl +
|
|
47
|
+
'/' +
|
|
48
|
+
get(this.config, 'register.form', 'user/register');
|
|
49
|
+
this.resetPassForm =
|
|
50
|
+
this.appConfig.appUrl +
|
|
51
|
+
'/' +
|
|
52
|
+
get(this.config, 'register.form', 'resetpass');
|
|
53
|
+
this.onLogin = new EventEmitter();
|
|
54
|
+
this.onLogout = new EventEmitter();
|
|
55
|
+
this.onRegister = new EventEmitter();
|
|
56
|
+
this.onUser = new EventEmitter();
|
|
57
|
+
this.onError = new EventEmitter();
|
|
58
|
+
this.ready = new Promise((resolve, reject) => {
|
|
59
|
+
this.readyResolve = resolve;
|
|
60
|
+
this.readyReject = reject;
|
|
61
|
+
});
|
|
62
|
+
// Register for the core events.
|
|
63
|
+
Formio.events.on('formio.badToken', () => this.logoutError());
|
|
64
|
+
Formio.events.on('formio.sessionExpired', () => this.logoutError());
|
|
65
|
+
if (!this.config.delayAuth) {
|
|
66
|
+
this.init();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
onLoginSubmit(submission) {
|
|
70
|
+
this.setUser(submission);
|
|
71
|
+
this.onLogin.emit(submission);
|
|
72
|
+
}
|
|
73
|
+
onRegisterSubmit(submission) {
|
|
74
|
+
this.setUser(submission);
|
|
75
|
+
this.onRegister.emit(submission);
|
|
76
|
+
}
|
|
77
|
+
onResetPassSubmit(submission) {
|
|
78
|
+
this.onResetPass.emit(submission);
|
|
79
|
+
}
|
|
80
|
+
init() {
|
|
81
|
+
this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then((project) => {
|
|
82
|
+
each(project.access, (access) => {
|
|
83
|
+
this.formAccess[access.type] = access.roles;
|
|
84
|
+
});
|
|
85
|
+
}, () => {
|
|
86
|
+
this.formAccess = {};
|
|
87
|
+
return null;
|
|
88
|
+
});
|
|
89
|
+
// Get the access for this project.
|
|
90
|
+
this.accessReady = Formio.makeStaticRequest(this.appConfig.appUrl + '/access').then((access) => {
|
|
91
|
+
each(access.forms, (form) => {
|
|
92
|
+
this.submissionAccess[form.name] = {};
|
|
93
|
+
form.submissionAccess.forEach((subAccess) => {
|
|
94
|
+
this.submissionAccess[form.name][subAccess.type] = subAccess.roles;
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
this.roles = access.roles;
|
|
98
|
+
return access;
|
|
99
|
+
}, () => {
|
|
100
|
+
this.roles = {};
|
|
101
|
+
return null;
|
|
102
|
+
});
|
|
103
|
+
let currentUserPromise;
|
|
104
|
+
if (this.config.oauth) {
|
|
105
|
+
// Make a fix to the hash to remove starting "/" that angular might put there.
|
|
106
|
+
if (window.location.hash && window.location.hash.match(/^#\/access_token/)) {
|
|
107
|
+
history.pushState(null, null, window.location.hash.replace(/^#\/access_token/, '#access_token'));
|
|
108
|
+
}
|
|
109
|
+
// Initiate the SSO if they provide oauth settings.
|
|
110
|
+
currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
currentUserPromise = Formio.currentUser();
|
|
114
|
+
}
|
|
115
|
+
this.userReady = currentUserPromise.then((user) => {
|
|
116
|
+
this.setUser(user);
|
|
117
|
+
return user;
|
|
118
|
+
});
|
|
119
|
+
// Trigger we are redy when all promises have resolved.
|
|
120
|
+
if (this.accessReady) {
|
|
121
|
+
this.accessReady
|
|
122
|
+
.then(() => this.projectReady)
|
|
123
|
+
.then(() => this.userReady)
|
|
124
|
+
.then(() => this.readyResolve(true))
|
|
125
|
+
.catch((err) => this.readyReject(err));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
setUser(user) {
|
|
129
|
+
const namespace = Formio.namespace || 'formio';
|
|
130
|
+
if (user) {
|
|
131
|
+
this.user = user;
|
|
132
|
+
localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));
|
|
133
|
+
this.setUserRoles();
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
this.user = null;
|
|
137
|
+
this.is = {};
|
|
138
|
+
localStorage.removeItem(`${namespace}AppUser`);
|
|
139
|
+
Formio.clearCache();
|
|
140
|
+
Formio.setUser(null);
|
|
141
|
+
}
|
|
142
|
+
this.authenticated = !!Formio.getToken();
|
|
143
|
+
this.onUser.emit(this.user);
|
|
144
|
+
}
|
|
145
|
+
setUserRoles() {
|
|
146
|
+
if (this.accessReady) {
|
|
147
|
+
this.accessReady.then(() => {
|
|
148
|
+
each(this.roles, (role, roleName) => {
|
|
149
|
+
if (this.user.roles.indexOf(role._id) !== -1) {
|
|
150
|
+
this.is[roleName] = true;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
logoutError() {
|
|
157
|
+
this.setUser(null);
|
|
158
|
+
const namespace = Formio.namespace || 'formio';
|
|
159
|
+
localStorage.removeItem(`${namespace}Token`);
|
|
160
|
+
this.onError.emit();
|
|
161
|
+
}
|
|
162
|
+
logout() {
|
|
163
|
+
this.setUser(null);
|
|
164
|
+
const namespace = Formio.namespace || 'formio';
|
|
165
|
+
if (localStorage.getItem(`${namespace}LogoutAuthUrl`)) {
|
|
166
|
+
window.open(localStorage.getItem(`${namespace}LogoutAuthUrl`), null, 'width=1020,height=618');
|
|
167
|
+
localStorage.removeItem(`${namespace}LogoutAuthUrl`);
|
|
168
|
+
}
|
|
169
|
+
this.handleLogout(namespace);
|
|
170
|
+
}
|
|
171
|
+
handleLogout(namespace) {
|
|
172
|
+
localStorage.removeItem(`${namespace}Token`);
|
|
173
|
+
Formio.logout()
|
|
174
|
+
.then(() => this.onLogout.emit())
|
|
175
|
+
.catch(() => this.logoutError());
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
FormioAuthService.ɵfac = function FormioAuthService_Factory(t) { return new (t || FormioAuthService)(i0.ɵɵinject(i2.FormioAppConfig), i0.ɵɵinject(FormioAuthConfig)); };
|
|
179
|
+
FormioAuthService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormioAuthService, factory: FormioAuthService.ɵfac });
|
|
180
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthService, [{
|
|
181
|
+
type: Injectable
|
|
182
|
+
}], function () { return [{ type: i2.FormioAppConfig }, { type: FormioAuthConfig }]; }, null); })();
|
|
183
|
+
|
|
184
|
+
class FormioAuthComponent {
|
|
185
|
+
}
|
|
186
|
+
FormioAuthComponent.ɵfac = function FormioAuthComponent_Factory(t) { return new (t || FormioAuthComponent)(); };
|
|
187
|
+
FormioAuthComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthComponent, selectors: [["ng-component"]], decls: 14, vars: 0, consts: [[1, "card", "card-primary", "panel", "panel-default"], [1, "card-header", "panel-heading"], [1, "nav", "nav-tabs", "card-header-tabs"], ["role", "presentation", "routerLinkActive", "active", 1, "nav-item"], ["routerLink", "login", "routerLinkActive", "active", 1, "nav-link"], ["routerLink", "register", "routerLinkActive", "active", 1, "nav-link"], ["routerLink", "resetpass", "routerLinkActive", "active", 1, "nav-link"], [1, "card-body", "panel-body"]], template: function FormioAuthComponent_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "ul", 2)(3, "li", 3)(4, "a", 4);
|
|
189
|
+
i0.ɵɵtext(5, "Login");
|
|
190
|
+
i0.ɵɵelementEnd()();
|
|
191
|
+
i0.ɵɵelementStart(6, "li", 3)(7, "a", 5);
|
|
192
|
+
i0.ɵɵtext(8, "Register");
|
|
193
|
+
i0.ɵɵelementEnd()();
|
|
194
|
+
i0.ɵɵelementStart(9, "li", 3)(10, "a", 6);
|
|
195
|
+
i0.ɵɵtext(11, "Reset Password");
|
|
196
|
+
i0.ɵɵelementEnd()()()();
|
|
197
|
+
i0.ɵɵelementStart(12, "div", 7);
|
|
198
|
+
i0.ɵɵelement(13, "router-outlet");
|
|
199
|
+
i0.ɵɵelementEnd()();
|
|
200
|
+
} }, dependencies: [i1.RouterOutlet, i1.RouterLink, i1.RouterLinkActive], encapsulation: 2 });
|
|
201
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthComponent, [{
|
|
202
|
+
type: Component,
|
|
203
|
+
args: [{ template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"resetpass\" routerLinkActive=\"active\">Reset Password</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n" }]
|
|
204
|
+
}], null, null); })();
|
|
205
|
+
|
|
206
|
+
class FormioAuthLoginComponent {
|
|
207
|
+
constructor(service) {
|
|
208
|
+
this.service = service;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
FormioAuthLoginComponent.ɵfac = function FormioAuthLoginComponent_Factory(t) { return new (t || FormioAuthLoginComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
|
|
212
|
+
FormioAuthLoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthLoginComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioAuthLoginComponent_Template(rf, ctx) { if (rf & 1) {
|
|
213
|
+
i0.ɵɵelementStart(0, "formio", 0);
|
|
214
|
+
i0.ɵɵlistener("submit", function FormioAuthLoginComponent_Template_formio_submit_0_listener($event) { return ctx.service.onLoginSubmit($event); });
|
|
215
|
+
i0.ɵɵelementEnd();
|
|
216
|
+
} if (rf & 2) {
|
|
217
|
+
i0.ɵɵproperty("src", ctx.service.loginForm);
|
|
218
|
+
} }, dependencies: [i2.FormioComponent], encapsulation: 2 });
|
|
219
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthLoginComponent, [{
|
|
220
|
+
type: Component,
|
|
221
|
+
args: [{ template: "<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n" }]
|
|
222
|
+
}], function () { return [{ type: FormioAuthService }]; }, null); })();
|
|
223
|
+
|
|
224
|
+
class FormioAuthRegisterComponent {
|
|
225
|
+
constructor(service) {
|
|
226
|
+
this.service = service;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
FormioAuthRegisterComponent.ɵfac = function FormioAuthRegisterComponent_Factory(t) { return new (t || FormioAuthRegisterComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
|
|
230
|
+
FormioAuthRegisterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthRegisterComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioAuthRegisterComponent_Template(rf, ctx) { if (rf & 1) {
|
|
231
|
+
i0.ɵɵelementStart(0, "formio", 0);
|
|
232
|
+
i0.ɵɵlistener("submit", function FormioAuthRegisterComponent_Template_formio_submit_0_listener($event) { return ctx.service.onRegisterSubmit($event); });
|
|
233
|
+
i0.ɵɵelementEnd();
|
|
234
|
+
} if (rf & 2) {
|
|
235
|
+
i0.ɵɵproperty("src", ctx.service.registerForm);
|
|
236
|
+
} }, dependencies: [i2.FormioComponent], encapsulation: 2 });
|
|
237
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthRegisterComponent, [{
|
|
238
|
+
type: Component,
|
|
239
|
+
args: [{ template: "<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n" }]
|
|
240
|
+
}], function () { return [{ type: FormioAuthService }]; }, null); })();
|
|
241
|
+
|
|
242
|
+
class FormioResetPassComponent {
|
|
243
|
+
constructor(service) {
|
|
244
|
+
this.service = service;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
FormioResetPassComponent.ɵfac = function FormioResetPassComponent_Factory(t) { return new (t || FormioResetPassComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
|
|
248
|
+
FormioResetPassComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioResetPassComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioResetPassComponent_Template(rf, ctx) { if (rf & 1) {
|
|
249
|
+
i0.ɵɵelementStart(0, "formio", 0);
|
|
250
|
+
i0.ɵɵlistener("submit", function FormioResetPassComponent_Template_formio_submit_0_listener($event) { return ctx.service.onResetPassSubmit($event); });
|
|
251
|
+
i0.ɵɵelementEnd();
|
|
252
|
+
} if (rf & 2) {
|
|
253
|
+
i0.ɵɵproperty("src", ctx.service.resetPassForm);
|
|
254
|
+
} }, dependencies: [i2.FormioComponent], encapsulation: 2 });
|
|
255
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioResetPassComponent, [{
|
|
256
|
+
type: Component,
|
|
257
|
+
args: [{ template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n" }]
|
|
258
|
+
}], function () { return [{ type: FormioAuthService }]; }, null); })();
|
|
259
|
+
|
|
260
|
+
function FormioAuthRoutes(config) {
|
|
261
|
+
return [
|
|
262
|
+
{
|
|
263
|
+
path: '',
|
|
264
|
+
component: config && config.auth ? config.auth : FormioAuthComponent,
|
|
265
|
+
children: [
|
|
266
|
+
{
|
|
267
|
+
path: '',
|
|
268
|
+
redirectTo: 'login',
|
|
269
|
+
pathMatch: 'full'
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
path: 'login',
|
|
273
|
+
component: config && config.login ? config.login : FormioAuthLoginComponent
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
path: 'register',
|
|
277
|
+
component: config && config.register ? config.register : FormioAuthRegisterComponent
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
path: 'resetpass',
|
|
281
|
+
component: config && config.resetpass ? config.resetpass : FormioResetPassComponent
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
}
|
|
285
|
+
];
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
class FormioAuth {
|
|
289
|
+
static forRoot(config) {
|
|
290
|
+
return extendRouter(FormioAuth, config, FormioAuthRoutes);
|
|
291
|
+
}
|
|
292
|
+
static forChild(config) {
|
|
293
|
+
return extendRouter(FormioAuth, config, FormioAuthRoutes);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
FormioAuth.ɵfac = function FormioAuth_Factory(t) { return new (t || FormioAuth)(); };
|
|
297
|
+
FormioAuth.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FormioAuth });
|
|
298
|
+
FormioAuth.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
299
|
+
FormioModule,
|
|
300
|
+
RouterModule] });
|
|
301
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuth, [{
|
|
302
|
+
type: NgModule,
|
|
303
|
+
args: [{
|
|
304
|
+
imports: [
|
|
305
|
+
CommonModule,
|
|
306
|
+
FormioModule,
|
|
307
|
+
RouterModule
|
|
308
|
+
],
|
|
309
|
+
declarations: [
|
|
310
|
+
FormioAuthComponent,
|
|
311
|
+
FormioAuthLoginComponent,
|
|
312
|
+
FormioAuthRegisterComponent,
|
|
313
|
+
FormioResetPassComponent
|
|
314
|
+
]
|
|
315
|
+
}]
|
|
316
|
+
}], null, null); })();
|
|
317
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormioAuth, { declarations: [FormioAuthComponent,
|
|
318
|
+
FormioAuthLoginComponent,
|
|
319
|
+
FormioAuthRegisterComponent,
|
|
320
|
+
FormioResetPassComponent], imports: [CommonModule,
|
|
321
|
+
FormioModule,
|
|
322
|
+
RouterModule] }); })();
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Generated bundle index. Do not edit.
|
|
326
|
+
*/
|
|
327
|
+
|
|
328
|
+
export { FormioAuth, FormioAuthComponent, FormioAuthConfig, FormioAuthLoginComponent, FormioAuthRegisterComponent, FormioAuthRoutes, FormioAuthService, FormioResetPassComponent };
|
|
329
|
+
//# sourceMappingURL=formio-angular-auth.mjs.map
|
|
330
|
+
//# sourceMappingURL=formio-angular-auth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formio-angular-auth.mjs","sources":["../../../projects/angular-formio/auth/src/auth.config.ts","../../../projects/angular-formio/auth/src/auth.service.ts","../../../projects/angular-formio/auth/src/auth.component.ts","../../../projects/angular-formio/auth/src/auth.component.html","../../../projects/angular-formio/auth/src/login/login.component.ts","../../../projects/angular-formio/auth/src/login/login.component.html","../../../projects/angular-formio/auth/src/register/register.component.ts","../../../projects/angular-formio/auth/src/register/register.component.html","../../../projects/angular-formio/auth/src/resetpass/resetpass.component.ts","../../../projects/angular-formio/auth/src/resetpass/resetpass.component.html","../../../projects/angular-formio/auth/src/auth.routes.ts","../../../projects/angular-formio/auth/src/auth.module.ts","../../../projects/angular-formio/auth/src/formio-angular-auth.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioAuthFormConfig {\n path?: string;\n form?: string;\n component?: any;\n}\n\nexport interface FormioAuthRouteConfig {\n auth?: any;\n login?: any;\n register?: any;\n resetpass?: any;\n}\n\n@Injectable()\nexport class FormioAuthConfig {\n component?: any;\n delayAuth?: any;\n login?: FormioAuthFormConfig;\n register?: FormioAuthFormConfig;\n resetpass?: FormioAuthFormConfig;\n oauth?: FormioOAuthConfig;\n}\n\n\nexport interface FormioOAuthConfig {\n type: FormioOauthType;\n options: FormioOktaConfig | FormioSamlConfig;\n}\n\nexport enum FormioOauthType {\n okta = 'okta',\n saml = 'saml',\n}\n\nexport interface FormioOktaConfig extends OktaConfig {\n formio?: any;\n}\n\nexport interface FormioSamlConfig {\n relay: string;\n}\n\n// for more details about Okta configuration options see https://github.com/okta/okta-auth-js#configuration-reference\nexport interface OktaConfig {\n url?: string;\n tokenManager?: OktaTokenManagerConfig;\n issuer?: string;\n clientId?: string;\n redirectUri?: string;\n postLogoutRedirectUri?: string;\n pkce?: boolean;\n authorizeUrl?: string;\n userinfoUrl?: string;\n tokenUrl?: string;\n ignoreSignature?: boolean;\n maxClockSkew?: number;\n scopes?: string[];\n httpRequestClient?: Function;\n}\n\nexport interface OktaTokenManagerConfig {\n storage?: string | {\n getItem?: Function;\n setItem?: Function;\n };\n secure?: boolean;\n autoRenew?: boolean;\n expireEarlySeconds?: number;\n storageKey?: string;\n}\n","import { EventEmitter, Injectable, Inject } from '@angular/core';\nimport { FormioAuthConfig } from './auth.config';\nimport { FormioAppConfig } from '@formio/angular';\nimport { get, each } from 'lodash';\nimport { Formio } from 'formiojs';\n\n@Injectable()\nexport class FormioAuthService {\n public user: any;\n public authenticated = false;\n\n public loginForm: string;\n public onLogin: EventEmitter<object>;\n public onLogout: EventEmitter<object>;\n\n public registerForm: string;\n public onRegister: EventEmitter<object>;\n public onUser: EventEmitter<object>;\n public onError: EventEmitter<any>;\n\n public resetPassForm: string;\n public onResetPass: EventEmitter<object>;\n\n public ready: Promise<boolean>;\n public readyResolve: any;\n public readyReject: any;\n\n public projectReady?: Promise<any>;\n public accessReady?: Promise<any>;\n public userReady?: Promise<any>;\n public formAccess: any = {};\n public submissionAccess: any = {};\n public roles: any;\n public is: any = {};\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioAuthConfig\n ) {\n this.user = null;\n\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = !!this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n\n this.loginForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'login.form', 'user/login');\n this.registerForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'user/register');\n this.resetPassForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'resetpass');\n this.onLogin = new EventEmitter();\n this.onLogout = new EventEmitter();\n this.onRegister = new EventEmitter();\n this.onUser = new EventEmitter();\n this.onError = new EventEmitter();\n\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n\n // Register for the core events.\n Formio.events.on('formio.badToken', () => this.logoutError());\n Formio.events.on('formio.sessionExpired', () => this.logoutError());\n if (!this.config.delayAuth) {\n this.init();\n }\n }\n\n onLoginSubmit(submission: object) {\n this.setUser(submission);\n this.onLogin.emit(submission);\n }\n\n onRegisterSubmit(submission: object) {\n this.setUser(submission);\n this.onRegister.emit(submission);\n }\n\n onResetPassSubmit(submission: object) {\n this.onResetPass.emit(submission);\n }\n\n init() {\n this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then(\n (project: any) => {\n each(project.access, (access: any) => {\n this.formAccess[access.type] = access.roles;\n });\n },\n (): any => {\n this.formAccess = {};\n return null;\n }\n );\n\n // Get the access for this project.\n this.accessReady = Formio.makeStaticRequest(\n this.appConfig.appUrl + '/access'\n ).then(\n (access: any) => {\n each(access.forms, (form: any) => {\n this.submissionAccess[form.name] = {};\n form.submissionAccess.forEach((subAccess: any) => {\n this.submissionAccess[form.name][subAccess.type] = subAccess.roles;\n });\n });\n this.roles = access.roles;\n return access;\n },\n (): any => {\n this.roles = {};\n return null;\n }\n );\n\n let currentUserPromise: Promise<any>;\n if (this.config.oauth) {\n // Make a fix to the hash to remove starting \"/\" that angular might put there.\n if (window.location.hash && window.location.hash.match(/^#\\/access_token/)) {\n history.pushState(null, null, window.location.hash.replace(/^#\\/access_token/, '#access_token'));\n }\n\n // Initiate the SSO if they provide oauth settings.\n currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);\n } else {\n currentUserPromise = Formio.currentUser();\n }\n\n this.userReady = currentUserPromise.then((user: any) => {\n this.setUser(user);\n return user;\n });\n\n // Trigger we are redy when all promises have resolved.\n if (this.accessReady) {\n this.accessReady\n .then(() => this.projectReady)\n .then(() => this.userReady)\n .then(() => this.readyResolve(true))\n .catch((err: any) => this.readyReject(err));\n }\n }\n\n setUser(user: any) {\n const namespace = Formio.namespace || 'formio';\n if (user) {\n this.user = user;\n localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));\n this.setUserRoles();\n } else {\n this.user = null;\n this.is = {};\n localStorage.removeItem(`${namespace}AppUser`);\n Formio.clearCache();\n Formio.setUser(null);\n }\n\n this.authenticated = !!Formio.getToken();\n this.onUser.emit(this.user);\n }\n\n setUserRoles() {\n if (this.accessReady) {\n this.accessReady.then(() => {\n each(this.roles, (role: any, roleName: string) => {\n if (this.user.roles.indexOf(role._id) !== -1) {\n this.is[roleName] = true;\n }\n });\n });\n }\n }\n\n logoutError() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n localStorage.removeItem(`${namespace}Token`);\n this.onError.emit();\n }\n\n logout() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n if(localStorage.getItem(`${namespace}LogoutAuthUrl`)) {\n window.open(localStorage.getItem(`${namespace}LogoutAuthUrl`), null, 'width=1020,height=618');\n localStorage.removeItem(`${namespace}LogoutAuthUrl`)\n }\n this.handleLogout(namespace);\n }\n\n handleLogout(namespace) {\n localStorage.removeItem(`${namespace}Token`);\n Formio.logout()\n .then(() => this.onLogout.emit())\n .catch(() => this.logoutError());\n }\n}\n","import { Component } from '@angular/core';\n@Component({\n templateUrl: './auth.component.html'\n})\nexport class FormioAuthComponent {}\n","<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"resetpass\" routerLinkActive=\"active\">Reset Password</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './login.component.html'\n})\nexport class FormioAuthLoginComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './register.component.html'\n})\nexport class FormioAuthRegisterComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './resetpass.component.html'\n})\nexport class FormioResetPassComponent {\n constructor(public service: FormioAuthService) {}\n}\n","<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n","import { Routes } from '@angular/router';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\n\nexport function FormioAuthRoutes(config?: FormioAuthRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.auth ? config.auth : FormioAuthComponent,\n children: [\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n {\n path: 'login',\n component: config && config.login ? config.login : FormioAuthLoginComponent\n },\n {\n path: 'register',\n component: config && config.register ? config.register : FormioAuthRegisterComponent\n },\n {\n path: 'resetpass',\n component: config && config.resetpass ? config.resetpass : FormioResetPassComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthRoutes } from './auth.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n RouterModule\n ],\n declarations: [\n FormioAuthComponent,\n FormioAuthLoginComponent,\n FormioAuthRegisterComponent,\n FormioResetPassComponent\n ]\n})\nexport class FormioAuth {\n static forRoot(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n static forChild(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioAuthConfig","i1.FormioAuthService"],"mappings":"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"}
|