@formio/angular 5.2.1-rc.1 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/{dist/angular-formio/FormioBaseComponent.d.ts → FormioBaseComponent.d.ts} +0 -3
  2. package/FormioBaseComponent.d.ts.map +1 -0
  3. package/FormioBaseComponent.ngfactory.d.ts.map +1 -0
  4. package/README.md +13 -170
  5. package/auth/auth.component.d.ts +3 -0
  6. package/{dist/angular-formio/auth → auth}/auth.component.d.ts.map +1 -1
  7. package/{dist/angular-formio/auth → auth}/auth.config.d.ts +0 -3
  8. package/auth/auth.config.d.ts.map +1 -0
  9. package/auth/auth.module.d.ts +6 -0
  10. package/auth/auth.module.d.ts.map +1 -0
  11. package/{dist/angular-formio/auth → auth}/auth.routes.d.ts +0 -0
  12. package/{dist/angular-formio/auth → auth}/auth.routes.d.ts.map +0 -0
  13. package/{dist/angular-formio/auth → auth}/auth.service.d.ts +0 -3
  14. package/auth/auth.service.d.ts.map +1 -0
  15. package/auth/formio-angular-auth.d.ts +5 -0
  16. package/{dist/angular-formio/auth → auth}/formio-angular-auth.d.ts.map +1 -1
  17. package/auth/formio-angular-auth.metadata.json +1 -0
  18. package/{dist/angular-formio/auth → auth}/index.d.ts +0 -0
  19. package/{dist/angular-formio/auth → auth}/index.d.ts.map +0 -0
  20. package/auth/login/login.component.d.ts +6 -0
  21. package/{dist/angular-formio/auth → auth}/login/login.component.d.ts.map +1 -1
  22. package/{dist/angular-formio/auth → auth}/package.json +1 -0
  23. package/{dist/angular-formio/auth → auth}/public_api.d.ts +0 -0
  24. package/{dist/angular-formio/auth → auth}/public_api.d.ts.map +0 -0
  25. package/auth/register/register.component.d.ts +6 -0
  26. package/{dist/angular-formio/auth → auth}/register/register.component.d.ts.map +1 -1
  27. package/auth/resetpass/resetpass.component.d.ts +6 -0
  28. package/{dist/angular-formio/auth → auth}/resetpass/resetpass.component.d.ts.map +1 -1
  29. package/bundles/formio-angular-auth.umd.js +312 -0
  30. package/bundles/formio-angular-auth.umd.js.map +1 -0
  31. package/bundles/formio-angular-grid.umd.js +1010 -0
  32. package/bundles/formio-angular-grid.umd.js.map +1 -0
  33. package/bundles/formio-angular-manager.umd.js +1122 -0
  34. package/bundles/formio-angular-manager.umd.js.map +1 -0
  35. package/bundles/formio-angular-resource.umd.js +556 -0
  36. package/bundles/formio-angular-resource.umd.js.map +1 -0
  37. package/bundles/formio-angular.umd.js +1497 -0
  38. package/bundles/formio-angular.umd.js.map +1 -0
  39. package/components/alerts/formio.alerts.component.d.ts +9 -0
  40. package/{dist/angular-formio/components → components}/alerts/formio.alerts.component.d.ts.map +1 -1
  41. package/components/alerts/formio.alerts.component.ngfactory.d.ts.map +1 -0
  42. package/{dist/angular-formio/components → components}/alerts/formio.alerts.d.ts +0 -0
  43. package/{dist/angular-formio/components → components}/alerts/formio.alerts.d.ts.map +0 -0
  44. package/components/alerts/parse-html-content.pipe.d.ts +5 -0
  45. package/{dist/angular-formio/components → components}/alerts/parse-html-content.pipe.d.ts.map +1 -1
  46. package/components/alerts/parse-html-content.pipe.ngfactory.d.ts.map +1 -0
  47. package/{dist/angular-formio/components → components}/formbuilder/formbuilder.component.d.ts +0 -3
  48. package/components/formbuilder/formbuilder.component.d.ts.map +1 -0
  49. package/components/formbuilder/formbuilder.component.ngfactory.d.ts.map +1 -0
  50. package/{dist/angular-formio/components → components}/formio/formio.component.d.ts +0 -3
  51. package/{dist/angular-formio/components → components}/formio/formio.component.d.ts.map +1 -1
  52. package/components/formio/formio.component.ngfactory.d.ts.map +1 -0
  53. package/components/loader/formio.loader.component.d.ts +4 -0
  54. package/components/loader/formio.loader.component.d.ts.map +1 -0
  55. package/components/loader/formio.loader.component.ngfactory.d.ts.map +1 -0
  56. package/components/loader/formio.loader.component.scss.shim.ngstyle.d.ts.map +1 -0
  57. package/{dist/angular-formio/core.d.ts → core.d.ts} +0 -0
  58. package/{dist/angular-formio/core.d.ts.map → core.d.ts.map} +0 -0
  59. package/{dist/angular-formio/custom-component → custom-component}/create-custom-component.d.ts +0 -0
  60. package/{dist/angular-formio/custom-component → custom-component}/create-custom-component.d.ts.map +0 -0
  61. package/custom-component/custom-tags.service.d.ts +5 -0
  62. package/custom-component/custom-tags.service.d.ts.map +1 -0
  63. package/custom-component/custom-tags.service.ngfactory.d.ts.map +1 -0
  64. package/{dist/angular-formio/custom-component → custom-component}/register-custom-component.d.ts +0 -0
  65. package/{dist/angular-formio/custom-component → custom-component}/register-custom-component.d.ts.map +0 -0
  66. package/{dist/angular-formio/elements.common.d.ts → elements.common.d.ts} +0 -0
  67. package/{dist/angular-formio/elements.common.d.ts.map → elements.common.d.ts.map} +0 -0
  68. package/esm2015/FormioBaseComponent.js +456 -0
  69. package/esm2015/auth/auth.component.js +9 -0
  70. package/esm2015/auth/auth.config.js +12 -0
  71. package/esm2015/auth/auth.module.js +34 -0
  72. package/{dist/angular-formio/esm2015 → esm2015}/auth/auth.routes.js +0 -0
  73. package/esm2015/auth/auth.service.js +160 -0
  74. package/{dist/angular-formio/esm2015 → esm2015}/auth/formio-angular-auth.js +0 -0
  75. package/{dist/angular-formio/esm2015 → esm2015}/auth/index.js +0 -0
  76. package/esm2015/auth/login/login.component.js +16 -0
  77. package/{dist/angular-formio/esm2015 → esm2015}/auth/public_api.js +0 -0
  78. package/esm2015/auth/register/register.component.js +16 -0
  79. package/esm2015/auth/resetpass/resetpass.component.js +16 -0
  80. package/esm2015/components/alerts/formio.alerts.component.js +26 -0
  81. package/{dist/angular-formio/esm2015 → esm2015}/components/alerts/formio.alerts.js +0 -0
  82. package/esm2015/components/alerts/parse-html-content.pipe.js +15 -0
  83. package/esm2015/components/formbuilder/formbuilder.component.js +185 -0
  84. package/esm2015/components/formio/formio.component.js +39 -0
  85. package/esm2015/components/loader/formio.loader.component.js +14 -0
  86. package/{dist/angular-formio/esm2015 → esm2015}/core.js +0 -0
  87. package/{dist/angular-formio/esm2015 → esm2015}/custom-component/create-custom-component.js +0 -0
  88. package/esm2015/custom-component/custom-tags.service.js +13 -0
  89. package/{dist/angular-formio/esm2015 → esm2015}/custom-component/register-custom-component.js +0 -0
  90. package/{dist/angular-formio/esm2015 → esm2015}/elements.common.js +0 -0
  91. package/esm2015/formio-angular.js +7 -0
  92. package/{dist/angular-formio/esm2015 → esm2015}/formio-promise.service.js +0 -0
  93. package/{dist/angular-formio/esm2015 → esm2015}/formio.common.js +0 -0
  94. package/esm2015/formio.config.js +11 -0
  95. package/esm2015/formio.module.js +42 -0
  96. package/{dist/angular-formio/esm2015 → esm2015}/formio.service.js +0 -0
  97. package/{dist/angular-formio/esm2015 → esm2015}/formio.utils.js +0 -0
  98. package/esm2015/grid/GridBodyComponent.js +76 -0
  99. package/esm2015/grid/GridFooterComponent.js +26 -0
  100. package/esm2015/grid/GridHeaderComponent.js +25 -0
  101. package/esm2015/grid/form/FormGridBody.component.js +16 -0
  102. package/esm2015/grid/form/FormGridFooter.component.js +24 -0
  103. package/esm2015/grid/form/FormGridHeader.component.js +24 -0
  104. package/{dist/angular-formio/esm2015 → esm2015}/grid/form/index.js +0 -0
  105. package/esm2015/grid/form/time-since.pipe.js +33 -0
  106. package/esm2015/grid/formio-angular-grid.js +6 -0
  107. package/esm2015/grid/grid.component.js +211 -0
  108. package/esm2015/grid/grid.module.js +61 -0
  109. package/esm2015/grid/grid.service.js +16 -0
  110. package/{dist/angular-formio/esm2015 → esm2015}/grid/index.js +0 -0
  111. package/{dist/angular-formio/esm2015 → esm2015}/grid/public_api.js +0 -0
  112. package/esm2015/grid/submission/SubmissionGridBody.component.js +40 -0
  113. package/esm2015/grid/submission/SubmissionGridFooter.component.js +21 -0
  114. package/esm2015/grid/submission/SubmissionGridHeader.component.js +58 -0
  115. package/{dist/angular-formio/esm2015 → esm2015}/grid/submission/index.js +0 -0
  116. package/{dist/angular-formio/esm2015 → esm2015}/grid/types/grid-column.js +0 -0
  117. package/{dist/angular-formio/esm2015 → esm2015}/grid/types/grid-footer-positions.js +0 -0
  118. package/{dist/angular-formio/esm2015 → esm2015}/grid/types/grid-header.js +0 -0
  119. package/{dist/angular-formio/esm2015 → esm2015}/index.js +0 -0
  120. package/esm2015/manager/create/create.component.js +13 -0
  121. package/esm2015/manager/delete/delete.component.js +42 -0
  122. package/esm2015/manager/edit/edit.component.js +109 -0
  123. package/esm2015/manager/form/form.component.js +73 -0
  124. package/esm2015/manager/form-manager.config.js +12 -0
  125. package/esm2015/manager/form-manager.module.js +56 -0
  126. package/{dist/angular-formio/esm2015 → esm2015}/manager/form-manager.routes.js +0 -0
  127. package/esm2015/manager/form-manager.service.js +180 -0
  128. package/{dist/angular-formio/esm2015 → esm2015}/manager/formio-angular-manager.js +0 -0
  129. package/esm2015/manager/index/index.component.js +86 -0
  130. package/{dist/angular-formio/esm2015 → esm2015}/manager/index.js +0 -0
  131. package/{dist/angular-formio/esm2015 → esm2015}/manager/public_api.js +0 -0
  132. package/esm2015/manager/submission/delete/delete.component.js +32 -0
  133. package/esm2015/manager/submission/edit/edit.component.js +24 -0
  134. package/esm2015/manager/submission/index/index.component.js +24 -0
  135. package/esm2015/manager/submission/submission/submission.component.js +27 -0
  136. package/esm2015/manager/submission/view/view.component.js +16 -0
  137. package/esm2015/manager/view/view.component.js +45 -0
  138. package/{dist/angular-formio/esm2015 → esm2015}/public-api.js +0 -0
  139. package/esm2015/resource/create/create.component.js +40 -0
  140. package/esm2015/resource/delete/delete.component.js +29 -0
  141. package/esm2015/resource/edit/edit.component.js +39 -0
  142. package/{dist/angular-formio/esm2015 → esm2015}/resource/formio-angular-resource.js +0 -0
  143. package/esm2015/resource/index/index.component.js +65 -0
  144. package/{dist/angular-formio/esm2015 → esm2015}/resource/index.js +0 -0
  145. package/{dist/angular-formio/esm2015 → esm2015}/resource/public_api.js +0 -0
  146. package/esm2015/resource/resource.component.js +48 -0
  147. package/esm2015/resource/resource.config.js +12 -0
  148. package/esm2015/resource/resource.module.js +44 -0
  149. package/{dist/angular-formio/esm2015 → esm2015}/resource/resource.routes.js +0 -0
  150. package/esm2015/resource/resource.service.js +187 -0
  151. package/esm2015/resource/resources.service.js +22 -0
  152. package/esm2015/resource/view/view.component.js +24 -0
  153. package/{dist/angular-formio/esm2015 → esm2015}/types/alerts-position.js +0 -0
  154. package/{dist/angular-formio/esm2015 → esm2015}/types/formio-metadata.js +0 -0
  155. package/{dist/angular-formio/esm2015 → esm2015}/types/formio-submission.js +0 -0
  156. package/{dist/angular-formio/fesm2015 → fesm2015}/formio-angular-auth.js +45 -108
  157. package/fesm2015/formio-angular-auth.js.map +1 -0
  158. package/fesm2015/formio-angular-grid.js +624 -0
  159. package/fesm2015/formio-angular-grid.js.map +1 -0
  160. package/fesm2015/formio-angular-manager.js +750 -0
  161. package/fesm2015/formio-angular-manager.js.map +1 -0
  162. package/fesm2015/formio-angular-resource.js +515 -0
  163. package/fesm2015/formio-angular-resource.js.map +1 -0
  164. package/fesm2015/formio-angular.js +1073 -0
  165. package/fesm2015/formio-angular.js.map +1 -0
  166. package/formio-angular.d.ts +7 -0
  167. package/formio-angular.d.ts.map +1 -0
  168. package/formio-angular.metadata.json +1 -0
  169. package/{dist/angular-formio/formio-promise.service.d.ts → formio-promise.service.d.ts} +0 -0
  170. package/{dist/angular-formio/formio-promise.service.d.ts.map → formio-promise.service.d.ts.map} +0 -0
  171. package/{dist/angular-formio/formio.common.d.ts → formio.common.d.ts} +0 -0
  172. package/{dist/angular-formio/formio.common.d.ts.map → formio.common.d.ts.map} +0 -0
  173. package/formio.config.d.ts +7 -0
  174. package/formio.config.d.ts.map +1 -0
  175. package/formio.config.ngfactory.d.ts.map +1 -0
  176. package/formio.module.d.ts +3 -0
  177. package/{dist/angular-formio/formio.module.d.ts.map → formio.module.d.ts.map} +1 -1
  178. package/formio.module.ngfactory.d.ts.map +1 -0
  179. package/{dist/angular-formio/formio.service.d.ts → formio.service.d.ts} +0 -0
  180. package/{dist/angular-formio/formio.service.d.ts.map → formio.service.d.ts.map} +0 -0
  181. package/{dist/angular-formio/formio.utils.d.ts → formio.utils.d.ts} +0 -0
  182. package/{dist/angular-formio/formio.utils.d.ts.map → formio.utils.d.ts.map} +0 -0
  183. package/{dist/angular-formio/grid → grid}/GridBodyComponent.d.ts +0 -3
  184. package/grid/GridBodyComponent.d.ts.map +1 -0
  185. package/grid/GridBodyComponent.ngfactory.d.ts.map +1 -0
  186. package/{dist/angular-formio/grid → grid}/GridFooterComponent.d.ts +0 -3
  187. package/grid/GridFooterComponent.d.ts.map +1 -0
  188. package/grid/GridFooterComponent.ngfactory.d.ts.map +1 -0
  189. package/{dist/angular-formio/grid → grid}/GridHeaderComponent.d.ts +0 -3
  190. package/grid/GridHeaderComponent.d.ts.map +1 -0
  191. package/grid/GridHeaderComponent.ngfactory.d.ts.map +1 -0
  192. package/grid/form/FormGridBody.component.d.ts +6 -0
  193. package/{dist/angular-formio/grid → grid}/form/FormGridBody.component.d.ts.map +1 -1
  194. package/grid/form/FormGridBody.component.ngfactory.d.ts.map +1 -0
  195. package/grid/form/FormGridBody.component.scss.shim.ngstyle.d.ts.map +1 -0
  196. package/grid/form/FormGridFooter.component.d.ts +7 -0
  197. package/{dist/angular-formio/grid → grid}/form/FormGridFooter.component.d.ts.map +1 -1
  198. package/grid/form/FormGridFooter.component.ngfactory.d.ts.map +1 -0
  199. package/{dist/angular-formio/grid → grid}/form/FormGridHeader.component.d.ts +0 -3
  200. package/{dist/angular-formio/grid → grid}/form/FormGridHeader.component.d.ts.map +1 -1
  201. package/grid/form/FormGridHeader.component.ngfactory.d.ts.map +1 -0
  202. package/{dist/angular-formio/grid → grid}/form/index.d.ts +0 -0
  203. package/{dist/angular-formio/grid → grid}/form/index.d.ts.map +0 -0
  204. package/grid/form/time-since.pipe.d.ts +5 -0
  205. package/{dist/angular-formio/grid → grid}/form/time-since.pipe.d.ts.map +1 -1
  206. package/grid/form/time-since.pipe.ngfactory.d.ts.map +1 -0
  207. package/grid/formio-angular-grid.d.ts +6 -0
  208. package/{dist/angular-formio/grid → grid}/formio-angular-grid.d.ts.map +1 -1
  209. package/grid/formio-angular-grid.metadata.json +1 -0
  210. package/{dist/angular-formio/grid → grid}/grid.component.d.ts +0 -3
  211. package/grid/grid.component.d.ts.map +1 -0
  212. package/grid/grid.component.ngfactory.d.ts.map +1 -0
  213. package/grid/grid.component.scss.shim.ngstyle.d.ts.map +1 -0
  214. package/grid/grid.footer.scss.ngstyle.d.ts.map +1 -0
  215. package/grid/grid.module.d.ts +3 -0
  216. package/{dist/angular-formio/grid → grid}/grid.module.d.ts.map +1 -1
  217. package/grid/grid.module.ngfactory.d.ts.map +1 -0
  218. package/grid/grid.service.d.ts +7 -0
  219. package/grid/grid.service.d.ts.map +1 -0
  220. package/grid/grid.service.ngfactory.d.ts.map +1 -0
  221. package/{dist/angular-formio/grid → grid}/index.d.ts +0 -0
  222. package/{dist/angular-formio/grid → grid}/index.d.ts.map +0 -0
  223. package/{dist/angular-formio/grid → grid}/package.json +1 -0
  224. package/{dist/angular-formio/grid → grid}/public_api.d.ts +0 -0
  225. package/{dist/angular-formio/grid → grid}/public_api.d.ts.map +0 -0
  226. package/{dist/angular-formio/grid → grid}/submission/SubmissionGridBody.component.d.ts +0 -3
  227. package/{dist/angular-formio/grid → grid}/submission/SubmissionGridBody.component.d.ts.map +1 -1
  228. package/grid/submission/SubmissionGridBody.component.ngfactory.d.ts.map +1 -0
  229. package/grid/submission/SubmissionGridFooter.component.d.ts +7 -0
  230. package/{dist/angular-formio/grid → grid}/submission/SubmissionGridFooter.component.d.ts.map +1 -1
  231. package/grid/submission/SubmissionGridFooter.component.ngfactory.d.ts.map +1 -0
  232. package/{dist/angular-formio/grid → grid}/submission/SubmissionGridHeader.component.d.ts +0 -3
  233. package/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -0
  234. package/grid/submission/SubmissionGridHeader.component.ngfactory.d.ts.map +1 -0
  235. package/{dist/angular-formio/grid → grid}/submission/index.d.ts +0 -0
  236. package/{dist/angular-formio/grid → grid}/submission/index.d.ts.map +0 -0
  237. package/{dist/angular-formio/grid → grid}/types/grid-column.d.ts +0 -0
  238. package/{dist/angular-formio/grid → grid}/types/grid-column.d.ts.map +0 -0
  239. package/{dist/angular-formio/grid → grid}/types/grid-footer-positions.d.ts +0 -0
  240. package/{dist/angular-formio/grid → grid}/types/grid-footer-positions.d.ts.map +0 -0
  241. package/{dist/angular-formio/grid → grid}/types/grid-header.d.ts +0 -0
  242. package/{dist/angular-formio/grid → grid}/types/grid-header.d.ts.map +0 -0
  243. package/{dist/angular-formio/index.d.ts → index.d.ts} +0 -0
  244. package/{dist/angular-formio/index.d.ts.map → index.d.ts.map} +0 -0
  245. package/manager/create/create.component.d.ts +6 -0
  246. package/{dist/angular-formio/manager → manager}/create/create.component.d.ts.map +1 -1
  247. package/{dist/angular-formio/manager → manager}/delete/delete.component.d.ts +0 -3
  248. package/manager/delete/delete.component.d.ts.map +1 -0
  249. package/{dist/angular-formio/manager → manager}/edit/edit.component.d.ts +0 -3
  250. package/manager/edit/edit.component.d.ts.map +1 -0
  251. package/{dist/angular-formio/manager → manager}/form/form.component.d.ts +0 -3
  252. package/manager/form/form.component.d.ts.map +1 -0
  253. package/{dist/angular-formio/manager → manager}/form-manager.config.d.ts +0 -3
  254. package/manager/form-manager.config.d.ts.map +1 -0
  255. package/manager/form-manager.module.d.ts +6 -0
  256. package/manager/form-manager.module.d.ts.map +1 -0
  257. package/{dist/angular-formio/manager → manager}/form-manager.routes.d.ts +0 -0
  258. package/{dist/angular-formio/manager → manager}/form-manager.routes.d.ts.map +0 -0
  259. package/{dist/angular-formio/manager → manager}/form-manager.service.d.ts +0 -3
  260. package/manager/form-manager.service.d.ts.map +1 -0
  261. package/manager/formio-angular-manager.d.ts +5 -0
  262. package/{dist/angular-formio/manager → manager}/formio-angular-manager.d.ts.map +1 -1
  263. package/manager/formio-angular-manager.metadata.json +1 -0
  264. package/{dist/angular-formio/manager → manager}/index/index.component.d.ts +0 -3
  265. package/manager/index/index.component.d.ts.map +1 -0
  266. package/{dist/angular-formio/manager → manager}/index.d.ts +0 -0
  267. package/{dist/angular-formio/manager → manager}/index.d.ts.map +0 -0
  268. package/{dist/angular-formio/manager → manager}/package.json +1 -0
  269. package/{dist/angular-formio/manager → manager}/public_api.d.ts +0 -0
  270. package/{dist/angular-formio/manager → manager}/public_api.d.ts.map +0 -0
  271. package/{dist/angular-formio/manager → manager}/submission/delete/delete.component.d.ts +0 -3
  272. package/{dist/angular-formio/manager → manager}/submission/delete/delete.component.d.ts.map +1 -1
  273. package/{dist/angular-formio/manager → manager}/submission/edit/edit.component.d.ts +0 -3
  274. package/{dist/angular-formio/manager → manager}/submission/edit/edit.component.d.ts.map +1 -1
  275. package/{dist/angular-formio/manager → manager}/submission/index/index.component.d.ts +0 -3
  276. package/{dist/angular-formio/manager → manager}/submission/index/index.component.d.ts.map +1 -1
  277. package/{dist/angular-formio/manager → manager}/submission/submission/submission.component.d.ts +0 -3
  278. package/{dist/angular-formio/manager → manager}/submission/submission/submission.component.d.ts.map +1 -1
  279. package/manager/submission/view/view.component.d.ts +6 -0
  280. package/{dist/angular-formio/manager → manager}/submission/view/view.component.d.ts.map +1 -1
  281. package/{dist/angular-formio/manager → manager}/view/view.component.d.ts +0 -3
  282. package/manager/view/view.component.d.ts.map +1 -0
  283. package/package.json +27 -51
  284. package/{dist/angular-formio/public-api.d.ts → public-api.d.ts} +0 -0
  285. package/{dist/angular-formio/public-api.d.ts.map → public-api.d.ts.map} +0 -0
  286. package/{dist/angular-formio/resource → resource}/create/create.component.d.ts +0 -3
  287. package/resource/create/create.component.d.ts.map +1 -0
  288. package/{dist/angular-formio/resource → resource}/delete/delete.component.d.ts +0 -3
  289. package/{dist/angular-formio/resource → resource}/delete/delete.component.d.ts.map +1 -1
  290. package/{dist/angular-formio/resource → resource}/edit/edit.component.d.ts +0 -3
  291. package/resource/edit/edit.component.d.ts.map +1 -0
  292. package/resource/formio-angular-resource.d.ts +5 -0
  293. package/{dist/angular-formio/resource → resource}/formio-angular-resource.d.ts.map +1 -1
  294. package/resource/formio-angular-resource.metadata.json +1 -0
  295. package/{dist/angular-formio/resource → resource}/index/index.component.d.ts +0 -3
  296. package/resource/index/index.component.d.ts.map +1 -0
  297. package/{dist/angular-formio/resource → resource}/index.d.ts +0 -0
  298. package/{dist/angular-formio/resource → resource}/index.d.ts.map +0 -0
  299. package/{dist/angular-formio/resource → resource}/package.json +1 -0
  300. package/{dist/angular-formio/resource → resource}/public_api.d.ts +0 -0
  301. package/{dist/angular-formio/resource → resource}/public_api.d.ts.map +0 -0
  302. package/{dist/angular-formio/resource → resource}/resource.component.d.ts +0 -3
  303. package/{dist/angular-formio/resource → resource}/resource.component.d.ts.map +1 -1
  304. package/{dist/angular-formio/resource → resource}/resource.config.d.ts +0 -3
  305. package/resource/resource.config.d.ts.map +1 -0
  306. package/resource/resource.module.d.ts +6 -0
  307. package/resource/resource.module.d.ts.map +1 -0
  308. package/{dist/angular-formio/resource → resource}/resource.routes.d.ts +0 -0
  309. package/{dist/angular-formio/resource → resource}/resource.routes.d.ts.map +0 -0
  310. package/{dist/angular-formio/resource → resource}/resource.service.d.ts +0 -3
  311. package/resource/resource.service.d.ts.map +1 -0
  312. package/{dist/angular-formio/resource → resource}/resources.service.d.ts +0 -3
  313. package/resource/resources.service.d.ts.map +1 -0
  314. package/{dist/angular-formio/resource → resource}/view/view.component.d.ts +0 -3
  315. package/{dist/angular-formio/resource → resource}/view/view.component.d.ts.map +1 -1
  316. package/{dist/angular-formio/types → types}/alerts-position.d.ts +0 -0
  317. package/{dist/angular-formio/types → types}/alerts-position.d.ts.map +0 -0
  318. package/{dist/angular-formio/types → types}/formio-metadata.d.ts +0 -0
  319. package/{dist/angular-formio/types → types}/formio-metadata.d.ts.map +0 -0
  320. package/{dist/angular-formio/types → types}/formio-submission.d.ts +0 -0
  321. package/{dist/angular-formio/types → types}/formio-submission.d.ts.map +0 -0
  322. package/.dockerignore +0 -5
  323. package/.editorconfig +0 -13
  324. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  325. package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +0 -15
  326. package/.github/ISSUE_TEMPLATE/question.md +0 -8
  327. package/.travis.yml +0 -4
  328. package/.yo-rc.json +0 -7
  329. package/CHANGELOG.md +0 -1004
  330. package/Dockerfile +0 -20
  331. package/LICENSE +0 -21
  332. package/angular.json +0 -51
  333. package/bs-config.json +0 -11
  334. package/dist/angular-formio/FormioBaseComponent.d.ts.map +0 -1
  335. package/dist/angular-formio/README.md +0 -24
  336. package/dist/angular-formio/auth/auth.component.d.ts +0 -6
  337. package/dist/angular-formio/auth/auth.config.d.ts.map +0 -1
  338. package/dist/angular-formio/auth/auth.module.d.ts +0 -17
  339. package/dist/angular-formio/auth/auth.module.d.ts.map +0 -1
  340. package/dist/angular-formio/auth/auth.service.d.ts.map +0 -1
  341. package/dist/angular-formio/auth/formio-angular-auth.d.ts +0 -6
  342. package/dist/angular-formio/auth/login/login.component.d.ts +0 -9
  343. package/dist/angular-formio/auth/register/register.component.d.ts +0 -9
  344. package/dist/angular-formio/auth/resetpass/resetpass.component.d.ts +0 -9
  345. package/dist/angular-formio/bundles/formio-angular-auth.umd.js +0 -421
  346. package/dist/angular-formio/bundles/formio-angular-auth.umd.js.map +0 -1
  347. package/dist/angular-formio/bundles/formio-angular-grid.umd.js +0 -1725
  348. package/dist/angular-formio/bundles/formio-angular-grid.umd.js.map +0 -1
  349. package/dist/angular-formio/bundles/formio-angular-manager.umd.js +0 -1648
  350. package/dist/angular-formio/bundles/formio-angular-manager.umd.js.map +0 -1
  351. package/dist/angular-formio/bundles/formio-angular-resource.umd.js +0 -720
  352. package/dist/angular-formio/bundles/formio-angular-resource.umd.js.map +0 -1
  353. package/dist/angular-formio/bundles/formio-angular.umd.js +0 -1729
  354. package/dist/angular-formio/bundles/formio-angular.umd.js.map +0 -1
  355. package/dist/angular-formio/components/alerts/formio.alerts.component.d.ts +0 -12
  356. package/dist/angular-formio/components/alerts/parse-html-content.pipe.d.ts +0 -8
  357. package/dist/angular-formio/components/formbuilder/formbuilder.component.d.ts.map +0 -1
  358. package/dist/angular-formio/components/loader/formio.loader.component.d.ts +0 -7
  359. package/dist/angular-formio/components/loader/formio.loader.component.d.ts.map +0 -1
  360. package/dist/angular-formio/custom-component/custom-tags.service.d.ts +0 -8
  361. package/dist/angular-formio/custom-component/custom-tags.service.d.ts.map +0 -1
  362. package/dist/angular-formio/esm2015/FormioBaseComponent.js +0 -497
  363. package/dist/angular-formio/esm2015/auth/auth.component.js +0 -39
  364. package/dist/angular-formio/esm2015/auth/auth.config.js +0 -15
  365. package/dist/angular-formio/esm2015/auth/auth.module.js +0 -49
  366. package/dist/angular-formio/esm2015/auth/auth.service.js +0 -159
  367. package/dist/angular-formio/esm2015/auth/login/login.component.js +0 -24
  368. package/dist/angular-formio/esm2015/auth/register/register.component.js +0 -24
  369. package/dist/angular-formio/esm2015/auth/resetpass/resetpass.component.js +0 -24
  370. package/dist/angular-formio/esm2015/components/alerts/formio.alerts.component.js +0 -49
  371. package/dist/angular-formio/esm2015/components/alerts/parse-html-content.pipe.js +0 -19
  372. package/dist/angular-formio/esm2015/components/formbuilder/formbuilder.component.js +0 -203
  373. package/dist/angular-formio/esm2015/components/formio/formio.component.js +0 -87
  374. package/dist/angular-formio/esm2015/components/loader/formio.loader.component.js +0 -27
  375. package/dist/angular-formio/esm2015/custom-component/custom-tags.service.js +0 -16
  376. package/dist/angular-formio/esm2015/formio-angular.js +0 -5
  377. package/dist/angular-formio/esm2015/formio.config.js +0 -14
  378. package/dist/angular-formio/esm2015/formio.module.js +0 -61
  379. package/dist/angular-formio/esm2015/grid/GridBodyComponent.js +0 -86
  380. package/dist/angular-formio/esm2015/grid/GridFooterComponent.js +0 -41
  381. package/dist/angular-formio/esm2015/grid/GridHeaderComponent.js +0 -35
  382. package/dist/angular-formio/esm2015/grid/form/FormGridBody.component.js +0 -130
  383. package/dist/angular-formio/esm2015/grid/form/FormGridFooter.component.js +0 -118
  384. package/dist/angular-formio/esm2015/grid/form/FormGridHeader.component.js +0 -65
  385. package/dist/angular-formio/esm2015/grid/form/time-since.pipe.js +0 -37
  386. package/dist/angular-formio/esm2015/grid/formio-angular-grid.js +0 -5
  387. package/dist/angular-formio/esm2015/grid/grid.component.js +0 -302
  388. package/dist/angular-formio/esm2015/grid/grid.module.js +0 -90
  389. package/dist/angular-formio/esm2015/grid/grid.service.js +0 -18
  390. package/dist/angular-formio/esm2015/grid/submission/SubmissionGridBody.component.js +0 -75
  391. package/dist/angular-formio/esm2015/grid/submission/SubmissionGridFooter.component.js +0 -107
  392. package/dist/angular-formio/esm2015/grid/submission/SubmissionGridHeader.component.js +0 -99
  393. package/dist/angular-formio/esm2015/manager/create/create.component.js +0 -68
  394. package/dist/angular-formio/esm2015/manager/delete/delete.component.js +0 -56
  395. package/dist/angular-formio/esm2015/manager/edit/edit.component.js +0 -170
  396. package/dist/angular-formio/esm2015/manager/form/form.component.js +0 -192
  397. package/dist/angular-formio/esm2015/manager/form-manager.config.js +0 -15
  398. package/dist/angular-formio/esm2015/manager/form-manager.module.js +0 -86
  399. package/dist/angular-formio/esm2015/manager/form-manager.service.js +0 -178
  400. package/dist/angular-formio/esm2015/manager/index/index.component.js +0 -130
  401. package/dist/angular-formio/esm2015/manager/submission/delete/delete.component.js +0 -47
  402. package/dist/angular-formio/esm2015/manager/submission/edit/edit.component.js +0 -30
  403. package/dist/angular-formio/esm2015/manager/submission/index/index.component.js +0 -30
  404. package/dist/angular-formio/esm2015/manager/submission/submission/submission.component.js +0 -75
  405. package/dist/angular-formio/esm2015/manager/submission/view/view.component.js +0 -24
  406. package/dist/angular-formio/esm2015/manager/view/view.component.js +0 -57
  407. package/dist/angular-formio/esm2015/resource/create/create.component.js +0 -61
  408. package/dist/angular-formio/esm2015/resource/delete/delete.component.js +0 -42
  409. package/dist/angular-formio/esm2015/resource/edit/edit.component.js +0 -44
  410. package/dist/angular-formio/esm2015/resource/index/index.component.js +0 -72
  411. package/dist/angular-formio/esm2015/resource/resource.component.js +0 -83
  412. package/dist/angular-formio/esm2015/resource/resource.config.js +0 -15
  413. package/dist/angular-formio/esm2015/resource/resource.module.js +0 -65
  414. package/dist/angular-formio/esm2015/resource/resource.service.js +0 -186
  415. package/dist/angular-formio/esm2015/resource/resources.service.js +0 -22
  416. package/dist/angular-formio/esm2015/resource/view/view.component.js +0 -29
  417. package/dist/angular-formio/fesm2015/formio-angular-auth.js.map +0 -1
  418. package/dist/angular-formio/fesm2015/formio-angular-grid.js +0 -1175
  419. package/dist/angular-formio/fesm2015/formio-angular-grid.js.map +0 -1
  420. package/dist/angular-formio/fesm2015/formio-angular-manager.js +0 -1145
  421. package/dist/angular-formio/fesm2015/formio-angular-manager.js.map +0 -1
  422. package/dist/angular-formio/fesm2015/formio-angular-resource.js +0 -612
  423. package/dist/angular-formio/fesm2015/formio-angular-resource.js.map +0 -1
  424. package/dist/angular-formio/fesm2015/formio-angular.js +0 -1232
  425. package/dist/angular-formio/fesm2015/formio-angular.js.map +0 -1
  426. package/dist/angular-formio/formio-angular.d.ts +0 -6
  427. package/dist/angular-formio/formio-angular.d.ts.map +0 -1
  428. package/dist/angular-formio/formio.config.d.ts +0 -10
  429. package/dist/angular-formio/formio.config.d.ts.map +0 -1
  430. package/dist/angular-formio/formio.module.d.ts +0 -14
  431. package/dist/angular-formio/grid/GridBodyComponent.d.ts.map +0 -1
  432. package/dist/angular-formio/grid/GridFooterComponent.d.ts.map +0 -1
  433. package/dist/angular-formio/grid/GridHeaderComponent.d.ts.map +0 -1
  434. package/dist/angular-formio/grid/form/FormGridBody.component.d.ts +0 -9
  435. package/dist/angular-formio/grid/form/FormGridFooter.component.d.ts +0 -10
  436. package/dist/angular-formio/grid/form/time-since.pipe.d.ts +0 -8
  437. package/dist/angular-formio/grid/formio-angular-grid.d.ts +0 -6
  438. package/dist/angular-formio/grid/grid.component.d.ts.map +0 -1
  439. package/dist/angular-formio/grid/grid.module.d.ts +0 -23
  440. package/dist/angular-formio/grid/grid.service.d.ts +0 -10
  441. package/dist/angular-formio/grid/grid.service.d.ts.map +0 -1
  442. package/dist/angular-formio/grid/submission/SubmissionGridFooter.component.d.ts +0 -10
  443. package/dist/angular-formio/grid/submission/SubmissionGridHeader.component.d.ts.map +0 -1
  444. package/dist/angular-formio/manager/create/create.component.d.ts +0 -9
  445. package/dist/angular-formio/manager/delete/delete.component.d.ts.map +0 -1
  446. package/dist/angular-formio/manager/edit/edit.component.d.ts.map +0 -1
  447. package/dist/angular-formio/manager/form/form.component.d.ts.map +0 -1
  448. package/dist/angular-formio/manager/form-manager.config.d.ts.map +0 -1
  449. package/dist/angular-formio/manager/form-manager.module.d.ts +0 -28
  450. package/dist/angular-formio/manager/form-manager.module.d.ts.map +0 -1
  451. package/dist/angular-formio/manager/form-manager.service.d.ts.map +0 -1
  452. package/dist/angular-formio/manager/formio-angular-manager.d.ts +0 -6
  453. package/dist/angular-formio/manager/index/index.component.d.ts.map +0 -1
  454. package/dist/angular-formio/manager/submission/view/view.component.d.ts +0 -9
  455. package/dist/angular-formio/manager/view/view.component.d.ts.map +0 -1
  456. package/dist/angular-formio/package.json +0 -49
  457. package/dist/angular-formio/resource/create/create.component.d.ts.map +0 -1
  458. package/dist/angular-formio/resource/edit/edit.component.d.ts.map +0 -1
  459. package/dist/angular-formio/resource/formio-angular-resource.d.ts +0 -6
  460. package/dist/angular-formio/resource/index/index.component.d.ts.map +0 -1
  461. package/dist/angular-formio/resource/resource.config.d.ts.map +0 -1
  462. package/dist/angular-formio/resource/resource.module.d.ts +0 -20
  463. package/dist/angular-formio/resource/resource.module.d.ts.map +0 -1
  464. package/dist/angular-formio/resource/resource.service.d.ts.map +0 -1
  465. package/dist/angular-formio/resource/resources.service.d.ts.map +0 -1
  466. package/projects/angular-formio/README.md +0 -24
  467. package/projects/angular-formio/auth/package.json +0 -10
  468. package/projects/angular-formio/auth/src/auth.component.html +0 -12
  469. package/projects/angular-formio/auth/src/auth.component.ts +0 -5
  470. package/projects/angular-formio/auth/src/auth.config.ts +0 -72
  471. package/projects/angular-formio/auth/src/auth.module.ts +0 -33
  472. package/projects/angular-formio/auth/src/auth.routes.ts +0 -34
  473. package/projects/angular-formio/auth/src/auth.service.ts +0 -201
  474. package/projects/angular-formio/auth/src/index.ts +0 -8
  475. package/projects/angular-formio/auth/src/login/login.component.html +0 -1
  476. package/projects/angular-formio/auth/src/login/login.component.ts +0 -8
  477. package/projects/angular-formio/auth/src/public_api.ts +0 -5
  478. package/projects/angular-formio/auth/src/register/register.component.html +0 -1
  479. package/projects/angular-formio/auth/src/register/register.component.ts +0 -8
  480. package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +0 -1
  481. package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +0 -8
  482. package/projects/angular-formio/grid/package.json +0 -11
  483. package/projects/angular-formio/grid/src/GridBodyComponent.ts +0 -80
  484. package/projects/angular-formio/grid/src/GridFooterComponent.ts +0 -25
  485. package/projects/angular-formio/grid/src/GridHeaderComponent.ts +0 -25
  486. package/projects/angular-formio/grid/src/form/FormGridBody.component.html +0 -23
  487. package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +0 -4
  488. package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +0 -15
  489. package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +0 -21
  490. package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +0 -23
  491. package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +0 -18
  492. package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +0 -24
  493. package/projects/angular-formio/grid/src/form/index.ts +0 -8
  494. package/projects/angular-formio/grid/src/form/time-since.pipe.ts +0 -31
  495. package/projects/angular-formio/grid/src/grid.component.html +0 -18
  496. package/projects/angular-formio/grid/src/grid.component.scss +0 -9
  497. package/projects/angular-formio/grid/src/grid.component.ts +0 -242
  498. package/projects/angular-formio/grid/src/grid.footer.scss +0 -14
  499. package/projects/angular-formio/grid/src/grid.module.ts +0 -57
  500. package/projects/angular-formio/grid/src/grid.service.ts +0 -16
  501. package/projects/angular-formio/grid/src/index.ts +0 -12
  502. package/projects/angular-formio/grid/src/public_api.ts +0 -5
  503. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +0 -7
  504. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +0 -39
  505. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +0 -18
  506. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +0 -20
  507. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +0 -11
  508. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +0 -72
  509. package/projects/angular-formio/grid/src/submission/index.ts +0 -8
  510. package/projects/angular-formio/grid/src/types/grid-column.ts +0 -7
  511. package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +0 -5
  512. package/projects/angular-formio/grid/src/types/grid-header.ts +0 -14
  513. package/projects/angular-formio/karma.conf.js +0 -32
  514. package/projects/angular-formio/manager/package.json +0 -15
  515. package/projects/angular-formio/manager/src/create/create.component.ts +0 -11
  516. package/projects/angular-formio/manager/src/delete/delete.component.html +0 -6
  517. package/projects/angular-formio/manager/src/delete/delete.component.ts +0 -37
  518. package/projects/angular-formio/manager/src/edit/edit.component.html +0 -19
  519. package/projects/angular-formio/manager/src/edit/edit.component.ts +0 -107
  520. package/projects/angular-formio/manager/src/form/form.component.html +0 -32
  521. package/projects/angular-formio/manager/src/form/form.component.ts +0 -73
  522. package/projects/angular-formio/manager/src/form-manager.config.ts +0 -26
  523. package/projects/angular-formio/manager/src/form-manager.module.ts +0 -54
  524. package/projects/angular-formio/manager/src/form-manager.routes.ts +0 -75
  525. package/projects/angular-formio/manager/src/form-manager.service.ts +0 -195
  526. package/projects/angular-formio/manager/src/index/index.component.html +0 -14
  527. package/projects/angular-formio/manager/src/index/index.component.scss +0 -22
  528. package/projects/angular-formio/manager/src/index/index.component.ts +0 -84
  529. package/projects/angular-formio/manager/src/index.ts +0 -16
  530. package/projects/angular-formio/manager/src/public_api.ts +0 -5
  531. package/projects/angular-formio/manager/src/submission/delete/delete.component.html +0 -6
  532. package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +0 -26
  533. package/projects/angular-formio/manager/src/submission/edit/edit.component.html +0 -7
  534. package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +0 -18
  535. package/projects/angular-formio/manager/src/submission/index/index.component.html +0 -1
  536. package/projects/angular-formio/manager/src/submission/index/index.component.ts +0 -18
  537. package/projects/angular-formio/manager/src/submission/submission/submission.component.html +0 -8
  538. package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +0 -24
  539. package/projects/angular-formio/manager/src/submission/view/view.component.html +0 -7
  540. package/projects/angular-formio/manager/src/submission/view/view.component.ts +0 -9
  541. package/projects/angular-formio/manager/src/view/view.component.html +0 -10
  542. package/projects/angular-formio/manager/src/view/view.component.ts +0 -41
  543. package/projects/angular-formio/ng-package.json +0 -14
  544. package/projects/angular-formio/package.json +0 -39
  545. package/projects/angular-formio/resource/package.json +0 -11
  546. package/projects/angular-formio/resource/src/create/create.component.html +0 -13
  547. package/projects/angular-formio/resource/src/create/create.component.scss +0 -3
  548. package/projects/angular-formio/resource/src/create/create.component.ts +0 -37
  549. package/projects/angular-formio/resource/src/delete/delete.component.html +0 -5
  550. package/projects/angular-formio/resource/src/delete/delete.component.ts +0 -24
  551. package/projects/angular-formio/resource/src/edit/edit.component.html +0 -6
  552. package/projects/angular-formio/resource/src/edit/edit.component.ts +0 -33
  553. package/projects/angular-formio/resource/src/index/index.component.html +0 -10
  554. package/projects/angular-formio/resource/src/index/index.component.ts +0 -66
  555. package/projects/angular-formio/resource/src/index.js +0 -24
  556. package/projects/angular-formio/resource/src/index.ts +0 -11
  557. package/projects/angular-formio/resource/src/public_api.ts +0 -5
  558. package/projects/angular-formio/resource/src/resource.component.html +0 -7
  559. package/projects/angular-formio/resource/src/resource.component.ts +0 -48
  560. package/projects/angular-formio/resource/src/resource.config.ts +0 -17
  561. package/projects/angular-formio/resource/src/resource.module.ts +0 -43
  562. package/projects/angular-formio/resource/src/resource.routes.ts +0 -43
  563. package/projects/angular-formio/resource/src/resource.service.ts +0 -232
  564. package/projects/angular-formio/resource/src/resources.service.ts +0 -24
  565. package/projects/angular-formio/resource/src/view/view.component.html +0 -6
  566. package/projects/angular-formio/resource/src/view/view.component.ts +0 -19
  567. package/projects/angular-formio/src/FormioBaseComponent.ts +0 -507
  568. package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +0 -3
  569. package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +0 -19
  570. package/projects/angular-formio/src/components/alerts/formio.alerts.ts +0 -21
  571. package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +0 -15
  572. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +0 -1
  573. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +0 -216
  574. package/projects/angular-formio/src/components/formio/formio.component.html +0 -8
  575. package/projects/angular-formio/src/components/formio/formio.component.ts +0 -33
  576. package/projects/angular-formio/src/components/loader/formio.loader.component.html +0 -3
  577. package/projects/angular-formio/src/components/loader/formio.loader.component.scss +0 -26
  578. package/projects/angular-formio/src/components/loader/formio.loader.component.ts +0 -10
  579. package/projects/angular-formio/src/core.ts +0 -21
  580. package/projects/angular-formio/src/custom-component/create-custom-component.ts +0 -173
  581. package/projects/angular-formio/src/custom-component/custom-tags.service.ts +0 -10
  582. package/projects/angular-formio/src/custom-component/register-custom-component.ts +0 -41
  583. package/projects/angular-formio/src/elements.common.ts +0 -31
  584. package/projects/angular-formio/src/formio-promise.service.ts +0 -36
  585. package/projects/angular-formio/src/formio.common.ts +0 -81
  586. package/projects/angular-formio/src/formio.config.ts +0 -9
  587. package/projects/angular-formio/src/formio.module.ts +0 -39
  588. package/projects/angular-formio/src/formio.service.ts +0 -57
  589. package/projects/angular-formio/src/formio.utils.ts +0 -23
  590. package/projects/angular-formio/src/index.ts +0 -5
  591. package/projects/angular-formio/src/public-api.ts +0 -5
  592. package/projects/angular-formio/src/test.ts +0 -26
  593. package/projects/angular-formio/src/types/alerts-position.ts +0 -6
  594. package/projects/angular-formio/src/types/formio-metadata.ts +0 -10
  595. package/projects/angular-formio/src/types/formio-submission.ts +0 -20
  596. package/projects/angular-formio/tsconfig.lib.json +0 -27
  597. package/projects/angular-formio/tsconfig.lib.prod.json +0 -8
  598. package/projects/angular-formio/tsconfig.spec.json +0 -17
  599. package/projects/angular-formio/tslint.json +0 -17
  600. package/tsconfig.json +0 -28
  601. package/tslint.json +0 -140
