@formio/angular 5.2.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/FormioBaseComponent.d.ts +75 -0
  2. package/FormioBaseComponent.d.ts.map +1 -0
  3. package/FormioBaseComponent.ngfactory.d.ts.map +1 -0
  4. package/README.md +24 -0
  5. package/auth/auth.component.d.ts +3 -0
  6. package/auth/auth.component.d.ts.map +1 -0
  7. package/auth/auth.config.d.ts +60 -0
  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/auth/auth.routes.d.ts +4 -0
  12. package/auth/auth.routes.d.ts.map +1 -0
  13. package/auth/auth.service.d.ts +38 -0
  14. package/auth/auth.service.d.ts.map +1 -0
  15. package/auth/formio-angular-auth.d.ts +5 -0
  16. package/auth/formio-angular-auth.d.ts.map +1 -0
  17. package/auth/formio-angular-auth.metadata.json +1 -0
  18. package/auth/index.d.ts +9 -0
  19. package/auth/index.d.ts.map +1 -0
  20. package/auth/login/login.component.d.ts +6 -0
  21. package/auth/login/login.component.d.ts.map +1 -0
  22. package/auth/package.json +11 -0
  23. package/auth/public_api.d.ts +2 -0
  24. package/auth/public_api.d.ts.map +1 -0
  25. package/auth/register/register.component.d.ts +6 -0
  26. package/auth/register/register.component.d.ts.map +1 -0
  27. package/auth/resetpass/resetpass.component.d.ts +6 -0
  28. package/auth/resetpass/resetpass.component.d.ts.map +1 -0
  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/components/alerts/formio.alerts.component.d.ts.map +1 -0
  41. package/components/alerts/formio.alerts.component.ngfactory.d.ts.map +1 -0
  42. package/components/alerts/formio.alerts.d.ts +12 -0
  43. package/components/alerts/formio.alerts.d.ts.map +1 -0
  44. package/components/alerts/parse-html-content.pipe.d.ts +5 -0
  45. package/components/alerts/parse-html-content.pipe.d.ts.map +1 -0
  46. package/components/alerts/parse-html-content.pipe.ngfactory.d.ts.map +1 -0
  47. package/components/formbuilder/formbuilder.component.d.ts +34 -0
  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/components/formio/formio.component.d.ts +12 -0
  51. package/components/formio/formio.component.d.ts.map +1 -0
  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/core.d.ts +14 -0
  58. package/core.d.ts.map +1 -0
  59. package/custom-component/create-custom-component.d.ts +239 -0
  60. package/custom-component/create-custom-component.d.ts.map +1 -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/custom-component/register-custom-component.d.ts +7 -0
  65. package/custom-component/register-custom-component.d.ts.map +1 -0
  66. package/elements.common.d.ts +31 -0
  67. package/elements.common.d.ts.map +1 -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/esm2015/auth/auth.routes.js +32 -0
  73. package/esm2015/auth/auth.service.js +160 -0
  74. package/esm2015/auth/formio-angular-auth.js +5 -0
  75. package/esm2015/auth/index.js +9 -0
  76. package/esm2015/auth/login/login.component.js +16 -0
  77. package/esm2015/auth/public_api.js +5 -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/esm2015/components/alerts/formio.alerts.js +15 -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/esm2015/core.js +14 -0
  87. package/esm2015/custom-component/create-custom-component.js +130 -0
  88. package/esm2015/custom-component/custom-tags.service.js +13 -0
  89. package/esm2015/custom-component/register-custom-component.js +23 -0
  90. package/esm2015/elements.common.js +2 -0
  91. package/esm2015/formio-angular.js +7 -0
  92. package/esm2015/formio-promise.service.js +33 -0
  93. package/esm2015/formio.common.js +8 -0
  94. package/esm2015/formio.config.js +11 -0
  95. package/esm2015/formio.module.js +42 -0
  96. package/esm2015/formio.service.js +59 -0
  97. package/esm2015/formio.utils.js +21 -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/esm2015/grid/form/index.js +9 -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/esm2015/grid/index.js +13 -0
  111. package/esm2015/grid/public_api.js +5 -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/esm2015/grid/submission/index.js +9 -0
  116. package/esm2015/grid/types/grid-column.js +2 -0
  117. package/esm2015/grid/types/grid-footer-positions.js +7 -0
  118. package/esm2015/grid/types/grid-header.js +6 -0
  119. package/esm2015/index.js +5 -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/esm2015/manager/form-manager.routes.js +74 -0
  127. package/esm2015/manager/form-manager.service.js +180 -0
  128. package/esm2015/manager/formio-angular-manager.js +5 -0
  129. package/esm2015/manager/index/index.component.js +86 -0
  130. package/esm2015/manager/index.js +16 -0
  131. package/esm2015/manager/public_api.js +5 -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/esm2015/public-api.js +5 -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/esm2015/resource/formio-angular-resource.js +5 -0
  143. package/esm2015/resource/index/index.component.js +65 -0
  144. package/esm2015/resource/index.js +12 -0
  145. package/esm2015/resource/public_api.js +5 -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/esm2015/resource/resource.routes.js +42 -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/esm2015/types/alerts-position.js +8 -0
  154. package/esm2015/types/formio-metadata.js +2 -0
  155. package/esm2015/types/formio-submission.js +6 -0
  156. package/fesm2015/formio-angular-auth.js +285 -0
  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/formio-promise.service.d.ts +16 -0
  170. package/formio-promise.service.d.ts.map +1 -0
  171. package/formio.common.d.ts +64 -0
  172. package/formio.common.d.ts.map +1 -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/formio.module.d.ts.map +1 -0
  178. package/formio.module.ngfactory.d.ts.map +1 -0
  179. package/formio.service.d.ts +18 -0
  180. package/formio.service.d.ts.map +1 -0
  181. package/formio.utils.d.ts +2 -0
  182. package/formio.utils.d.ts.map +1 -0
  183. package/grid/GridBodyComponent.d.ts +32 -0
  184. package/grid/GridBodyComponent.d.ts.map +1 -0
  185. package/grid/GridBodyComponent.ngfactory.d.ts.map +1 -0
  186. package/grid/GridFooterComponent.d.ts +17 -0
  187. package/grid/GridFooterComponent.d.ts.map +1 -0
  188. package/grid/GridFooterComponent.ngfactory.d.ts.map +1 -0
  189. package/grid/GridHeaderComponent.d.ts +13 -0
  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/grid/form/FormGridBody.component.d.ts.map +1 -0
  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/grid/form/FormGridFooter.component.d.ts.map +1 -0
  198. package/grid/form/FormGridFooter.component.ngfactory.d.ts.map +1 -0
  199. package/grid/form/FormGridHeader.component.d.ts +8 -0
  200. package/grid/form/FormGridHeader.component.d.ts.map +1 -0
  201. package/grid/form/FormGridHeader.component.ngfactory.d.ts.map +1 -0
  202. package/grid/form/index.d.ts +10 -0
  203. package/grid/form/index.d.ts.map +1 -0
  204. package/grid/form/time-since.pipe.d.ts +5 -0
  205. package/grid/form/time-since.pipe.d.ts.map +1 -0
  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/grid/formio-angular-grid.d.ts.map +1 -0
  209. package/grid/formio-angular-grid.metadata.json +1 -0
  210. package/grid/grid.component.d.ts +56 -0
  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/grid/grid.module.d.ts.map +1 -0
  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/grid/index.d.ts +13 -0
  222. package/grid/index.d.ts.map +1 -0
  223. package/grid/package.json +11 -0
  224. package/grid/public_api.d.ts +2 -0
  225. package/grid/public_api.d.ts.map +1 -0
  226. package/grid/submission/SubmissionGridBody.component.d.ts +16 -0
  227. package/grid/submission/SubmissionGridBody.component.d.ts.map +1 -0
  228. package/grid/submission/SubmissionGridBody.component.ngfactory.d.ts.map +1 -0
  229. package/grid/submission/SubmissionGridFooter.component.d.ts +7 -0
  230. package/grid/submission/SubmissionGridFooter.component.d.ts.map +1 -0
  231. package/grid/submission/SubmissionGridFooter.component.ngfactory.d.ts.map +1 -0
  232. package/grid/submission/SubmissionGridHeader.component.d.ts +27 -0
  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/grid/submission/index.d.ts +10 -0
  236. package/grid/submission/index.d.ts.map +1 -0
  237. package/grid/types/grid-column.d.ts +7 -0
  238. package/grid/types/grid-column.d.ts.map +1 -0
  239. package/grid/types/grid-footer-positions.d.ts +6 -0
  240. package/grid/types/grid-footer-positions.d.ts.map +1 -0
  241. package/grid/types/grid-header.d.ts +13 -0
  242. package/grid/types/grid-header.d.ts.map +1 -0
  243. package/index.d.ts +6 -0
  244. package/index.d.ts.map +1 -0
  245. package/manager/create/create.component.d.ts +6 -0
  246. package/manager/create/create.component.d.ts.map +1 -0
  247. package/manager/delete/delete.component.d.ts +15 -0
  248. package/manager/delete/delete.component.d.ts.map +1 -0
  249. package/manager/edit/edit.component.d.ts +28 -0
  250. package/manager/edit/edit.component.d.ts.map +1 -0
  251. package/manager/form/form.component.d.ts +26 -0
  252. package/manager/form/form.component.d.ts.map +1 -0
  253. package/manager/form-manager.config.d.ts +23 -0
  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/manager/form-manager.routes.d.ts +4 -0
  258. package/manager/form-manager.routes.d.ts.map +1 -0
  259. package/manager/form-manager.service.d.ts +35 -0
  260. package/manager/form-manager.service.d.ts.map +1 -0
  261. package/manager/formio-angular-manager.d.ts +5 -0
  262. package/manager/formio-angular-manager.d.ts.map +1 -0
  263. package/manager/formio-angular-manager.metadata.json +1 -0
  264. package/manager/index/index.component.d.ts +23 -0
  265. package/manager/index/index.component.d.ts.map +1 -0
  266. package/manager/index.d.ts +17 -0
  267. package/manager/index.d.ts.map +1 -0
  268. package/manager/package.json +11 -0
  269. package/manager/public_api.d.ts +2 -0
  270. package/manager/public_api.d.ts.map +1 -0
  271. package/manager/submission/delete/delete.component.d.ts +13 -0
  272. package/manager/submission/delete/delete.component.d.ts.map +1 -0
  273. package/manager/submission/edit/edit.component.d.ts +10 -0
  274. package/manager/submission/edit/edit.component.d.ts.map +1 -0
  275. package/manager/submission/index/index.component.d.ts +10 -0
  276. package/manager/submission/index/index.component.d.ts.map +1 -0
  277. package/manager/submission/submission/submission.component.d.ts +12 -0
  278. package/manager/submission/submission/submission.component.d.ts.map +1 -0
  279. package/manager/submission/view/view.component.d.ts +6 -0
  280. package/manager/submission/view/view.component.d.ts.map +1 -0
  281. package/manager/view/view.component.d.ts +20 -0
  282. package/manager/view/view.component.d.ts.map +1 -0
  283. package/package.json +47 -0
  284. package/public-api.d.ts +2 -0
  285. package/public-api.d.ts.map +1 -0
  286. package/resource/create/create.component.d.ts +16 -0
  287. package/resource/create/create.component.d.ts.map +1 -0
  288. package/resource/delete/delete.component.d.ts +11 -0
  289. package/resource/delete/delete.component.d.ts.map +1 -0
  290. package/resource/edit/edit.component.d.ts +18 -0
  291. package/resource/edit/edit.component.d.ts.map +1 -0
  292. package/resource/formio-angular-resource.d.ts +5 -0
  293. package/resource/formio-angular-resource.d.ts.map +1 -0
  294. package/resource/formio-angular-resource.metadata.json +1 -0
  295. package/resource/index/index.component.d.ts +20 -0
  296. package/resource/index/index.component.d.ts.map +1 -0
  297. package/resource/index.d.ts +12 -0
  298. package/resource/index.d.ts.map +1 -0
  299. package/resource/package.json +11 -0
  300. package/resource/public_api.d.ts +2 -0
  301. package/resource/public_api.d.ts.map +1 -0
  302. package/resource/resource.component.d.ts +19 -0
  303. package/resource/resource.component.d.ts.map +1 -0
  304. package/resource/resource.config.d.ts +14 -0
  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/resource/resource.routes.d.ts +4 -0
  309. package/resource/resource.routes.d.ts.map +1 -0
  310. package/resource/resource.service.d.ts +46 -0
  311. package/resource/resource.service.d.ts.map +1 -0
  312. package/resource/resources.service.d.ts +13 -0
  313. package/resource/resources.service.d.ts.map +1 -0
  314. package/resource/view/view.component.d.ts +13 -0
  315. package/resource/view/view.component.d.ts.map +1 -0
  316. package/types/alerts-position.d.ts +7 -0
  317. package/types/alerts-position.d.ts.map +1 -0
  318. package/types/formio-metadata.d.ts +11 -0
  319. package/types/formio-metadata.d.ts.map +1 -0
  320. package/types/formio-submission.d.ts +19 -0
  321. package/types/formio-submission.d.ts.map +1 -0
