@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,554 @@
1
+ import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';
2
+ import { FormioService } from './formio.service';
3
+ import { FormioAlerts } from './components/alerts/formio.alerts';
4
+ import { FormioAppConfig } from './formio.config';
5
+ import { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';
6
+ import { assign, get, isEmpty } from 'lodash';
7
+ import { CustomTagsService } from './custom-tags.service';
8
+ import { Utils } from '@formio/js';
9
+ import { AlertsPosition } from './types/alerts-position';
10
+ const { Evaluator, fastCloneDeep } = Utils;
11
+
12
+ @Component({
13
+ template: ''
14
+ })
15
+ export class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {
16
+ @Input() form?: FormioForm;
17
+ @Input() submission?: any = {};
18
+ @Input() src?: string;
19
+ @Input() url?: string;
20
+ @Input() service?: FormioService;
21
+ @Input() options?: FormioOptions;
22
+ @Input() noeval ? = Evaluator.noeval;
23
+ @Input() formioOptions?: any;
24
+ @Input() renderOptions?: any;
25
+ @Input() readOnly ? = false;
26
+ @Input() viewOnly ? = false;
27
+ @Input() hideLoading ? = false;
28
+ @Input() hideComponents?: string[];
29
+ @Input() refresh?: EventEmitter<FormioRefreshValue>;
30
+ @Input() error?: EventEmitter<any>;
31
+ @Input() success?: EventEmitter<object>;
32
+ @Input() submitDone?: EventEmitter<object>;
33
+ @Input() language?: EventEmitter<string>;
34
+ @Input() hooks?: any = {};
35
+ @Input() renderer?: any;
36
+ @Input() watchSubmissionErrors ? = false;
37
+ @Input() dataTableActions? : any = []
38
+ @Output() render = new EventEmitter<object>();
39
+ @Output() customEvent = new EventEmitter<object>();
40
+ @Output() fileUploadingStatus = new EventEmitter<string>();
41
+ @Output() submit = new EventEmitter<object>();
42
+ @Output() prevPage = new EventEmitter<object>();
43
+ @Output() nextPage = new EventEmitter<object>();
44
+ @Output() beforeSubmit = new EventEmitter<object>();
45
+ @Output() rowAdd = new EventEmitter<any>();
46
+ @Output() rowAdded = new EventEmitter<any>();
47
+ @Output() rowEdit = new EventEmitter<any>();
48
+ @Output() rowEdited = new EventEmitter<any>();
49
+ @Output() rowDelete = new EventEmitter<any>();
50
+ @Output() rowClick = new EventEmitter<any>();
51
+ @Output() rowSelectChange = new EventEmitter<any>();
52
+ @Output() page = new EventEmitter<any>();
53
+ @Output() changeItemsPerPage = new EventEmitter<any>();
54
+ @Output() change = new EventEmitter<object>();
55
+ @Output() invalid = new EventEmitter<boolean>();
56
+ @Output() errorChange = new EventEmitter<any>();
57
+ @Output() formLoad = new EventEmitter<any>();
58
+ @Output() submissionLoad = new EventEmitter<any>();
59
+ @Output() ready = new EventEmitter<FormioBaseComponent>();
60
+ @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;
61
+
62
+ public AlertsPosition = AlertsPosition;
63
+ public formio: any;
64
+ public initialized = false;
65
+ public alerts = new FormioAlerts();
66
+ public formioReady: Promise<any>;
67
+
68
+ private formioReadyResolve: any;
69
+ private submitting = false;
70
+ private submissionSuccess = false;
71
+ public isLoading: boolean;
72
+ public noAlerts: boolean;
73
+ public label: string;
74
+
75
+ constructor(
76
+ public ngZone: NgZone,
77
+ @Optional() public config: FormioAppConfig,
78
+ @Optional() public customTags?: CustomTagsService,
79
+ ) {
80
+ this.isLoading = true;
81
+ this.formioReady = new Promise((ready) => {
82
+ this.formioReadyResolve = ready;
83
+ });
84
+ }
85
+
86
+ getRenderer() {
87
+ return this.renderer;
88
+ }
89
+
90
+ getRendererOptions() {
91
+ const extraTags = this.customTags ? this.customTags.tags : [];
92
+ return assign({}, {
93
+ icons: get(this.config, 'icons', 'fontawesome'),
94
+ noAlerts: get(this.options, 'noAlerts', true),
95
+ readOnly: this.readOnly,
96
+ viewAsHtml: this.viewOnly,
97
+ ...(this.viewOnly && { renderMode: "html" }),
98
+ i18n: get(this.options, 'i18n', null),
99
+ fileService: get(this.options, 'fileService', null),
100
+ hooks: this.hooks,
101
+ sanitizeConfig: {
102
+ addTags: extraTags
103
+ },
104
+ dataTableActions: this.dataTableActions
105
+ }, this.renderOptions || {});
106
+ }
107
+
108
+ createRenderer() {
109
+ const Renderer = this.getRenderer();
110
+ const form = (new Renderer(
111
+ this.formioElement ? this.formioElement.nativeElement : null,
112
+ this.form,
113
+ this.getRendererOptions()
114
+ ));
115
+ return form.instance;
116
+ }
117
+
118
+ setFormUrl(url) {
119
+ this.formio.setUrl(url, this.formioOptions || {});
120
+ }
121
+
122
+ setForm(form: FormioForm) {
123
+ this.form = form;
124
+ if (this.formio) {
125
+ this.formio.destroy();
126
+ }
127
+
128
+ if (this.form.title) {
129
+ this.label = this.form.title;
130
+ } else if (this.form.components && this.form.components[0]) {
131
+ this.label = this.form.components[0].label;
132
+ }
133
+
134
+ // Clear out the element to render the new form.
135
+ if (this.formioElement && this.formioElement.nativeElement) {
136
+ this.formioElement.nativeElement.innerHTML = '';
137
+ }
138
+ this.formio = this.createRenderer();
139
+
140
+ if(!this.formio) {
141
+ return;
142
+ }
143
+ this.formio.setSubmission(this.submission, {
144
+ fromSubmission: false
145
+ });
146
+ if (this.renderOptions && this.renderOptions.validateOnInit) {
147
+ this.formio.setValue(this.submission, {validateOnInit: true});
148
+ }
149
+ if (this.url) {
150
+ this.setFormUrl(this.url);
151
+ }
152
+ if (this.src) {
153
+ this.setFormUrl(this.src);
154
+ }
155
+ this.formio.nosubmit = true;
156
+ this.attachFormEvents();
157
+
158
+ return this.formio.ready.then(() => {
159
+ this.ngZone.run(() => {
160
+ this.isLoading = false;
161
+ this.ready.emit(this);
162
+ this.formioReadyResolve(this.formio);
163
+ if (this.formio.submissionReady) {
164
+ this.formio.submissionReady.then((submission) => {
165
+ this.submissionLoad.emit(submission);
166
+ });
167
+ }
168
+ });
169
+ return this.formio;
170
+ });
171
+ }
172
+
173
+ attachFormEvents() {
174
+ this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));
175
+ this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));
176
+ this.formio.on('change', (value: any, flags: any, isModified: boolean) => this.ngZone.run(() => this.onChange(value, flags, isModified)));
177
+ this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));
178
+ this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));
179
+ this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));
180
+ this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));
181
+ this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));
182
+ this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));
183
+ this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));
184
+ this.formio.on('page', (currentPage: number, component: any) => this.ngZone.run(() => this.page.emit({currentPage, component})));
185
+ this.formio.on('changeItemsPerPage', (itemsPerPage:number) => this.ngZone.run(() => this.changeItemsPerPage.emit({itemsPerPage})));
186
+ this.formio.on('customEvent', (event: any) =>
187
+ this.ngZone.run(() => this.customEvent.emit(event))
188
+ );
189
+
190
+ ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {
191
+ const status = !!index ? 'end' : 'start';
192
+ this.formio.on(eventName, () =>
193
+ this.ngZone.run(() => this.fileUploadingStatus.emit(status))
194
+ );
195
+ });
196
+
197
+ this.formio.on('submit', (submission: any, saved: boolean) =>
198
+ this.ngZone.run(() => this.submitForm(submission, saved))
199
+ );
200
+ this.formio.on('error', (err: any) => this.ngZone.run(() => {
201
+ this.submissionSuccess = false;
202
+ return this.onError(err);
203
+ }));
204
+ this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));
205
+ this.formio.on('formLoad', (loadedForm: any) =>
206
+ this.ngZone.run(() => this.formLoad.emit(loadedForm))
207
+ );
208
+ }
209
+
210
+ initialize() {
211
+ if (this.initialized) {
212
+ return;
213
+ }
214
+
215
+ const extraTags = this.customTags ? this.customTags.tags : [];
216
+ const defaultOptions: FormioOptions = {
217
+ errors: {
218
+ message: 'Please fix the following errors before submitting.'
219
+ },
220
+ alerts: {
221
+ submitMessage: 'Submission Complete.'
222
+ },
223
+ disableAlerts: false,
224
+ hooks: {
225
+ beforeSubmit: null
226
+ },
227
+ sanitizeConfig: {
228
+ addTags: extraTags
229
+ },
230
+ alertsPosition: AlertsPosition.top,
231
+ };
232
+ this.options = Object.assign(defaultOptions, this.options);
233
+ if (this.options.disableAlerts) {
234
+ this.options.alertsPosition = AlertsPosition.none;
235
+ }
236
+ this.initialized = true;
237
+ }
238
+
239
+ ngOnInit() {
240
+ Evaluator.noeval = this.noeval;
241
+ this.initialize();
242
+
243
+ if (this.language) {
244
+ if (typeof this.language === 'string') {
245
+ this.formio.language = this.language;
246
+ } else {
247
+ this.language.subscribe((lang: string) => {
248
+ this.formio.language = lang;
249
+ });
250
+ }
251
+ }
252
+
253
+ if (this.refresh) {
254
+ this.refresh.subscribe((refresh: FormioRefreshValue) =>
255
+ this.onRefresh(refresh)
256
+ );
257
+ }
258
+
259
+ if (this.error) {
260
+ this.error.subscribe((err: any) => this.onError(err));
261
+ }
262
+
263
+ if (this.success) {
264
+ this.success.subscribe((message: string) => {
265
+ this.alerts.setAlert({
266
+ type: 'success',
267
+ message: message || get(this.options, 'alerts.submitMessage')
268
+ });
269
+ });
270
+ }
271
+
272
+ if (this.submitDone) {
273
+ this.submitDone.subscribe((submission: object) => {
274
+ this.formio.emit('submitDone', submission);
275
+ });
276
+ }
277
+
278
+ if (this.src) {
279
+ if (!this.service) {
280
+ this.service = new FormioService(this.src);
281
+ }
282
+ this.isLoading = true;
283
+ this.setFormFromSrc();
284
+ }
285
+ if (this.url && !this.service) {
286
+ this.service = new FormioService(this.url);
287
+ }
288
+ }
289
+
290
+ setFormFromSrc() {
291
+ this.service.loadForm({ params: { live: 1 } }).subscribe(
292
+ (form: FormioForm) => {
293
+ if (form && form.components) {
294
+ this.ngZone.runOutsideAngular(() => {
295
+ this.setForm(form);
296
+ });
297
+ }
298
+
299
+ // if a submission is also provided.
300
+ if (
301
+ isEmpty(this.submission) &&
302
+ this.service &&
303
+ this.service.formio.submissionId
304
+ ) {
305
+ this.service.loadSubmission().subscribe(
306
+ (submission: any) => {
307
+ if (this.readOnly) {
308
+ this.formio.options.readOnly = true;
309
+ }
310
+ this.submission = this.formio.submission = submission;
311
+ },
312
+ err => this.onError(err)
313
+ );
314
+ }
315
+ },
316
+ err => this.onError(err)
317
+ );
318
+ }
319
+
320
+ ngOnDestroy() {
321
+ if (this.formio) {
322
+ this.formio.destroy();
323
+ }
324
+ }
325
+
326
+ onRefresh(refresh: FormioRefreshValue) {
327
+ this.formioReady.then(() => {
328
+ if (refresh.form) {
329
+ this.formio.setForm(refresh.form).then(() => {
330
+ if (refresh.submission) {
331
+ this.formio.setSubmission(refresh.submission);
332
+ }
333
+ });
334
+ } else if (refresh.submission) {
335
+ this.formio.setSubmission(refresh.submission);
336
+ } else {
337
+ switch (refresh.property) {
338
+ case 'submission':
339
+ this.formio.submission = refresh.value;
340
+ break;
341
+ case 'form':
342
+ this.formio.form = refresh.value;
343
+ break;
344
+ }
345
+ }
346
+ });
347
+ }
348
+
349
+ ngOnChanges(changes: any) {
350
+ Evaluator.noeval = this.noeval;
351
+ this.initialize();
352
+
353
+ if (changes.form && changes.form.currentValue) {
354
+ this.ngZone.runOutsideAngular(() => {
355
+ this.setForm(changes.form.currentValue);
356
+ });
357
+ }
358
+
359
+ this.formioReady.then(() => {
360
+ if (changes.submission && changes.submission.currentValue) {
361
+ this.formio.setSubmission(changes.submission.currentValue, {
362
+ fromSubmission: !changes.submission.firstChange
363
+ });
364
+ }
365
+
366
+ if (changes.hideComponents && changes.hideComponents.currentValue) {
367
+ const hiddenComponents = changes.hideComponents.currentValue;
368
+ this.formio.options.hide = hiddenComponents;
369
+ this.formio.everyComponent((component) => {
370
+ component.options.hide = hiddenComponents;
371
+ if (hiddenComponents.includes(component.component.key)) {
372
+ component.visible = false;
373
+ }
374
+ });
375
+ }
376
+ });
377
+ }
378
+
379
+ onPrevPage(data: any) {
380
+ this.alerts.setAlerts([]);
381
+ this.prevPage.emit(data);
382
+ }
383
+
384
+ onNextPage(data: any) {
385
+ this.alerts.setAlerts([]);
386
+ this.nextPage.emit(data);
387
+ }
388
+
389
+ onSubmit(submission: any, saved: boolean, noemit?: boolean) {
390
+ this.submitting = false;
391
+ this.submissionSuccess = true;
392
+
393
+ this.formio.setValue(fastCloneDeep(submission), {
394
+ noValidate: true,
395
+ noCheck: true
396
+ });
397
+
398
+ if (saved) {
399
+ this.formio.emit('submitDone', submission);
400
+ }
401
+ if (!noemit) {
402
+ this.submit.emit(submission);
403
+ }
404
+ if (!this.success) {
405
+ this.alerts.setAlert({
406
+ type: 'success',
407
+ message: get(this.options, 'alerts.submitMessage')
408
+ });
409
+ }
410
+ }
411
+
412
+ onError(err: any) {
413
+ this.alerts.setAlerts([]);
414
+ this.submitting = false;
415
+ this.isLoading = false;
416
+
417
+ if (!err) {
418
+ return;
419
+ }
420
+
421
+ // Make sure it is an array.
422
+ const errors = Array.isArray(err) ? err : [err];
423
+
424
+ // Emit these errors again.
425
+ this.errorChange.emit(errors);
426
+
427
+ if (err.silent) {
428
+ return;
429
+ }
430
+
431
+ if (this.formio && errors.length) {
432
+ this.formio.emit('submitError', errors);
433
+ }
434
+
435
+ // Iterate through each one and set the alerts array.
436
+ errors.forEach((error: any) => {
437
+ const {
438
+ message,
439
+ paths,
440
+ } = error
441
+ ? error.details
442
+ ? {
443
+ message: error.details.map((detail) => detail.message),
444
+ paths: error.details.map((detail) => detail.path),
445
+ }
446
+ : {
447
+ message: error.message || error.toString(),
448
+ paths: error.path ? [error.path] : [],
449
+ }
450
+ : {
451
+ message: '',
452
+ paths: [],
453
+ };
454
+
455
+ let shouldErrorDisplay = true;
456
+
457
+ if (this.formio) {
458
+ paths.forEach((path, index) => {
459
+ const component = this.formio.getComponent(path);
460
+ if (component) {
461
+ const components = Array.isArray(component) ? component : [component];
462
+ const messageText = Array.isArray(message) ? message[index] : message;
463
+ components.forEach((comp) => comp.setCustomValidity(messageText, true));
464
+ this.alerts.addAlert({
465
+ type: 'danger',
466
+ message: message[index],
467
+ component,
468
+ });
469
+ shouldErrorDisplay = false;
470
+ }
471
+ });
472
+
473
+ if ((window as any).VPAT_ENABLED) {
474
+ if (typeof error ==='string' && this.formio.components) {
475
+ this.formio.components.forEach((comp) => {
476
+ if (comp && comp.type !== 'button') {
477
+ comp.setCustomValidity(message, true);
478
+ }
479
+ });
480
+ }
481
+ }
482
+
483
+ if (!this.noAlerts) {
484
+ this.formio.showErrors();
485
+ }
486
+ }
487
+
488
+ if (shouldErrorDisplay) {
489
+ this.alerts.addAlert({
490
+ type: 'danger',
491
+ message,
492
+ component: error.component,
493
+ });
494
+ }
495
+ });
496
+ }
497
+
498
+ focusOnComponet(key: any) {
499
+ if (this.formio) {
500
+ this.formio.focusOnComponent(key);
501
+ }
502
+ }
503
+
504
+ submitExecute(submission: object, saved = false) {
505
+ if (this.service && !this.url && !saved) {
506
+ this.service
507
+ .saveSubmission(submission)
508
+ .subscribe(
509
+ (sub: {}) => this.onSubmit(sub, true),
510
+ err => this.onError(err)
511
+ );
512
+ } else {
513
+ this.onSubmit(submission, false);
514
+ }
515
+ }
516
+
517
+ submitForm(submission: any, saved = false) {
518
+ // Keep double submits from occurring...
519
+ if (this.submitting) {
520
+ return;
521
+ }
522
+ this.formio.setMetadata(submission);
523
+ this.submissionSuccess = false;
524
+ this.submitting = true;
525
+ this.beforeSubmit.emit(submission);
526
+
527
+ // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously
528
+ // or even provide a custom Error method.
529
+ const beforeSubmit = get(this.options, 'hooks.beforeSubmit');
530
+ if (beforeSubmit) {
531
+ beforeSubmit(submission, (err: FormioError, sub: object) => {
532
+ if (err) {
533
+ this.onError(err);
534
+ return;
535
+ }
536
+ this.submitExecute(sub, saved);
537
+ });
538
+ } else {
539
+ this.submitExecute(submission, saved);
540
+ }
541
+ }
542
+
543
+ onChange(value: any, flags: any, isModified: boolean) {
544
+ if (this.watchSubmissionErrors && !this.submissionSuccess) {
545
+ const errors = get(this, 'formio.errors', []);
546
+ const alerts = get(this, 'alerts.alerts', []);
547
+ const submitted = get(this, 'formio.submitted', false);
548
+ if (submitted && (errors.length || alerts.length)) {
549
+ this.onError(errors);
550
+ }
551
+ }
552
+ return this.change.emit({...value, flags, isModified});
553
+ }
554
+ }
@@ -0,0 +1,3 @@
1
+ <div *ngFor="let alert of alerts.alerts" class="alert alert-{{ alert.type }}" role="alert" (click)="getComponent($event, alert)">
2
+ {{alert.message | parseHtmlContent}}
3
+ </div>
@@ -0,0 +1,19 @@
1
+ import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
2
+ import { FormioAlerts } from './formio.alerts';
3
+
4
+ @Component({
5
+ selector: 'formio-alerts',
6
+ templateUrl: './formio.alerts.component.html'
7
+ })
8
+ export class FormioAlertsComponent implements OnInit {
9
+ @Input() alerts: FormioAlerts;
10
+ @Output() focusComponent = new EventEmitter<object>();
11
+ ngOnInit() {
12
+ if (!this.alerts) {
13
+ this.alerts = new FormioAlerts();
14
+ }
15
+ }
16
+ getComponent (event, alert) {
17
+ this.focusComponent.emit(alert.component.key);
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ export interface FormioAlert {
2
+ type: string;
3
+ message: string;
4
+ component?: any;
5
+ }
6
+
7
+ export class FormioAlerts {
8
+ public alerts: FormioAlert[] = [];
9
+
10
+ setAlert(alert: FormioAlert) {
11
+ this.alerts = [alert];
12
+ }
13
+
14
+ addAlert(alert: FormioAlert) {
15
+ this.alerts.push(alert);
16
+ }
17
+
18
+ setAlerts(alerts: FormioAlert[]) {
19
+ this.alerts = alerts;
20
+ }
21
+ }
@@ -0,0 +1,15 @@
1
+ import { Pipe, PipeTransform } from '@angular/core';
2
+
3
+ @Pipe({ name: 'parseHtmlContent', pure: false })
4
+ export class ParseHtmlContentPipe implements PipeTransform {
5
+
6
+ /*
7
+ Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.
8
+ And then render in template.
9
+ */
10
+ transform(content) {
11
+ const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];
12
+
13
+ return parsedContent?.textContent;
14
+ }
15
+ }