@@ -0,0 +1,187 @@
1
+ import { ApplicationRef, EventEmitter, Injectable, Optional } from '@angular/core';
2
+ import { FormioResourceConfig } from './resource.config';
3
+ import { FormioResources } from './resources.service';
4
+ import { FormioPromiseService } from '@formio/angular';
5
+ import { FormioAlerts } from '@formio/angular';
6
+ import { FormioAppConfig } from '@formio/angular';
7
+ import Promise from 'native-promise-only';
8
+ import { Formio, Utils } from 'formiojs';
9
+ import _ from 'lodash';
10
+ export class FormioResourceService {
11
+ constructor(appConfig, config, resourcesService, appRef) {
12
+ this.appConfig = appConfig;
13
+ this.config = config;
14
+ this.resourcesService = resourcesService;
15
+ this.appRef = appRef;
16
+ this.initialized = false;
17
+ this.isLoading = true;
18
+ this.alerts = new FormioAlerts();
19
+ this.refresh = new EventEmitter();
20
+ this.formLoaded = new Promise((resolve, reject) => {
21
+ this.formResolve = resolve;
22
+ this.formReject = reject;
23
+ });
24
+ this.init();
25
+ }
26
+ initialize() {
27
+ console.warn('FormioResourceService.initialize() has been deprecated.');
28
+ }
29
+ init() {
30
+ if (this.initialized) {
31
+ return;
32
+ }
33
+ this.initialized = true;
34
+ if (this.appConfig && this.appConfig.appUrl) {
35
+ Formio.setBaseUrl(this.appConfig.apiUrl);
36
+ Formio.setProjectUrl(this.appConfig.appUrl);
37
+ Formio.formOnly = this.appConfig.formOnly;
38
+ }
39
+ else {
40
+ console.error('You must provide an AppConfig within your application!');
41
+ }
42
+ // Create the form url and load the resources.
43
+ this.formUrl = this.appConfig.appUrl + '/' + this.config.form;
44
+ this.resource = { data: {} };
45
+ // Add this resource service to the list of all resources in context.
46
+ if (this.resourcesService) {
47
+ this.resources = this.resourcesService.resources;
48
+ this.resources[this.config.name] = this;
49
+ }
50
+ return this.loadForm();
51
+ }
52
+ onError(error) {
53
+ this.alerts.setAlert({
54
+ type: 'danger',
55
+ message: error.message || error
56
+ });
57
+ if (this.resourcesService) {
58
+ this.resourcesService.error.emit(error);
59
+ }
60
+ throw error;
61
+ }
62
+ onFormError(err) {
63
+ this.formReject(err);
64
+ this.onError(err);
65
+ }
66
+ setContext(route) {
67
+ this.resourceId = route.snapshot.params['id'];
68
+ this.resource = { data: {} };
69
+ this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;
70
+ if (this.resourceId) {
71
+ this.resourceUrl += '/submission/' + this.resourceId;
72
+ }
73
+ this.formio = new FormioPromiseService(this.resourceUrl);
74
+ if (this.resourcesService) {
75
+ this.resources[this.config.name] = this;
76
+ }
77
+ this.loadParents();
78
+ }
79
+ loadForm() {
80
+ this.formFormio = new FormioPromiseService(this.formUrl);
81
+ this.isLoading = true;
82
+ this.formLoading = this.formFormio
83
+ .loadForm()
84
+ .then((form) => {
85
+ this.form = form;
86
+ this.formResolve(form);
87
+ this.isLoading = false;
88
+ this.loadParents();
89
+ return form;
90
+ }, (err) => this.onFormError(err))
91
+ .catch((err) => this.onFormError(err));
92
+ return this.formLoading;
93
+ }
94
+ loadParents() {
95
+ if (!this.config.parents || !this.config.parents.length) {
96
+ return Promise.resolve([]);
97
+ }
98
+ if (!this.resourcesService) {
99
+ console.warn('You must provide the FormioResources within your application to use nested resources.');
100
+ return Promise.resolve([]);
101
+ }
102
+ return this.formLoading.then((form) => {
103
+ // Iterate through the list of parents.
104
+ const _parentsLoaded = [];
105
+ this.config.parents.forEach((parent) => {
106
+ const resourceName = parent.resource || parent;
107
+ const resourceField = parent.field || parent;
108
+ const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;
109
+ if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {
110
+ _parentsLoaded.push(this.resources[resourceName].resourceLoaded.then((resource) => {
111
+ let parentPath = '';
112
+ Utils.eachComponent(form.components, (component, path) => {
113
+ if (component.key === resourceField) {
114
+ component.hidden = true;
115
+ component.clearOnHide = false;
116
+ _.set(this.resource.data, path, resource);
117
+ parentPath = path;
118
+ return true;
119
+ }
120
+ });
121
+ return {
122
+ name: parentPath,
123
+ filter: filterResource,
124
+ resource
125
+ };
126
+ }));
127
+ }
128
+ });
129
+ // When all the parents have loaded, emit that to the onParents emitter.
130
+ return Promise.all(_parentsLoaded).then((parents) => {
131
+ this.refresh.emit({
132
+ form: form,
133
+ submission: this.resource
134
+ });
135
+ return parents;
136
+ });
137
+ });
138
+ }
139
+ onSubmissionError(err) {
140
+ this.onError(err);
141
+ }
142
+ loadResource(route) {
143
+ this.setContext(route);
144
+ this.isLoading = true;
145
+ this.resourceLoading = this.resourceLoaded = this.formio
146
+ .loadSubmission(null, { ignoreCache: true })
147
+ .then((resource) => {
148
+ this.resource = resource;
149
+ this.isLoading = false;
150
+ this.refresh.emit({
151
+ property: 'submission',
152
+ value: this.resource
153
+ });
154
+ return resource;
155
+ }, (err) => this.onSubmissionError(err))
156
+ .catch((err) => this.onSubmissionError(err));
157
+ return this.resourceLoading;
158
+ }
159
+ save(resource) {
160
+ const formio = resource._id ? this.formio : this.formFormio;
161
+ return formio
162
+ .saveSubmission(resource)
163
+ .then((saved) => {
164
+ this.resource = saved;
165
+ return saved;
166
+ }, (err) => this.onError(err))
167
+ .catch((err) => this.onError(err));
168
+ }
169
+ remove() {
170
+ return this.formio
171
+ .deleteSubmission()
172
+ .then(() => {
173
+ this.resource = null;
174
+ }, (err) => this.onError(err))
175
+ .catch((err) => this.onError(err));
176
+ }
177
+ }
178
+ FormioResourceService.decorators = [
179
+ { type: Injectable }
180
+ ];
181
+ FormioResourceService.ctorParameters = () => [
182
+ { type: FormioAppConfig },
183
+ { type: FormioResourceConfig },
184
+ { type: FormioResources, decorators: [{ type: Optional }] },
185
+ { type: ApplicationRef }
186
+ ];
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3Jlc291cmNlL3NyYy9yZXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBR3ZCLE1BQU0sT0FBTyxxQkFBcUI7SUFzQmhDLFlBQ1MsU0FBMEIsRUFDMUIsTUFBNEIsRUFDaEIsZ0JBQWlDLEVBQzdDLE1BQXNCO1FBSHRCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDN0MsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUF6QnhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBMkJ6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJ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QkFBZ0IsRUFBRTthQUNsQixJQUFJLENBQ0gsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUNoQzthQUNBLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7OztZQTFORixVQUFVOzs7WUFORixlQUFlO1lBSmYsb0JBQW9CO1lBQ3BCLGVBQWUsdUJBbUNuQixRQUFRO1lBdENKLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvUmVzb3VyY2VDb25maWcgfSBmcm9tICcuL3Jlc291cmNlLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Byb21pc2VTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvUmVmcmVzaFZhbHVlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCBQcm9taXNlIGZyb20gJ25hdGl2ZS1wcm9taXNlLW9ubHknO1xuaW1wb3J0IHsgRm9ybWlvLCBVdGlscyB9IGZyb20gJ2Zvcm1pb2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9SZXNvdXJjZVNlcnZpY2Uge1xuICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzO1xuICBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgcHVibGljIHJlc291cmNlVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2U7XG4gIHB1YmxpYyBmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlO1xuICBwdWJsaWMgcmVmcmVzaDogRXZlbnRFbWl0dGVyPEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgcHVibGljIHJlc291cmNlTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIHJlc291cmNlTG9hZGVkPzogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgcmVzb3VyY2VJZD86IHN0cmluZztcbiAgcHVibGljIHJlc291cmNlczogYW55O1xuXG4gIHB1YmxpYyBmb3JtTG9hZGluZz86IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1Mb2FkZWQ6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtUmVqZWN0OiBhbnk7XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyByZXNvdXJjZXNTZXJ2aWNlOiBGb3JtaW9SZXNvdXJjZXMsXG4gICAgcHVibGljIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFsZXJ0cyA9IG5ldyBGb3JtaW9BbGVydHMoKTtcbiAgICB0aGlzLnJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5mb3JtTG9hZGVkID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZm9ybVJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgdGhpcy5mb3JtUmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zb2xlLndhcm4oJ0Zvcm1pb1Jlc291cmNlU2VydmljZS5pbml0aWFsaXplKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4nKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnICYmIHRoaXMuYXBwQ29uZmlnLmFwcFVybCkge1xuICAgICAgRm9ybWlvLnNldEJhc2VVcmwodGhpcy5hcHBDb25maWcuYXBpVXJsKTtcbiAgICAgIEZvcm1pby5zZXRQcm9qZWN0VXJsKHRoaXMuYXBwQ29uZmlnLmFwcFVybCk7XG4gICAgICBGb3JtaW8uZm9ybU9ubHkgPSB0aGlzLmFwcENvbmZpZy5mb3JtT25seTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignWW91IG11c3QgcHJvdmlkZSBhbiBBcHBDb25maWcgd2l0aGluIHlvdXIgYXBwbGljYXRpb24hJyk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBmb3JtIHVybCBhbmQgbG9hZCB0aGUgcmVzb3VyY2VzLlxuICAgIHRoaXMuZm9ybVVybCA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIHRoaXMuY29uZmlnLmZvcm07XG4gICAgdGhpcy5yZXNvdXJjZSA9IHsgZGF0YToge30gfTtcblxuICAgIC8vIEFkZCB0aGlzIHJlc291cmNlIHNlcnZpY2UgdG8gdGhlIGxpc3Qgb2YgYWxsIHJlc291cmNlcyBpbiBjb250ZXh0LlxuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLnJlc291cmNlcztcbiAgICAgIHRoaXMucmVzb3VyY2VzW3RoaXMuY29uZmlnLm5hbWVdID0gdGhpcztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2FkRm9ybSgpO1xuICB9XG5cbiAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5hbGVydHMuc2V0QWxlcnQoe1xuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIHx8IGVycm9yXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VzU2VydmljZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXNTZXJ2aWNlLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIG9uRm9ybUVycm9yKGVycjogYW55KSB7XG4gICAgdGhpcy5mb3JtUmVqZWN0KGVycik7XG4gICAgdGhpcy5vbkVycm9yKGVycik7XG4gIH1cblxuICBzZXRDb250ZXh0KHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMucmVzb3VyY2VJZCA9IHJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcbiAgICB0aGlzLnJlc291cmNlID0geyBkYXRhOiB7fSB9O1xuICAgIHRoaXMucmVzb3VyY2VVcmwgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLmNvbmZpZy5mb3JtO1xuICAgIGlmICh0aGlzLnJlc291cmNlSWQpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VVcmwgKz0gJy9zdWJtaXNzaW9uLycgKyB0aGlzLnJlc291cmNlSWQ7XG4gICAgfVxuICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pb1Byb21pc2VTZXJ2aWNlKHRoaXMucmVzb3VyY2VVcmwpO1xuICAgIGlmICh0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMucmVzb3VyY2VzW3RoaXMuY29uZmlnLm5hbWVdID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5sb2FkUGFyZW50cygpO1xuICB9XG5cbiAgbG9hZEZvcm0oKSB7XG4gICAgdGhpcy5mb3JtRm9ybWlvID0gbmV3IEZvcm1pb1Byb21pc2VTZXJ2aWNlKHRoaXMuZm9ybVVybCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZm9ybUxvYWRpbmcgPSB0aGlzLmZvcm1Gb3JtaW9cbiAgICAgIC5sb2FkRm9ybSgpXG4gICAgICAudGhlbihcbiAgICAgICAgKGZvcm06IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgdGhpcy5mb3JtUmVzb2x2ZShmb3JtKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZFBhcmVudHMoKTtcbiAgICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRm9ybUVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25Gb3JtRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUxvYWRpbmc7XG4gIH1cblxuICBsb2FkUGFyZW50cygpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnBhcmVudHMgfHwgIXRoaXMuY29uZmlnLnBhcmVudHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc291cmNlc1NlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1lvdSBtdXN0IHByb3ZpZGUgdGhlIEZvcm1pb1Jlc291cmNlcyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiB0byB1c2UgbmVzdGVkIHJlc291cmNlcy4nXG4gICAgICApO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvcm1Mb2FkaW5nLnRoZW4oKGZvcm0pID0+IHtcbiAgICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJlbnRzLlxuICAgICAgY29uc3QgX3BhcmVudHNMb2FkZWQ6IEFycmF5PFByb21pc2U8YW55Pj4gPSBbXTtcbiAgICAgIHRoaXMuY29uZmlnLnBhcmVudHMuZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VOYW1lID0gcGFyZW50LnJlc291cmNlIHx8IHBhcmVudDtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VGaWVsZCA9IHBhcmVudC5maWVsZCB8fCBwYXJlbnQ7XG4gICAgICAgIGNvbnN0IGZpbHRlclJlc291cmNlID0gcGFyZW50Lmhhc093blByb3BlcnR5KCdmaWx0ZXInKSA/IHBhcmVudC5maWx0ZXIgOiB0cnVlO1xuICAgICAgICBpZiAodGhpcy5yZXNvdXJjZXMuaGFzT3duUHJvcGVydHkocmVzb3VyY2VOYW1lKSAmJiB0aGlzLnJlc291cmNlc1tyZXNvdXJjZU5hbWVdLnJlc291cmNlTG9hZGVkKSB7XG4gICAgICAgICAgX3BhcmVudHNMb2FkZWQucHVzaChcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzW3Jlc291cmNlTmFtZV0ucmVzb3VyY2VMb2FkZWQudGhlbigocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBsZXQgcGFyZW50UGF0aCA9ICcnO1xuICAgICAgICAgICAgICBVdGlscy5lYWNoQ29tcG9uZW50KGZvcm0uY29tcG9uZW50cywgKGNvbXBvbmVudCwgcGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb21wb25lbnQua2V5ID09PSByZXNvdXJjZUZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5jbGVhck9uSGlkZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgXy5zZXQodGhpcy5yZXNvdXJjZS5kYXRhLCBwYXRoLCByZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgICBwYXJlbnRQYXRoID0gcGF0aDtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogcGFyZW50UGF0aCxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZpbHRlclJlc291cmNlLFxuICAgICAgICAgICAgICAgIHJlc291cmNlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBXaGVuIGFsbCB0aGUgcGFyZW50cyBoYXZlIGxvYWRlZCwgZW1pdCB0aGF0IHRvIHRoZSBvblBhcmVudHMgZW1pdHRlci5cbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChfcGFyZW50c0xvYWRlZCkudGhlbigocGFyZW50czogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICBmb3JtOiBmb3JtLFxuICAgICAgICAgIHN1Ym1pc3Npb246IHRoaXMucmVzb3VyY2VcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwYXJlbnRzO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pc3Npb25FcnJvcihlcnI6IGFueSkge1xuICAgIHRoaXMub25FcnJvcihlcnIpO1xuICB9XG5cbiAgbG9hZFJlc291cmNlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMuc2V0Q29udGV4dChyb3V0ZSk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzb3VyY2VMb2FkaW5nID0gdGhpcy5yZXNvdXJjZUxvYWRlZCA9IHRoaXMuZm9ybWlvXG4gICAgICAubG9hZFN1Ym1pc3Npb24obnVsbCwge2lnbm9yZUNhY2hlOiB0cnVlfSlcbiAgICAgIC50aGVuKFxuICAgICAgICAocmVzb3VyY2U6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVmcmVzaC5lbWl0KHtcbiAgICAgICAgICAgIHByb3BlcnR5OiAnc3VibWlzc2lvbicsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5yZXNvdXJjZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uU3VibWlzc2lvbkVycm9yKGVycilcbiAgICAgIClcbiAgICAgIC5jYXRjaCgoZXJyOiBhbnkpID0+IHRoaXMub25TdWJtaXNzaW9uRXJyb3IoZXJyKSk7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VMb2FkaW5nO1xuICB9XG5cbiAgc2F2ZShyZXNvdXJjZTogYW55KSB7XG4gICAgY29uc3QgZm9ybWlvID0gcmVzb3VyY2UuX2lkID8gdGhpcy5mb3JtaW8gOiB0aGlzLmZvcm1Gb3JtaW87XG4gICAgcmV0dXJuIGZvcm1pb1xuICAgICAgLnNhdmVTdWJtaXNzaW9uKHJlc291cmNlKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChzYXZlZDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHNhdmVkO1xuICAgICAgICAgIHJldHVybiBzYXZlZDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1pb1xuICAgICAgLmRlbGV0ZVN1Ym1pc3Npb24oKVxuICAgICAgLnRoZW4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc291cmNlID0gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyKVxuICAgICAgKVxuICAgICAgLmNhdGNoKChlcnI6IGFueSkgPT4gdGhpcy5vbkVycm9yKGVycikpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Injectable, EventEmitter } from '@angular/core';
2
+ import { FormioAuthService } from '@formio/angular/auth';
3
+ export class FormioResources {
4
+ constructor(auth) {
5
+ this.auth = auth;
6
+ this.resources = {};
7
+ this.error = new EventEmitter();
8
+ this.onError = this.error;
9
+ this.resources = {
10
+ currentUser: {
11
+ resourceLoaded: this.auth.userReady
12
+ }
13
+ };
14
+ }
15
+ }
16
+ FormioResources.decorators = [
17
+ { type: Injectable }
18
+ ];
19
+ FormioResources.ctorParameters = () => [
20
+ { type: FormioAuthService }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9yZXNvdXJjZS9zcmMvcmVzb3VyY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPekQsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDUyxJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUpqQyxjQUFTLEdBQXNCLEVBQUUsQ0FBQztRQU1oQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUzthQUNwQztTQUNGLENBQUM7SUFDSixDQUFDOzs7WUFmRixVQUFVOzs7WUFORixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1pb0F1dGhTZXJ2aWNlIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2F1dGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1pb1Jlc291cmNlTWFwIHtcbiAgW25hbWU6IHN0cmluZ106IGFueTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1pb1Jlc291cmNlcyB7XG4gIHJlc291cmNlczogRm9ybWlvUmVzb3VyY2VNYXAgPSB7fTtcbiAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGF1dGg/OiBGb3JtaW9BdXRoU2VydmljZVxuICApIHtcbiAgICB0aGlzLmVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMub25FcnJvciA9IHRoaXMuZXJyb3I7XG4gICAgdGhpcy5yZXNvdXJjZXMgPSB7XG4gICAgICBjdXJyZW50VXNlcjoge1xuICAgICAgICByZXNvdXJjZUxvYWRlZDogdGhpcy5hdXRoLnVzZXJSZWFkeVxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormioResourceService } from '../resource.service';
3
+ import { FormioResourceConfig } from '../resource.config';
4
+ import { Formio } from 'formiojs';
5
+ export class FormioResourceViewComponent {
6
+ constructor(service, config) {
7
+ this.service = service;
8
+ this.config = config;
9
+ this.submission = { data: {} };
10
+ }
11
+ ngOnDestroy() {
12
+ Formio.clearCache();
13
+ }
14
+ }
15
+ FormioResourceViewComponent.decorators = [
16
+ { type: Component, args: [{
17
+ template: "<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n"
18
+ },] }
19
+ ];
20
+ FormioResourceViewComponent.ctorParameters = () => [
21
+ { type: FormioResourceService },
22
+ { type: FormioResourceConfig }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9yZXNvdXJjZS9zcmMvdmlldy92aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFLaEMsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNTLE9BQThCLEVBQzlCLE1BQTRCO1FBRDVCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBRTlCLGVBQVUsR0FBRyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUQ1QixDQUFDO0lBR0osV0FBVztRQUNULE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7WUFaRixTQUFTLFNBQUM7Z0JBQ1QsK0pBQW9DO2FBQ3JDOzs7WUFOUSxxQkFBcUI7WUFDckIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9SZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1pb1Jlc291cmNlQ29uZmlnIH0gZnJvbSAnLi4vcmVzb3VyY2UuY29uZmlnJztcbmltcG9ydCB7Rm9ybWlvfSBmcm9tICdmb3JtaW9qcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vdmlldy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWlvUmVzb3VyY2VWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95e1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogRm9ybWlvUmVzb3VyY2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1pb1Jlc291cmNlQ29uZmlnXG4gICkge31cbiAgcHVibGljIHN1Ym1pc3Npb24gPSB7ZGF0YToge319O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIEZvcm1pby5jbGVhckNhY2hlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +1,15 @@
1
- import * as i0 from '@angular/core';
2
1
  import { Injectable, EventEmitter, Component, NgModule } from '@angular/core';
2
+ import { FormioAppConfig, extendRouter, FormioModule } from '@formio/angular';
3
3
  import { get, each } from 'lodash';
4
4
  import { Formio } from 'formiojs';
5
- import * as i2 from '@formio/angular';
6
- import { extendRouter, FormioModule } from '@formio/angular';
7
- import * as i1 from '@angular/router';
8
- import { RouterModule } from '@angular/router';
9
5
  import { CommonModule } from '@angular/common';
6
+ import { RouterModule } from '@angular/router';
10
7
 
11
8
  class FormioAuthConfig {
12
9
  }
13
- FormioAuthConfig.ɵfac = function FormioAuthConfig_Factory(t) { return new (t || FormioAuthConfig)(); };
14
- FormioAuthConfig.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormioAuthConfig, factory: FormioAuthConfig.ɵfac });
15
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthConfig, [{
16
- type: Injectable
17
- }], null, null); })();
10
+ FormioAuthConfig.decorators = [
11
+ { type: Injectable }
12
+ ];
18
13
  var FormioOauthType;
