@refinitiv-ui/efx-grid 6.0.4 → 6.0.6

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 (277) hide show
  1. package/lib/column-dragging/es6/ColumnDragging.d.ts +13 -11
  2. package/lib/column-dragging/es6/ColumnDragging.js +21 -15
  3. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +1 -1
  4. package/lib/column-format-dialog/lib/column-format-dialog.js +3 -4
  5. package/lib/column-format-dialog/lib/preview-table.js +3 -4
  6. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +2 -2
  7. package/lib/column-selection-dialog/lib/column-selection-dialog.js +23 -7
  8. package/lib/core/dist/core.css +1 -1
  9. package/lib/core/dist/core.js +392 -230
  10. package/lib/core/dist/core.min.js +1 -1
  11. package/lib/core/es6/data/ColumnStats.d.ts +3 -3
  12. package/lib/core/es6/data/DataCache.d.ts +9 -9
  13. package/lib/core/es6/data/DataTable.d.ts +28 -28
  14. package/lib/core/es6/data/DataTable.js +33 -10
  15. package/lib/core/es6/data/DataView.d.ts +62 -62
  16. package/lib/core/es6/data/DataView.js +42 -22
  17. package/lib/core/es6/data/Segment.d.ts +4 -4
  18. package/lib/core/es6/data/SegmentCollection.d.ts +7 -7
  19. package/lib/core/es6/data/WrappedView.d.ts +62 -62
  20. package/lib/core/es6/grid/Core.d.ts +97 -95
  21. package/lib/core/es6/grid/Core.js +180 -26
  22. package/lib/core/es6/grid/ILayoutGrid.d.ts +20 -20
  23. package/lib/core/es6/grid/ILayoutGrid.js +2 -1
  24. package/lib/core/es6/grid/LayoutGrid.d.ts +2 -2
  25. package/lib/core/es6/grid/LayoutGrid.js +18 -10
  26. package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +2 -2
  27. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +14 -3
  28. package/lib/core/es6/grid/components/Cell.d.ts +6 -6
  29. package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +2 -2
  30. package/lib/core/es6/grid/components/CellSpans.d.ts +2 -2
  31. package/lib/core/es6/grid/components/Column.d.ts +2 -2
  32. package/lib/core/es6/grid/components/ElementWrapper.d.ts +19 -19
  33. package/lib/core/es6/grid/components/Scrollbar.d.ts +11 -9
  34. package/lib/core/es6/grid/components/Scrollbar.js +13 -0
  35. package/lib/core/es6/grid/components/StretchedCells.js +12 -2
  36. package/lib/core/es6/grid/event/EventDispatcher.d.ts +3 -3
  37. package/lib/core/es6/grid/event/EventListeners.d.ts +5 -5
  38. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +45 -44
  39. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +62 -65
  40. package/lib/core/es6/grid/util/Conflator.d.ts +4 -4
  41. package/lib/core/es6/grid/util/HttpRequest.d.ts +3 -3
  42. package/lib/core/es6/grid/util/PercentBar.d.ts +8 -8
  43. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +8 -8
  44. package/lib/core/es6/grid/util/RangeBar.d.ts +1 -1
  45. package/lib/core/es6/grid/util/RangeBar.js +1 -1
  46. package/lib/core/es6/grid/util/Reverter.d.ts +1 -1
  47. package/lib/core/es6/grid/util/SectionSettings.d.ts +13 -13
  48. package/lib/core/es6/grid/util/SelectionList.d.ts +2 -2
  49. package/lib/core/es6/grid/util/TrackLayout.d.ts +9 -9
  50. package/lib/core/es6/grid/util/Virtualizer.d.ts +3 -3
  51. package/lib/core/es6/grid/util/util.d.ts +6 -4
  52. package/lib/core/es6/grid/util/util.js +16 -91
  53. package/lib/core/es6/tr-grid-theme.js +1 -1
  54. package/lib/filter-dialog/lib/checkbox-list.d.ts +1 -1
  55. package/lib/filter-dialog/lib/filter-dialog.d.ts +1 -1
  56. package/lib/filter-dialog/lib/filter-dialog.js +27 -9
  57. package/lib/filter-dialog/themes/base-checkbox.less +0 -1
  58. package/lib/filter-dialog/themes/base.less +1 -1
  59. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  60. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +2 -2
  61. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  62. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  63. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +2 -2
  64. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  65. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  66. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +2 -2
  67. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  68. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  69. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +2 -2
  70. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  71. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  72. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +2 -2
  73. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  74. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  75. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +2 -2
  76. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  77. package/lib/grid/index.js +1 -1
  78. package/lib/grid/lib/efx-grid.js +7 -44
  79. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  80. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  81. package/lib/grid/themes/halo/efx-grid.less +5 -5
  82. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  83. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  84. package/lib/row-segmenting/es6/RowSegmenting.d.ts +30 -24
  85. package/lib/row-segmenting/es6/RowSegmenting.js +122 -21
  86. package/lib/rt-grid/dist/rt-grid.js +1354 -435
  87. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  88. package/lib/rt-grid/es6/ColumnDefinition.d.ts +46 -42
  89. package/lib/rt-grid/es6/ColumnDefinition.js +31 -1
  90. package/lib/rt-grid/es6/DataConnector.d.ts +6 -4
  91. package/lib/rt-grid/es6/DataConnector.js +8 -0
  92. package/lib/rt-grid/es6/FieldDefinition.d.ts +2 -2
  93. package/lib/rt-grid/es6/FieldDefinition.js +12 -5
  94. package/lib/rt-grid/es6/Grid.d.ts +106 -91
  95. package/lib/rt-grid/es6/Grid.js +151 -106
  96. package/lib/rt-grid/es6/ReferenceCounter.d.ts +5 -5
  97. package/lib/rt-grid/es6/RowDefSorter.d.ts +2 -2
  98. package/lib/rt-grid/es6/RowDefinition.d.ts +22 -22
  99. package/lib/rt-grid/es6/RowDefinition.js +12 -5
  100. package/lib/rt-grid/es6/SnapshotFiller.d.ts +5 -2
  101. package/lib/rt-grid/es6/SnapshotFiller.js +121 -15
  102. package/lib/rt-grid/es6/StyleLoader.d.ts +1 -1
  103. package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +11 -11
  104. package/lib/tr-grid-cell-selection/es6/CellSelection.js +20 -35
  105. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +18 -16
  106. package/lib/tr-grid-checkbox/es6/Checkbox.js +1 -0
  107. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.d.ts +29 -27
  108. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.js +1 -0
  109. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +28 -14
  110. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +556 -11
  111. package/lib/tr-grid-column-resizing/es6/ColumnResizing.d.ts +2 -2
  112. package/lib/tr-grid-column-resizing/es6/ColumnResizing.js +1 -0
  113. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +2 -3
  114. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +15 -13
  115. package/lib/tr-grid-column-stack/es6/ColumnStack.js +96 -72
  116. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +14 -4
  117. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +314 -114
  118. package/lib/tr-grid-content-wrap/es6/ContentWrap.js +1 -6
  119. package/lib/tr-grid-contextmenu/es6/ContextMenu.js +3 -3
  120. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +2 -2
  121. package/lib/tr-grid-contextmenu/es6/MenuItem.d.ts +2 -2
  122. package/lib/tr-grid-heat-map/es6/HeatMap.d.ts +2 -1
  123. package/lib/tr-grid-heat-map/es6/HeatMap.js +6 -9
  124. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +5 -2
  125. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +311 -71
  126. package/lib/tr-grid-percent-bar/es6/PercentBar.d.ts +1 -1
  127. package/lib/tr-grid-percent-bar/es6/PercentBar.js +8 -11
  128. package/lib/tr-grid-printer/es6/SectionWriter.js +8 -0
  129. package/lib/tr-grid-range-bar/es6/RangeBar.js +3 -10
  130. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +6 -0
  131. package/lib/tr-grid-row-dragging/es6/RowDragging.js +56 -23
  132. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +4 -3
  133. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +57 -13
  134. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +1 -1
  135. package/lib/tr-grid-row-selection/es6/RowSelection.js +16 -13
  136. package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +0 -2
  137. package/lib/tr-grid-rowcoloring/es6/RowColoring.js +1 -40
  138. package/lib/tr-grid-util/es6/CellPainter.d.ts +30 -30
  139. package/lib/tr-grid-util/es6/CellPainter.js +9 -8
  140. package/lib/tr-grid-util/es6/Conflator.d.ts +4 -4
  141. package/lib/tr-grid-util/es6/CoralItems.d.ts +1 -1
  142. package/lib/tr-grid-util/es6/DateTime.d.ts +10 -10
  143. package/lib/tr-grid-util/es6/Deferred.d.ts +3 -1
  144. package/lib/tr-grid-util/es6/Deferred.js +11 -1
  145. package/lib/tr-grid-util/es6/Delay.d.ts +2 -2
  146. package/lib/tr-grid-util/es6/Dom.d.ts +10 -10
  147. package/lib/tr-grid-util/es6/Dom.js +14 -10
  148. package/lib/tr-grid-util/es6/DragUI.js +5 -2
  149. package/lib/tr-grid-util/es6/ElementObserver.d.ts +2 -2
  150. package/lib/tr-grid-util/es6/ElementObserver.js +6 -3
  151. package/lib/tr-grid-util/es6/ElementWrapper.d.ts +4 -4
  152. package/lib/tr-grid-util/es6/ElfDate.d.ts +5 -5
  153. package/lib/tr-grid-util/es6/ElfDate.js +1 -0
  154. package/lib/tr-grid-util/es6/ElfUtil.d.ts +13 -4
  155. package/lib/tr-grid-util/es6/ElfUtil.js +178 -26
  156. package/lib/tr-grid-util/es6/EventDispatcher.d.ts +5 -5
  157. package/lib/tr-grid-util/es6/ExpanderIcon.d.ts +2 -2
  158. package/lib/tr-grid-util/es6/ExpanderIcon.js +1 -1
  159. package/lib/tr-grid-util/es6/Ext.d.ts +1 -1
  160. package/lib/tr-grid-util/es6/FieldFormatter.d.ts +12 -12
  161. package/lib/tr-grid-util/es6/FieldFormatter.js +1 -1
  162. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +13 -13
  163. package/lib/tr-grid-util/es6/FilterBuilder.js +15 -8
  164. package/lib/tr-grid-util/es6/FilterOperators.d.ts +22 -22
  165. package/lib/tr-grid-util/es6/FilterOperators.js +3 -3
  166. package/lib/tr-grid-util/es6/GridPlugin.d.ts +10 -10
  167. package/lib/tr-grid-util/es6/GridPlugin.js +20 -0
  168. package/lib/tr-grid-util/es6/Icon.d.ts +3 -3
  169. package/lib/tr-grid-util/es6/MouseDownTrait.d.ts +8 -8
  170. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +6 -6
  171. package/lib/tr-grid-util/es6/NumberFormatter.d.ts +19 -19
  172. package/lib/tr-grid-util/es6/NumberFormatter.js +1 -1
  173. package/lib/tr-grid-util/es6/PercentBar.d.ts +19 -19
  174. package/lib/tr-grid-util/es6/Perf.d.ts +4 -4
  175. package/lib/tr-grid-util/es6/Popup.d.ts +36 -33
  176. package/lib/tr-grid-util/es6/Popup.js +19 -1
  177. package/lib/tr-grid-util/es6/RangeBar.d.ts +5 -5
  178. package/lib/tr-grid-util/es6/RequestQueue.d.ts +4 -4
  179. package/lib/tr-grid-util/es6/RowPainter.d.ts +37 -4
  180. package/lib/tr-grid-util/es6/RowPainter.js +199 -76
  181. package/lib/tr-grid-util/es6/SubTable.d.ts +14 -14
  182. package/lib/tr-grid-util/es6/Table.d.ts +25 -25
  183. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +1 -1
  184. package/lib/tr-grid-util/es6/Timer.d.ts +1 -1
  185. package/lib/tr-grid-util/es6/TouchProxy.d.ts +9 -9
  186. package/lib/tr-grid-util/es6/Util.d.ts +12 -12
  187. package/lib/tr-grid-util/es6/formula/ADCService.d.ts +1 -1
  188. package/lib/tr-grid-util/es6/formula/ADCSubscription.d.ts +1 -1
  189. package/lib/tr-grid-util/es6/formula/AdFinService.d.ts +1 -1
  190. package/lib/tr-grid-util/es6/formula/AdFinSubscription.d.ts +1 -1
  191. package/lib/tr-grid-util/es6/formula/Engine.d.ts +9 -9
  192. package/lib/tr-grid-util/es6/formula/Formula.d.ts +4 -4
  193. package/lib/tr-grid-util/es6/formula/IntervalSubscription.d.ts +1 -1
  194. package/lib/tr-grid-util/es6/formula/Realtime.d.ts +3 -3
  195. package/lib/tr-grid-util/es6/formula/RealtimeService.d.ts +1 -1
  196. package/lib/tr-grid-util/es6/formula/TSIService.d.ts +1 -1
  197. package/lib/tr-grid-util/es6/formula/TSISubscription.d.ts +1 -1
  198. package/lib/tr-grid-util/es6/formula/VariableToken.d.ts +1 -1
  199. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +1 -1
  200. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +34 -34
  201. package/lib/tr-grid-util/es6/jet/MockArchive.d.ts +1 -1
  202. package/lib/tr-grid-util/es6/jet/MockJET.d.ts +4 -4
  203. package/lib/tr-grid-util/es6/jet/MockJET.js +12 -4
  204. package/lib/tr-grid-util/es6/jet/MockQuotes.d.ts +9 -9
  205. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +17 -9
  206. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +84 -24
  207. package/lib/tr-grid-util/es6/jet/MockRTK.d.ts +42 -2
  208. package/lib/tr-grid-util/es6/jet/MockRTK.js +55 -16
  209. package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +2 -2
  210. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +99 -1
  211. package/lib/types/es6/Checkbox.d.ts +18 -16
  212. package/lib/types/es6/ColumnFormatting.d.ts +29 -27
  213. package/lib/types/es6/ColumnGrouping.d.ts +28 -14
  214. package/lib/types/es6/ColumnResizing.d.ts +2 -2
  215. package/lib/types/es6/ColumnStack.d.ts +15 -13
  216. package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +4 -2
  217. package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +0 -1
  218. package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +1 -1
  219. package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +1 -1
  220. package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +1 -5
  221. package/lib/types/es6/CompositeGrid/Plugin.d.ts +3 -1
  222. package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +2 -1
  223. package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +2 -1
  224. package/lib/types/es6/CompositeGrid/TextWidthCalculator.d.ts +1 -1
  225. package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +0 -1
  226. package/lib/types/es6/ConditionalColoring.d.ts +14 -4
  227. package/lib/types/es6/Core/data/ColumnStats.d.ts +3 -3
  228. package/lib/types/es6/Core/data/DataCache.d.ts +9 -9
  229. package/lib/types/es6/Core/data/DataTable.d.ts +28 -28
  230. package/lib/types/es6/Core/data/DataView.d.ts +62 -62
  231. package/lib/types/es6/Core/data/Segment.d.ts +4 -4
  232. package/lib/types/es6/Core/data/SegmentCollection.d.ts +7 -7
  233. package/lib/types/es6/Core/data/WrappedView.d.ts +62 -62
  234. package/lib/types/es6/Core/grid/Core.d.ts +97 -95
  235. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +20 -20
  236. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +2 -2
  237. package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +2 -2
  238. package/lib/types/es6/Core/grid/components/Cell.d.ts +6 -6
  239. package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +2 -2
  240. package/lib/types/es6/Core/grid/components/CellSpans.d.ts +2 -2
  241. package/lib/types/es6/Core/grid/components/Column.d.ts +2 -2
  242. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +19 -19
  243. package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +11 -9
  244. package/lib/types/es6/Core/grid/event/EventDispatcher.d.ts +3 -3
  245. package/lib/types/es6/Core/grid/event/EventListeners.d.ts +5 -5
  246. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +45 -44
  247. package/lib/types/es6/Core/grid/util/Conflator.d.ts +4 -4
  248. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +3 -3
  249. package/lib/types/es6/Core/grid/util/PercentBar.d.ts +8 -8
  250. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +8 -8
  251. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +1 -1
  252. package/lib/types/es6/Core/grid/util/Reverter.d.ts +1 -1
  253. package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +13 -13
  254. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +2 -2
  255. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +9 -9
  256. package/lib/types/es6/Core/grid/util/Virtualizer.d.ts +3 -3
  257. package/lib/types/es6/Core/grid/util/util.d.ts +6 -4
  258. package/lib/types/es6/HeatMap.d.ts +2 -1
  259. package/lib/types/es6/InCellEditing.d.ts +5 -2
  260. package/lib/types/es6/MenuEventAPI.d.ts +2 -2
  261. package/lib/types/es6/MenuItem.d.ts +2 -2
  262. package/lib/types/es6/PercentBar.d.ts +1 -1
  263. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +46 -42
  264. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +6 -4
  265. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +2 -2
  266. package/lib/types/es6/RealtimeGrid/Grid.d.ts +104 -89
  267. package/lib/types/es6/RealtimeGrid/ReferenceCounter.d.ts +5 -5
  268. package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +2 -2
  269. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +22 -22
  270. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +5 -2
  271. package/lib/types/es6/RealtimeGrid/StyleLoader.d.ts +1 -1
  272. package/lib/types/es6/RowColoring.d.ts +0 -2
  273. package/lib/types/es6/RowDragging.d.ts +6 -0
  274. package/lib/types/es6/RowFiltering.d.ts +4 -3
  275. package/lib/types/es6/RowSegmenting.d.ts +30 -24
  276. package/lib/versions.json +26 -26
  277. package/package.json +2 -2
