@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
@@ -0,0 +1,144 @@
1
+ // @ts-nocheck
2
+ import { Components, Utils as FormioUtils } from 'formiojs';
3
+ import { clone, isNil, isArray } from 'lodash';
4
+ const BaseInputComponent = Components.components.input;
5
+ const TextfieldComponent = Components.components.textfield;
6
+ export function createCustomFormioComponent(customComponentOptions) {
7
+ var _a;
8
+ return _a = class CustomComponent extends BaseInputComponent {
9
+ constructor(component, options, data) {
10
+ super(component, {
11
+ ...options,
12
+ sanitizeConfig: {
13
+ addTags: [customComponentOptions.selector],
14
+ },
15
+ }, data);
16
+ this.component = component;
17
+ this.id = FormioUtils.getRandomComponentId();
18
+ this.type = customComponentOptions.type;
19
+ if (customComponentOptions.extraValidators) {
20
+ this.validators = this.validators.concat(customComponentOptions.extraValidators);
21
+ }
22
+ }
23
+ static schema() {
24
+ return BaseInputComponent.schema({
25
+ ...customComponentOptions.schema,
26
+ type: customComponentOptions.type,
27
+ });
28
+ }
29
+ get defaultSchema() {
30
+ return CustomComponent.schema();
31
+ }
32
+ get emptyValue() {
33
+ return customComponentOptions.emptyValue || null;
34
+ }
35
+ static get builderInfo() {
36
+ return {
37
+ title: customComponentOptions.title,
38
+ group: customComponentOptions.group,
39
+ icon: customComponentOptions.icon,
40
+ weight: customComponentOptions.weight,
41
+ documentation: customComponentOptions.documentation,
42
+ schema: CustomComponent.schema(),
43
+ };
44
+ }
45
+ elementInfo() {
46
+ const info = super.elementInfo();
47
+ info.type = customComponentOptions.selector;
48
+ info.changeEvent = customComponentOptions.changeEvent || 'valueChange';
49
+ info.attr = {
50
+ ...info.attr,
51
+ class: info.attr.class.replace('form-control', 'form-control-custom-field') // remove the form-control class as the custom angular component may look different
52
+ };
53
+ return info;
54
+ }
55
+ get inputInfo() {
56
+ const info = {
57
+ id: this.key,
58
+ ...this.elementInfo()
59
+ };
60
+ return info;
61
+ }
62
+ renderElement(value, index) {
63
+ const info = this.inputInfo;
64
+ return this.renderTemplate(customComponentOptions.template || 'input', {
65
+ input: info,
66
+ value,
67
+ index
68
+ });
69
+ }
70
+ attach(element) {
71
+ let superAttach = super.attach(element);
72
+ this._customAngularElement = element.querySelector(customComponentOptions.selector);
73
+ // Bind the custom options and the validations to the Angular component's inputs (flattened)
74
+ if (this._customAngularElement) {
75
+ // To make sure we have working input in IE...
76
+ // IE doesn't render it properly if it's not visible on the screen
77
+ // due to the whole structure applied via innerHTML to the parent
78
+ // so we need to use appendChild
79
+ if (!this._customAngularElement.getAttribute('ng-version')) {
80
+ this._customAngularElement.removeAttribute('ref');
81
+ const newCustomElement = document.createElement(customComponentOptions.selector);
82
+ newCustomElement.setAttribute('ref', 'input');
83
+ Object.keys(this.inputInfo.attr).forEach((attr) => {
84
+ newCustomElement.setAttribute(attr, this.inputInfo.attr[attr]);
85
+ });
86
+ this._customAngularElement.appendChild(newCustomElement);
87
+ this._customAngularElement = newCustomElement;
88
+ superAttach = super.attach(element);
89
+ }
90
+ // Bind customOptions
91
+ for (const key in this.component.customOptions) {
92
+ if (this.component.customOptions.hasOwnProperty(key)) {
93
+ this._customAngularElement[key] = this.component.customOptions[key];
94
+ }
95
+ }
96
+ // Bind validate options
97
+ for (const key in this.component.validate) {
98
+ if (this.component.validate.hasOwnProperty(key)) {
99
+ this._customAngularElement[key] = this.component.validate[key];
100
+ }
101
+ }
102
+ // Bind options explicitly set
103
+ const fieldOptions = customComponentOptions.fieldOptions;
104
+ if (isArray(fieldOptions) && fieldOptions.length > 0) {
105
+ for (const key in fieldOptions) {
106
+ if (fieldOptions.hasOwnProperty(key)) {
107
+ this._customAngularElement[fieldOptions[key]] = this.component[fieldOptions[key]];
108
+ }
109
+ }
110
+ }
111
+ // Attach event listener for emit event
112
+ this._customAngularElement.addEventListener('formioEvent', (event) => {
113
+ this.emit(event.detail.eventName, {
114
+ ...event.detail.data,
115
+ component: this.component
116
+ });
117
+ });
118
+ // Ensure we bind the value (if it isn't a multiple-value component with no wrapper)
119
+ if (!this._customAngularElement.value && !this.component.disableMultiValueWrapper) {
120
+ this.restoreValue();
121
+ }
122
+ }
123
+ return superAttach;
124
+ }
125
+ // Add extra option to support multiple value (e.g. datagrid) with single angular component (disableMultiValueWrapper)
126
+ useWrapper() {
127
+ return this.component.hasOwnProperty('multiple') && this.component.multiple && !this.component.disableMultiValueWrapper;
128
+ }
129
+ get defaultValue() {
130
+ let defaultValue = this.emptyValue;
131
+ // handle falsy default value
132
+ if (!isNil(this.component.defaultValue)) {
133
+ defaultValue = this.component.defaultValue;
134
+ }
135
+ if (this.component.customDefaultValue && !this.options.preview) {
136
+ defaultValue = this.evaluate(this.component.customDefaultValue, { value: '' }, 'value');
137
+ }
138
+ return clone(defaultValue);
139
+ }
140
+ },
141
+ _a.editForm = customComponentOptions.editForm || TextfieldComponent.editForm,
142
+ _a;
143
+ }
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWN1c3RvbS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9zcmMvY3VzdG9tLWNvbXBvbmVudC9jcmVhdGUtY3VzdG9tLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsT0FBTyxFQUFlLFVBQVUsRUFBMkIsS0FBSyxJQUFJLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0MsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUN2RCxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBRTNELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxzQkFBaUQ7O0lBQzNGLFlBQU8sTUFBTSxlQUFnQixTQUFRLGtCQUFrQjtZQWdDckQsWUFBbUIsU0FBa0MsRUFBRSxPQUFZLEVBQUUsSUFBUztnQkFDNUUsS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDZixHQUFHLE9BQU87b0JBQ1YsY0FBYyxFQUFFO3dCQUNkLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztxQkFDM0M7aUJBQ0YsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFOUSxjQUFTLEdBQVQsU0FBUyxDQUF5QjtnQkE5QnJELE9BQUUsR0FBRyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDeEMsU0FBSSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQztnQkFxQ2pDLElBQUksc0JBQXNCLENBQUMsZUFBZSxFQUFFO29CQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDO2lC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SUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtvQkFDdkMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO2lCQUM1QztnQkFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtvQkFDOUQsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQ2pDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUNiLE9BQU8sQ0FDUixDQUFDO2lCQUNIO2dCQUVELE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdCLENBQUM7U0FDRjtRQWpLUSxXQUFRLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxJQUFJLGtCQUFrQixDQUFDLFFBQVM7V0FpS2pGO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBCdWlsZGVySW5mbywgQ29tcG9uZW50cywgRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEsIFV0aWxzIGFzIEZvcm1pb1V0aWxzIH0gZnJvbSAnZm9ybWlvanMnO1xuaW1wb3J0IHsgRm9ybWlvQ3VzdG9tQ29tcG9uZW50SW5mbywgRm9ybWlvQ3VzdG9tRWxlbWVudCwgRm9ybWlvRXZlbnQgfSBmcm9tICcuLi9lbGVtZW50cy5jb21tb24nO1xuaW1wb3J0IHsgY2xvbmUsIGlzTmlsLCBpc0FycmF5IH0gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgQmFzZUlucHV0Q29tcG9uZW50ID0gQ29tcG9uZW50cy5jb21wb25lbnRzLmlucHV0O1xuY29uc3QgVGV4dGZpZWxkQ29tcG9uZW50ID0gQ29tcG9uZW50cy5jb21wb25lbnRzLnRleHRmaWVsZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUN1c3RvbUZvcm1pb0NvbXBvbmVudChjdXN0b21Db21wb25lbnRPcHRpb25zOiBGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvKSB7XG4gIHJldHVybiBjbGFzcyBDdXN0b21Db21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQge1xuICAgIHN0YXRpYyBlZGl0Rm9ybSA9IGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuZWRpdEZvcm0gfHwgVGV4dGZpZWxkQ29tcG9uZW50LmVkaXRGb3JtO1xuICAgIGlkID0gRm9ybWlvVXRpbHMuZ2V0UmFuZG9tQ29tcG9uZW50SWQoKTtcbiAgICB0eXBlID0gY3VzdG9tQ29tcG9uZW50T3B0aW9ucy50eXBlO1xuICAgIF9jdXN0b21Bbmd1bGFyRWxlbWVudDogRm9ybWlvQ3VzdG9tRWxlbWVudDtcblxuICAgIHN0YXRpYyBzY2hlbWEoKSB7XG4gICAgICByZXR1cm4gQmFzZUlucHV0Q29tcG9uZW50LnNjaGVtYSh7XG4gICAgICAgIC4uLmN1c3RvbUNvbXBvbmVudE9wdGlvbnMuc2NoZW1hLFxuICAgICAgICB0eXBlOiBjdXN0b21Db21wb25lbnRPcHRpb25zLnR5cGUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdFNjaGVtYSgpIHtcbiAgICAgIHJldHVybiBDdXN0b21Db21wb25lbnQuc2NoZW1hKCk7XG4gICAgfVxuXG4gICAgZ2V0IGVtcHR5VmFsdWUoKSB7XG4gICAgICByZXR1cm4gY3VzdG9tQ29tcG9uZW50T3B0aW9ucy5lbXB0eVZhbHVlIHx8IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldCBidWlsZGVySW5mbygpOiBCdWlsZGVySW5mbyB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogY3VzdG9tQ29tcG9uZW50T3B0aW9ucy50aXRsZSxcbiAgICAgICAgZ3JvdXA6IGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuZ3JvdXAsXG4gICAgICAgIGljb246IGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuaWNvbixcbiAgICAgICAgd2VpZ2h0OiBjdXN0b21Db21wb25lbnRPcHRpb25zLndlaWdodCxcbiAgICAgICAgZG9jdW1lbnRhdGlvbjogY3VzdG9tQ29tcG9uZW50T3B0aW9ucy5kb2N1bWVudGF0aW9uLFxuICAgICAgICBzY2hlbWE6IEN1c3RvbUNvbXBvbmVudC5zY2hlbWEoKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEsIG9wdGlvbnM6IGFueSwgZGF0YTogYW55KSB7XG4gICAgICBzdXBlcihjb21wb25lbnQsIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgc2FuaXRpemVDb25maWc6IHtcbiAgICAgICAgICBhZGRUYWdzOiBbY3VzdG9tQ29tcG9uZW50T3B0aW9ucy5zZWxlY3Rvcl0sXG4gICAgICAgIH0sXG4gICAgICB9LCBkYXRhKTtcblxuICAgICAgaWYgKGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuZXh0cmFWYWxpZGF0b3JzKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IHRoaXMudmFsaWRhdG9ycy5jb25jYXQoY3VzdG9tQ29tcG9uZW50T3B0aW9ucy5leHRyYVZhbGlkYXRvcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVsZW1lbnRJbmZvKCkge1xuICAgICAgY29uc3QgaW5mbyA9IHN1cGVyLmVsZW1lbnRJbmZvKCk7XG4gICAgICBpbmZvLnR5cGUgPSBjdXN0b21Db21wb25lbnRPcHRpb25zLnNlbGVjdG9yO1xuICAgICAgaW5mby5jaGFuZ2VFdmVudCA9IGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuY2hhbmdlRXZlbnQgfHwgJ3ZhbHVlQ2hhbmdlJztcbiAgICAgIGluZm8uYXR0ciA9IHtcbiAgICAgICAgLi4uaW5mby5hdHRyLFxuICAgICAgICBjbGFzczogaW5mby5hdHRyLmNsYXNzLnJlcGxhY2UoJ2Zvcm0tY29udHJvbCcsICdmb3JtLWNvbnRyb2wtY3VzdG9tLWZpZWxkJykgLy8gcmVtb3ZlIHRoZSBmb3JtLWNvbnRyb2wgY2xhc3MgYXMgdGhlIGN1c3RvbSBhbmd1bGFyIGNvbXBvbmVudCBtYXkgbG9vayBkaWZmZXJlbnRcbiAgICAgIH07XG4gICAgICByZXR1cm4gaW5mbztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRJbmZvKCkge1xuICAgICAgY29uc3QgaW5mbyA9IHtcbiAgICAgICAgaWQ6IHRoaXMua2V5LFxuICAgICAgICAuLi50aGlzLmVsZW1lbnRJbmZvKClcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbmZvO1xuICAgIH1cblxuICAgIHJlbmRlckVsZW1lbnQodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgICAgY29uc3QgaW5mbyA9IHRoaXMuaW5wdXRJbmZvO1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyVGVtcGxhdGUoY3VzdG9tQ29tcG9uZW50T3B0aW9ucy50ZW1wbGF0ZSB8fCAnaW5wdXQnLCB7XG4gICAgICAgIGlucHV0OiBpbmZvLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgaW5kZXhcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF0dGFjaChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgbGV0IHN1cGVyQXR0YWNoID0gc3VwZXIuYXR0YWNoKGVsZW1lbnQpO1xuXG4gICAgICB0aGlzLl9jdXN0b21Bbmd1bGFyRWxlbWVudCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihjdXN0b21Db21wb25lbnRPcHRpb25zLnNlbGVjdG9yKTtcblxuICAgICAgLy8gQmluZCB0aGUgY3VzdG9tIG9wdGlvbnMgYW5kIHRoZSB2YWxpZGF0aW9ucyB0byB0aGUgQW5ndWxhciBjb21wb25lbnQncyBpbnB1dHMgKGZsYXR0ZW5lZClcbiAgICAgIGlmICh0aGlzLl9jdXN0b21Bbmd1bGFyRWxlbWVudCkge1xuICAgICAgICAvLyBUbyBtYWtlIHN1cmUgd2UgaGF2ZSB3b3JraW5nIGlucHV0IGluIElFLi4uXG4gICAgICAgIC8vIElFIGRvZXNuJ3QgcmVuZGVyIGl0IHByb3Blcmx5IGlmIGl0J3Mgbm90IHZpc2libGUgb24gdGhlIHNjcmVlblxuICAgICAgICAvLyBkdWUgdG8gdGhlIHdob2xlIHN0cnVjdHVyZSBhcHBsaWVkIHZpYSBpbm5lckhUTUwgdG8gdGhlIHBhcmVudFxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIHVzZSBhcHBlbmRDaGlsZFxuICAgICAgICBpZiAoIXRoaXMuX2N1c3RvbUFuZ3VsYXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnbmctdmVyc2lvbicpKSB7XG4gICAgICAgICAgdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdyZWYnKTtcblxuICAgICAgICAgIGNvbnN0IG5ld0N1c3RvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGN1c3RvbUNvbXBvbmVudE9wdGlvbnMuc2VsZWN0b3IpIGFzIEZvcm1pb0N1c3RvbUVsZW1lbnQ7XG5cbiAgICAgICAgICBuZXdDdXN0b21FbGVtZW50LnNldEF0dHJpYnV0ZSgncmVmJywgJ2lucHV0Jyk7XG4gICAgICAgICAgT2JqZWN0LmtleXModGhpcy5pbnB1dEluZm8uYXR0cikuZm9yRWFjaCgoYXR0cjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBuZXdDdXN0b21FbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLCB0aGlzLmlucHV0SW5mby5hdHRyW2F0dHJdKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2N1c3RvbUFuZ3VsYXJFbGVtZW50LmFwcGVuZENoaWxkKG5ld0N1c3RvbUVsZW1lbnQpO1xuICAgICAgICAgIHRoaXMuX2N1c3RvbUFuZ3VsYXJFbGVtZW50ID0gbmV3Q3VzdG9tRWxlbWVudDtcblxuICAgICAgICAgIHN1cGVyQXR0YWNoID0gc3VwZXIuYXR0YWNoKGVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmluZCBjdXN0b21PcHRpb25zXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY29tcG9uZW50LmN1c3RvbU9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb21wb25lbnQuY3VzdG9tT3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXN0b21Bbmd1bGFyRWxlbWVudFtrZXldID0gdGhpcy5jb21wb25lbnQuY3VzdG9tT3B0aW9uc1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBCaW5kIHZhbGlkYXRlIG9wdGlvbnNcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb21wb25lbnQudmFsaWRhdGUpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb21wb25lbnQudmFsaWRhdGUuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnRba2V5XSA9IHRoaXMuY29tcG9uZW50LnZhbGlkYXRlW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEJpbmQgb3B0aW9ucyBleHBsaWNpdGx5IHNldFxuICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBjdXN0b21Db21wb25lbnRPcHRpb25zLmZpZWxkT3B0aW9ucztcbiAgICAgICAgaWYgKGlzQXJyYXkoZmllbGRPcHRpb25zKSAmJiBmaWVsZE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZpZWxkT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKGZpZWxkT3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2N1c3RvbUFuZ3VsYXJFbGVtZW50W2ZpZWxkT3B0aW9uc1trZXldXSA9IHRoaXMuY29tcG9uZW50W2ZpZWxkT3B0aW9uc1trZXldXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdHRhY2ggZXZlbnQgbGlzdGVuZXIgZm9yIGVtaXQgZXZlbnRcbiAgICAgICAgdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9ybWlvRXZlbnQnLCAoZXZlbnQ6IEN1c3RvbUV2ZW50PEZvcm1pb0V2ZW50PikgPT4ge1xuICAgICAgICAgIHRoaXMuZW1pdChldmVudC5kZXRhaWwuZXZlbnROYW1lLCB7XG4gICAgICAgICAgICAuLi5ldmVudC5kZXRhaWwuZGF0YSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5jb21wb25lbnRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHdlIGJpbmQgdGhlIHZhbHVlIChpZiBpdCBpc24ndCBhIG11bHRpcGxlLXZhbHVlIGNvbXBvbmVudCB3aXRoIG5vIHdyYXBwZXIpXG4gICAgICAgIGlmICghdGhpcy5fY3VzdG9tQW5ndWxhckVsZW1lbnQudmFsdWUgJiYgIXRoaXMuY29tcG9uZW50LmRpc2FibGVNdWx0aVZhbHVlV3JhcHBlcikge1xuICAgICAgICAgIHRoaXMucmVzdG9yZVZhbHVlKCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyQXR0YWNoO1xuICAgIH1cblxuICAgIC8vIEFkZCBleHRyYSBvcHRpb24gdG8gc3VwcG9ydCBtdWx0aXBsZSB2YWx1ZSAoZS5nLiBkYXRhZ3JpZCkgd2l0aCBzaW5nbGUgYW5ndWxhciBjb21wb25lbnQgKGRpc2FibGVNdWx0aVZhbHVlV3JhcHBlcilcbiAgICB1c2VXcmFwcGVyKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lmhhc093blByb3BlcnR5KCdtdWx0aXBsZScpICYmIHRoaXMuY29tcG9uZW50Lm11bHRpcGxlICYmICF0aGlzLmNvbXBvbmVudC5kaXNhYmxlTXVsdGlWYWx1ZVdyYXBwZXI7XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRWYWx1ZSgpIHtcbiAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSB0aGlzLmVtcHR5VmFsdWU7XG5cbiAgICAgIC8vIGhhbmRsZSBmYWxzeSBkZWZhdWx0IHZhbHVlXG4gICAgICBpZiAoIWlzTmlsKHRoaXMuY29tcG9uZW50LmRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gdGhpcy5jb21wb25lbnQuZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb21wb25lbnQuY3VzdG9tRGVmYXVsdFZhbHVlICYmICF0aGlzLm9wdGlvbnMucHJldmlldykge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSB0aGlzLmV2YWx1YXRlKFxuICAgICAgICAgIHRoaXMuY29tcG9uZW50LmN1c3RvbURlZmF1bHRWYWx1ZSxcbiAgICAgICAgICB7IHZhbHVlOiAnJyB9LFxuICAgICAgICAgICd2YWx1ZSdcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNsb25lKGRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CustomTagsService {
4
+ constructor() {
5
+ this.tags = [];
6
+ }
7
+ addCustomTag(tag) {
8
+ this.tags.push(tag);
9
+ }
10
+ }
11
+ CustomTagsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CustomTagsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ CustomTagsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CustomTagsService });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CustomTagsService, decorators: [{
14
+ type: Injectable
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9jdXN0b20tY29tcG9uZW50L2N1c3RvbS10YWdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLFNBQUksR0FBYSxFQUFFLENBQUM7S0FLckI7SUFIQyxZQUFZLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDOzs4R0FMVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGFnc1NlcnZpY2Uge1xuICB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGFkZEN1c3RvbVRhZyh0YWc6IHN0cmluZykge1xuICAgIHRoaXMudGFncy5wdXNoKHRhZyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9zcmMvZm9ybWlvLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormioAppConfig {
4
+ constructor() {
5
+ this.appUrl = '';
6
+ this.apiUrl = '';
7
+ }
8
+ }
9
+ FormioAppConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioAppConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ FormioAppConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioAppConfig });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioAppConfig, decorators: [{
12
+ type: Injectable
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9mb3JtaW8uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRUUsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFdBQU0sR0FBRyxFQUFFLENBQUM7S0FHYjs7NEdBTFksZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtaW9BcHBDb25maWcge1xuICBhcHBVcmwgPSAnJztcbiAgYXBpVXJsID0gJyc7XG4gIGljb25zPzogc3RyaW5nO1xuICBmb3JtT25seT86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormioComponent } from './components/formio/formio.component';
4
+ import { FormBuilderComponent } from './components/formbuilder/formbuilder.component';
5
+ import { FormioAlerts } from './components/alerts/formio.alerts';
6
+ import { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';
7
+ import { FormioAlertsComponent } from './components/alerts/formio.alerts.component';
8
+ import { FormioLoaderComponent } from './components/loader/formio.loader.component';
9
+ import { CustomTagsService } from './custom-component/custom-tags.service';
10
+ import { FormioBaseComponent } from './FormioBaseComponent';
11
+ import * as i0 from "@angular/core";
12
+ export class FormioModule {
13
+ }
14
+ FormioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ FormioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioModule, declarations: [FormioComponent,
16
+ FormioBaseComponent,
17
+ FormBuilderComponent,
18
+ FormioLoaderComponent,
19
+ FormioAlertsComponent,
20
+ ParseHtmlContentPipe], imports: [CommonModule], exports: [FormioComponent,
21
+ FormBuilderComponent,
22
+ FormioLoaderComponent,
23
+ FormioAlertsComponent] });
24
+ FormioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioModule, providers: [
25
+ FormioAlerts,
26
+ CustomTagsService
27
+ ], imports: [[
28
+ CommonModule
29
+ ]] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormioModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: [
34
+ FormioComponent,
35
+ FormioBaseComponent,
36
+ FormBuilderComponent,
37
+ FormioLoaderComponent,
38
+ FormioAlertsComponent,
39
+ ParseHtmlContentPipe
40
+ ],
41
+ imports: [
42
+ CommonModule
43
+ ],
44
+ exports: [
45
+ FormioComponent,
46
+ FormBuilderComponent,
47
+ FormioLoaderComponent,
48
+ FormioAlertsComponent
49
+ ],
50
+ providers: [
51
+ FormioAlerts,
52
+ CustomTagsService
53
+ ],
54
+ entryComponents: [
55
+ FormioComponent,
56
+ FormBuilderComponent
57
+ ]
58
+ }]
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL3NyYy9mb3JtaW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBNkI1RCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQXpCckIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixvQkFBb0IsYUFHcEIsWUFBWSxhQUdaLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHFCQUFxQjswR0FXWixZQUFZLGFBVFo7UUFDVCxZQUFZO1FBQ1osaUJBQWlCO0tBQ2xCLFlBWlE7WUFDUCxZQUFZO1NBQ2I7MkZBZ0JVLFlBQVk7a0JBM0J4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIscUJBQXFCO3FCQUN0QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELGVBQWUsRUFBRTt3QkFDZixlQUFlO3dCQUNmLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1pb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtaW8vZm9ybWlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtYnVpbGRlci9mb3JtYnVpbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWlvQWxlcnRzIH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0cy9mb3JtaW8uYWxlcnRzJztcbmltcG9ydCB7IFBhcnNlSHRtbENvbnRlbnRQaXBlIH0gZnJvbSAnLi9jb21wb25lbnRzL2FsZXJ0cy9wYXJzZS1odG1sLWNvbnRlbnQucGlwZSc7XG5pbXBvcnQgeyBGb3JtaW9BbGVydHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxlcnRzL2Zvcm1pby5hbGVydHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1pb0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvZm9ybWlvLmxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVGFnc1NlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnQvY3VzdG9tLXRhZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtaW9CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9Gb3JtaW9CYXNlQ29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRm9ybWlvQ29tcG9uZW50LFxuICAgIEZvcm1pb0Jhc2VDb21wb25lbnQsXG4gICAgRm9ybUJ1aWxkZXJDb21wb25lbnQsXG4gICAgRm9ybWlvTG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1pb0FsZXJ0c0NvbXBvbmVudCxcbiAgICBQYXJzZUh0bWxDb250ZW50UGlwZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGb3JtaW9Db21wb25lbnQsXG4gICAgRm9ybUJ1aWxkZXJDb21wb25lbnQsXG4gICAgRm9ybWlvTG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1pb0FsZXJ0c0NvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtaW9BbGVydHMsXG4gICAgQ3VzdG9tVGFnc1NlcnZpY2VcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgRm9ybWlvQ29tcG9uZW50LFxuICAgIEZvcm1CdWlsZGVyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybWlvTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core';
2
+ import { each, clone } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./grid.service";
5
+ export class GridBodyComponent {
6
+ constructor(service) {
7
+ this.service = service;
8
+ this.firstItem = 0;
9
+ this.lastItem = 0;
10
+ this.skip = 0;
11
+ this.limit = 0;
12
+ this.total = 0;
13
+ this.rowSelect = new EventEmitter();
14
+ this.rowAction = new EventEmitter();
15
+ this.loading = true;
16
+ }
17
+ load(formio, query) {
18
+ return formio.loadForm(query);
19
+ }
20
+ onRowSelect(event, row) {
21
+ event.preventDefault();
22
+ this.rowSelect.emit(row);
23
+ }
24
+ onRowAction(event, row, action) {
25
+ event.preventDefault();
26
+ this.rowAction.emit({ row, action });
27
+ }
28
+ /**
29
+ * Set the rows for this Grid body.
30
+ *
31
+ * @param query
32
+ * @param items
33
+ * @return any
34
+ */
35
+ setRows(query, items) {
36
+ this.rows = [];
37
+ if (typeof items !== 'object') {
38
+ this.firstItem = 0;
39
+ this.lastItem = 0;
40
+ this.total = 0;
41
+ this.skip = 0;
42
+ this.loading = false;
43
+ this.service.setRows(this.rows);
44
+ return this.rows;
45
+ }
46
+ this.firstItem = query.skip + 1;
47
+ this.lastItem = this.firstItem + items.length - 1;
48
+ if (this.lastItem === 0) {
49
+ this.firstItem = 0;
50
+ }
51
+ this.total = items.serverCount;
52
+ this.limit = query.limit;
53
+ this.skip = Math.floor(items.skip / query.limit) + 1;
54
+ this.loading = false;
55
+ each(items, (item) => {
56
+ this.rows.push(clone(item));
57
+ });
58
+ this.service.setRows(this.rows);
59
+ return this.rows;
60
+ }
61
+ }
62
+ GridBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridBodyComponent, deps: [{ token: i1.GridService }], target: i0.ɵɵFactoryTarget.Component });
63
+ GridBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: GridBodyComponent, selector: "ng-component", inputs: { header: "header", actionAllowed: "actionAllowed" }, outputs: { rowSelect: "rowSelect", rowAction: "rowAction" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridBodyComponent, decorators: [{
65
+ type: Component,
66
+ args: [{
67
+ template: ''
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i1.GridService }]; }, propDecorators: { header: [{
70
+ type: Input
71
+ }], actionAllowed: [{
72
+ type: Input
73
+ }], rowSelect: [{
74
+ type: Output
75
+ }], rowAction: [{
76
+ type: Output
77
+ }], template: [{
78
+ type: ViewChild,
79
+ args: [TemplateRef, { static: true }]
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEJvZHlDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9HcmlkQm9keUNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQVFyQyxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFMaEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFVBQUssR0FBRyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBNEIsRUFBRSxLQUFXO1FBQzVDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUFVO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWYsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7OEdBckVVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHlOQUtqQixXQUFXLDhEQVBaLEVBQUU7MkZBRUQsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO2tHQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDaUMsUUFBUTtzQkFBL0MsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVhY2gsIGNsb25lIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEdyaWRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL0dyaWRIZWFkZXJDb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1pb1Byb21pc2VTZXJ2aWNlfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRCb2R5Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGVyOiBHcmlkSGVhZGVyQ29tcG9uZW50O1xuICBASW5wdXQoKSBhY3Rpb25BbGxvd2VkOiBhbnk7XG4gIEBPdXRwdXQoKSByb3dTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCkgcm93QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwge3N0YXRpYzogdHJ1ZX0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgcm93czogQXJyYXk8YW55PjtcbiAgcHVibGljIGxvYWRpbmc6IEJvb2xlYW47XG4gIHB1YmxpYyBmaXJzdEl0ZW0gPSAwO1xuICBwdWJsaWMgbGFzdEl0ZW0gPSAwO1xuICBwdWJsaWMgc2tpcCA9IDA7XG4gIHB1YmxpYyBsaW1pdCA9IDA7XG4gIHB1YmxpYyB0b3RhbCA9IDA7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBHcmlkU2VydmljZSkge1xuICAgIHRoaXMucm93U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMucm93QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gIH1cblxuICBsb2FkKGZvcm1pbzogRm9ybWlvUHJvbWlzZVNlcnZpY2UsIHF1ZXJ5PzogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gZm9ybWlvLmxvYWRGb3JtKHF1ZXJ5KTtcbiAgfVxuXG4gIG9uUm93U2VsZWN0KGV2ZW50LCByb3cpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucm93U2VsZWN0LmVtaXQocm93KTtcbiAgfVxuXG4gIG9uUm93QWN0aW9uKGV2ZW50LCByb3csIGFjdGlvbikge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yb3dBY3Rpb24uZW1pdCh7IHJvdywgYWN0aW9uIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcm93cyBmb3IgdGhpcyBHcmlkIGJvZHkuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcGFyYW0gaXRlbXNcbiAgICogQHJldHVybiBhbnlcbiAgICovXG4gIHNldFJvd3MocXVlcnk6IGFueSwgaXRlbXM6IGFueSkge1xuICAgIHRoaXMucm93cyA9IFtdO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVtcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuZmlyc3RJdGVtID0gMDtcbiAgICAgIHRoaXMubGFzdEl0ZW0gPSAwO1xuICAgICAgdGhpcy50b3RhbCA9IDA7XG4gICAgICB0aGlzLnNraXAgPSAwO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnNlcnZpY2Uuc2V0Um93cyh0aGlzLnJvd3MpO1xuICAgICAgXG4gICAgICByZXR1cm4gdGhpcy5yb3dzO1xuICAgIH1cblxuICAgIHRoaXMuZmlyc3RJdGVtID0gcXVlcnkuc2tpcCArIDE7XG4gICAgdGhpcy5sYXN0SXRlbSA9IHRoaXMuZmlyc3RJdGVtICsgaXRlbXMubGVuZ3RoIC0gMTtcbiAgICBpZiAodGhpcy5sYXN0SXRlbSA9PT0gMCkge1xuICAgICAgdGhpcy5maXJzdEl0ZW0gPSAwO1xuICAgIH1cbiAgICB0aGlzLnRvdGFsID0gaXRlbXMuc2VydmVyQ291bnQ7XG4gICAgdGhpcy5saW1pdCA9IHF1ZXJ5LmxpbWl0O1xuICAgIHRoaXMuc2tpcCA9IE1hdGguZmxvb3IoaXRlbXMuc2tpcCAvIHF1ZXJ5LmxpbWl0KSArIDE7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgZWFjaChpdGVtcywgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgdGhpcy5yb3dzLnB1c2goY2xvbmUoaXRlbSkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5zZXRSb3dzKHRoaXMucm93cyk7XG5cbiAgICByZXR1cm4gdGhpcy5yb3dzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { GridFooterPositions } from './types/grid-footer-positions';
2
+ import { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class GridFooterComponent {
5
+ constructor() {
6
+ this.footerPositions = GridFooterPositions;
7
+ this.pageChanged = new EventEmitter();
8
+ this.createItem = new EventEmitter();
9
+ }
10
+ }
11
+ GridFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ GridFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: GridFooterComponent, selector: "ng-component", inputs: { header: "header", body: "body", createText: "createText", size: "size", actionAllowed: "actionAllowed" }, outputs: { pageChanged: "pageChanged", createItem: "createItem" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridFooterComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ template: ''
17
+ }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { header: [{
19
+ type: Input
20
+ }], body: [{
21
+ type: Input
22
+ }], createText: [{
23
+ type: Input
24
+ }], size: [{
25
+ type: Input
26
+ }], actionAllowed: [{
27
+ type: Input
28
+ }], pageChanged: [{
29
+ type: Output
30
+ }], createItem: [{
31
+ type: Output
32
+ }], template: [{
33
+ type: ViewChild,
34
+ args: [TemplateRef, { static: true }]
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEZvb3RlckNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL0dyaWRGb290ZXJDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8vRixNQUFNLE9BQU8sbUJBQW1CO0lBWTlCO1FBRk8sb0JBQWUsR0FBRyxtQkFBbUIsQ0FBQztRQUczQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O2dIQWZVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFSQVFuQixXQUFXLDhEQVZaLEVBQUU7MkZBRUQsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzBFQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ2lDLFFBQVE7c0JBQS9DLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyaWRGb290ZXJQb3NpdGlvbnMgfSBmcm9tICcuL3R5cGVzL2dyaWQtZm9vdGVyLXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vR3JpZEhlYWRlckNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkQm9keUNvbXBvbmVudCB9IGZyb20gJy4vR3JpZEJvZHlDb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRGb290ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBoZWFkZXI6IEdyaWRIZWFkZXJDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGJvZHk6IEdyaWRCb2R5Q29tcG9uZW50O1xuICBASW5wdXQoKSBjcmVhdGVUZXh0OiBTdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgYWN0aW9uQWxsb3dlZDogYW55O1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCkgY3JlYXRlSXRlbTogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwdWJsaWMgZm9vdGVyUG9zaXRpb25zID0gR3JpZEZvb3RlclBvc2l0aW9ucztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMuY3JlYXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GridHeaderComponent {
4
+ constructor() {
5
+ this.headers = [];
6
+ this.sort = new EventEmitter();
7
+ }
8
+ get numHeaders() {
9
+ return this.headers.length;
10
+ }
11
+ load(formio, query, columns) {
12
+ return Promise.resolve([]);
13
+ }
14
+ }
15
+ GridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ GridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: GridHeaderComponent, selector: "ng-component", inputs: { actionAllowed: "actionAllowed" }, outputs: { sort: "sort" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GridHeaderComponent, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ template: ''
21
+ }]
22
+ }], ctorParameters: function () { return []; }, propDecorators: { actionAllowed: [{
23
+ type: Input
24
+ }], sort: [{
25
+ type: Output
26
+ }], template: [{
27
+ type: ViewChild,
28
+ args: [TemplateRef, { static: true }]
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZEhlYWRlckNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL0dyaWRIZWFkZXJDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8vRixNQUFNLE9BQU8sbUJBQW1CO0lBSzlCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBNEIsRUFBRSxLQUFXLEVBQUUsT0FBb0I7UUFDbEUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7O2dIQWhCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixxS0FHbkIsV0FBVyw4REFMWixFQUFFOzJGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFDaUMsUUFBUTtzQkFBL0MsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvUHJvbWlzZVNlcnZpY2V9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge0dyaWRIZWFkZXJ9IGZyb20gJy4vdHlwZXMvZ3JpZC1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRIZWFkZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBhY3Rpb25BbGxvd2VkOiBhbnk7XG4gIEBPdXRwdXQoKSBzb3J0OiBFdmVudEVtaXR0ZXI8R3JpZEhlYWRlcj47XG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGhlYWRlcnM6IEFycmF5PEdyaWRIZWFkZXI+O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmhlYWRlcnMgPSBbXTtcbiAgICB0aGlzLnNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBnZXQgbnVtSGVhZGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJzLmxlbmd0aDtcbiAgfVxuXG4gIGxvYWQoZm9ybWlvOiBGb3JtaW9Qcm9taXNlU2VydmljZSwgcXVlcnk/OiBhbnksIGNvbHVtbnM/OiBBcnJheTxhbnk+KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import { GridBodyComponent } from '../GridBodyComponent';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/router";
6
+ import * as i3 from "./time-since.pipe";
7
+ export class FormGridBodyComponent extends GridBodyComponent {
8
+ load(formio, query) {
9
+ query = query || {};
10
+ return formio.loadForms({ params: query }).then((forms) => this.setRows(query, forms));
11
+ }
12
+ }
13
+ FormGridBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
+ FormGridBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormGridBodyComponent, selector: "form-grid-body", usesInheritance: true, ngImport: i0, template: "<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-4\">\n <button *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil\"></span> Enter Data</button>&nbsp;\n <button *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt\"></span> View Data</button>&nbsp;\n <button *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit\"></span> Edit Form</button>&nbsp;\n <button *ngIf=\"actionAllowed('formPermission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'permissions')\"><span class=\"fa fa-lock\"></span> Permissions</button>&nbsp;\n <button *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-danger btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n", styles: [".form-btn{font-size:.75rem;margin:2px 0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "timeSince": i3.TimeSince } });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridBodyComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'form-grid-body', template: "<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-4\">\n <button *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil\"></span> Enter Data</button>&nbsp;\n <button *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt\"></span> View Data</button>&nbsp;\n <button *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit\"></span> Edit Form</button>&nbsp;\n <button *ngIf=\"actionAllowed('formPermission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'permissions')\"><span class=\"fa fa-lock\"></span> Permissions</button>&nbsp;\n <button *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-danger btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n", styles: [".form-btn{font-size:.75rem;margin:2px 0}\n"] }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2Zvcm0vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL2dyaWQvc3JjL2Zvcm0vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUXpELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBaUI7SUFDMUQsSUFBSSxDQUFDLE1BQTRCLEVBQUUsS0FBVztRQUM1QyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQzs7a0hBSlUscUJBQXFCO3NHQUFyQixxQkFBcUIsNkVDVGxDLDJwREF1QkE7MkZEZGEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZEJvZHlDb21wb25lbnQgfSBmcm9tICcuLi9HcmlkQm9keUNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtaW9Qcm9taXNlU2VydmljZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZ3JpZC1ib2R5JyxcbiAgc3R5bGVVcmxzOiBbJy4vRm9ybUdyaWRCb2R5LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9Gb3JtR3JpZEJvZHkuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HcmlkQm9keUNvbXBvbmVudCBleHRlbmRzIEdyaWRCb2R5Q29tcG9uZW50IHtcbiAgbG9hZChmb3JtaW86IEZvcm1pb1Byb21pc2VTZXJ2aWNlLCBxdWVyeT86IGFueSkge1xuICAgIHF1ZXJ5ID0gcXVlcnkgfHwge307XG4gICAgcmV0dXJuIGZvcm1pby5sb2FkRm9ybXMoeyBwYXJhbXM6IHF1ZXJ5IH0pLnRoZW4oKGZvcm1zOiBhbnkpID0+IHRoaXMuc2V0Um93cyhxdWVyeSwgZm9ybXMpKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICA8dGJvZHkgKm5nSWY9XCJyb3dzXCI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBmb3JtIG9mIHJvd3NcIj5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOFwiPlxuICAgICAgICAgICAgPGEgcm91dGVyTGluaz1cInt7Zm9ybS5faWR9fS92aWV3XCIgKGNsaWNrKT1cIm9uUm93U2VsZWN0KCRldmVudCwgZm9ybSlcIj48aDU+e3sgZm9ybS50aXRsZSB9fTwvaDU+PC9hPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdXBkYXRlZCBzbWFsbCB0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIFVwZGF0ZWQge3sgZm9ybS5tb2RpZmllZCB8IHRpbWVTaW5jZSB9fSBhZ29cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1WaWV3JylcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIGZvcm0tYnRuIGZvcm0tYnRuLXVzZVwiIChjbGljayk9XCJvblJvd0FjdGlvbigkZXZlbnQsIGZvcm0sICd2aWV3JylcIj48c3BhbiBjbGFzcz1cImZhIGZhLXBlbmNpbFwiPjwvc3Bhbj4gRW50ZXIgRGF0YTwvYnV0dG9uPiZuYnNwO1xuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1TdWJtaXNzaW9uJylcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIGZvcm0tYnRuXCIgKGNsaWNrKT1cIm9uUm93QWN0aW9uKCRldmVudCwgZm9ybSwgJ3N1Ym1pc3Npb24nKVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtbGlzdC1hbHRcIj48L3NwYW4+IFZpZXcgRGF0YTwvYnV0dG9uPiZuYnNwO1xuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1FZGl0JylcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIGZvcm0tYnRuXCIgKGNsaWNrKT1cIm9uUm93QWN0aW9uKCRldmVudCwgZm9ybSwgJ2VkaXQnKVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtZWRpdFwiPjwvc3Bhbj4gRWRpdCBGb3JtPC9idXR0b24+Jm5ic3A7XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9uQWxsb3dlZCgnZm9ybVBlcm1pc3Npb24nKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gZm9ybS1idG5cIiAoY2xpY2spPVwib25Sb3dBY3Rpb24oJGV2ZW50LCBmb3JtLCAncGVybWlzc2lvbnMnKVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtbG9ja1wiPjwvc3Bhbj4gUGVybWlzc2lvbnM8L2J1dHRvbj4mbmJzcDtcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhY3Rpb25BbGxvd2VkKCdmb3JtRGVsZXRlJylcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zbSBmb3JtLWJ0biBmb3JtLWJ0bi1kZWxldGVcIiAoY2xpY2spPVwib25Sb3dBY3Rpb24oJGV2ZW50LCBmb3JtLCAnZGVsZXRlJylcIiB0aXRsZT1cIkRlbGV0ZSBmb3JtXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaFwiPjwvc3Bhbj48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,26 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import { GridFooterComponent } from '../GridFooterComponent';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-bootstrap/pagination";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ export class FormGridFooterComponent extends GridFooterComponent {
8
+ constructor() {
9
+ super();
10
+ }
11
+ ngOnInit() {
12
+ if (!this.createText) {
13
+ this.createText = 'Create Form';
14
+ }
15
+ if (!this.size) {
16
+ this.size = 7;
17
+ }
18
+ }
19
+ }
20
+ FormGridFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ FormGridFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormGridFooterComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n", styles: ["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\n"], components: [{ type: i1.PaginationComponent, selector: "pagination", inputs: ["itemsPerPage", "totalItems", "maxSize", "rotate", "boundaryLinks", "directionLinks", "pageBtnClass", "align", "firstText", "previousText", "nextText", "lastText", "disabled", "customPageTemplate", "customNextTemplate", "customPreviousTemplate", "customFirstTemplate", "customLastTemplate"], outputs: ["numPages", "pageChanged"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridFooterComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ encapsulation: ViewEncapsulation.None, template: "<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use pull-left float-left\" (click)=\"createItem.emit('form')\"><em class=\"glyphicon glyphicon-plus fa fa-plus\"></em> {{ createText }}</button>\n <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n", styles: ["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-top:5px;margin-bottom:0}\n"] }]
25
+ }], ctorParameters: function () { return []; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRGb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvZm9ybS9Gb3JtR3JpZEZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9mb3JtL0Zvcm1HcmlkRm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBTzdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFFOUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDOztvSEFiVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyRUNScEMsaTRDQXFCQTsyRkRiYSx1QkFBdUI7a0JBTG5DLFNBQVM7b0NBR08saUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vR3JpZEZvb3RlckNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vRm9ybUdyaWRGb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vZ3JpZC5mb290ZXIuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HcmlkRm9vdGVyQ29tcG9uZW50IGV4dGVuZHMgR3JpZEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5jcmVhdGVUZXh0KSB7XG4gICAgICB0aGlzLmNyZWF0ZVRleHQgPSAnQ3JlYXRlIEZvcm0nO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc2l6ZSkge1xuICAgICAgdGhpcy5zaXplID0gNztcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjZm9vdGVyIGxldC1wb3NpdGlvbj1cInBvc2l0aW9uXCIgbGV0LWxhYmVsPVwibGFiZWxcIj5cbiAgPHRoZWFkIGNsYXNzPVwiZm9ybWlvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJwb3NpdGlvbiA9PT0gZm9vdGVyUG9zaXRpb25zLnRvcFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdEZvb3RlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbGFiZWw6IGxhYmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC90aGVhZD5cbiAgPHRmb290IGNsYXNzPVwiZm9ybWlvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJwb3NpdGlvbiA9PT0gZm9vdGVyUG9zaXRpb25zLmJvdHRvbVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdEZvb3RlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbGFiZWw6IGxhYmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC90Zm9vdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtbGFiZWw9XCJsYWJlbFwiICNkZWZhdWx0Rm9vdGVyVGVtcGxhdGU+XG4gIDx0cj5cbiAgICA8dGQgKm5nSWY9XCJoZWFkZXJcIiBbY29sU3Bhbl09XCJoZWFkZXIubnVtSGVhZGVyc1wiPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbkFsbG93ZWQoJ2Zvcm1DcmVhdGUnKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGZvcm0tYnRuLXVzZSBwdWxsLWxlZnQgZmxvYXQtbGVmdFwiIChjbGljayk9XCJjcmVhdGVJdGVtLmVtaXQoJ2Zvcm0nKVwiPjxlbSBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tcGx1cyBmYSBmYS1wbHVzXCI+PC9lbT4ge3sgY3JlYXRlVGV4dCB9fTwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLXJpZ2h0IGZsb2F0LXJpZ2h0IGl0ZW0tY291bnRlclwiPjxzcGFuIGNsYXNzPVwicGFnZS1udW1cIj57eyBib2R5LmZpcnN0SXRlbSB9fSAtIHt7IGJvZHkubGFzdEl0ZW0gfX08L3NwYW4+IC8ge3sgYm9keS50b3RhbCB9fSB0b3RhbDwvc3Bhbj5cbiAgICAgIDxzcGFuIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIiByb2xlPVwibmF2aWdhdGlvblwiPlxuICAgICAgICA8cGFnaW5hdGlvbiBbdG90YWxJdGVtc109XCJib2R5LnRvdGFsXCIgW2l0ZW1zUGVyUGFnZV09XCJib2R5LmxpbWl0XCIgWyhuZ01vZGVsKV09XCJib2R5LnNraXBcIiAocGFnZUNoYW5nZWQpPVwicGFnZUNoYW5nZWQuZW1pdCgkZXZlbnQpXCIgW21heFNpemVdPVwic2l6ZVwiIGNsYXNzPVwianVzdGlmeS1jb250ZW50LWNlbnRlciBwYWdpbmF0aW9uLXNtXCI+XG4gICAgICAgIDwvcGFnaW5hdGlvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3RkPlxuICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Component } from '@angular/core';
2
+ import { GridHeaderComponent } from '../GridHeaderComponent';
3
+ import { SortType } from '../types/grid-header';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class FormGridHeaderComponent extends GridHeaderComponent {
7
+ load(formio) {
8
+ this.header = {
9
+ label: 'Title',
10
+ key: 'title',
11
+ sort: SortType.ASC
12
+ };
13
+ this.headers = [this.header];
14
+ return Promise.resolve(this.headers);
15
+ }
16
+ get numHeaders() {
17
+ return 2;
18
+ }
19
+ }
20
+ FormGridHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
+ FormGridHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormGridHeaderComponent, selector: "form-grid-header", usesInheritance: true, ngImport: i0, template: "<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\" class=\"glyphicon fa\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-4\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormGridHeaderComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'form-grid-header', template: "<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-8\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\" class=\"glyphicon fa\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-4\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n" }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybUdyaWRIZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vZ3JpZC9zcmMvZm9ybS9Gb3JtR3JpZEhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9ncmlkL3NyYy9mb3JtL0Zvcm1HcmlkSGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFhLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQUU5RCxJQUFJLENBQUMsTUFBWTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLEdBQUcsRUFBRSxPQUFPO1lBQ1osSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHO1NBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7b0hBZFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsK0VDUnBDLDZrQkFrQkE7MkZEVmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3JpZEhlYWRlckNvbXBvbmVudH0gZnJvbSAnLi4vR3JpZEhlYWRlckNvbXBvbmVudCc7XG5pbXBvcnQge0dyaWRIZWFkZXIsIFNvcnRUeXBlfSBmcm9tICcuLi90eXBlcy9ncmlkLWhlYWRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZ3JpZC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vRm9ybUdyaWRIZWFkZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HcmlkSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgR3JpZEhlYWRlckNvbXBvbmVudCB7XG4gIHB1YmxpYyBoZWFkZXI6IEdyaWRIZWFkZXI7XG4gIGxvYWQoZm9ybWlvPzogYW55KSB7XG4gICAgdGhpcy5oZWFkZXIgPSB7XG4gICAgICBsYWJlbDogJ1RpdGxlJyxcbiAgICAgIGtleTogJ3RpdGxlJyxcbiAgICAgIHNvcnQ6IFNvcnRUeXBlLkFTQ1xuICAgIH07XG4gICAgdGhpcy5oZWFkZXJzID0gW3RoaXMuaGVhZGVyXTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuaGVhZGVycyk7XG4gIH1cblxuICBnZXQgbnVtSGVhZGVycygpIHtcbiAgICByZXR1cm4gMjtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgICAgICA8YSAoY2xpY2spPVwic29ydC5lbWl0KGhlYWRlcilcIj5cbiAgICAgICAgICAgICAge3sgaGVhZGVyLmxhYmVsIH19Jm5ic3A7PHNwYW4gW25nQ2xhc3NdPVwieydnbHlwaGljb24tdHJpYW5nbGUtdG9wIGZhLWNhcmV0LXVwJzogKGhlYWRlci5zb3J0ID09PSAnYXNjJyksICdnbHlwaGljb24tdHJpYW5nbGUtYm90dG9tIGZhLWNhcmV0LWRvd24nOiAoaGVhZGVyLnNvcnQgPT09ICdkZXNjJyl9XCIgY2xhc3M9XCJnbHlwaGljb24gZmFcIiAqbmdJZj1cImhlYWRlci5zb3J0XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxuICAgICAgICAgICAgT3BlcmF0aW9uc1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=