19
14
  (function (FormioOauthType) {
20
15
  FormioOauthType["okta"] = "okta";
@@ -168,107 +163,63 @@ class FormioAuthService {
168
163
  .catch(() => this.logoutError());
169
164
  }
170
165
  }
171
- FormioAuthService.ɵfac = function FormioAuthService_Factory(t) { return new (t || FormioAuthService)(i0.ɵɵinject(i2.FormioAppConfig), i0.ɵɵinject(FormioAuthConfig)); };
172
- FormioAuthService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormioAuthService, factory: FormioAuthService.ɵfac });
173
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthService, [{
174
- type: Injectable
175
- }], function () { return [{ type: i2.FormioAppConfig }, { type: FormioAuthConfig }]; }, null); })();
166
+ FormioAuthService.decorators = [
167
+ { type: Injectable }
168
+ ];
169
+ FormioAuthService.ctorParameters = () => [
170
+ { type: FormioAppConfig },
171
+ { type: FormioAuthConfig }
172
+ ];
176
173
 
177
174
  class FormioAuthComponent {
178
175
  }
179
- FormioAuthComponent.ɵfac = function FormioAuthComponent_Factory(t) { return new (t || FormioAuthComponent)(); };
180
- FormioAuthComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthComponent, selectors: [["ng-component"]], decls: 14, vars: 0, consts: [[1, "card", "card-primary", "panel", "panel-default"], [1, "card-header", "panel-heading"], [1, "nav", "nav-tabs", "card-header-tabs"], ["role", "presentation", "routerLinkActive", "active", 1, "nav-item"], ["routerLink", "login", "routerLinkActive", "active", 1, "nav-link"], ["routerLink", "register", "routerLinkActive", "active", 1, "nav-link"], ["routerLink", "resetpass", "routerLinkActive", "active", 1, "nav-link"], [1, "card-body", "panel-body"]], template: function FormioAuthComponent_Template(rf, ctx) { if (rf & 1) {
181
- i0.ɵɵelementStart(0, "div", 0);
182
- i0.ɵɵelementStart(1, "div", 1);
183
- i0.ɵɵelementStart(2, "ul", 2);
184
- i0.ɵɵelementStart(3, "li", 3);
185
- i0.ɵɵelementStart(4, "a", 4);
186
- i0.ɵɵtext(5, "Login");
187
- i0.ɵɵelementEnd();
188
- i0.ɵɵelementEnd();
189
- i0.ɵɵelementStart(6, "li", 3);
190
- i0.ɵɵelementStart(7, "a", 5);
191
- i0.ɵɵtext(8, "Register");
192
- i0.ɵɵelementEnd();
193
- i0.ɵɵelementEnd();
194
- i0.ɵɵelementStart(9, "li", 3);
195
- i0.ɵɵelementStart(10, "a", 6);
196
- i0.ɵɵtext(11, "Reset Password");
197
- i0.ɵɵelementEnd();
198
- i0.ɵɵelementEnd();
199
- i0.ɵɵelementEnd();
200
- i0.ɵɵelementEnd();
201
- i0.ɵɵelementStart(12, "div", 7);
202
- i0.ɵɵelement(13, "router-outlet");
203
- i0.ɵɵelementEnd();
204
- i0.ɵɵelementEnd();
205
- } }, directives: [i1.RouterLinkActive, i1.RouterLinkWithHref, i1.RouterOutlet], encapsulation: 2 });
206
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthComponent, [{
207
- type: Component,
208
- args: [{
209
- templateUrl: './auth.component.html'
210
- }]
211
- }], null, null); })();
176
+ FormioAuthComponent.decorators = [
177
+ { type: Component, args: [{
178
+ template: "<div class=\"card card-primary panel panel-default\">\n <div class=\"card-header panel-heading\">\n <ul class=\"nav nav-tabs card-header-tabs\">\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"login\" routerLinkActive=\"active\">Login</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"register\" routerLinkActive=\"active\">Register</a></li>\n <li class=\"nav-item\" role=\"presentation\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"resetpass\" routerLinkActive=\"active\">Reset Password</a></li>\n </ul>\n </div>\n <div class=\"card-body panel-body\">\n <router-outlet></router-outlet>\n </div>\n</div>\n"
179
+ },] }
180
+ ];
212
181
 
