@refinitiv-ui/efx-grid 6.0.0-next.0

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 (837) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +61 -0
  3. package/lib/column-format-dialog/index.d.ts +1 -0
  4. package/lib/column-format-dialog/index.js +1 -0
  5. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +64 -0
  6. package/lib/column-format-dialog/lib/column-format-dialog.js +2713 -0
  7. package/lib/column-format-dialog/lib/locale/translation-de.d.ts +7 -0
  8. package/lib/column-format-dialog/lib/locale/translation-de.js +94 -0
  9. package/lib/column-format-dialog/lib/locale/translation-en.d.ts +7 -0
  10. package/lib/column-format-dialog/lib/locale/translation-en.js +94 -0
  11. package/lib/column-format-dialog/lib/locale/translation-ja.d.ts +7 -0
  12. package/lib/column-format-dialog/lib/locale/translation-ja.js +94 -0
  13. package/lib/column-format-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  14. package/lib/column-format-dialog/lib/locale/translation-zh-hant.js +94 -0
  15. package/lib/column-format-dialog/lib/locale/translation-zh.d.ts +7 -0
  16. package/lib/column-format-dialog/lib/locale/translation-zh.js +94 -0
  17. package/lib/column-format-dialog/lib/locale/translation.d.ts +11 -0
  18. package/lib/column-format-dialog/lib/locale/translation.js +18 -0
  19. package/lib/column-format-dialog/lib/preview-table.d.ts +151 -0
  20. package/lib/column-format-dialog/lib/preview-table.js +995 -0
  21. package/lib/column-format-dialog/themes/base.less +429 -0
  22. package/lib/column-format-dialog/themes/elemental/column-format-dialog.less +1 -0
  23. package/lib/column-format-dialog/themes/elemental/dark/column-format-dialog.js +4 -0
  24. package/lib/column-format-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  25. package/lib/column-format-dialog/themes/elemental/dark/es5/all-elements.js +2 -0
  26. package/lib/column-format-dialog/themes/elemental/dark/imports/all-elements.js +1 -0
  27. package/lib/column-format-dialog/themes/elemental/dark/imports/custom-elements.js +1 -0
  28. package/lib/column-format-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  29. package/lib/column-format-dialog/themes/elemental/dark.js +16 -0
  30. package/lib/column-format-dialog/themes/elemental/defaults.less +1 -0
  31. package/lib/column-format-dialog/themes/elemental/index.less +5 -0
  32. package/lib/column-format-dialog/themes/elemental/light/column-format-dialog.js +4 -0
  33. package/lib/column-format-dialog/themes/elemental/light/css/native-elements.css +0 -0
  34. package/lib/column-format-dialog/themes/elemental/light/es5/all-elements.js +2 -0
  35. package/lib/column-format-dialog/themes/elemental/light/imports/all-elements.js +1 -0
  36. package/lib/column-format-dialog/themes/elemental/light/imports/custom-elements.js +1 -0
  37. package/lib/column-format-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  38. package/lib/column-format-dialog/themes/elemental/light.js +16 -0
  39. package/lib/column-format-dialog/themes/halo/column-format-dialog.less +6 -0
  40. package/lib/column-format-dialog/themes/halo/dark/column-format-dialog.js +4 -0
  41. package/lib/column-format-dialog/themes/halo/dark/css/native-elements.css +0 -0
  42. package/lib/column-format-dialog/themes/halo/dark/es5/all-elements.js +2 -0
  43. package/lib/column-format-dialog/themes/halo/dark/imports/all-elements.js +1 -0
  44. package/lib/column-format-dialog/themes/halo/dark/imports/custom-elements.js +1 -0
  45. package/lib/column-format-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  46. package/lib/column-format-dialog/themes/halo/dark.js +16 -0
  47. package/lib/column-format-dialog/themes/halo/defaults.less +1 -0
  48. package/lib/column-format-dialog/themes/halo/index.less +5 -0
  49. package/lib/column-format-dialog/themes/halo/light/column-format-dialog.js +4 -0
  50. package/lib/column-format-dialog/themes/halo/light/css/native-elements.css +0 -0
  51. package/lib/column-format-dialog/themes/halo/light/es5/all-elements.js +2 -0
  52. package/lib/column-format-dialog/themes/halo/light/imports/all-elements.js +1 -0
  53. package/lib/column-format-dialog/themes/halo/light/imports/custom-elements.js +1 -0
  54. package/lib/column-format-dialog/themes/halo/light/imports/native-elements.js +0 -0
  55. package/lib/column-format-dialog/themes/halo/light.js +16 -0
  56. package/lib/column-format-dialog/themes/luna/column-format-dialog.less +1 -0
  57. package/lib/column-format-dialog/themes/luna/default/column-format-dialog.js +4 -0
  58. package/lib/column-format-dialog/themes/luna/default/css/native-elements.css +0 -0
  59. package/lib/column-format-dialog/themes/luna/default/es5/all-elements.js +2 -0
  60. package/lib/column-format-dialog/themes/luna/default/imports/all-elements.js +1 -0
  61. package/lib/column-format-dialog/themes/luna/default/imports/custom-elements.js +1 -0
  62. package/lib/column-format-dialog/themes/luna/default/imports/native-elements.js +0 -0
  63. package/lib/column-format-dialog/themes/luna/defaults.less +1 -0
  64. package/lib/column-format-dialog/themes/luna/index.less +5 -0
  65. package/lib/column-format-dialog/themes/solar/charcoal/column-format-dialog.js +4 -0
  66. package/lib/column-format-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  67. package/lib/column-format-dialog/themes/solar/charcoal/es5/all-elements.js +2 -0
  68. package/lib/column-format-dialog/themes/solar/charcoal/imports/all-elements.js +1 -0
  69. package/lib/column-format-dialog/themes/solar/charcoal/imports/custom-elements.js +1 -0
  70. package/lib/column-format-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  71. package/lib/column-format-dialog/themes/solar/charcoal.js +16 -0
  72. package/lib/column-format-dialog/themes/solar/column-format-dialog.less +6 -0
  73. package/lib/column-format-dialog/themes/solar/defaults.less +1 -0
  74. package/lib/column-format-dialog/themes/solar/index.less +5 -0
  75. package/lib/column-format-dialog/themes/solar/pearl/column-format-dialog.js +4 -0
  76. package/lib/column-format-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  77. package/lib/column-format-dialog/themes/solar/pearl/es5/all-elements.js +2 -0
  78. package/lib/column-format-dialog/themes/solar/pearl/imports/all-elements.js +1 -0
  79. package/lib/column-format-dialog/themes/solar/pearl/imports/custom-elements.js +1 -0
  80. package/lib/column-format-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  81. package/lib/column-format-dialog/themes/solar/pearl.js +16 -0
  82. package/lib/column-selection-dialog/index.d.ts +1 -0
  83. package/lib/column-selection-dialog/index.js +1 -0
  84. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +41 -0
  85. package/lib/column-selection-dialog/lib/column-selection-dialog.js +1410 -0
  86. package/lib/column-selection-dialog/lib/locale/translation-de.d.ts +7 -0
  87. package/lib/column-selection-dialog/lib/locale/translation-de.js +19 -0
  88. package/lib/column-selection-dialog/lib/locale/translation-en.d.ts +7 -0
  89. package/lib/column-selection-dialog/lib/locale/translation-en.js +19 -0
  90. package/lib/column-selection-dialog/lib/locale/translation-ja.d.ts +7 -0
  91. package/lib/column-selection-dialog/lib/locale/translation-ja.js +19 -0
  92. package/lib/column-selection-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  93. package/lib/column-selection-dialog/lib/locale/translation-zh-hant.js +19 -0
  94. package/lib/column-selection-dialog/lib/locale/translation-zh.d.ts +7 -0
  95. package/lib/column-selection-dialog/lib/locale/translation-zh.js +19 -0
  96. package/lib/column-selection-dialog/lib/locale/translation.d.ts +11 -0
  97. package/lib/column-selection-dialog/lib/locale/translation.js +18 -0
  98. package/lib/column-selection-dialog/themes/base.less +189 -0
  99. package/lib/column-selection-dialog/themes/elemental/column-selection-dialog.less +1 -0
  100. package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +4 -0
  101. package/lib/column-selection-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  102. package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +2 -0
  103. package/lib/column-selection-dialog/themes/elemental/dark/imports/all-elements.js +1 -0
  104. package/lib/column-selection-dialog/themes/elemental/dark/imports/custom-elements.js +1 -0
  105. package/lib/column-selection-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  106. package/lib/column-selection-dialog/themes/elemental/dark.js +6 -0
  107. package/lib/column-selection-dialog/themes/elemental/defaults.less +1 -0
  108. package/lib/column-selection-dialog/themes/elemental/index.less +5 -0
  109. package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +4 -0
  110. package/lib/column-selection-dialog/themes/elemental/light/css/native-elements.css +0 -0
  111. package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +2 -0
  112. package/lib/column-selection-dialog/themes/elemental/light/imports/all-elements.js +1 -0
  113. package/lib/column-selection-dialog/themes/elemental/light/imports/custom-elements.js +1 -0
  114. package/lib/column-selection-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  115. package/lib/column-selection-dialog/themes/elemental/light.js +6 -0
  116. package/lib/column-selection-dialog/themes/halo/column-selection-dialog.less +22 -0
  117. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +4 -0
  118. package/lib/column-selection-dialog/themes/halo/dark/css/native-elements.css +0 -0
  119. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +2 -0
  120. package/lib/column-selection-dialog/themes/halo/dark/imports/all-elements.js +1 -0
  121. package/lib/column-selection-dialog/themes/halo/dark/imports/custom-elements.js +1 -0
  122. package/lib/column-selection-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  123. package/lib/column-selection-dialog/themes/halo/dark.js +6 -0
  124. package/lib/column-selection-dialog/themes/halo/defaults.less +1 -0
  125. package/lib/column-selection-dialog/themes/halo/index.less +6 -0
  126. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +4 -0
  127. package/lib/column-selection-dialog/themes/halo/light/css/native-elements.css +0 -0
  128. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +2 -0
  129. package/lib/column-selection-dialog/themes/halo/light/imports/all-elements.js +1 -0
  130. package/lib/column-selection-dialog/themes/halo/light/imports/custom-elements.js +1 -0
  131. package/lib/column-selection-dialog/themes/halo/light/imports/native-elements.js +0 -0
  132. package/lib/column-selection-dialog/themes/halo/light.js +6 -0
  133. package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +4 -0
  134. package/lib/column-selection-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  135. package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +2 -0
  136. package/lib/column-selection-dialog/themes/solar/charcoal/imports/all-elements.js +1 -0
  137. package/lib/column-selection-dialog/themes/solar/charcoal/imports/custom-elements.js +1 -0
  138. package/lib/column-selection-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  139. package/lib/column-selection-dialog/themes/solar/charcoal.js +6 -0
  140. package/lib/column-selection-dialog/themes/solar/column-selection-dialog.less +1 -0
  141. package/lib/column-selection-dialog/themes/solar/defaults.less +1 -0
  142. package/lib/column-selection-dialog/themes/solar/index.less +6 -0
  143. package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +4 -0
  144. package/lib/column-selection-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  145. package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +2 -0
  146. package/lib/column-selection-dialog/themes/solar/pearl/imports/all-elements.js +1 -0
  147. package/lib/column-selection-dialog/themes/solar/pearl/imports/custom-elements.js +1 -0
  148. package/lib/column-selection-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  149. package/lib/column-selection-dialog/themes/solar/pearl.js +6 -0
  150. package/lib/core/dist/core.css +1 -0
  151. package/lib/core/dist/core.js +28075 -0
  152. package/lib/core/dist/core.min.js +1 -0
  153. package/lib/core/es6/data/ColumnStats.d.ts +42 -0
  154. package/lib/core/es6/data/ColumnStats.js +428 -0
  155. package/lib/core/es6/data/DataCache.d.ts +81 -0
  156. package/lib/core/es6/data/DataCache.js +1317 -0
  157. package/lib/core/es6/data/DataTable.d.ts +125 -0
  158. package/lib/core/es6/data/DataTable.js +1655 -0
  159. package/lib/core/es6/data/DataView.d.ts +280 -0
  160. package/lib/core/es6/data/DataView.js +3654 -0
  161. package/lib/core/es6/data/Segment.d.ts +38 -0
  162. package/lib/core/es6/data/Segment.js +193 -0
  163. package/lib/core/es6/data/SegmentCollection.d.ts +58 -0
  164. package/lib/core/es6/data/SegmentCollection.js +431 -0
  165. package/lib/core/es6/grid/Core.d.ts +387 -0
  166. package/lib/core/es6/grid/Core.js +4939 -0
  167. package/lib/core/es6/grid/ILayoutGrid.d.ts +204 -0
  168. package/lib/core/es6/grid/ILayoutGrid.js +658 -0
  169. package/lib/core/es6/grid/LayoutGrid.d.ts +23 -0
  170. package/lib/core/es6/grid/LayoutGrid.js +2602 -0
  171. package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +18 -0
  172. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +907 -0
  173. package/lib/core/es6/grid/components/Cell.d.ts +50 -0
  174. package/lib/core/es6/grid/components/Cell.js +740 -0
  175. package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +19 -0
  176. package/lib/core/es6/grid/components/CellFloatingPanel.js +123 -0
  177. package/lib/core/es6/grid/components/CellSpan.d.ts +18 -0
  178. package/lib/core/es6/grid/components/CellSpan.js +99 -0
  179. package/lib/core/es6/grid/components/CellSpans.d.ts +38 -0
  180. package/lib/core/es6/grid/components/CellSpans.js +341 -0
  181. package/lib/core/es6/grid/components/Column.d.ts +22 -0
  182. package/lib/core/es6/grid/components/Column.js +612 -0
  183. package/lib/core/es6/grid/components/ElementWrapper.d.ts +125 -0
  184. package/lib/core/es6/grid/components/ElementWrapper.js +714 -0
  185. package/lib/core/es6/grid/components/HScrollbar.d.ts +24 -0
  186. package/lib/core/es6/grid/components/HScrollbar.js +222 -0
  187. package/lib/core/es6/grid/components/Scrollbar.d.ts +61 -0
  188. package/lib/core/es6/grid/components/Scrollbar.js +1374 -0
  189. package/lib/core/es6/grid/components/StretchedCells.d.ts +17 -0
  190. package/lib/core/es6/grid/components/StretchedCells.js +328 -0
  191. package/lib/core/es6/grid/components/VScrollbar.d.ts +18 -0
  192. package/lib/core/es6/grid/components/VScrollbar.js +139 -0
  193. package/lib/core/es6/grid/components/VirtualItems.d.ts +12 -0
  194. package/lib/core/es6/grid/components/VirtualItems.js +51 -0
  195. package/lib/core/es6/grid/event/EventDispatcher.d.ts +16 -0
  196. package/lib/core/es6/grid/event/EventDispatcher.js +138 -0
  197. package/lib/core/es6/grid/event/EventListeners.d.ts +34 -0
  198. package/lib/core/es6/grid/event/EventListeners.js +163 -0
  199. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.d.ts +24 -0
  200. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.js +615 -0
  201. package/lib/core/es6/grid/plugins/Plugin.d.ts +28 -0
  202. package/lib/core/es6/grid/plugins/Plugin.js +272 -0
  203. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +127 -0
  204. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +1707 -0
  205. package/lib/core/es6/grid/util/Conflator.d.ts +32 -0
  206. package/lib/core/es6/grid/util/Conflator.js +191 -0
  207. package/lib/core/es6/grid/util/ElementFrameWork.d.ts +18 -0
  208. package/lib/core/es6/grid/util/ElementFrameWork.js +227 -0
  209. package/lib/core/es6/grid/util/HttpRequest.d.ts +53 -0
  210. package/lib/core/es6/grid/util/HttpRequest.js +371 -0
  211. package/lib/core/es6/grid/util/PercentBar.d.ts +43 -0
  212. package/lib/core/es6/grid/util/PercentBar.js +390 -0
  213. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +41 -0
  214. package/lib/core/es6/grid/util/PercentBarRenderer.js +316 -0
  215. package/lib/core/es6/grid/util/RangeBar.d.ts +25 -0
  216. package/lib/core/es6/grid/util/RangeBar.js +255 -0
  217. package/lib/core/es6/grid/util/Reverter.d.ts +14 -0
  218. package/lib/core/es6/grid/util/Reverter.js +79 -0
  219. package/lib/core/es6/grid/util/SectionSettings.d.ts +79 -0
  220. package/lib/core/es6/grid/util/SectionSettings.js +674 -0
  221. package/lib/core/es6/grid/util/SelectionList.d.ts +50 -0
  222. package/lib/core/es6/grid/util/SelectionList.js +422 -0
  223. package/lib/core/es6/grid/util/TrackLayout.d.ts +84 -0
  224. package/lib/core/es6/grid/util/TrackLayout.js +850 -0
  225. package/lib/core/es6/grid/util/Virtualizer.d.ts +40 -0
  226. package/lib/core/es6/grid/util/Virtualizer.js +340 -0
  227. package/lib/core/es6/grid/util/util.d.ts +18 -0
  228. package/lib/core/es6/grid/util/util.js +450 -0
  229. package/lib/core/es6/index.d.ts +84 -0
  230. package/lib/core/es6/index.js +132 -0
  231. package/lib/core/es6/tr-grid-theme.d.ts +5 -0
  232. package/lib/core/es6/tr-grid-theme.js +5 -0
  233. package/lib/filter-dialog/index.d.ts +1 -0
  234. package/lib/filter-dialog/index.js +1 -0
  235. package/lib/filter-dialog/lib/checkbox-list.d.ts +27 -0
  236. package/lib/filter-dialog/lib/checkbox-list.js +336 -0
  237. package/lib/filter-dialog/lib/filter-dialog.d.ts +53 -0
  238. package/lib/filter-dialog/lib/filter-dialog.js +860 -0
  239. package/lib/filter-dialog/lib/locale/translation-de.d.ts +7 -0
  240. package/lib/filter-dialog/lib/locale/translation-de.js +37 -0
  241. package/lib/filter-dialog/lib/locale/translation-en.d.ts +7 -0
  242. package/lib/filter-dialog/lib/locale/translation-en.js +37 -0
  243. package/lib/filter-dialog/lib/locale/translation-ja.d.ts +7 -0
  244. package/lib/filter-dialog/lib/locale/translation-ja.js +37 -0
  245. package/lib/filter-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  246. package/lib/filter-dialog/lib/locale/translation-zh-hant.js +37 -0
  247. package/lib/filter-dialog/lib/locale/translation-zh.d.ts +7 -0
  248. package/lib/filter-dialog/lib/locale/translation-zh.js +37 -0
  249. package/lib/filter-dialog/lib/locale/translation.d.ts +11 -0
  250. package/lib/filter-dialog/lib/locale/translation.js +18 -0
  251. package/lib/filter-dialog/themes/base-checkbox.less +37 -0
  252. package/lib/filter-dialog/themes/base.less +102 -0
  253. package/lib/filter-dialog/themes/elemental/checkbox-list.less +3 -0
  254. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +4 -0
  255. package/lib/filter-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  256. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +4 -0
  257. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +5 -0
  258. package/lib/filter-dialog/themes/elemental/dark/imports/all-elements.js +2 -0
  259. package/lib/filter-dialog/themes/elemental/dark/imports/custom-elements.js +2 -0
  260. package/lib/filter-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  261. package/lib/filter-dialog/themes/elemental/dark.js +11 -0
  262. package/lib/filter-dialog/themes/elemental/defaults.less +3 -0
  263. package/lib/filter-dialog/themes/elemental/filter-dialog.less +1 -0
  264. package/lib/filter-dialog/themes/elemental/index.less +6 -0
  265. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +4 -0
  266. package/lib/filter-dialog/themes/elemental/light/css/native-elements.css +0 -0
  267. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +4 -0
  268. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +5 -0
  269. package/lib/filter-dialog/themes/elemental/light/imports/all-elements.js +2 -0
  270. package/lib/filter-dialog/themes/elemental/light/imports/custom-elements.js +2 -0
  271. package/lib/filter-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  272. package/lib/filter-dialog/themes/elemental/light.js +11 -0
  273. package/lib/filter-dialog/themes/halo/checkbox-list.less +3 -0
  274. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +4 -0
  275. package/lib/filter-dialog/themes/halo/dark/css/native-elements.css +0 -0
  276. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +4 -0
  277. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +5 -0
  278. package/lib/filter-dialog/themes/halo/dark/imports/all-elements.js +2 -0
  279. package/lib/filter-dialog/themes/halo/dark/imports/custom-elements.js +2 -0
  280. package/lib/filter-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  281. package/lib/filter-dialog/themes/halo/dark.js +11 -0
  282. package/lib/filter-dialog/themes/halo/defaults.less +3 -0
  283. package/lib/filter-dialog/themes/halo/filter-dialog.less +9 -0
  284. package/lib/filter-dialog/themes/halo/index.less +6 -0
  285. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +4 -0
  286. package/lib/filter-dialog/themes/halo/light/css/native-elements.css +0 -0
  287. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +4 -0
  288. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +5 -0
  289. package/lib/filter-dialog/themes/halo/light/imports/all-elements.js +2 -0
  290. package/lib/filter-dialog/themes/halo/light/imports/custom-elements.js +2 -0
  291. package/lib/filter-dialog/themes/halo/light/imports/native-elements.js +0 -0
  292. package/lib/filter-dialog/themes/halo/light.js +11 -0
  293. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +4 -0
  294. package/lib/filter-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  295. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +4 -0
  296. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +5 -0
  297. package/lib/filter-dialog/themes/solar/charcoal/imports/all-elements.js +2 -0
  298. package/lib/filter-dialog/themes/solar/charcoal/imports/custom-elements.js +2 -0
  299. package/lib/filter-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  300. package/lib/filter-dialog/themes/solar/charcoal.js +11 -0
  301. package/lib/filter-dialog/themes/solar/checkbox-list.less +3 -0
  302. package/lib/filter-dialog/themes/solar/defaults.less +3 -0
  303. package/lib/filter-dialog/themes/solar/filter-dialog.less +5 -0
  304. package/lib/filter-dialog/themes/solar/index.less +6 -0
  305. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +4 -0
  306. package/lib/filter-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  307. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +4 -0
  308. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +5 -0
  309. package/lib/filter-dialog/themes/solar/pearl/imports/all-elements.js +2 -0
  310. package/lib/filter-dialog/themes/solar/pearl/imports/custom-elements.js +2 -0
  311. package/lib/filter-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  312. package/lib/filter-dialog/themes/solar/pearl.js +11 -0
  313. package/lib/formatters/es6/CoralButtonFormatter.d.ts +22 -0
  314. package/lib/formatters/es6/CoralButtonFormatter.js +40 -0
  315. package/lib/formatters/es6/CoralCheckboxFormatter.d.ts +12 -0
  316. package/lib/formatters/es6/CoralCheckboxFormatter.js +45 -0
  317. package/lib/formatters/es6/CoralComboBoxFormatter.d.ts +23 -0
  318. package/lib/formatters/es6/CoralComboBoxFormatter.js +102 -0
  319. package/lib/formatters/es6/CoralIconFormatter.d.ts +23 -0
  320. package/lib/formatters/es6/CoralIconFormatter.js +45 -0
  321. package/lib/formatters/es6/CoralInputFormatter.d.ts +12 -0
  322. package/lib/formatters/es6/CoralInputFormatter.js +40 -0
  323. package/lib/formatters/es6/CoralRadioButtonFormatter.d.ts +22 -0
  324. package/lib/formatters/es6/CoralRadioButtonFormatter.js +80 -0
  325. package/lib/formatters/es6/CoralSelectFormatter.d.ts +23 -0
  326. package/lib/formatters/es6/CoralSelectFormatter.js +66 -0
  327. package/lib/formatters/es6/CoralToggleFormatter.d.ts +12 -0
  328. package/lib/formatters/es6/CoralToggleFormatter.js +47 -0
  329. package/lib/formatters/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +14 -0
  330. package/lib/formatters/es6/DuplexEmeraldDateTimePickerFormatter.js +119 -0
  331. package/lib/formatters/es6/EFButtonFormatter.d.ts +22 -0
  332. package/lib/formatters/es6/EFButtonFormatter.js +40 -0
  333. package/lib/formatters/es6/EFCheckboxFormatter.d.ts +12 -0
  334. package/lib/formatters/es6/EFCheckboxFormatter.js +45 -0
  335. package/lib/formatters/es6/EFComboBoxFormatter.d.ts +23 -0
  336. package/lib/formatters/es6/EFComboBoxFormatter.js +68 -0
  337. package/lib/formatters/es6/EFDateTimePickerFormatter.d.ts +13 -0
  338. package/lib/formatters/es6/EFDateTimePickerFormatter.js +55 -0
  339. package/lib/formatters/es6/EFIconFormatter.d.ts +23 -0
  340. package/lib/formatters/es6/EFIconFormatter.js +45 -0
  341. package/lib/formatters/es6/EFNumberFieldFormatter.d.ts +12 -0
  342. package/lib/formatters/es6/EFNumberFieldFormatter.js +40 -0
  343. package/lib/formatters/es6/EFRadioButtonFormatter.d.ts +22 -0
  344. package/lib/formatters/es6/EFRadioButtonFormatter.js +80 -0
  345. package/lib/formatters/es6/EFSelectFormatter.d.ts +23 -0
  346. package/lib/formatters/es6/EFSelectFormatter.js +66 -0
  347. package/lib/formatters/es6/EFTextFieldFormatter.d.ts +12 -0
  348. package/lib/formatters/es6/EFTextFieldFormatter.js +40 -0
  349. package/lib/formatters/es6/EFToggleFormatter.d.ts +12 -0
  350. package/lib/formatters/es6/EFToggleFormatter.js +47 -0
  351. package/lib/formatters/es6/EmeraldDateTimePickerFormatter.d.ts +13 -0
  352. package/lib/formatters/es6/EmeraldDateTimePickerFormatter.js +55 -0
  353. package/lib/formatters/es6/FormatterBuilder.d.ts +22 -0
  354. package/lib/formatters/es6/FormatterBuilder.js +334 -0
  355. package/lib/formatters/es6/NumericInputFormatter.d.ts +13 -0
  356. package/lib/formatters/es6/NumericInputFormatter.js +64 -0
  357. package/lib/formatters/es6/PercentBarFormatter.d.ts +25 -0
  358. package/lib/formatters/es6/PercentBarFormatter.js +62 -0
  359. package/lib/formatters/es6/SimpleImageFormatter.d.ts +21 -0
  360. package/lib/formatters/es6/SimpleImageFormatter.js +64 -0
  361. package/lib/formatters/es6/SimpleInputFormatter.d.ts +12 -0
  362. package/lib/formatters/es6/SimpleInputFormatter.js +40 -0
  363. package/lib/formatters/es6/SimpleLinkFormatter.d.ts +21 -0
  364. package/lib/formatters/es6/SimpleLinkFormatter.js +48 -0
  365. package/lib/formatters/es6/SimpleTickerFormatter.d.ts +25 -0
  366. package/lib/formatters/es6/SimpleTickerFormatter.js +65 -0
  367. package/lib/formatters/es6/SimpleToggleFormatter.d.ts +22 -0
  368. package/lib/formatters/es6/SimpleToggleFormatter.js +132 -0
  369. package/lib/formatters/es6/TextFormatter.d.ts +12 -0
  370. package/lib/formatters/es6/TextFormatter.js +30 -0
  371. package/lib/formatters/es6/index.d.ts +43 -0
  372. package/lib/formatters/es6/index.js +67 -0
  373. package/lib/grid/index.d.ts +1 -0
  374. package/lib/grid/index.js +2 -0
  375. package/lib/grid/lib/efx-grid.d.ts +32 -0
  376. package/lib/grid/lib/efx-grid.js +469 -0
  377. package/lib/grid/themes/base.less +134 -0
  378. package/lib/grid/themes/halo/dark/css/native-elements.css +0 -0
  379. package/lib/grid/themes/halo/dark/efx-grid.js +4 -0
  380. package/lib/grid/themes/halo/dark/es5/all-elements.js +2 -0
  381. package/lib/grid/themes/halo/dark/imports/all-elements.js +1 -0
  382. package/lib/grid/themes/halo/dark/imports/custom-elements.js +1 -0
  383. package/lib/grid/themes/halo/dark/imports/native-elements.js +0 -0
  384. package/lib/grid/themes/halo/dark.js +3 -0
  385. package/lib/grid/themes/halo/efx-grid.less +92 -0
  386. package/lib/grid/themes/halo/index.less +3 -0
  387. package/lib/grid/themes/halo/light/css/native-elements.css +0 -0
  388. package/lib/grid/themes/halo/light/efx-grid.js +4 -0
  389. package/lib/grid/themes/halo/light/es5/all-elements.js +2 -0
  390. package/lib/grid/themes/halo/light/imports/all-elements.js +1 -0
  391. package/lib/grid/themes/halo/light/imports/custom-elements.js +1 -0
  392. package/lib/grid/themes/halo/light/imports/native-elements.js +0 -0
  393. package/lib/grid/themes/halo/light.js +3 -0
  394. package/lib/grid/themes/solar/charcoal/css/native-elements.css +0 -0
  395. package/lib/grid/themes/solar/charcoal/efx-grid.js +4 -0
  396. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +2 -0
  397. package/lib/grid/themes/solar/charcoal/imports/all-elements.js +1 -0
  398. package/lib/grid/themes/solar/charcoal/imports/custom-elements.js +1 -0
  399. package/lib/grid/themes/solar/charcoal/imports/native-elements.js +0 -0
  400. package/lib/grid/themes/solar/charcoal.js +3 -0
  401. package/lib/grid/themes/solar/efx-grid.less +27 -0
  402. package/lib/grid/themes/solar/index.less +3 -0
  403. package/lib/grid/themes/solar/pearl/css/native-elements.css +0 -0
  404. package/lib/grid/themes/solar/pearl/efx-grid.js +4 -0
  405. package/lib/grid/themes/solar/pearl/es5/all-elements.js +2 -0
  406. package/lib/grid/themes/solar/pearl/imports/all-elements.js +1 -0
  407. package/lib/grid/themes/solar/pearl/imports/custom-elements.js +1 -0
  408. package/lib/grid/themes/solar/pearl/imports/native-elements.js +0 -0
  409. package/lib/grid/themes/solar/pearl.js +3 -0
  410. package/lib/index.d.ts +102 -0
  411. package/lib/index.js +102 -0
  412. package/lib/row-segmenting/es6/RowSegmenting.d.ts +83 -0
  413. package/lib/row-segmenting/es6/RowSegmenting.js +592 -0
  414. package/lib/row-segmenting/es6/index.d.ts +1 -0
  415. package/lib/row-segmenting/es6/index.js +1 -0
  416. package/lib/rt-grid/dist/rt-grid.js +44672 -0
  417. package/lib/rt-grid/dist/rt-grid.min.js +1 -0
  418. package/lib/rt-grid/es6/ColumnDefinition.d.ts +141 -0
  419. package/lib/rt-grid/es6/ColumnDefinition.js +1074 -0
  420. package/lib/rt-grid/es6/DataConnector.d.ts +37 -0
  421. package/lib/rt-grid/es6/DataConnector.js +266 -0
  422. package/lib/rt-grid/es6/FieldDefinition.d.ts +20 -0
  423. package/lib/rt-grid/es6/FieldDefinition.js +418 -0
  424. package/lib/rt-grid/es6/Grid.d.ts +261 -0
  425. package/lib/rt-grid/es6/Grid.js +2893 -0
  426. package/lib/rt-grid/es6/PredefinedFormula.d.ts +16 -0
  427. package/lib/rt-grid/es6/PredefinedFormula.js +33 -0
  428. package/lib/rt-grid/es6/ReferenceCounter.d.ts +38 -0
  429. package/lib/rt-grid/es6/ReferenceCounter.js +230 -0
  430. package/lib/rt-grid/es6/RowDefinition.d.ts +120 -0
  431. package/lib/rt-grid/es6/RowDefinition.js +873 -0
  432. package/lib/rt-grid/es6/SnapshotFiller.d.ts +21 -0
  433. package/lib/rt-grid/es6/SnapshotFiller.js +252 -0
  434. package/lib/rt-grid/es6/StyleLoader.d.ts +17 -0
  435. package/lib/rt-grid/es6/StyleLoader.js +47 -0
  436. package/lib/rt-grid/es6/index.d.ts +8 -0
  437. package/lib/rt-grid/es6/index.js +43 -0
  438. package/lib/statistics-row/es6/StatisticsRow.d.ts +67 -0
  439. package/lib/statistics-row/es6/StatisticsRow.js +786 -0
  440. package/lib/statistics-row/es6/index.d.ts +1 -0
  441. package/lib/statistics-row/es6/index.js +1 -0
  442. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.d.ts +45 -0
  443. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +431 -0
  444. package/lib/tr-grid-auto-tooltip/es6/index.d.ts +1 -0
  445. package/lib/tr-grid-auto-tooltip/es6/index.js +1 -0
  446. package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +67 -0
  447. package/lib/tr-grid-cell-selection/es6/CellSelection.js +1777 -0
  448. package/lib/tr-grid-cell-selection/es6/index.d.ts +1 -0
  449. package/lib/tr-grid-cell-selection/es6/index.js +1 -0
  450. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +69 -0
  451. package/lib/tr-grid-checkbox/es6/Checkbox.js +1476 -0
  452. package/lib/tr-grid-checkbox/es6/index.d.ts +1 -0
  453. package/lib/tr-grid-checkbox/es6/index.js +1 -0
  454. package/lib/tr-grid-column-fitter/es6/ColumnFitter.d.ts +56 -0
  455. package/lib/tr-grid-column-fitter/es6/ColumnFitter.js +1000 -0
  456. package/lib/tr-grid-column-fitter/es6/index.d.ts +1 -0
  457. package/lib/tr-grid-column-fitter/es6/index.js +1 -0
  458. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.d.ts +89 -0
  459. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.js +615 -0
  460. package/lib/tr-grid-column-formatting/es6/index.d.ts +1 -0
  461. package/lib/tr-grid-column-formatting/es6/index.js +1 -0
  462. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +60 -0
  463. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +913 -0
  464. package/lib/tr-grid-column-grouping/es6/index.d.ts +1 -0
  465. package/lib/tr-grid-column-grouping/es6/index.js +1 -0
  466. package/lib/tr-grid-column-resizing/es6/ColumnResizing.d.ts +68 -0
  467. package/lib/tr-grid-column-resizing/es6/ColumnResizing.js +1013 -0
  468. package/lib/tr-grid-column-resizing/es6/index.d.ts +1 -0
  469. package/lib/tr-grid-column-resizing/es6/index.js +1 -0
  470. package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +70 -0
  471. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +928 -0
  472. package/lib/tr-grid-column-selection/es6/index.d.ts +1 -0
  473. package/lib/tr-grid-column-selection/es6/index.js +1 -0
  474. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +76 -0
  475. package/lib/tr-grid-column-stack/es6/ColumnStack.js +1227 -0
  476. package/lib/tr-grid-column-stack/es6/index.d.ts +1 -0
  477. package/lib/tr-grid-column-stack/es6/index.js +1 -0
  478. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +70 -0
  479. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +947 -0
  480. package/lib/tr-grid-conditional-coloring/es6/index.d.ts +1 -0
  481. package/lib/tr-grid-conditional-coloring/es6/index.js +1 -0
  482. package/lib/tr-grid-content-wrap/es6/ContentWrap.d.ts +43 -0
  483. package/lib/tr-grid-content-wrap/es6/ContentWrap.js +478 -0
  484. package/lib/tr-grid-content-wrap/es6/index.d.ts +1 -0
  485. package/lib/tr-grid-content-wrap/es6/index.js +1 -0
  486. package/lib/tr-grid-contextmenu/es6/ContextMenu.d.ts +83 -0
  487. package/lib/tr-grid-contextmenu/es6/ContextMenu.js +471 -0
  488. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +22 -0
  489. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.js +133 -0
  490. package/lib/tr-grid-contextmenu/es6/MenuItem.d.ts +39 -0
  491. package/lib/tr-grid-contextmenu/es6/MenuItem.js +245 -0
  492. package/lib/tr-grid-contextmenu/es6/PopupMenu.d.ts +29 -0
  493. package/lib/tr-grid-contextmenu/es6/PopupMenu.js +292 -0
  494. package/lib/tr-grid-contextmenu/es6/index.d.ts +1 -0
  495. package/lib/tr-grid-contextmenu/es6/index.js +1 -0
  496. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +57 -0
  497. package/lib/tr-grid-filter-input/es6/FilterInput.js +928 -0
  498. package/lib/tr-grid-filter-input/es6/index.d.ts +1 -0
  499. package/lib/tr-grid-filter-input/es6/index.js +1 -0
  500. package/lib/tr-grid-heat-map/es6/HeatMap.d.ts +44 -0
  501. package/lib/tr-grid-heat-map/es6/HeatMap.js +394 -0
  502. package/lib/tr-grid-heat-map/es6/index.d.ts +1 -0
  503. package/lib/tr-grid-heat-map/es6/index.js +1 -0
  504. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +129 -0
  505. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +1977 -0
  506. package/lib/tr-grid-in-cell-editing/es6/index.d.ts +1 -0
  507. package/lib/tr-grid-in-cell-editing/es6/index.js +1 -0
  508. package/lib/tr-grid-pagination/es6/Pagination.d.ts +57 -0
  509. package/lib/tr-grid-pagination/es6/Pagination.js +427 -0
  510. package/lib/tr-grid-pagination/es6/index.d.ts +1 -0
  511. package/lib/tr-grid-pagination/es6/index.js +1 -0
  512. package/lib/tr-grid-percent-bar/es6/PercentBar.d.ts +60 -0
  513. package/lib/tr-grid-percent-bar/es6/PercentBar.js +801 -0
  514. package/lib/tr-grid-percent-bar/es6/index.d.ts +1 -0
  515. package/lib/tr-grid-percent-bar/es6/index.js +1 -0
  516. package/lib/tr-grid-printer/es6/CellWriter.d.ts +49 -0
  517. package/lib/tr-grid-printer/es6/CellWriter.js +226 -0
  518. package/lib/tr-grid-printer/es6/ColumnWriter.d.ts +12 -0
  519. package/lib/tr-grid-printer/es6/ColumnWriter.js +21 -0
  520. package/lib/tr-grid-printer/es6/GridPrinter.d.ts +32 -0
  521. package/lib/tr-grid-printer/es6/GridPrinter.js +761 -0
  522. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +38 -0
  523. package/lib/tr-grid-printer/es6/PrintTrait.js +481 -0
  524. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +54 -0
  525. package/lib/tr-grid-printer/es6/SectionWriter.js +205 -0
  526. package/lib/tr-grid-printer/es6/index.d.ts +1 -0
  527. package/lib/tr-grid-printer/es6/index.js +1 -0
  528. package/lib/tr-grid-range-bar/es6/RangeBar.d.ts +39 -0
  529. package/lib/tr-grid-range-bar/es6/RangeBar.js +353 -0
  530. package/lib/tr-grid-range-bar/es6/index.d.ts +1 -0
  531. package/lib/tr-grid-range-bar/es6/index.js +1 -0
  532. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +53 -0
  533. package/lib/tr-grid-row-dragging/es6/RowDragging.js +794 -0
  534. package/lib/tr-grid-row-dragging/es6/index.d.ts +1 -0
  535. package/lib/tr-grid-row-dragging/es6/index.js +1 -0
  536. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +118 -0
  537. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +1884 -0
  538. package/lib/tr-grid-row-filtering/es6/index.d.ts +1 -0
  539. package/lib/tr-grid-row-filtering/es6/index.js +1 -0
  540. package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +109 -0
  541. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +1541 -0
  542. package/lib/tr-grid-row-grouping/es6/index.d.ts +1 -0
  543. package/lib/tr-grid-row-grouping/es6/index.js +1 -0
  544. package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +74 -0
  545. package/lib/tr-grid-row-selection/es6/RowSelection.js +1202 -0
  546. package/lib/tr-grid-row-selection/es6/index.d.ts +1 -0
  547. package/lib/tr-grid-row-selection/es6/index.js +1 -0
  548. package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +60 -0
  549. package/lib/tr-grid-rowcoloring/es6/RowColoring.js +611 -0
  550. package/lib/tr-grid-rowcoloring/es6/index.d.ts +1 -0
  551. package/lib/tr-grid-rowcoloring/es6/index.js +1 -0
  552. package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +77 -0
  553. package/lib/tr-grid-textformatting/es6/TextFormatting.js +574 -0
  554. package/lib/tr-grid-textformatting/es6/index.d.ts +1 -0
  555. package/lib/tr-grid-textformatting/es6/index.js +1 -0
  556. package/lib/tr-grid-titlewrap/es6/TitleWrap.d.ts +29 -0
  557. package/lib/tr-grid-titlewrap/es6/TitleWrap.js +431 -0
  558. package/lib/tr-grid-titlewrap/es6/index.d.ts +1 -0
  559. package/lib/tr-grid-titlewrap/es6/index.js +1 -0
  560. package/lib/tr-grid-util/es6/CellPainter.d.ts +136 -0
  561. package/lib/tr-grid-util/es6/CellPainter.js +1128 -0
  562. package/lib/tr-grid-util/es6/Conflator.d.ts +34 -0
  563. package/lib/tr-grid-util/es6/Conflator.js +193 -0
  564. package/lib/tr-grid-util/es6/CoralItems.d.ts +10 -0
  565. package/lib/tr-grid-util/es6/CoralItems.js +42 -0
  566. package/lib/tr-grid-util/es6/DateTime.d.ts +57 -0
  567. package/lib/tr-grid-util/es6/DateTime.js +508 -0
  568. package/lib/tr-grid-util/es6/Deferred.d.ts +14 -0
  569. package/lib/tr-grid-util/es6/Deferred.js +98 -0
  570. package/lib/tr-grid-util/es6/Delay.d.ts +20 -0
  571. package/lib/tr-grid-util/es6/Delay.js +85 -0
  572. package/lib/tr-grid-util/es6/Dom.d.ts +32 -0
  573. package/lib/tr-grid-util/es6/Dom.js +346 -0
  574. package/lib/tr-grid-util/es6/ElementObserver.d.ts +10 -0
  575. package/lib/tr-grid-util/es6/ElementObserver.js +101 -0
  576. package/lib/tr-grid-util/es6/ElementWrapper.d.ts +23 -0
  577. package/lib/tr-grid-util/es6/ElementWrapper.js +83 -0
  578. package/lib/tr-grid-util/es6/ElfDate.d.ts +26 -0
  579. package/lib/tr-grid-util/es6/ElfDate.js +163 -0
  580. package/lib/tr-grid-util/es6/ElfUtil.d.ts +33 -0
  581. package/lib/tr-grid-util/es6/ElfUtil.js +458 -0
  582. package/lib/tr-grid-util/es6/EventDispatcher.d.ts +26 -0
  583. package/lib/tr-grid-util/es6/EventDispatcher.js +161 -0
  584. package/lib/tr-grid-util/es6/ExpanderIcon.d.ts +27 -0
  585. package/lib/tr-grid-util/es6/ExpanderIcon.js +169 -0
  586. package/lib/tr-grid-util/es6/Ext.d.ts +10 -0
  587. package/lib/tr-grid-util/es6/Ext.js +52 -0
  588. package/lib/tr-grid-util/es6/FieldFormatter.d.ts +55 -0
  589. package/lib/tr-grid-util/es6/FieldFormatter.js +432 -0
  590. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +48 -0
  591. package/lib/tr-grid-util/es6/FilterBuilder.js +521 -0
  592. package/lib/tr-grid-util/es6/FilterOperators.d.ts +41 -0
  593. package/lib/tr-grid-util/es6/FilterOperators.js +181 -0
  594. package/lib/tr-grid-util/es6/GridPlugin.d.ts +72 -0
  595. package/lib/tr-grid-util/es6/GridPlugin.js +747 -0
  596. package/lib/tr-grid-util/es6/Icon.d.ts +14 -0
  597. package/lib/tr-grid-util/es6/Icon.js +61 -0
  598. package/lib/tr-grid-util/es6/MouseDownTrait.d.ts +42 -0
  599. package/lib/tr-grid-util/es6/MouseDownTrait.js +237 -0
  600. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +32 -0
  601. package/lib/tr-grid-util/es6/MultiTableManager.js +506 -0
  602. package/lib/tr-grid-util/es6/NumberFormatter.d.ts +83 -0
  603. package/lib/tr-grid-util/es6/NumberFormatter.js +471 -0
  604. package/lib/tr-grid-util/es6/PercentBar.d.ts +71 -0
  605. package/lib/tr-grid-util/es6/PercentBar.js +600 -0
  606. package/lib/tr-grid-util/es6/Perf.d.ts +32 -0
  607. package/lib/tr-grid-util/es6/Perf.js +162 -0
  608. package/lib/tr-grid-util/es6/Popup.d.ts +84 -0
  609. package/lib/tr-grid-util/es6/Popup.js +818 -0
  610. package/lib/tr-grid-util/es6/RangeBar.d.ts +33 -0
  611. package/lib/tr-grid-util/es6/RangeBar.js +259 -0
  612. package/lib/tr-grid-util/es6/RequestQueue.d.ts +30 -0
  613. package/lib/tr-grid-util/es6/RequestQueue.js +239 -0
  614. package/lib/tr-grid-util/es6/RowPainter.d.ts +23 -0
  615. package/lib/tr-grid-util/es6/RowPainter.js +188 -0
  616. package/lib/tr-grid-util/es6/SubTable.d.ts +74 -0
  617. package/lib/tr-grid-util/es6/SubTable.js +558 -0
  618. package/lib/tr-grid-util/es6/Table.d.ts +125 -0
  619. package/lib/tr-grid-util/es6/Table.js +790 -0
  620. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +18 -0
  621. package/lib/tr-grid-util/es6/TextHighlighter.js +273 -0
  622. package/lib/tr-grid-util/es6/TickCodes.d.ts +8 -0
  623. package/lib/tr-grid-util/es6/TickCodes.js +33 -0
  624. package/lib/tr-grid-util/es6/Timer.d.ts +16 -0
  625. package/lib/tr-grid-util/es6/Timer.js +49 -0
  626. package/lib/tr-grid-util/es6/TouchProxy.d.ts +46 -0
  627. package/lib/tr-grid-util/es6/TouchProxy.js +212 -0
  628. package/lib/tr-grid-util/es6/Util.d.ts +65 -0
  629. package/lib/tr-grid-util/es6/Util.js +528 -0
  630. package/lib/tr-grid-util/es6/formula/ADCService.d.ts +11 -0
  631. package/lib/tr-grid-util/es6/formula/ADCService.js +72 -0
  632. package/lib/tr-grid-util/es6/formula/ADCSubscription.d.ts +17 -0
  633. package/lib/tr-grid-util/es6/formula/ADCSubscription.js +317 -0
  634. package/lib/tr-grid-util/es6/formula/AdFinService.d.ts +12 -0
  635. package/lib/tr-grid-util/es6/formula/AdFinService.js +61 -0
  636. package/lib/tr-grid-util/es6/formula/AdFinSubscription.d.ts +19 -0
  637. package/lib/tr-grid-util/es6/formula/AdFinSubscription.js +310 -0
  638. package/lib/tr-grid-util/es6/formula/Engine.d.ts +56 -0
  639. package/lib/tr-grid-util/es6/formula/Engine.js +592 -0
  640. package/lib/tr-grid-util/es6/formula/Formula.d.ts +68 -0
  641. package/lib/tr-grid-util/es6/formula/Formula.js +882 -0
  642. package/lib/tr-grid-util/es6/formula/IntervalSubscription.d.ts +16 -0
  643. package/lib/tr-grid-util/es6/formula/IntervalSubscription.js +165 -0
  644. package/lib/tr-grid-util/es6/formula/Realtime.d.ts +18 -0
  645. package/lib/tr-grid-util/es6/formula/Realtime.js +279 -0
  646. package/lib/tr-grid-util/es6/formula/RealtimeService.d.ts +18 -0
  647. package/lib/tr-grid-util/es6/formula/RealtimeService.js +203 -0
  648. package/lib/tr-grid-util/es6/formula/TSIService.d.ts +11 -0
  649. package/lib/tr-grid-util/es6/formula/TSIService.js +51 -0
  650. package/lib/tr-grid-util/es6/formula/TSISubscription.d.ts +18 -0
  651. package/lib/tr-grid-util/es6/formula/TSISubscription.js +1015 -0
  652. package/lib/tr-grid-util/es6/formula/VariableToken.d.ts +30 -0
  653. package/lib/tr-grid-util/es6/formula/VariableToken.js +314 -0
  654. package/lib/tr-grid-util/es6/formula/functions/AdFin.d.ts +9 -0
  655. package/lib/tr-grid-util/es6/formula/functions/AdFin.js +1778 -0
  656. package/lib/tr-grid-util/es6/formula/functions/Excel.d.ts +8 -0
  657. package/lib/tr-grid-util/es6/formula/functions/Excel.js +21 -0
  658. package/lib/tr-grid-util/es6/formula/functions/Info.d.ts +8 -0
  659. package/lib/tr-grid-util/es6/formula/functions/Info.js +192 -0
  660. package/lib/tr-grid-util/es6/formula/functions/Internal.d.ts +8 -0
  661. package/lib/tr-grid-util/es6/formula/functions/Internal.js +90 -0
  662. package/lib/tr-grid-util/es6/formula/functions/Logic.d.ts +12 -0
  663. package/lib/tr-grid-util/es6/formula/functions/Logic.js +176 -0
  664. package/lib/tr-grid-util/es6/formula/functions/Math.d.ts +18 -0
  665. package/lib/tr-grid-util/es6/formula/functions/Math.js +1624 -0
  666. package/lib/tr-grid-util/es6/formula/functions/Statistics.d.ts +18 -0
  667. package/lib/tr-grid-util/es6/formula/functions/Statistics.js +234 -0
  668. package/lib/tr-grid-util/es6/formula/functions/Text.d.ts +10 -0
  669. package/lib/tr-grid-util/es6/formula/functions/Text.js +676 -0
  670. package/lib/tr-grid-util/es6/index.d.ts +63 -0
  671. package/lib/tr-grid-util/es6/index.js +99 -0
  672. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +28 -0
  673. package/lib/tr-grid-util/es6/jet/CollectionDict.js +141 -0
  674. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +114 -0
  675. package/lib/tr-grid-util/es6/jet/DataGenerator.js +827 -0
  676. package/lib/tr-grid-util/es6/jet/DataSet.d.ts +8 -0
  677. package/lib/tr-grid-util/es6/jet/DataSet.js +392 -0
  678. package/lib/tr-grid-util/es6/jet/MockArchive.d.ts +21 -0
  679. package/lib/tr-grid-util/es6/jet/MockArchive.js +56 -0
  680. package/lib/tr-grid-util/es6/jet/MockJET.d.ts +25 -0
  681. package/lib/tr-grid-util/es6/jet/MockJET.js +63 -0
  682. package/lib/tr-grid-util/es6/jet/MockQuotes.d.ts +37 -0
  683. package/lib/tr-grid-util/es6/jet/MockQuotes.js +199 -0
  684. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +72 -0
  685. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +564 -0
  686. package/lib/tr-grid-util/es6/jet/MockRTK.d.ts +8 -0
  687. package/lib/tr-grid-util/es6/jet/MockRTK.js +43 -0
  688. package/lib/tr-grid-util/es6/jet/index.d.ts +9 -0
  689. package/lib/tr-grid-util/es6/jet/index.js +18 -0
  690. package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +11 -0
  691. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +131 -0
  692. package/lib/tr-grid-util/es6/locale/translation-de.d.ts +7 -0
  693. package/lib/tr-grid-util/es6/locale/translation-de.js +51 -0
  694. package/lib/tr-grid-util/es6/locale/translation-en.d.ts +7 -0
  695. package/lib/tr-grid-util/es6/locale/translation-en.js +51 -0
  696. package/lib/tr-grid-util/es6/locale/translation-ja.d.ts +7 -0
  697. package/lib/tr-grid-util/es6/locale/translation-ja.js +51 -0
  698. package/lib/tr-grid-util/es6/locale/translation-zh-hant.d.ts +7 -0
  699. package/lib/tr-grid-util/es6/locale/translation-zh-hant.js +51 -0
  700. package/lib/tr-grid-util/es6/locale/translation-zh.d.ts +7 -0
  701. package/lib/tr-grid-util/es6/locale/translation-zh.js +51 -0
  702. package/lib/tr-grid-util/es6/locale/translation.d.ts +11 -0
  703. package/lib/tr-grid-util/es6/locale/translation.js +18 -0
  704. package/lib/types/es6/AutoTooltip.d.ts +45 -0
  705. package/lib/types/es6/CellSelection.d.ts +67 -0
  706. package/lib/types/es6/Checkbox.d.ts +69 -0
  707. package/lib/types/es6/ColumnFitter.d.ts +56 -0
  708. package/lib/types/es6/ColumnFormatting.d.ts +90 -0
  709. package/lib/types/es6/ColumnGrouping.d.ts +60 -0
  710. package/lib/types/es6/ColumnResizing.d.ts +68 -0
  711. package/lib/types/es6/ColumnSelection.d.ts +70 -0
  712. package/lib/types/es6/ColumnStack.d.ts +76 -0
  713. package/lib/types/es6/CompositeGrid/CollapsibleHeaderPlugin.d.ts +11 -0
  714. package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +38 -0
  715. package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +45 -0
  716. package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +287 -0
  717. package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +22 -0
  718. package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +44 -0
  719. package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +30 -0
  720. package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +42 -0
  721. package/lib/types/es6/CompositeGrid/TextWidthCalculator.d.ts +24 -0
  722. package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +46 -0
  723. package/lib/types/es6/CompositeGrid/index.d.ts +9 -0
  724. package/lib/types/es6/ConditionalColoring.d.ts +70 -0
  725. package/lib/types/es6/ContentWrap.d.ts +43 -0
  726. package/lib/types/es6/ContextMenu.d.ts +83 -0
  727. package/lib/types/es6/CoralButtonFormatter.d.ts +22 -0
  728. package/lib/types/es6/CoralCheckboxFormatter.d.ts +12 -0
  729. package/lib/types/es6/CoralComboBoxFormatter.d.ts +23 -0
  730. package/lib/types/es6/CoralIconFormatter.d.ts +23 -0
  731. package/lib/types/es6/CoralInputFormatter.d.ts +12 -0
  732. package/lib/types/es6/CoralRadioButtonFormatter.d.ts +22 -0
  733. package/lib/types/es6/CoralSelectFormatter.d.ts +23 -0
  734. package/lib/types/es6/CoralToggleFormatter.d.ts +12 -0
  735. package/lib/types/es6/Core/data/ColumnStats.d.ts +42 -0
  736. package/lib/types/es6/Core/data/DataCache.d.ts +81 -0
  737. package/lib/types/es6/Core/data/DataTable.d.ts +125 -0
  738. package/lib/types/es6/Core/data/DataView.d.ts +280 -0
  739. package/lib/types/es6/Core/data/Segment.d.ts +38 -0
  740. package/lib/types/es6/Core/data/SegmentCollection.d.ts +58 -0
  741. package/lib/types/es6/Core/grid/Core.d.ts +387 -0
  742. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +204 -0
  743. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +23 -0
  744. package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +18 -0
  745. package/lib/types/es6/Core/grid/components/Cell.d.ts +50 -0
  746. package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +19 -0
  747. package/lib/types/es6/Core/grid/components/CellSpan.d.ts +18 -0
  748. package/lib/types/es6/Core/grid/components/CellSpans.d.ts +38 -0
  749. package/lib/types/es6/Core/grid/components/Column.d.ts +22 -0
  750. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +125 -0
  751. package/lib/types/es6/Core/grid/components/HScrollbar.d.ts +24 -0
  752. package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +61 -0
  753. package/lib/types/es6/Core/grid/components/StretchedCells.d.ts +17 -0
  754. package/lib/types/es6/Core/grid/components/VScrollbar.d.ts +18 -0
  755. package/lib/types/es6/Core/grid/components/VirtualItems.d.ts +12 -0
  756. package/lib/types/es6/Core/grid/event/EventDispatcher.d.ts +16 -0
  757. package/lib/types/es6/Core/grid/event/EventListeners.d.ts +34 -0
  758. package/lib/types/es6/Core/grid/plugins/DragAndDropTitlePlugin.d.ts +24 -0
  759. package/lib/types/es6/Core/grid/plugins/Plugin.d.ts +28 -0
  760. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +127 -0
  761. package/lib/types/es6/Core/grid/util/Conflator.d.ts +32 -0
  762. package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +18 -0
  763. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +53 -0
  764. package/lib/types/es6/Core/grid/util/PercentBar.d.ts +43 -0
  765. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +41 -0
  766. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +25 -0
  767. package/lib/types/es6/Core/grid/util/Reverter.d.ts +14 -0
  768. package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +79 -0
  769. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +50 -0
  770. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +84 -0
  771. package/lib/types/es6/Core/grid/util/Virtualizer.d.ts +40 -0
  772. package/lib/types/es6/Core/grid/util/util.d.ts +18 -0
  773. package/lib/types/es6/Core/index.d.ts +84 -0
  774. package/lib/types/es6/Core/tr-grid-theme.d.ts +5 -0
  775. package/lib/types/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +14 -0
  776. package/lib/types/es6/EFButtonFormatter.d.ts +22 -0
  777. package/lib/types/es6/EFCheckboxFormatter.d.ts +12 -0
  778. package/lib/types/es6/EFComboBoxFormatter.d.ts +23 -0
  779. package/lib/types/es6/EFDateTimePickerFormatter.d.ts +13 -0
  780. package/lib/types/es6/EFIconFormatter.d.ts +23 -0
  781. package/lib/types/es6/EFNumberFieldFormatter.d.ts +12 -0
  782. package/lib/types/es6/EFRadioButtonFormatter.d.ts +22 -0
  783. package/lib/types/es6/EFSelectFormatter.d.ts +23 -0
  784. package/lib/types/es6/EFTextFieldFormatter.d.ts +12 -0
  785. package/lib/types/es6/EFToggleFormatter.d.ts +12 -0
  786. package/lib/types/es6/EmeraldDateTimePickerFormatter.d.ts +13 -0
  787. package/lib/types/es6/ExtensionColumnOptions.d.ts +41 -0
  788. package/lib/types/es6/ExtensionOptions.d.ts +52 -0
  789. package/lib/types/es6/Extensions.d.ts +61 -0
  790. package/lib/types/es6/FilterInput.d.ts +57 -0
  791. package/lib/types/es6/FormatterBuilder.d.ts +22 -0
  792. package/lib/types/es6/GridFormatter.d.ts +63 -0
  793. package/lib/types/es6/HeatMap.d.ts +44 -0
  794. package/lib/types/es6/InCellEditing.d.ts +129 -0
  795. package/lib/types/es6/MenuEventAPI.d.ts +22 -0
  796. package/lib/types/es6/MenuItem.d.ts +39 -0
  797. package/lib/types/es6/NumericInputFormatter.d.ts +13 -0
  798. package/lib/types/es6/Pagination.d.ts +57 -0
  799. package/lib/types/es6/PercentBar.d.ts +60 -0
  800. package/lib/types/es6/PercentBarFormatter.d.ts +25 -0
  801. package/lib/types/es6/PopupMenu.d.ts +29 -0
  802. package/lib/types/es6/RangeBar.d.ts +39 -0
  803. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +143 -0
  804. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +37 -0
  805. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +20 -0
  806. package/lib/types/es6/RealtimeGrid/Grid.d.ts +263 -0
  807. package/lib/types/es6/RealtimeGrid/PredefinedFormula.d.ts +16 -0
  808. package/lib/types/es6/RealtimeGrid/ReferenceCounter.d.ts +38 -0
  809. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +120 -0
  810. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +21 -0
  811. package/lib/types/es6/RealtimeGrid/StyleLoader.d.ts +17 -0
  812. package/lib/types/es6/RealtimeGrid/index.d.ts +8 -0
  813. package/lib/types/es6/RowColoring.d.ts +60 -0
  814. package/lib/types/es6/RowDragging.d.ts +53 -0
  815. package/lib/types/es6/RowFiltering.d.ts +118 -0
  816. package/lib/types/es6/RowGrouping.d.ts +109 -0
  817. package/lib/types/es6/RowSegmenting.d.ts +83 -0
  818. package/lib/types/es6/RowSelection.d.ts +74 -0
  819. package/lib/types/es6/SimpleImageFormatter.d.ts +21 -0
  820. package/lib/types/es6/SimpleInputFormatter.d.ts +12 -0
  821. package/lib/types/es6/SimpleLinkFormatter.d.ts +21 -0
  822. package/lib/types/es6/SimpleTickerFormatter.d.ts +25 -0
  823. package/lib/types/es6/SimpleToggleFormatter.d.ts +22 -0
  824. package/lib/types/es6/StatisticsRow.d.ts +67 -0
  825. package/lib/types/es6/TextFormatter.d.ts +12 -0
  826. package/lib/types/es6/TextFormatting.d.ts +77 -0
  827. package/lib/types/es6/TitleWrap.d.ts +29 -0
  828. package/lib/types/es6/Zoom.d.ts +51 -0
  829. package/lib/types/es6/index.d.ts +76 -0
  830. package/lib/types/index.d.ts +1 -0
  831. package/lib/versions.json +36 -0
  832. package/lib/window-exporter.js +13 -0
  833. package/lib/zoom/es6/Zoom.d.ts +51 -0
  834. package/lib/zoom/es6/Zoom.js +419 -0
  835. package/lib/zoom/es6/index.d.ts +1 -0
  836. package/lib/zoom/es6/index.js +1 -0
  837. package/package.json +42 -0
