@formio/angular 5.2.2 → 5.3.0-rc.1

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 (336) hide show
  1. package/FormioBaseComponent.d.ts +3 -0
  2. package/FormioBaseComponent.d.ts.map +1 -1
  3. package/auth/auth.component.d.ts +3 -0
  4. package/auth/auth.component.d.ts.map +1 -1
  5. package/auth/auth.config.d.ts +3 -0
  6. package/auth/auth.config.d.ts.map +1 -1
  7. package/auth/auth.module.d.ts +11 -0
  8. package/auth/auth.module.d.ts.map +1 -1
  9. package/auth/auth.service.d.ts +3 -0
  10. package/auth/auth.service.d.ts.map +1 -1
  11. package/auth/formio-angular-auth.d.ts +1 -0
  12. package/auth/formio-angular-auth.d.ts.map +1 -1
  13. package/auth/login/login.component.d.ts +3 -0
  14. package/auth/login/login.component.d.ts.map +1 -1
  15. package/auth/package.json +5 -6
  16. package/auth/register/register.component.d.ts +3 -0
  17. package/auth/register/register.component.d.ts.map +1 -1
  18. package/auth/resetpass/resetpass.component.d.ts +3 -0
  19. package/auth/resetpass/resetpass.component.d.ts.map +1 -1
  20. package/components/alerts/formio.alerts.component.d.ts +3 -0
  21. package/components/alerts/formio.alerts.component.d.ts.map +1 -1
  22. package/components/alerts/parse-html-content.pipe.d.ts +3 -0
  23. package/components/alerts/parse-html-content.pipe.d.ts.map +1 -1
  24. package/components/formbuilder/formbuilder.component.d.ts +3 -0
  25. package/components/formbuilder/formbuilder.component.d.ts.map +1 -1
  26. package/components/formio/formio.component.d.ts +3 -0
  27. package/components/formio/formio.component.d.ts.map +1 -1
  28. package/components/loader/formio.loader.component.d.ts +3 -0
  29. package/components/loader/formio.loader.component.d.ts.map +1 -1
  30. package/custom-component/custom-tags.service.d.ts +3 -0
  31. package/custom-component/custom-tags.service.d.ts.map +1 -1
  32. package/esm2020/FormioBaseComponent.mjs +491 -0
  33. package/esm2020/auth/auth.component.mjs +12 -0
  34. package/esm2020/auth/auth.config.mjs +15 -0
  35. package/esm2020/auth/auth.module.mjs +48 -0
  36. package/{esm2015/auth/auth.routes.js → esm2020/auth/auth.routes.mjs} +0 -0
  37. package/esm2020/auth/auth.service.mjs +159 -0
  38. package/{esm2015/auth/formio-angular-auth.js → esm2020/auth/formio-angular-auth.mjs} +0 -0
  39. package/{esm2015/auth/index.js → esm2020/auth/index.mjs} +0 -0
  40. package/esm2020/auth/login/login.component.mjs +16 -0
  41. package/{esm2015/auth/public_api.js → esm2020/auth/public_api.mjs} +0 -0
  42. package/esm2020/auth/register/register.component.mjs +16 -0
  43. package/esm2020/auth/resetpass/resetpass.component.mjs +16 -0
  44. package/esm2020/components/alerts/formio.alerts.component.mjs +29 -0
  45. package/{esm2015/components/alerts/formio.alerts.js → esm2020/components/alerts/formio.alerts.mjs} +0 -0
  46. package/esm2020/components/alerts/parse-html-content.pipe.mjs +19 -0
  47. package/esm2020/components/formbuilder/formbuilder.component.mjs +190 -0
  48. package/esm2020/components/formio/formio.component.mjs +40 -0
  49. package/esm2020/components/loader/formio.loader.component.mjs +14 -0
  50. package/{esm2015/core.js → esm2020/core.mjs} +0 -0
  51. package/esm2020/custom-component/create-custom-component.mjs +144 -0
  52. package/esm2020/custom-component/custom-tags.service.mjs +16 -0
  53. package/{esm2015/custom-component/register-custom-component.js → esm2020/custom-component/register-custom-component.mjs} +0 -0
  54. package/{esm2015/elements.common.js → esm2020/elements.common.mjs} +0 -0
  55. package/esm2020/formio-angular.mjs +5 -0
  56. package/{esm2015/formio-promise.service.js → esm2020/formio-promise.service.mjs} +0 -0
  57. package/{esm2015/formio.common.js → esm2020/formio.common.mjs} +0 -0
  58. package/esm2020/formio.config.mjs +14 -0
  59. package/esm2020/formio.module.mjs +60 -0
  60. package/{esm2015/formio.service.js → esm2020/formio.service.mjs} +0 -0
  61. package/{esm2015/formio.utils.js → esm2020/formio.utils.mjs} +0 -0
  62. package/esm2020/grid/GridBodyComponent.mjs +81 -0
  63. package/esm2020/grid/GridFooterComponent.mjs +36 -0
  64. package/esm2020/grid/GridHeaderComponent.mjs +30 -0
  65. package/esm2020/grid/form/FormGridBody.component.mjs +19 -0
  66. package/esm2020/grid/form/FormGridFooter.component.mjs +26 -0
  67. package/esm2020/grid/form/FormGridHeader.component.mjs +26 -0
  68. package/{esm2015/grid/form/index.js → esm2020/grid/form/index.mjs} +0 -0
  69. package/esm2020/grid/form/time-since.pipe.mjs +37 -0
  70. package/esm2020/grid/formio-angular-grid.mjs +5 -0
  71. package/esm2020/grid/grid.component.mjs +230 -0
  72. package/esm2020/grid/grid.module.mjs +89 -0
  73. package/esm2020/grid/grid.service.mjs +17 -0
  74. package/{esm2015/grid/index.js → esm2020/grid/index.mjs} +0 -0
  75. package/{esm2015/grid/public_api.js → esm2020/grid/public_api.mjs} +0 -0
  76. package/esm2020/grid/submission/SubmissionGridBody.component.mjs +43 -0
  77. package/esm2020/grid/submission/SubmissionGridFooter.component.mjs +23 -0
  78. package/esm2020/grid/submission/SubmissionGridHeader.component.mjs +61 -0
  79. package/{esm2015/grid/submission/index.js → esm2020/grid/submission/index.mjs} +0 -0
  80. package/{esm2015/grid/types/grid-column.js → esm2020/grid/types/grid-column.mjs} +0 -0
  81. package/{esm2015/grid/types/grid-footer-positions.js → esm2020/grid/types/grid-footer-positions.mjs} +0 -0
  82. package/{esm2015/grid/types/grid-header.js → esm2020/grid/types/grid-header.mjs} +0 -0
  83. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  84. package/esm2020/manager/create/create.component.mjs +18 -0
  85. package/esm2020/manager/delete/delete.component.mjs +37 -0
  86. package/esm2020/manager/edit/edit.component.mjs +109 -0
  87. package/esm2020/manager/form/form.component.mjs +70 -0
  88. package/esm2020/manager/form-manager.config.mjs +15 -0
  89. package/esm2020/manager/form-manager.module.mjs +85 -0
  90. package/{esm2015/manager/form-manager.routes.js → esm2020/manager/form-manager.routes.mjs} +0 -0
  91. package/esm2020/manager/form-manager.service.mjs +178 -0
  92. package/{esm2015/manager/formio-angular-manager.js → esm2020/manager/formio-angular-manager.mjs} +0 -0
  93. package/esm2020/manager/index/index.component.mjs +84 -0
  94. package/{esm2015/manager/index.js → esm2020/manager/index.mjs} +0 -0
  95. package/{esm2015/manager/public_api.js → esm2020/manager/public_api.mjs} +0 -0
  96. package/esm2020/manager/submission/delete/delete.component.mjs +28 -0
  97. package/esm2020/manager/submission/edit/edit.component.mjs +22 -0
  98. package/esm2020/manager/submission/index/index.component.mjs +22 -0
  99. package/esm2020/manager/submission/submission/submission.component.mjs +26 -0
  100. package/esm2020/manager/submission/view/view.component.mjs +16 -0
  101. package/esm2020/manager/view/view.component.mjs +42 -0
  102. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  103. package/esm2020/resource/create/create.component.mjs +37 -0
  104. package/esm2020/resource/delete/delete.component.mjs +26 -0
  105. package/esm2020/resource/edit/edit.component.mjs +36 -0
  106. package/{esm2015/resource/formio-angular-resource.js → esm2020/resource/formio-angular-resource.mjs} +0 -0
  107. package/esm2020/resource/index/index.component.mjs +61 -0
  108. package/{esm2015/resource/index.js → esm2020/resource/index.mjs} +0 -0
  109. package/{esm2015/resource/public_api.js → esm2020/resource/public_api.mjs} +0 -0
  110. package/esm2020/resource/resource.component.mjs +46 -0
  111. package/esm2020/resource/resource.config.mjs +15 -0
  112. package/esm2020/resource/resource.module.mjs +64 -0
  113. package/{esm2015/resource/resource.routes.js → esm2020/resource/resource.routes.mjs} +0 -0
  114. package/esm2020/resource/resource.service.mjs +186 -0
  115. package/esm2020/resource/resources.service.mjs +22 -0
  116. package/esm2020/resource/view/view.component.mjs +23 -0
  117. package/{esm2015/types/alerts-position.js → esm2020/types/alerts-position.mjs} +0 -0
  118. package/{esm2015/types/formio-metadata.js → esm2020/types/formio-metadata.mjs} +0 -0
  119. package/{esm2015/types/formio-submission.js → esm2020/types/formio-submission.mjs} +0 -0
  120. package/fesm2015/formio-angular-auth.mjs +296 -0
  121. package/fesm2015/formio-angular-auth.mjs.map +1 -0
  122. package/fesm2015/formio-angular-grid.mjs +691 -0
  123. package/fesm2015/formio-angular-grid.mjs.map +1 -0
  124. package/fesm2015/formio-angular-manager.mjs +739 -0
  125. package/fesm2015/formio-angular-manager.mjs.map +1 -0
  126. package/fesm2015/formio-angular-resource.mjs +511 -0
  127. package/fesm2015/formio-angular-resource.mjs.map +1 -0
  128. package/fesm2015/formio-angular.mjs +1138 -0
  129. package/fesm2015/formio-angular.mjs.map +1 -0
  130. package/fesm2020/formio-angular-auth.mjs +296 -0
  131. package/fesm2020/formio-angular-auth.mjs.map +1 -0
  132. package/fesm2020/formio-angular-grid.mjs +690 -0
  133. package/fesm2020/formio-angular-grid.mjs.map +1 -0
  134. package/fesm2020/formio-angular-manager.mjs +739 -0
  135. package/fesm2020/formio-angular-manager.mjs.map +1 -0
  136. package/fesm2020/formio-angular-resource.mjs +509 -0
  137. package/fesm2020/formio-angular-resource.mjs.map +1 -0
  138. package/fesm2020/formio-angular.mjs +1146 -0
  139. package/fesm2020/formio-angular.mjs.map +1 -0
  140. package/formio-angular.d.ts +1 -2
  141. package/formio-angular.d.ts.map +1 -1
  142. package/formio.config.d.ts +3 -0
  143. package/formio.config.d.ts.map +1 -1
  144. package/formio.module.d.ts +11 -0
  145. package/formio.module.d.ts.map +1 -1
  146. package/grid/GridBodyComponent.d.ts +3 -0
  147. package/grid/GridBodyComponent.d.ts.map +1 -1
  148. package/grid/GridFooterComponent.d.ts +3 -0
  149. package/grid/GridFooterComponent.d.ts.map +1 -1
  150. package/grid/GridHeaderComponent.d.ts +3 -0
  151. package/grid/GridHeaderComponent.d.ts.map +1 -1
  152. package/grid/form/FormGridBody.component.d.ts +3 -0
  153. package/grid/form/FormGridBody.component.d.ts.map +1 -1
  154. package/grid/form/FormGridFooter.component.d.ts +3 -0
  155. package/grid/form/FormGridFooter.component.d.ts.map +1 -1
  156. package/grid/form/FormGridHeader.component.d.ts +3 -0
  157. package/grid/form/FormGridHeader.component.d.ts.map +1 -1
  158. package/grid/form/time-since.pipe.d.ts +3 -0
  159. package/grid/form/time-since.pipe.d.ts.map +1 -1
  160. package/grid/formio-angular-grid.d.ts +1 -1
  161. package/grid/formio-angular-grid.d.ts.map +1 -1
  162. package/grid/grid.component.d.ts +3 -0
  163. package/grid/grid.component.d.ts.map +1 -1
  164. package/grid/grid.module.d.ts +20 -0
  165. package/grid/grid.module.d.ts.map +1 -1
  166. package/grid/grid.service.d.ts +3 -0
  167. package/grid/grid.service.d.ts.map +1 -1
  168. package/grid/package.json +5 -6
  169. package/grid/submission/SubmissionGridBody.component.d.ts +3 -0
  170. package/grid/submission/SubmissionGridBody.component.d.ts.map +1 -1
  171. package/grid/submission/SubmissionGridFooter.component.d.ts +3 -0
  172. package/grid/submission/SubmissionGridFooter.component.d.ts.map +1 -1
  173. package/grid/submission/SubmissionGridHeader.component.d.ts +3 -0
  174. package/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -1
  175. package/manager/create/create.component.d.ts +3 -0
  176. package/manager/create/create.component.d.ts.map +1 -1
  177. package/manager/delete/delete.component.d.ts +3 -0
  178. package/manager/delete/delete.component.d.ts.map +1 -1
  179. package/manager/edit/edit.component.d.ts +3 -0
  180. package/manager/edit/edit.component.d.ts.map +1 -1
  181. package/manager/form/form.component.d.ts +3 -0
  182. package/manager/form/form.component.d.ts.map +1 -1
  183. package/manager/form-manager.config.d.ts +3 -0
  184. package/manager/form-manager.config.d.ts.map +1 -1
  185. package/manager/form-manager.module.d.ts +22 -0
  186. package/manager/form-manager.module.d.ts.map +1 -1
  187. package/manager/form-manager.service.d.ts +3 -0
  188. package/manager/form-manager.service.d.ts.map +1 -1
  189. package/manager/formio-angular-manager.d.ts +1 -0
  190. package/manager/formio-angular-manager.d.ts.map +1 -1
  191. package/manager/index/index.component.d.ts +3 -0
  192. package/manager/index/index.component.d.ts.map +1 -1
  193. package/manager/package.json +5 -6
  194. package/manager/submission/delete/delete.component.d.ts +3 -0
  195. package/manager/submission/delete/delete.component.d.ts.map +1 -1
  196. package/manager/submission/edit/edit.component.d.ts +3 -0
  197. package/manager/submission/edit/edit.component.d.ts.map +1 -1
  198. package/manager/submission/index/index.component.d.ts +3 -0
  199. package/manager/submission/index/index.component.d.ts.map +1 -1
  200. package/manager/submission/submission/submission.component.d.ts +3 -0
  201. package/manager/submission/submission/submission.component.d.ts.map +1 -1
  202. package/manager/submission/view/view.component.d.ts +3 -0
  203. package/manager/submission/view/view.component.d.ts.map +1 -1
  204. package/manager/view/view.component.d.ts +3 -0
  205. package/manager/view/view.component.d.ts.map +1 -1
  206. package/package.json +54 -10
  207. package/resource/create/create.component.d.ts +3 -0
  208. package/resource/create/create.component.d.ts.map +1 -1
  209. package/resource/delete/delete.component.d.ts +3 -0
  210. package/resource/delete/delete.component.d.ts.map +1 -1
  211. package/resource/edit/edit.component.d.ts +3 -0
  212. package/resource/edit/edit.component.d.ts.map +1 -1
  213. package/resource/formio-angular-resource.d.ts +1 -0
  214. package/resource/formio-angular-resource.d.ts.map +1 -1
  215. package/resource/index/index.component.d.ts +3 -0
  216. package/resource/index/index.component.d.ts.map +1 -1
  217. package/resource/package.json +5 -6
  218. package/resource/resource.component.d.ts +3 -0
  219. package/resource/resource.component.d.ts.map +1 -1
  220. package/resource/resource.config.d.ts +3 -0
  221. package/resource/resource.config.d.ts.map +1 -1
  222. package/resource/resource.module.d.ts +14 -0
  223. package/resource/resource.module.d.ts.map +1 -1
  224. package/resource/resource.service.d.ts +3 -0
  225. package/resource/resource.service.d.ts.map +1 -1
  226. package/resource/resources.service.d.ts +3 -0
  227. package/resource/resources.service.d.ts.map +1 -1
  228. package/resource/view/view.component.d.ts +3 -0
  229. package/resource/view/view.component.d.ts.map +1 -1
  230. package/FormioBaseComponent.ngfactory.d.ts.map +0 -1
  231. package/auth/formio-angular-auth.metadata.json +0 -1
  232. package/bundles/formio-angular-auth.umd.js +0 -312
  233. package/bundles/formio-angular-auth.umd.js.map +0 -1
  234. package/bundles/formio-angular-grid.umd.js +0 -1010
  235. package/bundles/formio-angular-grid.umd.js.map +0 -1
  236. package/bundles/formio-angular-manager.umd.js +0 -1122
  237. package/bundles/formio-angular-manager.umd.js.map +0 -1
  238. package/bundles/formio-angular-resource.umd.js +0 -556
  239. package/bundles/formio-angular-resource.umd.js.map +0 -1
  240. package/bundles/formio-angular.umd.js +0 -1497
  241. package/bundles/formio-angular.umd.js.map +0 -1
  242. package/components/alerts/formio.alerts.component.ngfactory.d.ts.map +0 -1
  243. package/components/alerts/parse-html-content.pipe.ngfactory.d.ts.map +0 -1
  244. package/components/formbuilder/formbuilder.component.ngfactory.d.ts.map +0 -1
  245. package/components/formio/formio.component.ngfactory.d.ts.map +0 -1
  246. package/components/loader/formio.loader.component.ngfactory.d.ts.map +0 -1
  247. package/components/loader/formio.loader.component.scss.shim.ngstyle.d.ts.map +0 -1
  248. package/custom-component/custom-tags.service.ngfactory.d.ts.map +0 -1
  249. package/esm2015/FormioBaseComponent.js +0 -456
  250. package/esm2015/auth/auth.component.js +0 -9
  251. package/esm2015/auth/auth.config.js +0 -12
  252. package/esm2015/auth/auth.module.js +0 -34
  253. package/esm2015/auth/auth.service.js +0 -160
  254. package/esm2015/auth/login/login.component.js +0 -16
  255. package/esm2015/auth/register/register.component.js +0 -16
  256. package/esm2015/auth/resetpass/resetpass.component.js +0 -16
  257. package/esm2015/components/alerts/formio.alerts.component.js +0 -26
  258. package/esm2015/components/alerts/parse-html-content.pipe.js +0 -15
  259. package/esm2015/components/formbuilder/formbuilder.component.js +0 -185
  260. package/esm2015/components/formio/formio.component.js +0 -39
  261. package/esm2015/components/loader/formio.loader.component.js +0 -14
  262. package/esm2015/custom-component/create-custom-component.js +0 -130
  263. package/esm2015/custom-component/custom-tags.service.js +0 -13
  264. package/esm2015/formio-angular.js +0 -7
  265. package/esm2015/formio.config.js +0 -11
  266. package/esm2015/formio.module.js +0 -42
  267. package/esm2015/grid/GridBodyComponent.js +0 -76
  268. package/esm2015/grid/GridFooterComponent.js +0 -26
  269. package/esm2015/grid/GridHeaderComponent.js +0 -25
  270. package/esm2015/grid/form/FormGridBody.component.js +0 -16
  271. package/esm2015/grid/form/FormGridFooter.component.js +0 -24
  272. package/esm2015/grid/form/FormGridHeader.component.js +0 -24
  273. package/esm2015/grid/form/time-since.pipe.js +0 -33
  274. package/esm2015/grid/formio-angular-grid.js +0 -6
  275. package/esm2015/grid/grid.component.js +0 -211
  276. package/esm2015/grid/grid.module.js +0 -61
  277. package/esm2015/grid/grid.service.js +0 -16
  278. package/esm2015/grid/submission/SubmissionGridBody.component.js +0 -40
  279. package/esm2015/grid/submission/SubmissionGridFooter.component.js +0 -21
  280. package/esm2015/grid/submission/SubmissionGridHeader.component.js +0 -58
  281. package/esm2015/manager/create/create.component.js +0 -13
  282. package/esm2015/manager/delete/delete.component.js +0 -42
  283. package/esm2015/manager/edit/edit.component.js +0 -109
  284. package/esm2015/manager/form/form.component.js +0 -73
  285. package/esm2015/manager/form-manager.config.js +0 -12
  286. package/esm2015/manager/form-manager.module.js +0 -56
  287. package/esm2015/manager/form-manager.service.js +0 -180
  288. package/esm2015/manager/index/index.component.js +0 -86
  289. package/esm2015/manager/submission/delete/delete.component.js +0 -32
  290. package/esm2015/manager/submission/edit/edit.component.js +0 -24
  291. package/esm2015/manager/submission/index/index.component.js +0 -24
  292. package/esm2015/manager/submission/submission/submission.component.js +0 -27
  293. package/esm2015/manager/submission/view/view.component.js +0 -16
  294. package/esm2015/manager/view/view.component.js +0 -45
  295. package/esm2015/resource/create/create.component.js +0 -40
  296. package/esm2015/resource/delete/delete.component.js +0 -29
  297. package/esm2015/resource/edit/edit.component.js +0 -39
  298. package/esm2015/resource/index/index.component.js +0 -65
  299. package/esm2015/resource/resource.component.js +0 -48
  300. package/esm2015/resource/resource.config.js +0 -12
  301. package/esm2015/resource/resource.module.js +0 -44
  302. package/esm2015/resource/resource.service.js +0 -187
  303. package/esm2015/resource/resources.service.js +0 -22
  304. package/esm2015/resource/view/view.component.js +0 -24
  305. package/fesm2015/formio-angular-auth.js +0 -285
  306. package/fesm2015/formio-angular-auth.js.map +0 -1
  307. package/fesm2015/formio-angular-grid.js +0 -624
  308. package/fesm2015/formio-angular-grid.js.map +0 -1
  309. package/fesm2015/formio-angular-manager.js +0 -750
  310. package/fesm2015/formio-angular-manager.js.map +0 -1
  311. package/fesm2015/formio-angular-resource.js +0 -515
  312. package/fesm2015/formio-angular-resource.js.map +0 -1
  313. package/fesm2015/formio-angular.js +0 -1073
  314. package/fesm2015/formio-angular.js.map +0 -1
  315. package/formio-angular.metadata.json +0 -1
  316. package/formio.config.ngfactory.d.ts.map +0 -1
  317. package/formio.module.ngfactory.d.ts.map +0 -1
  318. package/grid/GridBodyComponent.ngfactory.d.ts.map +0 -1
  319. package/grid/GridFooterComponent.ngfactory.d.ts.map +0 -1
  320. package/grid/GridHeaderComponent.ngfactory.d.ts.map +0 -1
  321. package/grid/form/FormGridBody.component.ngfactory.d.ts.map +0 -1
  322. package/grid/form/FormGridBody.component.scss.shim.ngstyle.d.ts.map +0 -1
  323. package/grid/form/FormGridFooter.component.ngfactory.d.ts.map +0 -1
  324. package/grid/form/FormGridHeader.component.ngfactory.d.ts.map +0 -1
  325. package/grid/form/time-since.pipe.ngfactory.d.ts.map +0 -1
  326. package/grid/formio-angular-grid.metadata.json +0 -1
  327. package/grid/grid.component.ngfactory.d.ts.map +0 -1
  328. package/grid/grid.component.scss.shim.ngstyle.d.ts.map +0 -1
  329. package/grid/grid.footer.scss.ngstyle.d.ts.map +0 -1
  330. package/grid/grid.module.ngfactory.d.ts.map +0 -1
  331. package/grid/grid.service.ngfactory.d.ts.map +0 -1
  332. package/grid/submission/SubmissionGridBody.component.ngfactory.d.ts.map +0 -1
  333. package/grid/submission/SubmissionGridFooter.component.ngfactory.d.ts.map +0 -1
  334. package/grid/submission/SubmissionGridHeader.component.ngfactory.d.ts.map +0 -1
  335. package/manager/formio-angular-manager.metadata.json +0 -1
  336. package/resource/formio-angular-resource.metadata.json +0 -1
