@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,1128 @@
1
+ import { TickCodes, TickFields } from "./TickCodes.js";
2
+ import { parseCondition, rgb2Hex } from "./Util.js";
3
+ import { ElfUtil } from "./ElfUtil.js";
4
+
5
+ /** @typedef {Object} CellPainter~Expression
6
+ * @property {string=} name
7
+ * @property {string} text Text describes condition e.g. [FIELD] > 10
8
+ * @property {Array=} values
9
+ */
10
+
11
+ /** @typedef {Object} CellPainter~Condition
12
+ * @property {string} field Field to be used in the condition
13
+ * @property {CellPainter~Expression|string} expression Text describes condition e.g. [FIELD] > 10
14
+ * @property {string=} backgroundColor CSS color string
15
+ * @property {string=} color CSS color string
16
+ * @property {string=} fontSize
17
+ * @property {string=} fontWeight
18
+ * @property {string=} fontStyle
19
+ * @property {string=} textAlign
20
+ * @property {string=} textDecoration
21
+ */
22
+
23
+ /** @typedef {Object.<string, string>} CellPainter~ThemeColors
24
+ * @description Theme colors in hex format. All of the values are optional
25
+ * @property {string=} baseGrid Background color of the grid element
26
+ * @property {string=} baseText Text color of the grid element
27
+ * @property {string=} up Color for positive value
28
+ * @property {string=} down Color for negative value
29
+ * @property {string=} level Color for neutral/unchanged value
30
+ * @property {string=} tickUp Color for positive tick icon
31
+ * @property {string=} tickDown Color for negative tick icon
32
+ */
33
+
34
+ /** @constructor */
35
+
36
+ var CellPainter = function() {
37
+ this._conditions = [];
38
+ this._scopes = [];
39
+
40
+ CellPainter._painters.push(this); // For later referencing
41
+ };
42
+
43
+ /** Enum for coloring types.
44
+ * @enum {number}
45
+ */
46
+ CellPainter.ColoringTypes = {
47
+ TEXT: 1,
48
+ HEATMAP: 2,
49
+ CONDITIONAL: 3
50
+ };
51
+
52
+ /** @type {CellPainter.ColoringTypes}
53
+ * @private
54
+ */
55
+ CellPainter.prototype._coloringType = 0;
56
+ /** @type {Array.<Object>}
57
+ * @private
58
+ */
59
+ CellPainter.prototype._conditions = null;
60
+ /** @type {Object}
61
+ * @private
62
+ */
63
+ CellPainter.prototype._blinkCondition = null;
64
+ /** @type {!Array}
65
+ * @private
66
+ */
67
+ CellPainter.prototype._scopes;
68
+ /** @type {Object}
69
+ * @private
70
+ */
71
+ CellPainter.prototype._columnStats = null;
72
+ /** @type {boolean}
73
+ * @private
74
+ */
75
+ CellPainter.prototype._levelColorDisabled = false;
76
+
77
+ /** @type {number}
78
+ * @private
79
+ */
80
+ CellPainter._runningBlinkId = 0;
81
+
82
+
83
+ /** @type {number}
84
+ * @private
85
+ */
86
+ CellPainter._blinkingDuration = 250;
87
+ /** @type {Array.<CellPainter>}
88
+ * @private
89
+ * @const
90
+ */
91
+ CellPainter._painters = [];
92
+
93
+ /** @type {!Array}
94
+ * @private
95
+ * @const
96
+ */
97
+ CellPainter._emptyAry = [];
98
+ /** @type {!Object}
99
+ * @private
100
+ * @const
101
+ */
102
+ CellPainter._emptyObj = {};
103
+ /** @type {!Object}
104
+ * @private
105
+ * @const
106
+ */
107
+ CellPainter._bgObj = {"backgroundColor": "", "color": ""};
108
+ /** @type {!Object}
109
+ * @private
110
+ * @const
111
+ */
112
+ CellPainter._colorObj = {"color": ""};
113
+ /** @type {!Array.<string>}
114
+ * @private
115
+ * @const
116
+ */
117
+ CellPainter.bgStyles = ["backgroundColor", "color"];
118
+ /** @type {!Array.<string>}
119
+ * @private
120
+ * @const
121
+ */
122
+ CellPainter.nonBgStyles = ["fontSize", "fontWeight", "fontStyle", "textAlign", "textDecoration"];
123
+ /** @type {!Array.<string>}
124
+ * @private
125
+ * @const
126
+ */
127
+ CellPainter.supportedStyles = CellPainter.bgStyles.concat(CellPainter.nonBgStyles);
128
+ /** @type {Promise<Object>}
129
+ * @public
130
+ */
131
+ CellPainter.themeReady = null;
132
+
133
+ /** @public
134
+ * @function
135
+ * @param {string|Function} expression
136
+ * @return {Function}
137
+ * @example
138
+ * var fn = CellPainter.parse("[CF_BID] >= 10 && [CF_BID] <= 100");
139
+ * window.console.log(fn(25));
140
+ */
141
+ CellPainter.parse = parseCondition;
142
+
143
+
144
+ /** @public */
145
+ CellPainter.prototype.dispose = function() {
146
+ var at = CellPainter._painters.indexOf(this);
147
+ if(at >= 0) {
148
+ CellPainter._painters.splice(at, 1);
149
+ }
150
+ this.reset(); // Restore all styles and clear all blink timers
151
+
152
+ this._conditions = null;
153
+ this._scopes.length = 0;
154
+
155
+ this._blinkCondition = null;
156
+ };
157
+ /** @public */
158
+ CellPainter.prototype.reset = function() {
159
+ this._setColoringType(0);
160
+
161
+ var len = this._scopes.length;
162
+ if(len) {
163
+ for(var i = 0; i < len; ++i) {
164
+ var scope = this._scopes[i];
165
+ if(CellPainter._clearBlinkTimer(scope)) {
166
+ scope._restorer();
167
+ }
168
+ var cell = scope["cell"];
169
+ if(cell) {
170
+ delete cell["blinking"]; // Delete cell blinking scope
171
+ }
172
+
173
+ scope["cell"] = null;
174
+ }
175
+ this._scopes.length = 0;
176
+ }
177
+
178
+ this._blinkCondition = null;
179
+ };
180
+
181
+ /** @public */
182
+ CellPainter.prototype.resetColoring = function() {
183
+ // reset coloring type to allow other extensions to be able to set their new mode
184
+ this._setColoringType(0);
185
+ this._conditions.length = 0;
186
+ };
187
+
188
+ /** @public */
189
+ CellPainter.prototype.resetBlinking = function() {
190
+ this._blinkCondition = null;
191
+ this._scopes.length = 0;
192
+ };
193
+
194
+ /** @public */
195
+ CellPainter.prototype.clearBlinking = function() {
196
+ this._blinkCondition = null;
197
+ var len = this._scopes.length;
198
+ if(len) {
199
+ for(var i = 0; i < len; ++i) {
200
+ var scope = this._scopes[i];
201
+ if(CellPainter._clearBlinkTimer(scope)) {
202
+ scope._restorer();
203
+ }
204
+ var cell = scope["cell"];
205
+ if(cell) { // cell may be removed before
206
+ delete cell["blinking"]; // Delete cell blinking scope
207
+ }
208
+
209
+ scope["cell"] = null;
210
+ }
211
+ this._scopes.length = 0;
212
+ }
213
+ };
214
+
215
+ /** @public */
216
+ CellPainter.prototype.resetHeatMap = function() {
217
+ this._conditions.length = 0;
218
+ this._columnStats = null;
219
+ };
220
+
221
+ /** Return true if no one is using this painter
222
+ * @public
223
+ * @return {boolean}
224
+ */
225
+ CellPainter.prototype.clearHeatMap = function() {
226
+ if(this._blinkCondition) {
227
+ this._setColoringType(0);
228
+ this.resetHeatMap();
229
+ return false;
230
+ } else {
231
+ this.dispose();
232
+ return true;
233
+ }
234
+ };
235
+
236
+ /** @public */
237
+ CellPainter.prototype.applyThemeColor = function() {
238
+ var colors = ElfUtil.themeColors;
239
+ var cond = this._conditions[0]; // Heatmap, color text condition must be the first
240
+ if(cond) {
241
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) { // Heatmap uses grid color to blend the result color
242
+ if(cond["textMode"]) {
243
+ cond["baseColor"] = colors["baseText"];
244
+ } else {
245
+ cond["baseColor"] = colors["baseGrid"];
246
+ }
247
+ }
248
+ if(cond["useThemeColor"]) { // Only heatmap and colorText painters use theme color
249
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP || this._coloringType === CellPainter.ColoringTypes.TEXT) {
250
+ var up, down;
251
+ if(this._coloringType === CellPainter.ColoringTypes.TEXT && cond["field"] === "CF_TICK") {
252
+ up = colors["tickUp"];
253
+ down = colors["tickDown"];
254
+ } else {
255
+ up = colors["up"];
256
+ down = colors["down"];
257
+ }
258
+ var level = (colors["level"] === colors["baseText"]) ? "" : colors["level"];
259
+ CellPainter._setUpDownColors(cond, up, down, level);
260
+ }
261
+ }
262
+ }
263
+
264
+ if(this._blinkCondition && this._blinkCondition["useThemeColor"]) {
265
+ CellPainter._setUpDownColors(this._blinkCondition, colors["up"], colors["down"], colors["level"], true);
266
+ }
267
+ };
268
+ /** Used by monitor saving
269
+ * @public
270
+ * @return {Array.<Object>}
271
+ */
272
+ CellPainter.prototype.getConditions = function() {
273
+ return this._conditions;
274
+ };
275
+ /** Used by monitor saving <br>
276
+ * Returns the coloring type ("text", "heatmap", "conditional")
277
+ * @public
278
+ * @return {CellPainter.ColoringTypes}
279
+ */
280
+ CellPainter.prototype.getColoringType = function() {
281
+ return this._coloringType;
282
+ };
283
+ /** @private
284
+ * @param {number} enumType Available values are TEXT, HEATMAP, CONDITIONAL
285
+ */
286
+ CellPainter.prototype._setColoringType = function(enumType) {
287
+ if(this._coloringType !== enumType) { // We can only have one type of coloring
288
+ this._coloringType = enumType;
289
+ }
290
+ };
291
+ /** @public
292
+ * @param {Array.<CellPainter~Condition>} conditions
293
+ */
294
+ CellPainter.prototype.setConditions = function(conditions) {
295
+ this._conditions.length = 0; // TODO: Clear existing cell styles first
296
+ this._setColoringType(CellPainter.ColoringTypes.CONDITIONAL);
297
+
298
+ var len = conditions.length;
299
+ for (var i = 0; i < len; i++) {
300
+ this._addCondition(conditions[i]);
301
+ }
302
+ };
303
+ /** @public
304
+ * @param {Object} columnStats
305
+ */
306
+ CellPainter.prototype.setColumnStats = function(columnStats) {
307
+ this._columnStats = (columnStats && columnStats.getMin) ? columnStats : null;
308
+ };
309
+ /** @public
310
+ * @return {Object}
311
+ */
312
+ CellPainter.prototype.getColumnStats = function() {
313
+ return this._columnStats;
314
+ };
315
+ /** @private
316
+ * @param {CellPainter~Condition|Object} condition
317
+ */
318
+ CellPainter.prototype._addCondition = function(condition) {
319
+ var exp = condition["expression"];
320
+ if(exp) {
321
+ condition._fn = CellPainter.parse(exp["text"] || exp);
322
+ this._conditions.push(condition);
323
+ }
324
+ };
325
+ /** @public
326
+ * @param {string} field
327
+ * @param {number} midPoint
328
+ * @param {string} upColor
329
+ * @param {string} downColor
330
+ * @param {string} baseColor
331
+ * @param {(string|boolean)=} opt_textMode
332
+ * @return {!Object}
333
+ */
334
+ CellPainter.prototype.addHeatmap = function(field, midPoint, upColor, downColor, baseColor, opt_textMode) {
335
+ this._setColoringType(CellPainter.ColoringTypes.HEATMAP);
336
+
337
+ var condition = {};
338
+ condition["heatmap"] = true;
339
+ condition["field"] = field;
340
+ condition["expression"] = CellPainter._heatMapCondition.bind(condition);
341
+ condition["midPoint"] = midPoint;
342
+ CellPainter._setUpDownColors(condition, upColor, downColor);
343
+
344
+ condition["baseColor"] = baseColor;
345
+ if(opt_textMode === true || opt_textMode === "text") {
346
+ condition["textMode"] = true;
347
+ }
348
+
349
+ this._addCondition(condition);
350
+ return condition;
351
+ };
352
+ /** @public
353
+ * @param {string} field
354
+ * @param {number} midPoint
355
+ * @param {(string|boolean)=} opt_textMode
356
+ * @return {!Object}
357
+ */
358
+ CellPainter.prototype.addHeatmapWithTheme = function(field, midPoint, opt_textMode) {
359
+ var colors = ElfUtil.themeColors;
360
+ var condition = this.addHeatmap(
361
+ field,
362
+ midPoint,
363
+ colors["up"], colors["down"], colors["baseGrid"],
364
+ opt_textMode
365
+ );
366
+
367
+ if(opt_textMode === true || opt_textMode === "text") {
368
+ condition["baseColor"] = colors["baseText"];
369
+ }
370
+ condition["useThemeColor"] = true;
371
+ return condition;
372
+ };
373
+ /** @private
374
+ * @param {Function} expression
375
+ * @param {string} field
376
+ * @param {string} upColor
377
+ * @param {string} downColor
378
+ * @param {string} levelColor
379
+ * @return {!Object}
380
+ */
381
+ CellPainter.prototype._addColorText = function(expression, field, upColor, downColor, levelColor) {
382
+ this._setColoringType(CellPainter.ColoringTypes.TEXT);
383
+
384
+ var condition = {};
385
+ condition["field"] = field;
386
+ condition["expression"] = expression.bind(null, field);
387
+ CellPainter._setUpDownColors(condition, upColor, downColor, levelColor);
388
+
389
+ this._addCondition(condition);
390
+ return condition;
391
+ };
392
+ /** @public
393
+ * @param {string} field
394
+ * @param {string} upColor
395
+ * @param {string} downColor
396
+ * @param {string} levelColor
397
+ * @return {!Object}
398
+ */
399
+ CellPainter.prototype.addColorText = function(field, upColor, downColor, levelColor) {
400
+ return this._addColorText(
401
+ TickFields[field] ? CellPainter._tickColorTextCondition : CellPainter._colorTextCondition,
402
+ field,
403
+ upColor, downColor, levelColor
404
+ );
405
+ };
406
+ /** @public
407
+ * @param {string} field
408
+ * @return {!Object}
409
+ */
410
+ CellPainter.prototype.addColorTextWithTheme = function(field) {
411
+ var colors = ElfUtil.themeColors;
412
+ var condition = this.addColorText(field,
413
+ colors["up"],
414
+ colors["down"],
415
+ (colors["level"] === colors["baseText"]) ? "" : colors["level"]
416
+ );
417
+
418
+ condition["useThemeColor"] = true;
419
+ return condition;
420
+ };
421
+ /** @public
422
+ * @param {string} upColor
423
+ * @param {string} downColor
424
+ * @param {string} levelColor
425
+ * @return {!Object}
426
+ */
427
+ CellPainter.prototype.addTickColorText = function(upColor, downColor, levelColor) {
428
+ return this.addColorText("CF_TICK", upColor, downColor, levelColor);
429
+ };
430
+ /** @public
431
+ * @return {!Object}
432
+ */
433
+ CellPainter.prototype.addTickColorTextWithTheme = function() {
434
+ var colors = ElfUtil.themeColors;
435
+ var condition = this.addTickColorText(colors["tickUp"], colors["tickDown"], colors["level"]);
436
+ condition["useThemeColor"] = true;
437
+ return condition;
438
+ };
439
+ /** @public
440
+ * @param {string} upColor
441
+ * @param {string} downColor
442
+ * @param {string} levelColor
443
+ * @param {(string|boolean)=} opt_border
444
+ * @return {!Object}
445
+ */
446
+ CellPainter.prototype.addTickBlink = function(upColor, downColor, levelColor, opt_border) {
447
+ return this.addBlink("CF_TICK", upColor, downColor, levelColor, opt_border);
448
+ };
449
+ /** @public
450
+ * @param {(string|boolean)=} opt_border
451
+ * @return {!Object}
452
+ */
453
+ CellPainter.prototype.addTickBlinkWithTheme = function(opt_border) {
454
+ var colors = ElfUtil.themeColors;
455
+ var condition = this.addTickBlink(colors["tickUp"], colors["tickDown"], colors["level"], opt_border);
456
+ condition["useThemeColor"] = true;
457
+ return condition;
458
+ };
459
+ /** @public
460
+ * @param {string} field
461
+ * @param {string} upColor
462
+ * @param {string} downColor
463
+ * @param {string} levelColor
464
+ * @param {(string|boolean)=} opt_border
465
+ * @return {!Object}
466
+ */
467
+ CellPainter.prototype.addBlink = function(field, upColor, downColor, levelColor, opt_border) {
468
+ return this._addBlink(
469
+ TickFields[field] ? CellPainter._tickBlinkCondition : CellPainter._fieldBlinkCondition,
470
+ field,
471
+ upColor, downColor, levelColor,
472
+ opt_border
473
+ );
474
+ };
475
+ /** @public
476
+ * @param {string} field
477
+ * @param {(string|boolean)=} opt_border
478
+ * @return {!Object}
479
+ */
480
+ CellPainter.prototype.addBlinkWithTheme = function(field, opt_border) {
481
+ var colors = ElfUtil.themeColors;
482
+ var condition = this.addBlink(field, colors["up"], colors["down"], colors["level"], opt_border);
483
+ condition["useThemeColor"] = true;
484
+ return condition;
485
+ };
486
+ /** @private
487
+ * @param {Function} expression
488
+ * @param {string} field
489
+ * @param {string} upColor
490
+ * @param {string} downColor
491
+ * @param {string} levelColor
492
+ * @param {(string|boolean)=} blinkType
493
+ * @return {!Object}
494
+ */
495
+ CellPainter.prototype._addBlink = function(expression, field, upColor, downColor, levelColor, blinkType) {
496
+ var condition = this._blinkCondition = {};
497
+ condition["blink"] = true;
498
+ condition["blinkId"] = CellPainter._runningBlinkId++;
499
+ condition["field"] = field;
500
+ condition._fn = condition["expression"] = expression;
501
+
502
+ if(blinkType === true || blinkType === "border") {
503
+ condition["border"] = true;
504
+ }
505
+ CellPainter._setUpDownColors(condition, upColor, downColor, levelColor, true);
506
+ return condition;
507
+ };
508
+
509
+ /** @public
510
+ * @param {Element} cell
511
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
512
+ * @param {number} min
513
+ * @param {number} max
514
+ */
515
+ CellPainter.prototype.renderForPrinting = function(cell, rowData, min, max) {
516
+ if(!cell) {
517
+ return;
518
+ }
519
+ var styles = this._getStyles(rowData, min, max);
520
+ var c = styles["backgroundColor"];
521
+ if(c) {
522
+ cell.style.backgroundColor = c;
523
+ }
524
+
525
+ c = styles["color"];
526
+ if(c) {
527
+ cell.style.color = c;
528
+ }
529
+ };
530
+
531
+
532
+ /** @private
533
+ * @param {string} field
534
+ * @param {Object} rowData
535
+ * @return {string|number}
536
+ */
537
+ CellPainter._colorTextCondition = function(field, rowData) {
538
+ var value = rowData[field];
539
+ if(value || value === 0) {
540
+ if(value > 0) {
541
+ return 1;
542
+ } else if(value < 0) {
543
+ return -1;
544
+ }
545
+ }
546
+ return "u"; // unchanged
547
+ };
548
+ /** @private
549
+ * @param {string} field
550
+ * @param {Object} rowData
551
+ * @return {undefined|number}
552
+ */
553
+ CellPainter._tickColorTextCondition = function(field, rowData) {
554
+ var code = TickCodes[rowData[field]];
555
+ if(code) {
556
+ return code;
557
+ }
558
+ return; // eslint-disable-line
559
+ };
560
+ /** @private
561
+ * @this {Object}
562
+ * @param {Object} rowData
563
+ * @param {number} min
564
+ * @param {number} max
565
+ * @return {number}
566
+ */
567
+ CellPainter._heatMapCondition = function(rowData, min, max) {
568
+ var value = rowData[this["field"]];
569
+ var diff = (value || value === 0) ? value - this["midPoint"] : NaN;
570
+ if (diff === 0 || diff !== diff) {
571
+ return 0;
572
+ }
573
+
574
+ var ratio;
575
+ var range = 1;
576
+ if(diff > 0) {
577
+ range = max - this["midPoint"];
578
+ if(range < 0) {
579
+ range = min - this["midPoint"];
580
+ }
581
+ } else {
582
+ range = min - this["midPoint"];
583
+ if(range > 0) {
584
+ range = max - this["midPoint"];
585
+ }
586
+ }
587
+ if(range < 0) {
588
+ range = -range;
589
+ }
590
+ ratio = diff / range;
591
+ return ratio;
592
+ };
593
+ /** @private
594
+ * @function
595
+ * @param {string} newValue
596
+ * @return {undefined|number}
597
+ */
598
+ CellPainter._tickBlinkCondition = function(newValue) {
599
+ var code = TickCodes[newValue];
600
+ if(code) {
601
+ return code;
602
+ }
603
+ return; // eslint-disable-line
604
+ };
605
+ /** @private
606
+ * @function
607
+ * @param {number} newValue
608
+ * @param {number} oldValue
609
+ * @return {number}
610
+ */
611
+ CellPainter._fieldBlinkCondition = function(newValue, oldValue) {
612
+ if(newValue > oldValue) {
613
+ return 1; // eslint-disable-line
614
+ } else if(newValue < oldValue) {
615
+ return -1; // eslint-disable-line
616
+ } else { // AlphaNumeric, unchanged newValue
617
+ return 0; // eslint-disable-line
618
+ }
619
+ };
620
+ /** @private
621
+ * @param {Object} scope
622
+ */
623
+ CellPainter._borderRestorer = function(scope) {
624
+ scope["blinkTimer"] = 0;
625
+ var cell = scope["cell"];
626
+ var elem = cell.getElement();
627
+
628
+ if(elem) {
629
+ elem.style.border = "";
630
+ }
631
+ };
632
+ /** @private
633
+ * @param {Object} scope
634
+ */
635
+ CellPainter._cellRestorer = function(scope) {
636
+ scope["blinkTimer"] = 0;
637
+ var cell = scope["cell"];
638
+ var elem = cell.getElement();
639
+
640
+ if(elem) {
641
+ var rowData = scope["rowData"];
642
+ var min = NaN;
643
+ var max = NaN;
644
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) {
645
+ var columnStats = this._columnStats;
646
+ if(columnStats) {
647
+ min = columnStats.getMin();
648
+ max = columnStats.getMax();
649
+ }
650
+ }
651
+
652
+ var styles = this._getStyles(rowData, min, max);
653
+ elem.style.backgroundColor = styles["backgroundColor"] || "";
654
+ elem.style.color = styles["color"] || "";
655
+ }
656
+ };
657
+
658
+ /** WARNING: This method is called very often and the performance is very critical here
659
+ * @private
660
+ * @param {Object} rowData
661
+ * @param {number=} min
662
+ * @param {number=} max
663
+ * @return {!Object}
664
+ */
665
+ CellPainter.prototype._getStyles = function(rowData, min, max) {
666
+ if (!rowData) {
667
+ return CellPainter._emptyObj;
668
+ }
669
+
670
+ var len = this._conditions.length;
671
+ for(var i = 0; i < len; ++i) {
672
+ var curCond = this._conditions[i];
673
+ var fn = curCond._fn;
674
+ try { // WARNING: Try/Catch is very slow. TODO: The function should be checked for validity beforehand
675
+ var ret = fn && fn(rowData, min, max);
676
+ } catch (err){
677
+ // console.error(err.message); // This will produce tons of errors in the console
678
+ }
679
+ if (ret) { // Match condition with results 1, -1, true, or string
680
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) {
681
+ var blendedColor;
682
+ if(ret > 0) {
683
+ blendedColor = CellPainter.blendColor(curCond["baseColor"], curCond["upColor"], ret);
684
+ } else {
685
+ blendedColor = CellPainter.blendColor(curCond["baseColor"], curCond["downColor"], -ret);
686
+ }
687
+
688
+ if(curCond["textMode"]) {
689
+ CellPainter._colorObj["color"] = CellPainter.num2Hex(blendedColor);
690
+ return CellPainter._colorObj;
691
+ } else {
692
+ CellPainter._bgObj["backgroundColor"] = CellPainter.num2Hex(blendedColor);
693
+ CellPainter._bgObj["color"] = CellPainter.blackAndWhite(blendedColor);
694
+
695
+ return CellPainter._bgObj;
696
+ }
697
+ } else if(this._coloringType === CellPainter.ColoringTypes.TEXT) {
698
+ if(ret > 0) {
699
+ CellPainter._colorObj["color"] = curCond["upColor"];
700
+ } else if(ret < 0) {
701
+ CellPainter._colorObj["color"] = curCond["downColor"];
702
+ } else {
703
+ CellPainter._colorObj["color"] = this._levelColorDisabled ? "" : curCond["levelColor"];
704
+ }
705
+ return CellPainter._colorObj;
706
+ }
707
+
708
+ // Expected return value is {
709
+ // "backgroundColor": bgc,
710
+ // "color": color,
711
+ // "fontSize": fSize,
712
+ // "fontWeight": fWeight,
713
+ // "fontStyle": fStyle,
714
+ // "textAlign": tAlign,
715
+ // "textDecoration": tDecor
716
+ // };
717
+ return curCond; // Conditional Coloring
718
+ }
719
+ }
720
+ return CellPainter._emptyObj;
721
+ };
722
+
723
+ /** @public
724
+ * @param {string} baseColor
725
+ * @param {string} maxColor
726
+ * @param {number} ratio [0, 1]
727
+ * @return {Array.<number>} resultColor
728
+ */
729
+ CellPainter.blendColor = function (baseColor, maxColor, ratio) { // TODO: Optimize this
730
+ if (ratio > 1) {
731
+ ratio = 1;
732
+ } else if(ratio < 0) {
733
+ ratio = 0;
734
+ }
735
+
736
+ var baseColorTriplet = CellPainter.hex2Num(baseColor);
737
+ var maxColorTriplet = CellPainter.hex2Num(maxColor);
738
+ var blendResult = [];
739
+ for (var i = 0; i < 3; ++i) {
740
+ var gap = (maxColorTriplet[i] - baseColorTriplet[i]) * ratio;
741
+ blendResult.push(baseColorTriplet[i] + gap);
742
+ }
743
+
744
+ return blendResult;
745
+ };
746
+
747
+ /** @private
748
+ * @param {Array.<number>} triplet
749
+ * @return {string} resultColor
750
+ */
751
+ CellPainter.blackAndWhite = function (triplet) {
752
+ var brightness = Math.sqrt(triplet[0] * triplet[0] * 0.241 + triplet[1] * triplet[1] * 0.691 + triplet[2] * triplet[2] * 0.068);
753
+
754
+ if (brightness >= 135) { // Brighter color has more impact to human eye than the darker color
755
+ return '#000000';
756
+ }
757
+ return '#FFFFFF';
758
+ };
759
+
760
+ /** @public
761
+ * @function
762
+ * @param {string} rgbCode
763
+ * @return {string} resultColor E.g. "#10FF0D"
764
+ */
765
+ CellPainter.rgb2Hex = rgb2Hex; // For backward compatability
766
+
767
+ /** @public
768
+ * @function
769
+ * @param {Array.<number>} triplet
770
+ * @return {string} resultColor
771
+ */
772
+ CellPainter.num2Hex = function (triplet) {
773
+ var rgb = triplet[2] | (triplet[1] << 8) | (triplet[0] << 16);
774
+ return ('#' + (0x1000000 + rgb).toString(16).slice(1));
775
+ };
776
+ /** Note that Chrome, IE, and Firefox store color in rgb representation.
777
+ * @public
778
+ * @function
779
+ * @param {Array.<number>} triplet
780
+ * @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
781
+ */
782
+ CellPainter.num2Rgb = function (triplet) {
783
+ return 'rgb(' + triplet[0] + ', ' + triplet[1] + ', ' + triplet[2] + ')';
784
+ };
785
+ /** @public
786
+ * @function
787
+ * @param {string} hex
788
+ * @return {Array.<number>} array of size 3 which contains [red, green, blue]
789
+ */
790
+ CellPainter.hex2Num = function (hex) {
791
+ var hexInt = parseInt(hex.replace(/[^0-9A-F]/gi, ''), 16);
792
+ var r = (hexInt >> 16) & 255;
793
+ var g = (hexInt >> 8) & 255;
794
+ var b = hexInt & 255;
795
+ return [r, g, b];
796
+ };
797
+ /** @public
798
+ * @function
799
+ * @param {string} hex Color string with leading # character (e.g. #FFAA00)
800
+ * @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
801
+ */
802
+ CellPainter.hex2Rgb = function (hex) {
803
+ if(hex) {
804
+ var hexInt = parseInt(hex.replace(/[^0-9A-F]/gi, ''), 16);
805
+ var r = (hexInt >> 16) & 255;
806
+ var g = (hexInt >> 8) & 255;
807
+ var b = hexInt & 255;
808
+ return 'rgb(' + r + ', ' + g + ', ' + b + ')';
809
+ }
810
+ return '';
811
+ };
812
+
813
+ /** Deprecated. Colors should be changed according to user's settings by CellPainter#loadThemeColors
814
+ * @private
815
+ * @function
816
+ */
817
+ CellPainter.themeChanged = function() {};
818
+ /** Deprecated. Colors should be changed according to user's settings by CellPainter#loadThemeColors
819
+ * @public
820
+ * @function
821
+ */
822
+ CellPainter.setThemeColors = function() {};
823
+ /** @private
824
+ * @function
825
+ * @param {Object} colors
826
+ * @return {Object} colors
827
+ */
828
+ CellPainter._onThemeChanged = function(colors) {
829
+ // Apply newly changed theme to all the painters
830
+ var painters = CellPainter._painters;
831
+ for(var i = painters.length; --i >= 0;) {
832
+ painters[i].applyThemeColor(); // Re-apply theme color
833
+ }
834
+ return colors;
835
+ };
836
+ /** Load theme colors and change colors for all instances of CellPainter
837
+ * @public
838
+ * @function
839
+ * @return {Promise<Object>}
840
+ */
841
+ CellPainter.loadThemeColors = function() {
842
+ if(!CellPainter.themeReady) {
843
+ CellPainter.themeReady = ElfUtil.getThemeColors().then(CellPainter._onThemeChanged);
844
+ }
845
+ return CellPainter.themeReady;
846
+ };
847
+
848
+ /** Reload theme colors and change colors for all instances of CellPainter
849
+ * @public
850
+ * @function
851
+ * @return {Promise<Object>}
852
+ */
853
+ CellPainter.reloadThemeColors = function () {
854
+ CellPainter.themeReady = ElfUtil.themeReady = null;
855
+ return CellPainter.loadThemeColors();
856
+ };
857
+
858
+ /** @public
859
+ * @function
860
+ * @ignore
861
+ * @param {tr.grid.Cell} cell
862
+ * @param {Object=} styles
863
+ */
864
+ CellPainter.clearCellStyle = function(cell, styles) {
865
+ var elem = cell.getElement();
866
+ if(!elem) {
867
+ return; // Cell has been disposed
868
+ }
869
+
870
+ var scope = cell["blinking"];
871
+ if(scope) { // Clear blinking scope
872
+ CellPainter._clearBlinkTimer(scope);
873
+
874
+ delete cell["blinking"]; // Delete cell blinking scope
875
+
876
+ scope["cell"] = null;
877
+ // WARNING: Scope is not removed from the this._scopes collection to speed things up
878
+ }
879
+
880
+ styles = styles || CellPainter.supportedStyles;
881
+ for(var i = styles.length; --i >= 0;) {
882
+ elem.style[styles[i]] = ""; // WARNING: Very slow
883
+ }
884
+ };
885
+ /** @private
886
+ * @param {!Object} scp Scope Object
887
+ * @param {string|null} upColor Color in hex representation
888
+ * @param {string|null} downColor
889
+ * @param {(string|null)=} levelColor
890
+ * @param {boolean=} withContrast
891
+ */
892
+ CellPainter._setUpDownColors = function(scp, upColor, downColor, levelColor, withContrast) {
893
+ if(upColor != null) {
894
+ scp["upColor"] = upColor;
895
+ if(withContrast) {
896
+ scp["contrastUpColor"] = CellPainter.getOppositeColor(upColor);
897
+ }
898
+ //scp["rgbUp"] = CellPainter.hex2Rgb(upColor);
899
+ }
900
+ if(downColor != null) {
901
+ scp["downColor"] = downColor;
902
+ if(withContrast) {
903
+ scp["contrastDownColor"] = CellPainter.getOppositeColor(downColor);
904
+ }
905
+ //scp["rgbDown"] = CellPainter.hex2Rgb(downColor);
906
+ }
907
+ if(levelColor != null) {
908
+ scp["levelColor"] = levelColor;
909
+ if(withContrast) {
910
+ scp["contrastLevelColor"] = CellPainter.getOppositeColor(levelColor);
911
+ }
912
+ //scp["rgbLevel"] = CellPainter.hex2Rgb(levelColor);
913
+ }
914
+ };
915
+ /** @private
916
+ * @param {!Object} scp Scope Object
917
+ * @param {boolean=} opt_restoreColor
918
+ * @return {boolean}
919
+ */
920
+ CellPainter._clearBlinkTimer = function(scp, opt_restoreColor) {
921
+ if(scp["blinkTimer"]) {
922
+ clearTimeout(scp["blinkTimer"]);
923
+ scp["blinkTimer"] = 0;
924
+ return true;
925
+ }
926
+ return false;
927
+ };
928
+ /** @public
929
+ * @param {string|Array.<number>} hexCode
930
+ * @return {string}
931
+ */
932
+ CellPainter.getOppositeColor = function (hexCode) {
933
+ if(typeof hexCode === "string") {
934
+ if(hexCode.charAt(0) === "#") {
935
+ var triplet = CellPainter.hex2Num(hexCode);
936
+ return CellPainter.blackAndWhite(triplet);
937
+ }
938
+ } else if(Array.isArray(hexCode)) {
939
+ return CellPainter.blackAndWhite(hexCode);
940
+ }
941
+ return "";
942
+ };
943
+
944
+ /**
945
+ * @public
946
+ * @param {tr.grid.Cell} cell
947
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
948
+ * @param {number} min
949
+ * @param {number} max
950
+ * @param {Object=} changedCols
951
+ */
952
+ CellPainter.prototype.render = function (cell, rowData, min, max, changedCols) {
953
+ if (min != null && min === min) { // Render heatmap
954
+ this._paintCell(cell, rowData, min, max);
955
+ } else if (this._conditions.length && this._coloringType === CellPainter.ColoringTypes.CONDITIONAL) { // Render conditional-coloring
956
+ this._paintCell(cell, rowData);
957
+ }
958
+ };
959
+
960
+ /**
961
+ * @public
962
+ * @param {tr.grid.Cell} cell
963
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
964
+ * @param {number} min
965
+ * @param {number} max
966
+ */
967
+ CellPainter.prototype.renderHeatMap = function (cell, rowData, min, max) {
968
+ this._paintCell(cell, rowData, min, max);
969
+ };
970
+
971
+ /**
972
+ * @public
973
+ * @param {tr.grid.Cell} cell
974
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
975
+ */
976
+ CellPainter.prototype.renderColoring = function (cell, rowData) {
977
+ this._paintCell(cell, rowData);
978
+ };
979
+
980
+ /**
981
+ * @private
982
+ * @param {tr.grid.Cell} cell
983
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
984
+ * @param {number=} min
985
+ * @param {number=} max
986
+ */
987
+ CellPainter.prototype._paintCell = function(cell, rowData, min, max) {
988
+ if (!cell) return;
989
+ var elem = cell.getElement();
990
+ if (!elem) return; // Cell has been disposed
991
+
992
+ var bc = this._blinkCondition;
993
+ var scope;
994
+ if (bc) {
995
+ scope = cell["blinking"];
996
+ if (scope && scope["blinkTimer"] && !bc["border"]) { // The cell is blinking
997
+ return; // Let blinker calculate the style when restoring
998
+ }
999
+ }
1000
+
1001
+ var styles = this._getStyles(rowData, min, max);
1002
+ var ss = CellPainter.bgStyles;
1003
+ var elStyle = elem.style;
1004
+ for (var n = ss.length; --n >= 0;) {
1005
+ var styleName = ss[n];
1006
+ elStyle[styleName] = styles[styleName] || "";
1007
+ }
1008
+ };
1009
+
1010
+ /**
1011
+ * @public
1012
+ * @param {tr.grid.Cell} cell
1013
+ * @param {number} blinkSignal
1014
+ * @param {Object} rowData to calculate original style e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1015
+ */
1016
+ CellPainter.prototype.blink = function (cell, blinkSignal, rowData) {
1017
+ this._blinkCell(cell, rowData, blinkSignal);
1018
+ };
1019
+
1020
+ /**
1021
+ * @public
1022
+ * @param {tr.grid.Cell} cell
1023
+ * @param {number} newValue
1024
+ * @param {number} oldValue
1025
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1026
+ * @return {boolean}
1027
+ */
1028
+ CellPainter.prototype.blinkCell = function(cell, newValue, oldValue, rowData) {
1029
+ var bc = this._blinkCondition;
1030
+ if (!bc) return false;
1031
+
1032
+ var blinkSignal = this._blinkCondition._fn(newValue, oldValue);
1033
+ return this._blinkCell(cell, rowData, blinkSignal);
1034
+ };
1035
+
1036
+ /** @private
1037
+ * @param {tr.grid.Cell} cell
1038
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1039
+ * @param {number} blinkSignal
1040
+ * @return {boolean}
1041
+ */
1042
+ CellPainter.prototype._blinkCell = function(cell, rowData, blinkSignal) {
1043
+ if (!cell) return false;
1044
+
1045
+ if (this._levelColorDisabled) {
1046
+ if(!blinkSignal) { // Disabled level color equivalent to no blinking for blink signal 0
1047
+ return false;
1048
+ }
1049
+ }
1050
+
1051
+ var elem = cell.getElement();
1052
+ if (!elem) return false; // Cell has been disposed
1053
+
1054
+ var bc = this._blinkCondition;
1055
+ if (!bc) return false;
1056
+
1057
+ var scope = cell["blinking"];
1058
+ if (!scope) {
1059
+ scope = {};
1060
+ scope["cell"] = cell;
1061
+ cell["blinking"] = scope;
1062
+
1063
+ this._scopes.push(scope);
1064
+ }
1065
+
1066
+ if (scope["blinkId"] !== bc["blinkId"]) {
1067
+ scope["blinkId"] = bc["blinkId"];
1068
+ scope["field"] = bc["field"];
1069
+ var restorer = bc["border"] ? CellPainter._borderRestorer : CellPainter._cellRestorer;
1070
+ scope._restorer = restorer.bind(this, scope);
1071
+ }
1072
+
1073
+ scope["rowData"] = rowData;
1074
+
1075
+ var blinkColor, contrastColor;
1076
+ if (blinkSignal > 0) {
1077
+ blinkColor = bc["upColor"];
1078
+ contrastColor = bc["contrastUpColor"];
1079
+ } else if (blinkSignal < 0) {
1080
+ blinkColor = bc["downColor"];
1081
+ contrastColor = bc["contrastDownColor"];
1082
+ } else {
1083
+ blinkColor = bc["levelColor"];
1084
+ contrastColor = bc["contrastLevelColor"];
1085
+ }
1086
+
1087
+ var bgBlinking = true;
1088
+ // All conditions are met for blinking
1089
+ if (bc["border"]) {
1090
+ elem.style.border = "1px solid " + blinkColor;
1091
+ bgBlinking = false;
1092
+ } else {
1093
+ elem.style.backgroundColor = blinkColor;
1094
+ elem.style.color = contrastColor;
1095
+ }
1096
+
1097
+ CellPainter._clearBlinkTimer(scope);
1098
+ scope["blinkTimer"] = setTimeout(scope._restorer, CellPainter._blinkingDuration);
1099
+
1100
+ return bgBlinking;
1101
+ };
1102
+
1103
+ /**
1104
+ * @public
1105
+ * @param {tr.grid.Cell} cell
1106
+ * @param {Object} rowData
1107
+ */
1108
+ CellPainter.prototype.verifyBlinking = function(cell, rowData) {
1109
+ var scope = cell["blinking"];
1110
+ if (scope && scope["blinkTimer"]) {
1111
+ if (scope["rowData"] !== rowData) {
1112
+ scope["rowData"] = rowData; // Needed for style calculation by restorer
1113
+ if (CellPainter._clearBlinkTimer(scope)) {
1114
+ scope._restorer();
1115
+ }
1116
+ }
1117
+ }
1118
+ };
1119
+ /**
1120
+ * @public
1121
+ * @param {boolean=} disabled
1122
+ */
1123
+ CellPainter.prototype.disableLevelColor = function(disabled) {
1124
+ this._levelColorDisabled = disabled !== false;
1125
+ };
1126
+
1127
+ export default CellPainter;
1128
+ export {CellPainter};