@@ -2,56 +2,102 @@ import { injectCss, prettifyCss } from "./Util.js";
2
2
  import { ExpanderIcon } from "./ExpanderIcon.js";
3
3
  import { Icon } from "./Icon.js";
4
4
 
5
+ /** @typedef {Object} RowPainter~Options
6
+ * @property {boolean} clickableCell
7
+ * @property {boolean=} headerSpanning
8
+ * @property {boolean=} footerSpanning
9
+ * @property {Function=} onCellClicked
10
+ * @property {Function=} headerMenuClicked
11
+ * @property {boolean=} segmentMode
12
+ */
13
+
14
+ /** @typedef {Object} RowPainter~RenderingOptions
15
+ * @property {number} colIndex
16
+ * @property {number} rowIndex
17
+ * @property {*} cell Cell instance
18
+ * @property {*} section Section instance
19
+ * @property {boolean=} footerRow
20
+ * @property {number} checkboxColumnIndex Exception index for clearing content
21
+ * @property {boolean=} collapsed
22
+ * @property {boolean=} hiddenArrow
23
+ * @property {string=} groupId Text for default content
24
+ * @property {number=} groupLevel
25
+ * @property {boolean=} nonGroupRow
26
+ * @property {string=} colorTagClass CSS class for custom coloring
27
+ * @property {number=} indentSize
28
+ */
29
+
5
30
  /**
6
31
  * @constructor
7
- * @param {Object} options
32
+ * @param {RowPainter~Options=} options
8
33
  */