@@ -1,109 +0,0 @@
1
- import { Component, ViewChild, ChangeDetectorRef } from '@angular/core';
2
- import { FormManagerService } from '../form-manager.service';
3
- import { ActivatedRoute, Router } from '@angular/router';
4
- import { FormManagerConfig } from '../form-manager.config';
5
- import { FormioAlerts } from '@formio/angular';
6
- import { FormBuilderComponent } from '@formio/angular';
7
- import _ from 'lodash';
8
- export class FormManagerEditComponent {
9
- constructor(service, router, route, config, ref, alerts) {
10
- this.service = service;
11
- this.router = router;
12
- this.route = route;
13
- this.config = config;
14
- this.ref = ref;
15
- this.alerts = alerts;
16
- this.form = { components: [] };
17
- this.formReady = false;
18
- this.loading = false;
19
- this.editMode = false;
20
- }
21
- initBuilder(editing) {
22
- if (editing) {
23
- this.loading = true;
24
- this.editMode = true;
25
- return this.service.formReady.then(() => {
26
- this.form = this.service.form;
27
- this.formTitle.nativeElement.value = this.service.form.title;
28
- this.formType.nativeElement.value = this.service.form.display || 'form';
29
- this.formReady = true;
30
- this.loading = false;
31
- this.ref.detectChanges();
32
- return true;
33
- }).catch(err => {
34
- this.alerts.setAlert({ type: 'danger', message: (err.message || err) });
35
- this.loading = false;
36
- this.ref.detectChanges();
37
- this.formReady = true;
38
- });
39
- }
40
- else {
41
- this.formReady = true;
42
- return Promise.resolve(true);
43
- }
44
- }
45
- ngAfterViewInit() {
46
- this.route.url.subscribe(url => {
47
- setTimeout(() => this.initBuilder((url[0].path === 'edit')), 0);
48
- });
49
- }
50
- onDisplaySelect(event) {
51
- this.builder.setDisplay(event.target.value);
52
- }
53
- saveForm() {
54
- this.loading = true;
55
- this.form = _.cloneDeep(this.builder.formio.schema);
56
- this.form.title = this.formTitle.nativeElement.value.trim();
57
- this.form.display = this.formType.nativeElement.value;
58
- if (this.config.tag) {
59
- this.form.tags = this.form.tags || [];
60
- this.form.tags.push(this.config.tag);
61
- this.form.tags = _.uniq(this.form.tags);
62
- }
63
- if (!this.form._id) {
64
- this.form.name = _.camelCase(this.form.title).toLowerCase();
65
- this.form.path = this.form.name;
66
- }
67
- return this.service.formio.saveForm(this.form).then(form => {
68
- this.form = this.service.setForm(form);
69
- this.loading = false;
70
- return this.form;
71
- }).catch(err => {
72
- this.loading = false;
73
- // Catch if a form is returned as an error. This is a conflict.
74
- if (err._id && err.type) {
75
- throw err;
76
- }
77
- this.alerts.setAlert({ type: 'danger', message: (err.message || err) });
78
- });
79
- }
80
- onSave() {
81
- return this.saveForm().then((form) => {
82
- if (this.editMode) {
83
- this.router.navigate(['../', 'view'], { relativeTo: this.route });
84
- }
85
- else {
86
- this.router.navigate(['../', form._id, 'view'], { relativeTo: this.route });
87
- }
88
- });
89
- }
90
- }
91
- FormManagerEditComponent.decorators = [
92
- { type: Component, args: [{
93
- template: "<div class=\"loader\" *ngIf=\"loading\"></div>\n<div class=\"form-group row\">\n <div class=\"col-sm-8\">\n <input type=\"text\" class=\"form-control\" id=\"formTitle\" placeholder=\"Enter a Title\" #title>\n </div>\n <div class=\"col-sm-2\">\n <select class=\"form-control\" id=\"formSelect\" (change)=\"onDisplaySelect($event)\" #type>\n <option value=\"form\">Form</option>\n <option value=\"wizard\">Wizard</option>\n <option value=\"pdf\">PDF</option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <button class=\"btn btn-primary btn-block\" (click)=\"onSave()\">Save Form</button>\n </div>\n</div>\n<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<form-builder *ngIf=\"formReady\" [formbuilder]=\"config.builder\" [form]=\"form\" #builder></form-builder>\n<button class=\"btn btn-primary\" style=\"margin-top: 10px;\" (click)=\"onSave()\">Save Form</button>\n"
94
- },] }
95
- ];
96
- FormManagerEditComponent.ctorParameters = () => [
97
- { type: FormManagerService },
98
- { type: Router },
99
- { type: ActivatedRoute },
100
- { type: FormManagerConfig },
101
- { type: ChangeDetectorRef },
102
- { type: FormioAlerts }
103
- ];
104
- FormManagerEditComponent.propDecorators = {
105
- builder: [{ type: ViewChild, args: [FormBuilderComponent, { static: false },] }],
106
- formTitle: [{ type: ViewChild, args: ['title', { static: false },] }],
107
- formType: [{ type: ViewChild, args: ['type', { static: false },] }]
108
- };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9lZGl0L2VkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFLdkIsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUNTLE9BQTJCLEVBQzNCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixNQUF5QixFQUN6QixHQUFzQixFQUN0QixNQUFvQjtRQUxwQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUUzQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdB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RCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQzthQUNqRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO2FBQzNFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqR0YsU0FBUyxTQUFDO2dCQUNULHU1QkFBb0M7YUFDckM7OztZQVRRLGtCQUFrQjtZQUNGLE1BQU07WUFBdEIsY0FBYztZQUNkLGlCQUFpQjtZQUhnQyxpQkFBaUI7WUFJbEUsWUFBWTs7O3NCQVFsQixTQUFTLFNBQUMsb0JBQW9CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO3dCQUMvQyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzt1QkFDbEMsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJDb25maWcgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuY29uZmlnJztcbmltcG9ydCB7IEZvcm1pb0FsZXJ0cyB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlckNvbXBvbmVudCB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VyRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKEZvcm1CdWlsZGVyQ29tcG9uZW50LCB7c3RhdGljOiBmYWxzZX0pIGJ1aWxkZXI6IEZvcm1CdWlsZGVyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd0aXRsZScsIHtzdGF0aWM6IGZhbHNlfSkgZm9ybVRpdGxlOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd0eXBlJywge3N0YXRpYzogZmFsc2V9KSBmb3JtVHlwZTogRWxlbWVudFJlZjtcbiAgcHVibGljIGZvcm06IGFueTtcbiAgcHVibGljIGxvYWRpbmc6IEJvb2xlYW47XG4gIHB1YmxpYyBmb3JtUmVhZHk6IEJvb2xlYW47XG4gIHB1YmxpYyBlZGl0TW9kZTogQm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogRm9ybU1hbmFnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1NYW5hZ2VyQ29uZmlnLFxuICAgIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBhbGVydHM6IEZvcm1pb0FsZXJ0c1xuICApIHtcbiAgICB0aGlzLmZvcm0gPSB7Y29tcG9uZW50czogW119O1xuICAgIHRoaXMuZm9ybVJlYWR5ID0gZmFsc2U7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5lZGl0TW9kZSA9IGZhbHNlO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIoZWRpdGluZykge1xuICAgIGlmIChlZGl0aW5nKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5lZGl0TW9kZSA9IHRydWU7XG4gICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmZvcm1SZWFkeS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5zZXJ2aWNlLmZvcm07XG4gICAgICAgIHRoaXMuZm9ybVRpdGxlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnNlcnZpY2UuZm9ybS50aXRsZTtcbiAgICAgICAgdGhpcy5mb3JtVHlwZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5zZXJ2aWNlLmZvcm0uZGlzcGxheSB8fCAnZm9ybSc7XG4gICAgICAgIHRoaXMuZm9ybVJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0cy5zZXRBbGVydCh7dHlwZTogJ2RhbmdlcicsIG1lc3NhZ2U6IChlcnIubWVzc2FnZSB8fCBlcnIpfSk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZm9ybVJlYWR5ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1SZWFkeSA9IHRydWU7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnVybC5zdWJzY3JpYmUoIHVybCA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5pdEJ1aWxkZXIoKHVybFswXS5wYXRoID09PSAnZWRpdCcpKSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRpc3BsYXlTZWxlY3QoZXZlbnQpIHtcbiAgICB0aGlzLmJ1aWxkZXIuc2V0RGlzcGxheShldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgc2F2ZUZvcm0oKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmZvcm0gPSBfLmNsb25lRGVlcCh0aGlzLmJ1aWxkZXIuZm9ybWlvLnNjaGVtYSk7XG4gICAgdGhpcy5mb3JtLnRpdGxlID0gdGhpcy5mb3JtVGl0bGUubmF0aXZlRWxlbWVudC52YWx1ZS50cmltKCk7XG4gICAgdGhpcy5mb3JtLmRpc3BsYXkgPSB0aGlzLmZvcm1UeXBlLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAodGhpcy5jb25maWcudGFnKSB7XG4gICAgICB0aGlzLmZvcm0udGFncyA9IHRoaXMuZm9ybS50YWdzIHx8IFtdO1xuICAgICAgdGhpcy5mb3JtLnRhZ3MucHVzaCh0aGlzLmNvbmZpZy50YWcpO1xuICAgICAgdGhpcy5mb3JtLnRhZ3MgPSBfLnVuaXEodGhpcy5mb3JtLnRhZ3MpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZm9ybS5faWQpIHtcbiAgICAgIHRoaXMuZm9ybS5uYW1lID0gXy5jYW1lbENhc2UodGhpcy5mb3JtLnRpdGxlKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5mb3JtLnBhdGggPSB0aGlzLmZvcm0ubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5mb3JtaW8uc2F2ZUZvcm0odGhpcy5mb3JtKS50aGVuKGZvcm0gPT4ge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5zZXJ2aWNlLnNldEZvcm0oZm9ybSk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLmZvcm07XG4gICAgfSkuY2F0Y2goZXJyID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgLy8gQ2F0Y2ggaWYgYSBmb3JtIGlzIHJldHVybmVkIGFzIGFuIGVycm9yLiBUaGlzIGlzIGEgY29uZmxpY3QuXG4gICAgICBpZiAoZXJyLl9pZCAmJiBlcnIudHlwZSkge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICB0aGlzLmFsZXJ0cy5zZXRBbGVydCh7dHlwZTogJ2RhbmdlcicsIG1lc3NhZ2U6IChlcnIubWVzc2FnZSB8fCBlcnIpfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblNhdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUZvcm0oKS50aGVuKChmb3JtKSA9PiB7XG4gICAgICBpZiAodGhpcy5lZGl0TW9kZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLycsICd2aWV3J10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLycsIGZvcm0uX2lkLCAndmlldyddLCB7cmVsYXRpdmVUbzogdGhpcy5yb3V0ZX0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,73 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FormManagerService } from '../form-manager.service';
3
- import { FormManagerConfig } from '../form-manager.config';
4
- import { ActivatedRoute } from '@angular/router';
5
- import { FormioAppConfig } from '@formio/angular';
6
- import { BsModalService } from 'ngx-bootstrap/modal';
7
- export class FormManagerFormComponent {
8
- constructor(service, route, appConfig, options, modalService) {
9
- this.service = service;
10
- this.route = route;
11
- this.appConfig = appConfig;
12
- this.options = options;
13
- this.modalService = modalService;
14
- this.choice = 'isUrl';
15
- this.goTo = '';
16
- }
17
- ngOnInit() {
18
- this.service.reset(this.route);
19
- this.service.loadForm().then(form => {
20
- this.service.formSrc = this.appConfig.appUrl + '/' + form.path;
21
- this.projectId = form.project;
22
- this.pathName = form.path;
23
- this.getShareUrl();
24
- });
25
- }
26
- getShareUrl() {
27
- const src = this.appConfig.appUrl + '/' + this.pathName;
28
- this.shareUrl = `${this.options.viewer}/#/?src=${encodeURIComponent(src)}`;
29
- return this.shareUrl;
30
- }
31
- openEmbed(content) {
32
- let goto = '';
33
- if (this.goTo) {
34
- goto += `if (d && d.formSubmission && d.formSubmission._id) { window.location.href = "${this.goTo}";}`;
35
- }
36
- let embedCode = '<script type="text/javascript">';
37
- embedCode += '(function a(d, w, u) {';
38
- embedCode += 'var h = d.getElementsByTagName("head")[0];';
39
- embedCode += 'var s = d.createElement("script");';
40
- embedCode += 's.type = "text/javascript";';
41
- embedCode += 's.src = "' + this.options.viewer + '/assets/lib/seamless/seamless.parent.min.js";';
42
- embedCode += 's.onload = function b() {';
43
- embedCode += 'var f = d.getElementById("formio-form-' + this.service.formio.formId + '");';
44
- embedCode += 'if (!f || (typeof w.seamless === u)) {';
45
- embedCode += 'return setTimeout(b, 100);';
46
- embedCode += '}';
47
- embedCode += 'w.seamless(f, {fallback:false}).receive(function(d, e) {' + goto + '});';
48
- embedCode += '};';
49
- embedCode += 'h.appendChild(s);';
50
- embedCode += '})(document, window);';
51
- embedCode += '</script>';
52
- embedCode += '<iframe id="formio-form-' + this.service.formio.formId + '" ';
53
- embedCode += 'style="width:100%;border:none;" height="800px" src="' + this.shareUrl + '&iframe=1"></iframe>';
54
- this.embedCode = embedCode;
55
- this.modalRef = this.modalService.show(content, { class: 'modal-lg' });
56
- }
57
- choices(string) {
58
- this.choice = string;
59
- }
60
- }
61
- FormManagerFormComponent.decorators = [
62
- { type: Component, args: [{
63
- template: "<button *ngIf=\"options.viewer\" class=\"pull-right btn btn-outline-primary\" (click)=\"openEmbed(content)\"><i class=\"fa fa-share-alt glyphicon glyphicon-share\"></i> Share</button>\n<ul class=\"nav nav-tabs mb-2\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><i class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></i></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><i class=\"fa fa-pencil glyphicon glyphicon-pencil\"></i> Enter Data</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><i class=\"fa fa-list-alt glyphicon glyphicon-list-alt\"></i> View Data</a></li>\n <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><i class=\"fa fa-edit glyphicon glyphicon-edit\"></i> Edit Form</a></li>\n <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n<ng-template #content>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Share or Embed this form</h4>\n <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ul class=\"nav nav-tabs mr-auto mb-2\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><i class=\"fa fa-link\"></i> URL</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><i class=\"fa fa-code\"></i> Embed</a>\n </li>\n </ul>\n <pre *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\n <input *ngIf=\"choice === 'isUrl'\" type=\"text\" onclick=\"this.focus();this.select()\" readonly=\"readonly\" class=\"form-control\" [ngModel]=\"shareUrl\" placeholder=\"https://examples.form.io/example\">\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\n </div>\n</ng-template>\n"
64
- },] }
65
- ];
66
- FormManagerFormComponent.ctorParameters = () => [
67
- { type: FormManagerService },
68
- { type: ActivatedRoute },
69
- { type: FormioAppConfig },
70
- { type: FormManagerConfig },
71
- { type: BsModalService }
72
- ];
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBYyxNQUFNLHFCQUFxQixDQUFDO0FBS2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFDUyxPQUEyQixFQUMzQixLQUFxQixFQUNyQixTQUEwQixFQUMxQixPQUEwQixFQUN6QixZQUE0QjtRQUo3QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFadEMsV0FBTSxHQUFRLE9BQU8sQ0FBQztRQUt0QixTQUFJLEdBQVEsRUFBRSxDQUFDO0lBUVgsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLFdBQVcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QjtRQUNqQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLElBQUksZ0ZBQWdGLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztTQUN4RztRQUNELElBQUksU0FBUyxHQUFHLGlDQUFpQyxDQUFDO1FBQ2xELFNBQVMsSUFBSSx3QkFBd0IsQ0FBQztRQUN0QyxTQUFTLElBQU8sNENBQTRDLENBQUM7UUFDN0QsU0FBUyxJQUFPLG9DQUFvQyxDQUFDO1FBQ3JELFNBQVMsSUFBTyw2QkFBNkIsQ0FBQztRQUM5QyxTQUFTLElBQU8sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLCtDQUErQyxDQUFDO1FBQ3BHLFNBQVMsSUFBTywyQkFBMkIsQ0FBQztRQUM1QyxTQUFTLElBQVUsd0NBQXdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNqRyxTQUFTLElBQVUsd0NBQXdDLENBQUM7UUFDNUQsU0FBUyxJQUFhLDRCQUE0QixDQUFDO1FBQ25ELFNBQVMsSUFBVSxHQUFHLENBQUM7UUFDdkIsU0FBUyxJQUFVLDBEQUEwRCxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7UUFDN0YsU0FBUyxJQUFPLElBQUksQ0FBQztRQUNyQixTQUFTLElBQU8sbUJBQW1CLENBQUM7UUFDcEMsU0FBUyxJQUFJLHVCQUF1QixDQUFDO1FBQ3JDLFNBQVMsSUFBSSxXQUFXLENBQUM7UUFDekIsU0FBUyxJQUFJLDBCQUEwQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDNUUsU0FBUyxJQUFRLHNEQUFzRCxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsc0JBQXNCLENBQUM7UUFDakgsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU07UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDOzs7WUFoRUYsU0FBUyxTQUFDO2dCQUNULHFrRkFBb0M7YUFDckM7OztZQVJRLGtCQUFrQjtZQUVsQixjQUFjO1lBQ2QsZUFBZTtZQUZmLGlCQUFpQjtZQUdqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXBwQ29uZmlnIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlLCBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY2hvaWNlOiBhbnkgPSAnaXNVcmwnO1xuICBlbWJlZENvZGU6IGFueTtcbiAgc2hhcmVVcmw6IGFueTtcbiAgcHJvamVjdElkOiBhbnk7XG4gIHBhdGhOYW1lOiBhbnk7XG4gIGdvVG86IGFueSA9ICcnO1xuICBtb2RhbFJlZjogQnNNb2RhbFJlZjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1NYW5hZ2VyU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBhcHBDb25maWc6IEZvcm1pb0FwcENvbmZpZyxcbiAgICBwdWJsaWMgb3B0aW9uczogRm9ybU1hbmFnZXJDb25maWcsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnJlc2V0KHRoaXMucm91dGUpO1xuICAgIHRoaXMuc2VydmljZS5sb2FkRm9ybSgpLnRoZW4oZm9ybSA9PiB7XG4gICAgICB0aGlzLnNlcnZpY2UuZm9ybVNyYyA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIGZvcm0ucGF0aDtcbiAgICAgIHRoaXMucHJvamVjdElkID0gZm9ybS5wcm9qZWN0O1xuICAgICAgdGhpcy5wYXRoTmFtZSA9IGZvcm0ucGF0aDtcbiAgICAgIHRoaXMuZ2V0U2hhcmVVcmwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaGFyZVVybCgpIHtcbiAgICBjb25zdCBzcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLnBhdGhOYW1lO1xuICAgIHRoaXMuc2hhcmVVcmwgPSBgJHt0aGlzLm9wdGlvbnMudmlld2VyfS8jLz9zcmM9JHtlbmNvZGVVUklDb21wb25lbnQoc3JjKX1gO1xuICAgIHJldHVybiB0aGlzLnNoYXJlVXJsO1xuICB9XG5cbiAgb3BlbkVtYmVkKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBsZXQgZ290byA9ICcnO1xuICAgIGlmICh0aGlzLmdvVG8pIHtcbiAgICAgIGdvdG8gKz0gYGlmIChkICYmIGQuZm9ybVN1Ym1pc3Npb24gJiYgZC5mb3JtU3VibWlzc2lvbi5faWQpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIiR7dGhpcy5nb1RvfVwiO31gO1xuICAgIH1cbiAgICBsZXQgZW1iZWRDb2RlID0gJzxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPic7XG4gICAgZW1iZWRDb2RlICs9ICcoZnVuY3Rpb24gYShkLCB3LCB1KSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBoID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBzID0gZC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnR5cGUgPSBcInRleHQvamF2YXNjcmlwdFwiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnNyYyA9IFwiJyArIHRoaXMub3B0aW9ucy52aWV3ZXIgKyAnL2Fzc2V0cy9saWIvc2VhbWxlc3Mvc2VhbWxlc3MucGFyZW50Lm1pbi5qc1wiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLm9ubG9hZCA9IGZ1bmN0aW9uIGIoKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ3ZhciBmID0gZC5nZXRFbGVtZW50QnlJZChcImZvcm1pby1mb3JtLScgKyB0aGlzLnNlcnZpY2UuZm9ybWlvLmZvcm1JZCArICdcIik7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ2lmICghZiB8fCAodHlwZW9mIHcuc2VhbWxlc3MgPT09IHUpKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgICAgJ3JldHVybiBzZXRUaW1lb3V0KGIsIDEwMCk7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ30nO1xuICAgIGVtYmVkQ29kZSArPSAgICAgICAndy5zZWFtbGVzcyhmLCB7ZmFsbGJhY2s6ZmFsc2V9KS5yZWNlaXZlKGZ1bmN0aW9uKGQsIGUpIHsnICsgZ290byArICd9KTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnfTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnaC5hcHBlbmRDaGlsZChzKTsnO1xuICAgIGVtYmVkQ29kZSArPSAnfSkoZG9jdW1lbnQsIHdpbmRvdyk7JztcbiAgICBlbWJlZENvZGUgKz0gJzwvc2NyaXB0Pic7XG4gICAgZW1iZWRDb2RlICs9ICc8aWZyYW1lIGlkPVwiZm9ybWlvLWZvcm0tJyArIHRoaXMuc2VydmljZS5mb3JtaW8uZm9ybUlkICsgJ1wiICc7XG4gICAgZW1iZWRDb2RlICs9ICAgICAnc3R5bGU9XCJ3aWR0aDoxMDAlO2JvcmRlcjpub25lO1wiIGhlaWdodD1cIjgwMHB4XCIgc3JjPVwiJyArIHRoaXMuc2hhcmVVcmwgKyAnJmlmcmFtZT0xXCI+PC9pZnJhbWU+JztcbiAgICB0aGlzLmVtYmVkQ29kZSA9IGVtYmVkQ29kZTtcbiAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhjb250ZW50LCB7IGNsYXNzOiAnbW9kYWwtbGcnIH0pO1xuICB9XG5cbiAgY2hvaWNlcyhzdHJpbmcpIHtcbiAgICB0aGlzLmNob2ljZSA9IHN0cmluZztcbiAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- export class FormManagerConfig {
3
- constructor() {
4
- this.tag = '';
5
- this.includeSearch = false;
6
- this.saveDraft = false;
7
- }
8
- }
9
- FormManagerConfig.decorators = [
10
- { type: Injectable }
11
- ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWtCM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVTLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBSTNCLENBQUM7OztZQVJBLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybU1hbmFnZXJSb3V0ZUNvbmZpZyB7XG4gIGZvcm1JbmRleD86IGFueTtcbiAgZm9ybUNyZWF0ZT86IGFueTtcbiAgZm9ybT86IGFueTtcbiAgZm9ybVZpZXc/OiBhbnk7XG4gIGZvcm1FZGl0PzogYW55O1xuICBmb3JtRW1iZWQ/OiBhbnk7XG4gIGZvcm1EZWxldGU/OiBhbnk7XG4gIHN1Ym1pc3Npb25JbmRleD86IGFueTtcbiAgc3VibWlzc2lvbj86IGFueTtcbiAgc3VibWlzc2lvblZpZXc/OiBhbnk7XG4gIHN1Ym1pc3Npb25FZGl0PzogYW55O1xuICBzdWJtaXNzaW9uRGVsZXRlPzogYW55O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJDb25maWcge1xuICBwdWJsaWMgdGFnID0gJyc7XG4gIHB1YmxpYyBpbmNsdWRlU2VhcmNoID0gZmFsc2U7XG4gIHB1YmxpYyBzYXZlRHJhZnQgPSBmYWxzZTtcbiAgcHVibGljIGJ1aWxkZXI/OiBhbnk7XG4gIHB1YmxpYyB2aWV3ZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyByZW5kZXJlcjogYW55O1xufVxuIl19
@@ -1,56 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { CommonModule } from '@angular/common';
4
- import { FormsModule } from '@angular/forms';
5
- import { FormioModule } from '@formio/angular';
6
- import { FormioGrid } from '@formio/angular/grid';
7
- import { FormManagerIndexComponent } from './index/index.component';
8
- import { FormManagerCreateComponent } from './create/create.component';
9
- import { FormManagerFormComponent } from './form/form.component';
10
- import { FormManagerViewComponent } from './view/view.component';
11
- import { FormManagerEditComponent } from './edit/edit.component';
12
- import { FormManagerDeleteComponent } from './delete/delete.component';
13
- import { SubmissionComponent } from './submission/submission/submission.component';
14
- import { SubmissionEditComponent } from './submission/edit/edit.component';
15
- import { SubmissionDeleteComponent } from './submission/delete/delete.component';
16
- import { SubmissionViewComponent } from './submission/view/view.component';
17
- import { SubmissionIndexComponent } from './submission/index/index.component';
18
- import { FormManagerRoutes } from './form-manager.routes';
19
- import { PaginationModule } from 'ngx-bootstrap/pagination';
20
- import { ModalModule } from 'ngx-bootstrap/modal';
21
- import { extendRouter } from '@formio/angular';
22
- export class FormManagerModule {
23
- static forChild(config) {
24
- return extendRouter(FormManagerModule, config, FormManagerRoutes);
25
- }
26
- static forRoot(config) {
27
- return extendRouter(FormManagerModule, config, FormManagerRoutes);
28
- }
29
- }
30
- FormManagerModule.decorators = [
31
- { type: NgModule, args: [{
32
- imports: [
33
- CommonModule,
34
- FormioModule,
35
- RouterModule,
36
- FormsModule,
37
- FormioGrid,
38
- ModalModule.forRoot(),
39
- PaginationModule.forRoot()
40
- ],
41
- declarations: [
42
- FormManagerIndexComponent,
43
- FormManagerCreateComponent,
44
- FormManagerFormComponent,
45
- FormManagerViewComponent,
46
- FormManagerEditComponent,
47
- FormManagerDeleteComponent,
48
- SubmissionComponent,
49
- SubmissionEditComponent,
50
- SubmissionDeleteComponent,
51
- SubmissionViewComponent,
52
- SubmissionIndexComponent
53
- ]
54
- },] }
55
- ];
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUF5Qi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUErQjtRQUM3QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUErQjtRQUM1QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs7WUE5QkYsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixXQUFXO29CQUNYLFVBQVU7b0JBQ1YsV0FBVyxDQUFDLE9BQU8sRUFBRTtvQkFDckIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2lCQUMzQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO29CQUN6QiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtvQkFDeEIsd0JBQXdCO29CQUN4Qix3QkFBd0I7b0JBQ3hCLDBCQUEwQjtvQkFDMUIsbUJBQW1CO29CQUNuQix1QkFBdUI7b0JBQ3ZCLHlCQUF5QjtvQkFDekIsdUJBQXVCO29CQUN2Qix3QkFBd0I7aUJBQ3pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1pb01vZHVsZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQgeyBGb3JtaW9HcmlkIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2dyaWQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJJbmRleENvbXBvbmVudCB9IGZyb20gJy4vaW5kZXgvaW5kZXguY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyQ3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUvY3JlYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC9lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9zdWJtaXNzaW9uL3N1Ym1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL2VkaXQvZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25JbmRleENvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9pbmRleC9pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJSb3V0ZUNvbmZpZyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclJvdXRlcyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLnJvdXRlcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wYWdpbmF0aW9uJztcbmltcG9ydCB7IE1vZGFsTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBleHRlbmRSb3V0ZXIgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3JtaW9Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvcm1pb0dyaWQsXG4gICAgTW9kYWxNb2R1bGUuZm9yUm9vdCgpLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUuZm9yUm9vdCgpXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZvcm1NYW5hZ2VySW5kZXhDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJDcmVhdGVDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VyVmlld0NvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlckVkaXRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJEZWxldGVDb21wb25lbnQsXG4gICAgU3VibWlzc2lvbkNvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uRWRpdENvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uRGVsZXRlQ29tcG9uZW50LFxuICAgIFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50LFxuICAgIFN1Ym1pc3Npb25JbmRleENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VyTW9kdWxlIHtcbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZz86IEZvcm1NYW5hZ2VyUm91dGVDb25maWcpOiBhbnkge1xuICAgIHJldHVybiBleHRlbmRSb3V0ZXIoRm9ybU1hbmFnZXJNb2R1bGUsIGNvbmZpZywgRm9ybU1hbmFnZXJSb3V0ZXMpO1xuICB9XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEZvcm1NYW5hZ2VyUm91dGVDb25maWcpOiBhbnkge1xuICAgIHJldHVybiBleHRlbmRSb3V0ZXIoRm9ybU1hbmFnZXJNb2R1bGUsIGNvbmZpZywgRm9ybU1hbmFnZXJSb3V0ZXMpO1xuICB9XG59XG4iXX0=
@@ -1,180 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { FormioAppConfig } from '@formio/angular';
3
- import { FormManagerConfig } from './form-manager.config';
4
- import { Formio } from 'formiojs';
5
- import { FormioAuthService } from '@formio/angular/auth';
6
- import _intersection from 'lodash/intersection';
7
- export class FormManagerService {
8
- constructor(appConfig, config, auth) {
9
- this.appConfig = appConfig;
10
- this.config = config;
11
- this.auth = auth;
12
- this.form = null;
13
- this.formSrc = '';
14
- this.perms = { delete: false, edit: false };
15
- if (this.appConfig && this.appConfig.appUrl) {
16
- Formio.setBaseUrl(this.appConfig.apiUrl);
17
- Formio.setProjectUrl(this.appConfig.appUrl);
18
- }
19
- else {
20
- console.error('You must provide an AppConfig within your application!');
21
- }
22
- this.allAccessMap = {
23
- 'update_all': 'formEdit',
24
- 'delete_all': 'formDelete'
25
- };
26
- this.ownAccessMap = {
27
- 'update_own': 'formEdit',
28
- 'delete_own': 'formDelete'
29
- };
30
- this.actionAllowed = (action) => this.isActionAllowed(action);
31
- this.reset();
32
- }
33
- isActionAllowed(action) {
34
- return this.access[action];
35
- }
36
- setAccess() {
37
- this.access = {
38
- formCreate: true,
39
- formView: true,
40
- formSubmission: true,
41
- formEdit: true,
42
- formPermission: true,
43
- formDelete: true,
44
- projectSettings: true,
45
- userManagement: true
46
- };
47
- if (this.auth) {
48
- this.access = {
49
- formCreate: false,
50
- formView: false,
51
- formSubmission: false,
52
- formEdit: false,
53
- formPermission: false,
54
- formDelete: false,
55
- projectSettings: false,
56
- userManagement: false
57
- };
58
- this.ready = this.auth.ready.then(() => {
59
- let administrator = this.auth.roles["administrator"];
60
- let formbuilder = this.auth.roles["formbuilder"];
61
- let formadmin = this.auth.roles["formadmin"];
62
- if (this.auth.user && this.auth.user.roles) {
63
- this.auth.user.roles.forEach((roleId) => {
64
- if (administrator._id === roleId) {
65
- this.access.formCreate = true;
66
- this.access.formView = true;
67
- this.access.formSubmission = true;
68
- this.access.formEdit = true;
69
- this.access.formPermission = true;
70
- this.access.formDelete = true;
71
- this.access.projectSettings = true;
72
- this.access.userManagement = true;
73
- }
74
- else {
75
- if (formadmin._id === roleId) {
76
- this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
77
- this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
78
- this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
79
- this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
80
- this.access.formView = this.auth.formAccess.read_all.includes(roleId);
81
- this.access.formSubmission = this.auth.formAccess.read_all.includes(roleId);
82
- }
83
- if (formbuilder._id === roleId) {
84
- this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);
85
- this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);
86
- this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);
87
- this.access.formDelete = this.auth.formAccess.delete_all.includes(roleId);
88
- this.access.formView = this.auth.formAccess.read_all.includes(roleId);
89
- }
90
- }
91
- });
92
- }
93
- });
94
- }
95
- else {
96
- this.ready = Promise.resolve(false);
97
- }
98
- }
99
- reset(route) {
100
- if (route) {
101
- route.params.subscribe(params => {
102
- if (params.id) {
103
- this.formio = new Formio(`${this.formio.formsUrl}/${params.id}`);
104
- }
105
- else {
106
- this.reset();
107
- }
108
- });
109
- }
110
- else {
111
- this.formio = new Formio(this.appConfig.appUrl);
112
- this.setAccess();
113
- }
114
- }
115
- hasAccess(roles) {
116
- if (!this.auth.user) {
117
- return false;
118
- }
119
- return !!_intersection(roles, this.auth.user.roles).length;
120
- }
121
- setForm(form) {
122
- this.form = form;
123
- this.formSrc = this.appConfig.appUrl + '/' + form.path;
124
- if (form.access) {
125
- // Check if they have access here.
126
- form.access.forEach(access => {
127
- // Check for all access.
128
- if (this.allAccessMap[access.type] && !this.access[this.allAccessMap[access.type]]) {
129
- this.access[this.allAccessMap[access.type]] = this.hasAccess(access.roles);
130
- }
131
- // Check for own access.
132
- if (this.auth && this.auth.user &&
133
- (form._id === this.auth.user._id) &&
134
- this.ownAccessMap[access.type] &&
135
- !this.access[this.ownAccessMap[access.type]]) {
136
- this.access[this.ownAccessMap[access.type]] = this.hasAccess(access.roles);
137
- }
138
- });
139
- }
140
- return form;
141
- }
142
- loadForm() {
143
- this.form = null;
144
- this.formReady = this.formio.loadForm().then(form => this.setForm(form));
145
- return this.formReady;
146
- }
147
- setSubmission(route) {
148
- return new Promise((resolve) => {
149
- route.params.subscribe(params => {
150
- this.formio = new Formio(`${this.formio.submissionsUrl}/${params.id}`);
151
- resolve(this.formio);
152
- });
153
- });
154
- }
155
- submissionLoaded(submission) {
156
- this.auth.ready.then(() => {
157
- this.formio.userPermissions(this.auth.user, this.form, submission).then((perms) => {
158
- this.perms.delete = perms.delete;
159
- this.perms.edit = perms.edit;
160
- });
161
- });
162
- }
163
- loadForms() {
164
- return this.formio.loadForms({ params: {
165
- tags: this.config.tag
166
- } });
167
- }
168
- createForm(form) {
169
- return this.formio.createform(form);
170
- }
171
- }
172
- FormManagerService.decorators = [
173
- { type: Injectable }
174
- ];
175
- FormManagerService.ctorParameters = () => [
176
- { type: FormioAppConfig },
177
- { type: FormManagerConfig },
178
- { type: FormioAuthService }
179
- ];
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDUyxTQUEwQixFQUMxQixNQUF5QixFQUN6QixJQUF1QjtRQUZ2QixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVB6QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFVBQUssR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBTzFDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUMzQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHdE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QUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7NkJBQzdFOzRCQUNELElBQUksV0FBVyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUU7Z0NBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENB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QUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBQyxNQUFNLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7YUFDdEIsRUFBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7WUF4TEYsVUFBVTs7O1lBUkYsZUFBZTtZQUNmLGlCQUFpQjtZQUdqQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJDb25maWcgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvIH0gZnJvbSAnZm9ybWlvanMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXV0aFNlcnZpY2UgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXIvYXV0aCc7XG5pbXBvcnQgX2VhY2ggZnJvbSAnbG9kYXNoL2VhY2gnO1xuaW1wb3J0IF9pbnRlcnNlY3Rpb24gZnJvbSAnbG9kYXNoL2ludGVyc2VjdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlclNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybWlvOiBGb3JtaW87XG4gIHB1YmxpYyBhY2Nlc3M6IGFueTtcbiAgcHVibGljIGFsbEFjY2Vzc01hcDogYW55O1xuICBwdWJsaWMgb3duQWNjZXNzTWFwOiBhbnk7XG4gIHB1YmxpYyByZWFkeTogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgZm9ybVJlYWR5OiBQcm9taXNlPGFueT47XG4gIHB1YmxpYyBhY3Rpb25BbGxvd2VkOiBhbnk7XG4gIHB1YmxpYyBmb3JtID0gbnVsbDtcbiAgcHVibGljIGZvcm1TcmMgPSAnJztcbiAgcHVibGljIHBlcm1zID0ge2RlbGV0ZTogZmFsc2UsIGVkaXQ6IGZhbHNlfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYXBwQ29uZmlnOiBGb3JtaW9BcHBDb25maWcsXG4gICAgcHVibGljIGNvbmZpZzogRm9ybU1hbmFnZXJDb25maWcsXG4gICAgcHVibGljIGF1dGg6IEZvcm1pb0F1dGhTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmFwcENvbmZpZyAmJiB0aGlzLmFwcENvbmZpZy5hcHBVcmwpIHtcbiAgICAgIEZvcm1pby5zZXRCYXNlVXJsKHRoaXMuYXBwQ29uZmlnLmFwaVVybCk7XG4gICAgICBGb3JtaW8uc2V0UHJvamVjdFVybCh0aGlzLmFwcENvbmZpZy5hcHBVcmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFsbEFjY2Vzc01hcCA9IHtcbiAgICAgICd1cGRhdGVfYWxsJzogJ2Zvcm1FZGl0JyxcbiAgICAgICdkZWxldGVfYWxsJzogJ2Zvcm1EZWxldGUnXG4gICAgfTtcbiAgICB0aGlzLm93bkFjY2Vzc01hcCA9IHtcbiAgICAgICd1cGRhdGVfb3duJzogJ2Zvcm1FZGl0JyxcbiAgICAgICdkZWxldGVfb3duJzogJ2Zvcm1EZWxldGUnXG4gICAgfTtcbiAgICB0aGlzLmFjdGlvbkFsbG93ZWQgPSAoYWN0aW9uKSA9PiB0aGlzLmlzQWN0aW9uQWxsb3dlZChhY3Rpb24pO1xuICAgIHRoaXMucmVzZXQoKTtcbiAgfVxuXG4gIGlzQWN0aW9uQWxsb3dlZChhY3Rpb246IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFjY2Vzc1thY3Rpb25dO1xuICB9XG5cbiAgc2V0QWNjZXNzKCkge1xuICAgIHRoaXMuYWNjZXNzID0ge1xuICAgICAgZm9ybUNyZWF0ZTogdHJ1ZSxcbiAgICAgIGZvcm1WaWV3OiB0cnVlLFxuICAgICAgZm9ybVN1Ym1pc3Npb246IHRydWUsXG4gICAgICBmb3JtRWRpdDogdHJ1ZSxcbiAgICAgIGZvcm1QZXJtaXNzaW9uOiB0cnVlLFxuICAgICAgZm9ybURlbGV0ZTogdHJ1ZSxcbiAgICAgIHByb2plY3RTZXR0aW5nczogdHJ1ZSxcbiAgICAgIHVzZXJNYW5hZ2VtZW50OiB0cnVlXG4gICAgfTtcbiAgICBpZiAodGhpcy5hdXRoKSB7XG4gICAgICB0aGlzLmFjY2VzcyA9IHtcbiAgICAgICAgZm9ybUNyZWF0ZTogZmFsc2UsXG4gICAgICAgIGZvcm1WaWV3OiBmYWxzZSxcbiAgICAgICAgZm9ybVN1Ym1pc3Npb246IGZhbHNlLFxuICAgICAgICBmb3JtRWRpdDogZmFsc2UsXG4gICAgICAgIGZvcm1QZXJtaXNzaW9uOiBmYWxzZSxcbiAgICAgICAgZm9ybURlbGV0ZTogZmFsc2UsXG4gICAgICAgIHByb2plY3RTZXR0aW5nczogZmFsc2UsXG4gICAgICAgIHVzZXJNYW5hZ2VtZW50OiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHRoaXMucmVhZHkgPSB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiB7XG4gICAgICAgIGxldCBhZG1pbmlzdHJhdG9yID0gdGhpcy5hdXRoLnJvbGVzW1wiYWRtaW5pc3RyYXRvclwiXTtcbiAgICAgICAgbGV0IGZvcm1idWlsZGVyID0gdGhpcy5hdXRoLnJvbGVzW1wiZm9ybWJ1aWxkZXJcIl07XG4gICAgICAgIGxldCBmb3JtYWRtaW4gPSB0aGlzLmF1dGgucm9sZXNbXCJmb3JtYWRtaW5cIl07XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0aC51c2VyICYmIHRoaXMuYXV0aC51c2VyLnJvbGVzKSB7XG4gICAgICAgICAgdGhpcy5hdXRoLnVzZXIucm9sZXMuZm9yRWFjaCgocm9sZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChhZG1pbmlzdHJhdG9yLl9pZCA9PT0gcm9sZUlkKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1DcmVhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtVmlldyA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1TdWJtaXNzaW9uPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRWRpdCA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1QZXJtaXNzaW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybURlbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLnByb2plY3RTZXR0aW5ncyA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLnVzZXJNYW5hZ2VtZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoZm9ybWFkbWluLl9pZCA9PT0gcm9sZUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUNyZWF0ZSA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLmNyZWF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRWRpdCA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRGVsZXRlID0gIHRoaXMuYXV0aC5mb3JtQWNjZXNzLmRlbGV0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtVmlldyA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVN1Ym1pc3Npb24gPSB0aGlzLmF1dGguZm9ybUFjY2Vzcy5yZWFkX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChmb3JtYnVpbGRlci5faWQgPT09IHJvbGVJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1DcmVhdGUgPSB0aGlzLmF1dGguZm9ybUFjY2Vzcy5jcmVhdGVfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUVkaXQgPSB0aGlzLmF1dGguZm9ybUFjY2Vzcy51cGRhdGVfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVBlcm1pc3Npb24gPSB0aGlzLmF1dGguZm9ybUFjY2Vzcy51cGRhdGVfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybURlbGV0ZSA9ICB0aGlzLmF1dGguZm9ybUFjY2Vzcy5kZWxldGVfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVZpZXcgPSB0aGlzLmF1dGguZm9ybUFjY2Vzcy5yZWFkX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlYWR5ID0gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICByZXNldChyb3V0ZT86IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgaWYgKHJvdXRlKSB7XG4gICAgICByb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW8oYCR7dGhpcy5mb3JtaW8uZm9ybXNVcmx9LyR7cGFyYW1zLmlkfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pbyh0aGlzLmFwcENvbmZpZy5hcHBVcmwpO1xuICAgICAgdGhpcy5zZXRBY2Nlc3MoKTtcbiAgICB9XG4gIH1cblxuICBoYXNBY2Nlc3Mocm9sZXMpIHtcbiAgICBpZiAoIXRoaXMuYXV0aC51c2VyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAhIV9pbnRlcnNlY3Rpb24ocm9sZXMsIHRoaXMuYXV0aC51c2VyLnJvbGVzKS5sZW5ndGg7XG4gIH1cblxuICBzZXRGb3JtKGZvcm06IGFueSkge1xuICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgdGhpcy5mb3JtU3JjID0gdGhpcy5hcHBDb25maWcuYXBwVXJsICsgJy8nICsgZm9ybS5wYXRoO1xuICAgIGlmIChmb3JtLmFjY2Vzcykge1xuICAgICAgLy8gQ2hlY2sgaWYgdGhleSBoYXZlIGFjY2VzcyBoZXJlLlxuICAgICAgZm9ybS5hY2Nlc3MuZm9yRWFjaChhY2Nlc3MgPT4ge1xuICAgICAgICAvLyBDaGVjayBmb3IgYWxsIGFjY2Vzcy5cbiAgICAgICAgaWYgKHRoaXMuYWxsQWNjZXNzTWFwW2FjY2Vzcy50eXBlXSAmJiAhdGhpcy5hY2Nlc3NbdGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdXSkge1xuICAgICAgICAgIHRoaXMuYWNjZXNzW3RoaXMuYWxsQWNjZXNzTWFwW2FjY2Vzcy50eXBlXV0gPSB0aGlzLmhhc0FjY2VzcyhhY2Nlc3Mucm9sZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIG93biBhY2Nlc3MuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmF1dGggJiYgdGhpcy5hdXRoLnVzZXIgJiZcbiAgICAgICAgICAoZm9ybS5faWQgPT09IHRoaXMuYXV0aC51c2VyLl9pZCkgJiZcbiAgICAgICAgICB0aGlzLm93bkFjY2Vzc01hcFthY2Nlc3MudHlwZV0gJiZcbiAgICAgICAgICAhdGhpcy5hY2Nlc3NbdGhpcy5vd25BY2Nlc3NNYXBbYWNjZXNzLnR5cGVdXVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmFjY2Vzc1t0aGlzLm93bkFjY2Vzc01hcFthY2Nlc3MudHlwZV1dID0gdGhpcy5oYXNBY2Nlc3MoYWNjZXNzLnJvbGVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtO1xuICB9XG5cbiAgbG9hZEZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gbnVsbDtcbiAgICB0aGlzLmZvcm1SZWFkeSA9IHRoaXMuZm9ybWlvLmxvYWRGb3JtKCkudGhlbihmb3JtID0+IHRoaXMuc2V0Rm9ybShmb3JtKSk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlYWR5O1xuICB9XG5cbiAgc2V0U3VibWlzc2lvbihyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvKGAke3RoaXMuZm9ybWlvLnN1Ym1pc3Npb25zVXJsfS8ke3BhcmFtcy5pZH1gKTtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmZvcm1pbyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pc3Npb25Mb2FkZWQoc3VibWlzc2lvbjogYW55KSB7XG4gICAgdGhpcy5hdXRoLnJlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtaW8udXNlclBlcm1pc3Npb25zKHRoaXMuYXV0aC51c2VyLCB0aGlzLmZvcm0sIHN1Ym1pc3Npb24pLnRoZW4oKHBlcm1zKSA9PiB7XG4gICAgICAgIHRoaXMucGVybXMuZGVsZXRlID0gcGVybXMuZGVsZXRlO1xuICAgICAgICB0aGlzLnBlcm1zLmVkaXQgPSBwZXJtcy5lZGl0O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkRm9ybXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWlvLmxvYWRGb3Jtcyh7cGFyYW1zOiB7XG4gICAgICB0YWdzOiB0aGlzLmNvbmZpZy50YWdcbiAgICB9fSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKGZvcm06IGFueSkge1xuICAgIHJldHVybiB0aGlzLmZvcm1pby5jcmVhdGVmb3JtKGZvcm0pO1xuICB9XG59XG4iXX0=
@@ -1,86 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { Router, ActivatedRoute } from '@angular/router';
3
- import { FormManagerService } from '../form-manager.service';
4
- import { FormManagerConfig } from '../form-manager.config';
5
- import { FormioGridComponent } from '@formio/angular/grid';
6
- import { debounce } from 'lodash';
7
- export class FormManagerIndexComponent {
8
- constructor(service, route, router, config) {
9
- this.service = service;
10
- this.route = route;
11
- this.router = router;
12
- this.config = config;
13
- this.search = '';
14
- this.gridQuery = { tags: this.config.tag, type: 'form', sort: 'title' };
15
- this.onSearch = debounce(this.onSearch, 300);
16
- }
17
- loadGrid() {
18
- this.search = localStorage.getItem('searchInput');
19
- this.gridQuery = JSON.parse(localStorage.getItem('query')) || this.gridQuery;
20
- const currentPage = +localStorage.getItem('currentPage') || 0;
21
- this.formGrid
22
- .refreshGrid(this.gridQuery)
23
- .then(() => this.formGrid.setPage(currentPage - 1));
24
- }
25
- ngOnInit() {
26
- this.gridQuery = { tags: this.config.tag, type: 'form', sort: 'title' };
27
- this.service.reset();
28
- this.service.ready.then(() => {
29
- this.loadGrid();
30
- this.formGrid.footer.pageChanged.subscribe(page => {
31
- localStorage.setItem('currentPage', page.page);
32
- });
33
- });
34
- }
35
- onSearch(event) {
36
- const searchInput = this.search;
37
- if (searchInput.length > 0) {
38
- this.gridQuery.skip = 0;
39
- this.gridQuery.title__regex = '/' + searchInput + '/i';
40
- this.gridQuery.title__regex = '/' + searchInput.trim() + '/i';
41
- }
42
- else {
43
- delete this.gridQuery.title__regex;
44
- }
45
- localStorage.setItem('query', JSON.stringify(this.gridQuery));
46
- localStorage.setItem('searchInput', this.search);
47
- this.formGrid.pageChanged({ page: 1, itemPerPage: this.gridQuery.limit });
48
- this.formGrid.refreshGrid(this.gridQuery);
49
- }
50
- clearSearch() {
51
- this.gridQuery = { tags: this.config.tag, type: 'form', sort: 'title' };
52
- localStorage.removeItem('query');
53
- localStorage.removeItem('searchInput');
54
- localStorage.removeItem('currentPage');
55
- this.search = '';
56
- this.formGrid.pageChanged({ page: 1 });
57
- this.formGrid.query = {};
58
- this.formGrid.refreshGrid({ tags: this.config.tag, type: 'form', sort: 'title' });
59
- }
60
- onAction(action) {
61
- this.service.form = null; // Reset previous form data
62
- this.router.navigate([action.row._id, action.action], { relativeTo: this.route });
63
- }
64
- onSelect(row) {
65
- this.router.navigate([row._id], { relativeTo: this.route });
66
- }
67
- onCreateItem() {
68
- this.router.navigate(['create'], { relativeTo: this.route });
69
- }
70
- }
71
- FormManagerIndexComponent.decorators = [
72
- { type: Component, args: [{
73
- template: "<div role=\"search\" class=\"input-group mb-3\" *ngIf=\"config.includeSearch\">\n <input type=\"text\" (keyup)=\"onSearch()\" class=\"form-control\" [(ngModel)]=\"search\" placeholder=\"Search Forms\" aria-label=\"Search Forms\" aria-describedby=\"button-search\">\n <span *ngIf=\"search && search !== ''\" class=\"form-clear input-group-addon\" (click)=\"clearSearch()\"><span class=\"fa fa-times\"></span></span>\n</div>\n<formio-grid\n *ngIf=\"service.ready\"\n [formio]=\"service.formio\"\n [gridType]=\"'form'\"\n [query]=\"gridQuery\"\n [isActionAllowed]=\"service.actionAllowed\"\n (rowAction)=\"onAction($event)\"\n (rowSelect)=\"onSelect($event)\"\n (createItem)=\"onCreateItem()\"\n></formio-grid>\n",
74
- styles: [".form-clear{background:#cecece;border-radius:50%;bottom:8px;color:#0000004d;cursor:pointer;display:flex;justify-content:center;align-items:center;padding-bottom:2px;height:24px;position:absolute;right:10px;top:6px;width:24px;z-index:10}.form-clear .fa{font-size:16px;font-weight:500}\n"]
75
- },] }
76
- ];
77
- FormManagerIndexComponent.ctorParameters = () => [
78
- { type: FormManagerService },
79
- { type: ActivatedRoute },
80
- { type: Router },
81
- { type: FormManagerConfig }
82
- ];
83
- FormManagerIndexComponent.propDecorators = {
84
- formGrid: [{ type: ViewChild, args: [FormioGridComponent, { static: false },] }]
85
- };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvaW5kZXgvaW5kZXguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQU1sQyxNQUFNLE9BQU8seUJBQXlCO0lBSXBDLFlBQ1MsT0FBMkIsRUFDM0IsS0FBcUIsRUFDckIsTUFBYyxFQUNkLE1BQXlCO1FBSHpCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUwzQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBT2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9B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LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJDb25maWcgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuY29uZmlnJztcbmltcG9ydCB7IEZvcm1pb0dyaWRDb21wb25lbnQgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXIvZ3JpZCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmRleC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VySW5kZXhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKEZvcm1pb0dyaWRDb21wb25lbnQsIHtzdGF0aWM6IGZhbHNlfSkgZm9ybUdyaWQ6IEZvcm1pb0dyaWRDb21wb25lbnQ7XG4gIHB1YmxpYyBncmlkUXVlcnk6IGFueTtcbiAgcHVibGljIHNlYXJjaCA9ICcnO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogRm9ybU1hbmFnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1NYW5hZ2VyQ29uZmlnXG4gICkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5ID0ge3RhZ3M6IHRoaXMuY29uZmlnLnRhZywgdHlwZTogJ2Zvcm0nLCBzb3J0OiAndGl0bGUnfTtcbiAgICB0aGlzLm9uU2VhcmNoID0gZGVib3VuY2UodGhpcy5vblNlYXJjaCwgMzAwKTtcbiAgfVxuXG4gIGxvYWRHcmlkKCkge1xuICAgIHRoaXMuc2VhcmNoID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3NlYXJjaElucHV0Jyk7XG4gICAgdGhpcy5ncmlkUXVlcnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdxdWVyeScpKSB8fCB0aGlzLmdyaWRRdWVyeTtcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFBhZ2UnKSB8fCAwO1xuICAgIHRoaXMuZm9ybUdyaWRcbiAgICAgIC5yZWZyZXNoR3JpZCh0aGlzLmdyaWRRdWVyeSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMuZm9ybUdyaWQuc2V0UGFnZShjdXJyZW50UGFnZSAtIDEpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ3JpZFF1ZXJ5ID0ge3RhZ3M6IHRoaXMuY29uZmlnLnRhZywgdHlwZTogJ2Zvcm0nLCBzb3J0OiAndGl0bGUnfTtcbiAgICB0aGlzLnNlcnZpY2UucmVzZXQoKTtcbiAgICB0aGlzLnNlcnZpY2UucmVhZHkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRHcmlkKCk7XG4gICAgICB0aGlzLmZvcm1HcmlkLmZvb3Rlci5wYWdlQ2hhbmdlZC5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjdXJyZW50UGFnZScsIHBhZ2UucGFnZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uU2VhcmNoKGV2ZW50PzogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlYXJjaElucHV0ID0gdGhpcy5zZWFyY2g7XG4gICAgaWYgKHNlYXJjaElucHV0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZ3JpZFF1ZXJ5LnNraXAgPSAwO1xuICAgICAgdGhpcy5ncmlkUXVlcnkudGl0bGVfX3JlZ2V4ID0gJy8nICsgc2VhcmNoSW5wdXQgKyAnL2knO1xuICAgICAgdGhpcy5ncmlkUXVlcnkudGl0bGVfX3JlZ2V4ID0gJy8nICsgc2VhcmNoSW5wdXQudHJpbSgpICsgJy9pJztcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuZ3JpZFF1ZXJ5LnRpdGxlX19yZWdleDtcbiAgICB9XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3F1ZXJ5JywgSlNPTi5zdHJpbmdpZnkodGhpcy5ncmlkUXVlcnkpKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc2VhcmNoSW5wdXQnLCB0aGlzLnNlYXJjaCk7XG4gICAgdGhpcy5mb3JtR3JpZC5wYWdlQ2hhbmdlZCh7cGFnZTogMSwgaXRlbVBlclBhZ2U6IHRoaXMuZ3JpZFF1ZXJ5LmxpbWl0fSk7XG4gICAgdGhpcy5mb3JtR3JpZC5yZWZyZXNoR3JpZCh0aGlzLmdyaWRRdWVyeSk7XG4gIH1cblxuICBjbGVhclNlYXJjaCgpIHtcbiAgICB0aGlzLmdyaWRRdWVyeSA9IHt0YWdzOiB0aGlzLmNvbmZpZy50YWcsIHR5cGU6ICdmb3JtJywgc29ydDogJ3RpdGxlJ307XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3F1ZXJ5Jyk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3NlYXJjaElucHV0Jyk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2N1cnJlbnRQYWdlJyk7XG4gICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICB0aGlzLmZvcm1HcmlkLnBhZ2VDaGFuZ2VkKHtwYWdlOiAxfSk7XG4gICAgdGhpcy5mb3JtR3JpZC5xdWVyeSA9IHt9O1xuICAgIHRoaXMuZm9ybUdyaWQucmVmcmVzaEdyaWQoe3RhZ3M6IHRoaXMuY29uZmlnLnRhZywgdHlwZTogJ2Zvcm0nLCBzb3J0OiAndGl0bGUnfSk7XG4gIH1cblxuICBvbkFjdGlvbihhY3Rpb246IGFueSkge1xuICAgIHRoaXMuc2VydmljZS5mb3JtID0gbnVsbDsgLy8gUmVzZXQgcHJldmlvdXMgZm9ybSBkYXRhXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2FjdGlvbi5yb3cuX2lkLCBhY3Rpb24uYWN0aW9uXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgb25TZWxlY3Qocm93OiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm93Ll9pZF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIG9uQ3JlYXRlSXRlbSgpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2NyZWF0ZSddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cbn1cbiJdfQ==