213
182
  class FormioAuthLoginComponent {
214
183
  constructor(service) {
215
184
  this.service = service;
216
185
  }
217
186
  }
218
- FormioAuthLoginComponent.ɵfac = function FormioAuthLoginComponent_Factory(t) { return new (t || FormioAuthLoginComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
219
- FormioAuthLoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthLoginComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioAuthLoginComponent_Template(rf, ctx) { if (rf & 1) {
220
- i0.ɵɵelementStart(0, "formio", 0);
221
- i0.ɵɵlistener("submit", function FormioAuthLoginComponent_Template_formio_submit_0_listener($event) { return ctx.service.onLoginSubmit($event); });
222
- i0.ɵɵelementEnd();
223
- } if (rf & 2) {
224
- i0.ɵɵproperty("src", ctx.service.loginForm);
225
- } }, directives: [i2.FormioComponent], encapsulation: 2 });
226
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthLoginComponent, [{
227
- type: Component,
228
- args: [{
229
- templateUrl: './login.component.html'
230
- }]
231
- }], function () { return [{ type: FormioAuthService }]; }, null); })();
187
+ FormioAuthLoginComponent.decorators = [
188
+ { type: Component, args: [{
189
+ template: "<formio [src]=\"service.loginForm\" (submit)=\"service.onLoginSubmit($event)\"></formio>\n"
190
+ },] }
191
+ ];
192
+ FormioAuthLoginComponent.ctorParameters = () => [
193
+ { type: FormioAuthService }
194
+ ];
232
195
 
