@refinitiv-ui/efx-grid 6.0.1 → 6.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 (268) hide show
  1. package/lib/column-dragging/es6/ColumnDragging.d.ts +49 -0
  2. package/lib/column-dragging/es6/ColumnDragging.js +764 -0
  3. package/lib/column-dragging/es6/index.d.ts +1 -0
  4. package/lib/column-dragging/es6/index.js +1 -0
  5. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +13 -1
  6. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +15 -2
  7. package/lib/column-selection-dialog/lib/column-selection-dialog.js +226 -23
  8. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
  9. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  10. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
  11. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
  12. package/lib/core/dist/core.css +1 -1
  13. package/lib/core/dist/core.js +17835 -16266
  14. package/lib/core/dist/core.min.js +1 -1
  15. package/lib/core/es6/data/ColumnStats.d.ts +2 -2
  16. package/lib/core/es6/data/DataCache.d.ts +4 -4
  17. package/lib/core/es6/data/DataTable.d.ts +5 -5
  18. package/lib/core/es6/data/DataTable.js +33 -11
  19. package/lib/core/es6/data/DataView.d.ts +26 -17
  20. package/lib/core/es6/data/DataView.js +172 -49
  21. package/lib/core/es6/data/Segment.d.ts +2 -0
  22. package/lib/core/es6/data/Segment.js +7 -0
  23. package/lib/core/es6/data/SegmentCollection.d.ts +3 -3
  24. package/lib/core/es6/data/WrappedView.d.ts +289 -0
  25. package/lib/core/es6/data/WrappedView.js +1319 -0
  26. package/lib/core/es6/grid/Core.d.ts +42 -27
  27. package/lib/core/es6/grid/Core.js +431 -163
  28. package/lib/core/es6/grid/ILayoutGrid.d.ts +23 -15
  29. package/lib/core/es6/grid/ILayoutGrid.js +45 -2
  30. package/lib/core/es6/grid/LayoutGrid.d.ts +10 -1
  31. package/lib/core/es6/grid/LayoutGrid.js +311 -108
  32. package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +10 -1
  33. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +382 -24
  34. package/lib/core/es6/grid/components/Cell.d.ts +4 -4
  35. package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +1 -1
  36. package/lib/core/es6/grid/components/CellSpans.d.ts +8 -8
  37. package/lib/core/es6/grid/components/Column.d.ts +1 -1
  38. package/lib/core/es6/grid/components/Column.js +8 -2
  39. package/lib/core/es6/grid/components/ElementWrapper.d.ts +6 -6
  40. package/lib/core/es6/grid/components/HScrollbar.d.ts +4 -0
  41. package/lib/core/es6/grid/components/HScrollbar.js +20 -4
  42. package/lib/core/es6/grid/components/Scrollbar.d.ts +1 -1
  43. package/lib/core/es6/grid/components/StretchedCells.js +2 -2
  44. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +14 -6
  45. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +147 -81
  46. package/lib/core/es6/grid/util/Conflator.d.ts +2 -2
  47. package/lib/core/es6/grid/util/ElementFrameWork.d.ts +3 -3
  48. package/lib/core/es6/grid/util/HttpRequest.d.ts +2 -2
  49. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +1 -1
  50. package/lib/core/es6/grid/util/RangeBar.d.ts +1 -1
  51. package/lib/core/es6/grid/util/SectionSettings.d.ts +5 -5
  52. package/lib/core/es6/grid/util/SectionSettings.js +5 -0
  53. package/lib/core/es6/grid/util/SelectionList.d.ts +2 -2
  54. package/lib/core/es6/grid/util/TrackLayout.d.ts +7 -3
  55. package/lib/core/es6/grid/util/TrackLayout.js +29 -3
  56. package/lib/core/es6/grid/util/util.d.ts +2 -2
  57. package/lib/core/es6/index.d.ts +1 -5
  58. package/lib/core/es6/index.js +1 -7
  59. package/lib/core/es6/tr-grid-theme.js +1 -1
  60. package/lib/filter-dialog/lib/checkbox-list.d.ts +13 -1
  61. package/lib/filter-dialog/lib/filter-dialog.d.ts +14 -1
  62. package/lib/filter-dialog/lib/filter-dialog.js +94 -32
  63. package/lib/filter-dialog/themes/base-checkbox.less +8 -1
  64. package/lib/filter-dialog/themes/base.less +69 -1
  65. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  66. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +2 -2
  67. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  68. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  69. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +2 -2
  70. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  71. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  72. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +2 -2
  73. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  74. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  75. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +2 -2
  76. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  77. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  78. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +2 -2
  79. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  80. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  81. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +2 -2
  82. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  83. package/lib/grid/lib/efx-grid.d.ts +30 -8
  84. package/lib/grid/lib/efx-grid.js +120 -115
  85. package/lib/grid/themes/base.less +5 -3
  86. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  87. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  88. package/lib/grid/themes/halo/efx-grid.less +72 -41
  89. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  90. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  91. package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
  92. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
  93. package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
  94. package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.js +2 -0
  97. package/lib/row-segmenting/es6/RowSegmenting.d.ts +8 -2
  98. package/lib/row-segmenting/es6/RowSegmenting.js +137 -21
  99. package/lib/rt-grid/dist/rt-grid.js +11017 -9193
  100. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  101. package/lib/rt-grid/es6/ColumnDefinition.d.ts +9 -4
  102. package/lib/rt-grid/es6/ColumnDefinition.js +20 -108
  103. package/lib/rt-grid/es6/DataConnector.d.ts +3 -3
  104. package/lib/rt-grid/es6/Grid.d.ts +30 -15
  105. package/lib/rt-grid/es6/Grid.js +436 -167
  106. package/lib/rt-grid/es6/RowDefSorter.d.ts +19 -0
  107. package/lib/rt-grid/es6/RowDefSorter.js +137 -0
  108. package/lib/rt-grid/es6/RowDefinition.d.ts +12 -7
  109. package/lib/rt-grid/es6/RowDefinition.js +58 -2
  110. package/lib/rt-grid/es6/SnapshotFiller.d.ts +3 -1
  111. package/lib/rt-grid/es6/SnapshotFiller.js +23 -0
  112. package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +1 -1
  113. package/lib/tr-grid-cell-selection/es6/CellSelection.js +53 -40
  114. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +6 -3
  115. package/lib/tr-grid-checkbox/es6/Checkbox.js +79 -34
  116. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +1 -0
  117. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +10 -0
  118. package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +5 -1
  119. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +269 -10
  120. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +8 -4
  121. package/lib/tr-grid-column-stack/es6/ColumnStack.js +243 -125
  122. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +1 -1
  123. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +24 -13
  124. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +4 -2
  125. package/lib/tr-grid-filter-input/es6/FilterInput.js +73 -10
  126. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +8 -5
  127. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +106 -3
  128. package/lib/tr-grid-printer/es6/CellWriter.d.ts +3 -3
  129. package/lib/tr-grid-printer/es6/GridPrinter.d.ts +1 -1
  130. package/lib/tr-grid-printer/es6/GridPrinter.js +26 -13
  131. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +2 -2
  132. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +3 -3
  133. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +3 -4
  134. package/lib/tr-grid-row-dragging/es6/RowDragging.js +108 -127
  135. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
  136. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +88 -33
  137. package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +7 -2
  138. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +138 -38
  139. package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +13 -9
  140. package/lib/tr-grid-row-selection/es6/RowSelection.js +230 -29
  141. package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +2 -0
  142. package/lib/tr-grid-rowcoloring/es6/RowColoring.js +36 -0
  143. package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +1 -1
  144. package/lib/tr-grid-textformatting/es6/TextFormatting.js +12 -0
  145. package/lib/tr-grid-util/es6/CellPainter.d.ts +8 -8
  146. package/lib/tr-grid-util/es6/Conflator.d.ts +2 -2
  147. package/lib/tr-grid-util/es6/CoralItems.d.ts +1 -1
  148. package/lib/tr-grid-util/es6/DateTime.d.ts +4 -4
  149. package/lib/tr-grid-util/es6/Delay.d.ts +1 -1
  150. package/lib/tr-grid-util/es6/Dom.d.ts +4 -4
  151. package/lib/tr-grid-util/es6/DragUI.d.ts +16 -0
  152. package/lib/tr-grid-util/es6/DragUI.js +214 -0
  153. package/lib/tr-grid-util/es6/ElementObserver.d.ts +2 -0
  154. package/lib/tr-grid-util/es6/ElementObserver.js +28 -1
  155. package/lib/tr-grid-util/es6/ElementWrapper.d.ts +1 -1
  156. package/lib/tr-grid-util/es6/ElfDate.d.ts +3 -3
  157. package/lib/tr-grid-util/es6/ElfUtil.d.ts +4 -4
  158. package/lib/tr-grid-util/es6/ElfUtil.js +1 -1
  159. package/lib/tr-grid-util/es6/EventDispatcher.d.ts +1 -1
  160. package/lib/tr-grid-util/es6/ExpanderIcon.js +2 -2
  161. package/lib/tr-grid-util/es6/FieldFormatter.d.ts +1 -1
  162. package/lib/tr-grid-util/es6/FieldFormatter.js +7 -5
  163. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +5 -5
  164. package/lib/tr-grid-util/es6/GridPlugin.d.ts +3 -3
  165. package/lib/tr-grid-util/es6/GridPlugin.js +8 -4
  166. package/lib/tr-grid-util/es6/MouseDownTrait.d.ts +1 -1
  167. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +10 -2
  168. package/lib/tr-grid-util/es6/MultiTableManager.js +164 -57
  169. package/lib/tr-grid-util/es6/NumberFormatter.d.ts +2 -0
  170. package/lib/tr-grid-util/es6/NumberFormatter.js +64 -19
  171. package/lib/tr-grid-util/es6/PercentBar.d.ts +1 -1
  172. package/lib/tr-grid-util/es6/Perf.d.ts +4 -4
  173. package/lib/tr-grid-util/es6/Popup.d.ts +2 -2
  174. package/lib/tr-grid-util/es6/RequestQueue.d.ts +1 -1
  175. package/lib/tr-grid-util/es6/RowPainter.d.ts +3 -0
  176. package/lib/tr-grid-util/es6/RowPainter.js +120 -28
  177. package/lib/tr-grid-util/es6/SubTable.d.ts +9 -9
  178. package/lib/tr-grid-util/es6/Table.d.ts +13 -13
  179. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +3 -3
  180. package/lib/tr-grid-util/es6/TickCodes.d.ts +2 -2
  181. package/lib/tr-grid-util/es6/TouchProxy.d.ts +1 -1
  182. package/lib/tr-grid-util/es6/Util.d.ts +6 -6
  183. package/lib/tr-grid-util/es6/formula/Engine.d.ts +5 -5
  184. package/lib/tr-grid-util/es6/formula/Formula.d.ts +3 -3
  185. package/lib/tr-grid-util/es6/formula/Formula.js +9 -1
  186. package/lib/tr-grid-util/es6/formula/RealtimeService.d.ts +1 -1
  187. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +2 -2
  188. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +4 -4
  189. package/lib/tr-grid-util/es6/jet/MockArchive.d.ts +1 -1
  190. package/lib/tr-grid-util/es6/jet/MockJET.d.ts +4 -4
  191. package/lib/tr-grid-util/es6/jet/MockQuotes.d.ts +11 -11
  192. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +7 -7
  193. package/lib/tr-grid-util/es6/jet/MockRTK.d.ts +1 -1
  194. package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +1 -1
  195. package/lib/tr-grid-util/es6/jsx.d.ts +223 -0
  196. package/lib/types/es6/CellSelection.d.ts +1 -1
  197. package/lib/types/es6/Checkbox.d.ts +6 -3
  198. package/lib/types/es6/ColumnGrouping.d.ts +1 -0
  199. package/lib/types/es6/ColumnSelection.d.ts +5 -1
  200. package/lib/types/es6/ColumnStack.d.ts +8 -4
  201. package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +3 -2
  202. package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +2 -1
  203. package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +20 -18
  204. package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +2 -1
  205. package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +3 -2
  206. package/lib/types/es6/CompositeGrid/Plugin.d.ts +28 -0
  207. package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +2 -1
  208. package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +5 -4
  209. package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +2 -1
  210. package/lib/types/es6/CompositeGrid/index.d.ts +9 -9
  211. package/lib/types/es6/ConditionalColoring.d.ts +1 -1
  212. package/lib/types/es6/Core/data/ColumnStats.d.ts +2 -2
  213. package/lib/types/es6/Core/data/DataCache.d.ts +4 -4
  214. package/lib/types/es6/Core/data/DataTable.d.ts +5 -5
  215. package/lib/types/es6/Core/data/DataView.d.ts +26 -17
  216. package/lib/types/es6/Core/data/Segment.d.ts +2 -0
  217. package/lib/types/es6/Core/data/SegmentCollection.d.ts +3 -3
  218. package/lib/types/es6/Core/data/WrappedView.d.ts +289 -0
  219. package/lib/types/es6/Core/grid/Core.d.ts +42 -27
  220. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +23 -15
  221. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +10 -1
  222. package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +10 -1
  223. package/lib/types/es6/Core/grid/components/Cell.d.ts +4 -4
  224. package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +1 -1
  225. package/lib/types/es6/Core/grid/components/CellSpans.d.ts +8 -8
  226. package/lib/types/es6/Core/grid/components/Column.d.ts +1 -1
  227. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +6 -6
  228. package/lib/types/es6/Core/grid/components/HScrollbar.d.ts +4 -0
  229. package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +1 -1
  230. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +14 -6
  231. package/lib/types/es6/Core/grid/util/Conflator.d.ts +2 -2
  232. package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +3 -3
  233. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +2 -2
  234. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +1 -1
  235. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +1 -1
  236. package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +5 -5
  237. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +2 -2
  238. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +7 -3
  239. package/lib/types/es6/Core/grid/util/util.d.ts +2 -2
  240. package/lib/types/es6/Core/index.d.ts +1 -5
  241. package/lib/types/es6/ExtensionOptions.d.ts +2 -0
  242. package/lib/types/es6/FilterInput.d.ts +4 -2
  243. package/lib/types/es6/InCellEditing.d.ts +8 -5
  244. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +9 -4
  245. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +3 -3
  246. package/lib/types/es6/RealtimeGrid/Grid.d.ts +31 -16
  247. package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +19 -0
  248. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +12 -7
  249. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +3 -1
  250. package/lib/types/es6/RowColoring.d.ts +2 -0
  251. package/lib/types/es6/RowDragging.d.ts +3 -4
  252. package/lib/types/es6/RowFiltering.d.ts +2 -0
  253. package/lib/types/es6/RowGrouping.d.ts +7 -2
  254. package/lib/types/es6/RowSegmenting.d.ts +8 -2
  255. package/lib/types/es6/RowSelection.d.ts +13 -9
  256. package/lib/types/es6/TextFormatting.d.ts +1 -1
  257. package/lib/types/es6/Zoom.d.ts +2 -1
  258. package/lib/types/es6/index.d.ts +3 -0
  259. package/lib/versions.json +22 -21
  260. package/lib/zoom/es6/Zoom.d.ts +2 -1
  261. package/lib/zoom/es6/Zoom.js +11 -4
  262. package/package.json +7 -7
  263. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
  264. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.js +0 -615
  265. package/lib/core/es6/grid/plugins/Plugin.d.ts +0 -28
  266. package/lib/core/es6/grid/plugins/Plugin.js +0 -272
  267. package/lib/types/es6/Core/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
  268. package/lib/types/es6/Core/grid/plugins/Plugin.d.ts +0 -28
