@theseam/ui-common 0.2.12 → 0.2.16

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 (328) hide show
  1. package/assets/vendor/intl-tel-input/js/utils.js +255 -254
  2. package/bundles/theseam-ui-common-asset-reader.umd.js +7 -9
  3. package/bundles/theseam-ui-common-asset-reader.umd.js.map +1 -1
  4. package/bundles/theseam-ui-common-breadcrumbs.umd.js +6 -8
  5. package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -1
  6. package/bundles/theseam-ui-common-buttons.umd.js +5 -5
  7. package/bundles/theseam-ui-common-buttons.umd.js.map +1 -1
  8. package/bundles/theseam-ui-common-card.umd.js +6 -6
  9. package/bundles/theseam-ui-common-card.umd.js.map +1 -1
  10. package/bundles/theseam-ui-common-checkbox.umd.js +4 -4
  11. package/bundles/theseam-ui-common-checkbox.umd.js.map +1 -1
  12. package/bundles/theseam-ui-common-confirm-dialog.umd.js +4 -4
  13. package/bundles/theseam-ui-common-confirm-dialog.umd.js.map +1 -1
  14. package/bundles/theseam-ui-common-core.umd.js +4 -4
  15. package/bundles/theseam-ui-common-core.umd.js.map +1 -1
  16. package/bundles/theseam-ui-common-data-exporter.umd.js +5 -5
  17. package/bundles/theseam-ui-common-data-filters.umd.js +9 -6
  18. package/bundles/theseam-ui-common-data-filters.umd.js.map +1 -1
  19. package/bundles/theseam-ui-common-datatable-dynamic.umd.js +7 -7
  20. package/bundles/theseam-ui-common-datatable-dynamic.umd.js.map +1 -1
  21. package/bundles/theseam-ui-common-datatable.umd.js +1308 -378
  22. package/bundles/theseam-ui-common-datatable.umd.js.map +1 -1
  23. package/bundles/theseam-ui-common-dynamic-component-loader.umd.js +5 -7
  24. package/bundles/theseam-ui-common-dynamic-component-loader.umd.js.map +1 -1
  25. package/bundles/theseam-ui-common-dynamic.umd.js +7 -9
  26. package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -1
  27. package/bundles/theseam-ui-common-footer-bar.umd.js +3 -3
  28. package/bundles/theseam-ui-common-form-field-error.umd.js +5 -5
  29. package/bundles/theseam-ui-common-form-field-error.umd.js.map +1 -1
  30. package/bundles/theseam-ui-common-form-field.umd.js +5 -5
  31. package/bundles/theseam-ui-common-form-field.umd.js.map +1 -1
  32. package/bundles/theseam-ui-common-framework.umd.js +27 -29
  33. package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
  34. package/bundles/theseam-ui-common-graphql.umd.js +958 -8
  35. package/bundles/theseam-ui-common-graphql.umd.js.map +1 -1
  36. package/bundles/theseam-ui-common-icon.umd.js +5 -5
  37. package/bundles/theseam-ui-common-icon.umd.js.map +1 -1
  38. package/bundles/theseam-ui-common-layout.umd.js +5 -7
  39. package/bundles/theseam-ui-common-layout.umd.js.map +1 -1
  40. package/bundles/theseam-ui-common-loading.umd.js +4 -4
  41. package/bundles/theseam-ui-common-menu.umd.js +5 -5
  42. package/bundles/theseam-ui-common-menu.umd.js.map +1 -1
  43. package/bundles/theseam-ui-common-modal.umd.js +6 -6
  44. package/bundles/theseam-ui-common-modal.umd.js.map +1 -1
  45. package/bundles/theseam-ui-common-models.umd.js +3 -3
  46. package/bundles/theseam-ui-common-popover.umd.js +4 -4
  47. package/bundles/theseam-ui-common-progress.umd.js +5 -5
  48. package/bundles/theseam-ui-common-progress.umd.js.map +1 -1
  49. package/bundles/theseam-ui-common-scrollbar.umd.js +7 -9
  50. package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -1
  51. package/bundles/theseam-ui-common-services.umd.js +6 -8
  52. package/bundles/theseam-ui-common-services.umd.js.map +1 -1
  53. package/bundles/theseam-ui-common-shared.umd.js +4 -4
  54. package/bundles/theseam-ui-common-shared.umd.js.map +1 -1
  55. package/bundles/theseam-ui-common-storage.umd.js +5 -7
  56. package/bundles/theseam-ui-common-storage.umd.js.map +1 -1
  57. package/bundles/theseam-ui-common-story-helpers.umd.js +4 -4
  58. package/bundles/theseam-ui-common-story-helpers.umd.js.map +1 -1
  59. package/bundles/theseam-ui-common-tabbed.umd.js +5 -5
  60. package/bundles/theseam-ui-common-tabbed.umd.js.map +1 -1
  61. package/bundles/theseam-ui-common-table-cell-type.umd.js +5 -7
  62. package/bundles/theseam-ui-common-table-cell-type.umd.js.map +1 -1
  63. package/bundles/theseam-ui-common-table-cell-types.umd.js +16 -16
  64. package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -1
  65. package/bundles/theseam-ui-common-table.umd.js +5 -5
  66. package/bundles/theseam-ui-common-table.umd.js.map +1 -1
  67. package/bundles/theseam-ui-common-tel-input.umd.js +6 -6
  68. package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -1
  69. package/bundles/theseam-ui-common-testing.umd.js +568 -0
  70. package/bundles/theseam-ui-common-testing.umd.js.map +1 -0
  71. package/bundles/theseam-ui-common-tiled-select.umd.js +56 -39
  72. package/bundles/theseam-ui-common-tiled-select.umd.js.map +1 -1
  73. package/bundles/theseam-ui-common-toggle-edit.umd.js +8 -10
  74. package/bundles/theseam-ui-common-toggle-edit.umd.js.map +1 -1
  75. package/bundles/theseam-ui-common-toggle-group.umd.js +4 -4
  76. package/bundles/theseam-ui-common-toggle-group.umd.js.map +1 -1
  77. package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js +5 -7
  78. package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js.map +1 -1
  79. package/bundles/theseam-ui-common-utils.umd.js +174 -81
  80. package/bundles/theseam-ui-common-utils.umd.js.map +1 -1
  81. package/bundles/theseam-ui-common-validators.umd.js +3 -3
  82. package/bundles/theseam-ui-common-viewers.umd.js +6 -8
  83. package/bundles/theseam-ui-common-viewers.umd.js.map +1 -1
  84. package/bundles/theseam-ui-common-widget.umd.js +18 -20
  85. package/bundles/theseam-ui-common-widget.umd.js.map +1 -1
  86. package/bundles/theseam-ui-common.umd.js +2 -2
  87. package/buttons/theseam-ui-common-buttons.metadata.json +1 -1
  88. package/card/theseam-ui-common-card.metadata.json +1 -1
  89. package/data-filters/data-filter.d.ts +10 -6
  90. package/data-filters/theseam-ui-common-data-filters.metadata.json +1 -1
  91. package/datatable/datatable/datatable.component.d.ts +46 -32
  92. package/datatable/datatable-column/datatable-column.component.d.ts +26 -25
  93. package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +6 -5
  94. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +7 -1
  95. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +1 -1
  96. package/datatable/directives/datatable-filter.directive.d.ts +1 -1
  97. package/datatable/models/columns-alteration.d.ts +61 -0
  98. package/datatable/models/columns-alterations/hide-column.columns-alteration.d.ts +15 -0
  99. package/datatable/models/columns-alterations/order.columns-alteration.d.ts +20 -0
  100. package/datatable/models/columns-alterations/sort.columns-alteration.d.ts +14 -0
  101. package/datatable/models/columns-alterations/width.columns-alteration.d.ts +16 -0
  102. package/datatable/models/datatable-accessor.d.ts +5 -3
  103. package/datatable/models/internal-column-props.d.ts +7 -0
  104. package/datatable/models/page-info.d.ts +12 -0
  105. package/datatable/models/preferences-accessor.d.ts +1 -1
  106. package/datatable/models/preferences.d.ts +11 -3
  107. package/datatable/models/sort-item.d.ts +2 -1
  108. package/datatable/services/columns-alterations-manager.service.d.ts +39 -0
  109. package/datatable/services/columns-manager.service.d.ts +55 -0
  110. package/datatable/services/datatable-preferences.service.d.ts +10 -7
  111. package/datatable/theseam-ui-common-datatable.d.ts +2 -0
  112. package/datatable/theseam-ui-common-datatable.metadata.json +1 -1
  113. package/datatable/tokens/datatable-preferences-accessor.d.ts +2 -2
  114. package/datatable/utils/create-action-menu-column.d.ts +3 -0
  115. package/datatable/utils/create-checkbox-column.d.ts +3 -0
  116. package/datatable/utils/get-column-prop.d.ts +5 -0
  117. package/datatable/utils/map-columns-alterations-states.d.ts +2 -0
  118. package/datatable/utils/remove-unused-diffs.d.ts +7 -0
  119. package/datatable/utils/set-column-defaults.d.ts +2 -0
  120. package/datatable/utils/translate-templates.d.ts +2 -0
  121. package/datatable/utils/with-stored-column-info.d.ts +2 -2
  122. package/datatable-dynamic/theseam-ui-common-datatable-dynamic.metadata.json +1 -1
  123. package/esm2015/buttons/progress-circle-button/progress-circle-button.component.js +1 -1
  124. package/esm2015/card/card-action/card-action.component.js +1 -1
  125. package/esm2015/card/card-body/card-body.component.js +1 -1
  126. package/esm2015/data-filters/data-filter.js +5 -2
  127. package/esm2015/data-filters/filters/data-filter-search/data-filter-search.component.js +1 -1
  128. package/esm2015/data-filters/filters/data-filter-text/data-filter-text.component.js +1 -1
  129. package/esm2015/datatable/datatable/datatable.component.js +195 -211
  130. package/esm2015/datatable/datatable-action-menu/datatable-action-menu.component.js +1 -1
  131. package/esm2015/datatable/datatable-column/datatable-column.component.js +1 -1
  132. package/esm2015/datatable/datatable-column-preferences/datatable-column-preferences.component.js +36 -19
  133. package/esm2015/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.js +38 -4
  134. package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +9 -6
  135. package/esm2015/datatable/datatable-menu-bar/datatable-menu-bar.component.js +1 -1
  136. package/esm2015/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.js +1 -1
  137. package/esm2015/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.js +1 -1
  138. package/esm2015/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.js +1 -1
  139. package/esm2015/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.js +1 -1
  140. package/esm2015/datatable/models/columns-alteration.js +38 -0
  141. package/esm2015/datatable/models/columns-alterations/hide-column.columns-alteration.js +38 -0
  142. package/esm2015/datatable/models/columns-alterations/order.columns-alteration.js +81 -0
  143. package/esm2015/datatable/models/columns-alterations/sort.columns-alteration.js +33 -0
  144. package/esm2015/datatable/models/columns-alterations/width.columns-alteration.js +41 -0
  145. package/esm2015/datatable/models/datatable-accessor.js +1 -1
  146. package/esm2015/datatable/models/internal-column-props.js +15 -0
  147. package/esm2015/datatable/models/page-info.js +1 -1
  148. package/esm2015/datatable/models/preferences-accessor.js +1 -1
  149. package/esm2015/datatable/models/preferences.js +6 -2
  150. package/esm2015/datatable/models/sort-item.js +1 -1
  151. package/esm2015/datatable/services/columns-alterations-manager.service.js +134 -0
  152. package/esm2015/datatable/services/columns-manager.service.js +257 -0
  153. package/esm2015/datatable/services/datatable-preferences.service.js +78 -32
  154. package/esm2015/datatable/theseam-ui-common-datatable.js +3 -1
  155. package/esm2015/datatable/tokens/datatable-preferences-accessor.js +2 -2
  156. package/esm2015/datatable/utils/create-action-menu-column.js +18 -0
  157. package/esm2015/datatable/utils/create-checkbox-column.js +15 -0
  158. package/esm2015/datatable/utils/get-column-prop.js +9 -0
  159. package/esm2015/datatable/utils/map-columns-alterations-states.js +39 -0
  160. package/esm2015/datatable/utils/remove-unused-diffs.js +9 -0
  161. package/esm2015/datatable/utils/set-column-defaults.js +10 -0
  162. package/esm2015/datatable/utils/translate-templates.js +12 -0
  163. package/esm2015/datatable/utils/with-stored-column-info.js +1 -1
  164. package/esm2015/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.js +1 -1
  165. package/esm2015/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.js +1 -1
  166. package/esm2015/datatable-dynamic/datatable-dynamic.component.js +1 -1
  167. package/esm2015/form-field/form-field.component.js +1 -1
  168. package/esm2015/form-field-error/form-field-error/form-field-error.component.js +1 -1
  169. package/esm2015/framework/base-layout/base-layout.component.js +1 -1
  170. package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.component.js +1 -1
  171. package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.js +1 -1
  172. package/esm2015/framework/schema-form-controls/schema-form-input/schema-form-input.component.js +1 -1
  173. package/esm2015/framework/schema-form-controls/schema-form-number/schema-form-number.component.js +1 -1
  174. package/esm2015/framework/schema-form-controls/schema-form-select/schema-form-select.component.js +1 -1
  175. package/esm2015/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.js +1 -1
  176. package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +1 -1
  177. package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +1 -1
  178. package/esm2015/framework/side-nav/side-nav.component.js +1 -1
  179. package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +1 -1
  180. package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +1 -1
  181. package/esm2015/framework/top-bar/top-bar.component.js +1 -1
  182. package/esm2015/graphql/datatable/create-page-info-observable.js +38 -0
  183. package/esm2015/graphql/datatable/datatable-graphql-query-ref.js +236 -0
  184. package/esm2015/graphql/datatable/datatable-graphql.service.js +35 -0
  185. package/esm2015/graphql/datatable/datatable-helpers.js +170 -0
  186. package/esm2015/graphql/datatable/get-page-info.js +11 -0
  187. package/esm2015/graphql/datatable/index.js +7 -0
  188. package/esm2015/graphql/datatable/map-filter-states.js +64 -0
  189. package/esm2015/graphql/datatable/map-page-info.js +14 -0
  190. package/esm2015/graphql/datatable/mapper-context.js +2 -0
  191. package/esm2015/graphql/models/gql-datatable-accessor.js +2 -0
  192. package/esm2015/graphql/models/index.js +2 -1
  193. package/esm2015/graphql/models/query-processing-config.js +1 -1
  194. package/esm2015/graphql/public-api.js +2 -1
  195. package/esm2015/graphql/utils/parse-hints.js +3 -3
  196. package/esm2015/icon/icon/icon.component.js +1 -1
  197. package/esm2015/loading/loading/loading.component.js +1 -1
  198. package/esm2015/menu/menu.component.js +1 -1
  199. package/esm2015/modal/modal-body/modal-body.component.js +1 -1
  200. package/esm2015/modal/modal-container/modal-container.component.js +1 -1
  201. package/esm2015/popover/popover/popover.component.js +1 -1
  202. package/esm2015/progress/progress-circle/progress-circle.component.js +1 -1
  203. package/esm2015/tabbed/tabbed.component.js +1 -1
  204. package/esm2015/table/table/table.component.js +1 -1
  205. package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.js +1 -1
  206. package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.js +1 -1
  207. package/esm2015/tel-input/tel-input/tel-input.component.js +1 -1
  208. package/esm2015/testing/current-tick-time.js +16 -0
  209. package/esm2015/testing/fake-toastr.js +29 -0
  210. package/esm2015/testing/get-harness.js +16 -0
  211. package/esm2015/testing/public-api.js +7 -0
  212. package/esm2015/testing/render-story.js +12 -0
  213. package/esm2015/testing/story-expect.js +39 -0
  214. package/esm2015/testing/theseam-ui-common-testing.js +5 -0
  215. package/esm2015/testing/tick-helper.js +74 -0
  216. package/esm2015/tiled-select/components/tiled-select/tiled-select.component.js +25 -17
  217. package/esm2015/tiled-select/components/tiled-select-tile/tiled-select-tile.component.js +5 -2
  218. package/esm2015/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.js +1 -1
  219. package/esm2015/tiled-select/public-api.js +2 -1
  220. package/esm2015/tiled-select/tiled-select.models.js +1 -1
  221. package/esm2015/tiled-select/tiled-select.module.js +4 -4
  222. package/esm2015/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.js +1 -1
  223. package/esm2015/toggle-edit/toggle-edit.component.js +1 -1
  224. package/esm2015/utils/array-move.js +62 -0
  225. package/esm2015/utils/public-api.js +2 -1
  226. package/esm2015/utils/router/is-empty-url-route.js +1 -1
  227. package/esm2015/utils/subscriber-count.js +31 -4
  228. package/esm2015/widget/widget/widget.component.js +1 -1
  229. package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.component.js +1 -1
  230. package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.component.js +1 -1
  231. package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.component.js +1 -1
  232. package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.component.js +1 -1
  233. package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.component.js +1 -1
  234. package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.component.js +1 -1
  235. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.js +1 -1
  236. package/esm2015/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.js +1 -1
  237. package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +1 -1
  238. package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.component.js +1 -1
  239. package/esm2015/widget/widget-footer/widget-footer.component.js +1 -1
  240. package/fesm2015/theseam-ui-common-buttons.js +1 -1
  241. package/fesm2015/theseam-ui-common-card.js +2 -2
  242. package/fesm2015/theseam-ui-common-data-filters.js +6 -3
  243. package/fesm2015/theseam-ui-common-data-filters.js.map +1 -1
  244. package/fesm2015/theseam-ui-common-datatable-dynamic.js +3 -3
  245. package/fesm2015/theseam-ui-common-datatable.js +1100 -319
  246. package/fesm2015/theseam-ui-common-datatable.js.map +1 -1
  247. package/fesm2015/theseam-ui-common-form-field-error.js +1 -1
  248. package/fesm2015/theseam-ui-common-form-field.js +1 -1
  249. package/fesm2015/theseam-ui-common-framework.js +13 -13
  250. package/fesm2015/theseam-ui-common-graphql.js +555 -5
  251. package/fesm2015/theseam-ui-common-graphql.js.map +1 -1
  252. package/fesm2015/theseam-ui-common-icon.js +1 -1
  253. package/fesm2015/theseam-ui-common-loading.js +1 -1
  254. package/fesm2015/theseam-ui-common-menu.js +1 -1
  255. package/fesm2015/theseam-ui-common-modal.js +2 -2
  256. package/fesm2015/theseam-ui-common-popover.js +1 -1
  257. package/fesm2015/theseam-ui-common-progress.js +1 -1
  258. package/fesm2015/theseam-ui-common-tabbed.js +1 -1
  259. package/fesm2015/theseam-ui-common-table-cell-types.js +2 -2
  260. package/fesm2015/theseam-ui-common-table.js +1 -1
  261. package/fesm2015/theseam-ui-common-tel-input.js +1 -1
  262. package/fesm2015/theseam-ui-common-testing.js +191 -0
  263. package/fesm2015/theseam-ui-common-testing.js.map +1 -0
  264. package/fesm2015/theseam-ui-common-tiled-select.js +34 -21
  265. package/fesm2015/theseam-ui-common-tiled-select.js.map +1 -1
  266. package/fesm2015/theseam-ui-common-toggle-edit.js +2 -2
  267. package/fesm2015/theseam-ui-common-utils.js +92 -4
  268. package/fesm2015/theseam-ui-common-utils.js.map +1 -1
  269. package/fesm2015/theseam-ui-common-widget.js +12 -12
  270. package/form-field/theseam-ui-common-form-field.metadata.json +1 -1
  271. package/form-field-error/theseam-ui-common-form-field-error.metadata.json +1 -1
  272. package/framework/theseam-ui-common-framework.metadata.json +1 -1
  273. package/graphql/datatable/create-page-info-observable.d.ts +4 -0
  274. package/graphql/datatable/datatable-graphql-query-ref.d.ts +65 -0
  275. package/graphql/datatable/datatable-graphql.service.d.ts +26 -0
  276. package/graphql/datatable/datatable-helpers.d.ts +12 -0
  277. package/graphql/datatable/get-page-info.d.ts +4 -0
  278. package/graphql/datatable/index.d.ts +6 -0
  279. package/graphql/datatable/map-filter-states.d.ts +18 -0
  280. package/graphql/datatable/map-page-info.d.ts +11 -0
  281. package/graphql/datatable/mapper-context.d.ts +6 -0
  282. package/graphql/models/gql-datatable-accessor.d.ts +9 -0
  283. package/graphql/models/index.d.ts +1 -0
  284. package/graphql/models/query-processing-config.d.ts +4 -0
  285. package/graphql/public-api.d.ts +1 -0
  286. package/graphql/theseam-ui-common-graphql.metadata.json +1 -1
  287. package/icon/theseam-ui-common-icon.metadata.json +1 -1
  288. package/loading/theseam-ui-common-loading.metadata.json +1 -1
  289. package/menu/theseam-ui-common-menu.metadata.json +1 -1
  290. package/modal/theseam-ui-common-modal.metadata.json +1 -1
  291. package/package.json +1 -1
  292. package/popover/theseam-ui-common-popover.metadata.json +1 -1
  293. package/progress/theseam-ui-common-progress.metadata.json +1 -1
  294. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +54 -52
  295. package/tabbed/theseam-ui-common-tabbed.metadata.json +1 -1
  296. package/table/theseam-ui-common-table.metadata.json +1 -1
  297. package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -1
  298. package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -1
  299. package/testing/current-tick-time.d.ts +13 -0
  300. package/testing/fake-toastr.d.ts +30 -0
  301. package/testing/get-harness.d.ts +7 -0
  302. package/testing/package.json +11 -0
  303. package/testing/public-api.d.ts +6 -0
  304. package/testing/render-story.d.ts +2 -0
  305. package/testing/story-expect.d.ts +5 -0
  306. package/{test-helpers/theseam-ui-common-test-helpers.d.ts → testing/theseam-ui-common-testing.d.ts} +0 -0
  307. package/testing/theseam-ui-common-testing.metadata.json +1 -0
  308. package/{test-helpers → testing}/tick-helper.d.ts +0 -0
  309. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +7 -3
  310. package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +1 -0
  311. package/tiled-select/theseam-ui-common-tiled-select.metadata.json +1 -1
  312. package/tiled-select/tiled-select.models.d.ts +3 -1
  313. package/toggle-edit/theseam-ui-common-toggle-edit.metadata.json +1 -1
  314. package/utils/array-move.d.ts +49 -0
  315. package/utils/public-api.d.ts +1 -0
  316. package/utils/subscriber-count.d.ts +13 -1
  317. package/utils/theseam-ui-common-utils.metadata.json +1 -1
  318. package/widget/theseam-ui-common-widget.metadata.json +1 -1
  319. package/bundles/theseam-ui-common-test-helpers.umd.js +0 -94
  320. package/bundles/theseam-ui-common-test-helpers.umd.js.map +0 -1
  321. package/esm2015/test-helpers/public-api.js +0 -2
  322. package/esm2015/test-helpers/theseam-ui-common-test-helpers.js +0 -5
  323. package/esm2015/test-helpers/tick-helper.js +0 -74
  324. package/fesm2015/theseam-ui-common-test-helpers.js +0 -81
  325. package/fesm2015/theseam-ui-common-test-helpers.js.map +0 -1
  326. package/test-helpers/package.json +0 -11
  327. package/test-helpers/public-api.d.ts +0 -1
  328. package/test-helpers/theseam-ui-common-test-helpers.metadata.json +0 -1