233
196
  class FormioAuthRegisterComponent {
234
197
  constructor(service) {
235
198
  this.service = service;
236
199
  }
237
200
  }
238
- FormioAuthRegisterComponent.ɵfac = function FormioAuthRegisterComponent_Factory(t) { return new (t || FormioAuthRegisterComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
239
- FormioAuthRegisterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioAuthRegisterComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioAuthRegisterComponent_Template(rf, ctx) { if (rf & 1) {
240
- i0.ɵɵelementStart(0, "formio", 0);
241
- i0.ɵɵlistener("submit", function FormioAuthRegisterComponent_Template_formio_submit_0_listener($event) { return ctx.service.onRegisterSubmit($event); });
242
- i0.ɵɵelementEnd();
243
- } if (rf & 2) {
244
- i0.ɵɵproperty("src", ctx.service.registerForm);
245
- } }, directives: [i2.FormioComponent], encapsulation: 2 });
246
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuthRegisterComponent, [{
247
- type: Component,
248
- args: [{
249
- templateUrl: './register.component.html'
250
- }]
251
- }], function () { return [{ type: FormioAuthService }]; }, null); })();
201
+ FormioAuthRegisterComponent.decorators = [
202
+ { type: Component, args: [{
203
+ template: "<formio [src]=\"service.registerForm\" (submit)=\"service.onRegisterSubmit($event)\"></formio>\n"
204
+ },] }
205
+ ];
206
+ FormioAuthRegisterComponent.ctorParameters = () => [
207
+ { type: FormioAuthService }
208
+ ];
252
209
 