@@ -1,5 +1,6 @@
1
1
  import { injectCss, prettifyCss } from "./Util.js";
2
2
  import { ExpanderIcon } from "./ExpanderIcon.js";
3
+ import { Icon } from "./Icon.js";
3
4
 
4
5
  /**
5
6
  * @constructor
@@ -10,6 +11,9 @@ var RowPainter = function(options) {
10
11
  this._headerSpanning = options.headerSpanning;
11
12
  this._footerSpanning = options.footerSpanning;
12
13
  this._onCellClicked = options.onCellClicked;
14
+ this._headerMenuClicked = options.headerMenuClicked;
15
+ this._menuIconClicked = this._menuIconClicked.bind(this);
16
+ this._segmentMode = options.segmentMode;
13
17
  };
14
18
 
15
19
  /** @type {string}
@@ -19,6 +23,9 @@ RowPainter._styles = prettifyCss([
19
23
  ".cell.folder", [
20
24
  "text-align: left;"
21
25
  ],
26
+ ".cell.folder:not(.closed), .cell.folder.main-group", [
27
+ "font-weight: 600;"
28
+ ],
22
29
  ".color-tag::before", [
23
30
  "content: '';",
24
31
  "display: block;",
@@ -26,7 +33,7 @@ RowPainter._styles = prettifyCss([
26
33
  "width: 2px;",
27
34
  "height: 100%;",
28
35
  "left: 0;",
29
- "background-color: var(--expanded-tag-bg-color);"
36
+ "background-color: var(--grid-expanded-tag-bg-color);"
30
37
  ],
31
38
  ".color-tag.main-group::before", [
32
39
  "top: 2px;",
@@ -37,20 +44,57 @@ RowPainter._styles = prettifyCss([
37
44
  "top: 2px;",
38
45
  "width: 4px;",
39
46
  "height: calc(100% - 5px);",
40
- "background-color: var(--tag-bg-color);"
47
+ "background-color: var(--grid-tag-bg-color);"
41
48
  ],
42
49
  ".color-tag-disabled .color-tag::before", [
43
50
  "content: unset;"
44
51
  ],
45
52
  ".cell.highlighted-row.color-tag::before", [
46
- "background-color: var(--expanded-tag-bg-color);"
53
+ "background-color: var(--grid-expanded-tag-bg-color);"
54
+ ],
55
+ ".tr-grid .cell .floating-panel .menu-icon", [
56
+ "display: none;"
57
+ ],
58
+ ".tr-grid.row-menu-enabled .cell:hover .menu-icon", [
59
+ "display: inline-block;"
60
+ ],
61
+ ".folder .menu-icon", [
62
+ "color: var(--grid-row-menu-icon-color);"
63
+ ],
64
+ ".folder .menu-icon:hover", [
65
+ "color: var(--grid-row-menu-icon-hover-color);"
47
66
  ],
48
67
  ":host", [
49
- "--tag-bg-color: #333333;",
50
- "--expanded-tag-bg-color: #4D4D4D;"
68
+ "--grid-tag-bg-color: #333333;",
69
+ "--grid-expanded-tag-bg-color: #4D4D4D;",
70
+ "--grid-row-menu-icon-color: #CCCCCC;",
71
+ "--grid-row-menu-icon-hover-color: #FFFFFF;"
51
72
  ]
52
73
  ]);
53
74
 
75
+ /** @private
76
+ * @param {Object} cell
77
+ * @param {string=} className
78
+ */
79
+ RowPainter._applyColorTagClass = function(cell, className) {
80
+ if (!cell) {
81
+ return;
82
+ }
83
+ var el = cell.getElement();
84
+ if (el) {
85
+ if (el._tagColoringClass !== className) {
86
+ if (el._tagColoringClass) {
87
+ el.classList.remove(el._tagColoringClass);
88
+ el._tagColoringClass = null;
89
+ }
90
+ if (className) {
91
+ el.classList.add(className);
92
+ el._tagColoringClass = className;
93
+ }
94
+ }
95
+ }
96
+ };
97
+
54
98
  /** @public
55
99
  * @param {tr.Grid} grid
56
100
  */