@@ -7,7 +7,7 @@ export declare class DatatableMenuBarComponent implements OnInit, AfterViewInit
7
7
  set filterDirectives(value: QueryList<DatatableFilterDirective> | undefined);
8
8
  private _filterDirectives;
9
9
  private _filtersArr;
10
- readonly filtersChanged: EventEmitter<IDataFilter[]>;
10
+ readonly filtersChanged: EventEmitter<import("@theseam/ui-common/data-filters").DataFilter[]>;
11
11
  constructor();
12
12
  ngOnInit(): void;
13
13
  ngAfterViewInit(): void;
@@ -2,5 +2,5 @@ import { IDataFilter } from '@theseam/ui-common/data-filters';
2
2
  export declare class DatatableFilterDirective {
3
3
  private _filter?;
4
4
  constructor(dataFilters: IDataFilter[]);
5
- get filter(): IDataFilter | undefined;
5
+ get filter(): import("@theseam/ui-common/data-filters").DataFilter | undefined;
6
6
  }
@@ -0,0 +1,61 @@
1
+ import { TheSeamDatatableAccessor } from './datatable-accessor';
2
+ import { TheSeamDatatableColumn } from './table-column';
3
+ export interface ColumnsAlterationState<TState = any> {
4
+ readonly id: string;
5
+ readonly type: string;
6
+ readonly state: TState;
7
+ }
8
+ /**
9
+ * Alteration applied to a column or columns that can be persisted.
10
+ *
11
+ * Tracking if a column was altered by user or library code can be confusing.
12
+ * This allows us to store a list of replayable alterations on columns. By
13
+ * having a defined way to implement alterations, the datatable should be easier
14
+ * to support external features that want to provide an alteration.
15
+ *
16
+ * NOTE: Current, to unapply an alteration you can create an alteration with
17
+ * `persistent` set to false and the alteration will be removed after `apply()`
18
+ * is called.
19
+ */
20
+ export declare abstract class ColumnsAlteration<TState = any> {
21
+ /**
22
+ * Persistable state.
23
+ *
24
+ * Returned value should be JSON stringifyable.
25
+ */
26
+ state: TState;
27
+ /**
28
+ * If false, the state will not be persisted to a persistent storage and
29
+ * will be removed after applied.
30
+ */
31
+ readonly persistent: boolean;
32
+ /**
33
+ * This should be unique to the alteration, but determinable. When an app is
34
+ * reloaded and alterations are restored from a persistable storage this
35
+ * should still be recognizable.
36
+ */
37
+ abstract readonly id: string;
38
+ /**
39
+ * The alteration type.
40
+ *
41
+ * This can be used to group alteraction from a common feature.
42
+ */
43
+ abstract readonly type: string;
44
+ constructor(
45
+ /**
46
+ * Persistable state.
47
+ *
48
+ * Returned value should be JSON stringifyable.
49
+ */
50
+ state: TState,
51
+ /**
52
+ * If false, the state will not be persisted to a persistent storage and
53
+ * will be removed after applied.
54
+ */
55
+ persistent: boolean);
56
+ /**
57
+ * Apply alteration to column.
58
+ */
59
+ abstract apply(columns: TheSeamDatatableColumn[], datatable: TheSeamDatatableAccessor): void;
60
+ toJSON(): ColumnsAlterationState<TState>;
61
+ }
@@ -0,0 +1,15 @@
1
+ import { TableColumnProp } from '@marklb/ngx-datatable';
2
+ import { ColumnsAlteration } from '../columns-alteration';
3
+ import { TheSeamDatatableAccessor } from '../datatable-accessor';
4
+ import { TheSeamDatatableColumn } from '../table-column';
5
+ export interface HideColumnColumnsAlterationState {
6
+ columnProp: TableColumnProp;
7
+ hidden: boolean;
8
+ }
9
+ export declare class HideColumnColumnsAlteration extends ColumnsAlteration<HideColumnColumnsAlterationState> {
10
+ readonly id: string;
11
+ readonly type: string;
12
+ constructor(state: HideColumnColumnsAlterationState, persistent: boolean);
13
+ apply(columns: TheSeamDatatableColumn<any, any>[], datatable: TheSeamDatatableAccessor): void;
14
+ private _isValidState;
15
+ }
@@ -0,0 +1,20 @@
1
+ import { TableColumnProp } from '@marklb/ngx-datatable';
2
+ import { ColumnsAlteration } from '../columns-alteration';
3
+ import { TheSeamDatatableAccessor } from '../datatable-accessor';
4
+ import { TheSeamDatatableColumn } from '../table-column';
5
+ export interface ColumnOrderRecord {
6
+ columnProp: TableColumnProp;
7
+ index: number;
8
+ }
9
+ export interface OrderColumnsAlterationState {
10
+ columns: ColumnOrderRecord[];
11
+ }
12
+ export declare class OrderColumnsAlteration extends ColumnsAlteration<OrderColumnsAlterationState> {
13
+ readonly id: string;
14
+ readonly type: string;
15
+ constructor(state: OrderColumnsAlterationState, persistent: boolean);
16
+ apply(columns: TheSeamDatatableColumn<any, any>[], datatable: TheSeamDatatableAccessor): void;
17
+ private _isValidState;
18
+ private _isColumnOrderRecordValid;
19
+ private _stateColumns;
20
+ }
@@ -0,0 +1,14 @@
1
+ import { SortItem } from '../sort-item';
2
+ import { ColumnsAlteration } from '../columns-alteration';
3
+ import { TheSeamDatatableAccessor } from '../datatable-accessor';
4
+ import { TheSeamDatatableColumn } from '../table-column';
5
+ export interface SortColumnsAlterationState {
6
+ sorts: SortItem[];
7
+ }
8
+ export declare class SortColumnsAlteration extends ColumnsAlteration<SortColumnsAlterationState> {
9
+ readonly id: string;
10
+ readonly type: string;
11
+ constructor(state: SortColumnsAlterationState, persistent: boolean);
12
+ apply(columns: TheSeamDatatableColumn<any, any>[], datatable: TheSeamDatatableAccessor): void;
13
+ private _isValidState;
14
+ }
@@ -0,0 +1,16 @@
1
+ import { TableColumnProp } from '@marklb/ngx-datatable';
2
+ import { ColumnsAlteration } from '../columns-alteration';
3
+ import { TheSeamDatatableAccessor } from '../datatable-accessor';
4
+ import { TheSeamDatatableColumn } from '../table-column';
5
+ export interface WidthColumnsAlterationState {
6
+ columnProp: TableColumnProp;
7
+ width?: number;
8
+ canAutoResize: boolean;
9
+ }
10
+ export declare class WidthColumnsAlteration extends ColumnsAlteration<WidthColumnsAlterationState> {
11
+ readonly id: string;
12
+ readonly type: string;
13
+ constructor(state: WidthColumnsAlterationState, persistent: boolean);
14
+ apply(columns: TheSeamDatatableColumn<any, any>[], datatable: TheSeamDatatableAccessor): void;
15
+ private _isValidState;
16
+ }
@@ -1,16 +1,18 @@
1
1
  import { Observable } from 'rxjs';