253
210
  class FormioResetPassComponent {
254
211
  constructor(service) {
255
212
  this.service = service;
256
213
  }
257
214
  }
258
- FormioResetPassComponent.ɵfac = function FormioResetPassComponent_Factory(t) { return new (t || FormioResetPassComponent)(i0.ɵɵdirectiveInject(FormioAuthService)); };
259
- FormioResetPassComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormioResetPassComponent, selectors: [["ng-component"]], decls: 1, vars: 1, consts: [[3, "src", "submit"]], template: function FormioResetPassComponent_Template(rf, ctx) { if (rf & 1) {
260
- i0.ɵɵelementStart(0, "formio", 0);
261
- i0.ɵɵlistener("submit", function FormioResetPassComponent_Template_formio_submit_0_listener($event) { return ctx.service.onResetPassSubmit($event); });
262
- i0.ɵɵelementEnd();
263
- } if (rf & 2) {
264
- i0.ɵɵproperty("src", ctx.service.resetPassForm);
265
- } }, directives: [i2.FormioComponent], encapsulation: 2 });
266
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioResetPassComponent, [{
267
- type: Component,
268
- args: [{
269
- templateUrl: './resetpass.component.html'
270
- }]
271
- }], function () { return [{ type: FormioAuthService }]; }, null); })();
215
+ FormioResetPassComponent.decorators = [
216
+ { type: Component, args: [{
217
+ template: "<formio [src]=\"service.resetPassForm\" (submit)=\"service.onResetPassSubmit($event)\"></formio>\n"
218
+ },] }
219
+ ];
220
+ FormioResetPassComponent.ctorParameters = () => [
221
+ { type: FormioAuthService }
222
+ ];
272
223
 