9
34
  var RowPainter = function(options) {
10
- this._clickableCell = options.clickableCell;
11
- this._headerSpanning = options.headerSpanning;
12
- this._footerSpanning = options.footerSpanning;
13
- this._onCellClicked = options.onCellClicked;
14
- this._headerMenuClicked = options.headerMenuClicked;
15
35
  this._menuIconClicked = this._menuIconClicked.bind(this);
16
- this._segmentMode = options.segmentMode;
36
+
37
+ this.config(options);
17
38
  };
18
39
 
40
+ /** @type {boolean}
41
+ * @private
42
+ */
43
+ RowPainter.prototype._clickableCell = false;
44
+ /** @type {boolean}
45
+ * @private
46
+ */
47
+ RowPainter.prototype._headerSpanning = false;
48
+ /** @type {boolean}
49
+ * @private
50
+ */
51
+ RowPainter.prototype._footerSpanning = false;
52
+ /** @type {boolean}
53
+ * @private
54
+ */
55
+ RowPainter.prototype._segmentMode = false;
56
+
57
+ /** @type {Function}
58
+ * @private
59
+ */
60
+ RowPainter.prototype._onCellClicked = null;
61
+ /** @type {Function}
62
+ * @private
63
+ */
64
+ RowPainter.prototype._headerMenuClicked = null;
65
+
66
+
19
67
  /** @type {string}
20
68
  * @private
21
69
  */