@@ -71,6 +115,16 @@ RowPainter.disableColorTag = function(grid, disabled) {
71
115
  }
72
116
  };
73
117
 
118
+ /** @public
119
+ * @param {tr.Grid} grid
120
+ * @param {boolean=} enabled
121
+ */
122
+ RowPainter.enableHeaderMenu = function(grid, enabled) {
123
+ if (grid) {
124
+ grid.enableClass("row-menu-enabled", enabled ? true : false);
125
+ }
126
+ };
127
+
74
128
  /** @private
75
129
  * @param {Object} section ILayoutGrid
76
130
  * @param {number} fromColumnIndex
@@ -78,10 +132,12 @@ RowPainter.disableColorTag = function(grid, disabled) {
78
132
  * @param {number} rowIndex
79
133
  * @param {number} checkboxColumnIndex
80
134
  */
81
- RowPainter._clearCellContent = function(section, fromColumnIndex, toColumnIndex, rowIndex, checkboxColumnIndex) {
82
- for (var c = fromColumnIndex; c <= toColumnIndex; ++c) {
83
- if (section.isColumnVisible(c) && c !== checkboxColumnIndex) {
84
- section.getCell(c, rowIndex, false).setContent("");
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
+ }
85
141
  }
86
142
  }
87
143
  };