273
224
  function FormioAuthRoutes(config) {
274
225
  return [
@@ -306,16 +257,8 @@ class FormioAuth {
306
257
  return extendRouter(FormioAuth, config, FormioAuthRoutes);
307
258
  }
308
259
  }
309
- FormioAuth.ɵfac = function FormioAuth_Factory(t) { return new (t || FormioAuth)(); };
310
- FormioAuth.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FormioAuth });
311
- FormioAuth.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
312
- CommonModule,
313
- FormioModule,
314
- RouterModule
315
- ]] });
316
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormioAuth, [{
317
- type: NgModule,
318
- args: [{
260
+ FormioAuth.decorators = [
261
+ { type: NgModule, args: [{
319
262
  imports: [
320
263
  CommonModule,
321
264
  FormioModule,
@@ -327,14 +270,8 @@ FormioAuth.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
327
270
  FormioAuthRegisterComponent,
328
271
  FormioResetPassComponent
329
272
  ]
330
- }]
331
- }], null, null); })();
332
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormioAuth, { declarations: [FormioAuthComponent,
333
- FormioAuthLoginComponent,
334
- FormioAuthRegisterComponent,
335
- FormioResetPassComponent], imports: [CommonModule,
336
- FormioModule,
337
- RouterModule] }); })();
273
+ },] }
274
+ ];
338
275
 