22
70
  RowPainter._styles = prettifyCss([
23
- ".cell.folder", [
24
- "text-align: left;"
25
- ],
26
- ".cell.folder:not(.closed), .cell.folder.main-group", [
71
+ ".cell.folder.tr-stretched.main-group, .cell.folder.tr-stretched:not(.closed)", [
27
72
  "font-weight: 600;"
28
73
  ],
29
74
  ".color-tag::before", [
30
75
  "content: '';",
31
76
  "display: block;",
32
77
  "position: absolute;",
78
+ "left: -1px;",
79
+ "top: -1px;",
33
80
  "width: 2px;",
34
- "height: 100%;",
35
- "left: 0;",
81
+ "height: calc(100% + 2px);",
36
82
  "background-color: var(--grid-expanded-tag-bg-color);"
37
83
  ],
38
84
  ".color-tag.main-group::before", [
39
85
  "top: 2px;",
40
86
  "width: 4px;",
41
- "height: calc(100% - 2px);"
87
+ "height: calc(100% - 1px);"
42
88
  ],
43
89
  ".color-tag.main-group.closed::before", [
44
90
  "top: 2px;",
45
91
  "width: 4px;",
46
- "height: calc(100% - 5px);",
92
+ "height: calc(100% - 3px);",
47
93
  "background-color: var(--grid-tag-bg-color);"
48
94
  ],
95
+ ".color-tag.main-group.closed:hover::before", [
96
+ "background-color: var(--grid-expanded-tag-bg-color);"
97
+ ],
49
98
  ".color-tag-disabled .color-tag::before", [
50
99
  "content: unset;"
51
100
  ],
52
- ".cell.highlighted-row.color-tag::before", [
53
- "background-color: var(--grid-expanded-tag-bg-color);"
54
- ],
55
101
  ".tr-grid .cell .floating-panel .menu-icon", [
56
102
  "display: none;"
57
103
  ],
@@ -64,6 +110,10 @@ RowPainter._styles = prettifyCss([
64
110
  ".folder .menu-icon:hover", [
65
111
  "color: var(--grid-row-menu-icon-hover-color);"
66
112
  ],
113
+ ".tr-lg .cell.group-member", [
114
+ // "background-color: var(TODO);",
115
+ "border-top-style: dashed;"
116
+ ],
67
117
  ":host", [
68
118
  "--grid-tag-bg-color: #333333;",
69
119
  "--grid-expanded-tag-bg-color: #4D4D4D;",
@@ -125,20 +175,30 @@ RowPainter.enableHeaderMenu = function(grid, enabled) {
125
175
  }
126
176
  };
127
177
 
128
- /** @private
129
- * @param {Object} section ILayoutGrid
130
- * @param {number} fromColumnIndex
131
- * @param {number} toColumnIndex
132
- * @param {number} rowIndex
133
- * @param {number} checkboxColumnIndex
178
+ /** @public
179
+ * @param {RowPainter~Options=} options
134
180
  */
135
- RowPainter.prototype._clearCellContent = function(section, fromColumnIndex, toColumnIndex, rowIndex, checkboxColumnIndex) {
136
- if(!this._segmentMode) {
137
- for (var c = fromColumnIndex; c <= toColumnIndex; ++c) {
138
- if (section.isColumnVisible(c) && c !== checkboxColumnIndex) {
139
- section.getCell(c, rowIndex, false).setContent("");
140
- }
141
- }
181
+ RowPainter.prototype.config = function(options) {
182
+ if(!options) {
183
+ return;
184
+ }
185
+ if(options.clickableCell != null) {
186
+ this._clickableCell = options.clickableCell ? true : false;
187
+ }
188
+ if(options.headerSpanning != null) {
189
+ this._headerSpanning = options.headerSpanning ? true : false;
190
+ }
191
+ if(options.footerSpanning != null) {
192
+ this._footerSpanning = options.footerSpanning ? true : false;
193
+ }
194
+ if(options.segmentMode != null) {
195
+ this._segmentMode = options.segmentMode ? true : false;
196
+ }
197
+ if(options.onCellClicked != null) { // TODO: Accept null value for clearing listener at runtime
198
+ this._onCellClicked = options.onCellClicked;
199
+ }
200
+ if(options.headerMenuClicked != null) {
201
+ this._headerMenuClicked = options.headerMenuClicked;
142
202
  }
143
203
  };
144
204
 
@@ -148,39 +208,68 @@ RowPainter.prototype._clearCellContent = function(section, fromColumnIndex, toCo
148
208
  * @param {number} rowIndex
149
209
  */
150
210
  RowPainter.prototype.removeHeaderStyle = function(section, columnIndex, rowIndex) {
211
+ section.enableRowClass(rowIndex, "group-member", false); // TODO: Slow
151
212
  section.enableRowClass(rowIndex, "header", false); // TODO: Slow
152
- section.enableRowClass(rowIndex, "folder", false); // TODO: Slow
213
+
153
214
  var cell = section.unstretchCell(columnIndex, rowIndex);
154
- this._removeHeaderStyle(cell);
215
+ RowPainter._removeHeaderStyle(cell);
155
216
  cell = section.getCell(columnIndex, rowIndex, false);
156
- this._removeHeaderStyle(cell);
217
+ RowPainter._removeHeaderStyle(cell);
157
218
  };
158
219
 
220
+ /** @public
221
+ * @param {Object} section ILayoutGrid
222
+ * @param {number} columnIndex
223
+ * @param {number} rowIndex
224
+ */
225
+ RowPainter.prototype.removeAllStyles = function(section, columnIndex, rowIndex) {
226
+ section.enableRowClass(rowIndex, "group-member", false); // TODO: Slow
227
+ section.enableRowClass(rowIndex, "header", false); // TODO: Slow
228
+
229
+ var cell = section.unstretchCell(columnIndex, rowIndex);
230
+ if(!RowPainter._removeHeaderStyle(cell)) {
231
+ RowPainter._removeContentStyle(cell);
232
+ }
233
+ cell = section.getCell(columnIndex, rowIndex, false);
234
+ if(!RowPainter._removeHeaderStyle(cell)) {
235
+ RowPainter._removeContentStyle(cell);
236
+ }
237
+ };
159
238
  /** @private
160
239
  * @param {Object} cell Cell container
240
+ * @return {boolean} Returns true if group header styles are removed
161
241
  */
162
- RowPainter.prototype._removeHeaderStyle = function(cell) {
163
- if(!cell) {
164
- return;
165
- }
166
-
167
- RowPainter._applyColorTagClass(cell, "");
242
+ RowPainter._removeHeaderStyle = function(cell) {
243
+ if(cell) {
244
+ RowPainter._applyColorTagClass(cell, "");
168
245
 
169
- if(cell._groupHeaderStyle) {
170
- cell._groupHeaderStyle = false;
171
- cell.removeClass("folder");
172
- cell.removeClass("closed");
173
- cell.removeClass("content-header");
246
+ if(cell._groupHeaderStyle) {
247
+ cell._groupHeaderStyle = false;
248
+ cell.removeClass("header");
249
+ cell.removeClass("folder");
250
+ cell.removeClass("closed");
251
+ cell.removeClass("content-header");
252
+ cell.removeClass("main-group");
253
+ RowPainter._removeContentStyle(cell);
254
+ cell.removeIcon();
255
+ cell.unlisten("click", this._onCellClicked);
256
+ return true;
257
+ }
258
+ }
259
+ return false;
260
+ };
261
+ /** @private
262
+ * @param {Object} cell Cell container
263
+ */
264
+ RowPainter._removeContentStyle = function(cell) {
265
+ if(cell) {
174
266
  cell.removeClass("color-tag");
175
- cell.removeClass("main-group");
176
267
  cell.setStyle("paddingLeft", "");
177
- cell.removeIcon();
178
- cell.unlisten("click", this._onCellClicked);
179
268
  }
180
269
  };
181
270
 
182
271
  /** @public
183
- * @param {Object} e
272
+ * @param {RowPainter~RenderingOptions} e
184
273
  */
185
274
  RowPainter.prototype.applyHeaderStyle = function(e) {
186
275
  var mainCol = e.colIndex;
@@ -188,58 +277,87 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
188
277
  var section = e.section;
189
278
  var colCount = section.getColumnCount();
190
279
  var footerRow = e.footerRow;
191
- var stretching = footerRow ? this._footerSpanning : this._headerSpanning;
192
280
  var checkboxColumnIndex = e.checkboxColumnIndex;
193
281
  var cell = e.cell;
194
282
 
283
+ var stretching;
284
+ if(e.spanning != null) {
285
+ stretching = e.spanning;
286
+ } else {
287
+ stretching = footerRow ? this._footerSpanning : this._headerSpanning;
288
+ }
289
+
290
+ section.enableRowClass(e.rowIndex, "group-member", false);
195
291
  if (stretching) {
196
292
  cell = e.cell = section.stretchCell(mainCol, r, stretching, true); // No left stretching. Header background is covered by folder class
293
+
294
+ // Remove content from cells that are on left side of the stretched cell
295
+ this._clearCellContent(section, 0, mainCol, r, checkboxColumnIndex);
197
296
  } else {
198
297
  section.unstretchCell(mainCol, r);
199
298
  section.enableRowClass(r, "header", true);
200
- section.enableRowClass(r, "closed", e.collapsed ? true : false);
201
- // Remove content from cell that appear on right side of mainCol
202
- this._clearCellContent(section, mainCol + 1, colCount - 1, r, checkboxColumnIndex);
299
+ // Remove all content from the header row for rebinding
300
+ this._clearCellContent(section, 0, colCount, r, checkboxColumnIndex);
203
301
  }
204
302
  cell._groupHeaderStyle = true;
205
303
 
206
- // Remove content from cell that appear on left side of mainCol
207
- this._clearCellContent(section, 0, mainCol - 1, r, checkboxColumnIndex);
208
-
209
304
  // Footer rows and some specific group levels contains no expander (arrow)
210
305
  var newIcon = ExpanderIcon.renderOn(cell, e.hiddenArrow);
211
306
  if (newIcon) {
212
307
  newIcon.getElement().addEventListener("click", this._onCellClicked);
213
308
  }
214
309
 
215
- if (!footerRow) {
310
+ if (footerRow) {
311
+ if(stretching) {
312
+ cell.setContent("");
313
+ }
314
+ // TODO: Render color tag for footer rows
315
+ } else {
316
+ cell.enableClass("main-group", e.groupLevel === 1); // For color tag of root group header
317
+ cell.enableClass("closed", e.collapsed ? true : false);
318
+ cell.enableClass("header");
319
+ cell.enableClass("folder");
216
320
  if (stretching) {
217
- cell.addClass("folder"); // Stretched cell is in the cover-layer
218
- } else {
219
- section.enableRowClass(r, "folder", true); // Required by the fallback arrow from the CSS rules. TODO: Change this
321
+ if (this._headerMenuClicked) {
322
+ if (!cell._menuIcon) {
323
+ var icon = cell._menuIcon = Icon.create("more", "menu-icon");
324
+ icon.addEventListener("click", this._menuIconClicked);
325
+ }
326
+ cell.insertFloatingIcon(cell._menuIcon);
327
+ }
220
328
  }
329
+
221
330
  if (this._clickableCell) {
222
- cell.listen("click", this._onCellClicked);
223
- }
224
- if (e.groupId) {
225
- cell.setContent(e.groupId);
331
+ cell.listen("click", this._onCellClicked); // WARNING: content row share this same listener with this header cell
226
332
  }
227
- cell.enableClass("main-group", e.groupLevel === 1);
228
- if (this._headerMenuClicked && stretching) {
229
- if (!cell._menuIcon) {
230
- var icon = cell._menuIcon = Icon.create("more", "menu-icon");
231
- icon.addEventListener("click", this._menuIconClicked);
232
- }
233
- cell.insertFloatingIcon(cell._menuIcon);
333
+ if (!this._segmentMode) {
334
+ cell.setContent(e.groupId || "");
234
335
  }
235
- } else {
236
- cell.setContent("");
237
336
  }
238
- cell.enableClass("closed", e.collapsed ? true : false);
239
337
  cell.enableClass("color-tag", true);
240
338
  RowPainter._applyColorTagClass(cell, e.colorTagClass);
241
339
  cell.setStyle("paddingLeft", (e.indentSize > 0) ? e.indentSize + "px" : "");
242
340
  };
341
+ /** @private
342
+ * @param {Object} section ILayoutGrid
343
+ * @param {number} fromColumnIndex Inclusive
344
+ * @param {number} toColumnIndex Exclusive
345
+ * @param {number} rowIndex
346
+ * @param {number} checkboxColumnIndex
347
+ */
348
+ RowPainter.prototype._clearCellContent = function(section, fromColumnIndex, toColumnIndex, rowIndex, checkboxColumnIndex) {
349
+ if(this._segmentMode) {
350
+ return; // A group separator row has its own data row and does not need to be cleared
351
+ }
352
+ for (var c = fromColumnIndex; c < toColumnIndex; ++c) {
353
+ if (c !== checkboxColumnIndex) {
354
+ var cell = section.getCell(c, rowIndex, false);
355
+ if(cell) {
356
+ cell.setContent("");
357
+ }
358
+ }
359
+ }
360
+ };
243
361
 
244
362
  /** @public
245
363
  * @param {Object} e
@@ -256,7 +374,6 @@ RowPainter.prototype.applyContentAsHeaderStyle = function (e) {
256
374
  newIcon.getElement().addEventListener("click", this._onCellClicked);
257
375
  }
258
376
  };
259
-
260
377
  /** @public
261
378
  * @param {Object} e
262
379
  */
@@ -264,8 +381,14 @@ RowPainter.prototype.applyRowStyle = function(e) {
264
381
  var cell = e.cell;
265
382
  var indentSize = e.indentSize;
266
383
  cell.setStyle("paddingLeft", (indentSize > 0) ? indentSize + "px" : "");
267
- cell.enableClass("color-tag", e.nonGroupRow ? false : true);
384
+ cell.enableClass("color-tag", !e.nonGroupRow);
385
+
268
386
  RowPainter._applyColorTagClass(cell, e.colorTagClass);
387
+
388
+ var section = e.section;
389
+ if(section) {
390
+ section.enableRowClass(e.rowIndex, "group-member", !e.nonGroupRow);
391
+ }
269
392
  };
270
393
 
271
394
  /** @private
@@ -4,19 +4,19 @@ import { ElementWrapper } from "./ElementWrapper.js";
4
4
 
5
5
  declare class SubTable extends ElementWrapper {
6
6
 
7
- constructor(opt_elem?: (Element|string));
7
+ constructor(opt_elem?: (Element|string)|null);
8
8
 
9
- public insertRow(at?: number): Element|null;
9
+ public insertRow(at?: number|null): Element|null;
10
10
 
11
- public addRows(count?: number): (Element)[];
11
+ public addRows(count?: number|null): (Element)[];
12
12
 
13
- public removeRows(count?: number): void;
13
+ public removeRows(count?: number|null): void;
14
14
 
15
15
  public removeAllRows(): void;
16
16
 
17
17
  public setRowCount(val: number): void;
18
18
 
19
- public setDefaultRowHeight(val?: (number|null)): void;
19
+ public setDefaultRowHeight(val?: (number|null)|null): void;
20
20
 
21
21
  public getColumnCount(): number;
22
22
 
@@ -48,27 +48,27 @@ declare class SubTable extends ElementWrapper {
48
48
 
49
49
  public toString(): string;
50
50
 
51
- public getColumnIndex(e: Event): number;
51
+ public getColumnIndex(e: Event|null): number;
52
52
 
53
- public getRowIndex(e: Event): number;
53
+ public getRowIndex(e: Event|null): number;
54
54
 
55
- public getColumnLeft(colIndex: number, rowIndex?: number): number;
55
+ public getColumnLeft(colIndex: number, rowIndex?: number|null): number;
56
56
 
57
- public getRowTop(rowRef: number|Element): number;
57
+ public getRowTop(rowRef: number|Element|null): number;
58
58
 
59
- public getCellPosition(cell: Element, ret_obj?: any): any;
59
+ public getCellPosition(cell: Element|null, ret_obj?: any): any;
60
60
 
61
- public setCellRenderer(func: ((...params: any[]) => any)): void;
61
+ public setCellRenderer(func: ((...params: any[]) => any)|null): void;
62
62
 
63
- public cloak(elem: Element, opt_elementType?: string): void;
63
+ public cloak(elem: Element|null, opt_elementType?: string|null): void;
64
64
 
65
65
  public spanBlock(c1: number, c2: number, r1: number, r2: number): Element|null;
66
66
 
67
- public static parseTableContent(tbl: Element): (string)[][]|null;
67
+ public static parseTableContent(tbl: Element|null): (string)[][]|null;
68
68
 
69
69
  }
70
70
 
71
- declare function tdElem(e: Event): number;
71
+ declare function tdElem(e: Event|null): number;
72
72
 
73
73
  export default SubTable;
74
74
  export { SubTable };
@@ -5,7 +5,7 @@ import { SubTable } from "./SubTable.js";
5
5
 
6
6
  declare class Table extends ElementWrapper {
7
7
 
8
- constructor(elem?: (Element|number), opt_colCount?: (number|any), opt_rowCount?: number);
8
+ constructor(elem?: (Element|number)|null, opt_colCount?: (number|any)|null, opt_rowCount?: number|null);
9
9
 
10
10
  public getTableElement(): Element|null;
11
11
 
@@ -13,17 +13,17 @@ declare class Table extends ElementWrapper {
13
13
 
14
14
  public init(options: any): void;
15
15
 
16
- public addColumns(opt_count?: number): (Element)[]|null;
16
+ public addColumns(opt_count?: number|null): (Element)[]|null;
17
17
 
18
- public removeColumns(opt_count?: number): void;
18
+ public removeColumns(opt_count?: number|null): void;
19
19
 
20
20
  public removeAllColumns(): void;
21
21
 
22
22
  public setColumnCount(val: number): void;
23
23
 
24
- public addRows(opt_count?: number): (Element)[];
24
+ public addRows(opt_count?: number|null): (Element)[];
25
25
 
26
- public removeRows(opt_count?: number): void;
26
+ public removeRows(opt_count?: number|null): void;
27
27
 
28
28
  public removeAllRows(): void;
29
29
 
@@ -49,27 +49,27 @@ declare class Table extends ElementWrapper {
49
49
 
50
50
  public spanHorizontally(r: number, bool: boolean): Element|null;
51
51
 
52
- public setColMinWidths(val: number|string|(string|number)[], opt_at?: number): void;
52
+ public setColMinWidths(val: number|string|(string|number)[]|null, opt_at?: number|null): void;
53
53
 
54
- public setColumnWidths(val: number|string|(string|number)[], opt_at?: number): void;
54
+ public setColumnWidths(val: number|string|(string|number)[]|null, opt_at?: number|null): void;
55
55
 
56
- public setColBackgroundColors(val: string|(string)[], opt_at?: number): void;
56
+ public setColBackgroundColors(val: string|(string)[]|null, opt_at?: number|null): void;
57
57
 
58
- public setColBGColors(val: string|(string)[], opt_at?: number): void;
58
+ public setColBGColors(val: string|(string)[]|null, opt_at?: number|null): void;
59
59
 
60
- public setColBorders(val: number|string|(number|string)[], opt_at?: number): void;
60
+ public setColBorders(val: number|string|(number|string)[]|null, opt_at?: number|null): void;
61
61
 
62
62
  public setSize(width: number, height: number): void;
63
63
 
64
64
  public setCellSize(defaultWidth: number, defaultHeight: number): void;
65
65
 
66
- public setDefaultColumnWidth(val?: (number|null)): void;
66
+ public setDefaultColumnWidth(val?: (number|null)|null): void;
67
67
 
68
- public setDefaultRowHeight(val?: (number|null)): void;
68
+ public setDefaultRowHeight(val?: (number|null)|null): void;
69
69
 
70
70
  public distributeColumnWidth(): void;
71
71
 
72
- public log(opt_rowLimit?: number): void;
72
+ public log(opt_rowLimit?: number|null): void;
73
73
 
74
74
  public getTextContents(): (string)[][];
75
75
 
@@ -81,37 +81,37 @@ declare class Table extends ElementWrapper {
81
81
 
82
82
  public getTableTextContent(): string;
83
83
 
84
- public fixateTableWidth(opt_bool?: boolean): void;
84
+ public fixateTableWidth(opt_bool?: boolean|null): void;
85
85
 
86
- public loosenTableWidth(opt_bool?: boolean): void;
86
+ public loosenTableWidth(opt_bool?: boolean|null): void;
87
87
 
88
- public addHeaderRows(opt_count?: number): (Element)[];
88
+ public addHeaderRows(opt_count?: number|null): (Element)[];
89
89
 
90
90
  public getHeaderCell(c: number, r: number): Element|null;
91
91
 
92
92
  public getAllHeaderCells(): (Element)[];
93
93
 
94
- public removeHeaderRows(opt_count?: number): void;
94
+ public removeHeaderRows(opt_count?: number|null): void;
95
95
 
96
- public addFooterRows(opt_count?: number): (Element)[];
96
+ public addFooterRows(opt_count?: number|null): (Element)[];
97
97
 
98
98
  public getFooterCell(c: number, r: number): Element|null;
99
99
 
100
100
  public getAllFooterCells(): (Element)[];
101
101
 
102
- public removeFooterRows(opt_count?: number): void;
102
+ public removeFooterRows(opt_count?: number|null): void;
103
103
 
104
- public getColumnIndex(e: Event): number;
104
+ public getColumnIndex(e: Event|null): number;
105
105
 
106
- public getRowIndex(e: Event): number;
106
+ public getRowIndex(e: Event|null): number;
107
107
 
108
- public getColumnLeft(colIndex: number, rowIndex?: number): number;
108
+ public getColumnLeft(colIndex: number, rowIndex?: number|null): number;
109
109
 
110
- public getRowTop(rowRef: number|Element): number;
110
+ public getRowTop(rowRef: number|Element|null): number;
111
111
 
112
- public getCellPosition(cell: Element, ret_obj?: any): any;
112
+ public getCellPosition(cell: Element|null, ret_obj?: any): any;
113
113
 
114
- public cloak(tblElem: Element): void;
114
+ public cloak(tblElem: Element|null): void;
115
115
 
116
116
  public getBody(): SubTable|null;
117
117
 
@@ -12,7 +12,7 @@ declare namespace TextHighlighter {
12
12
 
13
13
  }
14
14
 
15
- declare function score(haystack: string, needle: string|RegExp, caseSensitive?: (boolean|number)): (string)[];
15
+ declare function score(haystack: string, needle: string|RegExp|null, caseSensitive?: (boolean|number)|null): (string)[];
16
16
 
17
17
  export default TextHighlighter;
18
18
  export {TextHighlighter};
@@ -2,7 +2,7 @@
2
2
 
3
3
  declare class Timer {
4
4
 
5
- constructor(duration: number, func?: ((...params: any[]) => any), ctx?: any);
5
+ constructor(duration: number, func?: ((...params: any[]) => any)|null, ctx?: any);
6
6
 
7
7
  public start(): void;
8
8
 
@@ -4,27 +4,27 @@ import {EventDispatcher} from "./EventDispatcher.js";
4
4
  declare namespace TouchProxy {
5
5
 
6
6
  type Options = {
7
- useTouchMove?: boolean,
8
- preventDefault?: boolean
7
+ useTouchMove?: boolean|null,
8
+ preventDefault?: boolean|null
9
9
  };
10
10
 
11
11
  }
12
12
 
13
13
  declare class TouchProxy extends EventDispatcher {
14
14
 
15
- constructor(elem?: Element, options?: (boolean|any));
15
+ constructor(elem?: Element|null, options?: (boolean|any)|null);
16
16
 
17
17
  public static readonly passive: EventListenerOptions;
18
18
 
19
19
  public getElement(): Element|null;
20
20
 
21
- public setElement(elem?: Element): void;
21
+ public setElement(elem?: Element|null): void;
22
22
 
23
- public applyTrait(elem: Element): void;
23
+ public applyTrait(elem: Element|null): void;
24
24
 
25
25
  public dispose(): void;
26
26
 
27
- public addTouchListeners(touchStartFunc?: ((...params: any[]) => any), touchEndFunc?: ((...params: any[]) => any), touchMoveFunc?: ((...params: any[]) => any)): void;
27
+ public addTouchListeners(touchStartFunc?: ((...params: any[]) => any)|null, touchEndFunc?: ((...params: any[]) => any)|null, touchMoveFunc?: ((...params: any[]) => any)|null): void;
28
28
 
29
29
  public removeTouchListeners(): void;
30
30
 
@@ -32,13 +32,13 @@ declare class TouchProxy extends EventDispatcher {
32
32
 
33
33
  public detachTouchMoveEvent(): void;
34
34
 
35
- public attachTouchEvents(touchMove?: boolean): void;
35
+ public attachTouchEvents(touchMove?: boolean|null): void;
36
36
 
37
37
  public detachTouchEvents(): void;
38
38
 
39
- public static getButtonType(e: Event): number;
39
+ public static getButtonType(e: Event|null): number;
40
40
 
41
- public static getPosition(e: Event|any, obj?: any): any;
41
+ public static getPosition(e: Event|any|null, obj?: any): any;
42
42
 
43
43
  }
44
44