@@ -0,0 +1,947 @@
1
+ import {Ext} from '../../tr-grid-util/es6/Ext.js';
2
+ import { GridPlugin } from '../../tr-grid-util/es6/GridPlugin.js';
3
+ import { extendObject } from '../../tr-grid-util/es6/Util.js';
4
+ import {CellPainter} from '../../tr-grid-util/es6/CellPainter.js';
5
+ import {FilterBuilder} from '../../tr-grid-util/es6/FilterBuilder.js';
6
+
7
+ /** @typedef {Object} ConditionalColoringPlugin~ColumnOptions
8
+ * @description Extension column options that can be specified on each individual grid's column option:
9
+ * @property {Array.<ConditionalColoringPlugin~Condition>=} conditions=null List of condition options
10
+ * @property {(string|boolean)=} colorText=null A shorthand for specifying default condition based on the field.
11
+ * @property {(string|boolean)=} tickColor=null Alias of colorText.
12
+ * @property {(ConditionalColoringPlugin~Blinking|boolean)=} blinking=null Blink Options. If specified, the cell will be blinked on data change.
13
+ * @property {string=} field
14
+ */
15
+
16
+ /** @typedef {Object} ConditionalColoringPlugin~Condition
17
+ * @description Available options describing `condition` object
18
+ * @property {(string|Function)=} expression Expression could be `[FIELD_1] > 0`
19
+ * @property {string=} backgroundColor="" CSS color (e.g. #ffffff, black)
20
+ * @property {string=} color CSS="" color (e.g. #000000, white)
21
+ */
22
+
23
+ /** @typedef {(string|boolean|Object)} ConditionalColoringPlugin~Blinking
24
+ * @description Available options describing `blinking` object. Additionally if specify blinking as string of field, blinking will base on the field. <br>
25
+ * If specified true, field from column definition will be used.
26
+ * @property {boolean=} border=false If enabled, border will be blinked instead of background
27
+ * @property {string=} field If not specified, field from column definition will be used
28
+ * @property {string=} up CSS color (e.g. #00ff00, green)
29
+ * @property {string=} down CSS color (e.g. #ff0000, red)
30
+ * @property {(string|boolean)=} level CSS color (e.g. #33333, grey). If false value is specified, blinking for level color is disabled.
31
+ */
32
+
33
+ /** @constructor
34
+ * @extends {GridPlugin}
35
+ */
36
+ var ConditionalColoringPlugin = function () {
37
+ this._onSectionBinding = this._onSectionBinding.bind(this);
38
+ this._onColumnAdded = this._onColumnAdded.bind(this);
39
+ this._onColumnRemoved = this._onColumnRemoved.bind(this);
40
+ this._onThemeLoaded = this._onThemeLoaded.bind(this);
41
+
42
+ ConditionalColoringPlugin.cleanUpPrevRows = ConditionalColoringPlugin.cleanUpPrevRows.bind(this);
43
+ ConditionalColoringPlugin._cleanUpPrevFields = ConditionalColoringPlugin._cleanUpPrevFields.bind(this);
44
+
45
+ this._hosts = [];
46
+ };
47
+ Ext.inherits(ConditionalColoringPlugin, GridPlugin);
48
+
49
+ /** @type {number}
50
+ * @private
51
+ */
52
+ ConditionalColoringPlugin._cleanUpTimer = 0;
53
+
54
+ /** @type {boolean}
55
+ * @private
56
+ */
57
+ ConditionalColoringPlugin.prototype._blinkingEnabled = false; // WORKAROUND: To improve performance
58
+
59
+ /** @override
60
+ * @return {string}
61
+ */
62
+ ConditionalColoringPlugin.prototype.getName = function () {
63
+ return "ConditionalColoringPlugin"; // Readonly
64
+ };
65
+
66
+ /** Plugin that has multi-table support means that it can have multiple hosts/tables and share its states across those hosts/tables.
67
+ * @override
68
+ * @public
69
+ * @return {boolean}
70
+ */
71
+ ConditionalColoringPlugin.prototype.hasMultiTableSupport = function() {
72
+ return true;
73
+ };
74
+
75
+ /** @public
76
+ * @param {Object} host core grid object
77
+ * @param {Object=} options
78
+ */
79
+ ConditionalColoringPlugin.prototype.initialize = function (host, options) {
80
+ host._prevDataRows = {};
81
+
82
+ var hosts = this._hosts;
83
+ if(hosts.indexOf(host) >= 0) { return; }
84
+
85
+ hosts.push(host);
86
+
87
+ if(hosts.length === 1) {
88
+ this.config(options);
89
+ } else {
90
+ this._applyStyle(host, options);
91
+ }
92
+
93
+ host.listen("postSectionDataBinding", this._onSectionBinding);
94
+ host.listen("columnAdded", this._onColumnAdded);
95
+ host.listen("columnRemoved", this._onColumnRemoved);
96
+
97
+ if (!CellPainter.themeReady) {
98
+ CellPainter.loadThemeColors().then(this._onThemeLoaded);
99
+ }
100
+ // In case of lazy loading
101
+ // DO something
102
+ };
103
+
104
+ /** @public
105
+ * @param {Object} host core grid object
106
+ */
107
+ ConditionalColoringPlugin.prototype.unload = function (host) {
108
+ var at = this._hosts.indexOf(host);
109
+ if(at < 0) { return; }
110
+ this._hosts.splice(at, 1);
111
+
112
+ host.unlisten("postSectionDataBinding", this._onSectionBinding);
113
+ host.unlisten("columnAdded", this._onColumnAdded);
114
+ host.unlisten("columnRemoved", this._onColumnRemoved);
115
+
116
+ host._prevDataRows = null;
117
+
118
+ this._dispose();
119
+ };
120
+ /** Remove redundant built-in feature
121
+ * @public
122
+ * @param {string} optionName
123
+ * @param {*} optionVal
124
+ * @return {*} The transformed value of the option
125
+ */
126
+ ConditionalColoringPlugin.prototype.beforeProcessOption = function (optionName, optionVal) {
127
+ if (optionName == "blinker") { // TODO: Handle blinkBy option in column model
128
+ return null; // eslint-disable-line
129
+ }
130
+ return; // eslint-disable-line
131
+ };
132
+
133
+ /** @public
134
+ * @param {Object=} options
135
+ */
136
+ ConditionalColoringPlugin.prototype.config = function (options) {
137
+ if(!options) { return; }
138
+
139
+ var columns = options["columns"];
140
+ if(!columns) { return; }
141
+
142
+ var len = columns.length;
143
+ for(var i = 0; i < len; ++i) {
144
+ this.setColumnColoring(i, columns[i]);
145
+ }
146
+ };
147
+
148
+ /** @public
149
+ * @param {Object=} gridOptions
150
+ * @return {!Object}
151
+ */
152
+ ConditionalColoringPlugin.prototype.getConfigObject = function (gridOptions) {
153
+ var obj = gridOptions || {};
154
+
155
+ var columns = obj.columns;
156
+ if (!columns) {
157
+ columns = obj.columns = [];
158
+ }
159
+
160
+ var len = this.getColumnCount();
161
+ var host = this._hosts[0];
162
+ for (var i = 0; i < len; ++i) {
163
+ var column = columns[i];
164
+ if (!column) {
165
+ column = columns[i] = {};
166
+ }
167
+
168
+ var conditions = this._getColumnOption(i, 'conditions', host);
169
+ if (Array.isArray(conditions) && conditions.length > 0) {
170
+ column.conditions = [];
171
+
172
+ var count = conditions.length;
173
+ for (var colIndex = 0; colIndex < count; colIndex++) {
174
+ var exCondition = {};
175
+ extendObject(exCondition, conditions[colIndex], [
176
+ 'expression',
177
+ 'backgroundColor',
178
+ 'color'
179
+ ]);
180
+
181
+ column.conditions.push(exCondition);
182
+ }
183
+ }
184
+
185
+ var colorText = this._getColumnOption(i, 'colorText', host);
186
+ if (colorText) {
187
+ column.colorText = colorText;
188
+ }
189
+
190
+ // alias with colorText
191
+ var tickColor = this._getColumnOption(i, 'tickColor', host);
192
+ if (tickColor) {
193
+ column.tickColor = tickColor;
194
+ }
195
+
196
+ var blinking = this._getColumnOption(i, 'blinking', host);
197
+ if (blinking) {
198
+ column.blinking = blinking;
199
+ }
200
+
201
+ var field = this._getField(i);
202
+ if (field) {
203
+ column.field = field;
204
+ }
205
+ }
206
+
207
+ return obj;
208
+ };
209
+
210
+ /** @private
211
+ * @param {Object} host core grid object
212
+ * @param {Object=} options
213
+ */
214
+ ConditionalColoringPlugin.prototype._applyStyle = function(host, options) {
215
+ if(!options) { return; }
216
+
217
+ var columns = options["columns"];
218
+ if(!columns) { return; }
219
+
220
+ var painter;
221
+ var len = columns.length;
222
+ for(var i = 0; i < len; ++i) {
223
+ painter = this.getColumnPainter(i);
224
+ if(this._isValidPainter(painter)) {
225
+ host.enableColumnClass(i, "conditionally-colored", true);
226
+ }
227
+ }
228
+ };
229
+
230
+ /** @private
231
+ * @param {CellPainter=} painter
232
+ * @return {boolean}
233
+ */
234
+ ConditionalColoringPlugin.prototype._isValidPainter = function(painter) {
235
+ if (!painter) {
236
+ return false;
237
+ }
238
+ var type = painter.getColoringType();
239
+ if (type !== CellPainter.ColoringTypes.HEATMAP) {
240
+ return true;
241
+ } else {
242
+ return false;
243
+ }
244
+ };
245
+
246
+ /** @private
247
+ * @param {number} colIndex
248
+ */
249
+ ConditionalColoringPlugin.prototype._clearCellStyles = function(colIndex) {
250
+ var i, grid, sect, rowCount, r, cell;
251
+ var hosts = this._hosts;
252
+ for(i = hosts.length; --i >= 0;) {
253
+ grid = hosts[i];
254
+ sect = grid.getSection("content");
255
+ rowCount = sect.getRowCount();
256
+ for(r = 0; r < rowCount; ++r) {
257
+ cell = sect.getCell(colIndex, r, false);
258
+ if (cell) {
259
+ CellPainter.clearCellStyle(cell);
260
+ }
261
+ }
262
+ }
263
+ };
264
+
265
+ /** @private
266
+ * @param {number} colIndex
267
+ * @param {boolean=} enabled
268
+ */
269
+ ConditionalColoringPlugin.prototype._enableColumnStyle = function(colIndex, enabled) {
270
+ enabled = enabled !== false;
271
+ var hosts = this._hosts;
272
+ var grid;
273
+ for(var i = hosts.length; --i >= 0;) {
274
+ grid = hosts[i];
275
+ grid.enableColumnClass(colIndex, "conditionally-colored", enabled);
276
+ }
277
+ };
278
+
279
+ /** @private
280
+ */
281
+ ConditionalColoringPlugin.prototype._cachePreviousValue = function() {
282
+ var colCount = this.getColumnCount();
283
+ var hosts = this._hosts;
284
+ var len = hosts.length;
285
+ var i, c, host;
286
+ for (i = 0; i < len; i++) {
287
+ host = hosts[i];
288
+ for (c = 0; c < colCount; ++c) {
289
+ this._cacheColumnPreviousValue(c, host);
290
+ }
291
+ }
292
+ };
293
+
294
+ /** @private
295
+ * @param {number} colIndex
296
+ * @param {Object} host
297
+ */
298
+ ConditionalColoringPlugin.prototype._cacheColumnPreviousValue = function(colIndex, host) {
299
+ var prevDataRows = host._prevDataRows || {};
300
+ var dv = host.getDataSource();
301
+ var rowCount = dv.getRowCount();
302
+ var colData = this._getColumnData(colIndex);
303
+ if (colData["blinking"]) {
304
+ var field = colData["blinkingField"] || this._getField(colIndex);
305
+ var r, rid, value, prevDataRow;
306
+ for (r = 0; r < rowCount; r++) {
307
+ rid = dv.getRowId(r);
308
+ value = this._getData(dv, r, field);
309
+ if (value != null) {
310
+ prevDataRow = prevDataRows[rid];
311
+ if (!prevDataRow) {
312
+ prevDataRow = prevDataRows[rid] = {};
313
+ }
314
+
315
+ prevDataRow[field] = value;
316
+ }
317
+ }
318
+ host._prevDataRows = prevDataRows;
319
+ }
320
+ };
321
+
322
+ /** @public
323
+ * @param {number} colIndex
324
+ * @param {ConditionalColoringPlugin~ColumnOptions} columnOptions
325
+ * @example
326
+ * var colDef = {
327
+ * "conditions": [{ // Array.<Object> Condition Object Properties
328
+ * "expression": "[column0] > 0", // string
329
+ * "backgroundColor": "", // Optional string e.g. #ffffff, black
330
+ * "color": "" // Optional string e.g. #000000, white
331
+ * }]
332
+ * };
333
+ * var colDef2 = {
334
+ * "field": "string",
335
+ * "colorText": true // string as Field or boolean for text coloring mode
336
+ * };
337
+ */
338
+ ConditionalColoringPlugin.prototype.setColumnColoring = function (colIndex, columnOptions) {
339
+ // Save column config state
340
+ var colData = this._newColumnData(colIndex);
341
+ if(columnOptions) {
342
+ colData['conditions'] = columnOptions['conditions'];
343
+ colData['colorText'] = columnOptions['colorText'];
344
+ colData['tickColor'] = columnOptions['tickColor'];
345
+ colData['blinking'] = columnOptions['blinking'];
346
+ } else {
347
+ colData['conditions'] = null;
348
+ colData['colorText'] = null;
349
+ colData['tickColor'] = null;
350
+ colData['blinking'] = null;
351
+ }
352
+
353
+ this.setColumnBlinking(colIndex, columnOptions["blinking"], columnOptions["field"]);
354
+
355
+ var painter = colData["painter"];
356
+ var prevColoring = colData["coloring"];
357
+ var colorOptions = this._prepareColorOptions(colIndex, columnOptions);
358
+ if(colorOptions.hasColor) { // Set new coloring
359
+ if (!painter) {
360
+ painter = colData["painter"] = new CellPainter();
361
+ }
362
+
363
+ if(colorOptions.condColoring) {
364
+ painter.setConditions(colorOptions.condColoring.conditions);
365
+ } else if(colorOptions.colorText) {
366
+ painter.addColorTextWithTheme(colorOptions.colorText.field);
367
+ }
368
+
369
+ colData["coloring"] = true; // Used for binding
370
+ painter["inputField"] = colorOptions.inputField;
371
+ } else {
372
+ colData["coloring"] = false;
373
+ if(this._isValidPainter(painter)) {
374
+ painter.resetColoring(); // Release any used memory
375
+ if(prevColoring) {
376
+ this._clearCellStyles(colIndex); // Need to clear the existing previous coloring style here
377
+ }
378
+ }
379
+ }
380
+
381
+ if(colData["coloring"] || colData["blinkingField"] ) {
382
+ this._enableColumnStyle(colIndex, true); // Remove the background image
383
+
384
+ if(colData["coloring"] && this._initializedGrid) { // Force rendering, the new coloring will be applied in the binding
385
+ this._requestRowRefresh();
386
+ }
387
+ } else if(painter) { // Clear existing painter
388
+ if(this._clearPainter(colData)) {
389
+ // Clear existing styles related to conditional coloring
390
+ this._enableColumnStyle(colIndex, false);
391
+ }
392
+ }
393
+ };
394
+
395
+ /** @public
396
+ * @param {number} colIndex
397
+ * @param {(boolean|ConditionalColoringPlugin~Blinking)=} blinkingOptions
398
+ * @param {string=} field If not specified, column field will be used
399
+ */
400
+ ConditionalColoringPlugin.prototype.setColumnBlinking = function (colIndex, blinkingOptions, field) {
401
+ var colData = this._newColumnData(colIndex);
402
+ var prevBlinking = colData["blinkingField"];
403
+ colData["blinking"] = blinkingOptions;
404
+ var painter = colData["painter"];
405
+ var bOptions = this._prepareBlinkingOptions(colIndex, blinkingOptions, field);
406
+ if (bOptions) {
407
+ if (!painter) {
408
+ colData["painter"] = painter = new CellPainter();
409
+ } else if(prevBlinking) {
410
+ // Clear current style, blinking and existing styles related to blinking
411
+ painter.clearBlinking();
412
+ }
413
+ painter.disableLevelColor(bOptions.level === false);
414
+ if (bOptions.customColor) {
415
+ painter.addBlink(bOptions.field, bOptions.up, bOptions.down, bOptions.level, bOptions.border);
416
+ } else {
417
+ painter.addBlinkWithTheme(bOptions.field, bOptions.border);
418
+ }
419
+ colData["blinkingField"] = bOptions.field; // used for binding and cache clearing
420
+ this._blinkingEnabled = true; // TODO: need to dynamically verify the blink state
421
+
422
+ if (!prevBlinking) { // No need update the cache for the options changing
423
+ // Emerald Grid needs to cache in the initializing phase
424
+ // Atlas Blotter will cache in the first binding
425
+ if (this._compositeGrid || this._initializedGrid) {
426
+ var host, hosts = this._hosts;
427
+ for (var i = 0; i < hosts.length; i++) {
428
+ host = hosts[i];
429
+ this._cacheColumnPreviousValue(colIndex, host);
430
+ }
431
+ }
432
+ }
433
+
434
+ ConditionalColoringPlugin._startCleanUpInterval();
435
+ } else {
436
+ if (painter) {
437
+ if (!colData["coloring"]) {
438
+ this._clearPainter(colData);
439
+ } else {
440
+ painter.clearBlinking(); // Release any used memory and restore cell's style
441
+ ConditionalColoringPlugin._cleanUpPrevFields();
442
+ }
443
+ }
444
+ colData["blinkingField"] = null; // Used by cache clearing, do not reset before cache clearing
445
+ }
446
+ };
447
+
448
+ /** @public
449
+ * @param {number} colIndex
450
+ * @param {Object=} out_obj
451
+ * @return {!Object}
452
+ */
453
+ ConditionalColoringPlugin.prototype.getColumnColoring = function(colIndex, out_obj) {
454
+ if(!out_obj) {
455
+ out_obj = {};
456
+ }
457
+ console.log("WARNING: getColumnColoring() is not implemented yet");
458
+ return out_obj;
459
+ };
460
+
461
+ /** @public
462
+ * @param {number} rowIndex
463
+ * @param {number} blinkSignal
464
+ * @param {Object=} host core grid object
465
+ */
466
+ ConditionalColoringPlugin.prototype.blinkRow = function (rowIndex, blinkSignal, host) {
467
+ host = host || this._hosts[0];
468
+ if (!host) return;
469
+
470
+ var dv = host.getDataSource();
471
+ if (!dv) return;
472
+
473
+ var section = host.getSection('content');
474
+ if (!section) return;
475
+
476
+ var rowData = dv.getRowDataAt(rowIndex);
477
+
478
+ var colCount = section.getColumnCount();
479
+ for (var c = 0; c < colCount; ++c) {
480
+ var painter = this.getColumnPainter(c);
481
+ if (!painter) continue;
482
+
483
+ var cell = section.getCell(c, rowIndex, false);
484
+ if (!cell) continue;
485
+ painter.blink(cell, blinkSignal, rowData);
486
+ }
487
+ };
488
+
489
+ /** @private
490
+ * @param {number} colIndex
491
+ * @param {(boolean|ConditionalColoringPlugin~Blinking)=} blinkingOptions
492
+ * @param {string=} columnField
493
+ * @return {Object}
494
+ */
495
+ ConditionalColoringPlugin.prototype._prepareBlinkingOptions = function (colIndex, blinkingOptions, columnField) {
496
+ if (colIndex == null || !blinkingOptions) {
497
+ return null;
498
+ }
499
+
500
+ var bOptions = {};
501
+ var field = columnField || this._getField(colIndex);
502
+ var blinkField = field;
503
+ if (typeof blinkingOptions === "string") {
504
+ blinkField = blinkingOptions;
505
+ } else if(typeof blinkingOptions === "object") {
506
+ blinkField = /** @type{string} */(blinkingOptions["field"]) || field;
507
+ bOptions.border = blinkingOptions["border"];
508
+ if (blinkingOptions["up"] || blinkingOptions["down"] || blinkingOptions["level"]) {
509
+ bOptions.customColor = true;
510
+ bOptions.up = blinkingOptions["up"];
511
+ bOptions.down = blinkingOptions["down"];
512
+ bOptions.level = blinkingOptions["level"];
513
+ }
514
+ if (blinkingOptions["level"] === false) {
515
+ bOptions.level = false;
516
+ }
517
+ }
518
+
519
+ bOptions.field = ConditionalColoringPlugin._convertKeyword(blinkField, field);
520
+ bOptions.inputField = blinkField;
521
+ return bOptions;
522
+ };
523
+
524
+ /** @private
525
+ * @param {number} colIndex
526
+ * @param {ConditionalColoringPlugin~ColumnOptions} columnOptions
527
+ * @return {!Object}
528
+ */
529
+ ConditionalColoringPlugin.prototype._prepareColorOptions = function(colIndex, columnOptions) {
530
+ var colorOptions = {};
531
+ if(!columnOptions) {
532
+ return colorOptions;
533
+ }
534
+ var colField = this._getField(colIndex);
535
+ var field = /** @type{string} */(columnOptions["field"]) || colField;
536
+ field = ConditionalColoringPlugin._convertKeyword(field, colField);
537
+
538
+ var conditions = columnOptions["conditions"];
539
+
540
+ // Check if there is another type of coloring
541
+ // "colorText" attr has more priority than "tickColor"
542
+ var colorText = columnOptions["colorText"] || columnOptions["tickColor"];
543
+ var inputField = columnOptions["inputField"] || "";
544
+ var conditionCount = conditions ? conditions.length : 0;
545
+ if(conditionCount) {
546
+ colorOptions.condColoring = {};
547
+ colorOptions.condColoring.conditions = conditions;
548
+ colorOptions.hasColor = 1;
549
+ var formatter = (field == colField) ? columnOptions["textFormatter"] : null;
550
+ var builder = ConditionalColoringPlugin.getFilterBuilder();
551
+
552
+ // WARNING: Builder has to have field first
553
+ builder.setFieldDefinition(field, formatter, field);
554
+
555
+ for(var i = conditionCount; --i >= 0;) {
556
+ var cond = conditions[i];
557
+ var exp = cond["expression"];
558
+ if(!exp && field) { // Build Expression from condition
559
+ var oper = cond["condition"];
560
+ var value1 = cond["value1"];
561
+ var value2 = cond["value1"];
562
+
563
+ if(oper !== "BTW") {
564
+ builder.addCondition(oper, value1);
565
+ } else {
566
+ builder.addCondition("GTE", value1);
567
+ builder.addCondition("LTE", value2);
568
+ }
569
+ exp = builder.buildFilter();
570
+ cond["expression"] = exp;
571
+ }
572
+ }
573
+
574
+ colorOptions.inputField = inputField;
575
+ } else if(colorText) {
576
+ colorOptions.colorText = {};
577
+ colorOptions.hasColor = 1;
578
+
579
+ inputField = field;
580
+ if(typeof colorText === "string") {
581
+ inputField = colorText;
582
+ } else if(typeof colorText === "object") {
583
+ inputField = /** @type{string} */(colorText["field"]) || field;
584
+ }
585
+ colorOptions.colorText.field = ConditionalColoringPlugin._convertKeyword(inputField, field);
586
+ colorOptions.inputField = inputField;
587
+ }
588
+
589
+ return colorOptions;
590
+ };
591
+ /** @private
592
+ * @function
593
+ * @param {string} userInput
594
+ * @param {string} fallback
595
+ * @return {string}
596
+ */
597
+ ConditionalColoringPlugin._convertKeyword = function(userInput, fallback) {
598
+ if(userInput) {
599
+ // Note that THIS_COLUMN is a special keyword that needs to be converted before usage
600
+ return userInput.indexOf("THIS_COLUMN") ? userInput : fallback;
601
+ }
602
+ return userInput;
603
+ };
604
+
605
+ /** @private
606
+ * @function
607
+ * @param {Array.<Object>} events
608
+ * @return {Object} mapping of inserted row id
609
+ */
610
+ ConditionalColoringPlugin._mapInsertedRowId = function (events) {
611
+ var insertedDict = {};
612
+ var eventCount = events ? events.length : 0;
613
+ for (var i = 0; i < eventCount; ++i) {
614
+ var event = events[i];
615
+
616
+ // map inserted row
617
+ if (event.type === "inserted") {
618
+ insertedDict[event.rid] = true;
619
+ }
620
+ }
621
+ return insertedDict;
622
+ };
623
+
624
+ /** @private
625
+ * @function
626
+ * @param {Object} e
627
+ * @return {!Array.<Object>} Array of merged changes
628
+ */
629
+ ConditionalColoringPlugin._mergeUpdates = function(e) {
630
+ var evts = e.events; // dataSource event
631
+ var evtCount = evts ? evts.length : 0;
632
+ var dv = e.dataSource;
633
+ var changedRows = [];
634
+ var evt, i;
635
+ for (i = 0; i < evtCount; ++i) {
636
+ evt = evts[i];
637
+
638
+ // merge update event
639
+ if (evt.type === "updated") {
640
+ var rowIndex = dv.getRowIndex(evt.rid);
641
+ if (!changedRows[rowIndex]) {
642
+ changedRows[rowIndex] = {
643
+ changed: {},
644
+ rid: evt.rid
645
+ };
646
+ }
647
+ var mergedChanges = changedRows[rowIndex].changed;
648
+ var changes = evt.changes;
649
+ for (var key in changes) {
650
+ mergedChanges[key] = 1;
651
+ }
652
+ }
653
+ }
654
+ return changedRows;
655
+ };
656
+ /** @private
657
+ * @function
658
+ * @return {!FilterBuilder}
659
+ */
660
+ ConditionalColoringPlugin.getFilterBuilder = function() {
661
+ if(!ConditionalColoringPlugin._fb) {
662
+ ConditionalColoringPlugin._fb = new FilterBuilder();
663
+ }
664
+ return ConditionalColoringPlugin._fb;
665
+ };
666
+ /** @type {FilterBuilder}
667
+ * @private
668
+ */
669
+ ConditionalColoringPlugin._fb = null;
670
+
671
+ /** @private */
672
+ ConditionalColoringPlugin.prototype._requestRowRefresh = function () {
673
+ for(var i = this._hosts.length; --i >= 0;) {
674
+ this._hosts[i].requestRowRefresh();
675
+ }
676
+ };
677
+ /** @public
678
+ * @param {number} colIndex
679
+ * @return {CellPainter}
680
+ */
681
+ ConditionalColoringPlugin.prototype.getColumnPainter = function (colIndex) {
682
+ return /** @type{CellPainter} */(this._getColumnOption(colIndex, "painter"));
683
+ };
684
+
685
+ /** Apply color to a cell base on input column index
686
+ * @public
687
+ * @param {number} colIndex Coloring condition from this column index will be used
688
+ * @param {Object} cell Target grid cell to apply color to
689
+ * @param {Object=} rowData A row data which will be used to determine a color together with a colIndex
690
+ */
691
+ ConditionalColoringPlugin.prototype.applyColor = function (colIndex, cell, rowData) {
692
+ var painter = this.getColumnPainter(colIndex);
693
+ if (!painter) { return; }
694
+
695
+ if (!rowData) rowData = {};
696
+ var field = this._getField(colIndex);
697
+ var changes = {};
698
+ changes[field] = 1;
699
+ painter.render(cell, rowData, NaN, NaN, changes); // NaN values are min and max values for heatmap calculation
700
+ };
701
+
702
+ /** @private
703
+ * @param {Object} e
704
+ */
705
+ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
706
+ var c, r, cell, painter, changedCols, rowDef, rid, changedRow, changedRows;
707
+ var dataRow, insertedId, colData, blinking, bgBlinking, cachedValues, updatePrev;
708
+ var section = e["section"];
709
+ var dataRows = /** @type{Array.<Object>} */(e["dataRows"]);
710
+ var colCount = section.getColumnCount();
711
+ var fromR = /** @type{number} */(e["fromRowIndex"]);
712
+ var toR = /** @type{number} */(e["toRowIndex"]);
713
+ var actualUpdate = e["actualUpdate"];
714
+ var dv = e["dataSource"];
715
+ var host = e["sender"];
716
+
717
+ var blinkingEnabled = actualUpdate && this._blinkingEnabled;
718
+ if (blinkingEnabled) {
719
+ insertedId = ConditionalColoringPlugin._mapInsertedRowId(e.events);
720
+ if (this._compositeGrid) {
721
+ changedRows = ConditionalColoringPlugin._mergeUpdates(e);
722
+ }
723
+ }
724
+
725
+ var prevDataRow, prevDataRows = host._prevDataRows;
726
+ for (r = fromR; r < toR; ++r) {
727
+ dataRow = this._rowGetter(dataRows[r]);
728
+ if (!dataRow) continue; // prevent from null value access when using with RowGroupingExtension
729
+
730
+ changedCols = null;
731
+ if (blinkingEnabled) {
732
+ if (this._realTimeGrid) {
733
+ // TODO: check rid from e.rids
734
+ rowDef = /** @type{RowDefinition} */(dataRow["ROW_DEF"]);
735
+ rid = rowDef ? rowDef.getRowId() : "";
736
+ if (rid && !insertedId[rid]) {
737
+ changedCols = rowDef.getUpdates();
738
+ }
739
+ } else { // composite grid
740
+ changedRow = changedRows[r];
741
+ if (changedRow) {
742
+ rid = changedRow.rid;
743
+ if (!insertedId[rid]) {
744
+ changedCols = changedRow.changed;
745
+ }
746
+ }
747
+ }
748
+ }
749
+
750
+ if (!rid) {
751
+ if (this._realTimeGrid) {
752
+ // TODO: check rid from e.rids
753
+ rowDef = /** @type{RowDefinition} */(dataRow["ROW_DEF"]);
754
+ rid = rowDef ? rowDef.getRowId() : "";
755
+ } else {
756
+ rid = dv.getRowId(r);
757
+ }
758
+ }
759
+
760
+ prevDataRow = prevDataRows[rid];
761
+ cachedValues = {};
762
+ updatePrev = false;
763
+ for (c = 0; c < colCount; ++c) {
764
+ cell = section.getCell(c, r, false);
765
+ if (!cell) continue;
766
+
767
+ painter = this.getColumnPainter(c);
768
+ if (painter) {
769
+ colData = this._getColumnData(c);
770
+ bgBlinking = false;
771
+ blinking = false;
772
+ if (colData["blinking"] && actualUpdate) { // blinking
773
+ var field = colData["blinkingField"] || this._getField(c);
774
+ var newValue = dataRow[field];
775
+ if (prevDataRow) {
776
+ var prevValue = prevDataRow[field];
777
+ if (prevValue != null) {
778
+ if (changedCols && changedCols[field]) {
779
+ blinking = true;
780
+ bgBlinking = painter.blinkCell(cell, newValue, prevValue, dataRow, dataRow);
781
+ }
782
+ }
783
+ }
784
+
785
+ if (!blinking) {
786
+ painter.verifyBlinking(cell, dataRow);
787
+ }
788
+ cachedValues[field] = newValue;
789
+ updatePrev = true;
790
+ }
791
+
792
+ // conditional coloring
793
+ if (colData["coloring"] && !bgBlinking) {
794
+ painter.renderColoring(cell, dataRow);
795
+ }
796
+ }
797
+ }
798
+ if (updatePrev) {
799
+ // Need to update cache when all columns are finished
800
+ // To prevent column that uses the same field from always blink with level color
801
+ // because the cache is updated by former column
802
+ prevDataRows[rid] = cachedValues;
803
+ }
804
+ rid = null;
805
+ }
806
+ };
807
+ /** @private
808
+ * @param {Object} e
809
+ */
810
+ ConditionalColoringPlugin.prototype._onColumnAdded = function(e) {
811
+ if(e.context) {
812
+ this.setColumnColoring(e.colIndex, e.context, e.sender);
813
+ }
814
+ };
815
+ /** @private
816
+ * @param {Object} e
817
+ */
818
+ ConditionalColoringPlugin.prototype._onColumnRemoved = function(e) {
819
+ var colData = /** @type{Object} */(e.columnData);
820
+ this._clearPainter(colData);
821
+ };
822
+
823
+ /** @private */
824
+ ConditionalColoringPlugin.prototype._onThemeLoaded = function () {
825
+ this._requestRowRefresh();
826
+ };
827
+
828
+ /** @private
829
+ * @param {Object} colData
830
+ * @return {boolean}
831
+ */
832
+ ConditionalColoringPlugin.prototype._clearPainter = function (colData) {
833
+ if (colData) {
834
+ ConditionalColoringPlugin._cleanUpPrevFields();
835
+ var painter = colData["painter"];
836
+ if (painter) {
837
+ if (this._isValidPainter(painter)) {
838
+ painter.dispose();
839
+ colData["painter"] = null;
840
+ return true;
841
+ } else {
842
+ painter.clearBlinking();
843
+ // cannot set colData["painter"] to be null here because some other extensions may be still using this painter
844
+ }
845
+ }
846
+ }
847
+ return false;
848
+ };
849
+
850
+ /** @private
851
+ */
852
+ ConditionalColoringPlugin._cleanUpPrevFields = function() {
853
+ // Assume that all hosts are using the same columns' options
854
+ var colCount = this.getColumnCount();
855
+ var colData, blinkingFields = {};
856
+ var isBlinking = false;
857
+ for (var c = 0; c < colCount; c++) {
858
+ colData = this._getColumnData(c);
859
+ if (colData["blinking"]) {
860
+ blinkingFields[colData["blinkingField"]] = isBlinking = true;
861
+ }
862
+ }
863
+
864
+ var hosts = this._hosts;
865
+ var len = hosts.length;
866
+ var host, i;
867
+ if (isBlinking) {
868
+ var prevDataRow, prevDataRows, rid, field;
869
+ for (i = 0; i < len; i++) {
870
+ host = hosts[i];
871
+ prevDataRows = host._prevDataRows;
872
+ for (rid in prevDataRows) {
873
+ prevDataRow = prevDataRows[rid];
874
+ for (field in prevDataRow) {
875
+ if (!blinkingFields[field]) {
876
+ delete prevDataRow[field];
877
+ }
878
+ }
879
+ }
880
+ }
881
+ } else {
882
+ for (i = 0; i < len; i++) {
883
+ host = hosts[i];
884
+ host._prevDataRows = {};
885
+ }
886
+ ConditionalColoringPlugin._stopCleanUpInterval();
887
+ }
888
+ };
889
+
890
+ /** @public
891
+ */
892
+ ConditionalColoringPlugin.cleanUpPrevRows = function() {
893
+ var hosts = this._hosts;
894
+ var len = hosts.length;
895
+ var host, dv, i, n, rids, rid, prevDataRows;
896
+ for (i = 0; i < len; i++) {
897
+ host = hosts[i];
898
+ dv = host.getDataSource();
899
+ if (!dv) { continue; }
900
+ prevDataRows = host._prevDataRows;
901
+ rids = Object.keys(prevDataRows);
902
+ for (n = 0; n < rids.length; n++) {
903
+ rid = rids[n];
904
+ if (!dv.getRowData(rid)) {
905
+ delete prevDataRows[rid];
906
+ }
907
+ }
908
+ }
909
+ };
910
+
911
+ /** @private
912
+ */
913
+ ConditionalColoringPlugin._startCleanUpInterval = function() {
914
+ if (!ConditionalColoringPlugin._cleanUpTimer) {
915
+ ConditionalColoringPlugin._cleanUpTimer = setInterval(ConditionalColoringPlugin.cleanUpPrevRows, 1800000);
916
+ }
917
+ };
918
+
919
+ /** @private
920
+ */
921
+ ConditionalColoringPlugin._stopCleanUpInterval = function() {
922
+ if (ConditionalColoringPlugin._cleanUpTimer) {
923
+ clearInterval(ConditionalColoringPlugin._cleanUpTimer);
924
+ ConditionalColoringPlugin._cleanUpTimer = 0;
925
+ }
926
+ };
927
+
928
+ /** @public
929
+ * @description Deprecated:: Should use reloadThemeColors instead
930
+ * @function
931
+ * @param {Object.<string, string>} colors Name/Value pair object
932
+ */
933
+ ConditionalColoringPlugin.setThemeColors = CellPainter.setThemeColors;
934
+
935
+ /** @public
936
+ * @description Reload theme colors and change colors for all instances of CellPainter, Should call after MovementColor changed.
937
+ * @function
938
+ * @return {Promise<Object>}
939
+ */
940
+ ConditionalColoringPlugin.prototype.reloadThemeColors = function () {
941
+ return CellPainter.reloadThemeColors().then(this._onThemeLoaded);
942
+ };
943
+
944
+
945
+
946
+ export default ConditionalColoringPlugin;
947
+ export { ConditionalColoringPlugin, ConditionalColoringPlugin as ConditionalColoring, ConditionalColoringPlugin as ConditionalColoringExtension };