@@ -0,0 +1,74 @@
1
+ import { FormManagerIndexComponent } from './index/index.component';
2
+ import { FormManagerCreateComponent } from './create/create.component';
3
+ import { FormManagerFormComponent } from './form/form.component';
4
+ import { FormManagerViewComponent } from './view/view.component';
5
+ import { FormManagerEditComponent } from './edit/edit.component';
6
+ import { FormManagerDeleteComponent } from './delete/delete.component';
7
+ import { SubmissionEditComponent } from './submission/edit/edit.component';
8
+ import { SubmissionDeleteComponent } from './submission/delete/delete.component';
9
+ import { SubmissionViewComponent } from './submission/view/view.component';
10
+ import { SubmissionIndexComponent } from './submission/index/index.component';
11
+ import { SubmissionComponent } from './submission/submission/submission.component';
12
+ export function FormManagerRoutes(config) {
13
+ return [
14
+ {
15
+ path: '',
16
+ component: config && config.formIndex ? config.formIndex : FormManagerIndexComponent
17
+ },
18
+ {
19
+ path: 'create',
20
+ component: config && config.formCreate ? config.formCreate : FormManagerCreateComponent
21
+ },
22
+ {
23
+ path: ':id',
24
+ component: config && config.form ? config.form : FormManagerFormComponent,
25
+ children: [
26
+ {
27
+ path: '',
28
+ redirectTo: 'view',
29
+ pathMatch: 'full'
30
+ },
31
+ {
32
+ path: 'view',
33
+ component: config && config.formView ? config.formView : FormManagerViewComponent
34
+ },
35
+ {
36
+ path: 'edit',
37
+ component: config && config.formEdit ? config.formEdit : FormManagerEditComponent
38
+ },
39
+ {
40
+ path: 'delete',
41
+ component: config && config.formDelete ? config.formDelete : FormManagerDeleteComponent
42
+ },
43
+ {
44
+ path: 'submission',
45
+ component: config && config.submissionIndex ? config.submissionIndex : SubmissionIndexComponent
46
+ },
47
+ {
48
+ path: 'submission/:id',
49
+ component: config && config.submission ? config.submission : SubmissionComponent,
50
+ children: [
51
+ {
52
+ path: '',
53
+ redirectTo: 'view',
54
+ pathMatch: 'full'
55
+ },
56
+ {
57
+ path: 'view',
58
+ component: config && config.submissionView ? config.submissionView : SubmissionViewComponent
59
+ },
60
+ {
61
+ path: 'edit',
62
+ component: config && config.submissionEdit ? config.submissionEdit : SubmissionEditComponent
63
+ },
64
+ {
65
+ path: 'delete',
66
+ component: config && config.submissionDelete ? config.submissionDelete : SubmissionDeleteComponent
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
72
+ ];
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQStCO0lBQy9ELE9BQU87UUFDTDtZQUNFLElBQUksRUFBRSxFQUFFO1lBQ1IsU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7U0FDckY7UUFDRDtZQUNFLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQywwQkFBMEI7U0FDeEY7UUFDRDtZQUNFLElBQUksRUFBRSxLQUFLO1lBQ1gsU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7WUFDekUsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxFQUFFO29CQUNSLFVBQVUsRUFBRSxNQUFNO29CQUNsQixTQUFTLEVBQUUsTUFBTTtpQkFDbEI7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7aUJBQ2xGO2dCQUNEO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLFNBQVMsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCO2lCQUNsRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtpQkFDeEY7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFNBQVMsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsd0JBQXdCO2lCQUNoRztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixTQUFTLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtvQkFDaEYsUUFBUSxFQUFFO3dCQUNSOzRCQUNFLElBQUksRUFBRSxFQUFFOzRCQUNSLFVBQVUsRUFBRSxNQUFNOzRCQUNsQixTQUFTLEVBQUUsTUFBTTt5QkFDbEI7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLE1BQU07NEJBQ1osU0FBUyxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7eUJBQzdGO3dCQUNEOzRCQUNFLElBQUksRUFBRSxNQUFNOzRCQUNaLFNBQVMsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO3lCQUM3Rjt3QkFDRDs0QkFDRSxJQUFJLEVBQUUsUUFBUTs0QkFDZCxTQUFTLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyx5QkFBeUI7eUJBQ25HO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VySW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2luZGV4L2luZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlL2NyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlldy92aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckVkaXRDb21wb25lbnQgfSBmcm9tICcuL2VkaXQvZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJEZWxldGVDb21wb25lbnQgfSBmcm9tICcuL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL2VkaXQvZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25JbmRleENvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9pbmRleC9pbmRleC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9zdWJtaXNzaW9uL3N1Ym1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyUm91dGVDb25maWcgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuZXhwb3J0IGZ1bmN0aW9uIEZvcm1NYW5hZ2VyUm91dGVzKGNvbmZpZz86IEZvcm1NYW5hZ2VyUm91dGVDb25maWcpOiBSb3V0ZXMge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHBhdGg6ICcnLFxuICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLmZvcm1JbmRleCA/IGNvbmZpZy5mb3JtSW5kZXggOiBGb3JtTWFuYWdlckluZGV4Q29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiAnY3JlYXRlJyxcbiAgICAgIGNvbXBvbmVudDogY29uZmlnICYmIGNvbmZpZy5mb3JtQ3JlYXRlID8gY29uZmlnLmZvcm1DcmVhdGUgOiBGb3JtTWFuYWdlckNyZWF0ZUNvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJzppZCcsXG4gICAgICBjb21wb25lbnQ6IGNvbmZpZyAmJiBjb25maWcuZm9ybSA/IGNvbmZpZy5mb3JtIDogRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIHJlZGlyZWN0VG86ICd2aWV3JyxcbiAgICAgICAgICBwYXRoTWF0Y2g6ICdmdWxsJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ3ZpZXcnLFxuICAgICAgICAgIGNvbXBvbmVudDogY29uZmlnICYmIGNvbmZpZy5mb3JtVmlldyA/IGNvbmZpZy5mb3JtVmlldyA6IEZvcm1NYW5hZ2VyVmlld0NvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ2VkaXQnLFxuICAgICAgICAgIGNvbXBvbmVudDogY29uZmlnICYmIGNvbmZpZy5mb3JtRWRpdCA/IGNvbmZpZy5mb3JtRWRpdCA6IEZvcm1NYW5hZ2VyRWRpdENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ2RlbGV0ZScsXG4gICAgICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLmZvcm1EZWxldGUgPyBjb25maWcuZm9ybURlbGV0ZSA6IEZvcm1NYW5hZ2VyRGVsZXRlQ29tcG9uZW50XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnc3VibWlzc2lvbicsXG4gICAgICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLnN1Ym1pc3Npb25JbmRleCA/IGNvbmZpZy5zdWJtaXNzaW9uSW5kZXggOiBTdWJtaXNzaW9uSW5kZXhDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICdzdWJtaXNzaW9uLzppZCcsXG4gICAgICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLnN1Ym1pc3Npb24gPyBjb25maWcuc3VibWlzc2lvbiA6IFN1Ym1pc3Npb25Db21wb25lbnQsXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgIHJlZGlyZWN0VG86ICd2aWV3JyxcbiAgICAgICAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHBhdGg6ICd2aWV3JyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLnN1Ym1pc3Npb25WaWV3ID8gY29uZmlnLnN1Ym1pc3Npb25WaWV3IDogU3VibWlzc2lvblZpZXdDb21wb25lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHBhdGg6ICdlZGl0JyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBjb25maWcgJiYgY29uZmlnLnN1Ym1pc3Npb25FZGl0ID8gY29uZmlnLnN1Ym1pc3Npb25FZGl0IDogU3VibWlzc2lvbkVkaXRDb21wb25lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHBhdGg6ICdkZWxldGUnLFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNvbmZpZyAmJiBjb25maWcuc3VibWlzc2lvbkRlbGV0ZSA/IGNvbmZpZy5zdWJtaXNzaW9uRGVsZXRlIDogU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgXTtcbn1cbiJdfQ==
@@ -0,0 +1,180 @@
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=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWFuZ3VsYXItbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm1pby1hbmd1bGFyLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,86 @@
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==
@@ -0,0 +1,16 @@
1
+ export { FormManagerConfig } from './form-manager.config';
2
+ export { FormManagerService } from './form-manager.service';
3
+ export { FormManagerRoutes } from './form-manager.routes';
4
+ export { FormManagerIndexComponent } from './index/index.component';
5
+ export { FormManagerCreateComponent } from './create/create.component';
6
+ export { FormManagerFormComponent } from './form/form.component';
7
+ export { FormManagerViewComponent } from './view/view.component';
8
+ export { FormManagerEditComponent } from './edit/edit.component';
9
+ export { FormManagerDeleteComponent } from './delete/delete.component';
10
+ export { SubmissionEditComponent } from './submission/edit/edit.component';
11
+ export { SubmissionDeleteComponent } from './submission/delete/delete.component';
12
+ export { SubmissionViewComponent } from './submission/view/view.component';
13
+ export { SubmissionIndexComponent } from './submission/index/index.component';
14
+ export { SubmissionComponent } from './submission/submission/submission.component';
15
+ export { FormManagerModule } from './form-manager.module';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcm1NYW5hZ2VyQ29uZmlnIH0gZnJvbSAnLi9mb3JtLW1hbmFnZXIuY29uZmlnJztcbmV4cG9ydCB7IEZvcm1NYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHsgRm9ybU1hbmFnZXJSb3V0ZXMgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5yb3V0ZXMnO1xuZXhwb3J0IHsgRm9ybU1hbmFnZXJJbmRleENvbXBvbmVudCB9IGZyb20gJy4vaW5kZXgvaW5kZXguY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1NYW5hZ2VyQ3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUvY3JlYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtTWFuYWdlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybU1hbmFnZXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3L3ZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1NYW5hZ2VyRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC9lZGl0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtTWFuYWdlckRlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU3VibWlzc2lvbkVkaXRDb21wb25lbnQgfSBmcm9tICcuL3N1Ym1pc3Npb24vZWRpdC9lZGl0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTdWJtaXNzaW9uRGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7IFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL3ZpZXcvdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHsgU3VibWlzc2lvbkluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL2luZGV4L2luZGV4LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTdWJtaXNzaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXNzaW9uL3N1Ym1pc3Npb24vc3VibWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybU1hbmFnZXJSb3V0ZUNvbmZpZyB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLmNvbmZpZyc7XG5leHBvcnQgeyBGb3JtTWFuYWdlck1vZHVsZSB9IGZyb20gJy4vZm9ybS1tYW5hZ2VyLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of @formio/angular
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQGZvcm1pby9hbmd1bGFyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { FormioAlerts } from '@formio/angular';
5
+ export class SubmissionDeleteComponent {
6
+ constructor(service, router, route, alerts) {
7
+ this.service = service;
8
+ this.router = router;
9
+ this.route = route;
10
+ this.alerts = alerts;
11
+ }
12
+ onDelete() {
13
+ this.service.formio.deleteSubmission().then(() => {
14
+ this.router.navigate(['../../'], { relativeTo: this.route });
15
+ }).catch(err => this.alerts.setAlert({ type: 'danger', message: (err.message || err) }));
16
+ }
17
+ onCancel() {
18
+ this.router.navigate(['../', 'view'], { relativeTo: this.route });
19
+ }
20
+ }
21
+ SubmissionDeleteComponent.decorators = [
22
+ { type: Component, args: [{
23
+ template: "<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-default\">No</button>\n</div>\n"
24
+ },] }
25
+ ];
26
+ SubmissionDeleteComponent.ctorParameters = () => [
27
+ { type: FormManagerService },
28
+ { type: Router },
29
+ { type: ActivatedRoute },
30
+ { type: FormioAlerts }
31
+ ];
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL3N1Ym1pc3Npb24vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUsvQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQ1MsT0FBMkIsRUFDM0IsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLE1BQW9CO1FBSHBCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBQzFCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULDJXQUFzQzthQUN2Qzs7O1lBTlEsa0JBQWtCO1lBQ0YsTUFBTTtZQUF0QixjQUFjO1lBQ2QsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtaW9BbGVydHMgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RlbGV0ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtTWFuYWdlclNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIGFsZXJ0czogRm9ybWlvQWxlcnRzXG4gICkge31cblxuICBvbkRlbGV0ZSgpIHtcbiAgICB0aGlzLnNlcnZpY2UuZm9ybWlvLmRlbGV0ZVN1Ym1pc3Npb24oKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vLi4vJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9KS5jYXRjaChlcnIgPT4gdGhpcy5hbGVydHMuc2V0QWxlcnQoe3R5cGU6ICdkYW5nZXInLCBtZXNzYWdlOiAoZXJyLm1lc3NhZ2UgfHwgZXJyKX0pKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJywgJ3ZpZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ export class SubmissionEditComponent {
5
+ constructor(service, router, route) {
6
+ this.service = service;
7
+ this.router = router;
8
+ this.route = route;
9
+ }
10
+ onSubmit(submission) {
11
+ this.router.navigate(['../../'], { relativeTo: this.route });
12
+ }
13
+ }
14
+ SubmissionEditComponent.decorators = [
15
+ { type: Component, args: [{
16
+ template: "<formio\n [renderer]=\"service.config.renderer\"\n [src]=\"service.formio.submissionUrl\"\n (submit)=\"onSubmit($event)\"\n (formLoad)=\"service.setForm($event)\"\n (submissionLoad)=\"service.submissionLoaded($event)\"\n></formio>\n"
17
+ },] }
18
+ ];
19
+ SubmissionEditComponent.ctorParameters = () => [
20
+ { type: FormManagerService },
21
+ { type: Router },
22
+ { type: ActivatedRoute }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9zdWJtaXNzaW9uL2VkaXQvZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBS3pELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDUyxPQUEyQixFQUMzQixNQUFjLEVBQ2QsS0FBcUI7UUFGckIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQzFCLENBQUM7SUFFTCxRQUFRLENBQUMsVUFBVTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7OztZQVpGLFNBQVMsU0FBQztnQkFDVCx5UEFBb0M7YUFDckM7OztZQUxRLGtCQUFrQjtZQUNGLE1BQU07WUFBdEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3VibWlzc2lvbkVkaXRDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogRm9ybU1hbmFnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgb25TdWJtaXQoc3VibWlzc2lvbikge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vLi4vJ10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Component } from '@angular/core';
2
+ import { Router, ActivatedRoute } from '@angular/router';
3
+ import { FormManagerService } from '../../form-manager.service';
4
+ export class SubmissionIndexComponent {
5
+ constructor(service, route, router) {
6
+ this.service = service;
7
+ this.route = route;
8
+ this.router = router;
9
+ }
10
+ onSelect(row) {
11
+ this.router.navigate([row._id, 'view'], { relativeTo: this.route });
12
+ }
13
+ }
14
+ SubmissionIndexComponent.decorators = [
15
+ { type: Component, args: [{
16
+ template: "<formio-grid [formio]=\"service.formio\" (rowSelect)=\"onSelect($event)\"></formio-grid>\n"
17
+ },] }
18
+ ];
19
+ SubmissionIndexComponent.ctorParameters = () => [
20
+ { type: FormManagerService },
21
+ { type: ActivatedRoute },
22
+ { type: Router }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvc3VibWlzc2lvbi9pbmRleC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS2hFLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDUyxPQUEyQixFQUMzQixLQUFxQixFQUNyQixNQUFjO1FBRmQsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNwQixDQUFDO0lBRUosUUFBUSxDQUFDLEdBQVE7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7O1lBWkYsU0FBUyxTQUFDO2dCQUNULHNHQUFxQzthQUN0Qzs7O1lBSlEsa0JBQWtCO1lBRFYsY0FBYztZQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2Zvcm0tbWFuYWdlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3VibWlzc2lvbkluZGV4Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1NYW5hZ2VyU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgb25TZWxlY3Qocm93OiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm93Ll9pZCwgJ3ZpZXcnXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGV9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ import { ActivatedRoute } from '@angular/router';
4
+ export class SubmissionComponent {
5
+ constructor(service, route) {
6
+ this.service = service;
7
+ this.route = route;
8
+ }
9
+ setDownloadUrl(url) {
10
+ this.downloadUrl = url;
11
+ }
12
+ ngOnInit() {
13
+ this.service.setSubmission(this.route).then((formio) => {
14
+ formio.getDownloadUrl().then((url) => this.setDownloadUrl(url));
15
+ });
16
+ }
17
+ }
18
+ SubmissionComponent.decorators = [
19
+ { type: Component, args: [{
20
+ template: "<a *ngIf=\"downloadUrl\" [href]=\"downloadUrl\" target=\"_blank\" class=\"pull-right\"><img src=\"https://pro.formview.io/assets/pdf.png\" style=\"height: 2em;\" /></a>\n<ul aria-label=\"Submission\" role=\"navigation\" class=\"nav nav-tabs\" style=\"margin-bottom:10px\">\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-eye glyphicon glyphicon-eye\"></i> View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><i class=\"fa fa-edit glyphicon glyphicon-edit\"></i> Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.perms.delete\"><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"
21
+ },] }
22
+ ];
23
+ SubmissionComponent.ctorParameters = () => [
24
+ { type: FormManagerService },
25
+ { type: ActivatedRoute }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9zdWJtaXNzaW9uL3N1Ym1pc3Npb24vc3VibWlzc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLakQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNTLE9BQTJCLEVBQzNCLEtBQXFCO1FBRHJCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQzFCLENBQUM7SUFFTCxjQUFjLENBQUMsR0FBRztRQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUMxRCxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFsQkYsU0FBUyxTQUFDO2dCQUNULHVsQ0FBMEM7YUFDM0M7OztZQUxRLGtCQUFrQjtZQUNsQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2Zvcm0tbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9zdWJtaXNzaW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdWJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtTWFuYWdlclNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHsgfVxuXG4gIHNldERvd25sb2FkVXJsKHVybCkge1xuICAgIHRoaXMuZG93bmxvYWRVcmwgPSB1cmw7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2Uuc2V0U3VibWlzc2lvbih0aGlzLnJvdXRlKS50aGVuKChmb3JtaW86IGFueSkgPT4ge1xuICAgICAgZm9ybWlvLmdldERvd25sb2FkVXJsKCkudGhlbigodXJsKSA9PiB0aGlzLnNldERvd25sb2FkVXJsKHVybCkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormManagerService } from '../../form-manager.service';
3
+ export class SubmissionViewComponent {
4
+ constructor(service) {
5
+ this.service = service;
6
+ }
7
+ }
8
+ SubmissionViewComponent.decorators = [
9
+ { type: Component, args: [{
10
+ template: "<formio\n [renderer]=\"service.config.renderer\"\n [src]=\"service.formio.submissionUrl\"\n [readOnly]=\"true\"\n (formLoad)=\"service.setForm($event)\"\n (submissionLoad)=\"service.submissionLoaded($event)\"\n></formio>\n"
11
+ },] }
12
+ ];
13
+ SubmissionViewComponent.ctorParameters = () => [
14
+ { type: FormManagerService }
15
+ ];
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9zdWJtaXNzaW9uL3ZpZXcvdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUtoRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUksQ0FBQzs7O1lBSnBELFNBQVMsU0FBQztnQkFDVCwrT0FBb0M7YUFDckM7OztZQUpRLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZm9ybS1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IEZvcm1NYW5hZ2VyU2VydmljZSkgeyB9XG59XG4iXX0=