@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
|
+
{"hash":"95315d6514fae7e236848e2b1256b71246327869","fesm2020":{"code":"import * as i0 from '@angular/core';\nimport { EventEmitter, TemplateRef, Component, Input, Output, ViewChild, Injectable, Pipe, ViewEncapsulation, ViewContainerRef, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i2$1 from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\nimport * as i2 from '@angular/router';\nimport { RouterModule } from '@angular/router';\nimport * as i1$1 from '@formio/angular';\nimport { FormioPromiseService, FormioAlerts, FormioModule } from '@formio/angular';\nimport { each, clone, get } from 'lodash';\nimport { Components, Utils, Formio } from 'formiojs';\nimport * as i3 from 'ngx-bootstrap/pagination';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\n\nvar GridFooterPositions;\n(function (GridFooterPositions) {\n GridFooterPositions[GridFooterPositions[\"bottom\"] = 0] = \"bottom\";\n GridFooterPositions[GridFooterPositions[\"top\"] = 1] = \"top\";\n GridFooterPositions[GridFooterPositions[\"both\"] = 2] = \"both\";\n})(GridFooterPositions || (GridFooterPositions = {}));\n\nclass GridHeaderComponent {\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n get numHeaders() {\n return this.headers.length;\n }\n load(formio, query, columns) {\n return Promise.resolve([]);\n }\n}\nGridHeaderComponent.ɵfac = function GridHeaderComponent_Factory(t) { return new (t || GridHeaderComponent)(); };\nGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridHeaderComponent, selectors: [[\"ng-component\"]], viewQuery: function GridHeaderComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n } }, inputs: { actionAllowed: \"actionAllowed\" }, outputs: { sort: \"sort\" }, decls: 0, vars: 0, template: function GridHeaderComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridHeaderComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return []; }, { actionAllowed: [{\n type: Input\n }], sort: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] }); })();\n\nvar SortType;\n(function (SortType) {\n SortType[\"ASC\"] = \"asc\";\n SortType[\"DESC\"] = \"desc\";\n})(SortType || (SortType = {}));\n\nconst _c0$3 = function (a0, a1) { return { \"glyphicon-triangle-top fa-caret-up\": a0, \"glyphicon-triangle-bottom fa-caret-down\": a1 }; };\nfunction FormGridHeaderComponent_ng_template_0_span_7_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 5);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(1, _c0$3, ctx_r1.header.sort === \"asc\", ctx_r1.header.sort === \"desc\"));\n} }\nfunction FormGridHeaderComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"thead\")(1, \"tr\")(2, \"th\")(3, \"div\", 0)(4, \"div\", 1)(5, \"a\", 2);\n i0.ɵɵlistener(\"click\", function FormGridHeaderComponent_ng_template_0_Template_a_click_5_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sort.emit(ctx_r2.header)); });\n i0.ɵɵtext(6);\n i0.ɵɵtemplate(7, FormGridHeaderComponent_ng_template_0_span_7_Template, 1, 4, \"span\", 3);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(8, \"div\", 4);\n i0.ɵɵtext(9, \" Operations \");\n i0.ɵɵelementEnd()()()()();\n} if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(6);\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.header.label, \"\\u00A0\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.header.sort);\n} }\nclass FormGridHeaderComponent extends GridHeaderComponent {\n load(formio) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n get numHeaders() {\n return 2;\n }\n}\nFormGridHeaderComponent.ɵfac = /*@__PURE__*/ function () { let ɵFormGridHeaderComponent_BaseFactory; return function FormGridHeaderComponent_Factory(t) { return (ɵFormGridHeaderComponent_BaseFactory || (ɵFormGridHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormGridHeaderComponent)))(t || FormGridHeaderComponent); }; }();\nFormGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridHeaderComponent, selectors: [[\"form-grid-header\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[1, \"row\"], [1, \"col-sm-8\"], [3, \"click\"], [\"class\", \"glyphicon fa\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"col-sm-4\"], [1, \"glyphicon\", \"fa\", 3, \"ngClass\"]], template: function FormGridHeaderComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridHeaderComponent_ng_template_0_Template, 10, 2, \"ng-template\");\n } }, dependencies: [i1.NgClass, i1.NgIf], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridHeaderComponent, [{\n type: Component,\n args: [{ selector: 'form-grid-header', template: \"<ng-template>\\n <thead>\\n <tr>\\n <th>\\n <div class=\\\"row\\\">\\n <div class=\\\"col-sm-8\\\">\\n <a (click)=\\\"sort.emit(header)\\\">\\n {{ header.label }} <span [ngClass]=\\\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\\\" class=\\\"glyphicon fa\\\" *ngIf=\\\"header.sort\\\"></span>\\n </a>\\n </div>\\n <div class=\\\"col-sm-4\\\">\\n Operations\\n </div>\\n </div>\\n </th>\\n </tr>\\n </thead>\\n</ng-template>\\n\" }]\n }], null, null); })();\n\nclass GridService {\n constructor() { }\n setRows(rows) {\n this.rows = rows;\n }\n getFormsPerPage() {\n return this.rows?.length;\n }\n}\nGridService.ɵfac = function GridService_Factory(t) { return new (t || GridService)(); };\nGridService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GridService, factory: GridService.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridService, [{\n type: Injectable\n }], function () { return []; }, null); })();\n\nclass GridBodyComponent {\n constructor(service) {\n this.service = service;\n this.firstItem = 0;\n this.lastItem = 0;\n this.skip = 0;\n this.limit = 0;\n this.total = 0;\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n load(formio, query) {\n return formio.loadForm(query);\n }\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query, items) {\n this.rows = [];\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n return this.rows;\n }\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n return this.rows;\n }\n}\nGridBodyComponent.ɵfac = function GridBodyComponent_Factory(t) { return new (t || GridBodyComponent)(i0.ɵɵdirectiveInject(GridService)); };\nGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridBodyComponent, selectors: [[\"ng-component\"]], viewQuery: function GridBodyComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n } }, inputs: { header: \"header\", actionAllowed: \"actionAllowed\" }, outputs: { rowSelect: \"rowSelect\", rowAction: \"rowAction\" }, decls: 0, vars: 0, template: function GridBodyComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridBodyComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return [{ type: GridService }]; }, { header: [{\n type: Input\n }], actionAllowed: [{\n type: Input\n }], rowSelect: [{\n type: Output\n }], rowAction: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] }); })();\n\nclass TimeSince {\n transform(date) {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1) {\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}\nTimeSince.ɵfac = function TimeSince_Factory(t) { return new (t || TimeSince)(); };\nTimeSince.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: \"timeSince\", type: TimeSince, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TimeSince, [{\n type: Pipe,\n args: [{\n name: 'timeSince'\n }]\n }], null, null); })();\n\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template(rf, ctx) { if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 10);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r11); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.onRowAction($event, form_r3, \"view\")); });\n i0.ɵɵelement(1, \"span\", 11);\n i0.ɵɵtext(2, \" Enter Data\");\n i0.ɵɵelementEnd();\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template(rf, ctx) { if (rf & 1) {\n const _r14 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r12 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r12.onRowAction($event, form_r3, \"submission\")); });\n i0.ɵɵelement(1, \"span\", 13);\n i0.ɵɵtext(2, \" View Data\");\n i0.ɵɵelementEnd();\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template(rf, ctx) { if (rf & 1) {\n const _r17 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r17); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r15 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r15.onRowAction($event, form_r3, \"edit\")); });\n i0.ɵɵelement(1, \"span\", 14);\n i0.ɵɵtext(2, \" Edit Form\");\n i0.ɵɵelementEnd();\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template(rf, ctx) { if (rf & 1) {\n const _r20 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r20); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r18 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r18.onRowAction($event, form_r3, \"permissions\")); });\n i0.ɵɵelement(1, \"span\", 15);\n i0.ɵɵtext(2, \" Permissions\");\n i0.ɵɵelementEnd();\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template(rf, ctx) { if (rf & 1) {\n const _r23 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 16);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.onRowAction($event, form_r3, \"delete\")); });\n i0.ɵɵelement(1, \"span\", 17);\n i0.ɵɵelementEnd();\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template(rf, ctx) { if (rf & 1) {\n const _r25 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"tr\")(1, \"td\")(2, \"div\", 2)(3, \"div\", 3)(4, \"a\", 4);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template_a_click_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r25); const form_r3 = restoredCtx.$implicit; const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.onRowSelect($event, form_r3)); });\n i0.ɵɵelementStart(5, \"h5\");\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"div\", 5);\n i0.ɵɵtext(8);\n i0.ɵɵpipe(9, \"timeSince\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(10, \"div\", 6);\n i0.ɵɵtemplate(11, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template, 3, 0, \"button\", 7);\n i0.ɵɵtext(12, \"\\u00A0 \");\n i0.ɵɵtemplate(13, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(14, \"\\u00A0 \");\n i0.ɵɵtemplate(15, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(16, \"\\u00A0 \");\n i0.ɵɵtemplate(17, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(18, \"\\u00A0 \");\n i0.ɵɵtemplate(19, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template, 2, 0, \"button\", 9);\n i0.ɵɵelementEnd()()()();\n} if (rf & 2) {\n const form_r3 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(4);\n i0.ɵɵpropertyInterpolate1(\"routerLink\", \"\", form_r3._id, \"/view\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(form_r3.title);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" Updated \", i0.ɵɵpipeBind1(9, 8, form_r3.modified), \" ago \");\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formView\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formSubmission\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formEdit\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formPermission\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formDelete\"));\n} }\nfunction FormGridBodyComponent_ng_template_0_tbody_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tbody\");\n i0.ɵɵtemplate(1, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template, 20, 10, \"tr\", 1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.rows);\n} }\nfunction FormGridBodyComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridBodyComponent_ng_template_0_tbody_0_Template, 2, 1, \"tbody\", 0);\n} if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.rows);\n} }\nclass FormGridBodyComponent extends GridBodyComponent {\n load(formio, query) {\n query = query || {};\n return formio.loadForms({ params: query }).then((forms) => this.setRows(query, forms));\n }\n}\nFormGridBodyComponent.ɵfac = /*@__PURE__*/ function () { let ɵFormGridBodyComponent_BaseFactory; return function FormGridBodyComponent_Factory(t) { return (ɵFormGridBodyComponent_BaseFactory || (ɵFormGridBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormGridBodyComponent)))(t || FormGridBodyComponent); }; }();\nFormGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridBodyComponent, selectors: [[\"form-grid-body\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"row\"], [1, \"col-sm-8\"], [3, \"routerLink\", \"click\"], [1, \"form-updated\", \"small\", \"text-muted\"], [1, \"col-sm-4\"], [\"class\", \"btn btn-outline-secondary btn-sm form-btn form-btn-use\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-outline-secondary btn-sm form-btn\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-danger btn-sm form-btn form-btn-delete\", \"title\", \"Delete form\", 3, \"click\", 4, \"ngIf\"], [1, \"btn\", \"btn-outline-secondary\", \"btn-sm\", \"form-btn\", \"form-btn-use\", 3, \"click\"], [1, \"fa\", \"fa-pencil\"], [1, \"btn\", \"btn-outline-secondary\", \"btn-sm\", \"form-btn\", 3, \"click\"], [1, \"fa\", \"fa-list-alt\"], [1, \"fa\", \"fa-edit\"], [1, \"fa\", \"fa-lock\"], [\"title\", \"Delete form\", 1, \"btn\", \"btn-danger\", \"btn-sm\", \"form-btn\", \"form-btn-delete\", 3, \"click\"], [1, \"fa\", \"fa-trash\"]], template: function FormGridBodyComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridBodyComponent_ng_template_0_Template, 1, 1, \"ng-template\");\n } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RouterLink, TimeSince], styles: [\".form-btn[_ngcontent-%COMP%]{font-size:.75rem;margin:2px 0}\"] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridBodyComponent, [{\n type: Component,\n args: [{ selector: 'form-grid-body', template: \"<ng-template>\\n <tbody *ngIf=\\\"rows\\\">\\n <tr *ngFor=\\\"let form of rows\\\">\\n <td>\\n <div class=\\\"row\\\">\\n <div class=\\\"col-sm-8\\\">\\n <a routerLink=\\\"{{form._id}}/view\\\" (click)=\\\"onRowSelect($event, form)\\\"><h5>{{ form.title }}</h5></a>\\n <div class=\\\"form-updated small text-muted\\\">\\n Updated {{ form.modified | timeSince }} ago\\n </div>\\n </div>\\n <div class=\\\"col-sm-4\\\">\\n <button *ngIf=\\\"actionAllowed('formView')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn form-btn-use\\\" (click)=\\\"onRowAction($event, form, 'view')\\\"><span class=\\\"fa fa-pencil\\\"></span> Enter Data</button> \\n <button *ngIf=\\\"actionAllowed('formSubmission')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'submission')\\\"><span class=\\\"fa fa-list-alt\\\"></span> View Data</button> \\n <button *ngIf=\\\"actionAllowed('formEdit')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'edit')\\\"><span class=\\\"fa fa-edit\\\"></span> Edit Form</button> \\n <button *ngIf=\\\"actionAllowed('formPermission')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'permissions')\\\"><span class=\\\"fa fa-lock\\\"></span> Permissions</button> \\n <button *ngIf=\\\"actionAllowed('formDelete')\\\" class=\\\"btn btn-danger btn-sm form-btn form-btn-delete\\\" (click)=\\\"onRowAction($event, form, 'delete')\\\" title=\\\"Delete form\\\"><span class=\\\"fa fa-trash\\\"></span></button>\\n </div>\\n </div>\\n </td>\\n </tr>\\n </tbody>\\n</ng-template>\\n\", styles: [\".form-btn{font-size:.75rem;margin:2px 0}\\n\"] }]\n }], null, null); })();\n\nclass GridFooterComponent {\n constructor() {\n this.footerPositions = GridFooterPositions;\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\nGridFooterComponent.ɵfac = function GridFooterComponent_Factory(t) { return new (t || GridFooterComponent)(); };\nGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridFooterComponent, selectors: [[\"ng-component\"]], viewQuery: function GridFooterComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n } }, inputs: { header: \"header\", body: \"body\", createText: \"createText\", size: \"size\", actionAllowed: \"actionAllowed\" }, outputs: { pageChanged: \"pageChanged\", createItem: \"createItem\" }, decls: 0, vars: 0, template: function GridFooterComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridFooterComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return []; }, { header: [{\n type: Input\n }], body: [{\n type: Input\n }], createText: [{\n type: Input\n }], size: [{\n type: Input\n }], actionAllowed: [{\n type: Input\n }], pageChanged: [{\n type: Output\n }], createItem: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] }); })();\n\nconst _c0$2 = function (a0) { return { label: a0 }; };\nfunction FormGridFooterComponent_ng_template_0_thead_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const label_r5 = i0.ɵɵnextContext().label;\n i0.ɵɵnextContext();\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c0$2, label_r5));\n} }\nfunction FormGridFooterComponent_ng_template_0_tfoot_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tfoot\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const label_r5 = i0.ɵɵnextContext().label;\n i0.ɵɵnextContext();\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c0$2, label_r5));\n} }\nfunction FormGridFooterComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridFooterComponent_ng_template_0_thead_0_Template, 2, 4, \"thead\", 2);\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_0_tfoot_1_Template, 2, 4, \"tfoot\", 2);\n} if (rf & 2) {\n const position_r4 = ctx.position;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.top);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.bottom);\n} }\nfunction FormGridFooterComponent_ng_template_2_td_1_button_1_Template(rf, ctx) { if (rf & 1) {\n const _r14 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridFooterComponent_ng_template_2_td_1_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.createItem.emit(\"form\")); });\n i0.ɵɵelement(1, \"em\", 13);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r12 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r12.createText, \"\");\n} }\nfunction FormGridFooterComponent_ng_template_2_td_1_Template(rf, ctx) { if (rf & 1) {\n const _r16 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td\", 6);\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_2_td_1_button_1_Template, 3, 1, \"button\", 7);\n i0.ɵɵelementStart(2, \"span\", 8)(3, \"span\", 9);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"span\", 10)(7, \"pagination\", 11);\n i0.ɵɵlistener(\"ngModelChange\", function FormGridFooterComponent_ng_template_2_td_1_Template_pagination_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.body.skip = $event); })(\"pageChanged\", function FormGridFooterComponent_ng_template_2_td_1_Template_pagination_pageChanged_7_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.pageChanged.emit($event)); });\n i0.ɵɵelementEnd()()();\n} if (rf & 2) {\n const label_r10 = i0.ɵɵnextContext().label;\n const ctx_r11 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"colSpan\", ctx_r11.header.numHeaders);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r11.actionAllowed(\"formCreate\"));\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate2(\"\", ctx_r11.body.firstItem, \" - \", ctx_r11.body.lastItem, \"\");\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" / \", ctx_r11.body.total, \" total\");\n i0.ɵɵadvance(1);\n i0.ɵɵattribute(\"aria-label\", label_r10);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"totalItems\", ctx_r11.body.total)(\"itemsPerPage\", ctx_r11.body.limit)(\"ngModel\", ctx_r11.body.skip)(\"maxSize\", ctx_r11.size);\n} }\nfunction FormGridFooterComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tr\");\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_2_td_1_Template, 8, 10, \"td\", 5);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.header);\n} }\nclass FormGridFooterComponent extends GridFooterComponent {\n constructor() {\n super();\n }\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\nFormGridFooterComponent.ɵfac = function FormGridFooterComponent_Factory(t) { return new (t || FormGridFooterComponent)(); };\nFormGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridFooterComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 0, consts: [[\"footer\", \"\"], [\"defaultFooterTemplate\", \"\"], [\"class\", \"formio-grid-footer\", 4, \"ngIf\"], [1, \"formio-grid-footer\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"colSpan\", 4, \"ngIf\"], [3, \"colSpan\"], [\"class\", \"btn btn-primary form-btn-use pull-left float-left\", 3, \"click\", 4, \"ngIf\"], [1, \"pull-right\", \"float-right\", \"item-counter\"], [1, \"page-num\"], [\"role\", \"navigation\"], [1, \"justify-content-center\", \"pagination-sm\", 3, \"totalItems\", \"itemsPerPage\", \"ngModel\", \"maxSize\", \"ngModelChange\", \"pageChanged\"], [1, \"btn\", \"btn-primary\", \"form-btn-use\", \"pull-left\", \"float-left\", 3, \"click\"], [1, \"glyphicon\", \"glyphicon-plus\", \"fa\", \"fa-plus\"]], template: function FormGridFooterComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridFooterComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, FormGridFooterComponent_ng_template_2_Template, 2, 1, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2$1.NgControlStatus, i2$1.NgModel, i3.PaginationComponent], styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridFooterComponent, [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, template: \"<ng-template #footer let-position=\\\"position\\\" let-label=\\\"label\\\">\\n <thead class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.top\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\" [ngTemplateOutletContext]=\\\"{ label: label }\\\"></ng-container>\\n </thead>\\n <tfoot class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.bottom\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\" [ngTemplateOutletContext]=\\\"{ label: label }\\\"></ng-container>\\n </tfoot>\\n</ng-template>\\n\\n<ng-template let-label=\\\"label\\\" #defaultFooterTemplate>\\n <tr>\\n <td *ngIf=\\\"header\\\" [colSpan]=\\\"header.numHeaders\\\">\\n <button *ngIf=\\\"actionAllowed('formCreate')\\\" class=\\\"btn btn-primary form-btn-use pull-left float-left\\\" (click)=\\\"createItem.emit('form')\\\"><em class=\\\"glyphicon glyphicon-plus fa fa-plus\\\"></em> {{ createText }}</button>\\n <span class=\\\"pull-right float-right item-counter\\\"><span class=\\\"page-num\\\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\\n <span [attr.aria-label]=\\\"label\\\" role=\\\"navigation\\\">\\n <pagination [totalItems]=\\\"body.total\\\" [itemsPerPage]=\\\"body.limit\\\" [(ngModel)]=\\\"body.skip\\\" (pageChanged)=\\\"pageChanged.emit($event)\\\" [maxSize]=\\\"size\\\" class=\\\"justify-content-center pagination-sm\\\">\\n </pagination>\\n </span>\\n </td>\\n </tr>\\n</ng-template>\\n\", styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"] }]\n }], function () { return []; }, null); })();\n\nvar FormComponents = {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n\nconst _c0$1 = function (a0, a1) { return { \"glyphicon-triangle-top\": a0, \"glyphicon-triangle-bottom\": a1 }; };\nfunction SubmissionGridHeaderComponent_ng_template_0_th_2_span_3_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 3);\n} if (rf & 2) {\n const header_r2 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(1, _c0$1, header_r2.sort === \"asc\", header_r2.sort === \"desc\"));\n} }\nfunction SubmissionGridHeaderComponent_ng_template_0_th_2_Template(rf, ctx) { if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"th\")(1, \"a\", 1);\n i0.ɵɵlistener(\"click\", function SubmissionGridHeaderComponent_ng_template_0_th_2_Template_a_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const header_r2 = restoredCtx.$implicit; const ctx_r5 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r5.sort.emit(header_r2)); });\n i0.ɵɵtext(2);\n i0.ɵɵtemplate(3, SubmissionGridHeaderComponent_ng_template_0_th_2_span_3_Template, 1, 4, \"span\", 2);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const header_r2 = ctx.$implicit;\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", header_r2.label, \"\\u00A0\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", header_r2.sort);\n} }\nfunction SubmissionGridHeaderComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\")(1, \"tr\");\n i0.ɵɵtemplate(2, SubmissionGridHeaderComponent_ng_template_0_th_2_Template, 4, 2, \"th\", 0);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r0.headers);\n} }\nclass SubmissionGridHeaderComponent extends GridHeaderComponent {\n load(formio, query, columns) {\n query = query || {};\n return formio.loadForm({ params: query }).then((form) => {\n this.headers = [];\n this.formComponents = new Map();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n return this.headers;\n });\n }\n setHeader(header) {\n this.headers.push(header);\n }\n getHeaderForColumn(column, component, sort) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n getHeaderForComponent(component, path, sort) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components, sort) {\n components.forEach((component, path) => {\n if (component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component, newPath) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\nSubmissionGridHeaderComponent.ɵfac = /*@__PURE__*/ function () { let ɵSubmissionGridHeaderComponent_BaseFactory; return function SubmissionGridHeaderComponent_Factory(t) { return (ɵSubmissionGridHeaderComponent_BaseFactory || (ɵSubmissionGridHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SubmissionGridHeaderComponent)))(t || SubmissionGridHeaderComponent); }; }();\nSubmissionGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridHeaderComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[4, \"ngFor\", \"ngForOf\"], [3, \"click\"], [\"class\", \"glyphicon\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"glyphicon\", 3, \"ngClass\"]], template: function SubmissionGridHeaderComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridHeaderComponent_ng_template_0_Template, 3, 1, \"ng-template\");\n } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridHeaderComponent, [{\n type: Component,\n args: [{ template: \"<ng-template>\\n <thead>\\n <tr>\\n <th *ngFor=\\\"let header of headers\\\">\\n <a (click)=\\\"sort.emit(header)\\\">\\n {{ header.label }} <span [ngClass]=\\\"{'glyphicon-triangle-top': (header.sort === 'asc'), 'glyphicon-triangle-bottom': (header.sort === 'desc')}\\\" class=\\\"glyphicon\\\" *ngIf=\\\"header.sort\\\"></span>\\n </a>\\n </th>\\n </tr>\\n </thead>\\n</ng-template>\\n\" }]\n }], null, null); })();\n\nfunction SubmissionGridBodyComponent_ng_template_0_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td\", 3);\n} if (rf & 2) {\n const rowHeader_r4 = ctx.$implicit;\n const row_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r3 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"innerHTML\", ctx_r3.view(row_r2, rowHeader_r4), i0.ɵɵsanitizeHtml);\n} }\nfunction SubmissionGridBodyComponent_ng_template_0_tr_1_Template(rf, ctx) { if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"tr\", 1);\n i0.ɵɵlistener(\"click\", function SubmissionGridBodyComponent_ng_template_0_tr_1_Template_tr_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r7); const row_r2 = restoredCtx.$implicit; const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.onRowSelect($event, row_r2)); });\n i0.ɵɵtemplate(1, SubmissionGridBodyComponent_ng_template_0_tr_1_td_1_Template, 1, 1, \"td\", 2);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.header.headers);\n} }\nfunction SubmissionGridBodyComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tbody\");\n i0.ɵɵtemplate(1, SubmissionGridBodyComponent_ng_template_0_tr_1_Template, 2, 1, \"tr\", 0);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r0.rows);\n} }\nclass SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio, query) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions) => this.setRows(query, submissions));\n }\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission, header) {\n const cellValue = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n }\n else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n }\n else {\n return cellValue.toString();\n }\n }\n }\n}\nSubmissionGridBodyComponent.ɵfac = /*@__PURE__*/ function () { let ɵSubmissionGridBodyComponent_BaseFactory; return function SubmissionGridBodyComponent_Factory(t) { return (ɵSubmissionGridBodyComponent_BaseFactory || (ɵSubmissionGridBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SubmissionGridBodyComponent)))(t || SubmissionGridBodyComponent); }; }();\nSubmissionGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridBodyComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[3, \"click\", 4, \"ngFor\", \"ngForOf\"], [3, \"click\"], [3, \"innerHTML\", 4, \"ngFor\", \"ngForOf\"], [3, \"innerHTML\"]], template: function SubmissionGridBodyComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridBodyComponent_ng_template_0_Template, 2, 1, \"ng-template\");\n } }, dependencies: [i1.NgForOf], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridBodyComponent, [{\n type: Component,\n args: [{ template: \"<ng-template>\\n <tbody>\\n <tr *ngFor=\\\"let row of rows\\\" (click)=\\\"onRowSelect($event, row)\\\">\\n <td *ngFor=\\\"let rowHeader of header.headers\\\" [innerHTML]=\\\"view(row, rowHeader)\\\"></td>\\n </tr>\\n </tbody>\\n</ng-template>\\n\" }]\n }], null, null); })();\n\nfunction SubmissionGridFooterComponent_ng_template_0_thead_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n i0.ɵɵnextContext(2);\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2);\n} }\nfunction SubmissionGridFooterComponent_ng_template_0_tfoot_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tfoot\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n i0.ɵɵnextContext(2);\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2);\n} }\nfunction SubmissionGridFooterComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridFooterComponent_ng_template_0_thead_0_Template, 2, 1, \"thead\", 2);\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_0_tfoot_1_Template, 2, 1, \"tfoot\", 2);\n} if (rf & 2) {\n const position_r4 = ctx.position;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.top);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.bottom);\n} }\nfunction SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template(rf, ctx) { if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 11);\n i0.ɵɵlistener(\"click\", function SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.createItem.emit(\"form\")); });\n i0.ɵɵelement(1, \"em\", 12);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r8 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r8.createText, \"\");\n} }\nfunction SubmissionGridFooterComponent_ng_template_2_td_1_Template(rf, ctx) { if (rf & 1) {\n const _r12 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td\", 6);\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template, 3, 1, \"button\", 7);\n i0.ɵɵelementStart(2, \"span\", 8)(3, \"span\", 9);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"pagination\", 10);\n i0.ɵɵlistener(\"ngModelChange\", function SubmissionGridFooterComponent_ng_template_2_td_1_Template_pagination_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.body.skip = $event); })(\"pageChanged\", function SubmissionGridFooterComponent_ng_template_2_td_1_Template_pagination_pageChanged_6_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.pageChanged.emit($event)); });\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"colSpan\", ctx_r7.header.numHeaders);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r7.actionAllowed(\"submissionCreate\") && ctx_r7.createText);\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate2(\"\", ctx_r7.body.firstItem, \" - \", ctx_r7.body.lastItem, \"\");\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" / \", ctx_r7.body.total, \" total\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"totalItems\", ctx_r7.body.total)(\"itemsPerPage\", ctx_r7.body.limit)(\"ngModel\", ctx_r7.body.skip)(\"maxSize\", ctx_r7.size);\n} }\nfunction SubmissionGridFooterComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"tr\");\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_2_td_1_Template, 7, 9, \"td\", 5);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.header);\n} }\nclass SubmissionGridFooterComponent extends GridFooterComponent {\n constructor() {\n super();\n }\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\nSubmissionGridFooterComponent.ɵfac = function SubmissionGridFooterComponent_Factory(t) { return new (t || SubmissionGridFooterComponent)(); };\nSubmissionGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridFooterComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 0, consts: [[\"footer\", \"\"], [\"defaultFooterTemplate\", \"\"], [\"class\", \"formio-grid-footer\", 4, \"ngIf\"], [1, \"formio-grid-footer\"], [3, \"ngTemplateOutlet\"], [3, \"colSpan\", 4, \"ngIf\"], [3, \"colSpan\"], [\"class\", \"btn btn-primary pull-left float-left\", 3, \"click\", 4, \"ngIf\"], [1, \"pull-right\", \"float-right\", \"item-counter\"], [1, \"page-num\"], [1, \"justify-content-center\", \"pagination-sm\", 3, \"totalItems\", \"itemsPerPage\", \"ngModel\", \"maxSize\", \"ngModelChange\", \"pageChanged\"], [1, \"btn\", \"btn-primary\", \"pull-left\", \"float-left\", 3, \"click\"], [1, \"glyphicon\", \"glyphicon-plus\", \"fa\", \"fa-plus\"]], template: function SubmissionGridFooterComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridFooterComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, SubmissionGridFooterComponent_ng_template_2_Template, 2, 1, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2$1.NgControlStatus, i2$1.NgModel, i3.PaginationComponent], styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridFooterComponent, [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, template: \"<ng-template #footer let-position=\\\"position\\\">\\n <thead class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.top\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\"></ng-container>\\n </thead>\\n <tfoot class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.bottom\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\"></ng-container>\\n </tfoot>\\n</ng-template>\\n\\n<ng-template #defaultFooterTemplate>\\n <tr>\\n <td *ngIf=\\\"header\\\" [colSpan]=\\\"header.numHeaders\\\">\\n <button *ngIf=\\\"actionAllowed('submissionCreate') && createText\\\" class=\\\"btn btn-primary pull-left float-left\\\" (click)=\\\"createItem.emit('form')\\\"><em class=\\\"glyphicon glyphicon-plus fa fa-plus\\\"></em> {{ createText }}</button>\\n <span class=\\\"pull-right float-right item-counter\\\"><span class=\\\"page-num\\\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\\n <pagination [totalItems]=\\\"body.total\\\" [itemsPerPage]=\\\"body.limit\\\" [(ngModel)]=\\\"body.skip\\\" (pageChanged)=\\\"pageChanged.emit($event)\\\" [maxSize]=\\\"size\\\" class=\\\"justify-content-center pagination-sm\\\"></pagination>\\n </td>\\n </tr>\\n</ng-template>\\n\", styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"] }]\n }], function () { return []; }, null); })();\n\nvar SubmissionComponents = {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n\nconst _c0 = [\"headerTemplate\"];\nconst _c1 = [\"bodyTemplate\"];\nconst _c2 = [\"footerTemplate\"];\nfunction FormioGridComponent_ng_template_0_Template(rf, ctx) { }\nfunction FormioGridComponent_ng_template_2_Template(rf, ctx) { }\nfunction FormioGridComponent_ng_template_4_Template(rf, ctx) { }\nconst _c3 = function (a0, a1) { return { position: a0, label: a1 }; };\nfunction FormioGridComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0, 9);\n} if (rf & 2) {\n const ctx_r6 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r6.footer.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c3, ctx_r6.footerPositions.top, ctx_r6.label));\n} }\nfunction FormioGridComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0, 10);\n} if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r7.header.template);\n} }\nfunction FormioGridComponent_ng_container_12_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0, 10);\n} if (rf & 2) {\n const ctx_r8 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r8.body.template);\n} }\nfunction FormioGridComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0, 9);\n} if (rf & 2) {\n const ctx_r9 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r9.footer.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c3, ctx_r9.footerPositions.bottom, ctx_r9.label));\n} }\nconst _c4 = function (a0, a1) { return [a0, a1]; };\nclass FormioGridComponent {\n constructor(alerts, resolver, ref) {\n this.alerts = alerts;\n this.resolver = resolver;\n this.ref = ref;\n this.footerPosition = GridFooterPositions.bottom;\n this.page = 0;\n this.isLoading = false;\n this.initialized = false;\n this.footerPositions = GridFooterPositions;\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n loadGrid(src) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n ngOnChanges(changes) {\n if (this.initialized) {\n if ((changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)) {\n this.loadGrid(changes.src.currentValue);\n }\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n }\n else {\n return true;\n }\n }\n onError(error) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n refreshGrid(query) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n }\n else {\n loader = this.body.load(this.formio, this.query);\n }\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n sortColumn(header) {\n // Reset all other column sorts.\n each(this.header.headers, (col) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n pageChanged(page) {\n this.setPage(page.page - 1);\n }\n}\nFormioGridComponent.ɵfac = function FormioGridComponent_Factory(t) { return new (t || FormioGridComponent)(i0.ɵɵdirectiveInject(i1$1.FormioAlerts), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };\nFormioGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioGridComponent, selectors: [[\"formio-grid\"]], viewQuery: function FormioGridComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7, ViewContainerRef);\n i0.ɵɵviewQuery(_c1, 7, ViewContainerRef);\n i0.ɵɵviewQuery(_c2, 7, ViewContainerRef);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerElement = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bodyElement = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerElement = _t.first);\n } }, inputs: { footerPosition: \"footerPosition\", src: \"src\", items: \"items\", onForm: \"onForm\", query: \"query\", refresh: \"refresh\", columns: \"columns\", gridType: \"gridType\", size: \"size\", components: \"components\", formio: \"formio\", label: \"label\", createText: \"createText\", isActionAllowed: \"isActionAllowed\" }, outputs: { select: \"select\", rowSelect: \"rowSelect\", rowAction: \"rowAction\", createItem: \"createItem\", error: \"error\" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 12, consts: [[\"headerTemplate\", \"\"], [\"bodyTemplate\", \"\"], [\"footerTemplate\", \"\"], [1, \"formio-grid\"], [3, \"alerts\"], [1, \"table\", \"table-bordered\", \"table-striped\", \"table-hover\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\", 4, \"ngIf\"], [3, \"isLoading\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"ngTemplateOutlet\"]], template: function FormioGridComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, FormioGridComponent_ng_template_0_Template, 0, 0, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, FormioGridComponent_ng_template_2_Template, 0, 0, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(4, FormioGridComponent_ng_template_4_Template, 0, 0, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementStart(6, \"div\", 3);\n i0.ɵɵelement(7, \"formio-alerts\", 4);\n i0.ɵɵelementStart(8, \"table\", 5);\n i0.ɵɵtemplate(9, FormioGridComponent_ng_container_9_Template, 1, 5, \"ng-container\", 6);\n i0.ɵɵtemplate(10, FormioGridComponent_ng_container_10_Template, 1, 1, \"ng-container\", 7);\n i0.ɵɵelement(11, \"formio-loader\", 8);\n i0.ɵɵtemplate(12, FormioGridComponent_ng_container_12_Template, 1, 1, \"ng-container\", 7);\n i0.ɵɵtemplate(13, FormioGridComponent_ng_container_13_Template, 1, 5, \"ng-container\", 6);\n i0.ɵɵelementEnd()();\n } if (rf & 2) {\n i0.ɵɵadvance(7);\n i0.ɵɵproperty(\"alerts\", ctx.alerts);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized && i0.ɵɵpureFunction2(6, _c4, ctx.footerPositions.top, ctx.footerPositions.both).indexOf(ctx.footerPosition) !== -1);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"isLoading\", ctx.isLoading);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized && i0.ɵɵpureFunction2(9, _c4, ctx.footerPositions.bottom, ctx.footerPositions.both).indexOf(ctx.footerPosition) !== -1);\n } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i1$1.FormioLoaderComponent, i1$1.FormioAlertsComponent], styles: [\".formio-grid[_ngcontent-%COMP%]{position:relative;width:100%}.grid-refresh[_ngcontent-%COMP%]{height:400px;width:100%}\"] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormioGridComponent, [{\n type: Component,\n args: [{ selector: 'formio-grid', template: \"<ng-template #headerTemplate></ng-template>\\n<ng-template #bodyTemplate></ng-template>\\n<ng-template #footerTemplate></ng-template>\\n<div class=\\\"formio-grid\\\">\\n <formio-alerts [alerts]=\\\"alerts\\\"></formio-alerts>\\n <table class=\\\"table table-bordered table-striped table-hover\\\">\\n <ng-container *ngIf=\\\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\\\"\\n [ngTemplateOutlet]=\\\"footer.template\\\" [ngTemplateOutletContext]=\\\"{ position: footerPositions.top, label: label }\\\">\\n </ng-container>\\n <ng-container *ngIf=\\\"initialized\\\"\\n [ngTemplateOutlet]=\\\"header.template\\\"></ng-container>\\n <formio-loader [isLoading]=\\\"isLoading\\\"></formio-loader>\\n <ng-container *ngIf=\\\"initialized\\\" [ngTemplateOutlet]=\\\"body.template\\\"></ng-container>\\n <ng-container *ngIf=\\\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\\\"\\n [ngTemplateOutlet]=\\\"footer.template\\\" [ngTemplateOutletContext]=\\\"{ position: footerPositions.bottom, label: label }\\\">\\n </ng-container>\\n </table>\\n</div>\\n\", styles: [\".formio-grid{position:relative;width:100%}.grid-refresh{height:400px;width:100%}\\n\"] }]\n }], function () { return [{ type: i1$1.FormioAlerts }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }]; }, { footerPosition: [{\n type: Input\n }], src: [{\n type: Input\n }], items: [{\n type: Input\n }], onForm: [{\n type: Input\n }], query: [{\n type: Input\n }], refresh: [{\n type: Input\n }], columns: [{\n type: Input\n }], gridType: [{\n type: Input\n }], size: [{\n type: Input\n }], components: [{\n type: Input\n }], formio: [{\n type: Input\n }], label: [{\n type: Input\n }], createText: [{\n type: Input\n }], isActionAllowed: [{\n type: Input\n }], select: [{\n type: Output\n }], rowSelect: [{\n type: Output\n }], rowAction: [{\n type: Output\n }], createItem: [{\n type: Output\n }], error: [{\n type: Output\n }], headerElement: [{\n type: ViewChild,\n args: ['headerTemplate', { read: ViewContainerRef, static: true }]\n }], bodyElement: [{\n type: ViewChild,\n args: ['bodyTemplate', { read: ViewContainerRef, static: true }]\n }], footerElement: [{\n type: ViewChild,\n args: ['footerTemplate', { read: ViewContainerRef, static: true }]\n }] }); })();\n\nclass FormioGrid {\n}\nFormioGrid.ɵfac = function FormioGrid_Factory(t) { return new (t || FormioGrid)(); };\nFormioGrid.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FormioGrid });\nFormioGrid.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [\n FormioAlerts,\n GridService\n ], imports: [CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormioGrid, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormioGrid, { declarations: [FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince], imports: [CommonModule,\n FormsModule,\n FormioModule,\n RouterModule, i3.PaginationModule], exports: [FormioGridComponent] }); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FormGridBodyComponent, FormGridFooterComponent, FormGridHeaderComponent, FormioGrid, FormioGridComponent, GridBodyComponent, GridFooterComponent, GridHeaderComponent, GridService, SubmissionGridBodyComponent, SubmissionGridFooterComponent, SubmissionGridHeaderComponent };\n//# sourceMappingURL=formio-angular-grid.mjs.map\n//# sourceMappingURL=formio-angular-grid.mjs.map\n","map":{"version":3,"file":"formio-angular-grid.mjs","sources":["../../../projects/angular-formio/grid/src/types/grid-footer-positions.ts","../../../projects/angular-formio/grid/src/GridHeaderComponent.ts","../../../projects/angular-formio/grid/src/types/grid-header.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.html","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.ts","../../../projects/angular-formio/grid/src/grid.service.ts","../../../projects/angular-formio/grid/src/GridBodyComponent.ts","../../../projects/angular-formio/grid/src/form/time-since.pipe.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.html","../../../projects/angular-formio/grid/src/form/FormGridBody.component.ts","../../../projects/angular-formio/grid/src/GridFooterComponent.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.html","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.ts","../../../projects/angular-formio/grid/src/form/index.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts","../../../projects/angular-formio/grid/src/submission/index.ts","../../../projects/angular-formio/grid/src/grid.component.html","../../../projects/angular-formio/grid/src/grid.component.ts","../../../projects/angular-formio/grid/src/grid.module.ts","../../../projects/angular-formio/grid/src/formio-angular-grid.ts"],"sourcesContent":["export enum GridFooterPositions {\n bottom,\n top,\n both\n}\n","import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridHeader} from './types/grid-header';\n\n@Component({\n template: ''\n})\nexport class GridHeaderComponent {\n @Input() actionAllowed: any;\n @Output() sort: EventEmitter<GridHeader>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public headers: Array<GridHeader>;\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n\n get numHeaders() {\n return this.headers.length;\n }\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<any>): Promise<any> {\n return Promise.resolve([]);\n }\n}\n","import {ComponentInstance} from '@formio/angular';\n\nexport interface GridHeader {\n component?: ComponentInstance;\n key: string;\n sort?: SortType;\n label: string;\n renderCell?(cellValue: any, component?: ComponentInstance): string;\n}\n\nexport enum SortType {\n ASC = 'asc',\n DESC = 'desc'\n}\n","<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }} <span [ngClass]=\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\" class=\"glyphicon fa\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-4\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import {Component} from '@angular/core';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n selector: 'form-grid-header',\n templateUrl: './FormGridHeader.component.html'\n})\nexport class FormGridHeaderComponent extends GridHeaderComponent {\n public header: GridHeader;\n load(formio?: any) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n\n get numHeaders() {\n return 2;\n }\n}\n","import { Injectable } from '@angular/core';\nimport _intersection from 'lodash/intersection';\n\n@Injectable()\nexport class GridService {\n public rows: Array<any>;\n constructor() {}\n\n setRows(rows) {\n this.rows = rows;\n }\n\n getFormsPerPage() {\n return this.rows?.length;\n }\n}\n","import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core';\nimport { each, clone } from 'lodash';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridService } from './grid.service';\nimport {FormioPromiseService} from '@formio/angular';\n\n@Component({\n template: ''\n})\nexport class GridBodyComponent {\n @Input() header: GridHeaderComponent;\n @Input() actionAllowed: any;\n @Output() rowSelect: EventEmitter<any>;\n @Output() rowAction: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public rows: Array<any>;\n public loading: Boolean;\n public firstItem = 0;\n public lastItem = 0;\n public skip = 0;\n public limit = 0;\n public total = 0;\n constructor(public service: GridService) {\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n\n load(formio: FormioPromiseService, query?: any): Promise<any> {\n return formio.loadForm(query);\n }\n\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query: any, items: any) {\n this.rows = [];\n\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n \n return this.rows;\n }\n\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item: any) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n\n return this.rows;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeSince'\n})\nexport class TimeSince implements PipeTransform {\n transform(date: Date): string {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1){\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}","<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-4\">\n <button *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil\"></span> Enter Data</button> \n <button *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt\"></span> View Data</button> \n <button *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit\"></span> Edit Form</button> \n <button *ngIf=\"actionAllowed('formPermission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'permissions')\"><span class=\"fa fa-lock\"></span> Permissions</button> \n <button *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-danger btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport { FormioPromiseService } from '@formio/angular';\n\n@Component({\n selector: 'form-grid-body',\n styleUrls: ['./FormGridBody.component.scss'],\n templateUrl: './FormGridBody.component.html'\n})\nexport class FormGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadForms({ params: query }).then((forms: any) => this.setRows(query, forms));\n }\n}\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\n\n@Component({\n template: ''\n})\nexport class GridFooterComponent {\n @Input() header: GridHeaderComponent;\n @Input() body: GridBodyComponent;\n @Input() createText: String;\n @Input() size: number;\n @Input() actionAllowed: any;\n @Output() pageChanged: EventEmitter<any>;\n @Output() createItem: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n\n public footerPositions = GridFooterPositions;\n\n constructor() {\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\n","<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n","import {Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './FormGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FormGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","import { FormGridHeaderComponent } from './FormGridHeader.component';\nimport { FormGridBodyComponent } from './FormGridBody.component';\nimport { FormGridFooterComponent } from './FormGridFooter.component';\nexport default {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n","<ng-template>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }} <span [ngClass]=\"{'glyphicon-triangle-top': (header.sort === 'asc'), 'glyphicon-triangle-bottom': (header.sort === 'desc')}\" class=\"glyphicon\" *ngIf=\"header.sort\"></span>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import {Component, EventEmitter} from '@angular/core';\nimport {Utils, Components, ExtendedComponentSchema} from 'formiojs';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport {ComponentInstance, FormioForm} from '@formio/angular';\nimport {GridColumn} from '../types/grid-column';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n templateUrl: './SubmissionGridHeader.component.html'\n})\nexport class SubmissionGridHeaderComponent extends GridHeaderComponent {\n\n // Map structure where the key is the path and the value is the component\n formComponents: Map<string, ExtendedComponentSchema>;\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<GridColumn>) {\n query = query || {};\n return formio.loadForm({params: query}).then((form: FormioForm) => {\n this.headers = [];\n this.formComponents = new Map<string, ExtendedComponentSchema>();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n\n return this.headers;\n });\n }\n\n setHeader(header: GridHeader) {\n this.headers.push(header);\n }\n\n getHeaderForColumn(column: GridColumn, component?: ExtendedComponentSchema, sort?: SortType) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n\n getHeaderForComponent(component: ExtendedComponentSchema, path: string, sort?: SortType) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components: Map<string, ExtendedComponentSchema>, sort?: SortType) {\n components.forEach((component, path) => {\n if (\n component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)\n ) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component: ExtendedComponentSchema, newPath: string) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\n\n","<ng-template>\n <tbody>\n <tr *ngFor=\"let row of rows\" (click)=\"onRowSelect($event, row)\">\n <td *ngFor=\"let rowHeader of header.headers\" [innerHTML]=\"view(row, rowHeader)\"></td>\n </tr>\n </tbody>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { each, get } from 'lodash';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport { GridHeader } from '../types/grid-header';\nimport {FormioSubmission} from '@formio/angular';\n@Component({\n templateUrl: './SubmissionGridBody.component.html'\n})\nexport class SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions: any) => this.setRows(query, submissions));\n }\n\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission: FormioSubmission, header: GridHeader): string {\n const cellValue: any = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n } else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n } else {\n return cellValue.toString();\n }\n }\n }\n}\n","<ng-template #footer let-position=\"position\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('submissionCreate') && createText\" class=\"btn btn-primary pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\"></pagination>\n </td>\n </tr>\n</ng-template>\n","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './SubmissionGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SubmissionGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","import { SubmissionGridHeaderComponent } from './SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './SubmissionGridFooter.component';\nexport default {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n","<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {FormioAlerts} from '@formio/angular';\nimport {each} from 'lodash';\nimport {Formio} from 'formiojs';\nimport {GridHeaderComponent} from './GridHeaderComponent';\nimport {GridBodyComponent} from './GridBodyComponent';\nimport {GridFooterComponent} from './GridFooterComponent';\nimport FormComponents from './form/index';\nimport SubmissionComponents from './submission/index';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridColumn} from './types/grid-column';\nimport {GridHeader, SortType} from './types/grid-header';\n\n@Component({\n selector: 'formio-grid',\n styleUrls: ['./grid.component.scss'],\n templateUrl: './grid.component.html'\n})\nexport class FormioGridComponent implements OnChanges, OnInit, AfterViewInit {\n @Input() footerPosition = GridFooterPositions.bottom;\n @Input() src?: string;\n @Input() items?: Array<any>;\n @Input() onForm?: Promise<any>;\n @Input() query?: any;\n @Input() refresh?: EventEmitter<object>;\n @Input() columns?: Array<GridColumn>;\n @Input() gridType?: string;\n @Input() size?: number;\n @Input() components?: any;\n @Input() formio?: FormioPromiseService;\n @Input() label?: string;\n @Input() createText: String;\n @Input() isActionAllowed: any;\n @Output() select: EventEmitter<object>;\n @Output() rowSelect: EventEmitter<object>;\n @Output() rowAction: EventEmitter<object>;\n @Output() createItem: EventEmitter<any>;\n @Output() error: EventEmitter<any>;\n @ViewChild('headerTemplate', {read: ViewContainerRef, static: true}) headerElement: ViewContainerRef;\n @ViewChild('bodyTemplate', {read: ViewContainerRef, static: true}) bodyElement: ViewContainerRef;\n @ViewChild('footerTemplate', {read: ViewContainerRef, static: true}) footerElement: ViewContainerRef;\n\n public page = 0;\n public isLoading = false;\n public initialized = false;\n public header: GridHeaderComponent;\n public body: GridBodyComponent;\n public footer: GridFooterComponent;\n public footerPositions = GridFooterPositions;\n\n constructor(\n public alerts: FormioAlerts,\n private resolver: ComponentFactoryResolver,\n private ref: ChangeDetectorRef\n ) {\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n\n loadGrid(src?: string) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n\n ngOnChanges(changes: any) {\n if (this.initialized) {\n if (\n (changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)\n ) {\n this.loadGrid(changes.src.currentValue);\n }\n\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query: object) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n } else {\n return true;\n }\n }\n\n onError(error: any) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n\n refreshGrid(query?: any) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n } else {\n loader = this.body.load(this.formio, this.query);\n }\n\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n\n sortColumn(header: GridHeader) {\n // Reset all other column sorts.\n each(this.header.headers, (col: any) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n\n pageChanged(page: any) {\n this.setPage(page.page - 1);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGridComponent } from './grid.component';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { FormGridHeaderComponent } from './form/FormGridHeader.component';\nimport { FormGridBodyComponent } from './form/FormGridBody.component';\nimport { FormGridFooterComponent } from './form/FormGridFooter.component';\nimport { SubmissionGridHeaderComponent } from './submission/SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './submission/SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './submission/SubmissionGridFooter.component';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\nimport { GridFooterComponent } from './GridFooterComponent';\nimport { GridService } from './grid.service';\nimport { TimeSince } from './form/time-since.pipe'\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n})\nexport class FormioGrid {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c0","i1.GridService","i1"],"mappings":"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"}},"fesm2015":{"code":"import * as i0 from '@angular/core';\nimport { EventEmitter, TemplateRef, Component, Input, Output, ViewChild, Injectable, Pipe, ViewEncapsulation, ViewContainerRef, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i2$1 from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\nimport * as i2 from '@angular/router';\nimport { RouterModule } from '@angular/router';\nimport * as i1$1 from '@formio/angular';\nimport { FormioPromiseService, FormioAlerts, FormioModule } from '@formio/angular';\nimport { each, clone, get } from 'lodash';\nimport { Components, Utils, Formio } from 'formiojs';\nimport * as i3 from 'ngx-bootstrap/pagination';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\n\nvar GridFooterPositions;\n(function (GridFooterPositions) {\n GridFooterPositions[GridFooterPositions[\"bottom\"] = 0] = \"bottom\";\n GridFooterPositions[GridFooterPositions[\"top\"] = 1] = \"top\";\n GridFooterPositions[GridFooterPositions[\"both\"] = 2] = \"both\";\n})(GridFooterPositions || (GridFooterPositions = {}));\n\nclass GridHeaderComponent {\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n get numHeaders() {\n return this.headers.length;\n }\n load(formio, query, columns) {\n return Promise.resolve([]);\n }\n}\nGridHeaderComponent.ɵfac = function GridHeaderComponent_Factory(t) { return new (t || GridHeaderComponent)(); };\nGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridHeaderComponent, selectors: [[\"ng-component\"]], viewQuery: function GridHeaderComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n }\n }, inputs: { actionAllowed: \"actionAllowed\" }, outputs: { sort: \"sort\" }, decls: 0, vars: 0, template: function GridHeaderComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridHeaderComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return []; }, { actionAllowed: [{\n type: Input\n }], sort: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] });\n})();\n\nvar SortType;\n(function (SortType) {\n SortType[\"ASC\"] = \"asc\";\n SortType[\"DESC\"] = \"desc\";\n})(SortType || (SortType = {}));\n\nconst _c0$3 = function (a0, a1) { return { \"glyphicon-triangle-top fa-caret-up\": a0, \"glyphicon-triangle-bottom fa-caret-down\": a1 }; };\nfunction FormGridHeaderComponent_ng_template_0_span_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 5);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(1, _c0$3, ctx_r1.header.sort === \"asc\", ctx_r1.header.sort === \"desc\"));\n }\n}\nfunction FormGridHeaderComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"thead\")(1, \"tr\")(2, \"th\")(3, \"div\", 0)(4, \"div\", 1)(5, \"a\", 2);\n i0.ɵɵlistener(\"click\", function FormGridHeaderComponent_ng_template_0_Template_a_click_5_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sort.emit(ctx_r2.header)); });\n i0.ɵɵtext(6);\n i0.ɵɵtemplate(7, FormGridHeaderComponent_ng_template_0_span_7_Template, 1, 4, \"span\", 3);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(8, \"div\", 4);\n i0.ɵɵtext(9, \" Operations \");\n i0.ɵɵelementEnd()()()()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(6);\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.header.label, \"\\u00A0\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.header.sort);\n }\n}\nclass FormGridHeaderComponent extends GridHeaderComponent {\n load(formio) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n get numHeaders() {\n return 2;\n }\n}\nFormGridHeaderComponent.ɵfac = /*@__PURE__*/ function () { let ɵFormGridHeaderComponent_BaseFactory; return function FormGridHeaderComponent_Factory(t) { return (ɵFormGridHeaderComponent_BaseFactory || (ɵFormGridHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormGridHeaderComponent)))(t || FormGridHeaderComponent); }; }();\nFormGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridHeaderComponent, selectors: [[\"form-grid-header\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[1, \"row\"], [1, \"col-sm-8\"], [3, \"click\"], [\"class\", \"glyphicon fa\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"col-sm-4\"], [1, \"glyphicon\", \"fa\", 3, \"ngClass\"]], template: function FormGridHeaderComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridHeaderComponent_ng_template_0_Template, 10, 2, \"ng-template\");\n }\n }, dependencies: [i1.NgClass, i1.NgIf], encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridHeaderComponent, [{\n type: Component,\n args: [{ selector: 'form-grid-header', template: \"<ng-template>\\n <thead>\\n <tr>\\n <th>\\n <div class=\\\"row\\\">\\n <div class=\\\"col-sm-8\\\">\\n <a (click)=\\\"sort.emit(header)\\\">\\n {{ header.label }} <span [ngClass]=\\\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\\\" class=\\\"glyphicon fa\\\" *ngIf=\\\"header.sort\\\"></span>\\n </a>\\n </div>\\n <div class=\\\"col-sm-4\\\">\\n Operations\\n </div>\\n </div>\\n </th>\\n </tr>\\n </thead>\\n</ng-template>\\n\" }]\n }], null, null);\n})();\n\nclass GridService {\n constructor() { }\n setRows(rows) {\n this.rows = rows;\n }\n getFormsPerPage() {\n var _a;\n return (_a = this.rows) === null || _a === void 0 ? void 0 : _a.length;\n }\n}\nGridService.ɵfac = function GridService_Factory(t) { return new (t || GridService)(); };\nGridService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GridService, factory: GridService.ɵfac });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridService, [{\n type: Injectable\n }], function () { return []; }, null);\n})();\n\nclass GridBodyComponent {\n constructor(service) {\n this.service = service;\n this.firstItem = 0;\n this.lastItem = 0;\n this.skip = 0;\n this.limit = 0;\n this.total = 0;\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n load(formio, query) {\n return formio.loadForm(query);\n }\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query, items) {\n this.rows = [];\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n return this.rows;\n }\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n return this.rows;\n }\n}\nGridBodyComponent.ɵfac = function GridBodyComponent_Factory(t) { return new (t || GridBodyComponent)(i0.ɵɵdirectiveInject(GridService)); };\nGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridBodyComponent, selectors: [[\"ng-component\"]], viewQuery: function GridBodyComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n }\n }, inputs: { header: \"header\", actionAllowed: \"actionAllowed\" }, outputs: { rowSelect: \"rowSelect\", rowAction: \"rowAction\" }, decls: 0, vars: 0, template: function GridBodyComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridBodyComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return [{ type: GridService }]; }, { header: [{\n type: Input\n }], actionAllowed: [{\n type: Input\n }], rowSelect: [{\n type: Output\n }], rowAction: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] });\n})();\n\nclass TimeSince {\n transform(date) {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1) {\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}\nTimeSince.ɵfac = function TimeSince_Factory(t) { return new (t || TimeSince)(); };\nTimeSince.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: \"timeSince\", type: TimeSince, pure: true });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TimeSince, [{\n type: Pipe,\n args: [{\n name: 'timeSince'\n }]\n }], null, null);\n})();\n\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 10);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r11); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.onRowAction($event, form_r3, \"view\")); });\n i0.ɵɵelement(1, \"span\", 11);\n i0.ɵɵtext(2, \" Enter Data\");\n i0.ɵɵelementEnd();\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template(rf, ctx) {\n if (rf & 1) {\n const _r14 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r12 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r12.onRowAction($event, form_r3, \"submission\")); });\n i0.ɵɵelement(1, \"span\", 13);\n i0.ɵɵtext(2, \" View Data\");\n i0.ɵɵelementEnd();\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template(rf, ctx) {\n if (rf & 1) {\n const _r17 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r17); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r15 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r15.onRowAction($event, form_r3, \"edit\")); });\n i0.ɵɵelement(1, \"span\", 14);\n i0.ɵɵtext(2, \" Edit Form\");\n i0.ɵɵelementEnd();\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template(rf, ctx) {\n if (rf & 1) {\n const _r20 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r20); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r18 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r18.onRowAction($event, form_r3, \"permissions\")); });\n i0.ɵɵelement(1, \"span\", 15);\n i0.ɵɵtext(2, \" Permissions\");\n i0.ɵɵelementEnd();\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template(rf, ctx) {\n if (rf & 1) {\n const _r23 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 16);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const form_r3 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.onRowAction($event, form_r3, \"delete\")); });\n i0.ɵɵelement(1, \"span\", 17);\n i0.ɵɵelementEnd();\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r25 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"tr\")(1, \"td\")(2, \"div\", 2)(3, \"div\", 3)(4, \"a\", 4);\n i0.ɵɵlistener(\"click\", function FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template_a_click_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r25); const form_r3 = restoredCtx.$implicit; const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.onRowSelect($event, form_r3)); });\n i0.ɵɵelementStart(5, \"h5\");\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"div\", 5);\n i0.ɵɵtext(8);\n i0.ɵɵpipe(9, \"timeSince\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(10, \"div\", 6);\n i0.ɵɵtemplate(11, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_11_Template, 3, 0, \"button\", 7);\n i0.ɵɵtext(12, \"\\u00A0 \");\n i0.ɵɵtemplate(13, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_13_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(14, \"\\u00A0 \");\n i0.ɵɵtemplate(15, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_15_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(16, \"\\u00A0 \");\n i0.ɵɵtemplate(17, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_17_Template, 3, 0, \"button\", 8);\n i0.ɵɵtext(18, \"\\u00A0 \");\n i0.ɵɵtemplate(19, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_button_19_Template, 2, 0, \"button\", 9);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const form_r3 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(4);\n i0.ɵɵpropertyInterpolate1(\"routerLink\", \"\", form_r3._id, \"/view\");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(form_r3.title);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" Updated \", i0.ɵɵpipeBind1(9, 8, form_r3.modified), \" ago \");\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formView\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formSubmission\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formEdit\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formPermission\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r2.actionAllowed(\"formDelete\"));\n }\n}\nfunction FormGridBodyComponent_ng_template_0_tbody_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tbody\");\n i0.ɵɵtemplate(1, FormGridBodyComponent_ng_template_0_tbody_0_tr_1_Template, 20, 10, \"tr\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.rows);\n }\n}\nfunction FormGridBodyComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridBodyComponent_ng_template_0_tbody_0_Template, 2, 1, \"tbody\", 0);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.rows);\n }\n}\nclass FormGridBodyComponent extends GridBodyComponent {\n load(formio, query) {\n query = query || {};\n return formio.loadForms({ params: query }).then((forms) => this.setRows(query, forms));\n }\n}\nFormGridBodyComponent.ɵfac = /*@__PURE__*/ function () { let ɵFormGridBodyComponent_BaseFactory; return function FormGridBodyComponent_Factory(t) { return (ɵFormGridBodyComponent_BaseFactory || (ɵFormGridBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormGridBodyComponent)))(t || FormGridBodyComponent); }; }();\nFormGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridBodyComponent, selectors: [[\"form-grid-body\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"row\"], [1, \"col-sm-8\"], [3, \"routerLink\", \"click\"], [1, \"form-updated\", \"small\", \"text-muted\"], [1, \"col-sm-4\"], [\"class\", \"btn btn-outline-secondary btn-sm form-btn form-btn-use\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-outline-secondary btn-sm form-btn\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-danger btn-sm form-btn form-btn-delete\", \"title\", \"Delete form\", 3, \"click\", 4, \"ngIf\"], [1, \"btn\", \"btn-outline-secondary\", \"btn-sm\", \"form-btn\", \"form-btn-use\", 3, \"click\"], [1, \"fa\", \"fa-pencil\"], [1, \"btn\", \"btn-outline-secondary\", \"btn-sm\", \"form-btn\", 3, \"click\"], [1, \"fa\", \"fa-list-alt\"], [1, \"fa\", \"fa-edit\"], [1, \"fa\", \"fa-lock\"], [\"title\", \"Delete form\", 1, \"btn\", \"btn-danger\", \"btn-sm\", \"form-btn\", \"form-btn-delete\", 3, \"click\"], [1, \"fa\", \"fa-trash\"]], template: function FormGridBodyComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridBodyComponent_ng_template_0_Template, 1, 1, \"ng-template\");\n }\n }, dependencies: [i1.NgForOf, i1.NgIf, i2.RouterLink, TimeSince], styles: [\".form-btn[_ngcontent-%COMP%]{font-size:.75rem;margin:2px 0}\"] });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridBodyComponent, [{\n type: Component,\n args: [{ selector: 'form-grid-body', template: \"<ng-template>\\n <tbody *ngIf=\\\"rows\\\">\\n <tr *ngFor=\\\"let form of rows\\\">\\n <td>\\n <div class=\\\"row\\\">\\n <div class=\\\"col-sm-8\\\">\\n <a routerLink=\\\"{{form._id}}/view\\\" (click)=\\\"onRowSelect($event, form)\\\"><h5>{{ form.title }}</h5></a>\\n <div class=\\\"form-updated small text-muted\\\">\\n Updated {{ form.modified | timeSince }} ago\\n </div>\\n </div>\\n <div class=\\\"col-sm-4\\\">\\n <button *ngIf=\\\"actionAllowed('formView')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn form-btn-use\\\" (click)=\\\"onRowAction($event, form, 'view')\\\"><span class=\\\"fa fa-pencil\\\"></span> Enter Data</button> \\n <button *ngIf=\\\"actionAllowed('formSubmission')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'submission')\\\"><span class=\\\"fa fa-list-alt\\\"></span> View Data</button> \\n <button *ngIf=\\\"actionAllowed('formEdit')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'edit')\\\"><span class=\\\"fa fa-edit\\\"></span> Edit Form</button> \\n <button *ngIf=\\\"actionAllowed('formPermission')\\\" class=\\\"btn btn-outline-secondary btn-sm form-btn\\\" (click)=\\\"onRowAction($event, form, 'permissions')\\\"><span class=\\\"fa fa-lock\\\"></span> Permissions</button> \\n <button *ngIf=\\\"actionAllowed('formDelete')\\\" class=\\\"btn btn-danger btn-sm form-btn form-btn-delete\\\" (click)=\\\"onRowAction($event, form, 'delete')\\\" title=\\\"Delete form\\\"><span class=\\\"fa fa-trash\\\"></span></button>\\n </div>\\n </div>\\n </td>\\n </tr>\\n </tbody>\\n</ng-template>\\n\", styles: [\".form-btn{font-size:.75rem;margin:2px 0}\\n\"] }]\n }], null, null);\n})();\n\nclass GridFooterComponent {\n constructor() {\n this.footerPositions = GridFooterPositions;\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\nGridFooterComponent.ɵfac = function GridFooterComponent_Factory(t) { return new (t || GridFooterComponent)(); };\nGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridFooterComponent, selectors: [[\"ng-component\"]], viewQuery: function GridFooterComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n }\n }, inputs: { header: \"header\", body: \"body\", createText: \"createText\", size: \"size\", actionAllowed: \"actionAllowed\" }, outputs: { pageChanged: \"pageChanged\", createItem: \"createItem\" }, decls: 0, vars: 0, template: function GridFooterComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GridFooterComponent, [{\n type: Component,\n args: [{\n template: ''\n }]\n }], function () { return []; }, { header: [{\n type: Input\n }], body: [{\n type: Input\n }], createText: [{\n type: Input\n }], size: [{\n type: Input\n }], actionAllowed: [{\n type: Input\n }], pageChanged: [{\n type: Output\n }], createItem: [{\n type: Output\n }], template: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }] });\n})();\n\nconst _c0$2 = function (a0) { return { label: a0 }; };\nfunction FormGridFooterComponent_ng_template_0_thead_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const label_r5 = i0.ɵɵnextContext().label;\n i0.ɵɵnextContext();\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c0$2, label_r5));\n }\n}\nfunction FormGridFooterComponent_ng_template_0_tfoot_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tfoot\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const label_r5 = i0.ɵɵnextContext().label;\n i0.ɵɵnextContext();\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c0$2, label_r5));\n }\n}\nfunction FormGridFooterComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridFooterComponent_ng_template_0_thead_0_Template, 2, 4, \"thead\", 2);\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_0_tfoot_1_Template, 2, 4, \"tfoot\", 2);\n }\n if (rf & 2) {\n const position_r4 = ctx.position;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.top);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.bottom);\n }\n}\nfunction FormGridFooterComponent_ng_template_2_td_1_button_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r14 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 12);\n i0.ɵɵlistener(\"click\", function FormGridFooterComponent_ng_template_2_td_1_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.createItem.emit(\"form\")); });\n i0.ɵɵelement(1, \"em\", 13);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r12 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r12.createText, \"\");\n }\n}\nfunction FormGridFooterComponent_ng_template_2_td_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r16 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td\", 6);\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_2_td_1_button_1_Template, 3, 1, \"button\", 7);\n i0.ɵɵelementStart(2, \"span\", 8)(3, \"span\", 9);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"span\", 10)(7, \"pagination\", 11);\n i0.ɵɵlistener(\"ngModelChange\", function FormGridFooterComponent_ng_template_2_td_1_Template_pagination_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.body.skip = $event); })(\"pageChanged\", function FormGridFooterComponent_ng_template_2_td_1_Template_pagination_pageChanged_7_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.pageChanged.emit($event)); });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const label_r10 = i0.ɵɵnextContext().label;\n const ctx_r11 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"colSpan\", ctx_r11.header.numHeaders);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r11.actionAllowed(\"formCreate\"));\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate2(\"\", ctx_r11.body.firstItem, \" - \", ctx_r11.body.lastItem, \"\");\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" / \", ctx_r11.body.total, \" total\");\n i0.ɵɵadvance(1);\n i0.ɵɵattribute(\"aria-label\", label_r10);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"totalItems\", ctx_r11.body.total)(\"itemsPerPage\", ctx_r11.body.limit)(\"ngModel\", ctx_r11.body.skip)(\"maxSize\", ctx_r11.size);\n }\n}\nfunction FormGridFooterComponent_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tr\");\n i0.ɵɵtemplate(1, FormGridFooterComponent_ng_template_2_td_1_Template, 8, 10, \"td\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.header);\n }\n}\nclass FormGridFooterComponent extends GridFooterComponent {\n constructor() {\n super();\n }\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\nFormGridFooterComponent.ɵfac = function FormGridFooterComponent_Factory(t) { return new (t || FormGridFooterComponent)(); };\nFormGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormGridFooterComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 0, consts: [[\"footer\", \"\"], [\"defaultFooterTemplate\", \"\"], [\"class\", \"formio-grid-footer\", 4, \"ngIf\"], [1, \"formio-grid-footer\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"colSpan\", 4, \"ngIf\"], [3, \"colSpan\"], [\"class\", \"btn btn-primary form-btn-use pull-left float-left\", 3, \"click\", 4, \"ngIf\"], [1, \"pull-right\", \"float-right\", \"item-counter\"], [1, \"page-num\"], [\"role\", \"navigation\"], [1, \"justify-content-center\", \"pagination-sm\", 3, \"totalItems\", \"itemsPerPage\", \"ngModel\", \"maxSize\", \"ngModelChange\", \"pageChanged\"], [1, \"btn\", \"btn-primary\", \"form-btn-use\", \"pull-left\", \"float-left\", 3, \"click\"], [1, \"glyphicon\", \"glyphicon-plus\", \"fa\", \"fa-plus\"]], template: function FormGridFooterComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormGridFooterComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, FormGridFooterComponent_ng_template_2_Template, 2, 1, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n }\n }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2$1.NgControlStatus, i2$1.NgModel, i3.PaginationComponent], styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"], encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormGridFooterComponent, [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, template: \"<ng-template #footer let-position=\\\"position\\\" let-label=\\\"label\\\">\\n <thead class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.top\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\" [ngTemplateOutletContext]=\\\"{ label: label }\\\"></ng-container>\\n </thead>\\n <tfoot class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.bottom\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\" [ngTemplateOutletContext]=\\\"{ label: label }\\\"></ng-container>\\n </tfoot>\\n</ng-template>\\n\\n<ng-template let-label=\\\"label\\\" #defaultFooterTemplate>\\n <tr>\\n <td *ngIf=\\\"header\\\" [colSpan]=\\\"header.numHeaders\\\">\\n <button *ngIf=\\\"actionAllowed('formCreate')\\\" class=\\\"btn btn-primary form-btn-use pull-left float-left\\\" (click)=\\\"createItem.emit('form')\\\"><em class=\\\"glyphicon glyphicon-plus fa fa-plus\\\"></em> {{ createText }}</button>\\n <span class=\\\"pull-right float-right item-counter\\\"><span class=\\\"page-num\\\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\\n <span [attr.aria-label]=\\\"label\\\" role=\\\"navigation\\\">\\n <pagination [totalItems]=\\\"body.total\\\" [itemsPerPage]=\\\"body.limit\\\" [(ngModel)]=\\\"body.skip\\\" (pageChanged)=\\\"pageChanged.emit($event)\\\" [maxSize]=\\\"size\\\" class=\\\"justify-content-center pagination-sm\\\">\\n </pagination>\\n </span>\\n </td>\\n </tr>\\n</ng-template>\\n\", styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"] }]\n }], function () { return []; }, null);\n})();\n\nvar FormComponents = {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n\nconst _c0$1 = function (a0, a1) { return { \"glyphicon-triangle-top\": a0, \"glyphicon-triangle-bottom\": a1 }; };\nfunction SubmissionGridHeaderComponent_ng_template_0_th_2_span_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 3);\n }\n if (rf & 2) {\n const header_r2 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(1, _c0$1, header_r2.sort === \"asc\", header_r2.sort === \"desc\"));\n }\n}\nfunction SubmissionGridHeaderComponent_ng_template_0_th_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"th\")(1, \"a\", 1);\n i0.ɵɵlistener(\"click\", function SubmissionGridHeaderComponent_ng_template_0_th_2_Template_a_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const header_r2 = restoredCtx.$implicit; const ctx_r5 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r5.sort.emit(header_r2)); });\n i0.ɵɵtext(2);\n i0.ɵɵtemplate(3, SubmissionGridHeaderComponent_ng_template_0_th_2_span_3_Template, 1, 4, \"span\", 2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const header_r2 = ctx.$implicit;\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", header_r2.label, \"\\u00A0\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", header_r2.sort);\n }\n}\nfunction SubmissionGridHeaderComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\")(1, \"tr\");\n i0.ɵɵtemplate(2, SubmissionGridHeaderComponent_ng_template_0_th_2_Template, 4, 2, \"th\", 0);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r0.headers);\n }\n}\nclass SubmissionGridHeaderComponent extends GridHeaderComponent {\n load(formio, query, columns) {\n query = query || {};\n return formio.loadForm({ params: query }).then((form) => {\n this.headers = [];\n this.formComponents = new Map();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n return this.headers;\n });\n }\n setHeader(header) {\n this.headers.push(header);\n }\n getHeaderForColumn(column, component, sort) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n getHeaderForComponent(component, path, sort) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components, sort) {\n components.forEach((component, path) => {\n if (component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component, newPath) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\nSubmissionGridHeaderComponent.ɵfac = /*@__PURE__*/ function () { let ɵSubmissionGridHeaderComponent_BaseFactory; return function SubmissionGridHeaderComponent_Factory(t) { return (ɵSubmissionGridHeaderComponent_BaseFactory || (ɵSubmissionGridHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SubmissionGridHeaderComponent)))(t || SubmissionGridHeaderComponent); }; }();\nSubmissionGridHeaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridHeaderComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[4, \"ngFor\", \"ngForOf\"], [3, \"click\"], [\"class\", \"glyphicon\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"glyphicon\", 3, \"ngClass\"]], template: function SubmissionGridHeaderComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridHeaderComponent_ng_template_0_Template, 3, 1, \"ng-template\");\n }\n }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf], encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridHeaderComponent, [{\n type: Component,\n args: [{ template: \"<ng-template>\\n <thead>\\n <tr>\\n <th *ngFor=\\\"let header of headers\\\">\\n <a (click)=\\\"sort.emit(header)\\\">\\n {{ header.label }} <span [ngClass]=\\\"{'glyphicon-triangle-top': (header.sort === 'asc'), 'glyphicon-triangle-bottom': (header.sort === 'desc')}\\\" class=\\\"glyphicon\\\" *ngIf=\\\"header.sort\\\"></span>\\n </a>\\n </th>\\n </tr>\\n </thead>\\n</ng-template>\\n\" }]\n }], null, null);\n})();\n\nfunction SubmissionGridBodyComponent_ng_template_0_tr_1_td_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"td\", 3);\n }\n if (rf & 2) {\n const rowHeader_r4 = ctx.$implicit;\n const row_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r3 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"innerHTML\", ctx_r3.view(row_r2, rowHeader_r4), i0.ɵɵsanitizeHtml);\n }\n}\nfunction SubmissionGridBodyComponent_ng_template_0_tr_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"tr\", 1);\n i0.ɵɵlistener(\"click\", function SubmissionGridBodyComponent_ng_template_0_tr_1_Template_tr_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r7); const row_r2 = restoredCtx.$implicit; const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.onRowSelect($event, row_r2)); });\n i0.ɵɵtemplate(1, SubmissionGridBodyComponent_ng_template_0_tr_1_td_1_Template, 1, 1, \"td\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.header.headers);\n }\n}\nfunction SubmissionGridBodyComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tbody\");\n i0.ɵɵtemplate(1, SubmissionGridBodyComponent_ng_template_0_tr_1_Template, 2, 1, \"tr\", 0);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r0.rows);\n }\n}\nclass SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio, query) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions) => this.setRows(query, submissions));\n }\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission, header) {\n const cellValue = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n }\n else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n }\n else {\n return cellValue.toString();\n }\n }\n }\n}\nSubmissionGridBodyComponent.ɵfac = /*@__PURE__*/ function () { let ɵSubmissionGridBodyComponent_BaseFactory; return function SubmissionGridBodyComponent_Factory(t) { return (ɵSubmissionGridBodyComponent_BaseFactory || (ɵSubmissionGridBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SubmissionGridBodyComponent)))(t || SubmissionGridBodyComponent); }; }();\nSubmissionGridBodyComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridBodyComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[3, \"click\", 4, \"ngFor\", \"ngForOf\"], [3, \"click\"], [3, \"innerHTML\", 4, \"ngFor\", \"ngForOf\"], [3, \"innerHTML\"]], template: function SubmissionGridBodyComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridBodyComponent_ng_template_0_Template, 2, 1, \"ng-template\");\n }\n }, dependencies: [i1.NgForOf], encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridBodyComponent, [{\n type: Component,\n args: [{ template: \"<ng-template>\\n <tbody>\\n <tr *ngFor=\\\"let row of rows\\\" (click)=\\\"onRowSelect($event, row)\\\">\\n <td *ngFor=\\\"let rowHeader of header.headers\\\" [innerHTML]=\\\"view(row, rowHeader)\\\"></td>\\n </tr>\\n </tbody>\\n</ng-template>\\n\" }]\n }], null, null);\n})();\n\nfunction SubmissionGridFooterComponent_ng_template_0_thead_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"thead\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext(2);\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2);\n }\n}\nfunction SubmissionGridFooterComponent_ng_template_0_tfoot_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tfoot\", 3);\n i0.ɵɵelementContainer(1, 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext(2);\n const _r2 = i0.ɵɵreference(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r2);\n }\n}\nfunction SubmissionGridFooterComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridFooterComponent_ng_template_0_thead_0_Template, 2, 1, \"thead\", 2);\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_0_tfoot_1_Template, 2, 1, \"tfoot\", 2);\n }\n if (rf & 2) {\n const position_r4 = ctx.position;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.top);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", position_r4 === ctx_r1.footerPositions.bottom);\n }\n}\nfunction SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 11);\n i0.ɵɵlistener(\"click\", function SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.createItem.emit(\"form\")); });\n i0.ɵɵelement(1, \"em\", 12);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r8 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r8.createText, \"\");\n }\n}\nfunction SubmissionGridFooterComponent_ng_template_2_td_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r12 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td\", 6);\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_2_td_1_button_1_Template, 3, 1, \"button\", 7);\n i0.ɵɵelementStart(2, \"span\", 8)(3, \"span\", 9);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"pagination\", 10);\n i0.ɵɵlistener(\"ngModelChange\", function SubmissionGridFooterComponent_ng_template_2_td_1_Template_pagination_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.body.skip = $event); })(\"pageChanged\", function SubmissionGridFooterComponent_ng_template_2_td_1_Template_pagination_pageChanged_6_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.pageChanged.emit($event)); });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"colSpan\", ctx_r7.header.numHeaders);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r7.actionAllowed(\"submissionCreate\") && ctx_r7.createText);\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate2(\"\", ctx_r7.body.firstItem, \" - \", ctx_r7.body.lastItem, \"\");\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" / \", ctx_r7.body.total, \" total\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"totalItems\", ctx_r7.body.total)(\"itemsPerPage\", ctx_r7.body.limit)(\"ngModel\", ctx_r7.body.skip)(\"maxSize\", ctx_r7.size);\n }\n}\nfunction SubmissionGridFooterComponent_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"tr\");\n i0.ɵɵtemplate(1, SubmissionGridFooterComponent_ng_template_2_td_1_Template, 7, 9, \"td\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.header);\n }\n}\nclass SubmissionGridFooterComponent extends GridFooterComponent {\n constructor() {\n super();\n }\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\nSubmissionGridFooterComponent.ɵfac = function SubmissionGridFooterComponent_Factory(t) { return new (t || SubmissionGridFooterComponent)(); };\nSubmissionGridFooterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SubmissionGridFooterComponent, selectors: [[\"ng-component\"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 0, consts: [[\"footer\", \"\"], [\"defaultFooterTemplate\", \"\"], [\"class\", \"formio-grid-footer\", 4, \"ngIf\"], [1, \"formio-grid-footer\"], [3, \"ngTemplateOutlet\"], [3, \"colSpan\", 4, \"ngIf\"], [3, \"colSpan\"], [\"class\", \"btn btn-primary pull-left float-left\", 3, \"click\", 4, \"ngIf\"], [1, \"pull-right\", \"float-right\", \"item-counter\"], [1, \"page-num\"], [1, \"justify-content-center\", \"pagination-sm\", 3, \"totalItems\", \"itemsPerPage\", \"ngModel\", \"maxSize\", \"ngModelChange\", \"pageChanged\"], [1, \"btn\", \"btn-primary\", \"pull-left\", \"float-left\", 3, \"click\"], [1, \"glyphicon\", \"glyphicon-plus\", \"fa\", \"fa-plus\"]], template: function SubmissionGridFooterComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SubmissionGridFooterComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, SubmissionGridFooterComponent_ng_template_2_Template, 2, 1, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n }\n }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2$1.NgControlStatus, i2$1.NgModel, i3.PaginationComponent], styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"], encapsulation: 2 });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SubmissionGridFooterComponent, [{\n type: Component,\n args: [{ encapsulation: ViewEncapsulation.None, template: \"<ng-template #footer let-position=\\\"position\\\">\\n <thead class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.top\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\"></ng-container>\\n </thead>\\n <tfoot class=\\\"formio-grid-footer\\\" *ngIf=\\\"position === footerPositions.bottom\\\">\\n <ng-container [ngTemplateOutlet]=\\\"defaultFooterTemplate\\\"></ng-container>\\n </tfoot>\\n</ng-template>\\n\\n<ng-template #defaultFooterTemplate>\\n <tr>\\n <td *ngIf=\\\"header\\\" [colSpan]=\\\"header.numHeaders\\\">\\n <button *ngIf=\\\"actionAllowed('submissionCreate') && createText\\\" class=\\\"btn btn-primary pull-left float-left\\\" (click)=\\\"createItem.emit('form')\\\"><em class=\\\"glyphicon glyphicon-plus fa fa-plus\\\"></em> {{ createText }}</button>\\n <span class=\\\"pull-right float-right item-counter\\\"><span class=\\\"page-num\\\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\\n <pagination [totalItems]=\\\"body.total\\\" [itemsPerPage]=\\\"body.limit\\\" [(ngModel)]=\\\"body.skip\\\" (pageChanged)=\\\"pageChanged.emit($event)\\\" [maxSize]=\\\"size\\\" class=\\\"justify-content-center pagination-sm\\\"></pagination>\\n </td>\\n </tr>\\n</ng-template>\\n\", styles: [\"tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\\n\"] }]\n }], function () { return []; }, null);\n})();\n\nvar SubmissionComponents = {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n\nconst _c0 = [\"headerTemplate\"];\nconst _c1 = [\"bodyTemplate\"];\nconst _c2 = [\"footerTemplate\"];\nfunction FormioGridComponent_ng_template_0_Template(rf, ctx) { }\nfunction FormioGridComponent_ng_template_2_Template(rf, ctx) { }\nfunction FormioGridComponent_ng_template_4_Template(rf, ctx) { }\nconst _c3 = function (a0, a1) { return { position: a0, label: a1 }; };\nfunction FormioGridComponent_ng_container_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 9);\n }\n if (rf & 2) {\n const ctx_r6 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r6.footer.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c3, ctx_r6.footerPositions.top, ctx_r6.label));\n }\n}\nfunction FormioGridComponent_ng_container_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 10);\n }\n if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r7.header.template);\n }\n}\nfunction FormioGridComponent_ng_container_12_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 10);\n }\n if (rf & 2) {\n const ctx_r8 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r8.body.template);\n }\n}\nfunction FormioGridComponent_ng_container_13_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 9);\n }\n if (rf & 2) {\n const ctx_r9 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r9.footer.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c3, ctx_r9.footerPositions.bottom, ctx_r9.label));\n }\n}\nconst _c4 = function (a0, a1) { return [a0, a1]; };\nclass FormioGridComponent {\n constructor(alerts, resolver, ref) {\n this.alerts = alerts;\n this.resolver = resolver;\n this.ref = ref;\n this.footerPosition = GridFooterPositions.bottom;\n this.page = 0;\n this.isLoading = false;\n this.initialized = false;\n this.footerPositions = GridFooterPositions;\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n loadGrid(src) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n ngOnChanges(changes) {\n if (this.initialized) {\n if ((changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)) {\n this.loadGrid(changes.src.currentValue);\n }\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n }\n else {\n return true;\n }\n }\n onError(error) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n refreshGrid(query) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n }\n else {\n loader = this.body.load(this.formio, this.query);\n }\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n sortColumn(header) {\n // Reset all other column sorts.\n each(this.header.headers, (col) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n pageChanged(page) {\n this.setPage(page.page - 1);\n }\n}\nFormioGridComponent.ɵfac = function FormioGridComponent_Factory(t) { return new (t || FormioGridComponent)(i0.ɵɵdirectiveInject(i1$1.FormioAlerts), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };\nFormioGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioGridComponent, selectors: [[\"formio-grid\"]], viewQuery: function FormioGridComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7, ViewContainerRef);\n i0.ɵɵviewQuery(_c1, 7, ViewContainerRef);\n i0.ɵɵviewQuery(_c2, 7, ViewContainerRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerElement = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bodyElement = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerElement = _t.first);\n }\n }, inputs: { footerPosition: \"footerPosition\", src: \"src\", items: \"items\", onForm: \"onForm\", query: \"query\", refresh: \"refresh\", columns: \"columns\", gridType: \"gridType\", size: \"size\", components: \"components\", formio: \"formio\", label: \"label\", createText: \"createText\", isActionAllowed: \"isActionAllowed\" }, outputs: { select: \"select\", rowSelect: \"rowSelect\", rowAction: \"rowAction\", createItem: \"createItem\", error: \"error\" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 12, consts: [[\"headerTemplate\", \"\"], [\"bodyTemplate\", \"\"], [\"footerTemplate\", \"\"], [1, \"formio-grid\"], [3, \"alerts\"], [1, \"table\", \"table-bordered\", \"table-striped\", \"table-hover\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\", 4, \"ngIf\"], [3, \"isLoading\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"ngTemplateOutlet\"]], template: function FormioGridComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, FormioGridComponent_ng_template_0_Template, 0, 0, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(2, FormioGridComponent_ng_template_2_Template, 0, 0, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(4, FormioGridComponent_ng_template_4_Template, 0, 0, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementStart(6, \"div\", 3);\n i0.ɵɵelement(7, \"formio-alerts\", 4);\n i0.ɵɵelementStart(8, \"table\", 5);\n i0.ɵɵtemplate(9, FormioGridComponent_ng_container_9_Template, 1, 5, \"ng-container\", 6);\n i0.ɵɵtemplate(10, FormioGridComponent_ng_container_10_Template, 1, 1, \"ng-container\", 7);\n i0.ɵɵelement(11, \"formio-loader\", 8);\n i0.ɵɵtemplate(12, FormioGridComponent_ng_container_12_Template, 1, 1, \"ng-container\", 7);\n i0.ɵɵtemplate(13, FormioGridComponent_ng_container_13_Template, 1, 5, \"ng-container\", 6);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵadvance(7);\n i0.ɵɵproperty(\"alerts\", ctx.alerts);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized && i0.ɵɵpureFunction2(6, _c4, ctx.footerPositions.top, ctx.footerPositions.both).indexOf(ctx.footerPosition) !== -1);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"isLoading\", ctx.isLoading);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.initialized && i0.ɵɵpureFunction2(9, _c4, ctx.footerPositions.bottom, ctx.footerPositions.both).indexOf(ctx.footerPosition) !== -1);\n }\n }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i1$1.FormioLoaderComponent, i1$1.FormioAlertsComponent], styles: [\".formio-grid[_ngcontent-%COMP%]{position:relative;width:100%}.grid-refresh[_ngcontent-%COMP%]{height:400px;width:100%}\"] });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormioGridComponent, [{\n type: Component,\n args: [{ selector: 'formio-grid', template: \"<ng-template #headerTemplate></ng-template>\\n<ng-template #bodyTemplate></ng-template>\\n<ng-template #footerTemplate></ng-template>\\n<div class=\\\"formio-grid\\\">\\n <formio-alerts [alerts]=\\\"alerts\\\"></formio-alerts>\\n <table class=\\\"table table-bordered table-striped table-hover\\\">\\n <ng-container *ngIf=\\\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\\\"\\n [ngTemplateOutlet]=\\\"footer.template\\\" [ngTemplateOutletContext]=\\\"{ position: footerPositions.top, label: label }\\\">\\n </ng-container>\\n <ng-container *ngIf=\\\"initialized\\\"\\n [ngTemplateOutlet]=\\\"header.template\\\"></ng-container>\\n <formio-loader [isLoading]=\\\"isLoading\\\"></formio-loader>\\n <ng-container *ngIf=\\\"initialized\\\" [ngTemplateOutlet]=\\\"body.template\\\"></ng-container>\\n <ng-container *ngIf=\\\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\\\"\\n [ngTemplateOutlet]=\\\"footer.template\\\" [ngTemplateOutletContext]=\\\"{ position: footerPositions.bottom, label: label }\\\">\\n </ng-container>\\n </table>\\n</div>\\n\", styles: [\".formio-grid{position:relative;width:100%}.grid-refresh{height:400px;width:100%}\\n\"] }]\n }], function () { return [{ type: i1$1.FormioAlerts }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }]; }, { footerPosition: [{\n type: Input\n }], src: [{\n type: Input\n }], items: [{\n type: Input\n }], onForm: [{\n type: Input\n }], query: [{\n type: Input\n }], refresh: [{\n type: Input\n }], columns: [{\n type: Input\n }], gridType: [{\n type: Input\n }], size: [{\n type: Input\n }], components: [{\n type: Input\n }], formio: [{\n type: Input\n }], label: [{\n type: Input\n }], createText: [{\n type: Input\n }], isActionAllowed: [{\n type: Input\n }], select: [{\n type: Output\n }], rowSelect: [{\n type: Output\n }], rowAction: [{\n type: Output\n }], createItem: [{\n type: Output\n }], error: [{\n type: Output\n }], headerElement: [{\n type: ViewChild,\n args: ['headerTemplate', { read: ViewContainerRef, static: true }]\n }], bodyElement: [{\n type: ViewChild,\n args: ['bodyTemplate', { read: ViewContainerRef, static: true }]\n }], footerElement: [{\n type: ViewChild,\n args: ['footerTemplate', { read: ViewContainerRef, static: true }]\n }] });\n})();\n\nclass FormioGrid {\n}\nFormioGrid.ɵfac = function FormioGrid_Factory(t) { return new (t || FormioGrid)(); };\nFormioGrid.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FormioGrid });\nFormioGrid.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [\n FormioAlerts,\n GridService\n ], imports: [CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()] });\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FormioGrid, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormioGrid, { declarations: [FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince], imports: [CommonModule,\n FormsModule,\n FormioModule,\n RouterModule, i3.PaginationModule], exports: [FormioGridComponent] });\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FormGridBodyComponent, FormGridFooterComponent, FormGridHeaderComponent, FormioGrid, FormioGridComponent, GridBodyComponent, GridFooterComponent, GridHeaderComponent, GridService, SubmissionGridBodyComponent, SubmissionGridFooterComponent, SubmissionGridHeaderComponent };\n//# sourceMappingURL=formio-angular-grid.mjs.map\n//# sourceMappingURL=formio-angular-grid.mjs.map\n","map":{"version":3,"file":"formio-angular-grid.mjs","sources":["../../../projects/angular-formio/grid/src/types/grid-footer-positions.ts","../../../projects/angular-formio/grid/src/GridHeaderComponent.ts","../../../projects/angular-formio/grid/src/types/grid-header.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.html","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.ts","../../../projects/angular-formio/grid/src/grid.service.ts","../../../projects/angular-formio/grid/src/GridBodyComponent.ts","../../../projects/angular-formio/grid/src/form/time-since.pipe.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.html","../../../projects/angular-formio/grid/src/form/FormGridBody.component.ts","../../../projects/angular-formio/grid/src/GridFooterComponent.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.html","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.ts","../../../projects/angular-formio/grid/src/form/index.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts","../../../projects/angular-formio/grid/src/submission/index.ts","../../../projects/angular-formio/grid/src/grid.component.html","../../../projects/angular-formio/grid/src/grid.component.ts","../../../projects/angular-formio/grid/src/grid.module.ts","../../../projects/angular-formio/grid/src/formio-angular-grid.ts"],"sourcesContent":["export enum GridFooterPositions {\n bottom,\n top,\n both\n}\n","import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridHeader} from './types/grid-header';\n\n@Component({\n template: ''\n})\nexport class GridHeaderComponent {\n @Input() actionAllowed: any;\n @Output() sort: EventEmitter<GridHeader>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public headers: Array<GridHeader>;\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n\n get numHeaders() {\n return this.headers.length;\n }\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<any>): Promise<any> {\n return Promise.resolve([]);\n }\n}\n","import {ComponentInstance} from '@formio/angular';\n\nexport interface GridHeader {\n component?: ComponentInstance;\n key: string;\n sort?: SortType;\n label: string;\n renderCell?(cellValue: any, component?: ComponentInstance): string;\n}\n\nexport enum SortType {\n ASC = 'asc',\n DESC = 'desc'\n}\n","<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }} <span [ngClass]=\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\" class=\"glyphicon fa\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-4\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import {Component} from '@angular/core';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n selector: 'form-grid-header',\n templateUrl: './FormGridHeader.component.html'\n})\nexport class FormGridHeaderComponent extends GridHeaderComponent {\n public header: GridHeader;\n load(formio?: any) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n\n get numHeaders() {\n return 2;\n }\n}\n","import { Injectable } from '@angular/core';\nimport _intersection from 'lodash/intersection';\n\n@Injectable()\nexport class GridService {\n public rows: Array<any>;\n constructor() {}\n\n setRows(rows) {\n this.rows = rows;\n }\n\n getFormsPerPage() {\n return this.rows?.length;\n }\n}\n","import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core';\nimport { each, clone } from 'lodash';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridService } from './grid.service';\nimport {FormioPromiseService} from '@formio/angular';\n\n@Component({\n template: ''\n})\nexport class GridBodyComponent {\n @Input() header: GridHeaderComponent;\n @Input() actionAllowed: any;\n @Output() rowSelect: EventEmitter<any>;\n @Output() rowAction: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public rows: Array<any>;\n public loading: Boolean;\n public firstItem = 0;\n public lastItem = 0;\n public skip = 0;\n public limit = 0;\n public total = 0;\n constructor(public service: GridService) {\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n\n load(formio: FormioPromiseService, query?: any): Promise<any> {\n return formio.loadForm(query);\n }\n\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query: any, items: any) {\n this.rows = [];\n\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n \n return this.rows;\n }\n\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item: any) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n\n return this.rows;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeSince'\n})\nexport class TimeSince implements PipeTransform {\n transform(date: Date): string {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1){\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}","<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-4\">\n <button *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil\"></span> Enter Data</button> \n <button *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt\"></span> View Data</button> \n <button *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit\"></span> Edit Form</button> \n <button *ngIf=\"actionAllowed('formPermission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'permissions')\"><span class=\"fa fa-lock\"></span> Permissions</button> \n <button *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-danger btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport { FormioPromiseService } from '@formio/angular';\n\n@Component({\n selector: 'form-grid-body',\n styleUrls: ['./FormGridBody.component.scss'],\n templateUrl: './FormGridBody.component.html'\n})\nexport class FormGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadForms({ params: query }).then((forms: any) => this.setRows(query, forms));\n }\n}\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\n\n@Component({\n template: ''\n})\nexport class GridFooterComponent {\n @Input() header: GridHeaderComponent;\n @Input() body: GridBodyComponent;\n @Input() createText: String;\n @Input() size: number;\n @Input() actionAllowed: any;\n @Output() pageChanged: EventEmitter<any>;\n @Output() createItem: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n\n public footerPositions = GridFooterPositions;\n\n constructor() {\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\n","<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n","import {Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './FormGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FormGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","import { FormGridHeaderComponent } from './FormGridHeader.component';\nimport { FormGridBodyComponent } from './FormGridBody.component';\nimport { FormGridFooterComponent } from './FormGridFooter.component';\nexport default {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n","<ng-template>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }} <span [ngClass]=\"{'glyphicon-triangle-top': (header.sort === 'asc'), 'glyphicon-triangle-bottom': (header.sort === 'desc')}\" class=\"glyphicon\" *ngIf=\"header.sort\"></span>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import {Component, EventEmitter} from '@angular/core';\nimport {Utils, Components, ExtendedComponentSchema} from 'formiojs';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport {ComponentInstance, FormioForm} from '@formio/angular';\nimport {GridColumn} from '../types/grid-column';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n templateUrl: './SubmissionGridHeader.component.html'\n})\nexport class SubmissionGridHeaderComponent extends GridHeaderComponent {\n\n // Map structure where the key is the path and the value is the component\n formComponents: Map<string, ExtendedComponentSchema>;\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<GridColumn>) {\n query = query || {};\n return formio.loadForm({params: query}).then((form: FormioForm) => {\n this.headers = [];\n this.formComponents = new Map<string, ExtendedComponentSchema>();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n\n return this.headers;\n });\n }\n\n setHeader(header: GridHeader) {\n this.headers.push(header);\n }\n\n getHeaderForColumn(column: GridColumn, component?: ExtendedComponentSchema, sort?: SortType) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n\n getHeaderForComponent(component: ExtendedComponentSchema, path: string, sort?: SortType) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components: Map<string, ExtendedComponentSchema>, sort?: SortType) {\n components.forEach((component, path) => {\n if (\n component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)\n ) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component: ExtendedComponentSchema, newPath: string) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\n\n","<ng-template>\n <tbody>\n <tr *ngFor=\"let row of rows\" (click)=\"onRowSelect($event, row)\">\n <td *ngFor=\"let rowHeader of header.headers\" [innerHTML]=\"view(row, rowHeader)\"></td>\n </tr>\n </tbody>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { each, get } from 'lodash';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport { GridHeader } from '../types/grid-header';\nimport {FormioSubmission} from '@formio/angular';\n@Component({\n templateUrl: './SubmissionGridBody.component.html'\n})\nexport class SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions: any) => this.setRows(query, submissions));\n }\n\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission: FormioSubmission, header: GridHeader): string {\n const cellValue: any = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n } else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n } else {\n return cellValue.toString();\n }\n }\n }\n}\n","<ng-template #footer let-position=\"position\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('submissionCreate') && createText\" class=\"btn btn-primary pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\"></pagination>\n </td>\n </tr>\n</ng-template>\n","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './SubmissionGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SubmissionGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","import { SubmissionGridHeaderComponent } from './SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './SubmissionGridFooter.component';\nexport default {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n","<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {FormioAlerts} from '@formio/angular';\nimport {each} from 'lodash';\nimport {Formio} from 'formiojs';\nimport {GridHeaderComponent} from './GridHeaderComponent';\nimport {GridBodyComponent} from './GridBodyComponent';\nimport {GridFooterComponent} from './GridFooterComponent';\nimport FormComponents from './form/index';\nimport SubmissionComponents from './submission/index';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridColumn} from './types/grid-column';\nimport {GridHeader, SortType} from './types/grid-header';\n\n@Component({\n selector: 'formio-grid',\n styleUrls: ['./grid.component.scss'],\n templateUrl: './grid.component.html'\n})\nexport class FormioGridComponent implements OnChanges, OnInit, AfterViewInit {\n @Input() footerPosition = GridFooterPositions.bottom;\n @Input() src?: string;\n @Input() items?: Array<any>;\n @Input() onForm?: Promise<any>;\n @Input() query?: any;\n @Input() refresh?: EventEmitter<object>;\n @Input() columns?: Array<GridColumn>;\n @Input() gridType?: string;\n @Input() size?: number;\n @Input() components?: any;\n @Input() formio?: FormioPromiseService;\n @Input() label?: string;\n @Input() createText: String;\n @Input() isActionAllowed: any;\n @Output() select: EventEmitter<object>;\n @Output() rowSelect: EventEmitter<object>;\n @Output() rowAction: EventEmitter<object>;\n @Output() createItem: EventEmitter<any>;\n @Output() error: EventEmitter<any>;\n @ViewChild('headerTemplate', {read: ViewContainerRef, static: true}) headerElement: ViewContainerRef;\n @ViewChild('bodyTemplate', {read: ViewContainerRef, static: true}) bodyElement: ViewContainerRef;\n @ViewChild('footerTemplate', {read: ViewContainerRef, static: true}) footerElement: ViewContainerRef;\n\n public page = 0;\n public isLoading = false;\n public initialized = false;\n public header: GridHeaderComponent;\n public body: GridBodyComponent;\n public footer: GridFooterComponent;\n public footerPositions = GridFooterPositions;\n\n constructor(\n public alerts: FormioAlerts,\n private resolver: ComponentFactoryResolver,\n private ref: ChangeDetectorRef\n ) {\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n\n loadGrid(src?: string) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n\n ngOnChanges(changes: any) {\n if (this.initialized) {\n if (\n (changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)\n ) {\n this.loadGrid(changes.src.currentValue);\n }\n\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query: object) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n } else {\n return true;\n }\n }\n\n onError(error: any) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n\n refreshGrid(query?: any) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n } else {\n loader = this.body.load(this.formio, this.query);\n }\n\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n\n sortColumn(header: GridHeader) {\n // Reset all other column sorts.\n each(this.header.headers, (col: any) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n\n pageChanged(page: any) {\n this.setPage(page.page - 1);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGridComponent } from './grid.component';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { FormGridHeaderComponent } from './form/FormGridHeader.component';\nimport { FormGridBodyComponent } from './form/FormGridBody.component';\nimport { FormGridFooterComponent } from './form/FormGridFooter.component';\nimport { SubmissionGridHeaderComponent } from './submission/SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './submission/SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './submission/SubmissionGridFooter.component';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\nimport { GridFooterComponent } from './GridFooterComponent';\nimport { GridService } from './grid.service';\nimport { TimeSince } from './form/time-since.pipe'\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n})\nexport class FormioGrid {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c0","i1.GridService","i1"],"mappings":"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"}}}
|