@formio/angular 7.0.0 → 7.5.0-dev.1060.b272e25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/.dockerignore +5 -0
  2. package/.editorconfig +13 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  4. package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +15 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +8 -0
  6. package/.github/pull_request_template.md +35 -0
  7. package/.github/workflows/ci.yml +171 -0
  8. package/.travis.yml +4 -0
  9. package/.yo-rc.json +7 -0
  10. package/CHANGELOG.md +1154 -0
  11. package/Dockerfile +20 -0
  12. package/LICENSE +21 -0
  13. package/README.md +204 -13
  14. package/angular.json +38 -0
  15. package/bs-config.json +11 -0
  16. package/{FormioBaseComponent.d.ts.map → dist/angular-formio/FormioBaseComponent.d.ts.map} +1 -1
  17. package/dist/angular-formio/README.md +24 -0
  18. package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts +1 -1
  19. package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts.map +1 -1
  20. package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts.map +1 -1
  21. package/{core.d.ts → dist/angular-formio/core.d.ts} +1 -1
  22. package/{core.d.ts.map → dist/angular-formio/core.d.ts.map} +1 -1
  23. package/dist/angular-formio/embed/app.service.d.ts +28 -0
  24. package/dist/angular-formio/embed/app.service.d.ts.map +1 -0
  25. package/dist/angular-formio/embed/builder.component.d.ts +14 -0
  26. package/dist/angular-formio/embed/builder.component.d.ts.map +1 -0
  27. package/dist/angular-formio/embed/embed.module.d.ts +10 -0
  28. package/dist/angular-formio/embed/embed.module.d.ts.map +1 -0
  29. package/dist/angular-formio/embed/formio-angular-embed.d.ts.map +1 -0
  30. package/dist/angular-formio/embed/formio.component.d.ts +17 -0
  31. package/dist/angular-formio/embed/formio.component.d.ts.map +1 -0
  32. package/dist/angular-formio/embed/index.d.ts +7 -0
  33. package/dist/angular-formio/embed/index.d.ts.map +1 -0
  34. package/dist/angular-formio/esm2022/FormioBaseComponent.mjs +580 -0
  35. package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.service.mjs +2 -2
  36. package/dist/angular-formio/esm2022/components/formbuilder/formbuilder.component.mjs +202 -0
  37. package/dist/angular-formio/esm2022/components/formio/formio.component.mjs +43 -0
  38. package/dist/angular-formio/esm2022/components/formioreport/formioreport.component.mjs +89 -0
  39. package/{esm2022 → dist/angular-formio/esm2022}/core.mjs +2 -2
  40. package/dist/angular-formio/esm2022/embed/app.service.mjs +58 -0
  41. package/dist/angular-formio/esm2022/embed/builder.component.mjs +36 -0
  42. package/dist/angular-formio/esm2022/embed/embed.module.mjs +35 -0
  43. package/dist/angular-formio/esm2022/embed/formio-angular-embed.mjs +5 -0
  44. package/dist/angular-formio/esm2022/embed/formio.component.mjs +50 -0
  45. package/dist/angular-formio/esm2022/embed/index.mjs +7 -0
  46. package/dist/angular-formio/esm2022/formio.common.mjs +11 -0
  47. package/{esm2022 → dist/angular-formio/esm2022}/formio.config.mjs +2 -2
  48. package/dist/angular-formio/esm2022/formio.service.mjs +62 -0
  49. package/dist/angular-formio/esm2022/grid/grid.component.mjs +257 -0
  50. package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridHeader.component.mjs +2 -2
  51. package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.service.mjs +2 -2
  52. package/{esm2022 → dist/angular-formio/esm2022}/manager/view/view.component.mjs +2 -2
  53. package/{esm2022 → dist/angular-formio/esm2022}/resource/edit/edit.component.mjs +2 -2
  54. package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.service.mjs +2 -2
  55. package/{esm2022 → dist/angular-formio/esm2022}/resource/view/view.component.mjs +2 -2
  56. package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-auth.mjs +1 -1
  57. package/dist/angular-formio/fesm2022/formio-angular-auth.mjs.map +1 -0
  58. package/dist/angular-formio/fesm2022/formio-angular-embed.mjs +176 -0
  59. package/dist/angular-formio/fesm2022/formio-angular-embed.mjs.map +1 -0
  60. package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-grid.mjs +2 -1
  61. package/dist/angular-formio/fesm2022/formio-angular-grid.mjs.map +1 -0
  62. package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-manager.mjs +1 -1
  63. package/dist/angular-formio/fesm2022/formio-angular-manager.mjs.map +1 -0
  64. package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-resource.mjs +1 -1
  65. package/dist/angular-formio/fesm2022/formio-angular-resource.mjs.map +1 -0
  66. package/dist/angular-formio/fesm2022/formio-angular.mjs +1187 -0
  67. package/dist/angular-formio/fesm2022/formio-angular.mjs.map +1 -0
  68. package/{formio.common.d.ts → dist/angular-formio/formio.common.d.ts} +2 -2
  69. package/dist/angular-formio/formio.common.d.ts.map +1 -0
  70. package/{formio.config.d.ts → dist/angular-formio/formio.config.d.ts} +1 -1
  71. package/{formio.config.d.ts.map → dist/angular-formio/formio.config.d.ts.map} +1 -1
  72. package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts +1 -1
  73. package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts.map +1 -1
  74. package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts +1 -1
  75. package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts.map +1 -1
  76. package/package.json +54 -57
  77. package/projects/angular-formio/README.md +24 -0
  78. package/projects/angular-formio/auth/ng-package.json +5 -0
  79. package/projects/angular-formio/auth/src/auth.component.html +11 -0
  80. package/projects/angular-formio/auth/src/auth.component.ts +5 -0
  81. package/projects/angular-formio/auth/src/auth.config.ts +72 -0
  82. package/projects/angular-formio/auth/src/auth.module.ts +33 -0
  83. package/projects/angular-formio/auth/src/auth.routes.ts +34 -0
  84. package/projects/angular-formio/auth/src/auth.service.ts +221 -0
  85. package/projects/angular-formio/auth/src/index.ts +8 -0
  86. package/projects/angular-formio/auth/src/login/login.component.html +1 -0
  87. package/projects/angular-formio/auth/src/login/login.component.ts +11 -0
  88. package/projects/angular-formio/auth/src/public_api.ts +5 -0
  89. package/projects/angular-formio/auth/src/register/register.component.html +1 -0
  90. package/projects/angular-formio/auth/src/register/register.component.ts +11 -0
  91. package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +1 -0
  92. package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +8 -0
  93. package/projects/angular-formio/embed/ng-package.json +5 -0
  94. package/projects/angular-formio/embed/src/app.service.ts +59 -0
  95. package/projects/angular-formio/embed/src/builder.component.ts +19 -0
  96. package/projects/angular-formio/embed/src/embed.module.ts +23 -0
  97. package/projects/angular-formio/embed/src/formio.component.ts +27 -0
  98. package/projects/angular-formio/embed/src/index.ts +6 -0
  99. package/projects/angular-formio/grid/ng-package.json +5 -0
  100. package/projects/angular-formio/grid/src/GridBodyComponent.ts +80 -0
  101. package/projects/angular-formio/grid/src/GridFooterComponent.ts +25 -0
  102. package/projects/angular-formio/grid/src/GridHeaderComponent.ts +25 -0
  103. package/projects/angular-formio/grid/src/form/FormGridBody.component.html +22 -0
  104. package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +4 -0
  105. package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +46 -0
  106. package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +21 -0
  107. package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +23 -0
  108. package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +18 -0
  109. package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +24 -0
  110. package/projects/angular-formio/grid/src/form/index.ts +8 -0
  111. package/projects/angular-formio/grid/src/form/time-since.pipe.ts +31 -0
  112. package/projects/angular-formio/grid/src/grid.component.html +18 -0
  113. package/projects/angular-formio/grid/src/grid.component.scss +9 -0
  114. package/projects/angular-formio/grid/src/grid.component.ts +242 -0
  115. package/projects/angular-formio/grid/src/grid.footer.scss +14 -0
  116. package/projects/angular-formio/grid/src/grid.module.ts +49 -0
  117. package/projects/angular-formio/grid/src/grid.service.ts +16 -0
  118. package/projects/angular-formio/grid/src/index.ts +12 -0
  119. package/projects/angular-formio/grid/src/public_api.ts +5 -0
  120. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +7 -0
  121. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +39 -0
  122. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +18 -0
  123. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +20 -0
  124. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +11 -0
  125. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +72 -0
  126. package/projects/angular-formio/grid/src/submission/index.ts +8 -0
  127. package/projects/angular-formio/grid/src/types/grid-column.ts +7 -0
  128. package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +5 -0
  129. package/projects/angular-formio/grid/src/types/grid-header.ts +14 -0
  130. package/projects/angular-formio/karma.conf.js +32 -0
  131. package/projects/angular-formio/manager/ng-package.json +5 -0
  132. package/projects/angular-formio/manager/src/create/create.component.ts +11 -0
  133. package/projects/angular-formio/manager/src/delete/delete.component.html +6 -0
  134. package/projects/angular-formio/manager/src/delete/delete.component.ts +37 -0
  135. package/projects/angular-formio/manager/src/edit/edit.component.html +19 -0
  136. package/projects/angular-formio/manager/src/edit/edit.component.ts +110 -0
  137. package/projects/angular-formio/manager/src/form/form.component.html +32 -0
  138. package/projects/angular-formio/manager/src/form/form.component.ts +73 -0
  139. package/projects/angular-formio/manager/src/form-manager.config.ts +31 -0
  140. package/projects/angular-formio/manager/src/form-manager.module.ts +54 -0
  141. package/projects/angular-formio/manager/src/form-manager.routes.ts +75 -0
  142. package/projects/angular-formio/manager/src/form-manager.service.ts +190 -0
  143. package/projects/angular-formio/manager/src/index/index.component.html +14 -0
  144. package/projects/angular-formio/manager/src/index/index.component.scss +22 -0
  145. package/projects/angular-formio/manager/src/index/index.component.ts +100 -0
  146. package/projects/angular-formio/manager/src/index.ts +16 -0
  147. package/projects/angular-formio/manager/src/public_api.ts +5 -0
  148. package/projects/angular-formio/manager/src/submission/delete/delete.component.html +6 -0
  149. package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +26 -0
  150. package/projects/angular-formio/manager/src/submission/edit/edit.component.html +7 -0
  151. package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +18 -0
  152. package/projects/angular-formio/manager/src/submission/index/index.component.html +1 -0
  153. package/projects/angular-formio/manager/src/submission/index/index.component.ts +18 -0
  154. package/projects/angular-formio/manager/src/submission/submission/submission.component.html +8 -0
  155. package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +24 -0
  156. package/projects/angular-formio/manager/src/submission/view/view.component.html +7 -0
  157. package/projects/angular-formio/manager/src/submission/view/view.component.ts +9 -0
  158. package/projects/angular-formio/manager/src/view/view.component.html +11 -0
  159. package/projects/angular-formio/manager/src/view/view.component.ts +44 -0
  160. package/projects/angular-formio/ng-package.json +7 -0
  161. package/projects/angular-formio/package.json +37 -0
  162. package/projects/angular-formio/resource/ng-package.json +5 -0
  163. package/projects/angular-formio/resource/src/create/create.component.html +13 -0
  164. package/projects/angular-formio/resource/src/create/create.component.scss +3 -0
  165. package/projects/angular-formio/resource/src/create/create.component.ts +37 -0
  166. package/projects/angular-formio/resource/src/delete/delete.component.html +5 -0
  167. package/projects/angular-formio/resource/src/delete/delete.component.ts +24 -0
  168. package/projects/angular-formio/resource/src/edit/edit.component.html +7 -0
  169. package/projects/angular-formio/resource/src/edit/edit.component.ts +35 -0
  170. package/projects/angular-formio/resource/src/index/index.component.html +10 -0
  171. package/projects/angular-formio/resource/src/index/index.component.ts +64 -0
  172. package/projects/angular-formio/resource/src/index.js +24 -0
  173. package/projects/angular-formio/resource/src/index.ts +11 -0
  174. package/projects/angular-formio/resource/src/public_api.ts +5 -0
  175. package/projects/angular-formio/resource/src/resource.component.html +7 -0
  176. package/projects/angular-formio/resource/src/resource.component.ts +48 -0
  177. package/projects/angular-formio/resource/src/resource.config.ts +17 -0
  178. package/projects/angular-formio/resource/src/resource.module.ts +43 -0
  179. package/projects/angular-formio/resource/src/resource.routes.ts +43 -0
  180. package/projects/angular-formio/resource/src/resource.service.ts +258 -0
  181. package/projects/angular-formio/resource/src/resources.service.ts +24 -0
  182. package/projects/angular-formio/resource/src/view/view.component.html +6 -0
  183. package/projects/angular-formio/resource/src/view/view.component.ts +19 -0
  184. package/projects/angular-formio/src/FormioBaseComponent.ts +554 -0
  185. package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +3 -0
  186. package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +19 -0
  187. package/projects/angular-formio/src/components/alerts/formio.alerts.ts +21 -0
  188. package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +15 -0
  189. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +1 -0
  190. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +213 -0
  191. package/projects/angular-formio/src/components/formio/formio.component.html +8 -0
  192. package/projects/angular-formio/src/components/formio/formio.component.ts +33 -0
  193. package/projects/angular-formio/src/components/formioreport/formioreport.component.html +8 -0
  194. package/projects/angular-formio/src/components/formioreport/formioreport.component.ts +95 -0
  195. package/projects/angular-formio/src/components/loader/formio.loader.component.html +3 -0
  196. package/projects/angular-formio/src/components/loader/formio.loader.component.scss +26 -0
  197. package/projects/angular-formio/src/components/loader/formio.loader.component.ts +10 -0
  198. package/projects/angular-formio/src/core.ts +25 -0
  199. package/projects/angular-formio/src/custom-tags.service.ts +9 -0
  200. package/projects/angular-formio/src/formio-promise.service.ts +36 -0
  201. package/projects/angular-formio/src/formio.common.ts +91 -0
  202. package/projects/angular-formio/src/formio.config.ts +26 -0
  203. package/projects/angular-formio/src/formio.module.ts +38 -0
  204. package/projects/angular-formio/src/formio.service.ts +57 -0
  205. package/projects/angular-formio/src/formio.utils.ts +23 -0
  206. package/projects/angular-formio/src/index.ts +3 -0
  207. package/projects/angular-formio/src/public-api.ts +5 -0
  208. package/projects/angular-formio/src/test.ts +28 -0
  209. package/projects/angular-formio/src/types/alerts-position.ts +6 -0
  210. package/projects/angular-formio/src/types/formio-metadata.ts +10 -0
  211. package/projects/angular-formio/src/types/formio-submission.ts +20 -0
  212. package/projects/angular-formio/tsconfig.lib.json +27 -0
  213. package/projects/angular-formio/tsconfig.lib.prod.json +8 -0
  214. package/projects/angular-formio/tsconfig.spec.json +17 -0
  215. package/projects/angular-formio/tslint.json +17 -0
  216. package/tsconfig.json +39 -0
  217. package/tslint.json +140 -0
  218. package/esm2022/FormioBaseComponent.mjs +0 -583
  219. package/esm2022/components/formbuilder/formbuilder.component.mjs +0 -202
  220. package/esm2022/components/formio/formio.component.mjs +0 -43
  221. package/esm2022/components/formioreport/formioreport.component.mjs +0 -86
  222. package/esm2022/formio.common.mjs +0 -11
  223. package/esm2022/formio.service.mjs +0 -62
  224. package/esm2022/grid/grid.component.mjs +0 -257
  225. package/fesm2022/formio-angular-auth.mjs.map +0 -1
  226. package/fesm2022/formio-angular-grid.mjs.map +0 -1
  227. package/fesm2022/formio-angular-manager.mjs.map +0 -1
  228. package/fesm2022/formio-angular-resource.mjs.map +0 -1
  229. package/fesm2022/formio-angular.mjs +0 -1186
  230. package/fesm2022/formio-angular.mjs.map +0 -1
  231. package/formio.common.d.ts.map +0 -1
  232. /package/{FormioBaseComponent.d.ts → dist/angular-formio/FormioBaseComponent.d.ts} +0 -0
  233. /package/{auth → dist/angular-formio/auth}/auth.component.d.ts +0 -0
  234. /package/{auth → dist/angular-formio/auth}/auth.component.d.ts.map +0 -0
  235. /package/{auth → dist/angular-formio/auth}/auth.config.d.ts +0 -0
  236. /package/{auth → dist/angular-formio/auth}/auth.config.d.ts.map +0 -0
  237. /package/{auth → dist/angular-formio/auth}/auth.module.d.ts +0 -0
  238. /package/{auth → dist/angular-formio/auth}/auth.module.d.ts.map +0 -0
  239. /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts +0 -0
  240. /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts.map +0 -0
  241. /package/{auth → dist/angular-formio/auth}/auth.service.d.ts +0 -0
  242. /package/{auth → dist/angular-formio/auth}/auth.service.d.ts.map +0 -0
  243. /package/{auth → dist/angular-formio/auth}/formio-angular-auth.d.ts.map +0 -0
  244. /package/{auth → dist/angular-formio/auth}/index.d.ts +0 -0
  245. /package/{auth → dist/angular-formio/auth}/index.d.ts.map +0 -0
  246. /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts +0 -0
  247. /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts.map +0 -0
  248. /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts +0 -0
  249. /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts.map +0 -0
  250. /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts +0 -0
  251. /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts.map +0 -0
  252. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts +0 -0
  253. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts.map +0 -0
  254. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts +0 -0
  255. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts.map +0 -0
  256. /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts +0 -0
  257. /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts.map +0 -0
  258. /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts +0 -0
  259. /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts.map +0 -0
  260. /package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts +0 -0
  261. /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts +0 -0
  262. /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts.map +0 -0
  263. /package/{custom-tags.service.d.ts → dist/angular-formio/custom-tags.service.d.ts} +0 -0
  264. /package/{custom-tags.service.d.ts.map → dist/angular-formio/custom-tags.service.d.ts.map} +0 -0
  265. /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.component.mjs +0 -0
  266. /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.config.mjs +0 -0
  267. /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.module.mjs +0 -0
  268. /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.routes.mjs +0 -0
  269. /package/{esm2022 → dist/angular-formio/esm2022}/auth/formio-angular-auth.mjs +0 -0
  270. /package/{esm2022 → dist/angular-formio/esm2022}/auth/index.mjs +0 -0
  271. /package/{esm2022 → dist/angular-formio/esm2022}/auth/login/login.component.mjs +0 -0
  272. /package/{esm2022 → dist/angular-formio/esm2022}/auth/register/register.component.mjs +0 -0
  273. /package/{esm2022 → dist/angular-formio/esm2022}/auth/resetpass/resetpass.component.mjs +0 -0
  274. /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/formio.alerts.component.mjs +0 -0
  275. /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/formio.alerts.mjs +0 -0
  276. /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/parse-html-content.pipe.mjs +0 -0
  277. /package/{esm2022 → dist/angular-formio/esm2022}/components/loader/formio.loader.component.mjs +0 -0
  278. /package/{esm2022 → dist/angular-formio/esm2022}/custom-tags.service.mjs +0 -0
  279. /package/{esm2022 → dist/angular-formio/esm2022}/formio-angular.mjs +0 -0
  280. /package/{esm2022 → dist/angular-formio/esm2022}/formio-promise.service.mjs +0 -0
  281. /package/{esm2022 → dist/angular-formio/esm2022}/formio.module.mjs +0 -0
  282. /package/{esm2022 → dist/angular-formio/esm2022}/formio.utils.mjs +0 -0
  283. /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridBodyComponent.mjs +0 -0
  284. /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridFooterComponent.mjs +0 -0
  285. /package/{esm2022 → dist/angular-formio/esm2022}/grid/GridHeaderComponent.mjs +0 -0
  286. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridBody.component.mjs +0 -0
  287. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridFooter.component.mjs +0 -0
  288. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/FormGridHeader.component.mjs +0 -0
  289. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/index.mjs +0 -0
  290. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/time-since.pipe.mjs +0 -0
  291. /package/{esm2022 → dist/angular-formio/esm2022}/grid/formio-angular-grid.mjs +0 -0
  292. /package/{esm2022 → dist/angular-formio/esm2022}/grid/grid.module.mjs +0 -0
  293. /package/{esm2022 → dist/angular-formio/esm2022}/grid/grid.service.mjs +0 -0
  294. /package/{esm2022 → dist/angular-formio/esm2022}/grid/index.mjs +0 -0
  295. /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridBody.component.mjs +0 -0
  296. /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/SubmissionGridFooter.component.mjs +0 -0
  297. /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/index.mjs +0 -0
  298. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-column.mjs +0 -0
  299. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-footer-positions.mjs +0 -0
  300. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-header.mjs +0 -0
  301. /package/{esm2022 → dist/angular-formio/esm2022}/index.mjs +0 -0
  302. /package/{esm2022 → dist/angular-formio/esm2022}/manager/create/create.component.mjs +0 -0
  303. /package/{esm2022 → dist/angular-formio/esm2022}/manager/delete/delete.component.mjs +0 -0
  304. /package/{esm2022 → dist/angular-formio/esm2022}/manager/edit/edit.component.mjs +0 -0
  305. /package/{esm2022 → dist/angular-formio/esm2022}/manager/form/form.component.mjs +0 -0
  306. /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.config.mjs +0 -0
  307. /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.module.mjs +0 -0
  308. /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.routes.mjs +0 -0
  309. /package/{esm2022 → dist/angular-formio/esm2022}/manager/formio-angular-manager.mjs +0 -0
  310. /package/{esm2022 → dist/angular-formio/esm2022}/manager/index/index.component.mjs +0 -0
  311. /package/{esm2022 → dist/angular-formio/esm2022}/manager/index.mjs +0 -0
  312. /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/delete/delete.component.mjs +0 -0
  313. /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/edit/edit.component.mjs +0 -0
  314. /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/index/index.component.mjs +0 -0
  315. /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/submission/submission.component.mjs +0 -0
  316. /package/{esm2022 → dist/angular-formio/esm2022}/manager/submission/view/view.component.mjs +0 -0
  317. /package/{esm2022 → dist/angular-formio/esm2022}/resource/create/create.component.mjs +0 -0
  318. /package/{esm2022 → dist/angular-formio/esm2022}/resource/delete/delete.component.mjs +0 -0
  319. /package/{esm2022 → dist/angular-formio/esm2022}/resource/formio-angular-resource.mjs +0 -0
  320. /package/{esm2022 → dist/angular-formio/esm2022}/resource/index/index.component.mjs +0 -0
  321. /package/{esm2022 → dist/angular-formio/esm2022}/resource/index.mjs +0 -0
  322. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.component.mjs +0 -0
  323. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.config.mjs +0 -0
  324. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.module.mjs +0 -0
  325. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.routes.mjs +0 -0
  326. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resources.service.mjs +0 -0
  327. /package/{esm2022 → dist/angular-formio/esm2022}/types/alerts-position.mjs +0 -0
  328. /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-metadata.mjs +0 -0
  329. /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-submission.mjs +0 -0
  330. /package/{formio-angular.d.ts.map → dist/angular-formio/formio-angular.d.ts.map} +0 -0
  331. /package/{formio-promise.service.d.ts → dist/angular-formio/formio-promise.service.d.ts} +0 -0
  332. /package/{formio-promise.service.d.ts.map → dist/angular-formio/formio-promise.service.d.ts.map} +0 -0
  333. /package/{formio.module.d.ts → dist/angular-formio/formio.module.d.ts} +0 -0
  334. /package/{formio.module.d.ts.map → dist/angular-formio/formio.module.d.ts.map} +0 -0
  335. /package/{formio.service.d.ts → dist/angular-formio/formio.service.d.ts} +0 -0
  336. /package/{formio.service.d.ts.map → dist/angular-formio/formio.service.d.ts.map} +0 -0
  337. /package/{formio.utils.d.ts → dist/angular-formio/formio.utils.d.ts} +0 -0
  338. /package/{formio.utils.d.ts.map → dist/angular-formio/formio.utils.d.ts.map} +0 -0
  339. /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts +0 -0
  340. /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts.map +0 -0
  341. /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts +0 -0
  342. /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts.map +0 -0
  343. /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts +0 -0
  344. /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts.map +0 -0
  345. /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts +0 -0
  346. /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts.map +0 -0
  347. /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts +0 -0
  348. /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts.map +0 -0
  349. /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts +0 -0
  350. /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts.map +0 -0
  351. /package/{grid → dist/angular-formio/grid}/form/index.d.ts +0 -0
  352. /package/{grid → dist/angular-formio/grid}/form/index.d.ts.map +0 -0
  353. /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts +0 -0
  354. /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts.map +0 -0
  355. /package/{grid → dist/angular-formio/grid}/formio-angular-grid.d.ts.map +0 -0
  356. /package/{grid → dist/angular-formio/grid}/grid.component.d.ts +0 -0
  357. /package/{grid → dist/angular-formio/grid}/grid.component.d.ts.map +0 -0
  358. /package/{grid → dist/angular-formio/grid}/grid.module.d.ts +0 -0
  359. /package/{grid → dist/angular-formio/grid}/grid.module.d.ts.map +0 -0
  360. /package/{grid → dist/angular-formio/grid}/grid.service.d.ts +0 -0
  361. /package/{grid → dist/angular-formio/grid}/grid.service.d.ts.map +0 -0
  362. /package/{grid → dist/angular-formio/grid}/index.d.ts +0 -0
  363. /package/{grid → dist/angular-formio/grid}/index.d.ts.map +0 -0
  364. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts +0 -0
  365. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts.map +0 -0
  366. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts +0 -0
  367. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts.map +0 -0
  368. /package/{grid → dist/angular-formio/grid}/submission/index.d.ts +0 -0
  369. /package/{grid → dist/angular-formio/grid}/submission/index.d.ts.map +0 -0
  370. /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts +0 -0
  371. /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts.map +0 -0
  372. /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts +0 -0
  373. /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts.map +0 -0
  374. /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts +0 -0
  375. /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts.map +0 -0
  376. /package/{index.d.ts → dist/angular-formio/index.d.ts} +0 -0
  377. /package/{index.d.ts.map → dist/angular-formio/index.d.ts.map} +0 -0
  378. /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts +0 -0
  379. /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts.map +0 -0
  380. /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts +0 -0
  381. /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts.map +0 -0
  382. /package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts +0 -0
  383. /package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts.map +0 -0
  384. /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts +0 -0
  385. /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts.map +0 -0
  386. /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts +0 -0
  387. /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts.map +0 -0
  388. /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts +0 -0
  389. /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts.map +0 -0
  390. /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts +0 -0
  391. /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts.map +0 -0
  392. /package/{manager → dist/angular-formio/manager}/formio-angular-manager.d.ts.map +0 -0
  393. /package/{manager → dist/angular-formio/manager}/index/index.component.d.ts +0 -0
  394. /package/{manager → dist/angular-formio/manager}/index/index.component.d.ts.map +0 -0
  395. /package/{manager → dist/angular-formio/manager}/index.d.ts +0 -0
  396. /package/{manager → dist/angular-formio/manager}/index.d.ts.map +0 -0
  397. /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts +0 -0
  398. /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts.map +0 -0
  399. /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts +0 -0
  400. /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts.map +0 -0
  401. /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts +0 -0
  402. /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts.map +0 -0
  403. /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts +0 -0
  404. /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts.map +0 -0
  405. /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts +0 -0
  406. /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts.map +0 -0
  407. /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts +0 -0
  408. /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts.map +0 -0
  409. /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts +0 -0
  410. /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts.map +0 -0
  411. /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts +0 -0
  412. /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts.map +0 -0
  413. /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts +0 -0
  414. /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts.map +0 -0
  415. /package/{resource → dist/angular-formio/resource}/formio-angular-resource.d.ts.map +0 -0
  416. /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts +0 -0
  417. /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts.map +0 -0
  418. /package/{resource → dist/angular-formio/resource}/index.d.ts +0 -0
  419. /package/{resource → dist/angular-formio/resource}/index.d.ts.map +0 -0
  420. /package/{resource → dist/angular-formio/resource}/resource.component.d.ts +0 -0
  421. /package/{resource → dist/angular-formio/resource}/resource.component.d.ts.map +0 -0
  422. /package/{resource → dist/angular-formio/resource}/resource.config.d.ts +0 -0
  423. /package/{resource → dist/angular-formio/resource}/resource.config.d.ts.map +0 -0
  424. /package/{resource → dist/angular-formio/resource}/resource.module.d.ts +0 -0
  425. /package/{resource → dist/angular-formio/resource}/resource.module.d.ts.map +0 -0
  426. /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts +0 -0
  427. /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts.map +0 -0
  428. /package/{resource → dist/angular-formio/resource}/resource.service.d.ts +0 -0
  429. /package/{resource → dist/angular-formio/resource}/resource.service.d.ts.map +0 -0
  430. /package/{resource → dist/angular-formio/resource}/resources.service.d.ts +0 -0
  431. /package/{resource → dist/angular-formio/resource}/resources.service.d.ts.map +0 -0
  432. /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts +0 -0
  433. /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts.map +0 -0
  434. /package/{types → dist/angular-formio/types}/alerts-position.d.ts +0 -0
  435. /package/{types → dist/angular-formio/types}/alerts-position.d.ts.map +0 -0
  436. /package/{types → dist/angular-formio/types}/formio-metadata.d.ts +0 -0
  437. /package/{types → dist/angular-formio/types}/formio-metadata.d.ts.map +0 -0
  438. /package/{types → dist/angular-formio/types}/formio-submission.d.ts +0 -0
  439. /package/{types → dist/angular-formio/types}/formio-submission.d.ts.map +0 -0