@@ -92,21 +148,35 @@ RowPainter._clearCellContent = function(section, fromColumnIndex, toColumnIndex,
92
148
  * @param {number} rowIndex
93
149
  */
94
150
  RowPainter.prototype.removeHeaderStyle = function(section, columnIndex, rowIndex) {
95
- var cell = section.getCell(columnIndex, rowIndex, false);
96
- if (!cell) {
151
+ section.enableRowClass(rowIndex, "header", false); // TODO: Slow
152
+ section.enableRowClass(rowIndex, "folder", false); // TODO: Slow
153
+ var cell = section.unstretchCell(columnIndex, rowIndex);
154
+ this._removeHeaderStyle(cell);
155
+ cell = section.getCell(columnIndex, rowIndex, false);
156
+ this._removeHeaderStyle(cell);
157
+ };
158
+
159
+ /** @private
160
+ * @param {Object} cell Cell container
161
+ */
162
+ RowPainter.prototype._removeHeaderStyle = function(cell) {
163
+ if(!cell) {
97
164
  return;
98
165
  }
99
166
 
100
- section.unstretchCell(columnIndex, rowIndex);
101
- section.enableRowClass(rowIndex, "header", false); // TODO: Slow
102
- cell.removeClass("folder");
103
- cell.removeClass("closed");
104
- cell.removeClass("content-header");
105
- cell.removeClass("color-tag");
106
- cell.removeClass("main-group");
107
- cell.setStyle("paddingLeft", "");
108
- cell.removeIcon();
109
- cell.unlisten("click", this._onCellClicked);
167
+ RowPainter._applyColorTagClass(cell, "");
168
+
169
+ if(cell._groupHeaderStyle) {
170
+ cell._groupHeaderStyle = false;
171
+ cell.removeClass("folder");
172
+ cell.removeClass("closed");
173
+ cell.removeClass("content-header");
174
+ cell.removeClass("color-tag");
175
+ cell.removeClass("main-group");
176
+ cell.setStyle("paddingLeft", "");
177
+ cell.removeIcon();
178
+ cell.unlisten("click", this._onCellClicked);
179
+ }
110
180
  };
111
181
 
112
182
  /** @public
@@ -127,13 +197,14 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
127
197
  } else {
128
198
  section.unstretchCell(mainCol, r);
129
199
  section.enableRowClass(r, "header", true);
130
-
200
+ section.enableRowClass(r, "closed", e.collapsed ? true : false);
131
201
  // Remove content from cell that appear on right side of mainCol
132
- RowPainter._clearCellContent(section, mainCol + 1, colCount - 1, r, checkboxColumnIndex);
202
+ this._clearCellContent(section, mainCol + 1, colCount - 1, r, checkboxColumnIndex);
133
203
  }
204
+ cell._groupHeaderStyle = true;
134
205
 
135
206
  // Remove content from cell that appear on left side of mainCol
136
- RowPainter._clearCellContent(section, 0, mainCol - 1, r, checkboxColumnIndex);
207
+ this._clearCellContent(section, 0, mainCol - 1, r, checkboxColumnIndex);
137
208
 
138
209
  // Footer rows and some specific group levels contains no expander (arrow)
139
210
  var newIcon = ExpanderIcon.renderOn(cell, e.hiddenArrow);
@@ -142,19 +213,31 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
142
213
  }
143
214
 
144
215
  if (!footerRow) {
145
- cell.addClass("folder"); // Required by the fallback arrow from the CSS rules. TODO: Change this
216
+ 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
220
+ }
146
221
  if (this._clickableCell) {
147
222
  cell.listen("click", this._onCellClicked);
148
223
  }
149
224
  if (e.groupId) {
150
225
  cell.setContent(e.groupId);
151
226
  }
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);
234
+ }
152
235
  } else {
153
236
  cell.setContent("");
154
237
  }
155
- cell.enableClass("closed", e.collapsed);
238
+ cell.enableClass("closed", e.collapsed ? true : false);
156
239
  cell.enableClass("color-tag", true);
157
- cell.enableClass("main-group", e.groupLevel === 1);
240
+ RowPainter._applyColorTagClass(cell, e.colorTagClass);
158
241
  cell.setStyle("paddingLeft", (e.indentSize > 0) ? e.indentSize + "px" : "");
159
242
  };
160
243
 
@@ -164,7 +247,7 @@ RowPainter.prototype.applyHeaderStyle = function(e) {
164
247
  */
165
248
  RowPainter.prototype.applyContentAsHeaderStyle = function (e) {
166
249
  var cell = e.cell;
167
-
250
+ cell._groupHeaderStyle = true;
168
251
  cell.addClass("folder"); // Required by the fallback arrow from the CSS rules. TODO: Change this
169
252
  cell.enableClass("content-header", true);
170
253
  cell.enableClass("closed", e.collapsed);
@@ -182,6 +265,15 @@ RowPainter.prototype.applyRowStyle = function(e) {
182
265
  var indentSize = e.indentSize;
183
266
  cell.setStyle("paddingLeft", (indentSize > 0) ? indentSize + "px" : "");
184
267
  cell.enableClass("color-tag", e.nonGroupRow ? false : true);
268
+ RowPainter._applyColorTagClass(cell, e.colorTagClass);
269
+ };
270
+
271
+ /** @private
272
+ * @param {Object} e
273
+ */
274
+ RowPainter.prototype._menuIconClicked = function(e) {
275
+ e.stopPropagation();
276
+ this._headerMenuClicked(e);
185
277
  };
186
278
 
187
279
  export default RowPainter;
@@ -6,7 +6,7 @@ declare class SubTable extends ElementWrapper {
6
6
 
7
7
  constructor(opt_elem?: (Element|string));
8
8
 
9
- public insertRow(at?: number): Element;
9
+ public insertRow(at?: number): Element|null;
10
10
 
11
11
  public addRows(count?: number): (Element)[];
12
12
 
@@ -22,19 +22,19 @@ declare class SubTable extends ElementWrapper {
22
22
 
23
23
  public getRowCount(): number;
24
24
 
25
- public getCell(c: number, r: number): Element;
25
+ public getCell(c: number, r: number): Element|null;
26
26
 
27
- public getCellsInColumn(c: number): (Element)[];
27
+ public getCellsInColumn(c: number): (Element)[]|null;
28
28
 
29
- public getCellsInRow(r: number): (Element)[];
29
+ public getCellsInRow(r: number): (Element)[]|null;
30
30
 
31
31
  public getAllCells(): (Element)[];
32
32
 
33
- public getAllRows(): HTMLCollection;
33
+ public getAllRows(): HTMLCollection|null;
34
34
 
35
- public getRows(): HTMLCollection;
35
+ public getRows(): HTMLCollection|null;
36
36
 
37
- public getRow(r: number): Element;
37
+ public getRow(r: number): Element|null;
38
38
 
39
39
  public getTextContents(): (string)[][];
40
40
 
@@ -62,9 +62,9 @@ declare class SubTable extends ElementWrapper {
62
62
 
63
63
  public cloak(elem: Element, opt_elementType?: string): void;
64
64
 
65
- public spanBlock(c1: number, c2: number, r1: number, r2: number): Element;
65
+ public spanBlock(c1: number, c2: number, r1: number, r2: number): Element|null;
66
66
 
67
- public static parseTableContent(tbl: Element): (string)[][];
67
+ public static parseTableContent(tbl: Element): (string)[][]|null;
68
68
 
69
69
  }
70
70
 
@@ -7,13 +7,13 @@ declare class Table extends ElementWrapper {
7
7
 
8
8
  constructor(elem?: (Element|number), opt_colCount?: (number|any), opt_rowCount?: number);
9
9
 
10
- public getTableElement(): Element;
10
+ public getTableElement(): Element|null;
11
11
 
12
12
  public setCRWH(col: number, row: number, width: number, height: number): void;
13
13
 
14
14
  public init(options: any): void;
15
15
 
16
- public addColumns(opt_count?: number): (Element)[];
16
+ public addColumns(opt_count?: number): (Element)[]|null;
17
17
 
18
18
  public removeColumns(opt_count?: number): void;
19
19
 
@@ -33,21 +33,21 @@ declare class Table extends ElementWrapper {
33
33
 
34
34
  public getRowCount(): number;
35
35
 
36
- public getCell(c: number, r: number): Element;
36
+ public getCell(c: number, r: number): Element|null;
37
37
 
38
- public getCellsInColumn(c: number): (Element)[];
38
+ public getCellsInColumn(c: number): (Element)[]|null;
39
39
 
40
- public getCellsInRow(r: number): (Element)[];
40
+ public getCellsInRow(r: number): (Element)[]|null;
41
41
 
42
42
  public getAllCells(): (Element)[];
43
43
 
44
44
  public getAllRows(): (Element)[];
45
45
 
46
- public getRow(r: number): Element;
46
+ public getRow(r: number): Element|null;
47
47
 
48
- public spanBlock(c1: number, c2: number, r1: number, r2: number): Element;
48
+ public spanBlock(c1: number, c2: number, r1: number, r2: number): Element|null;
49
49
 
50
- public spanHorizontally(r: number, bool: boolean): Element;
50
+ public spanHorizontally(r: number, bool: boolean): Element|null;
51
51
 
52
52
  public setColMinWidths(val: number|string|(string|number)[], opt_at?: number): void;
53
53
 
@@ -87,7 +87,7 @@ declare class Table extends ElementWrapper {
87
87
 
88
88
  public addHeaderRows(opt_count?: number): (Element)[];
89
89
 
90
- public getHeaderCell(c: number, r: number): Element;
90
+ public getHeaderCell(c: number, r: number): Element|null;
91
91
 
92
92
  public getAllHeaderCells(): (Element)[];
93
93
 
@@ -95,7 +95,7 @@ declare class Table extends ElementWrapper {
95
95
 
96
96
  public addFooterRows(opt_count?: number): (Element)[];
97
97
 
98
- public getFooterCell(c: number, r: number): Element;
98
+ public getFooterCell(c: number, r: number): Element|null;
99
99
 
100
100
  public getAllFooterCells(): (Element)[];
101
101
 
@@ -113,11 +113,11 @@ declare class Table extends ElementWrapper {
113
113
 
114
114
  public cloak(tblElem: Element): void;
115
115
 
116
- public getBody(): SubTable;
116
+ public getBody(): SubTable|null;
117
117
 
118
- public getHeader(): SubTable;
118
+ public getHeader(): SubTable|null;
119
119
 
120
- public getFooter(): SubTable;
120
+ public getFooter(): SubTable|null;
121
121
 
122
122
  }
123
123
 
@@ -2,11 +2,11 @@ import {Dom} from './Dom.js';
2
2
 
3
3
  declare namespace TextHighlighter {
4
4
 
5
- const invalidChars: RegExp;
5
+ const invalidChars: RegExp|null;
6
6
 
7
- const spaces: RegExp;
7
+ const spaces: RegExp|null;
8
8
 
9
- const spaceTrimer: RegExp;
9
+ const spaceTrimer: RegExp|null;
10
10
 
11
11
  const defaultTag: string;
12
12
 
@@ -1,8 +1,8 @@
1
1
 
2
2
 
3
- declare const TickCodes: { [key: string]: number };
3
+ declare const TickCodes: { [key: string]: number }|null;
4
4
 
5
- declare const TickFields: { [key: string]: number };
5
+ declare const TickFields: { [key: string]: number }|null;
6
6
 
7
7
  export default TickCodes;
8
8
  export {TickCodes, TickFields};
@@ -16,7 +16,7 @@ declare class TouchProxy extends EventDispatcher {
16
16
 
17
17
  public static readonly passive: EventListenerOptions;
18
18
 
19
- public getElement(): Element;
19
+ public getElement(): Element|null;
20
20
 
21
21
  public setElement(elem?: Element): void;
22
22
 
@@ -18,19 +18,19 @@ declare function extendObject(obj: any, extender?: any, limiters?: (string)[]):
18
18
 
19
19
  declare function cloneObject(obj: any, limiters?: (string)[]): any;
20
20
 
21
- declare function arrayToObject(data?: any[], fields?: (string)[]): any|null;
21
+ declare function arrayToObject(data?: any[], fields?: (string)[]): any|null|null;
22
22
 
23
23
  declare function extendProperty(obj: any, extender: any, propName: string): void;
24
24
 
25
- declare function extendArrayProperty(obj: any, propName: string, ary: any): any[];
25
+ declare function extendArrayProperty(obj: any, propName: string, ary: any): any[]|null;
26
26
 
27
- declare function parseCondition(expression: string|((...params: any[]) => any)): ((...params: any[]) => any);
27
+ declare function parseCondition(expression: string|((...params: any[]) => any)): ((...params: any[]) => any)|null;
28
28
 
29
29
  declare function prettifyCss(css: string|any[]): string;
30
30
 
31
- declare function getShadowRoot(elem: Element): DocumentFragment;
31
+ declare function getShadowRoot(elem: Element): DocumentFragment|null;
32
32
 
33
- declare function injectCss(cssStr: string, targetContext?: Element): Element;
33
+ declare function injectCss(cssStr: string, targetContext?: Element): Element|null;
34
34
 
35
35
  declare function isIE(): boolean;
36
36
 
@@ -38,7 +38,7 @@ declare function isMac(): boolean;
38
38
 
39
39
  declare function isTouchDevice(): boolean;
40
40
 
41
- declare function nestedObjectToArray(obj: any, ary?: any[]): any[];
41
+ declare function nestedObjectToArray(obj: any, ary?: any[]): any[]|null;
42
42
 
43
43
  declare function rgb2Hex(rgbCode: string): string;
44
44
 
@@ -22,17 +22,17 @@ declare class Engine extends EventDispatcher {
22
22
 
23
23
  public addFormula(userInput: Formula|string): Formula;
24
24
 
25
- public removeFormula(ref?: Formula|string|number): Formula;
25
+ public removeFormula(ref?: Formula|string|number): Formula|null;
26
26
 
27
27
  public removeAllFormulas(): void;
28
28
 
29
- public getFormula(opt_ref: string|number): Formula;
29
+ public getFormula(opt_ref: string|number): Formula|null;
30
30
 
31
- public getFormulaByExpression(exp: string): Formula;
31
+ public getFormulaByExpression(exp: string): Formula|null;
32
32
 
33
- public getAllFormulas(): (Formula)[];
33
+ public getAllFormulas(): (Formula)[]|null;
34
34
 
35
- public getAllFormulaReferences(): { [key: string]: string };
35
+ public getAllFormulaReferences(): { [key: string]: string }|null;
36
36
 
37
37
  public getFormulaCount(): number;
38
38
 
@@ -6,15 +6,15 @@ declare class Formula extends EventDispatcher {
6
6
 
7
7
  constructor(expression?: string, context?: any);
8
8
 
9
- public static readonly _isBoundFormula: { [key: string]: boolean };
9
+ public static readonly _isBoundFormula: { [key: string]: boolean }|null;
10
10
 
11
11
  public dispose(): void;
12
12
 
13
13
  public calculate(rowData: { [key: string]: any }): any;
14
14
 
15
- public getFunction(): ((...params: any[]) => any);
15
+ public getFunction(): ((...params: any[]) => any)|null;
16
16
 
17
- public getFieldNames(): (string)[];
17
+ public getFieldNames(): (string)[]|null;
18
18
 
19
19
  public getReference(): string;
20
20
 
@@ -345,7 +345,15 @@ Formula.toUpperCase = function(exp) {
345
345
  exp = exp.toUpperCase(); // Upper case the remaining
346
346
 
347
347
  // May have the new string token from ADC field with parameter
348
- exp = exp.replace(/TR\.[\w_ ]+\([^\(\)]*\)(\.[a-zA-Z]+)*/g, Formula._encloseWithTR);
348
+ // Regex for adc fileds
349
+ // TR : start with tr
350
+ // (\.[\w]+)+ : dot follow by any character at least 1
351
+ // \( : start parentheses
352
+ // [^\(\)]* : any except parentheses
353
+ // \) : end parentheses
354
+ // (\.[a-zA-Z]+)* : dot follow by any character (optional)
355
+
356
+ exp = exp.replace(/TR(\.[\w ]+)+\([^\(\)]*\)(\.[a-zA-Z]+)*/g, Formula._encloseWithTR);
349
357
 
350
358
  exp = Formula.resolveTokens(exp, tokens, calcHierarchy); // Restore the string
351
359
 
@@ -9,7 +9,7 @@ declare namespace RealtimeService {
9
9
 
10
10
  function setQuote2(quotes2: any): void;
11
11
 
12
- function getResolvedFieldName(fid: string): string|null;
12
+ function getResolvedFieldName(fid: string): string|null|null;
13
13
 
14
14
  function resolveFieldId(formula: Formula, fid: string, obj?: any): Promise<any>;
15
15
 
@@ -14,9 +14,9 @@ declare class CollectionDict {
14
14
 
15
15
  public removeAllItems(): boolean;
16
16
 
17
- public getItems(key: string): any[];
17
+ public getItems(key: string): any[]|null;
18
18
 
19
- public getAllItems(): any[];
19
+ public getAllItems(): any[]|null;
20
20
 
21
21
  public getItemCount(): number;
22
22
 
@@ -28,7 +28,7 @@ declare class DataGenerator {
28
28
 
29
29
  public randMember(set: any[]): any;
30
30
 
31
- public randDate(min?: (number|any), max?: (number|any)): Date;
31
+ public randDate(min?: (number|any), max?: (number|any)): Date|null;
32
32
 
33
33
  public randString(min?: number, max?: number): string;
34
34
 
@@ -52,7 +52,7 @@ declare class DataGenerator {
52
52
 
53
53
  public static randMember(set: any[], seed?: number): any;
54
54
 
55
- public static randDate(min?: (number|any), max?: (number|any), seed?: number): Date;
55
+ public static randDate(min?: (number|any), max?: (number|any), seed?: number): Date|null;
56
56
 
57
57
  public static randString(min?: number, max?: number, subType?: string, seed?: number): string;
58
58
 
@@ -76,11 +76,11 @@ declare function randBoolean(seed?: number): boolean;
76
76
 
77
77
  declare function randMember(set: any[], seed?: number): any;
78
78
 
79
- declare function randDate(min?: (number|any), max?: (number|any), seed?: number): Date;
79
+ declare function randDate(min?: (number|any), max?: (number|any), seed?: number): Date|null;
80
80
 
81
81
  declare function randString(min?: number, max?: number, seed?: number): string;
82
82
 
83
- declare function toRecords(data2D: (any[])[], fields?: (string)[]): (any)[];
83
+ declare function toRecords(data2D: (any[])[], fields?: (string)[]): (any)[]|null;
84
84
 
85
85
  declare function getSeed(): number;
86
86
 
@@ -10,7 +10,7 @@ declare class MockArchive {
10
10
 
11
11
  public get(key: string): any;
12
12
 
13
- public getAllKeys(): (string)[];
13
+ public getAllKeys(): (string)[]|null;
14
14
 
15
15
  public save(): void;
16
16
 
@@ -7,15 +7,15 @@ declare class MockJET {
7
7
 
8
8
  constructor();
9
9
 
10
- public init(opt_obj?: any): MockJET;
10
+ public init(opt_obj?: any): MockJET|null;
11
11
 
12
- public onLoad(handler: ((...params: any[]) => any)): MockJET;
12
+ public onLoad(handler: ((...params: any[]) => any)): MockJET|null;
13
13
 
14
- public navigate(obj: any): MockJET;
14
+ public navigate(obj: any): MockJET|null;
15
15
 
16
16
  public appHit(name: string, type: string, property: string): void;
17
17
 
18
- public getUserInfo(): Promise<any>;
18
+ public getUserInfo(): Promise<any>|null;
19
19
 
20
20
  public contextChange(contextAry: any[]): void;
21
21
 
@@ -4,7 +4,7 @@ declare class MockQuotes {
4
4
 
5
5
  constructor();
6
6
 
7
- public create(opt_id?: string): MockSubscription;
7
+ public create(opt_id?: string): MockSubscription|null;
8
8
 
9
9
  }
10
10
 
@@ -12,25 +12,25 @@ declare class MockSubscription {
12
12
 
13
13
  constructor(opt_id?: string);
14
14
 
15
- public create(opt_id?: string): MockSubscription;
15
+ public create(opt_id?: string): MockSubscription|null;
16
16
 
17
- public formattedFields(fields: (string)[]): MockSubscription;
17
+ public formattedFields(fields: (string)[]): MockSubscription|null;
18
18
 
19
- public rawFields(fields: (string)[]): MockSubscription;
19
+ public rawFields(fields: (string)[]): MockSubscription|null;
20
20
 
21
- public chain(ric: string): MockSubscription;
21
+ public chain(ric: string): MockSubscription|null;
22
22
 
23
- public rics(ric: string|(string)[]): MockSubscription;
23
+ public rics(ric: string|(string)[]): MockSubscription|null;
24
24
 
25
- public start(): MockSubscription;
25
+ public start(): MockSubscription|null;
26
26
 
27
- public stop(): MockSubscription;
27
+ public stop(): MockSubscription|null;
28
28
 
29
- public onNewRow(handler: ((...params: any[]) => any)): MockSubscription;
29
+ public onNewRow(handler: ((...params: any[]) => any)): MockSubscription|null;
30
30
 
31
- public onUpdate(handler: ((...params: any[]) => any)): MockSubscription;
31
+ public onUpdate(handler: ((...params: any[]) => any)): MockSubscription|null;
32
32
 
33
- public onRemoveRow(handler: ((...params: any[]) => any)): MockSubscription;
33
+ public onRemoveRow(handler: ((...params: any[]) => any)): MockSubscription|null;
34
34
 
35
35
  }
36
36