339
276
  /*
340
277
  * Public API Surface of angular-formio
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formio-angular-auth.js","sources":["../../../projects/angular-formio/auth/src/auth.config.ts","../../../projects/angular-formio/auth/src/auth.service.ts","../../../projects/angular-formio/auth/src/auth.component.ts","../../../projects/angular-formio/auth/src/login/login.component.ts","../../../projects/angular-formio/auth/src/register/register.component.ts","../../../projects/angular-formio/auth/src/resetpass/resetpass.component.ts","../../../projects/angular-formio/auth/src/auth.routes.ts","../../../projects/angular-formio/auth/src/auth.module.ts","../../../projects/angular-formio/auth/src/public_api.ts","../../../projects/angular-formio/auth/src/formio-angular-auth.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioAuthFormConfig {\n path?: string;\n form?: string;\n component?: any;\n}\n\nexport interface FormioAuthRouteConfig {\n auth?: any;\n login?: any;\n register?: any;\n resetpass?: any;\n}\n\n@Injectable()\nexport class FormioAuthConfig {\n component?: any;\n delayAuth?: any;\n login?: FormioAuthFormConfig;\n register?: FormioAuthFormConfig;\n resetpass?: FormioAuthFormConfig;\n oauth?: FormioOAuthConfig;\n}\n\n\nexport interface FormioOAuthConfig {\n type: FormioOauthType;\n options: FormioOktaConfig | FormioSamlConfig;\n}\n\nexport enum FormioOauthType {\n okta = 'okta',\n saml = 'saml',\n}\n\nexport interface FormioOktaConfig extends OktaConfig {\n formio?: any;\n}\n\nexport interface FormioSamlConfig {\n relay: string;\n}\n\n// for more details about Okta configuration options see https://github.com/okta/okta-auth-js#configuration-reference\nexport interface OktaConfig {\n url?: string;\n tokenManager?: OktaTokenManagerConfig;\n issuer?: string;\n clientId?: string;\n redirectUri?: string;\n postLogoutRedirectUri?: string;\n pkce?: boolean;\n authorizeUrl?: string;\n userinfoUrl?: string;\n tokenUrl?: string;\n ignoreSignature?: boolean;\n maxClockSkew?: number;\n scopes?: string[];\n httpRequestClient?: Function;\n}\n\nexport interface OktaTokenManagerConfig {\n storage?: string | {\n getItem?: Function;\n setItem?: Function;\n };\n secure?: boolean;\n autoRenew?: boolean;\n expireEarlySeconds?: number;\n storageKey?: string;\n}\n","import { EventEmitter, Injectable, Inject } from '@angular/core';\nimport { FormioAuthConfig } from './auth.config';\nimport { FormioAppConfig } from '@formio/angular';\nimport { get, each } from 'lodash';\nimport { Formio } from 'formiojs';\n\n@Injectable()\nexport class FormioAuthService {\n public user: any;\n public authenticated = false;\n\n public loginForm: string;\n public onLogin: EventEmitter<object>;\n public onLogout: EventEmitter<object>;\n\n public registerForm: string;\n public onRegister: EventEmitter<object>;\n public onUser: EventEmitter<object>;\n public onError: EventEmitter<any>;\n\n public resetPassForm: string;\n public onResetPass: EventEmitter<object>;\n\n public ready: Promise<boolean>;\n public readyResolve: any;\n public readyReject: any;\n\n public projectReady?: Promise<any>;\n public accessReady?: Promise<any>;\n public userReady?: Promise<any>;\n public formAccess: any = {};\n public submissionAccess: any = {};\n public roles: any;\n public is: any = {};\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioAuthConfig\n ) {\n this.user = null;\n\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = !!this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n\n this.loginForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'login.form', 'user/login');\n this.registerForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'user/register');\n this.resetPassForm =\n this.appConfig.appUrl +\n '/' +\n get(this.config, 'register.form', 'resetpass');\n this.onLogin = new EventEmitter();\n this.onLogout = new EventEmitter();\n this.onRegister = new EventEmitter();\n this.onUser = new EventEmitter();\n this.onError = new EventEmitter();\n\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n\n // Register for the core events.\n Formio.events.on('formio.badToken', () => this.logoutError());\n Formio.events.on('formio.sessionExpired', () => this.logoutError());\n if (!this.config.delayAuth) {\n this.init();\n }\n }\n\n onLoginSubmit(submission: object) {\n this.setUser(submission);\n this.onLogin.emit(submission);\n }\n\n onRegisterSubmit(submission: object) {\n this.setUser(submission);\n this.onRegister.emit(submission);\n }\n\n onResetPassSubmit(submission: object) {\n this.onResetPass.emit(submission);\n }\n\n init() {\n this.projectReady = Formio.makeStaticRequest(this.appConfig.appUrl).then(\n (project: any) => {\n each(project.access, (access: any) => {\n this.formAccess[access.type] = access.roles;\n });\n },\n (): any => {\n this.formAccess = {};\n return null;\n }\n );\n\n // Get the access for this project.\n this.accessReady = Formio.makeStaticRequest(\n this.appConfig.appUrl + '/access'\n ).then(\n (access: any) => {\n each(access.forms, (form: any) => {\n this.submissionAccess[form.name] = {};\n form.submissionAccess.forEach((subAccess: any) => {\n this.submissionAccess[form.name][subAccess.type] = subAccess.roles;\n });\n });\n this.roles = access.roles;\n return access;\n },\n (): any => {\n this.roles = {};\n return null;\n }\n );\n\n let currentUserPromise: Promise<any>;\n if (this.config.oauth) {\n // Make a fix to the hash to remove starting \"/\" that angular might put there.\n if (window.location.hash && window.location.hash.match(/^#\\/access_token/)) {\n history.pushState(null, null, window.location.hash.replace(/^#\\/access_token/, '#access_token'));\n }\n\n // Initiate the SSO if they provide oauth settings.\n currentUserPromise = Formio.ssoInit(this.config.oauth.type, this.config.oauth.options);\n } else {\n currentUserPromise = Formio.currentUser();\n }\n\n this.userReady = currentUserPromise.then((user: any) => {\n this.setUser(user);\n return user;\n });\n\n // Trigger we are redy when all promises have resolved.\n if (this.accessReady) {\n this.accessReady\n .then(() => this.projectReady)\n .then(() => this.userReady)\n .then(() => this.readyResolve(true))\n .catch((err: any) => this.readyReject(err));\n }\n }\n\n setUser(user: any) {\n const namespace = Formio.namespace || 'formio';\n if (user) {\n this.user = user;\n localStorage.setItem(`${namespace}AppUser`, JSON.stringify(user));\n this.setUserRoles();\n } else {\n this.user = null;\n this.is = {};\n localStorage.removeItem(`${namespace}AppUser`);\n Formio.clearCache();\n Formio.setUser(null);\n }\n\n this.authenticated = !!Formio.getToken();\n this.onUser.emit(this.user);\n }\n\n setUserRoles() {\n if (this.accessReady) {\n this.accessReady.then(() => {\n each(this.roles, (role: any, roleName: string) => {\n if (this.user.roles.indexOf(role._id) !== -1) {\n this.is[roleName] = true;\n }\n });\n });\n }\n }\n\n logoutError() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n localStorage.removeItem(`${namespace}Token`);\n this.onError.emit();\n }\n\n logout() {\n this.setUser(null);\n const namespace = Formio.namespace || 'formio';\n localStorage.removeItem(`${namespace}Token`);\n Formio.logout()\n .then(() => this.onLogout.emit())\n .catch(() => this.logoutError());\n }\n}\n","import { Component } from '@angular/core';\n@Component({\n templateUrl: './auth.component.html'\n})\nexport class FormioAuthComponent {}\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './login.component.html'\n})\nexport class FormioAuthLoginComponent {\n constructor(public service: FormioAuthService) {}\n}\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './register.component.html'\n})\nexport class FormioAuthRegisterComponent {\n constructor(public service: FormioAuthService) {}\n}\n","import { Component } from '@angular/core';\nimport { FormioAuthService } from '../auth.service';\n@Component({\n templateUrl: './resetpass.component.html'\n})\nexport class FormioResetPassComponent {\n constructor(public service: FormioAuthService) {}\n}\n","import { Routes } from '@angular/router';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\n\nexport function FormioAuthRoutes(config?: FormioAuthRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.auth ? config.auth : FormioAuthComponent,\n children: [\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n {\n path: 'login',\n component: config && config.login ? config.login : FormioAuthLoginComponent\n },\n {\n path: 'register',\n component: config && config.register ? config.register : FormioAuthRegisterComponent\n },\n {\n path: 'resetpass',\n component: config && config.resetpass ? config.resetpass : FormioResetPassComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAuthComponent } from './auth.component';\nimport { FormioAuthLoginComponent } from './login/login.component';\nimport { FormioAuthRegisterComponent } from './register/register.component';\nimport { FormioResetPassComponent } from './resetpass/resetpass.component';\nimport { FormioAuthRouteConfig } from './auth.config';\nimport { FormioAuthRoutes } from './auth.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n RouterModule\n ],\n declarations: [\n FormioAuthComponent,\n FormioAuthLoginComponent,\n FormioAuthRegisterComponent,\n FormioResetPassComponent\n ]\n})\nexport class FormioAuth {\n static forRoot(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n static forChild(config?: FormioAuthRouteConfig): any {\n return extendRouter(FormioAuth, config, FormioAuthRoutes);\n }\n}\n","/*\n * Public API Surface of angular-formio\n */\n\nexport * from './index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}