@codetectonics/mantle 0.0.2 → 0.0.4

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 (272) hide show
  1. package/README.md +10 -49
  2. package/bundles/codetectonics-mantle.umd.js +6907 -0
  3. package/bundles/codetectonics-mantle.umd.js.map +1 -0
  4. package/esm2015/codetectonics-mantle.js +5 -0
  5. package/esm2015/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.js +24 -0
  6. package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +35 -0
  7. package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +133 -0
  8. package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +55 -0
  9. package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +23 -0
  10. package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +71 -0
  11. package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +26 -0
  12. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.js +30 -0
  13. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +58 -0
  14. package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +85 -0
  15. package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +29 -0
  16. package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +26 -0
  17. package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +25 -0
  18. package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +25 -0
  19. package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +77 -0
  20. package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +40 -0
  21. package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +23 -0
  22. package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +27 -0
  23. package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +40 -0
  24. package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +46 -0
  25. package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +37 -0
  26. package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +36 -0
  27. package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +30 -0
  28. package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +21 -0
  29. package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +33 -0
  30. package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +42 -0
  31. package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +53 -0
  32. package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +19 -0
  33. package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +37 -0
  34. package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +29 -0
  35. package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +28 -0
  36. package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +28 -0
  37. package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +91 -0
  38. package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +57 -0
  39. package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +52 -0
  40. package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +69 -0
  41. package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +84 -0
  42. package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +91 -0
  43. package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +92 -0
  44. package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +73 -0
  45. package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +37 -0
  46. package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +97 -0
  47. package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +52 -0
  48. package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +139 -0
  49. package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +53 -0
  50. package/esm2015/lib/components/form/fields/number-input/number-input.component.js +91 -0
  51. package/esm2015/lib/components/form/fields/password-input/password-input.component.js +58 -0
  52. package/esm2015/lib/components/form/fields/text-input/text-input.component.js +55 -0
  53. package/esm2015/lib/components/form/fields/textarea/textarea.component.js +58 -0
  54. package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +47 -0
  55. package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +69 -0
  56. package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +107 -0
  57. package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +24 -0
  58. package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +23 -0
  59. package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +24 -0
  60. package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +23 -0
  61. package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +38 -0
  62. package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +76 -0
  63. package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +76 -0
  64. package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +19 -0
  65. package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +21 -0
  66. package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +25 -0
  67. package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +102 -0
  68. package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +19 -0
  69. package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +74 -0
  70. package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +65 -0
  71. package/esm2015/lib/components/navigation/reroute/reroute.component.js +28 -0
  72. package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +34 -0
  73. package/esm2015/lib/components/pages/detail-page/detail-page.component.js +101 -0
  74. package/esm2015/lib/components/pages/documents-page/documents-page.component.js +109 -0
  75. package/esm2015/lib/components/pages/export-page/export-page.component.js +65 -0
  76. package/esm2015/lib/components/pages/form-page/form-page.component.js +133 -0
  77. package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +72 -0
  78. package/esm2015/lib/components/pages/list-page/list-page-datasource.js +62 -0
  79. package/esm2015/lib/components/pages/list-page/list-page.component.js +159 -0
  80. package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +35 -0
  81. package/esm2015/lib/components/titles/content-title/content-title.component.js +23 -0
  82. package/esm2015/lib/components/titles/page-title/page-title.component.js +28 -0
  83. package/esm2015/lib/components/titles/section-title/section-title.component.js +18 -0
  84. package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +36 -0
  85. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table-datasource.js +89 -0
  86. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +67 -0
  87. package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +42 -0
  88. package/esm2015/lib/components/widgets/loader/loader.component.js +21 -0
  89. package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +35 -0
  90. package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +67 -0
  91. package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +42 -0
  92. package/esm2015/lib/config/charts/column-chart.data.js +38 -0
  93. package/esm2015/lib/config/charts/gantt-chart.data.js +18 -0
  94. package/esm2015/lib/config/charts/pie-chart.data.js +21 -0
  95. package/esm2015/lib/config/charts/progress-bar-chart.data.js +50 -0
  96. package/esm2015/lib/config/charts/spline-chart.data.js +24 -0
  97. package/esm2015/lib/data-structures/dynamic-layout.structure.js +2 -0
  98. package/esm2015/lib/data-structures/file-attachment.structure.js +2 -0
  99. package/esm2015/lib/directives/click-stop-propagation.directive.js +19 -0
  100. package/esm2015/lib/directives/file-dropzone.directive.js +53 -0
  101. package/esm2015/lib/guards/feature.guard.js +42 -0
  102. package/esm2015/lib/guards/password-check.guard.js +21 -0
  103. package/esm2015/lib/guards/session.guard.js +21 -0
  104. package/esm2015/lib/mantle.module.js +518 -0
  105. package/esm2015/lib/material.module.js +290 -0
  106. package/esm2015/lib/models/screen-size-map.model.js +9 -0
  107. package/esm2015/lib/pipes/dynamic.pipe.js +45 -0
  108. package/esm2015/lib/pipes/secure-image.pipe.js +35 -0
  109. package/esm2015/lib/services/adapters/web-api-crud.adapter.js +22 -0
  110. package/esm2015/lib/services/adapters/websocket.adapter.js +2 -0
  111. package/esm2015/lib/services/announcement.service.js +43 -0
  112. package/esm2015/lib/services/array.service.js +82 -0
  113. package/esm2015/lib/services/chart.service.js +45 -0
  114. package/esm2015/lib/services/confirmation.service.js +45 -0
  115. package/esm2015/lib/services/current-user.service.js +120 -0
  116. package/esm2015/lib/services/dynamic-form.service.js +59 -0
  117. package/esm2015/lib/services/feature-config.service.js +240 -0
  118. package/esm2015/lib/services/interfaces/authorisable-feature.service.js +2 -0
  119. package/esm2015/lib/services/interfaces/dashboard-page.service.js +2 -0
  120. package/esm2015/lib/services/interfaces/dashboard-widget.service.js +2 -0
  121. package/esm2015/lib/services/interfaces/detail-page.service.js +2 -0
  122. package/esm2015/lib/services/interfaces/export-page.service.js +2 -0
  123. package/esm2015/lib/services/interfaces/form-page.service.js +2 -0
  124. package/esm2015/lib/services/interfaces/layout-editor-page.service.js +2 -0
  125. package/esm2015/lib/services/interfaces/list-page.service.js +2 -0
  126. package/esm2015/lib/services/interfaces/nav-tabs.service.js +2 -0
  127. package/esm2015/lib/services/interfaces/reroute.service.js +2 -0
  128. package/esm2015/lib/services/object.service.js +69 -0
  129. package/esm2015/lib/services/password-check.service.js +93 -0
  130. package/esm2015/lib/services/screen-size.service.js +41 -0
  131. package/esm2015/lib/services/web-api.service.js +99 -0
  132. package/esm2015/lib/services/websocket.service.js +58 -0
  133. package/esm2015/lib/tokens/environment.token.js +3 -0
  134. package/esm2015/public-api.js +133 -0
  135. package/fesm2015/codetectonics-mantle.js +5940 -0
  136. package/fesm2015/codetectonics-mantle.js.map +1 -0
  137. package/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.d.ts +11 -0
  138. package/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.d.ts +14 -0
  139. package/lib/components/dashboard/dashboard-card/dashboard-card.component.d.ts +41 -0
  140. package/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.d.ts +20 -0
  141. package/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.d.ts +10 -0
  142. package/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.d.ts +27 -0
  143. package/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.d.ts +8 -0
  144. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.d.ts +22 -0
  145. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +28 -0
  146. package/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.d.ts +20 -0
  147. package/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.d.ts +9 -0
  148. package/lib/components/details/containers/accordion-details-container/accordion-details-container.component.d.ts +11 -0
  149. package/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.d.ts +11 -0
  150. package/lib/components/details/containers/plain-details-container/plain-details-container.component.d.ts +11 -0
  151. package/lib/components/details/dialog-details/dialog-details.component.d.ts +36 -0
  152. package/lib/components/details/dialog-nested-details/dialog-nested-details.component.d.ts +22 -0
  153. package/lib/components/details/dynamic-details/dynamic-details.component.d.ts +10 -0
  154. package/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.d.ts +7 -0
  155. package/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.d.ts +9 -0
  156. package/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +15 -0
  157. package/lib/components/details/fields/file-attribute-display/file-attribute-display.component.d.ts +12 -0
  158. package/lib/components/details/fields/image-attribute-display/image-attribute-display.component.d.ts +12 -0
  159. package/lib/components/details/fields/link-attribute-display/link-attribute-display.component.d.ts +10 -0
  160. package/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.d.ts +6 -0
  161. package/lib/components/details/fields/thumbnail-display/thumbnail-display.component.d.ts +10 -0
  162. package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +17 -0
  163. package/lib/components/details/sections/grid-details-section/grid-details-section.component.d.ts +17 -0
  164. package/lib/components/details/sections/markdown-details-section/markdown-details-section.component.d.ts +7 -0
  165. package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +12 -0
  166. package/lib/components/form/containers/accordion-form-container/accordion-form-container.component.d.ts +13 -0
  167. package/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.d.ts +13 -0
  168. package/lib/components/form/containers/plain-form-container/plain-form-container.component.d.ts +13 -0
  169. package/lib/components/form/dialog-form/dialog-form.component.d.ts +39 -0
  170. package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +31 -0
  171. package/lib/components/form/dynamic-form/dynamic-form.component.d.ts +21 -0
  172. package/lib/components/form/fields/autocomplete-input/autocomplete-input.component.d.ts +32 -0
  173. package/lib/components/form/fields/chip-input/chip-input.component.d.ts +27 -0
  174. package/lib/components/form/fields/datepicker/datepicker.component.d.ts +24 -0
  175. package/lib/components/form/fields/datetimepicker/datetimepicker.component.d.ts +24 -0
  176. package/lib/components/form/fields/dropdown/dropdown.component.d.ts +31 -0
  177. package/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.d.ts +10 -0
  178. package/lib/components/form/fields/filepicker/filepicker.component.d.ts +27 -0
  179. package/lib/components/form/fields/image-cropper/image-cropper.component.d.ts +27 -0
  180. package/lib/components/form/fields/imagepicker/imagepicker.component.d.ts +41 -0
  181. package/lib/components/form/fields/markdown-input/markdown-input.component.d.ts +17 -0
  182. package/lib/components/form/fields/number-input/number-input.component.d.ts +27 -0
  183. package/lib/components/form/fields/password-input/password-input.component.d.ts +19 -0
  184. package/lib/components/form/fields/text-input/text-input.component.d.ts +18 -0
  185. package/lib/components/form/fields/textarea/textarea.component.d.ts +19 -0
  186. package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +19 -0
  187. package/lib/components/form/sections/grid-form-section/grid-form-section.component.d.ts +23 -0
  188. package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +22 -0
  189. package/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.d.ts +10 -0
  190. package/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.d.ts +10 -0
  191. package/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.d.ts +10 -0
  192. package/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.d.ts +10 -0
  193. package/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.d.ts +13 -0
  194. package/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.d.ts +14 -0
  195. package/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.d.ts +14 -0
  196. package/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.d.ts +8 -0
  197. package/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.d.ts +8 -0
  198. package/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.d.ts +10 -0
  199. package/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.d.ts +21 -0
  200. package/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.d.ts +7 -0
  201. package/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.d.ts +14 -0
  202. package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +46 -0
  203. package/lib/components/navigation/reroute/reroute.component.d.ts +14 -0
  204. package/lib/components/pages/dashboard-page/dashboard-page.component.d.ts +16 -0
  205. package/lib/components/pages/detail-page/detail-page.component.d.ts +35 -0
  206. package/lib/components/pages/documents-page/documents-page.component.d.ts +41 -0
  207. package/lib/components/pages/export-page/export-page.component.d.ts +29 -0
  208. package/lib/components/pages/form-page/form-page.component.d.ts +37 -0
  209. package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +26 -0
  210. package/lib/components/pages/list-page/list-page-datasource.d.ts +32 -0
  211. package/lib/components/pages/list-page/list-page.component.d.ts +46 -0
  212. package/lib/components/pages/tabbed-page/tabbed-page.component.d.ts +16 -0
  213. package/lib/components/titles/content-title/content-title.component.d.ts +8 -0
  214. package/lib/components/titles/page-title/page-title.component.d.ts +10 -0
  215. package/lib/components/titles/section-title/section-title.component.d.ts +7 -0
  216. package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +20 -0
  217. package/lib/components/widgets/dynamic-table/dynamic-table-datasource.d.ts +40 -0
  218. package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +30 -0
  219. package/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.d.ts +17 -0
  220. package/lib/components/widgets/loader/loader.component.d.ts +6 -0
  221. package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +16 -0
  222. package/lib/components/widgets/search-panel/search-panel.component.d.ts +21 -0
  223. package/lib/components/widgets/snackbar/snackbar.component.d.ts +11 -0
  224. package/lib/config/charts/column-chart.data.d.ts +37 -0
  225. package/lib/config/charts/gantt-chart.data.d.ts +17 -0
  226. package/lib/config/charts/pie-chart.data.d.ts +20 -0
  227. package/lib/config/charts/progress-bar-chart.data.d.ts +49 -0
  228. package/lib/config/charts/spline-chart.data.d.ts +23 -0
  229. package/lib/data-structures/dynamic-layout.structure.d.ts +161 -0
  230. package/lib/data-structures/file-attachment.structure.d.ts +6 -0
  231. package/lib/directives/click-stop-propagation.directive.d.ts +6 -0
  232. package/lib/directives/file-dropzone.directive.d.ts +12 -0
  233. package/lib/guards/feature.guard.d.ts +15 -0
  234. package/lib/guards/password-check.guard.d.ts +11 -0
  235. package/lib/guards/session.guard.d.ts +10 -0
  236. package/lib/mantle.module.d.ts +106 -0
  237. package/lib/material.module.d.ts +34 -0
  238. package/lib/models/screen-size-map.model.d.ts +13 -0
  239. package/lib/pipes/dynamic.pipe.d.ts +12 -0
  240. package/lib/pipes/secure-image.pipe.d.ts +11 -0
  241. package/lib/services/adapters/web-api-crud.adapter.d.ts +63 -0
  242. package/lib/services/adapters/websocket.adapter.d.ts +6 -0
  243. package/lib/services/announcement.service.d.ts +11 -0
  244. package/lib/services/array.service.d.ts +21 -0
  245. package/lib/services/chart.service.d.ts +14 -0
  246. package/lib/services/confirmation.service.d.ts +11 -0
  247. package/lib/services/current-user.service.d.ts +28 -0
  248. package/lib/services/dynamic-form.service.d.ts +30 -0
  249. package/lib/services/feature-config.service.d.ts +82 -0
  250. package/lib/services/interfaces/authorisable-feature.service.d.ts +5 -0
  251. package/lib/services/interfaces/dashboard-page.service.d.ts +13 -0
  252. package/lib/services/interfaces/dashboard-widget.service.d.ts +34 -0
  253. package/lib/services/interfaces/detail-page.service.d.ts +36 -0
  254. package/lib/services/interfaces/export-page.service.d.ts +6 -0
  255. package/lib/services/interfaces/form-page.service.d.ts +30 -0
  256. package/lib/services/interfaces/layout-editor-page.service.d.ts +14 -0
  257. package/lib/services/interfaces/list-page.service.d.ts +44 -0
  258. package/lib/services/interfaces/nav-tabs.service.d.ts +7 -0
  259. package/lib/services/interfaces/reroute.service.d.ts +3 -0
  260. package/lib/services/object.service.d.ts +11 -0
  261. package/lib/services/password-check.service.d.ts +21 -0
  262. package/lib/services/screen-size.service.d.ts +14 -0
  263. package/lib/services/web-api.service.d.ts +21 -0
  264. package/lib/services/websocket.service.d.ts +20 -0
  265. package/lib/tokens/environment.token.d.ts +2 -0
  266. package/package.json +33 -15
  267. package/public-api.d.ts +129 -2
  268. package/fesm2022/codetectonics-mantle.mjs +0 -42
  269. package/fesm2022/codetectonics-mantle.mjs.map +0 -1
  270. package/lib/mantle.component.d.ts +0 -5
  271. package/lib/mantle.service.d.ts +0 -6
  272. /package/{index.d.ts → codetectonics-mantle.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/card";
4
+ export class LayoutEditorWidgetElementComponent {
5
+ constructor() { }
6
+ }
7
+ LayoutEditorWidgetElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorWidgetElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ LayoutEditorWidgetElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LayoutEditorWidgetElementComponent, selector: "mantle-layout-editor-widget-element", inputs: { element: "element" }, ngImport: i0, template: "<mat-card class=\"widget-card\">\n <h4 class=\"label\">{{ element.widget_slug }}</h4>\n <h5 class=\"properties\"><b>{{ '{' }}</b> widget <b>{{ '}' }}</b></h5>\n</mat-card>\n", styles: [".widget-card{height:136px}.label{margin-bottom:0}.properties{padding-left:12px}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorWidgetElementComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'mantle-layout-editor-widget-element',
13
+ templateUrl: './layout-editor-widget-element.component.html',
14
+ styleUrls: ['./layout-editor-widget-element.component.scss']
15
+ }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { element: [{
17
+ type: Input
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWVkaXRvci13aWRnZXQtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC1lZGl0b3IvZWxlbWVudHMvbGF5b3V0LWVkaXRvci13aWRnZXQtZWxlbWVudC9sYXlvdXQtZWRpdG9yLXdpZGdldC1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9lbGVtZW50cy9sYXlvdXQtZWRpdG9yLXdpZGdldC1lbGVtZW50L2xheW91dC1lZGl0b3Itd2lkZ2V0LWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sa0NBQWtDO0lBSTdDLGdCQUFnQixDQUFDOztnSUFKTixrQ0FBa0M7b0hBQWxDLGtDQUFrQywyR0NSL0MsaUxBSUE7NEZESWEsa0NBQWtDO2tCQUw5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFdBQVcsRUFBRSwrQ0FBK0M7b0JBQzVELFNBQVMsRUFBRSxDQUFDLCtDQUErQyxDQUFDO2lCQUM3RDswRUFHVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0RWRpdG9yRGFzaGJvYXJkV2lkZ2V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1sYXlvdXQtZWRpdG9yLXdpZGdldC1lbGVtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1lZGl0b3Itd2lkZ2V0LWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtZWRpdG9yLXdpZGdldC1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0RWRpdG9yV2lkZ2V0RWxlbWVudENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZWxlbWVudCE6IER5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwid2lkZ2V0LWNhcmRcIj5cbiAgPGg0IGNsYXNzPVwibGFiZWxcIj57eyBlbGVtZW50LndpZGdldF9zbHVnIH19PC9oND5cbiAgPGg1IGNsYXNzPVwicHJvcGVydGllc1wiPjxiPnt7ICd7JyB9fTwvYj4gd2lkZ2V0IDxiPnt7ICd9JyB9fTwvYj48L2g1PlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/grid-list";
4
+ import * as i2 from "../../elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component";
5
+ import * as i3 from "@angular/common";
6
+ export class DashboardLayoutEditorSectionComponent {
7
+ constructor() { }
8
+ }
9
+ DashboardLayoutEditorSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DashboardLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ DashboardLayoutEditorSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DashboardLayoutEditorSectionComponent, selector: "mantle-dashboard-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mat-grid-list\n rowHeight=\"180px\"\n cols=\"1\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of section.dynamic_layout_dashboard_widgets_attributes\" [colspan]=\"1\" [rowspan]=\"1\">\n <mantle-dynamic-layout-editor-element\n [element]=\"widget\"\n elementType=\"widget\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n", styles: [""], components: [{ type: i1.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i1.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i2.DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DashboardLayoutEditorSectionComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'mantle-dashboard-layout-editor-section',
15
+ templateUrl: './dashboard-layout-editor-section.component.html',
16
+ styleUrls: ['./dashboard-layout-editor-section.component.scss']
17
+ }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { section: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC1lZGl0b3Ivc2VjdGlvbnMvZGFzaGJvYXJkLWxheW91dC1lZGl0b3Itc2VjdGlvbi9kYXNoYm9hcmQtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy9kYXNoYm9hcmQtbGF5b3V0LWVkaXRvci1zZWN0aW9uL2Rhc2hib2FyZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUWpELE1BQU0sT0FBTyxxQ0FBcUM7SUFJaEQsZ0JBQWdCLENBQUM7O21JQUpOLHFDQUFxQzt1SEFBckMscUNBQXFDLDhHQ1JsRCxzZUFlQTs0RkRQYSxxQ0FBcUM7a0JBTGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsV0FBVyxFQUFFLGtEQUFrRDtvQkFDL0QsU0FBUyxFQUFFLENBQUMsa0RBQWtELENBQUM7aUJBQ2hFOzBFQUdVLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRFZGl0b3JTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kYXNoYm9hcmQtbGF5b3V0LWVkaXRvci1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkTGF5b3V0RWRpdG9yU2VjdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRFZGl0b3JTZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmlkLWxheW91dC1lZGl0b3Itc2VjdGlvblwiPlxuICA8bWF0LWdyaWQtbGlzdFxuICAgICAgcm93SGVpZ2h0PVwiMTgwcHhcIlxuICAgICAgY29scz1cIjFcIlxuICAgICAgW2NsYXNzLm11bHRpLWNvbHVtbl09XCJ0cnVlXCI+XG5cbiAgICA8bWF0LWdyaWQtdGlsZSAqbmdGb3I9XCJsZXQgd2lkZ2V0IG9mIHNlY3Rpb24uZHluYW1pY19sYXlvdXRfZGFzaGJvYXJkX3dpZGdldHNfYXR0cmlidXRlc1wiIFtjb2xzcGFuXT1cIjFcIiBbcm93c3Bhbl09XCIxXCI+XG4gICAgICA8bWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1lbGVtZW50XG4gICAgICAgIFtlbGVtZW50XT1cIndpZGdldFwiXG4gICAgICAgIGVsZW1lbnRUeXBlPVwid2lkZ2V0XCI+XG4gICAgICA8L21hbnRsZS1keW5hbWljLWxheW91dC1lZGl0b3ItZWxlbWVudD5cbiAgICA8L21hdC1ncmlkLXRpbGU+XG5cbiAgPC9tYXQtZ3JpZC1saXN0PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../grid-layout-editor-section/grid-layout-editor-section.component";
4
+ import * as i2 from "../table-layout-editor-section/table-layout-editor-section.component";
5
+ import * as i3 from "../dashboard-layout-editor-section/dashboard-layout-editor-section.component";
6
+ import * as i4 from "../markdown-layout-editor-section/markdown-layout-editor-section.component";
7
+ import * as i5 from "@angular/common";
8
+ export class DynamicLayoutEditorSectionComponent {
9
+ constructor() { }
10
+ }
11
+ DynamicLayoutEditorSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ DynamicLayoutEditorSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: { layoutEditorPageService: "layoutEditorPageService", section: "section" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"section.layout_style\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-layout-editor-section\n [section]=\"section\">\n </mantle-grid-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-layout-editor-section\n [section]=\"section\">\n </mantle-table-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-layout-editor-section\n [section]=\"section\">\n </mantle-dashboard-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-layout-editor-section\n [section]=\"section\">\n </mantle-markdown-layout-editor-section>\n </ng-container>\n\n</ng-container>\n", styles: [""], components: [{ type: i1.GridLayoutEditorSectionComponent, selector: "mantle-grid-layout-editor-section", inputs: ["section", "defaultRowHeight"] }, { type: i2.TableLayoutEditorSectionComponent, selector: "mantle-table-layout-editor-section", inputs: ["section"] }, { type: i3.DashboardLayoutEditorSectionComponent, selector: "mantle-dashboard-layout-editor-section", inputs: ["section"] }, { type: i4.MarkdownLayoutEditorSectionComponent, selector: "mantle-markdown-layout-editor-section", inputs: ["section"] }], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorSectionComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: 'mantle-dynamic-layout-editor-section',
17
+ templateUrl: './dynamic-layout-editor-section.component.html',
18
+ styleUrls: ['./dynamic-layout-editor-section.component.scss']
19
+ }]
20
+ }], ctorParameters: function () { return []; }, propDecorators: { layoutEditorPageService: [{
21
+ type: Input
22
+ }], section: [{
23
+ type: Input
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQtZWRpdG9yLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL3NlY3Rpb25zL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy9keW5hbWljLWxheW91dC1lZGl0b3Itc2VjdGlvbi9keW5hbWljLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVNqRCxNQUFNLE9BQU8sbUNBQW1DO0lBSzlDLGdCQUFnQixDQUFDOztpSUFMTixtQ0FBbUM7cUhBQW5DLG1DQUFtQyxnS0NUaEQsK3lCQTJCQTs0RkRsQmEsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFdBQVcsRUFBRSxnREFBZ0Q7b0JBQzdELFNBQVMsRUFBRSxDQUFDLGdEQUFnRCxDQUFDO2lCQUM5RDswRUFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IExheW91dEVkaXRvclBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9sYXlvdXQtZWRpdG9yLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1keW5hbWljLWxheW91dC1lZGl0b3Itc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGxheW91dEVkaXRvclBhZ2VTZXJ2aWNlITogTGF5b3V0RWRpdG9yUGFnZVNlcnZpY2U7XG4gIEBJbnB1dCgpIHNlY3Rpb24hOiBEeW5hbWljTGF5b3V0RWRpdG9yU2VjdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLmxheW91dF9zdHlsZVwiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidncmlkJ1wiPlxuICAgIDxtYW50bGUtZ3JpZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb25cbiAgICAgICAgW3NlY3Rpb25dPVwic2VjdGlvblwiPlxuICAgIDwvbWFudGxlLWdyaWQtbGF5b3V0LWVkaXRvci1zZWN0aW9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCI+XG4gICAgPG1hbnRsZS10YWJsZS1sYXlvdXQtZWRpdG9yLXNlY3Rpb25cbiAgICAgICAgW3NlY3Rpb25dPVwic2VjdGlvblwiPlxuICAgIDwvbWFudGxlLXRhYmxlLWxheW91dC1lZGl0b3Itc2VjdGlvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Rhc2hib2FyZCdcIj5cbiAgICA8bWFudGxlLWRhc2hib2FyZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb25cbiAgICAgICAgW3NlY3Rpb25dPVwic2VjdGlvblwiPlxuICAgIDwvbWFudGxlLWRhc2hib2FyZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYXJrZG93bidcIj5cbiAgICA8bWFudGxlLW1hcmtkb3duLWxheW91dC1lZGl0b3Itc2VjdGlvblxuICAgICAgICBbc2VjdGlvbl09XCJzZWN0aW9uXCI+XG4gICAgPC9tYW50bGUtbWFya2Rvd24tbGF5b3V0LWVkaXRvci1zZWN0aW9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,102 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
3
+ import { DialogNestedFormComponent } from '../../../../components/form/dialog-nested-form/dialog-nested-form.component';
4
+ import { ArrayService } from '../../../../services/array.service';
5
+ import { ScreenSizeService } from '../../../../services/screen-size.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../../services/screen-size.service";
8
+ import * as i2 from "@angular/material/dialog";
9
+ import * as i3 from "../../../../services/array.service";
10
+ import * as i4 from "@angular/material/grid-list";
11
+ import * as i5 from "../../elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component";
12
+ import * as i6 from "@angular/material/button";
13
+ import * as i7 from "@angular/material/icon";
14
+ import * as i8 from "@angular/common";
15
+ import * as i9 from "@angular/flex-layout/flex";
16
+ export class GridLayoutEditorSectionComponent {
17
+ constructor(screenSizeService, dialog, arrayService) {
18
+ this.screenSizeService = screenSizeService;
19
+ this.dialog = dialog;
20
+ this.arrayService = arrayService;
21
+ this.defaultRowHeight = '120px';
22
+ this.numColumns = 1;
23
+ this.breakpointColumns = new Map([
24
+ ['xs', 1],
25
+ ['sm', 2],
26
+ ['md', 2],
27
+ ['lg', 3],
28
+ ['xl', 4],
29
+ ]);
30
+ this.screenSizeService.screenSize.subscribe((screenSize) => {
31
+ var _a;
32
+ if ((_a = this.section) === null || _a === void 0 ? void 0 : _a.singleColumn) {
33
+ this.numColumns = 1;
34
+ return;
35
+ }
36
+ this.numColumns = this.breakpointColumns.get(screenSize) || 1;
37
+ });
38
+ }
39
+ getColSpanForField(attribute) {
40
+ return (attribute.attr_type == 'text' || attribute.attr_type == 'string-lg' || attribute.attr_type == 'markdown') ? this.numColumns : 1;
41
+ }
42
+ getRowSpanForField(attribute) {
43
+ //return (attribute.attr_type == 'text' || attribute.attr_type == 'markdown') ? 2 : 1;
44
+ return 1;
45
+ }
46
+ onAddElementClicked() {
47
+ const dialogRef = this.dialog.open(DialogNestedFormComponent, this.elementDialogConfig());
48
+ dialogRef.afterClosed().subscribe(formData => {
49
+ if (!formData)
50
+ return;
51
+ this.section.dynamic_layout_grid_fields_attributes.push(formData);
52
+ });
53
+ }
54
+ elementDialogConfig() {
55
+ const dialogConfig = new MatDialogConfig();
56
+ dialogConfig.data = {
57
+ title: 'New Layout Element',
58
+ data: {
59
+ label: '',
60
+ attr_type: 'string',
61
+ ordinal: this.arrayService.maxValueForAttribute(this.section.dynamic_layout_grid_fields_attributes, 'ordinal') + 1,
62
+ user_specified: true
63
+ },
64
+ section: {
65
+ singleColumn: true,
66
+ elements: [
67
+ { label: 'Label', attr: 'label', type: 'string', required: true },
68
+ { label: 'Type', attr: 'attr_type', type: 'dropdown', required: true,
69
+ options: {
70
+ values: [
71
+ { value: 'string', label: 'String' },
72
+ { value: 'string-lg', label: 'Wide String' },
73
+ { value: 'text', label: 'Text Area' },
74
+ { value: 'chips', label: 'Chips' },
75
+ { value: 'number', label: 'Number' },
76
+ { value: 'date', label: 'Date' },
77
+ { value: 'datetime', label: 'Date & Time' },
78
+ ]
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ };
84
+ dialogConfig.width = '40%';
85
+ return dialogConfig;
86
+ }
87
+ }
88
+ GridLayoutEditorSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GridLayoutEditorSectionComponent, deps: [{ token: i1.ScreenSizeService }, { token: i2.MatDialog }, { token: i3.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
89
+ GridLayoutEditorSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GridLayoutEditorSectionComponent, selector: "mantle-grid-layout-editor-section", inputs: { section: "section", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mat-grid-list\n [rowHeight]=\"section.rowHeight || defaultRowHeight\"\n [cols]=\"section.singleColumn ? 1 : numColumns\"\n [class.multi-column]=\"section.singleColumn ? false : numColumns > 1\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_grid_fields_attributes\">\n <mat-grid-tile *ngIf=\"!element._destroy\" [colspan]=\"section.singleColumn ? 1 : getColSpanForField(element)\" [rowspan]=\"getRowSpanForField(element)\">\n <mantle-dynamic-layout-editor-element\n elementType=\"field\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], components: [{ type: i4.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i4.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i5.DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GridLayoutEditorSectionComponent, decorators: [{
91
+ type: Component,
92
+ args: [{
93
+ selector: 'mantle-grid-layout-editor-section',
94
+ templateUrl: './grid-layout-editor-section.component.html',
95
+ styleUrls: ['./grid-layout-editor-section.component.scss']
96
+ }]
97
+ }], ctorParameters: function () { return [{ type: i1.ScreenSizeService }, { type: i2.MatDialog }, { type: i3.ArrayService }]; }, propDecorators: { section: [{
98
+ type: Input
99
+ }], defaultRowHeight: [{
100
+ type: Input
101
+ }] } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL3NlY3Rpb25zL2dyaWQtbGF5b3V0LWVkaXRvci1zZWN0aW9uL2dyaWQtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy9ncmlkLWxheW91dC1lZGl0b3Itc2VjdGlvbi9ncmlkLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFvQixpQkFBb0MsRUFBVSxNQUFpQixFQUFVLFlBQTBCO1FBQW5HLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFaOUcscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBRXJDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFdEIsc0JBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDbEMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ1YsQ0FBQyxDQUFDO1FBR0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTs7WUFDOUQsSUFBSSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFlBQVksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBdUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksTUFBTSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxSSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBdUM7UUFDeEQsc0ZBQXNGO1FBQ3RGLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBRTFGLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsSUFBSSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQ2xILGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRSxJQUFJO2dCQUNsQixRQUFRLEVBQUU7b0JBQ1IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO29CQUNqRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJO3dCQUNsRSxPQUFPLEVBQUU7NEJBQ1AsTUFBTSxFQUFFO2dDQUNOLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dDQUNwQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQ0FDNUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0NBQ3JDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dDQUNsQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQ0FDcEMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0NBQ2hDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzZCQUM1Qzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTNCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7OzhIQTlFVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQywrSUNaN0MsMnJDQThCQTs0RkRsQmEsZ0NBQWdDO2tCQUw1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFdBQVcsRUFBRSw2Q0FBNkM7b0JBQzFELFNBQVMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDO2lCQUMzRDsySkFHVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb24sIER5bmFtaWNMYXlvdXRFZGl0b3JGb3JtRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IERpYWxvZ05lc3RlZEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Zvcm0vZGlhbG9nLW5lc3RlZC1mb3JtL2RpYWxvZy1uZXN0ZWQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXJyYXkuc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5TaXplU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZ3JpZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1sYXlvdXQtZWRpdG9yLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRMYXlvdXRFZGl0b3JTZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBzZWN0aW9uITogRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb247XG4gIEBJbnB1dCgpIGRlZmF1bHRSb3dIZWlnaHQ6IHN0cmluZyA9ICcxMjBweCc7XG5cbiAgcHVibGljIG51bUNvbHVtbnM6IG51bWJlciA9IDE7XG5cbiAgcHJpdmF0ZSBicmVha3BvaW50Q29sdW1ucyA9IG5ldyBNYXAoW1xuICAgIFsneHMnLCAxXSxcbiAgICBbJ3NtJywgMl0sXG4gICAgWydtZCcsIDJdLFxuICAgIFsnbGcnLCAzXSxcbiAgICBbJ3hsJywgNF0sXG4gIF0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NyZWVuU2l6ZVNlcnZpY2U6IFNjcmVlblNpemVTZXJ2aWNlLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIGFycmF5U2VydmljZTogQXJyYXlTZXJ2aWNlKSB7XG4gICAgdGhpcy5zY3JlZW5TaXplU2VydmljZS5zY3JlZW5TaXplLnN1YnNjcmliZSgoc2NyZWVuU2l6ZTogYW55KSA9PiB7XG4gICAgICBpZiAodGhpcy5zZWN0aW9uPy5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy5udW1Db2x1bW5zID0gMTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm51bUNvbHVtbnMgPSB0aGlzLmJyZWFrcG9pbnRDb2x1bW5zLmdldChzY3JlZW5TaXplKSB8fCAxO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q29sU3BhbkZvckZpZWxkKGF0dHJpYnV0ZTogRHluYW1pY0xheW91dEVkaXRvckZvcm1GaWVsZCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChhdHRyaWJ1dGUuYXR0cl90eXBlID09ICd0ZXh0JyB8fCBhdHRyaWJ1dGUuYXR0cl90eXBlID09ICdzdHJpbmctbGcnIHx8IGF0dHJpYnV0ZS5hdHRyX3R5cGUgPT0gJ21hcmtkb3duJykgPyB0aGlzLm51bUNvbHVtbnMgOiAxO1xuICB9XG5cbiAgZ2V0Um93U3BhbkZvckZpZWxkKGF0dHJpYnV0ZTogRHluYW1pY0xheW91dEVkaXRvckZvcm1GaWVsZCk6IG51bWJlciB7XG4gICAgLy9yZXR1cm4gKGF0dHJpYnV0ZS5hdHRyX3R5cGUgPT0gJ3RleHQnIHx8IGF0dHJpYnV0ZS5hdHRyX3R5cGUgPT0gJ21hcmtkb3duJykgPyAyIDogMTtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIG9uQWRkRWxlbWVudENsaWNrZWQoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEaWFsb2dOZXN0ZWRGb3JtQ29tcG9uZW50LCB0aGlzLmVsZW1lbnREaWFsb2dDb25maWcoKSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZm9ybURhdGEgPT4ge1xuICAgICAgaWYgKCFmb3JtRGF0YSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLnNlY3Rpb24uZHluYW1pY19sYXlvdXRfZ3JpZF9maWVsZHNfYXR0cmlidXRlcy5wdXNoKGZvcm1EYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVsZW1lbnREaWFsb2dDb25maWcoKTogTWF0RGlhbG9nQ29uZmlnIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICB0aXRsZTogJ05ldyBMYXlvdXQgRWxlbWVudCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGxhYmVsOiAnJyxcbiAgICAgICAgYXR0cl90eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgb3JkaW5hbDogdGhpcy5hcnJheVNlcnZpY2UubWF4VmFsdWVGb3JBdHRyaWJ1dGUodGhpcy5zZWN0aW9uLmR5bmFtaWNfbGF5b3V0X2dyaWRfZmllbGRzX2F0dHJpYnV0ZXMsICdvcmRpbmFsJykgKyAxLFxuICAgICAgICB1c2VyX3NwZWNpZmllZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHNlY3Rpb246IHtcbiAgICAgICAgc2luZ2xlQ29sdW1uOiB0cnVlLFxuICAgICAgICBlbGVtZW50czogW1xuICAgICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIGF0dHI6ICdsYWJlbCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgIHsgbGFiZWw6ICdUeXBlJywgYXR0cjogJ2F0dHJfdHlwZScsIHR5cGU6ICdkcm9wZG93bicsIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnc3RyaW5nJywgbGFiZWw6ICdTdHJpbmcnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3N0cmluZy1sZycsIGxhYmVsOiAnV2lkZSBTdHJpbmcnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3RleHQnLCBsYWJlbDogJ1RleHQgQXJlYScgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnY2hpcHMnLCBsYWJlbDogJ0NoaXBzJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdudW1iZXInLCBsYWJlbDogJ051bWJlcicgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZGF0ZScsIGxhYmVsOiAnRGF0ZScgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZGF0ZXRpbWUnLCBsYWJlbDogJ0RhdGUgJiBUaW1lJyB9LFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnNDAlJztcblxuICAgIHJldHVybiBkaWFsb2dDb25maWc7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtbGF5b3V0LWVkaXRvci1zZWN0aW9uXCI+XG4gIDxtYXQtZ3JpZC1saXN0XG4gICAgICBbcm93SGVpZ2h0XT1cInNlY3Rpb24ucm93SGVpZ2h0IHx8IGRlZmF1bHRSb3dIZWlnaHRcIlxuICAgICAgW2NvbHNdPVwic2VjdGlvbi5zaW5nbGVDb2x1bW4gPyAxIDogbnVtQ29sdW1uc1wiXG4gICAgICBbY2xhc3MubXVsdGktY29sdW1uXT1cInNlY3Rpb24uc2luZ2xlQ29sdW1uID8gZmFsc2UgOiBudW1Db2x1bW5zID4gMVwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWN0aW9uLmR5bmFtaWNfbGF5b3V0X2dyaWRfZmllbGRzX2F0dHJpYnV0ZXNcIj5cbiAgICAgIDxtYXQtZ3JpZC10aWxlICpuZ0lmPVwiIWVsZW1lbnQuX2Rlc3Ryb3lcIiBbY29sc3Bhbl09XCJzZWN0aW9uLnNpbmdsZUNvbHVtbiA/IDEgOiBnZXRDb2xTcGFuRm9yRmllbGQoZWxlbWVudClcIiBbcm93c3Bhbl09XCJnZXRSb3dTcGFuRm9yRmllbGQoZWxlbWVudClcIj5cbiAgICAgICAgPG1hbnRsZS1keW5hbWljLWxheW91dC1lZGl0b3ItZWxlbWVudFxuICAgICAgICAgICAgZWxlbWVudFR5cGU9XCJmaWVsZFwiXG4gICAgICAgICAgICBbZWxlbWVudF09XCJlbGVtZW50XCJcbiAgICAgICAgICAgIFtzaG93Q29udHJvbHNdPVwiIXNlY3Rpb24uZWxlbWVudHNfbG9ja2VkXCI+XG4gICAgICAgIDwvbWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1lbGVtZW50PlxuICAgICAgPC9tYXQtZ3JpZC10aWxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvbWF0LWdyaWQtbGlzdD5cbjwvZGl2PlxuXG48ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBzdGFydFwiIGZ4TGF5b3V0R2FwPVwiMTZweFwiIGNsYXNzPVwic2VjdGlvbi1jb250cm9sc1wiPlxuICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG4gIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIiAqbmdJZj1cIiFzZWN0aW9uLmVsZW1lbnRzX2xvY2tlZFwiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkFkZEVsZW1lbnRDbGlja2VkKClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-markdown";
4
+ import * as i2 from "@angular/common";
5
+ export class MarkdownLayoutEditorSectionComponent {
6
+ }
7
+ MarkdownLayoutEditorSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ MarkdownLayoutEditorSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MarkdownLayoutEditorSectionComponent, selector: "mantle-markdown-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.dynamic_layout_markdown_elements_attributes\">\n {{ element.text }}\n </markdown>\n</div>\n", styles: [""], components: [{ type: i1.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "emoji", "katex", "katexOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start"], outputs: ["error", "load", "ready"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'mantle-markdown-layout-editor-section',
13
+ templateUrl: './markdown-layout-editor-section.component.html',
14
+ styleUrls: ['./markdown-layout-editor-section.component.scss']
15
+ }]
16
+ }], propDecorators: { section: [{
17
+ type: Input
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy9tYXJrZG93bi1sYXlvdXQtZWRpdG9yLXNlY3Rpb24vbWFya2Rvd24tbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy9tYXJrZG93bi1sYXlvdXQtZWRpdG9yLXNlY3Rpb24vbWFya2Rvd24tbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpELE1BQU0sT0FBTyxvQ0FBb0M7O2tJQUFwQyxvQ0FBb0M7c0hBQXBDLG9DQUFvQyw2R0NSakQscU1BS0E7NEZER2Esb0NBQW9DO2tCQUxoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFdBQVcsRUFBRSxpREFBaUQ7b0JBQzlELFNBQVMsRUFBRSxDQUFDLGlEQUFpRCxDQUFDO2lCQUMvRDs4QkFHVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0RWRpdG9yU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtbWFya2Rvd24tbGF5b3V0LWVkaXRvci1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcmtkb3duLWxheW91dC1lZGl0b3Itc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duTGF5b3V0RWRpdG9yU2VjdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRFZGl0b3JTZWN0aW9uO1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibWFya2Rvd24td3JhcHBlclwiPlxuICA8bWFya2Rvd24gbmdQcmVzZXJ2ZVdoaXRlc3BhY2VzICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlY3Rpb24uZHluYW1pY19sYXlvdXRfbWFya2Rvd25fZWxlbWVudHNfYXR0cmlidXRlc1wiPlxuICAgIHt7IGVsZW1lbnQudGV4dCB9fVxuICA8L21hcmtkb3duPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
3
+ import { DialogNestedFormComponent } from '../../../../components/form/dialog-nested-form/dialog-nested-form.component';
4
+ import { ArrayService } from '../../../../services/array.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "../../../../services/array.service";
8
+ import * as i3 from "@angular/material/grid-list";
9
+ import * as i4 from "../../elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component";
10
+ import * as i5 from "@angular/material/button";
11
+ import * as i6 from "@angular/material/icon";
12
+ import * as i7 from "@angular/common";
13
+ import * as i8 from "@angular/flex-layout/extended";
14
+ import * as i9 from "@angular/flex-layout/flex";
15
+ export class TableLayoutEditorSectionComponent {
16
+ constructor(dialog, arrayService) {
17
+ this.dialog = dialog;
18
+ this.arrayService = arrayService;
19
+ }
20
+ onAddElementClicked() {
21
+ const dialogRef = this.dialog.open(DialogNestedFormComponent, this.elementDialogConfig());
22
+ dialogRef.afterClosed().subscribe(formData => {
23
+ if (!formData)
24
+ return;
25
+ this.section.dynamic_layout_table_columns_attributes.push(formData);
26
+ });
27
+ }
28
+ elementDialogConfig() {
29
+ const dialogConfig = new MatDialogConfig();
30
+ dialogConfig.data = {
31
+ title: 'New Table Column',
32
+ data: {
33
+ label: '',
34
+ attr_type: 'string',
35
+ ordinal: this.arrayService.maxValueForAttribute(this.section.dynamic_layout_table_columns_attributes, 'ordinal') + 1,
36
+ user_specified: true
37
+ },
38
+ section: {
39
+ singleColumn: true,
40
+ elements: [
41
+ { label: 'Label', attr: 'label', type: 'string', required: true },
42
+ { label: 'Type', attr: 'attr_type', type: 'dropdown', required: true,
43
+ options: {
44
+ values: [
45
+ { value: 'string', label: 'String' },
46
+ { value: 'string-lg', label: 'Wide String' },
47
+ { value: 'text', label: 'Text Area' },
48
+ { value: 'chips', label: 'Chips' },
49
+ { value: 'number', label: 'Number' },
50
+ { value: 'date', label: 'Date' },
51
+ { value: 'datetime', label: 'Date & Time' },
52
+ ]
53
+ }
54
+ }
55
+ ]
56
+ }
57
+ };
58
+ dialogConfig.width = '40%';
59
+ return dialogConfig;
60
+ }
61
+ }
62
+ TableLayoutEditorSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableLayoutEditorSectionComponent, deps: [{ token: i1.MatDialog }, { token: i2.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
63
+ TableLayoutEditorSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableLayoutEditorSectionComponent, selector: "mantle-table-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"table-layout-editor-section\">\n <h4 class=\"section-type-label\">Table</h4>\n <mat-grid-list rowHeight=\"120px\" [cols]=\"section.dynamic_layout_table_columns_attributes.length\" [class.multi-column]=\"true\" [ngStyle]=\"{ 'width.px': section.dynamic_layout_table_columns_attributes.length * 300 }\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_table_columns_attributes\">\n <mat-grid-tile *ngIf=\"!element._destroy\" colspan=\"1\" rowspan=\"1\">\n <mantle-dynamic-layout-editor-element\n elementType=\"table-column\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], components: [{ type: i3.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i3.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i4.DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableLayoutEditorSectionComponent, decorators: [{
65
+ type: Component,
66
+ args: [{
67
+ selector: 'mantle-table-layout-editor-section',
68
+ templateUrl: './table-layout-editor-section.component.html',
69
+ styleUrls: ['./table-layout-editor-section.component.scss']
70
+ }]
71
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ArrayService }]; }, propDecorators: { section: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy90YWJsZS1sYXlvdXQtZWRpdG9yLXNlY3Rpb24vdGFibGUtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9zZWN0aW9ucy90YWJsZS1sYXlvdXQtZWRpdG9yLXNlY3Rpb24vdGFibGUtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDeEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7OztBQU9sRSxNQUFNLE9BQU8saUNBQWlDO0lBSTVDLFlBQW9CLE1BQWlCLEVBQVUsWUFBMEI7UUFBckQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUksQ0FBQztJQUU5RSxtQkFBbUI7UUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUUxRixTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDM0MsWUFBWSxDQUFDLElBQUksR0FBRztZQUNsQixLQUFLLEVBQUUsa0JBQWtCO1lBQ3pCLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO2dCQUNwSCxjQUFjLEVBQUUsSUFBSTthQUNyQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsUUFBUSxFQUFFO29CQUNSLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtvQkFDakUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSTt3QkFDbEUsT0FBTyxFQUFFOzRCQUNQLE1BQU0sRUFBRTtnQ0FDTixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQ0FDcEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0NBQzVDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dDQUNyQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQ0FDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0NBQ3BDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dDQUNoQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs2QkFDNUM7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFDRixZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUUzQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzsrSEFqRFUsaUNBQWlDO21IQUFqQyxpQ0FBaUMsMEdDWDlDLDZxQ0E0QkE7NEZEakJhLGlDQUFpQztrQkFMN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxXQUFXLEVBQUUsOENBQThDO29CQUMzRCxTQUFTLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQztpQkFDNUQ7MkhBR1UsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IERpYWxvZ05lc3RlZEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2Zvcm0vZGlhbG9nLW5lc3RlZC1mb3JtL2RpYWxvZy1uZXN0ZWQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJyYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXJyYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS10YWJsZS1sYXlvdXQtZWRpdG9yLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtbGF5b3V0LWVkaXRvci1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVMYXlvdXRFZGl0b3JTZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBzZWN0aW9uITogRHluYW1pY0xheW91dEVkaXRvclNlY3Rpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBhcnJheVNlcnZpY2U6IEFycmF5U2VydmljZSkgeyB9XG5cbiAgb25BZGRFbGVtZW50Q2xpY2tlZCgpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ05lc3RlZEZvcm1Db21wb25lbnQsIHRoaXMuZWxlbWVudERpYWxvZ0NvbmZpZygpKTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShmb3JtRGF0YSA9PiB7XG4gICAgICBpZiAoIWZvcm1EYXRhKSByZXR1cm47XG5cbiAgICAgIHRoaXMuc2VjdGlvbi5keW5hbWljX2xheW91dF90YWJsZV9jb2x1bW5zX2F0dHJpYnV0ZXMucHVzaChmb3JtRGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBlbGVtZW50RGlhbG9nQ29uZmlnKCk6IE1hdERpYWxvZ0NvbmZpZyB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgdGl0bGU6ICdOZXcgVGFibGUgQ29sdW1uJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICBhdHRyX3R5cGU6ICdzdHJpbmcnLFxuICAgICAgICBvcmRpbmFsOiB0aGlzLmFycmF5U2VydmljZS5tYXhWYWx1ZUZvckF0dHJpYnV0ZSh0aGlzLnNlY3Rpb24uZHluYW1pY19sYXlvdXRfdGFibGVfY29sdW1uc19hdHRyaWJ1dGVzLCAnb3JkaW5hbCcpICsgMSxcbiAgICAgICAgdXNlcl9zcGVjaWZpZWQ6IHRydWVcbiAgICAgIH0sXG4gICAgICBzZWN0aW9uOiB7XG4gICAgICAgIHNpbmdsZUNvbHVtbjogdHJ1ZSxcbiAgICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBhdHRyOiAnbGFiZWwnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICB7IGxhYmVsOiAnVHlwZScsIGF0dHI6ICdhdHRyX3R5cGUnLCB0eXBlOiAnZHJvcGRvd24nLCByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3N0cmluZycsIGxhYmVsOiAnU3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdzdHJpbmctbGcnLCBsYWJlbDogJ1dpZGUgU3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICd0ZXh0JywgbGFiZWw6ICdUZXh0IEFyZWEnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2NoaXBzJywgbGFiZWw6ICdDaGlwcycgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnbnVtYmVyJywgbGFiZWw6ICdOdW1iZXInIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2RhdGUnLCBsYWJlbDogJ0RhdGUnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2RhdGV0aW1lJywgbGFiZWw6ICdEYXRlICYgVGltZScgfSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzQwJSc7XG5cbiAgICByZXR1cm4gZGlhbG9nQ29uZmlnO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZS1sYXlvdXQtZWRpdG9yLXNlY3Rpb25cIj5cbiAgPGg0IGNsYXNzPVwic2VjdGlvbi10eXBlLWxhYmVsXCI+VGFibGU8L2g0PlxuICA8bWF0LWdyaWQtbGlzdCByb3dIZWlnaHQ9XCIxMjBweFwiIFtjb2xzXT1cInNlY3Rpb24uZHluYW1pY19sYXlvdXRfdGFibGVfY29sdW1uc19hdHRyaWJ1dGVzLmxlbmd0aFwiIFtjbGFzcy5tdWx0aS1jb2x1bW5dPVwidHJ1ZVwiIFtuZ1N0eWxlXT1cInsgJ3dpZHRoLnB4Jzogc2VjdGlvbi5keW5hbWljX2xheW91dF90YWJsZV9jb2x1bW5zX2F0dHJpYnV0ZXMubGVuZ3RoICogMzAwIH1cIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VjdGlvbi5keW5hbWljX2xheW91dF90YWJsZV9jb2x1bW5zX2F0dHJpYnV0ZXNcIj5cbiAgICAgIDxtYXQtZ3JpZC10aWxlICpuZ0lmPVwiIWVsZW1lbnQuX2Rlc3Ryb3lcIiBjb2xzcGFuPVwiMVwiIHJvd3NwYW49XCIxXCI+XG4gICAgICAgIDxtYW50bGUtZHluYW1pYy1sYXlvdXQtZWRpdG9yLWVsZW1lbnRcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlPVwidGFibGUtY29sdW1uXCJcbiAgICAgICAgICAgIFtlbGVtZW50XT1cImVsZW1lbnRcIlxuICAgICAgICAgICAgW3Nob3dDb250cm9sc109XCIhc2VjdGlvbi5lbGVtZW50c19sb2NrZWRcIj5cbiAgICAgICAgPC9tYW50bGUtZHluYW1pYy1sYXlvdXQtZWRpdG9yLWVsZW1lbnQ+XG4gICAgICA8L21hdC1ncmlkLXRpbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9tYXQtZ3JpZC1saXN0PlxuPC9kaXY+XG5cbjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIHN0YXJ0XCIgZnhMYXlvdXRHYXA9XCIxNnB4XCIgY2xhc3M9XCJzZWN0aW9uLWNvbnRyb2xzXCI+XG4gIDxkaXYgZnhGbGV4PVwiMSAxIGF1dG9cIj48L2Rpdj5cbiAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiICpuZ0lmPVwiIXNlY3Rpb24uZWxlbWVudHNfbG9ja2VkXCI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWRkRWxlbWVudENsaWNrZWQoKVwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
3
+ import { FlatTreeControl } from '@angular/cdk/tree';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/tree";
6
+ import * as i2 from "@angular/material/divider";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@angular/material/icon";
9
+ import * as i5 from "@angular/flex-layout/flex";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@angular/router";
12
+ import * as i8 from "@angular/material/badge";
13
+ export class NavTreeComponent {
14
+ constructor() {
15
+ this.reminderCount = 0;
16
+ this.navTreeFeatures = [];
17
+ this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel, this.isExpandable, this.getChildren);
18
+ this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);
19
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
20
+ }
21
+ ngOnChanges() {
22
+ this.dataSource.data = this.navTreeFeatures;
23
+ }
24
+ /** Transform the data to something the tree can read. */
25
+ transformer(node, level) {
26
+ return {
27
+ name: node.name,
28
+ icon: node.icon,
29
+ link: node.link,
30
+ level,
31
+ expandable: !!node.children && node.children.length > 0
32
+ };
33
+ }
34
+ /** Get the level of the node */
35
+ getLevel(node) {
36
+ return node.level;
37
+ }
38
+ /** Get whether the node is expanded or not. */
39
+ isExpandable(node) {
40
+ return node.expandable;
41
+ }
42
+ /** Get whether the node has children or not. */
43
+ hasChild(index, node) {
44
+ return node.expandable;
45
+ }
46
+ /** Get the children for the node. */
47
+ getChildren(node) {
48
+ return node.children;
49
+ }
50
+ }
51
+ NavTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
+ NavTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NavTreeComponent, selector: "mantle-nav-tree", inputs: { reminderCount: "reminderCount", navTreeFeatures: "navTreeFeatures" }, usesOnChanges: true, ngImport: i0, template: "<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button mat-button [routerLink]=\"node.link\" routerLinkActive=\"active\" class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\"\n [matBadge]=\"(node.name == 'Reminders' && reminderCount > 0) ? reminderCount : undefined\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"small\">\n {{ node.icon }}\n </mat-icon>\n <div class=\"node-label\">{{ node.name }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" fxLayout=\"row\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button fxFlex=\"1 0 1px\" mat-button matTreeNodeToggle class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\">{{ node.icon }}</mat-icon>\n <div class=\"node-label\">{{ node.name }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n</mat-tree>\n", styles: [".mat-tree-node .tree-node-content{min-height:48px}.mat-tree-node .tree-node-content .tree-node-button{text-align:left;border-radius:0;width:239px;margin:6px 0}.mat-tree-node .tree-node-content .tree-node-button .mat-icon{margin-right:8px}.mat-tree-node .tree-node-content .tree-node-button .node-label{display:inline-block;text-align:left;white-space:normal;line-height:1.25rem;width:calc(100% - 32px)}.mat-tree-node.leaf-node .tree-node-indent{position:relative}.mat-tree-node.leaf-node .tree-node-indent .mat-divider{position:absolute;top:0;bottom:0;right:0;border-width:2px}.mat-tree-node.leaf-node .tree-node-button{width:calc(211px - 20px)!important;margin:6px 0 6px 20px!important}\n"], components: [{ type: i1.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { type: i1.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i7.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["routerLink", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i1.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NavTreeComponent, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ selector: 'mantle-nav-tree',
57
+ templateUrl: './nav-tree.component.html',
58
+ styleUrls: ['./nav-tree.component.scss']
59
+ }]
60
+ }], ctorParameters: function () { return []; }, propDecorators: { reminderCount: [{
61
+ type: Input
62
+ }], navTreeFeatures: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdi10cmVlL25hdi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXYtdHJlZS9uYXYtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUEyQnBELE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0I7UUFIUyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUduQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZ0JBQWdCLENBQ3ZDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO0lBRUQseURBQXlEO0lBQ3pELFdBQVcsQ0FBQyxJQUFvQixFQUFFLEtBQWE7UUFDN0MsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUs7WUFDTCxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVELGdDQUFnQztJQUNoQyxRQUFRLENBQUMsSUFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsWUFBWSxDQUFDLElBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBa0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsV0FBVyxDQUFDLElBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzs4R0ExRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNEpDN0I3Qix3c0RBc0NBOzRGRFRhLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDekM7MEVBWVUsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcblxuLyoqIEZpbGUgbm9kZSBkYXRhIHdpdGggcG9zc2libGUgY2hpbGQgbm9kZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25Ob2RlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBsaW5rPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IE5hdmlnYXRpb25Ob2RlW107XG59XG5cbi8qKlxuICogRmxhdHRlbmVkIHRyZWUgbm9kZSB0aGF0IGhhcyBiZWVuIGNyZWF0ZWQgZnJvbSBhIE5hdmlnYXRpb25Ob2RlIHRocm91Z2ggdGhlIGZsYXR0ZW5lci4gRmxhdHRlbmVkXG4gKiBub2RlcyBpbmNsdWRlIGxldmVsIGluZGV4IGFuZCB3aGV0aGVyIHRoZXkgY2FuIGJlIGV4cGFuZGVkIG9yIG5vdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbGF0VHJlZU5vZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGxpbms/OiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXI7XG4gIGV4cGFuZGFibGU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1uYXYtdHJlZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdi10cmVlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2VHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgLyoqIFRoZSBUcmVlQ29udHJvbCBjb250cm9scyB0aGUgZXhwYW5kL2NvbGxhcHNlIHN0YXRlIG9mIHRyZWUgbm9kZXMuICAqL1xuICB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPEZsYXRUcmVlTm9kZT47XG5cbiAgLyoqIFRoZSBUcmVlRmxhdHRlbmVyIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGZsYXQgbGlzdCBvZiBpdGVtcyBmcm9tIGhpZXJhcmNoaWNhbCBkYXRhLiAqL1xuICB0cmVlRmxhdHRlbmVyOiBNYXRUcmVlRmxhdHRlbmVyPE5hdmlnYXRpb25Ob2RlLCBGbGF0VHJlZU5vZGU+O1xuXG4gIC8qKiBUaGUgTWF0VHJlZUZsYXREYXRhU291cmNlIGNvbm5lY3RzIHRoZSBjb250cm9sIGFuZCBmbGF0dGVuZXIgdG8gcHJvdmlkZSBkYXRhLiAqL1xuICBkYXRhU291cmNlOiBNYXRUcmVlRmxhdERhdGFTb3VyY2U8TmF2aWdhdGlvbk5vZGUsIEZsYXRUcmVlTm9kZT47XG5cbiAgQElucHV0KCkgcmVtaW5kZXJDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbmF2VHJlZUZlYXR1cmVzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKFxuICAgICAgdGhpcy50cmFuc2Zvcm1lcixcbiAgICAgIHRoaXMuZ2V0TGV2ZWwsXG4gICAgICB0aGlzLmlzRXhwYW5kYWJsZSxcbiAgICAgIHRoaXMuZ2V0Q2hpbGRyZW4pO1xuXG4gICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2wodGhpcy5nZXRMZXZlbCwgdGhpcy5pc0V4cGFuZGFibGUpO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UodGhpcy50cmVlQ29udHJvbCwgdGhpcy50cmVlRmxhdHRlbmVyKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5uYXZUcmVlRmVhdHVyZXM7XG4gIH1cblxuICAvKiogVHJhbnNmb3JtIHRoZSBkYXRhIHRvIHNvbWV0aGluZyB0aGUgdHJlZSBjYW4gcmVhZC4gKi9cbiAgdHJhbnNmb3JtZXIobm9kZTogTmF2aWdhdGlvbk5vZGUsIGxldmVsOiBudW1iZXIpOiBGbGF0VHJlZU5vZGUge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICBpY29uOiBub2RlLmljb24sXG4gICAgICBsaW5rOiBub2RlLmxpbmssXG4gICAgICBsZXZlbCxcbiAgICAgIGV4cGFuZGFibGU6ICEhbm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICB9O1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGV2ZWwgb2YgdGhlIG5vZGUgKi9cbiAgZ2V0TGV2ZWwobm9kZTogRmxhdFRyZWVOb2RlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbm9kZS5sZXZlbDtcbiAgfVxuXG4gIC8qKiBHZXQgd2hldGhlciB0aGUgbm9kZSBpcyBleHBhbmRlZCBvciBub3QuICovXG4gIGlzRXhwYW5kYWJsZShub2RlOiBGbGF0VHJlZU5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm9kZS5leHBhbmRhYmxlO1xuICB9XG5cbiAgLyoqIEdldCB3aGV0aGVyIHRoZSBub2RlIGhhcyBjaGlsZHJlbiBvciBub3QuICovXG4gIGhhc0NoaWxkKGluZGV4OiBudW1iZXIsIG5vZGU6IEZsYXRUcmVlTm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLmV4cGFuZGFibGU7XG4gIH1cblxuICAvKiogR2V0IHRoZSBjaGlsZHJlbiBmb3IgdGhlIG5vZGUuICovXG4gIGdldENoaWxkcmVuKG5vZGU6IE5hdmlnYXRpb25Ob2RlKTogTmF2aWdhdGlvbk5vZGVbXSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBub2RlLmNoaWxkcmVuO1xuICB9XG59XG4iLCI8bWF0LXRyZWUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJ0cmVlQ29udHJvbFwiPlxuXG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBsZWFmIG5vZGVzIC0tPlxuICA8bWF0LXRyZWUtbm9kZSAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiIFtjbGFzcy5sZWFmLW5vZGVdPVwibm9kZS5sZXZlbCA+IDBcIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJ0cmVlLW5vZGUtY29udGVudFwiPlxuICAgICAgPGRpdiBmeEZsZXg9XCIwIDAgMjhweFwiICpuZ0lmPVwibm9kZS5sZXZlbCA+IDBcIiBjbGFzcz1cInRyZWUtbm9kZS1pbmRlbnRcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbcm91dGVyTGlua109XCJub2RlLmxpbmtcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgY2xhc3M9XCJ0cmVlLW5vZGUtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibm9kZS5pY29uXCJcbiAgICAgICAgICAgICAgW21hdEJhZGdlXT1cIihub2RlLm5hbWUgPT0gJ1JlbWluZGVycycgJiYgcmVtaW5kZXJDb3VudCA+IDApID8gcmVtaW5kZXJDb3VudCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIj5cbiAgICAgICAgICAgIHt7IG5vZGUuaWNvbiB9fVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtbGFiZWxcIj57eyBub2RlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtdHJlZS1ub2RlPlxuXG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBleHBhbmRhYmxlIG5vZGVzIC0tPlxuICA8bWF0LXRyZWUtbm9kZSAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZTsgd2hlbjogaGFzQ2hpbGRcIiBmeExheW91dD1cInJvd1wiIFtjbGFzcy5sZWFmLW5vZGVdPVwibm9kZS5sZXZlbCA+IDBcIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJ0cmVlLW5vZGUtY29udGVudFwiPlxuICAgICAgPGRpdiBmeEZsZXg9XCIwIDAgMjhweFwiICpuZ0lmPVwibm9kZS5sZXZlbCA+IDBcIiBjbGFzcz1cInRyZWUtbm9kZS1pbmRlbnRcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCI+XG4gICAgICAgIDxidXR0b24gZnhGbGV4PVwiMSAwIDFweFwiIG1hdC1idXR0b24gbWF0VHJlZU5vZGVUb2dnbGUgY2xhc3M9XCJ0cmVlLW5vZGUtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibm9kZS5pY29uXCI+e3sgbm9kZS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubmFtZSB9fTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21hdC10cmVlLW5vZGU+XG5cbjwvbWF0LXRyZWU+XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Component, Injector } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ export class RerouteComponent {
6
+ constructor(route, injector) {
7
+ this.route = route;
8
+ this.injector = injector;
9
+ const rerouteServiceInjectionToken = this.route.snapshot.data['rerouteService'];
10
+ this.rerouteService = this.injector.get(rerouteServiceInjectionToken);
11
+ }
12
+ ngOnInit() {
13
+ this.reroute();
14
+ }
15
+ reroute() {
16
+ this.rerouteService.reroute();
17
+ }
18
+ }
19
+ RerouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RerouteComponent, deps: [{ token: i1.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
20
+ RerouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RerouteComponent, selector: "mantle-reroute", ngImport: i0, template: '', isInline: true });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RerouteComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: 'mantle-reroute',
25
+ template: ''
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.Injector }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVyb3V0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vcmVyb3V0ZS9yZXJvdXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQU9qRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW9CLEtBQXFCLEVBQVUsUUFBa0I7UUFBakQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ25FLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBaUIsNEJBQTRCLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7OEdBZlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isc0RBRmpCLEVBQUU7NEZBRUQsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSZXJvdXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvcmVyb3V0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXJlcm91dGUnLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgUmVyb3V0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHJlcm91dGVTZXJ2aWNlOiBSZXJvdXRlU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCByZXJvdXRlU2VydmljZUluamVjdGlvblRva2VuID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydyZXJvdXRlU2VydmljZSddO1xuICAgIHRoaXMucmVyb3V0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxSZXJvdXRlU2VydmljZT4ocmVyb3V0ZVNlcnZpY2VJbmplY3Rpb25Ub2tlbik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlcm91dGUoKTtcbiAgfVxuXG4gIHJlcm91dGUoKSB7XG4gICAgdGhpcy5yZXJvdXRlU2VydmljZS5yZXJvdXRlKCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Component, Injector } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "../../titles/page-title/page-title.component";
7
+ import * as i3 from "../../dashboard/dynamic-dashboard/dynamic-dashboard.component";
8
+ import * as i4 from "@angular/flex-layout/flex";
9
+ import * as i5 from "@angular/common";
10
+ export class DashboardPageComponent {
11
+ constructor(route, injector) {
12
+ this.route = route;
13
+ this.injector = injector;
14
+ const dashboardPageServiceInjectionToken = this.route.snapshot.data['dashboardPageService'];
15
+ this.dashboardPageService = this.injector.get(dashboardPageServiceInjectionToken);
16
+ this.pageTitle = this.route.snapshot.data['pageTitle'];
17
+ }
18
+ ngOnInit() {
19
+ this.content$ = this.dashboardPageService.getWidgetItems({}).pipe(map(res => {
20
+ return res.content;
21
+ }));
22
+ }
23
+ }
24
+ DashboardPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DashboardPageComponent, deps: [{ token: i1.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
25
+ DashboardPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DashboardPageComponent, selector: "mantle-dashboard-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page dashboard-page full-height-only vertically-scrollable\">\n\n <div fxFlex=\"0 0 auto\">\n <mantle-page-title>{{ pageTitle }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-dashboard [content]=\"content$ | async\" [dashboardPageService]=\"dashboardPageService\"></mantle-dynamic-dashboard>\n </div>\n\n</div>\n", styles: [""], components: [{ type: i2.PageTitleComponent, selector: "mantle-page-title" }, { type: i3.DynamicDashboardComponent, selector: "mantle-dynamic-dashboard", inputs: ["dashboardPageService", "content"] }], directives: [{ type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "async": i5.AsyncPipe } });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DashboardPageComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'mantle-dashboard-page',
30
+ templateUrl: './dashboard-page.component.html',
31
+ styleUrls: ['./dashboard-page.component.scss']
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i0.Injector }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlcy9kYXNoYm9hcmQtcGFnZS9kYXNoYm9hcmQtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL2Rhc2hib2FyZC1wYWdlL2Rhc2hib2FyZC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFRckMsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFvQixLQUFxQixFQUFVLFFBQWtCO1FBQWpELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNuRSxNQUFNLGtDQUFrQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBdUIsa0NBQWtDLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7b0hBbEJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDZEQ1huQyxtYkFXQTs0RkRBYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZGFzaGJvYXJkLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kYXNoYm9hcmQtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1wYWdlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRhc2hib2FyZFBhZ2VTZXJ2aWNlOiBEYXNoYm9hcmRQYWdlU2VydmljZTtcbiAgcHVibGljIHBhZ2VUaXRsZTogc3RyaW5nO1xuICBwdWJsaWMgY29udGVudCQhOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgY29uc3QgZGFzaGJvYXJkUGFnZVNlcnZpY2VJbmplY3Rpb25Ub2tlbiA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsnZGFzaGJvYXJkUGFnZVNlcnZpY2UnXTtcbiAgICB0aGlzLmRhc2hib2FyZFBhZ2VTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8RGFzaGJvYXJkUGFnZVNlcnZpY2U+KGRhc2hib2FyZFBhZ2VTZXJ2aWNlSW5qZWN0aW9uVG9rZW4pO1xuICAgIHRoaXMucGFnZVRpdGxlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydwYWdlVGl0bGUnXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGVudCQgPSB0aGlzLmRhc2hib2FyZFBhZ2VTZXJ2aWNlLmdldFdpZGdldEl0ZW1zKHt9KS5waXBlKFxuICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgIHJldHVybiByZXMuY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdHJldGNoXCIgZnhMYXlvdXRHYXA9XCIxNnB4XCIgY2xhc3M9XCJwYWdlIGRhc2hib2FyZC1wYWdlIGZ1bGwtaGVpZ2h0LW9ubHkgdmVydGljYWxseS1zY3JvbGxhYmxlXCI+XG5cbiAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgIDxtYW50bGUtcGFnZS10aXRsZT57eyBwYWdlVGl0bGUgfX08L21hbnRsZS1wYWdlLXRpdGxlPlxuICA8L2Rpdj5cblxuICA8ZGl2IGZ4RmxleD1cIjEgMCBhdXRvXCI+XG4gICAgPG1hbnRsZS1keW5hbWljLWRhc2hib2FyZCBbY29udGVudF09XCJjb250ZW50JCB8IGFzeW5jXCIgW2Rhc2hib2FyZFBhZ2VTZXJ2aWNlXT1cImRhc2hib2FyZFBhZ2VTZXJ2aWNlXCI+PC9tYW50bGUtZHluYW1pYy1kYXNoYm9hcmQ+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==