@@ -0,0 +1,190 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FormioAppConfig } from '@formio/angular';
3
+ import { FormManagerConfig } from './form-manager.config';
4
+ import { Formio } from '@formio/js';
5
+ import { ActivatedRoute } from '@angular/router';
6
+ import { FormioAuthService } from '@formio/angular/auth';
7
+ import _intersection from 'lodash/intersection';
8
+
9
+ @Injectable()
10
+ export class FormManagerService {
11
+ public formio: Formio;
12
+ public access: any;
13
+ public allAccessMap: any;
14
+ public ownAccessMap: any;
15
+ public ready: Promise<any>;
16
+ public formReady: Promise<any>;
17
+ public actionAllowed: any;
18
+ public form = null;
19
+ public formSrc = '';
20
+ public perms = {delete: false, edit: false};
21
+
22
+ constructor(
23
+ public appConfig: FormioAppConfig,
24
+ public config: FormManagerConfig,
25
+ public auth: FormioAuthService
26
+ ) {
27
+ if (this.appConfig && this.appConfig.appUrl) {
28
+ Formio.setBaseUrl(this.appConfig.apiUrl);
29
+ Formio.setProjectUrl(this.appConfig.appUrl);
30
+ } else {
31
+ console.error('You must provide an AppConfig within your application!');
32
+ }
33
+
34
+ this.allAccessMap = {
35
+ 'update_all': 'formEdit',
36
+ 'delete_all': 'formDelete'
37
+ };
38
+ this.ownAccessMap = {
39
+ 'update_own': 'formEdit',
40
+ 'delete_own': 'formDelete'
41
+ };
42
+ this.actionAllowed = (action) => this.isActionAllowed(action);
43
+ this.reset();
44
+ }
45
+
46
+ isActionAllowed(action: string) {
47
+ return this.access[action];
48
+ }
49
+
50
+ setAccess() {
51
+ this.access = {
52
+ formCreate: true,
53
+ formView: true,
54
+ formSubmission: true,
55
+ formEdit: true,
56
+ formPermission: true,
57
+ formDelete: true,
58
+ projectSettings: true,
59
+ userManagement: true
60
+ };
61
+ if (this.auth) {
62
+ this.access = {
63
+ formCreate: false,
64
+ formView: false,
65
+ formSubmission: false,
66
+ formEdit: false,
67
+ formPermission: false,
68
+ formDelete: false,
69
+ projectSettings: false,
70
+ userManagement: false
71
+ };
72
+ this.ready = this.auth.ready.then(() => {
73
+ let administrator = this.auth.roles["administrator"];
74
+ let formbuilder = this.auth.roles["formbuilder"];
75
+ let formadmin = this.auth.roles["formadmin"];
76
+
77
+ if (this.auth.user && this.auth.user.roles) {
78
+ this.auth.user.roles.forEach((roleId: string) => {
79
+ if (administrator._id === roleId) {
80
+ this.access.formCreate = true;
81
+ this.access.formView = true;
82
+ this.access.formSubmission= true;
83
+ this.access.formEdit = true;
84
+ this.access.formPermission = true;
85
+ this.access.formDelete = true;
86
+ this.access.projectSettings = true;
87
+ this.access.userManagement = true;
88
+ }
89
+ else {
90
+ if (formadmin && formadmin._id === roleId) {
91
+ this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
92
+ this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
93
+ this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
94
+ this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
95
+ this.access.formView = this.auth.formAccess.read_all.includes(roleId);
96
+ this.access.formSubmission = this.auth.formAccess.read_all.includes(roleId);
97
+ }
98
+ if (formbuilder && formbuilder._id === roleId) {
99
+ this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
100
+ this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
101
+ this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
102
+ this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
103
+ this.access.formView = this.auth.formAccess.read_all.includes(roleId);
104
+ }
105
+ }
106
+ });
107
+ }
108
+ });
109
+ } else {
110
+ this.ready = Promise.resolve(false);
111
+ }
112
+ }
113
+
114
+ reset(route?: ActivatedRoute) {
115
+ if (route) {
116
+ route.params.subscribe(params => {
117
+ if (params.id) {
118
+ this.formio = new Formio(`${this.formio.formsUrl}/${params.id}`);
119
+ } else {
120
+ this.reset();
121
+ }
122
+ });
123
+ } else {
124
+ this.formio = new Formio(this.appConfig.appUrl);
125
+ this.setAccess();
126
+ }
127
+ }
128
+
129
+ hasAccess(roles) {
130
+ if (!this.auth.user) {
131
+ return false;
132
+ }
133
+ return !!_intersection(roles, this.auth.user.roles).length;
134
+ }
135
+
136
+ setForm(form: any) {
137
+ this.form = form;
138
+ this.formSrc = this.appConfig.appUrl + '/' + form.path;
139
+ if (form.access) {
140
+ // Check if they have access here.
141
+ form.access.forEach(access => {
142
+ // Check for all access.
143
+ if (this.allAccessMap[access.type] && !this.access[this.allAccessMap[access.type]]) {
144
+ this.access[this.allAccessMap[access.type]] = this.hasAccess(access.roles);
145
+ }
146
+
147
+ // Check for own access.
148
+ if (
149
+ this.auth && this.auth.user &&
150
+ (form._id === this.auth.user._id) &&
151
+ this.ownAccessMap[access.type] &&
152
+ !this.access[this.ownAccessMap[access.type]]
153
+ ) {
154
+ this.access[this.ownAccessMap[access.type]] = this.hasAccess(access.roles);
155
+ }
156
+ });
157
+ }
158
+ return form;
159
+ }
160
+
161
+ loadForm() {
162
+ this.form = null;
163
+ this.formReady = this.formio.loadForm().then(form => this.setForm(form));
164
+ return this.formReady;
165
+ }
166
+
167
+ setSubmission(route: ActivatedRoute) {
168
+ return new Promise((resolve) => {
169
+ route.params.subscribe(params => {
170
+ this.formio = new Formio(`${this.formio.submissionsUrl}/${params.id}`);
171
+ resolve(this.formio);
172
+ });
173
+ });
174
+ }
175
+
176
+ submissionLoaded(submission: any) {
177
+ this.auth.ready.then(() => {
178
+ this.formio.userPermissions(this.auth.user, this.form, submission).then((perms) => {
179
+ this.perms.delete = perms.delete;
180
+ this.perms.edit = perms.edit;
181
+ });
182
+ });
183
+ }
184
+
185
+ loadForms() {
186
+ return this.formio.loadForms({params: {
187
+ tags: this.config.tag
188
+ }});
189
+ }
190
+ }
@@ -0,0 +1,14 @@
1
+ <div role="search" class="input-group mb-3" *ngIf="config.includeSearch">
2
+ <input #search type="text" (keyup)="onSearch()" class="form-control" placeholder="Search Forms" aria-label="Search Forms" aria-describedby="button-search">
3
+ <span *ngIf="search && search !== ''" class="form-clear input-group-addon" (click)="clearSearch()"><span class="fa fa-times bi bi-x"></span></span>
4
+ </div>
5
+ <formio-grid
6
+ *ngIf="service.ready"
7
+ [formio]="service.formio"
8
+ [gridType]="'form'"
9
+ [query]="gridQuery"
10
+ [isActionAllowed]="service.actionAllowed"
11
+ (rowAction)="onAction($event)"
12
+ (rowSelect)="onSelect($event)"
13
+ (createItem)="onCreateItem()"
14
+ ></formio-grid>
@@ -0,0 +1,22 @@
1
+ .form-clear {
2
+ background: #cecece;
3
+ border-radius: 50%;
4
+ bottom: 8px;
5
+ color: rgba(0, 0, 0, 0.3);
6
+ cursor: pointer;
7
+ display: flex;
8
+ justify-content: center;
9
+ align-items: center;
10
+ padding-bottom: 2px;
11
+ height: 24px;
12
+ position: absolute;
13
+ right: 10px;
14
+ top: 6px;
15
+ width: 24px;
16
+ z-index: 10;
17
+ }
18
+
19
+ .form-clear .fa {
20
+ font-size: 16px;
21
+ font-weight: 500;
22
+ }
@@ -0,0 +1,100 @@
1
+ import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';
2
+ import { Router, ActivatedRoute } from '@angular/router';
3
+ import { FormManagerService } from '../form-manager.service';
4
+ import { DefaultConfiguration, FormManagerConfig } from '../form-manager.config';
5
+ import { FormioGridComponent } from '@formio/angular/grid';
6
+ import { debounce } from 'lodash';
7
+
8
+ @Component({
9
+ templateUrl: './index.component.html',
10
+ styleUrls: ['./index.component.scss']
11
+ })
12
+ export class FormManagerIndexComponent implements OnInit, AfterViewInit {
13
+ @ViewChild('search') searchElement: ElementRef;
14
+ @ViewChild(FormioGridComponent, {static: false}) formGrid: FormioGridComponent;
15
+ public gridQuery: any;
16
+ public onSearch;
17
+ constructor(
18
+ public service: FormManagerService,
19
+ public route: ActivatedRoute,
20
+ public router: Router,
21
+ public config: FormManagerConfig
22
+ ) {
23
+ this.config = {...DefaultConfiguration, ...this.config};
24
+ this.gridQuery = {type: this.config.type, sort: 'title'};
25
+ if (this.config.tag) {
26
+ this.gridQuery.tags = this.config.tag;
27
+ }
28
+ this.onSearch = debounce(this._onSearch, 300);
29
+ }
30
+
31
+ loadGrid() {
32
+ this.gridQuery = JSON.parse(localStorage.getItem('query')) || this.gridQuery;
33
+ const currentPage = +localStorage.getItem('currentPage') || 0;
34
+ this.formGrid
35
+ .refreshGrid(this.gridQuery)
36
+ .then(() => this.formGrid.setPage(currentPage - 1));
37
+ }
38
+
39
+ ngOnInit() {
40
+ this.gridQuery = {type: this.config.type, sort: 'title'};
41
+ if (this.config.tag) {
42
+ this.gridQuery.tags = this.config.tag;
43
+ }
44
+ this.service.reset();
45
+ this.service.ready.then(() => {
46
+ this.loadGrid();
47
+ this.formGrid.footer.pageChanged.subscribe(page => {
48
+ localStorage.setItem('currentPage', page.page);
49
+ });
50
+ });
51
+ }
52
+
53
+ ngAfterViewInit(): void {
54
+ this.searchElement.nativeElement.value = localStorage.getItem('searchInput') || '';
55
+ }
56
+
57
+ _onSearch() {
58
+ const search = this.searchElement.nativeElement.value;
59
+ if (search.length > 0) {
60
+ this.gridQuery.skip = 0;
61
+ this.gridQuery.title__regex = '/' + search + '/i';
62
+ this.gridQuery.title__regex = '/' + search.trim() + '/i';
63
+ } else {
64
+ delete this.gridQuery.title__regex;
65
+ }
66
+ localStorage.setItem('query', JSON.stringify(this.gridQuery));
67
+ localStorage.setItem('searchInput', search);
68
+ this.formGrid.pageChanged({page: 1, itemPerPage: this.gridQuery.limit});
69
+ this.formGrid.refreshGrid(this.gridQuery);
70
+ }
71
+
72
+ clearSearch() {
73
+ this.gridQuery = {type: this.config.type, sort: 'title'};
74
+ if (this.config.tag) {
75
+ this.gridQuery.tags = this.config.tag;
76
+ }
77
+ localStorage.removeItem('query');
78
+ localStorage.removeItem('searchInput');
79
+ localStorage.removeItem('currentPage');
80
+ if (this.searchElement?.nativeElement) {
81
+ this.searchElement.nativeElement.value = '';
82
+ }
83
+ this.formGrid.pageChanged({page: 1});
84
+ this.formGrid.query = {};
85
+ this.formGrid.refreshGrid(this.gridQuery);
86
+ }
87
+
88
+ onAction(action: any) {
89
+ this.service.form = null; // Reset previous form data
90
+ this.router.navigate([action.row._id, action.action], { relativeTo: this.route });
91
+ }
92
+
93
+ onSelect(row: any) {
94
+ this.router.navigate([row._id], { relativeTo: this.route });
95
+ }
96
+
97
+ onCreateItem() {
98
+ this.router.navigate(['create'], { relativeTo: this.route });
99
+ }
100
+ }
@@ -0,0 +1,16 @@
1
+ export { FormManagerConfig } from './form-manager.config';
2
+ export { FormManagerService } from './form-manager.service';
3
+ export { FormManagerRoutes } from './form-manager.routes';
4
+ export { FormManagerIndexComponent } from './index/index.component';
5
+ export { FormManagerCreateComponent } from './create/create.component';
6
+ export { FormManagerFormComponent } from './form/form.component';
7
+ export { FormManagerViewComponent } from './view/view.component';
8
+ export { FormManagerEditComponent } from './edit/edit.component';
9
+ export { FormManagerDeleteComponent } from './delete/delete.component';
10
+ export { SubmissionEditComponent } from './submission/edit/edit.component';
11
+ export { SubmissionDeleteComponent } from './submission/delete/delete.component';
12
+ export { SubmissionViewComponent } from './submission/view/view.component';
13
+ export { SubmissionIndexComponent } from './submission/index/index.component';
14
+ export { SubmissionComponent } from './submission/submission/submission.component';
15
+ export { FormManagerRouteConfig } from './form-manager.config';
16
+ export { FormManagerModule } from './form-manager.module';
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of @formio/angular
3
+ */
4
+
5
+ export * from './index';
@@ -0,0 +1,6 @@
1
+ <formio-alerts [alerts]="alerts"></formio-alerts>
2
+ <h3>Are you sure you wish to delete this record?</h3>
3
+ <div class="btn-toolbar">
4
+ <button type="button" (click)="onDelete()" class="btn btn-danger" style="margin-right: 10px;">Yes</button>
5
+ <button type="button" (click)="onCancel()" class="btn btn-default">No</button>
6
+ </div>
@@ -0,0 +1,26 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { FormioAlerts } from '@formio/angular';
5
+
6
+ @Component({
7
+ templateUrl: './delete.component.html'
8
+ })
9
+ export class SubmissionDeleteComponent {
10
+ constructor(
11
+ public service: FormManagerService,
12
+ public router: Router,
13
+ public route: ActivatedRoute,
14
+ public alerts: FormioAlerts
15
+ ) {}
16
+
17
+ onDelete() {
18
+ this.service.formio.deleteSubmission().then(() => {
19
+ this.router.navigate(['../../'], { relativeTo: this.route });
20
+ }).catch(err => this.alerts.setAlert({type: 'danger', message: (err.message || err)}));
21
+ }
22
+
23
+ onCancel() {
24
+ this.router.navigate(['../', 'view'], { relativeTo: this.route });
25
+ }
26
+ }
@@ -0,0 +1,7 @@
1
+ <formio
2
+ [renderer]="service.config.renderer"
3
+ [src]="service.formio.submissionUrl"
4
+ (submit)="onSubmit($event)"
5
+ (formLoad)="service.setForm($event)"
6
+ (submissionLoad)="service.submissionLoaded($event)"
7
+ ></formio>
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+
5
+ @Component({
6
+ templateUrl: './edit.component.html'
7
+ })
8
+ export class SubmissionEditComponent {
9
+ constructor(
10
+ public service: FormManagerService,
11
+ public router: Router,
12
+ public route: ActivatedRoute
13
+ ) { }
14
+
15
+ onSubmit(submission) {
16
+ this.router.navigate(['../../'], {relativeTo: this.route});
17
+ }
18
+ }
@@ -0,0 +1 @@
1
+ <formio-grid [formio]="service.formio" (rowSelect)="onSelect($event)"></formio-grid>
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import { Router, ActivatedRoute } from '@angular/router';
3
+ import { FormManagerService } from '../../form-manager.service';
4
+
5
+ @Component({
6
+ templateUrl: './index.component.html'
7
+ })
8
+ export class SubmissionIndexComponent {
9
+ constructor(
10
+ public service: FormManagerService,
11
+ public route: ActivatedRoute,
12
+ public router: Router
13
+ ) {}
14
+
15
+ onSelect(row: any) {
16
+ this.router.navigate([row._id, 'view'], {relativeTo: this.route});
17
+ }
18
+ }
@@ -0,0 +1,8 @@
1
+ <a *ngIf="downloadUrl" [href]="downloadUrl" target="_blank" class="float-end"><img src="https://pro.formview.io/assets/pdf.png" alt="pdfImage" style="height: 2em;" /></a>
2
+ <ul aria-label="Submission" role="navigation" class="nav nav-tabs" style="margin-bottom:10px">
3
+ <li class="nav-item"><a class="nav-link" routerLink="../"><em class="fa fa-chevron-left bi bi-chevron-left"></em></a></li>
4
+ <li class="nav-item" routerLinkActive="active"><a class="nav-link" routerLink="view" routerLinkActive="active"><em class="fa fa-eye bi bi-eye"></em> View</a></li>
5
+ <li class="nav-item" routerLinkActive="active" *ngIf="service.perms.edit"><a class="nav-link" routerLink="edit" routerLinkActive="active"><em class="fa fa-edit bi bi-pencil-square"></em> Edit</a></li>
6
+ <li class="nav-item" routerLinkActive="active" *ngIf="service.perms.delete"><a class="nav-link" routerLink="delete" routerLinkActive="active"><span class="fa fa-trash bi bi-trash"></span></a></li>
7
+ </ul>
8
+ <router-outlet></router-outlet>
@@ -0,0 +1,24 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute } from '@angular/router';
4
+
5
+ @Component({
6
+ templateUrl: './submission.component.html'
7
+ })
8
+ export class SubmissionComponent implements OnInit {
9
+ public downloadUrl: string;
10
+ constructor(
11
+ public service: FormManagerService,
12
+ public route: ActivatedRoute
13
+ ) { }
14
+
15
+ setDownloadUrl(url) {
16
+ this.downloadUrl = url;
17
+ }
18
+
19
+ ngOnInit() {
20
+ this.service.setSubmission(this.route).then((formio: any) => {
21
+ formio.getDownloadUrl().then((url) => this.setDownloadUrl(url));
22
+ });
23
+ }
24
+ }
@@ -0,0 +1,7 @@
1
+ <formio
2
+ [renderer]="service.config.renderer"
3
+ [src]="service.formio.submissionUrl"
4
+ [readOnly]="true"
5
+ (formLoad)="service.setForm($event)"
6
+ (submissionLoad)="service.submissionLoaded($event)"
7
+ ></formio>
@@ -0,0 +1,9 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+
4
+ @Component({
5
+ templateUrl: './view.component.html'
6
+ })
7
+ export class SubmissionViewComponent {
8
+ constructor(public service: FormManagerService) { }
9
+ }
@@ -0,0 +1,11 @@
1
+ <formio *ngIf="service.form"
2
+ [renderer]="config.renderer"
3
+ [renderOptions]="renderOptions"
4
+ [url]="service.formio.formUrl"
5
+ [form]="service.form"
6
+ [submission]="submission"
7
+ [success]="onSuccess"
8
+ [submitDone]="onSubmitDone"
9
+ [error]="onError"
10
+ (submit)="onSubmit($event)"
11
+ ></formio>
@@ -0,0 +1,44 @@
1
+ import { Component, OnInit, EventEmitter } from '@angular/core';
2
+ import { FormManagerConfig } from '../form-manager.config';
3
+ import { FormManagerService } from '../form-manager.service';
4
+ import { ActivatedRoute, Router } from '@angular/router';
5
+ import { FormioAuthService } from '@formio/angular/auth';
6
+ import { Formio } from '@formio/js';
7
+
8
+ @Component({
9
+ templateUrl: './view.component.html'
10
+ })
11
+ export class FormManagerViewComponent implements OnInit {
12
+ public submission: any;
13
+ public renderOptions: any;
14
+ public onSuccess: EventEmitter<object> = new EventEmitter();
15
+ public onError: EventEmitter<object> = new EventEmitter();
16
+ public onSubmitDone: EventEmitter<object> = new EventEmitter();
17
+ constructor(
18
+ public service: FormManagerService,
19
+ public router: Router,
20
+ public route: ActivatedRoute,
21
+ public config: FormManagerConfig,
22
+ public auth: FormioAuthService
23
+ ) {
24
+ this.renderOptions = {
25
+ saveDraft: this.config.saveDraft
26
+ };
27
+ this.submission = {data: {}};
28
+ }
29
+
30
+ ngOnInit() {
31
+ this.service.formio = new Formio(this.service.formio.formUrl);
32
+ }
33
+
34
+ onSubmit(submission: any) {
35
+ const isDraft = submission.state === 'draft';
36
+ this.submission.data = submission.data;
37
+ this.submission.state = isDraft ? submission.state : 'complete';
38
+ this.service.formio.saveSubmission(this.submission).then(saved => {
39
+ this.onSubmitDone.emit(saved);
40
+ this.onSuccess.emit();
41
+ this.router.navigate(['../', 'submission', saved._id], {relativeTo: this.route});
42
+ }).catch((err) => this.onError.emit(err));
43
+ }
44
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/angular-formio",
4
+ "lib": {
5
+ "entryFile": "./src/index.ts"
6
+ }
7
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@formio/angular",
3
+ "version": "7.5.0-rc.1",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/formio/angular-formio"
7
+ },
8
+ "author": {
9
+ "name": "Travis Tidwell",
10
+ "email": "travis@form.io"
11
+ },
12
+ "keywords": [
13
+ "angular",
14
+ "forms",
15
+ "json forms",
16
+ "javascript forms",
17
+ "model driven forms",
18
+ "form.io"
19
+ ],
20
+ "license": "MIT",
21
+ "bugs": {
22
+ "url": "https://github.com/formio/angular-formio/issues"
23
+ },
24
+ "engines": {
25
+ "node": ">=6.0.0"
26
+ },
27
+ "peerDependencies": {
28
+ "@angular/core": "^16.0.0 || ^17.0.0",
29
+ "@angular/common": "^16.0.0 || ^17.0.0",
30
+ "@angular/elements": "^16.0.0 || ^17.0.0",
31
+ "@formio/js": "^5.0.0-rc.38",
32
+ "zone.js": "~0.13.0 || ~0.14.0",
33
+ "lodash": "^4.17.20",
34
+ "ngx-bootstrap": "^10.0.0 || ^11.0.0 || ^12.0.0",
35
+ "tslib": "^2.0.0"
36
+ }
37
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "lib": {
3
+ "entryFile": "../resource/src/index.ts"
4
+ }
5
+ }
@@ -0,0 +1,13 @@
1
+ <h3 *ngIf="service.form" style="margin-top:0;">
2
+ <a routerLink="../" class="back-button">
3
+ <em class="fa fa-chevron-left bi bi-chevron-left"></em>
4
+ </a> | New {{ service.form.title }}
5
+ </h3>
6
+ <formio
7
+ [form]="service.form"
8
+ [submission]="service.resource"
9
+ [refresh]="service.refresh"
10
+ [error]="onError"
11
+ [success]="onSuccess"
12
+ (submit)="onSubmit($event)"
13
+ ></formio>
@@ -0,0 +1,3 @@
1
+ .back-button {
2
+ font-size: 0.8em;
3
+ }
@@ -0,0 +1,37 @@
1
+ import { Component, EventEmitter, OnInit } from '@angular/core';
2
+ import { Router, ActivatedRoute } from '@angular/router';
3
+ import { FormioResourceService } from '../resource.service';
4
+ import { FormioResourceConfig } from '../resource.config';
5
+
6
+ @Component({
7
+ styleUrls: ['./create.component.scss'],
8
+ templateUrl: './create.component.html'
9
+ })
10
+ export class FormioResourceCreateComponent implements OnInit {
11
+ public onError: EventEmitter<any>;
12
+ public onSuccess: EventEmitter<any>;
13
+ constructor(
14
+ public service: FormioResourceService,
15
+ public route: ActivatedRoute,
16
+ public router: Router,
17
+ public config: FormioResourceConfig
18
+ ) {
19
+ this.onError = new EventEmitter();
20
+ this.onSuccess = new EventEmitter();
21
+ }
22
+
23
+ ngOnInit(): void {
24
+ this.service.init(this.route);
25
+ }
26
+
27
+ onSubmit(submission: any) {
28
+ this.service
29
+ .save(submission)
30
+ .then(() => {
31
+ this.router.navigate(['../', this.service.resource._id, 'view'], {
32
+ relativeTo: this.route
33
+ });
34
+ })
35
+ .catch((err: any) => this.onError.emit(err));
36
+ }
37
+ }
@@ -0,0 +1,5 @@
1
+ <h3>Are you sure you wish to delete this record?</h3>
2
+ <div class="btn-toolbar">
3
+ <button type="button" (click)="onDelete()" class="btn btn-danger" style="margin-right: 10px;">Yes</button>
4
+ <button type="button" (click)="onCancel()" class="btn btn-danger">No</button>
5
+ </div>