2
- import { DataFilterState, IDataFilter } from '@theseam/ui-common/data-filters';
2
+ import { DataFilterState, DataFilter } from '@theseam/ui-common/data-filters';
3
3
  import { TheSeamPageInfo } from './page-info';
4
4
  import { SortEvent } from './sort-event';
5
5
  import { SortItem } from './sort-item';
6
6
  import { TheSeamDatatableColumn } from './table-column';
7
+ import { SortType } from '@marklb/ngx-datatable';
7
8
  export interface TheSeamDatatableAccessor {
8
9
  columns: TheSeamDatatableColumn[];
9
10
  readonly columns$: Observable<TheSeamDatatableColumn[]>;
10
11
  rows: any[];
11
12
  readonly rows$: Observable<any[]>;
12
- filters: IDataFilter[];
13
- readonly filters$: Observable<IDataFilter[]>;
13
+ filters: DataFilter[];
14
+ readonly filters$: Observable<DataFilter[]>;
15
+ sortType: SortType;
14
16
  sorts: SortItem[];
15
17
  sort: Observable<SortEvent>;
16
18
  readonly filterStates: Observable<DataFilterState[]>;
@@ -0,0 +1,7 @@
1
+ import { TheSeamDatatableColumn } from './table-column';
2
+ /**
3
+ * Strings used for columns created and managed
4
+ * by the datatable.
5
+ */
6
+ export declare const INTERNAL_COLUMN_PROPS: string[];
7
+ export declare function isInternalColumn(column: TheSeamDatatableColumn): boolean;
@@ -1,6 +1,18 @@
1
1
  export interface TheSeamPageInfo {
2
+ /**
3
+ * Index of page.
4
+ */
2
5
  offset: number;
6
+ /**
7
+ * Size of a page.
8
+ */
3
9
  pageSize: number;
10
+ /**
11
+ * Max page size.
12
+ */
4
13
  limit?: number;
14
+ /**
15
+ * Number of rows.
16
+ */
5
17
  count: number;
6
18
  }
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- export interface ITheSeamDatatablePreferencesAccessor {
2
+ export interface TheSeamDatatablePreferencesAccessor {
3
3
  /**
4
4
  * Gets a preference.
5
5
  */
@@ -1,9 +1,17 @@
1
- export interface ITheSeamDatatablePreferencesColumn {
1
+ import { ColumnsAlterationState } from './columns-alteration';
2
+ export interface TheSeamDatatablePreferencesColumn {
2
3
  prop: string;
3
4
  width?: number;
4
5
  canAutoResize?: boolean;
5
6
  hidden?: boolean;
6
7
  }
7
- export interface ITheSeamDatatablePreferences {
8
- columns?: ITheSeamDatatablePreferencesColumn[];
8
+ export interface TheSeamDatatablePreferences_v1 {
9
+ columns?: TheSeamDatatablePreferencesColumn[];
9
10
  }
11
+ export interface TheSeamDatatablePreferences_v2 {
12
+ version: 2;
13
+ alterations: ColumnsAlterationState[];
14
+ }
15
+ export declare type TheSeamDatatablePreferences = TheSeamDatatablePreferences_v2;
16
+ export declare const CURRENT_DATATABLE_PREFERENCES_VERSION = 2;
17
+ export declare const EMPTY_DATATABLE_PREFERENCES: TheSeamDatatablePreferences;
@@ -1,4 +1,5 @@
1
+ import { TableColumnProp } from '@marklb/ngx-datatable';
1
2
  export interface SortItem {
2
- prop: string;
3
+ prop: TableColumnProp;
3
4
  dir: 'asc' | 'desc';
4
5
  }
@@ -0,0 +1,39 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ColumnsAlteration } from '../models/columns-alteration';
3
+ import { TheSeamDatatableColumn } from '../models/table-column';
4
+ import { TheSeamDatatableAccessor } from '../models/datatable-accessor';
5
+ export interface ColumnsAlterationsChangedRecord {
6
+ type: 'added' | 'removed';
7
+ alteration: ColumnsAlteration;
8
+ }
9
+ export interface ColumnsAlterationsChangedEvent {
10
+ changes: ColumnsAlterationsChangedRecord[];
11
+ }
12
+ export declare class ColumnsAlterationsManagerService {
13
+ private readonly _changesSubject;
14
+ private _alterations;
15
+ readonly changes: Observable<ColumnsAlterationsChangedEvent>;
16
+ constructor();
17
+ get(): ColumnsAlteration[];
18
+ /**
19
+ * Adds alterations to be applied to columns.
20
+ *
21
+ * If an alteration with the same `id` already exists then the existing
22
+ * alteration will be removed and the new one added.
23
+ *
24
+ * NOTE: When there is a duplicate alteration the old alteration is removed,
25
+ * instead of updated, to maintain the order alterations are applied.
26
+ */
27
+ add(alterations: ColumnsAlteration[], options?: {
28
+ emitEvent?: boolean;
29
+ }): ColumnsAlterationsChangedRecord[];
30
+ remove(alterations: ColumnsAlteration[], options?: {
31
+ emitEvent?: boolean;
32
+ }): ColumnsAlterationsChangedRecord[];
33
+ apply(columns: TheSeamDatatableColumn[], datatable: TheSeamDatatableAccessor): void;
34
+ clear(options?: {
35
+ emitEvent?: boolean;
36
+ }): ColumnsAlterationsChangedRecord[];
37
+ private _removeNonPersistant;
38
+ private _emitChanges;
39
+ }
@@ -0,0 +1,55 @@
1
+ import { KeyValueDiffers, TemplateRef } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { DataTableColumnCellTreeToggle, DataTableColumnDirective, DataTableColumnHeaderDirective, SelectionType, TableColumn } from '@marklb/ngx-datatable';
4
+ import { DatatableColumnComponent } from '../datatable-column/datatable-column.component';
5
+ import { DatatableRowActionItemDirective } from '../directives/datatable-row-action-item.directive';
6
+ import { TheSeamDatatableColumn } from '../models/table-column';
7
+ import { DatatableColumnChangesService } from './datatable-column-changes.service';
8
+ export declare type InternalColumnsGetter = () => TableColumn[];
9
+ export declare class ColumnsManagerService {
10
+ private readonly _differs;
11
+ private readonly _columnChangesService;
12
+ private readonly _updateColumns;
13
+ private readonly _inputColumns;
14
+ private readonly _templateColumns;
15
+ private readonly _inpColDiffersMap;
16
+ private readonly _tplColDiffersMap;
17
+ private readonly _resultColDiffersMap;
18
+ private _colPropsDiffer?;
19
+ private _internalColumnsGetter?;
20
+ private _selectionType;
21
+ private _rowActionItem;
22
+ private _actionMenuCellTpl;
23
+ private _blankHeaderTpl;
24
+ private _treeToggleTpl;
25
+ private _headerTpl;
26
+ private _cellTypeSelectorTpl;
27
+ readonly columns$: Observable<TheSeamDatatableColumn[]>;
28
+ constructor(_differs: KeyValueDiffers, _columnChangesService: DatatableColumnChangesService);
29
+ setInputColumns(columns: TheSeamDatatableColumn[]): void;
30
+ setTemplateColumns(columns: DatatableColumnComponent[]): void;
31
+ setInternalColumnsGetter(getter: InternalColumnsGetter | null): void;
32
+ setSelectionType(selectionType: SelectionType | undefined): void;
33
+ getSelectionType(): SelectionType | undefined;
34
+ setRowActionItem(rowActionItem: DatatableRowActionItemDirective | undefined): void;
35
+ setActionMenuCellTpl(actionMenuCellTpl: TemplateRef<DataTableColumnDirective> | undefined): void;
36
+ setBlankHeaderTpl(blankHeaderTpl: TemplateRef<DataTableColumnHeaderDirective> | undefined): void;
37
+ setTreeToggleTpl(treeToggleTpl: TemplateRef<DataTableColumnCellTreeToggle> | undefined): void;
38
+ setHeaderTpl(headerTpl: TemplateRef<DataTableColumnHeaderDirective> | undefined): void;
39
+ setCellTypeSelectorTpl(cellTypeSelectorTpl: TemplateRef<DataTableColumnDirective> | undefined): void;
40
+ private _mergeColumns;
41
+ private _getInternalColumns;
42
+ private _getInternalColumn;
43
+ private _findColumnByProp;
44
+ private _getDifMapForColumnsType;
45
+ private _getColumnDiffer;
46
+ private _getColDif;
47
+ private _updateColDif;
48
+ private _hasAddedOrRemovedColumns;
49
+ private _hasColumnsChanged;
50
+ private _shouldAddCheckboxColumn;
51
+ private _shouldAddRowActionColumn;
52
+ private _shouldAddTreeToggleColumn;
53
+ private _shouldAddHeaderTemplate;
54
+ private _shouldAddCellTypeSelectorTpl;
55
+ }
@@ -1,19 +1,22 @@
1
1
  import { Observable, Subject } from 'rxjs';
2
- import { ITheSeamDatatablePreferences, ITheSeamDatatablePreferencesColumn } from '../models/preferences';
3
- import type { ITheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor';
2
+ import { TheSeamDatatablePreferences } from '../models/preferences';
3
+ import type { TheSeamDatatablePreferencesAccessor } from '../models/preferences-accessor';
4
+ import { ColumnsAlterationState } from '../models/columns-alteration';
4
5
  export interface IDatatablePreferencesMapRecord {
5
- observable: Observable<ITheSeamDatatablePreferences>;
6
+ observable: Observable<TheSeamDatatablePreferences>;
6
7
  refresh: Subject<void>;
7
8
  }
8
9
  export declare class DatatablePreferencesService {
9
10
  private _prefsAccessor?;
10
11
  private readonly _tablePrefsMap;
11
12
  private _pending;
13
+ private _loaded;
12
14
  get pending(): boolean;
13
- constructor(_prefsAccessor?: ITheSeamDatatablePreferencesAccessor | undefined);
14
- preferences(preferenceKey: string): Observable<ITheSeamDatatablePreferences>;
15
+ get loaded(): boolean;
16
+ constructor(_prefsAccessor?: TheSeamDatatablePreferencesAccessor | undefined);
17
+ preferences(preferenceKey: string): Observable<TheSeamDatatablePreferences>;
15
18
  private _createObservable;
16
19
  refresh(preferenceKey: string): void;
17
- setColumnPreference(preferenceKey: string, column: ITheSeamDatatablePreferencesColumn): void;
18
- withColumnPreferences<T>(preferenceKey: string, columns: T[]): Observable<T[]>;
20
+ setAlterations(preferenceKey: string, alterations: ColumnsAlterationState[]): void;
21
+ private _descerializePreferences;
19
22
  }
@@ -2,4 +2,6 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
+ export { ColumnsAlterationsManagerService as ɵc } from './services/columns-alterations-manager.service';
6
+ export { ColumnsManagerService as ɵb } from './services/columns-manager.service';
5
7
  export { THESEAM_DATATABLE_ACCESSOR as ɵa } from './tokens/datatable-accessor';