@refinitiv-ui/efx-grid 0.0.0-dev.12023565035.1

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 (864) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +61 -0
  3. package/lib/column-dragging/es6/ColumnDragging.d.ts +51 -0
  4. package/lib/column-dragging/es6/ColumnDragging.js +968 -0
  5. package/lib/column-dragging/es6/index.d.ts +1 -0
  6. package/lib/column-dragging/es6/index.js +1 -0
  7. package/lib/column-format-dialog/index.d.ts +2 -0
  8. package/lib/column-format-dialog/index.js +2 -0
  9. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +77 -0
  10. package/lib/column-format-dialog/lib/column-format-dialog.js +2688 -0
  11. package/lib/column-format-dialog/lib/locale/translation-de.d.ts +7 -0
  12. package/lib/column-format-dialog/lib/locale/translation-de.js +94 -0
  13. package/lib/column-format-dialog/lib/locale/translation-en.d.ts +7 -0
  14. package/lib/column-format-dialog/lib/locale/translation-en.js +94 -0
  15. package/lib/column-format-dialog/lib/locale/translation-ja.d.ts +7 -0
  16. package/lib/column-format-dialog/lib/locale/translation-ja.js +94 -0
  17. package/lib/column-format-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  18. package/lib/column-format-dialog/lib/locale/translation-zh-hant.js +94 -0
  19. package/lib/column-format-dialog/lib/locale/translation-zh.d.ts +7 -0
  20. package/lib/column-format-dialog/lib/locale/translation-zh.js +94 -0
  21. package/lib/column-format-dialog/lib/locale/translation.d.ts +11 -0
  22. package/lib/column-format-dialog/lib/locale/translation.js +18 -0
  23. package/lib/column-format-dialog/lib/preview-table.d.ts +151 -0
  24. package/lib/column-format-dialog/lib/preview-table.js +982 -0
  25. package/lib/column-format-dialog/themes/base.less +429 -0
  26. package/lib/column-format-dialog/themes/elemental/column-format-dialog.less +1 -0
  27. package/lib/column-format-dialog/themes/elemental/dark/column-format-dialog.js +4 -0
  28. package/lib/column-format-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  29. package/lib/column-format-dialog/themes/elemental/dark/es5/all-elements.js +2 -0
  30. package/lib/column-format-dialog/themes/elemental/dark/imports/all-elements.js +1 -0
  31. package/lib/column-format-dialog/themes/elemental/dark/imports/custom-elements.js +1 -0
  32. package/lib/column-format-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  33. package/lib/column-format-dialog/themes/elemental/dark.js +16 -0
  34. package/lib/column-format-dialog/themes/elemental/defaults.less +1 -0
  35. package/lib/column-format-dialog/themes/elemental/index.less +5 -0
  36. package/lib/column-format-dialog/themes/elemental/light/column-format-dialog.js +4 -0
  37. package/lib/column-format-dialog/themes/elemental/light/css/native-elements.css +0 -0
  38. package/lib/column-format-dialog/themes/elemental/light/es5/all-elements.js +2 -0
  39. package/lib/column-format-dialog/themes/elemental/light/imports/all-elements.js +1 -0
  40. package/lib/column-format-dialog/themes/elemental/light/imports/custom-elements.js +1 -0
  41. package/lib/column-format-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  42. package/lib/column-format-dialog/themes/elemental/light.js +16 -0
  43. package/lib/column-format-dialog/themes/halo/column-format-dialog.less +6 -0
  44. package/lib/column-format-dialog/themes/halo/dark/column-format-dialog.js +4 -0
  45. package/lib/column-format-dialog/themes/halo/dark/css/native-elements.css +0 -0
  46. package/lib/column-format-dialog/themes/halo/dark/es5/all-elements.js +2 -0
  47. package/lib/column-format-dialog/themes/halo/dark/imports/all-elements.js +1 -0
  48. package/lib/column-format-dialog/themes/halo/dark/imports/custom-elements.js +1 -0
  49. package/lib/column-format-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  50. package/lib/column-format-dialog/themes/halo/dark.js +16 -0
  51. package/lib/column-format-dialog/themes/halo/defaults.less +1 -0
  52. package/lib/column-format-dialog/themes/halo/index.less +5 -0
  53. package/lib/column-format-dialog/themes/halo/light/column-format-dialog.js +4 -0
  54. package/lib/column-format-dialog/themes/halo/light/css/native-elements.css +0 -0
  55. package/lib/column-format-dialog/themes/halo/light/es5/all-elements.js +2 -0
  56. package/lib/column-format-dialog/themes/halo/light/imports/all-elements.js +1 -0
  57. package/lib/column-format-dialog/themes/halo/light/imports/custom-elements.js +1 -0
  58. package/lib/column-format-dialog/themes/halo/light/imports/native-elements.js +0 -0
  59. package/lib/column-format-dialog/themes/halo/light.js +16 -0
  60. package/lib/column-format-dialog/themes/luna/column-format-dialog.less +1 -0
  61. package/lib/column-format-dialog/themes/luna/default/column-format-dialog.js +4 -0
  62. package/lib/column-format-dialog/themes/luna/default/css/native-elements.css +0 -0
  63. package/lib/column-format-dialog/themes/luna/default/es5/all-elements.js +2 -0
  64. package/lib/column-format-dialog/themes/luna/default/imports/all-elements.js +1 -0
  65. package/lib/column-format-dialog/themes/luna/default/imports/custom-elements.js +1 -0
  66. package/lib/column-format-dialog/themes/luna/default/imports/native-elements.js +0 -0
  67. package/lib/column-format-dialog/themes/luna/defaults.less +1 -0
  68. package/lib/column-format-dialog/themes/luna/index.less +5 -0
  69. package/lib/column-format-dialog/themes/solar/charcoal/column-format-dialog.js +4 -0
  70. package/lib/column-format-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  71. package/lib/column-format-dialog/themes/solar/charcoal/es5/all-elements.js +2 -0
  72. package/lib/column-format-dialog/themes/solar/charcoal/imports/all-elements.js +1 -0
  73. package/lib/column-format-dialog/themes/solar/charcoal/imports/custom-elements.js +1 -0
  74. package/lib/column-format-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  75. package/lib/column-format-dialog/themes/solar/charcoal.js +16 -0
  76. package/lib/column-format-dialog/themes/solar/column-format-dialog.less +6 -0
  77. package/lib/column-format-dialog/themes/solar/defaults.less +1 -0
  78. package/lib/column-format-dialog/themes/solar/index.less +5 -0
  79. package/lib/column-format-dialog/themes/solar/pearl/column-format-dialog.js +4 -0
  80. package/lib/column-format-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  81. package/lib/column-format-dialog/themes/solar/pearl/es5/all-elements.js +2 -0
  82. package/lib/column-format-dialog/themes/solar/pearl/imports/all-elements.js +1 -0
  83. package/lib/column-format-dialog/themes/solar/pearl/imports/custom-elements.js +1 -0
  84. package/lib/column-format-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  85. package/lib/column-format-dialog/themes/solar/pearl.js +16 -0
  86. package/lib/column-selection-dialog/index.d.ts +2 -0
  87. package/lib/column-selection-dialog/index.js +2 -0
  88. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +66 -0
  89. package/lib/column-selection-dialog/lib/column-selection-dialog.js +2034 -0
  90. package/lib/column-selection-dialog/lib/locale/translation-de.d.ts +7 -0
  91. package/lib/column-selection-dialog/lib/locale/translation-de.js +20 -0
  92. package/lib/column-selection-dialog/lib/locale/translation-en.d.ts +7 -0
  93. package/lib/column-selection-dialog/lib/locale/translation-en.js +20 -0
  94. package/lib/column-selection-dialog/lib/locale/translation-ja.d.ts +7 -0
  95. package/lib/column-selection-dialog/lib/locale/translation-ja.js +20 -0
  96. package/lib/column-selection-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  97. package/lib/column-selection-dialog/lib/locale/translation-zh-hant.js +20 -0
  98. package/lib/column-selection-dialog/lib/locale/translation-zh.d.ts +7 -0
  99. package/lib/column-selection-dialog/lib/locale/translation-zh.js +20 -0
  100. package/lib/column-selection-dialog/lib/locale/translation.d.ts +11 -0
  101. package/lib/column-selection-dialog/lib/locale/translation.js +18 -0
  102. package/lib/column-selection-dialog/themes/base.less +258 -0
  103. package/lib/column-selection-dialog/themes/elemental/column-selection-dialog.less +1 -0
  104. package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +4 -0
  105. package/lib/column-selection-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  106. package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +2 -0
  107. package/lib/column-selection-dialog/themes/elemental/dark/imports/all-elements.js +1 -0
  108. package/lib/column-selection-dialog/themes/elemental/dark/imports/custom-elements.js +1 -0
  109. package/lib/column-selection-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  110. package/lib/column-selection-dialog/themes/elemental/dark.js +8 -0
  111. package/lib/column-selection-dialog/themes/elemental/defaults.less +1 -0
  112. package/lib/column-selection-dialog/themes/elemental/index.less +5 -0
  113. package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +4 -0
  114. package/lib/column-selection-dialog/themes/elemental/light/css/native-elements.css +0 -0
  115. package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +2 -0
  116. package/lib/column-selection-dialog/themes/elemental/light/imports/all-elements.js +1 -0
  117. package/lib/column-selection-dialog/themes/elemental/light/imports/custom-elements.js +1 -0
  118. package/lib/column-selection-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  119. package/lib/column-selection-dialog/themes/elemental/light.js +8 -0
  120. package/lib/column-selection-dialog/themes/halo/column-selection-dialog.less +25 -0
  121. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +4 -0
  122. package/lib/column-selection-dialog/themes/halo/dark/css/native-elements.css +0 -0
  123. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +2 -0
  124. package/lib/column-selection-dialog/themes/halo/dark/imports/all-elements.js +1 -0
  125. package/lib/column-selection-dialog/themes/halo/dark/imports/custom-elements.js +1 -0
  126. package/lib/column-selection-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  127. package/lib/column-selection-dialog/themes/halo/dark.js +8 -0
  128. package/lib/column-selection-dialog/themes/halo/defaults.less +1 -0
  129. package/lib/column-selection-dialog/themes/halo/index.less +6 -0
  130. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +4 -0
  131. package/lib/column-selection-dialog/themes/halo/light/css/native-elements.css +0 -0
  132. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +2 -0
  133. package/lib/column-selection-dialog/themes/halo/light/imports/all-elements.js +1 -0
  134. package/lib/column-selection-dialog/themes/halo/light/imports/custom-elements.js +1 -0
  135. package/lib/column-selection-dialog/themes/halo/light/imports/native-elements.js +0 -0
  136. package/lib/column-selection-dialog/themes/halo/light.js +8 -0
  137. package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +4 -0
  138. package/lib/column-selection-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  139. package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +2 -0
  140. package/lib/column-selection-dialog/themes/solar/charcoal/imports/all-elements.js +1 -0
  141. package/lib/column-selection-dialog/themes/solar/charcoal/imports/custom-elements.js +1 -0
  142. package/lib/column-selection-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  143. package/lib/column-selection-dialog/themes/solar/charcoal.js +8 -0
  144. package/lib/column-selection-dialog/themes/solar/column-selection-dialog.less +5 -0
  145. package/lib/column-selection-dialog/themes/solar/defaults.less +1 -0
  146. package/lib/column-selection-dialog/themes/solar/index.less +6 -0
  147. package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +4 -0
  148. package/lib/column-selection-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  149. package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +2 -0
  150. package/lib/column-selection-dialog/themes/solar/pearl/imports/all-elements.js +1 -0
  151. package/lib/column-selection-dialog/themes/solar/pearl/imports/custom-elements.js +1 -0
  152. package/lib/column-selection-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  153. package/lib/column-selection-dialog/themes/solar/pearl.js +8 -0
  154. package/lib/core/dist/core.css +1 -0
  155. package/lib/core/dist/core.js +33910 -0
  156. package/lib/core/dist/core.min.js +1 -0
  157. package/lib/core/es6/data/ColumnStats.d.ts +42 -0
  158. package/lib/core/es6/data/ColumnStats.js +428 -0
  159. package/lib/core/es6/data/DataCache.d.ts +43 -0
  160. package/lib/core/es6/data/DataCache.js +597 -0
  161. package/lib/core/es6/data/DataTable.d.ts +156 -0
  162. package/lib/core/es6/data/DataTable.js +2206 -0
  163. package/lib/core/es6/data/DataView.d.ts +332 -0
  164. package/lib/core/es6/data/DataView.js +4144 -0
  165. package/lib/core/es6/data/Segment.d.ts +91 -0
  166. package/lib/core/es6/data/Segment.js +1001 -0
  167. package/lib/core/es6/data/SegmentCollection.d.ts +84 -0
  168. package/lib/core/es6/data/SegmentCollection.js +713 -0
  169. package/lib/core/es6/data/WrappedView.d.ts +290 -0
  170. package/lib/core/es6/data/WrappedView.js +1320 -0
  171. package/lib/core/es6/grid/Core.d.ts +455 -0
  172. package/lib/core/es6/grid/Core.js +6196 -0
  173. package/lib/core/es6/grid/ILayoutGrid.d.ts +212 -0
  174. package/lib/core/es6/grid/ILayoutGrid.js +706 -0
  175. package/lib/core/es6/grid/LayoutGrid.d.ts +37 -0
  176. package/lib/core/es6/grid/LayoutGrid.js +2975 -0
  177. package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +28 -0
  178. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +1241 -0
  179. package/lib/core/es6/grid/components/Cell.d.ts +52 -0
  180. package/lib/core/es6/grid/components/Cell.js +826 -0
  181. package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +21 -0
  182. package/lib/core/es6/grid/components/CellFloatingPanel.js +130 -0
  183. package/lib/core/es6/grid/components/CellSpan.d.ts +18 -0
  184. package/lib/core/es6/grid/components/CellSpan.js +99 -0
  185. package/lib/core/es6/grid/components/CellSpans.d.ts +40 -0
  186. package/lib/core/es6/grid/components/CellSpans.js +368 -0
  187. package/lib/core/es6/grid/components/Column.d.ts +22 -0
  188. package/lib/core/es6/grid/components/Column.js +618 -0
  189. package/lib/core/es6/grid/components/ElementWrapper.d.ts +127 -0
  190. package/lib/core/es6/grid/components/ElementWrapper.js +718 -0
  191. package/lib/core/es6/grid/components/HScrollbar.d.ts +28 -0
  192. package/lib/core/es6/grid/components/HScrollbar.js +241 -0
  193. package/lib/core/es6/grid/components/Scrollbar.d.ts +63 -0
  194. package/lib/core/es6/grid/components/Scrollbar.js +1413 -0
  195. package/lib/core/es6/grid/components/StretchedCells.d.ts +17 -0
  196. package/lib/core/es6/grid/components/StretchedCells.js +342 -0
  197. package/lib/core/es6/grid/components/VScrollbar.d.ts +18 -0
  198. package/lib/core/es6/grid/components/VScrollbar.js +139 -0
  199. package/lib/core/es6/grid/components/VirtualItems.d.ts +12 -0
  200. package/lib/core/es6/grid/components/VirtualItems.js +51 -0
  201. package/lib/core/es6/grid/event/EventDispatcher.d.ts +16 -0
  202. package/lib/core/es6/grid/event/EventDispatcher.js +138 -0
  203. package/lib/core/es6/grid/event/EventListeners.d.ts +34 -0
  204. package/lib/core/es6/grid/event/EventListeners.js +166 -0
  205. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +155 -0
  206. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +1977 -0
  207. package/lib/core/es6/grid/util/CellBoundPainter.d.ts +16 -0
  208. package/lib/core/es6/grid/util/CellBoundPainter.js +171 -0
  209. package/lib/core/es6/grid/util/Conflator.d.ts +32 -0
  210. package/lib/core/es6/grid/util/Conflator.js +191 -0
  211. package/lib/core/es6/grid/util/Reverter.d.ts +14 -0
  212. package/lib/core/es6/grid/util/Reverter.js +79 -0
  213. package/lib/core/es6/grid/util/SectionSettings.d.ts +79 -0
  214. package/lib/core/es6/grid/util/SectionSettings.js +679 -0
  215. package/lib/core/es6/grid/util/SelectionList.d.ts +54 -0
  216. package/lib/core/es6/grid/util/SelectionList.js +491 -0
  217. package/lib/core/es6/grid/util/TrackLayout.d.ts +92 -0
  218. package/lib/core/es6/grid/util/TrackLayout.js +902 -0
  219. package/lib/core/es6/grid/util/Virtualizer.d.ts +40 -0
  220. package/lib/core/es6/grid/util/Virtualizer.js +340 -0
  221. package/lib/core/es6/grid/util/util.d.ts +20 -0
  222. package/lib/core/es6/grid/util/util.js +391 -0
  223. package/lib/core/es6/index.d.ts +79 -0
  224. package/lib/core/es6/index.js +125 -0
  225. package/lib/core/es6/tr-grid-theme.d.ts +5 -0
  226. package/lib/core/es6/tr-grid-theme.js +5 -0
  227. package/lib/filter-dialog/index.d.ts +2 -0
  228. package/lib/filter-dialog/index.js +2 -0
  229. package/lib/filter-dialog/lib/checkbox-list.d.ts +52 -0
  230. package/lib/filter-dialog/lib/checkbox-list.js +444 -0
  231. package/lib/filter-dialog/lib/filter-dialog.d.ts +75 -0
  232. package/lib/filter-dialog/lib/filter-dialog.js +1160 -0
  233. package/lib/filter-dialog/lib/locale/translation-de.d.ts +7 -0
  234. package/lib/filter-dialog/lib/locale/translation-de.js +40 -0
  235. package/lib/filter-dialog/lib/locale/translation-en.d.ts +7 -0
  236. package/lib/filter-dialog/lib/locale/translation-en.js +40 -0
  237. package/lib/filter-dialog/lib/locale/translation-ja.d.ts +7 -0
  238. package/lib/filter-dialog/lib/locale/translation-ja.js +40 -0
  239. package/lib/filter-dialog/lib/locale/translation-zh-hant.d.ts +7 -0
  240. package/lib/filter-dialog/lib/locale/translation-zh-hant.js +40 -0
  241. package/lib/filter-dialog/lib/locale/translation-zh.d.ts +7 -0
  242. package/lib/filter-dialog/lib/locale/translation-zh.js +40 -0
  243. package/lib/filter-dialog/lib/locale/translation.d.ts +11 -0
  244. package/lib/filter-dialog/lib/locale/translation.js +18 -0
  245. package/lib/filter-dialog/themes/base-checkbox.less +42 -0
  246. package/lib/filter-dialog/themes/base.less +191 -0
  247. package/lib/filter-dialog/themes/elemental/checkbox-list.less +3 -0
  248. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +4 -0
  249. package/lib/filter-dialog/themes/elemental/dark/css/native-elements.css +0 -0
  250. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +4 -0
  251. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +5 -0
  252. package/lib/filter-dialog/themes/elemental/dark/imports/all-elements.js +2 -0
  253. package/lib/filter-dialog/themes/elemental/dark/imports/custom-elements.js +2 -0
  254. package/lib/filter-dialog/themes/elemental/dark/imports/native-elements.js +0 -0
  255. package/lib/filter-dialog/themes/elemental/dark.js +11 -0
  256. package/lib/filter-dialog/themes/elemental/defaults.less +3 -0
  257. package/lib/filter-dialog/themes/elemental/filter-dialog.less +1 -0
  258. package/lib/filter-dialog/themes/elemental/index.less +6 -0
  259. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +4 -0
  260. package/lib/filter-dialog/themes/elemental/light/css/native-elements.css +0 -0
  261. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +4 -0
  262. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +5 -0
  263. package/lib/filter-dialog/themes/elemental/light/imports/all-elements.js +2 -0
  264. package/lib/filter-dialog/themes/elemental/light/imports/custom-elements.js +2 -0
  265. package/lib/filter-dialog/themes/elemental/light/imports/native-elements.js +0 -0
  266. package/lib/filter-dialog/themes/elemental/light.js +11 -0
  267. package/lib/filter-dialog/themes/halo/checkbox-list.less +3 -0
  268. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +4 -0
  269. package/lib/filter-dialog/themes/halo/dark/css/native-elements.css +0 -0
  270. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +4 -0
  271. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +5 -0
  272. package/lib/filter-dialog/themes/halo/dark/imports/all-elements.js +2 -0
  273. package/lib/filter-dialog/themes/halo/dark/imports/custom-elements.js +2 -0
  274. package/lib/filter-dialog/themes/halo/dark/imports/native-elements.js +0 -0
  275. package/lib/filter-dialog/themes/halo/dark.js +11 -0
  276. package/lib/filter-dialog/themes/halo/defaults.less +3 -0
  277. package/lib/filter-dialog/themes/halo/filter-dialog.less +15 -0
  278. package/lib/filter-dialog/themes/halo/index.less +6 -0
  279. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +4 -0
  280. package/lib/filter-dialog/themes/halo/light/css/native-elements.css +0 -0
  281. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +4 -0
  282. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +5 -0
  283. package/lib/filter-dialog/themes/halo/light/imports/all-elements.js +2 -0
  284. package/lib/filter-dialog/themes/halo/light/imports/custom-elements.js +2 -0
  285. package/lib/filter-dialog/themes/halo/light/imports/native-elements.js +0 -0
  286. package/lib/filter-dialog/themes/halo/light.js +11 -0
  287. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +4 -0
  288. package/lib/filter-dialog/themes/solar/charcoal/css/native-elements.css +0 -0
  289. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +4 -0
  290. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +5 -0
  291. package/lib/filter-dialog/themes/solar/charcoal/imports/all-elements.js +2 -0
  292. package/lib/filter-dialog/themes/solar/charcoal/imports/custom-elements.js +2 -0
  293. package/lib/filter-dialog/themes/solar/charcoal/imports/native-elements.js +0 -0
  294. package/lib/filter-dialog/themes/solar/charcoal.js +11 -0
  295. package/lib/filter-dialog/themes/solar/checkbox-list.less +3 -0
  296. package/lib/filter-dialog/themes/solar/defaults.less +3 -0
  297. package/lib/filter-dialog/themes/solar/filter-dialog.less +5 -0
  298. package/lib/filter-dialog/themes/solar/index.less +6 -0
  299. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +4 -0
  300. package/lib/filter-dialog/themes/solar/pearl/css/native-elements.css +0 -0
  301. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +4 -0
  302. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +5 -0
  303. package/lib/filter-dialog/themes/solar/pearl/imports/all-elements.js +2 -0
  304. package/lib/filter-dialog/themes/solar/pearl/imports/custom-elements.js +2 -0
  305. package/lib/filter-dialog/themes/solar/pearl/imports/native-elements.js +0 -0
  306. package/lib/filter-dialog/themes/solar/pearl.js +11 -0
  307. package/lib/formatters/es6/CoralButtonFormatter.d.ts +20 -0
  308. package/lib/formatters/es6/CoralButtonFormatter.js +45 -0
  309. package/lib/formatters/es6/CoralCheckboxFormatter.d.ts +12 -0
  310. package/lib/formatters/es6/CoralCheckboxFormatter.js +50 -0
  311. package/lib/formatters/es6/CoralComboBoxFormatter.d.ts +23 -0
  312. package/lib/formatters/es6/CoralComboBoxFormatter.js +103 -0
  313. package/lib/formatters/es6/CoralIconFormatter.d.ts +21 -0
  314. package/lib/formatters/es6/CoralIconFormatter.js +50 -0
  315. package/lib/formatters/es6/CoralInputFormatter.d.ts +12 -0
  316. package/lib/formatters/es6/CoralInputFormatter.js +45 -0
  317. package/lib/formatters/es6/CoralRadioButtonFormatter.d.ts +20 -0
  318. package/lib/formatters/es6/CoralRadioButtonFormatter.js +85 -0
  319. package/lib/formatters/es6/CoralSelectFormatter.d.ts +23 -0
  320. package/lib/formatters/es6/CoralSelectFormatter.js +71 -0
  321. package/lib/formatters/es6/CoralToggleFormatter.d.ts +12 -0
  322. package/lib/formatters/es6/CoralToggleFormatter.js +47 -0
  323. package/lib/formatters/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +14 -0
  324. package/lib/formatters/es6/DuplexEmeraldDateTimePickerFormatter.js +119 -0
  325. package/lib/formatters/es6/EFButtonFormatter.d.ts +20 -0
  326. package/lib/formatters/es6/EFButtonFormatter.js +45 -0
  327. package/lib/formatters/es6/EFCheckboxFormatter.d.ts +12 -0
  328. package/lib/formatters/es6/EFCheckboxFormatter.js +50 -0
  329. package/lib/formatters/es6/EFComboBoxFormatter.d.ts +23 -0
  330. package/lib/formatters/es6/EFComboBoxFormatter.js +78 -0
  331. package/lib/formatters/es6/EFDateTimePickerFormatter.d.ts +13 -0
  332. package/lib/formatters/es6/EFDateTimePickerFormatter.js +60 -0
  333. package/lib/formatters/es6/EFIconFormatter.d.ts +21 -0
  334. package/lib/formatters/es6/EFIconFormatter.js +50 -0
  335. package/lib/formatters/es6/EFNumberFieldFormatter.d.ts +12 -0
  336. package/lib/formatters/es6/EFNumberFieldFormatter.js +45 -0
  337. package/lib/formatters/es6/EFRadioButtonFormatter.d.ts +20 -0
  338. package/lib/formatters/es6/EFRadioButtonFormatter.js +132 -0
  339. package/lib/formatters/es6/EFSelectFormatter.d.ts +23 -0
  340. package/lib/formatters/es6/EFSelectFormatter.js +76 -0
  341. package/lib/formatters/es6/EFTextFieldFormatter.d.ts +12 -0
  342. package/lib/formatters/es6/EFTextFieldFormatter.js +40 -0
  343. package/lib/formatters/es6/EFToggleFormatter.d.ts +12 -0
  344. package/lib/formatters/es6/EFToggleFormatter.js +47 -0
  345. package/lib/formatters/es6/EmeraldDateTimePickerFormatter.d.ts +13 -0
  346. package/lib/formatters/es6/EmeraldDateTimePickerFormatter.js +55 -0
  347. package/lib/formatters/es6/FormatterBuilder.d.ts +26 -0
  348. package/lib/formatters/es6/FormatterBuilder.js +493 -0
  349. package/lib/formatters/es6/NumericInputFormatter.d.ts +13 -0
  350. package/lib/formatters/es6/NumericInputFormatter.js +64 -0
  351. package/lib/formatters/es6/PercentBarFormatter.d.ts +25 -0
  352. package/lib/formatters/es6/PercentBarFormatter.js +62 -0
  353. package/lib/formatters/es6/SimpleImageFormatter.d.ts +21 -0
  354. package/lib/formatters/es6/SimpleImageFormatter.js +64 -0
  355. package/lib/formatters/es6/SimpleInputFormatter.d.ts +12 -0
  356. package/lib/formatters/es6/SimpleInputFormatter.js +40 -0
  357. package/lib/formatters/es6/SimpleLinkFormatter.d.ts +21 -0
  358. package/lib/formatters/es6/SimpleLinkFormatter.js +48 -0
  359. package/lib/formatters/es6/SimpleTickerFormatter.d.ts +23 -0
  360. package/lib/formatters/es6/SimpleTickerFormatter.js +66 -0
  361. package/lib/formatters/es6/SimpleToggleFormatter.d.ts +22 -0
  362. package/lib/formatters/es6/SimpleToggleFormatter.js +132 -0
  363. package/lib/formatters/es6/TextFormatter.d.ts +12 -0
  364. package/lib/formatters/es6/TextFormatter.js +35 -0
  365. package/lib/formatters/es6/index.d.ts +64 -0
  366. package/lib/formatters/es6/index.js +88 -0
  367. package/lib/grid/index.d.ts +2 -0
  368. package/lib/grid/index.js +3 -0
  369. package/lib/grid/lib/efx-grid.d.ts +53 -0
  370. package/lib/grid/lib/efx-grid.js +444 -0
  371. package/lib/grid/themes/base.less +137 -0
  372. package/lib/grid/themes/ds/dark/css/native-elements.css +0 -0
  373. package/lib/grid/themes/ds/dark/efx-grid.js +4 -0
  374. package/lib/grid/themes/ds/dark/es5/all-elements.js +2 -0
  375. package/lib/grid/themes/ds/dark/imports/all-elements.js +1 -0
  376. package/lib/grid/themes/ds/dark/imports/custom-elements.js +1 -0
  377. package/lib/grid/themes/ds/dark/imports/native-elements.js +0 -0
  378. package/lib/grid/themes/ds/dark.js +3 -0
  379. package/lib/grid/themes/ds/efx-grid.less +207 -0
  380. package/lib/grid/themes/ds/index.less +3 -0
  381. package/lib/grid/themes/ds/light/css/native-elements.css +0 -0
  382. package/lib/grid/themes/ds/light/efx-grid.js +4 -0
  383. package/lib/grid/themes/ds/light/es5/all-elements.js +2 -0
  384. package/lib/grid/themes/ds/light/imports/all-elements.js +1 -0
  385. package/lib/grid/themes/ds/light/imports/custom-elements.js +1 -0
  386. package/lib/grid/themes/ds/light/imports/native-elements.js +0 -0
  387. package/lib/grid/themes/ds/light.js +3 -0
  388. package/lib/grid/themes/halo/dark/css/native-elements.css +0 -0
  389. package/lib/grid/themes/halo/dark/efx-grid.js +4 -0
  390. package/lib/grid/themes/halo/dark/es5/all-elements.js +2 -0
  391. package/lib/grid/themes/halo/dark/imports/all-elements.js +1 -0
  392. package/lib/grid/themes/halo/dark/imports/custom-elements.js +1 -0
  393. package/lib/grid/themes/halo/dark/imports/native-elements.js +0 -0
  394. package/lib/grid/themes/halo/dark.js +3 -0
  395. package/lib/grid/themes/halo/efx-grid.less +127 -0
  396. package/lib/grid/themes/halo/index.less +3 -0
  397. package/lib/grid/themes/halo/light/css/native-elements.css +0 -0
  398. package/lib/grid/themes/halo/light/efx-grid.js +4 -0
  399. package/lib/grid/themes/halo/light/es5/all-elements.js +2 -0
  400. package/lib/grid/themes/halo/light/imports/all-elements.js +1 -0
  401. package/lib/grid/themes/halo/light/imports/custom-elements.js +1 -0
  402. package/lib/grid/themes/halo/light/imports/native-elements.js +0 -0
  403. package/lib/grid/themes/halo/light.js +3 -0
  404. package/lib/grid/themes/solar/charcoal/css/native-elements.css +0 -0
  405. package/lib/grid/themes/solar/charcoal/efx-grid.js +4 -0
  406. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +2 -0
  407. package/lib/grid/themes/solar/charcoal/imports/all-elements.js +1 -0
  408. package/lib/grid/themes/solar/charcoal/imports/custom-elements.js +1 -0
  409. package/lib/grid/themes/solar/charcoal/imports/native-elements.js +0 -0
  410. package/lib/grid/themes/solar/charcoal.js +3 -0
  411. package/lib/grid/themes/solar/efx-grid.less +27 -0
  412. package/lib/grid/themes/solar/index.less +3 -0
  413. package/lib/grid/themes/solar/pearl/css/native-elements.css +0 -0
  414. package/lib/grid/themes/solar/pearl/efx-grid.js +4 -0
  415. package/lib/grid/themes/solar/pearl/es5/all-elements.js +2 -0
  416. package/lib/grid/themes/solar/pearl/imports/all-elements.js +1 -0
  417. package/lib/grid/themes/solar/pearl/imports/custom-elements.js +1 -0
  418. package/lib/grid/themes/solar/pearl/imports/native-elements.js +0 -0
  419. package/lib/grid/themes/solar/pearl.js +3 -0
  420. package/lib/index.d.ts +100 -0
  421. package/lib/index.js +100 -0
  422. package/lib/row-segmenting/es6/RowSegmenting.d.ts +115 -0
  423. package/lib/row-segmenting/es6/RowSegmenting.js +1182 -0
  424. package/lib/row-segmenting/es6/index.d.ts +1 -0
  425. package/lib/row-segmenting/es6/index.js +1 -0
  426. package/lib/rt-grid/dist/rt-grid.js +54547 -0
  427. package/lib/rt-grid/dist/rt-grid.min.js +1 -0
  428. package/lib/rt-grid/es6/ColumnDefinition.d.ts +174 -0
  429. package/lib/rt-grid/es6/ColumnDefinition.js +1203 -0
  430. package/lib/rt-grid/es6/DataConnector.d.ts +43 -0
  431. package/lib/rt-grid/es6/DataConnector.js +290 -0
  432. package/lib/rt-grid/es6/FieldDefinition.d.ts +40 -0
  433. package/lib/rt-grid/es6/FieldDefinition.js +560 -0
  434. package/lib/rt-grid/es6/Grid.d.ts +376 -0
  435. package/lib/rt-grid/es6/Grid.js +4653 -0
  436. package/lib/rt-grid/es6/PredefinedFormula.d.ts +16 -0
  437. package/lib/rt-grid/es6/PredefinedFormula.js +33 -0
  438. package/lib/rt-grid/es6/ReferenceCounter.d.ts +40 -0
  439. package/lib/rt-grid/es6/ReferenceCounter.js +251 -0
  440. package/lib/rt-grid/es6/RowDefSorter.d.ts +19 -0
  441. package/lib/rt-grid/es6/RowDefSorter.js +231 -0
  442. package/lib/rt-grid/es6/RowDefinition.d.ts +156 -0
  443. package/lib/rt-grid/es6/RowDefinition.js +1478 -0
  444. package/lib/rt-grid/es6/SnapshotFiller.d.ts +36 -0
  445. package/lib/rt-grid/es6/SnapshotFiller.js +537 -0
  446. package/lib/rt-grid/es6/StyleLoader.d.ts +17 -0
  447. package/lib/rt-grid/es6/StyleLoader.js +47 -0
  448. package/lib/rt-grid/es6/index.d.ts +8 -0
  449. package/lib/rt-grid/es6/index.js +43 -0
  450. package/lib/statistics-row/es6/StatisticsRow.d.ts +68 -0
  451. package/lib/statistics-row/es6/StatisticsRow.js +807 -0
  452. package/lib/statistics-row/es6/index.d.ts +1 -0
  453. package/lib/statistics-row/es6/index.js +1 -0
  454. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.d.ts +46 -0
  455. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +617 -0
  456. package/lib/tr-grid-auto-tooltip/es6/index.d.ts +1 -0
  457. package/lib/tr-grid-auto-tooltip/es6/index.js +1 -0
  458. package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +70 -0
  459. package/lib/tr-grid-cell-selection/es6/CellSelection.js +1695 -0
  460. package/lib/tr-grid-cell-selection/es6/index.d.ts +1 -0
  461. package/lib/tr-grid-cell-selection/es6/index.js +1 -0
  462. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +82 -0
  463. package/lib/tr-grid-checkbox/es6/Checkbox.js +1704 -0
  464. package/lib/tr-grid-checkbox/es6/index.d.ts +1 -0
  465. package/lib/tr-grid-checkbox/es6/index.js +1 -0
  466. package/lib/tr-grid-column-fitter/es6/ColumnFitter.d.ts +56 -0
  467. package/lib/tr-grid-column-fitter/es6/ColumnFitter.js +817 -0
  468. package/lib/tr-grid-column-fitter/es6/index.d.ts +1 -0
  469. package/lib/tr-grid-column-fitter/es6/index.js +1 -0
  470. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.d.ts +91 -0
  471. package/lib/tr-grid-column-formatting/es6/ColumnFormatting.js +617 -0
  472. package/lib/tr-grid-column-formatting/es6/index.d.ts +1 -0
  473. package/lib/tr-grid-column-formatting/es6/index.js +1 -0
  474. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +110 -0
  475. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +2028 -0
  476. package/lib/tr-grid-column-grouping/es6/index.d.ts +1 -0
  477. package/lib/tr-grid-column-grouping/es6/index.js +1 -0
  478. package/lib/tr-grid-column-resizing/es6/ColumnResizing.d.ts +68 -0
  479. package/lib/tr-grid-column-resizing/es6/ColumnResizing.js +1010 -0
  480. package/lib/tr-grid-column-resizing/es6/index.d.ts +1 -0
  481. package/lib/tr-grid-column-resizing/es6/index.js +1 -0
  482. package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +77 -0
  483. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +1405 -0
  484. package/lib/tr-grid-column-selection/es6/index.d.ts +1 -0
  485. package/lib/tr-grid-column-selection/es6/index.js +1 -0
  486. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +160 -0
  487. package/lib/tr-grid-column-stack/es6/ColumnStack.js +2155 -0
  488. package/lib/tr-grid-column-stack/es6/index.d.ts +1 -0
  489. package/lib/tr-grid-column-stack/es6/index.js +1 -0
  490. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +100 -0
  491. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +1513 -0
  492. package/lib/tr-grid-conditional-coloring/es6/index.d.ts +1 -0
  493. package/lib/tr-grid-conditional-coloring/es6/index.js +1 -0
  494. package/lib/tr-grid-content-wrap/es6/ContentWrap.d.ts +43 -0
  495. package/lib/tr-grid-content-wrap/es6/ContentWrap.js +519 -0
  496. package/lib/tr-grid-content-wrap/es6/index.d.ts +1 -0
  497. package/lib/tr-grid-content-wrap/es6/index.js +1 -0
  498. package/lib/tr-grid-contextmenu/es6/ContextMenu.d.ts +83 -0
  499. package/lib/tr-grid-contextmenu/es6/ContextMenu.js +453 -0
  500. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +22 -0
  501. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.js +138 -0
  502. package/lib/tr-grid-contextmenu/es6/MenuItem.d.ts +41 -0
  503. package/lib/tr-grid-contextmenu/es6/MenuItem.js +285 -0
  504. package/lib/tr-grid-contextmenu/es6/PopupMenu.d.ts +33 -0
  505. package/lib/tr-grid-contextmenu/es6/PopupMenu.js +303 -0
  506. package/lib/tr-grid-contextmenu/es6/index.d.ts +1 -0
  507. package/lib/tr-grid-contextmenu/es6/index.js +1 -0
  508. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +64 -0
  509. package/lib/tr-grid-filter-input/es6/FilterInput.js +1027 -0
  510. package/lib/tr-grid-filter-input/es6/index.d.ts +1 -0
  511. package/lib/tr-grid-filter-input/es6/index.js +1 -0
  512. package/lib/tr-grid-heat-map/es6/HeatMap.d.ts +45 -0
  513. package/lib/tr-grid-heat-map/es6/HeatMap.js +401 -0
  514. package/lib/tr-grid-heat-map/es6/index.d.ts +1 -0
  515. package/lib/tr-grid-heat-map/es6/index.js +1 -0
  516. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +148 -0
  517. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +2671 -0
  518. package/lib/tr-grid-in-cell-editing/es6/index.d.ts +1 -0
  519. package/lib/tr-grid-in-cell-editing/es6/index.js +1 -0
  520. package/lib/tr-grid-pagination/es6/Pagination.d.ts +58 -0
  521. package/lib/tr-grid-pagination/es6/Pagination.js +433 -0
  522. package/lib/tr-grid-pagination/es6/index.d.ts +1 -0
  523. package/lib/tr-grid-pagination/es6/index.js +1 -0
  524. package/lib/tr-grid-percent-bar/es6/PercentBar.d.ts +60 -0
  525. package/lib/tr-grid-percent-bar/es6/PercentBar.js +804 -0
  526. package/lib/tr-grid-percent-bar/es6/index.d.ts +1 -0
  527. package/lib/tr-grid-percent-bar/es6/index.js +1 -0
  528. package/lib/tr-grid-printer/es6/CellWriter.d.ts +50 -0
  529. package/lib/tr-grid-printer/es6/CellWriter.js +234 -0
  530. package/lib/tr-grid-printer/es6/ColumnWriter.d.ts +13 -0
  531. package/lib/tr-grid-printer/es6/ColumnWriter.js +23 -0
  532. package/lib/tr-grid-printer/es6/GridPrinter.d.ts +33 -0
  533. package/lib/tr-grid-printer/es6/GridPrinter.js +794 -0
  534. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +39 -0
  535. package/lib/tr-grid-printer/es6/PrintTrait.js +494 -0
  536. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +57 -0
  537. package/lib/tr-grid-printer/es6/SectionWriter.js +238 -0
  538. package/lib/tr-grid-printer/es6/index.d.ts +1 -0
  539. package/lib/tr-grid-printer/es6/index.js +1 -0
  540. package/lib/tr-grid-range-bar/es6/LEDGuage.d.ts +39 -0
  541. package/lib/tr-grid-range-bar/es6/LEDGuage.js +261 -0
  542. package/lib/tr-grid-range-bar/es6/RangeBar.d.ts +56 -0
  543. package/lib/tr-grid-range-bar/es6/RangeBar.js +514 -0
  544. package/lib/tr-grid-range-bar/es6/index.d.ts +1 -0
  545. package/lib/tr-grid-range-bar/es6/index.js +1 -0
  546. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +81 -0
  547. package/lib/tr-grid-row-dragging/es6/RowDragging.js +1479 -0
  548. package/lib/tr-grid-row-dragging/es6/index.d.ts +1 -0
  549. package/lib/tr-grid-row-dragging/es6/index.js +1 -0
  550. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +159 -0
  551. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +2568 -0
  552. package/lib/tr-grid-row-filtering/es6/index.d.ts +1 -0
  553. package/lib/tr-grid-row-filtering/es6/index.js +1 -0
  554. package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +123 -0
  555. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +1728 -0
  556. package/lib/tr-grid-row-grouping/es6/index.d.ts +1 -0
  557. package/lib/tr-grid-row-grouping/es6/index.js +1 -0
  558. package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +75 -0
  559. package/lib/tr-grid-row-selection/es6/RowSelection.js +1447 -0
  560. package/lib/tr-grid-row-selection/es6/index.d.ts +1 -0
  561. package/lib/tr-grid-row-selection/es6/index.js +1 -0
  562. package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +64 -0
  563. package/lib/tr-grid-rowcoloring/es6/RowColoring.js +615 -0
  564. package/lib/tr-grid-rowcoloring/es6/index.d.ts +1 -0
  565. package/lib/tr-grid-rowcoloring/es6/index.js +1 -0
  566. package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +72 -0
  567. package/lib/tr-grid-textformatting/es6/TextFormatting.js +543 -0
  568. package/lib/tr-grid-textformatting/es6/index.d.ts +1 -0
  569. package/lib/tr-grid-textformatting/es6/index.js +1 -0
  570. package/lib/tr-grid-titlewrap/es6/TitleWrap.d.ts +27 -0
  571. package/lib/tr-grid-titlewrap/es6/TitleWrap.js +431 -0
  572. package/lib/tr-grid-titlewrap/es6/index.d.ts +1 -0
  573. package/lib/tr-grid-titlewrap/es6/index.js +1 -0
  574. package/lib/tr-grid-util/es6/CellPainter.d.ts +142 -0
  575. package/lib/tr-grid-util/es6/CellPainter.js +1183 -0
  576. package/lib/tr-grid-util/es6/Color.d.ts +40 -0
  577. package/lib/tr-grid-util/es6/Color.js +210 -0
  578. package/lib/tr-grid-util/es6/Conflator.d.ts +34 -0
  579. package/lib/tr-grid-util/es6/Conflator.js +193 -0
  580. package/lib/tr-grid-util/es6/CoralItems.d.ts +10 -0
  581. package/lib/tr-grid-util/es6/CoralItems.js +42 -0
  582. package/lib/tr-grid-util/es6/DateTime.d.ts +57 -0
  583. package/lib/tr-grid-util/es6/DateTime.js +508 -0
  584. package/lib/tr-grid-util/es6/Deferred.d.ts +16 -0
  585. package/lib/tr-grid-util/es6/Deferred.js +108 -0
  586. package/lib/tr-grid-util/es6/Delay.d.ts +20 -0
  587. package/lib/tr-grid-util/es6/Delay.js +96 -0
  588. package/lib/tr-grid-util/es6/Dom.d.ts +32 -0
  589. package/lib/tr-grid-util/es6/Dom.js +350 -0
  590. package/lib/tr-grid-util/es6/DragUI.d.ts +20 -0
  591. package/lib/tr-grid-util/es6/DragUI.js +263 -0
  592. package/lib/tr-grid-util/es6/ElementObserver.d.ts +12 -0
  593. package/lib/tr-grid-util/es6/ElementObserver.js +134 -0
  594. package/lib/tr-grid-util/es6/ElementWrapper.d.ts +23 -0
  595. package/lib/tr-grid-util/es6/ElementWrapper.js +84 -0
  596. package/lib/tr-grid-util/es6/ElfDate.d.ts +26 -0
  597. package/lib/tr-grid-util/es6/ElfDate.js +164 -0
  598. package/lib/tr-grid-util/es6/ElfUtil.d.ts +46 -0
  599. package/lib/tr-grid-util/es6/ElfUtil.js +637 -0
  600. package/lib/tr-grid-util/es6/EventDispatcher.d.ts +26 -0
  601. package/lib/tr-grid-util/es6/EventDispatcher.js +161 -0
  602. package/lib/tr-grid-util/es6/ExpanderIcon.d.ts +24 -0
  603. package/lib/tr-grid-util/es6/ExpanderIcon.js +120 -0
  604. package/lib/tr-grid-util/es6/ExpressionParser.d.ts +10 -0
  605. package/lib/tr-grid-util/es6/ExpressionParser.js +408 -0
  606. package/lib/tr-grid-util/es6/Ext.d.ts +10 -0
  607. package/lib/tr-grid-util/es6/Ext.js +52 -0
  608. package/lib/tr-grid-util/es6/FieldFormatter.d.ts +55 -0
  609. package/lib/tr-grid-util/es6/FieldFormatter.js +440 -0
  610. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +54 -0
  611. package/lib/tr-grid-util/es6/FilterBuilder.js +580 -0
  612. package/lib/tr-grid-util/es6/FilterOperators.d.ts +56 -0
  613. package/lib/tr-grid-util/es6/FilterOperators.js +255 -0
  614. package/lib/tr-grid-util/es6/GridPlugin.d.ts +86 -0
  615. package/lib/tr-grid-util/es6/GridPlugin.js +1055 -0
  616. package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +74 -0
  617. package/lib/tr-grid-util/es6/GroupDefinitions.js +642 -0
  618. package/lib/tr-grid-util/es6/Icon.d.ts +14 -0
  619. package/lib/tr-grid-util/es6/Icon.js +62 -0
  620. package/lib/tr-grid-util/es6/MouseDownTrait.d.ts +42 -0
  621. package/lib/tr-grid-util/es6/MouseDownTrait.js +250 -0
  622. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +40 -0
  623. package/lib/tr-grid-util/es6/MultiTableManager.js +611 -0
  624. package/lib/tr-grid-util/es6/NumberFormatter.d.ts +85 -0
  625. package/lib/tr-grid-util/es6/NumberFormatter.js +528 -0
  626. package/lib/tr-grid-util/es6/PercentBar.d.ts +71 -0
  627. package/lib/tr-grid-util/es6/PercentBar.js +600 -0
  628. package/lib/tr-grid-util/es6/Perf.d.ts +32 -0
  629. package/lib/tr-grid-util/es6/Perf.js +163 -0
  630. package/lib/tr-grid-util/es6/Popup.d.ts +98 -0
  631. package/lib/tr-grid-util/es6/Popup.js +991 -0
  632. package/lib/tr-grid-util/es6/RangeBar.d.ts +33 -0
  633. package/lib/tr-grid-util/es6/RangeBar.js +260 -0
  634. package/lib/tr-grid-util/es6/RequestQueue.d.ts +30 -0
  635. package/lib/tr-grid-util/es6/RequestQueue.js +228 -0
  636. package/lib/tr-grid-util/es6/RowPainter.d.ts +60 -0
  637. package/lib/tr-grid-util/es6/RowPainter.js +448 -0
  638. package/lib/tr-grid-util/es6/SubTable.d.ts +78 -0
  639. package/lib/tr-grid-util/es6/SubTable.js +642 -0
  640. package/lib/tr-grid-util/es6/Table.d.ts +146 -0
  641. package/lib/tr-grid-util/es6/Table.js +832 -0
  642. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +16 -0
  643. package/lib/tr-grid-util/es6/TextHighlighter.js +268 -0
  644. package/lib/tr-grid-util/es6/TickCodes.d.ts +8 -0
  645. package/lib/tr-grid-util/es6/TickCodes.js +33 -0
  646. package/lib/tr-grid-util/es6/Timer.d.ts +16 -0
  647. package/lib/tr-grid-util/es6/Timer.js +49 -0
  648. package/lib/tr-grid-util/es6/TouchProxy.d.ts +46 -0
  649. package/lib/tr-grid-util/es6/TouchProxy.js +212 -0
  650. package/lib/tr-grid-util/es6/Util.d.ts +66 -0
  651. package/lib/tr-grid-util/es6/Util.js +508 -0
  652. package/lib/tr-grid-util/es6/formula/ADCService.d.ts +11 -0
  653. package/lib/tr-grid-util/es6/formula/ADCService.js +72 -0
  654. package/lib/tr-grid-util/es6/formula/ADCSubscription.d.ts +17 -0
  655. package/lib/tr-grid-util/es6/formula/ADCSubscription.js +317 -0
  656. package/lib/tr-grid-util/es6/formula/AdFinService.d.ts +12 -0
  657. package/lib/tr-grid-util/es6/formula/AdFinService.js +61 -0
  658. package/lib/tr-grid-util/es6/formula/AdFinSubscription.d.ts +19 -0
  659. package/lib/tr-grid-util/es6/formula/AdFinSubscription.js +310 -0
  660. package/lib/tr-grid-util/es6/formula/Engine.d.ts +56 -0
  661. package/lib/tr-grid-util/es6/formula/Engine.js +592 -0
  662. package/lib/tr-grid-util/es6/formula/Formula.d.ts +68 -0
  663. package/lib/tr-grid-util/es6/formula/Formula.js +890 -0
  664. package/lib/tr-grid-util/es6/formula/IntervalSubscription.d.ts +16 -0
  665. package/lib/tr-grid-util/es6/formula/IntervalSubscription.js +165 -0
  666. package/lib/tr-grid-util/es6/formula/Realtime.d.ts +18 -0
  667. package/lib/tr-grid-util/es6/formula/Realtime.js +279 -0
  668. package/lib/tr-grid-util/es6/formula/RealtimeService.d.ts +18 -0
  669. package/lib/tr-grid-util/es6/formula/RealtimeService.js +203 -0
  670. package/lib/tr-grid-util/es6/formula/TSIService.d.ts +11 -0
  671. package/lib/tr-grid-util/es6/formula/TSIService.js +51 -0
  672. package/lib/tr-grid-util/es6/formula/TSISubscription.d.ts +18 -0
  673. package/lib/tr-grid-util/es6/formula/TSISubscription.js +1015 -0
  674. package/lib/tr-grid-util/es6/formula/VariableToken.d.ts +30 -0
  675. package/lib/tr-grid-util/es6/formula/VariableToken.js +314 -0
  676. package/lib/tr-grid-util/es6/formula/functions/AdFin.d.ts +9 -0
  677. package/lib/tr-grid-util/es6/formula/functions/AdFin.js +1778 -0
  678. package/lib/tr-grid-util/es6/formula/functions/Excel.d.ts +8 -0
  679. package/lib/tr-grid-util/es6/formula/functions/Excel.js +21 -0
  680. package/lib/tr-grid-util/es6/formula/functions/Info.d.ts +8 -0
  681. package/lib/tr-grid-util/es6/formula/functions/Info.js +192 -0
  682. package/lib/tr-grid-util/es6/formula/functions/Internal.d.ts +8 -0
  683. package/lib/tr-grid-util/es6/formula/functions/Internal.js +90 -0
  684. package/lib/tr-grid-util/es6/formula/functions/Logic.d.ts +12 -0
  685. package/lib/tr-grid-util/es6/formula/functions/Logic.js +176 -0
  686. package/lib/tr-grid-util/es6/formula/functions/Math.d.ts +18 -0
  687. package/lib/tr-grid-util/es6/formula/functions/Math.js +1624 -0
  688. package/lib/tr-grid-util/es6/formula/functions/Statistics.d.ts +18 -0
  689. package/lib/tr-grid-util/es6/formula/functions/Statistics.js +234 -0
  690. package/lib/tr-grid-util/es6/formula/functions/Text.d.ts +10 -0
  691. package/lib/tr-grid-util/es6/formula/functions/Text.js +676 -0
  692. package/lib/tr-grid-util/es6/index.d.ts +65 -0
  693. package/lib/tr-grid-util/es6/index.js +102 -0
  694. package/lib/tr-grid-util/es6/jet/Adc.d.ts +9 -0
  695. package/lib/tr-grid-util/es6/jet/Adc.js +268 -0
  696. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +28 -0
  697. package/lib/tr-grid-util/es6/jet/CollectionDict.js +151 -0
  698. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +136 -0
  699. package/lib/tr-grid-util/es6/jet/DataGenerator.js +860 -0
  700. package/lib/tr-grid-util/es6/jet/DataSet.d.ts +8 -0
  701. package/lib/tr-grid-util/es6/jet/DataSet.js +392 -0
  702. package/lib/tr-grid-util/es6/jet/MockArchive.d.ts +21 -0
  703. package/lib/tr-grid-util/es6/jet/MockArchive.js +56 -0
  704. package/lib/tr-grid-util/es6/jet/MockJET.d.ts +25 -0
  705. package/lib/tr-grid-util/es6/jet/MockJET.js +71 -0
  706. package/lib/tr-grid-util/es6/jet/MockQuotes.d.ts +37 -0
  707. package/lib/tr-grid-util/es6/jet/MockQuotes.js +199 -0
  708. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +82 -0
  709. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +890 -0
  710. package/lib/tr-grid-util/es6/jet/MockRTK.d.ts +48 -0
  711. package/lib/tr-grid-util/es6/jet/MockRTK.js +82 -0
  712. package/lib/tr-grid-util/es6/jet/MockUtil.d.ts +7 -0
  713. package/lib/tr-grid-util/es6/jet/MockUtil.js +25 -0
  714. package/lib/tr-grid-util/es6/jet/index.d.ts +9 -0
  715. package/lib/tr-grid-util/es6/jet/index.js +18 -0
  716. package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +11 -0
  717. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +111 -0
  718. package/lib/tr-grid-util/es6/jsx.d.ts +223 -0
  719. package/lib/tr-grid-util/es6/locale/translation-de.d.ts +7 -0
  720. package/lib/tr-grid-util/es6/locale/translation-de.js +51 -0
  721. package/lib/tr-grid-util/es6/locale/translation-en.d.ts +7 -0
  722. package/lib/tr-grid-util/es6/locale/translation-en.js +51 -0
  723. package/lib/tr-grid-util/es6/locale/translation-ja.d.ts +7 -0
  724. package/lib/tr-grid-util/es6/locale/translation-ja.js +51 -0
  725. package/lib/tr-grid-util/es6/locale/translation-zh-hant.d.ts +7 -0
  726. package/lib/tr-grid-util/es6/locale/translation-zh-hant.js +51 -0
  727. package/lib/tr-grid-util/es6/locale/translation-zh.d.ts +7 -0
  728. package/lib/tr-grid-util/es6/locale/translation-zh.js +51 -0
  729. package/lib/tr-grid-util/es6/locale/translation.d.ts +11 -0
  730. package/lib/tr-grid-util/es6/locale/translation.js +18 -0
  731. package/lib/types/es6/AutoTooltip.d.ts +46 -0
  732. package/lib/types/es6/CellSelection.d.ts +70 -0
  733. package/lib/types/es6/Checkbox.d.ts +82 -0
  734. package/lib/types/es6/ColumnDragging.d.ts +51 -0
  735. package/lib/types/es6/ColumnFitter.d.ts +56 -0
  736. package/lib/types/es6/ColumnFormatting.d.ts +92 -0
  737. package/lib/types/es6/ColumnGrouping.d.ts +107 -0
  738. package/lib/types/es6/ColumnResizing.d.ts +68 -0
  739. package/lib/types/es6/ColumnSelection.d.ts +77 -0
  740. package/lib/types/es6/ColumnStack.d.ts +160 -0
  741. package/lib/types/es6/CompositeGrid/CollapsibleHeaderPlugin.d.ts +11 -0
  742. package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +41 -0
  743. package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +45 -0
  744. package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +289 -0
  745. package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +23 -0
  746. package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +41 -0
  747. package/lib/types/es6/CompositeGrid/Plugin.d.ts +30 -0
  748. package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +32 -0
  749. package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +44 -0
  750. package/lib/types/es6/CompositeGrid/TextWidthCalculator.d.ts +24 -0
  751. package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +46 -0
  752. package/lib/types/es6/CompositeGrid/index.d.ts +9 -0
  753. package/lib/types/es6/ConditionalColoring.d.ts +100 -0
  754. package/lib/types/es6/ContentWrap.d.ts +43 -0
  755. package/lib/types/es6/ContextMenu.d.ts +83 -0
  756. package/lib/types/es6/CoralButtonFormatter.d.ts +20 -0
  757. package/lib/types/es6/CoralCheckboxFormatter.d.ts +12 -0
  758. package/lib/types/es6/CoralComboBoxFormatter.d.ts +23 -0
  759. package/lib/types/es6/CoralIconFormatter.d.ts +21 -0
  760. package/lib/types/es6/CoralInputFormatter.d.ts +12 -0
  761. package/lib/types/es6/CoralRadioButtonFormatter.d.ts +20 -0
  762. package/lib/types/es6/CoralSelectFormatter.d.ts +23 -0
  763. package/lib/types/es6/CoralToggleFormatter.d.ts +12 -0
  764. package/lib/types/es6/Core/data/ColumnStats.d.ts +42 -0
  765. package/lib/types/es6/Core/data/DataCache.d.ts +43 -0
  766. package/lib/types/es6/Core/data/DataTable.d.ts +156 -0
  767. package/lib/types/es6/Core/data/DataView.d.ts +332 -0
  768. package/lib/types/es6/Core/data/Segment.d.ts +91 -0
  769. package/lib/types/es6/Core/data/SegmentCollection.d.ts +84 -0
  770. package/lib/types/es6/Core/data/WrappedView.d.ts +290 -0
  771. package/lib/types/es6/Core/grid/Core.d.ts +455 -0
  772. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +212 -0
  773. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +37 -0
  774. package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +28 -0
  775. package/lib/types/es6/Core/grid/components/Cell.d.ts +52 -0
  776. package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +21 -0
  777. package/lib/types/es6/Core/grid/components/CellSpan.d.ts +18 -0
  778. package/lib/types/es6/Core/grid/components/CellSpans.d.ts +40 -0
  779. package/lib/types/es6/Core/grid/components/Column.d.ts +22 -0
  780. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +127 -0
  781. package/lib/types/es6/Core/grid/components/HScrollbar.d.ts +28 -0
  782. package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +63 -0
  783. package/lib/types/es6/Core/grid/components/StretchedCells.d.ts +17 -0
  784. package/lib/types/es6/Core/grid/components/VScrollbar.d.ts +18 -0
  785. package/lib/types/es6/Core/grid/components/VirtualItems.d.ts +12 -0
  786. package/lib/types/es6/Core/grid/event/EventDispatcher.d.ts +16 -0
  787. package/lib/types/es6/Core/grid/event/EventListeners.d.ts +34 -0
  788. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +155 -0
  789. package/lib/types/es6/Core/grid/util/CellBoundPainter.d.ts +16 -0
  790. package/lib/types/es6/Core/grid/util/Conflator.d.ts +32 -0
  791. package/lib/types/es6/Core/grid/util/Reverter.d.ts +14 -0
  792. package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +79 -0
  793. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +54 -0
  794. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +92 -0
  795. package/lib/types/es6/Core/grid/util/Virtualizer.d.ts +40 -0
  796. package/lib/types/es6/Core/grid/util/util.d.ts +20 -0
  797. package/lib/types/es6/Core/index.d.ts +79 -0
  798. package/lib/types/es6/Core/tr-grid-theme.d.ts +5 -0
  799. package/lib/types/es6/DuplexEmeraldDateTimePickerFormatter.d.ts +14 -0
  800. package/lib/types/es6/EFButtonFormatter.d.ts +20 -0
  801. package/lib/types/es6/EFCheckboxFormatter.d.ts +12 -0
  802. package/lib/types/es6/EFComboBoxFormatter.d.ts +23 -0
  803. package/lib/types/es6/EFDateTimePickerFormatter.d.ts +13 -0
  804. package/lib/types/es6/EFIconFormatter.d.ts +21 -0
  805. package/lib/types/es6/EFNumberFieldFormatter.d.ts +12 -0
  806. package/lib/types/es6/EFRadioButtonFormatter.d.ts +20 -0
  807. package/lib/types/es6/EFSelectFormatter.d.ts +23 -0
  808. package/lib/types/es6/EFTextFieldFormatter.d.ts +12 -0
  809. package/lib/types/es6/EFToggleFormatter.d.ts +12 -0
  810. package/lib/types/es6/EmeraldDateTimePickerFormatter.d.ts +13 -0
  811. package/lib/types/es6/ExtensionColumnOptions.d.ts +41 -0
  812. package/lib/types/es6/ExtensionOptions.d.ts +58 -0
  813. package/lib/types/es6/Extensions.d.ts +63 -0
  814. package/lib/types/es6/FilterInput.d.ts +64 -0
  815. package/lib/types/es6/FormatterBuilder.d.ts +26 -0
  816. package/lib/types/es6/GridFormatter.d.ts +63 -0
  817. package/lib/types/es6/HeatMap.d.ts +45 -0
  818. package/lib/types/es6/InCellEditing.d.ts +148 -0
  819. package/lib/types/es6/MenuEventAPI.d.ts +22 -0
  820. package/lib/types/es6/MenuItem.d.ts +41 -0
  821. package/lib/types/es6/NumericInputFormatter.d.ts +13 -0
  822. package/lib/types/es6/Pagination.d.ts +58 -0
  823. package/lib/types/es6/PercentBar.d.ts +60 -0
  824. package/lib/types/es6/PercentBarFormatter.d.ts +25 -0
  825. package/lib/types/es6/PopupMenu.d.ts +33 -0
  826. package/lib/types/es6/RangeBar.d.ts +39 -0
  827. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +176 -0
  828. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +43 -0
  829. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +40 -0
  830. package/lib/types/es6/RealtimeGrid/Grid.d.ts +413 -0
  831. package/lib/types/es6/RealtimeGrid/PredefinedFormula.d.ts +16 -0
  832. package/lib/types/es6/RealtimeGrid/ReferenceCounter.d.ts +40 -0
  833. package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +19 -0
  834. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +156 -0
  835. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +36 -0
  836. package/lib/types/es6/RealtimeGrid/StyleLoader.d.ts +17 -0
  837. package/lib/types/es6/RealtimeGrid/index.d.ts +8 -0
  838. package/lib/types/es6/RowColoring.d.ts +64 -0
  839. package/lib/types/es6/RowDragging.d.ts +81 -0
  840. package/lib/types/es6/RowFiltering.d.ts +159 -0
  841. package/lib/types/es6/RowGrouping.d.ts +123 -0
  842. package/lib/types/es6/RowSegmenting.d.ts +109 -0
  843. package/lib/types/es6/RowSelection.d.ts +75 -0
  844. package/lib/types/es6/SimpleImageFormatter.d.ts +21 -0
  845. package/lib/types/es6/SimpleInputFormatter.d.ts +12 -0
  846. package/lib/types/es6/SimpleLinkFormatter.d.ts +21 -0
  847. package/lib/types/es6/SimpleTickerFormatter.d.ts +23 -0
  848. package/lib/types/es6/SimpleToggleFormatter.d.ts +22 -0
  849. package/lib/types/es6/StatisticsRow.d.ts +68 -0
  850. package/lib/types/es6/TextFormatter.d.ts +12 -0
  851. package/lib/types/es6/TextFormatting.d.ts +72 -0
  852. package/lib/types/es6/TitleWrap.d.ts +27 -0
  853. package/lib/types/es6/Zoom.d.ts +52 -0
  854. package/lib/types/es6/index.d.ts +80 -0
  855. package/lib/types/index.d.ts +1 -0
  856. package/lib/utils/index.d.ts +7 -0
  857. package/lib/utils/index.js +7 -0
  858. package/lib/versions.json +37 -0
  859. package/lib/window-exporter.js +18 -0
  860. package/lib/zoom/es6/Zoom.d.ts +52 -0
  861. package/lib/zoom/es6/Zoom.js +438 -0
  862. package/lib/zoom/es6/index.d.ts +1 -0
  863. package/lib/zoom/es6/index.js +1 -0
  864. package/package.json +69 -0
@@ -0,0 +1,1183 @@
1
+ import { TickCodes, TickFields } from "./TickCodes.js";
2
+ import { rgb2Hex, num2Hex, num2Rgb, hex2Num, hex2Rgb, blendColor, getContrastColor } from "./Color.js";
3
+ import { ElfUtil } from "./ElfUtil.js";
4
+ import { ExpressionParser } from "./ExpressionParser.js";
5
+
6
+ /** @typedef {Object} CellPainter~Expression
7
+ * @ignore
8
+ * @description This form of expression is deprecated
9
+ * @property {string=} name
10
+ * @property {string} text Text describes condition e.g. [FIELD] > 10
11
+ * @property {Array=} values
12
+ */
13
+
14
+ /** @typedef {Object} CellPainter~Condition
15
+ * @property {string|Function} expression A function, text, or an object with text property that describes the condition
16
+ * @property {string=} field Field to be used in the condition
17
+ * @property {string=} backgroundColor CSS color string
18
+ * @property {string=} color CSS color string
19
+ * @property {string=} fontSize
20
+ * @property {string=} fontWeight
21
+ * @property {string=} fontStyle
22
+ * @property {string=} textAlign
23
+ * @property {string=} textDecoration
24
+ * @property {string=} cssClass Predefined color class name
25
+ */
26
+
27
+ /** @typedef {Object.<string, string>} CellPainter~ThemeColors
28
+ * @description Theme colors in hex format. All of the values are optional
29
+ * @property {string=} baseGrid Background color of the grid element
30
+ * @property {string=} baseText Text color of the grid element
31
+ * @property {string=} up Color for positive value
32
+ * @property {string=} down Color for negative value
33
+ * @property {string=} level Color for neutral/unchanged value
34
+ * @property {string=} tickUp Color for positive tick icon
35
+ * @property {string=} tickDown Color for negative tick icon
36
+ */
37
+
38
+ /** @constructor
39
+ */
40
+ let CellPainter = function() {
41
+ this._conditions = [];
42
+ this._scopes = [];
43
+
44
+ CellPainter._painters.push(this); // For later referencing
45
+ };
46
+ /** @private
47
+ * @function
48
+ * @param {Element} elem
49
+ * @param {string=} targetClass
50
+ */
51
+ let _removeCssClass = function(elem, targetClass) {
52
+ if (elem._coloringCssClass != null && elem._coloringCssClass !== targetClass) {
53
+ elem.classList.remove(elem._coloringCssClass);
54
+ elem._coloringCssClass = null;
55
+ }
56
+ };
57
+
58
+ /** Enum for coloring types.
59
+ * @enum {number}
60
+ */
61
+ CellPainter.ColoringTypes = {
62
+ TEXT: 1,
63
+ HEATMAP: 2,
64
+ CONDITIONAL: 3
65
+ };
66
+
67
+ /** @type {CellPainter.ColoringTypes}
68
+ * @private
69
+ */
70
+ CellPainter.prototype._coloringType = 0;
71
+ /** @type {Array.<Object>}
72
+ * @private
73
+ */
74
+ CellPainter.prototype._conditions = null;
75
+ /** @type {Object}
76
+ * @private
77
+ */
78
+ CellPainter.prototype._effectiveStyles = null;
79
+ /** @type {Object}
80
+ * @private
81
+ */
82
+ CellPainter.prototype._blinkCondition = null;
83
+ /** @type {!Array}
84
+ * @private
85
+ */
86
+ CellPainter.prototype._scopes;
87
+ /** @type {Object}
88
+ * @private
89
+ */
90
+ CellPainter.prototype._columnStats = null;
91
+ /** @type {number}
92
+ * @private
93
+ */
94
+ CellPainter.prototype._blinkingDuration = 250;
95
+
96
+ /** @type {number}
97
+ * @private
98
+ */
99
+ CellPainter._runningBlinkId = 0;
100
+
101
+ /** @type {Array.<CellPainter>}
102
+ * @private
103
+ * @const
104
+ */
105
+ CellPainter._painters = [];
106
+
107
+ /** @type {!Array}
108
+ * @private
109
+ * @const
110
+ */
111
+ CellPainter._emptyAry = [];
112
+ /** @type {!Object}
113
+ * @private
114
+ * @const
115
+ */
116
+ CellPainter._emptyObj = {};
117
+ /** @type {!Object}
118
+ * @private
119
+ * @const
120
+ */
121
+ CellPainter._bgObj = {"backgroundColor": "", "color": ""};
122
+ /** @type {!Object}
123
+ * @private
124
+ * @const
125
+ */
126
+ CellPainter._colorObj = {"color": ""};
127
+ /** @type {!Array.<string>}
128
+ * @private
129
+ * @const
130
+ */
131
+ CellPainter.bgStyles = ["backgroundColor", "color"];
132
+ /** @type {!Array.<string>}
133
+ * @private
134
+ * @const
135
+ */
136
+ CellPainter.nonBgStyles = ["fontSize", "fontWeight", "fontStyle", "textAlign", "textDecoration"];
137
+ /** @type {!Array.<string>}
138
+ * @private
139
+ * @const
140
+ */
141
+ CellPainter.supportedStyles = CellPainter.bgStyles.concat(CellPainter.nonBgStyles);
142
+ /** @type {Promise<Object>}
143
+ * @public
144
+ */
145
+ CellPainter.themeReady = null;
146
+ /** @type {Object}
147
+ * @private
148
+ */
149
+ CellPainter._contrastColors = {};
150
+
151
+ /** Deprecated in favor of ExpressionParser
152
+ * @public
153
+ * @function
154
+ * @param {string|Function} expression
155
+ * @return {Function}
156
+ * @example
157
+ * let fn = CellPainter.parse("[CF_BID] >= 10 && [CF_BID] <= 100");
158
+ * window.console.log(fn(25));
159
+ */
160
+ CellPainter.parse = ExpressionParser.parse;
161
+
162
+
163
+ /** @public */
164
+ CellPainter.prototype.dispose = function() {
165
+ let at = CellPainter._painters.indexOf(this);
166
+ if(at >= 0) {
167
+ CellPainter._painters.splice(at, 1);
168
+ }
169
+ this.reset(); // Restore all styles and clear all blink timers
170
+
171
+ this._conditions = null;
172
+ this._scopes.length = 0;
173
+
174
+ this._blinkCondition = null;
175
+ };
176
+ /** @public */
177
+ CellPainter.prototype.reset = function() {
178
+ this._setColoringType(0);
179
+ this.clearBlinking();
180
+ };
181
+
182
+ /** @public */
183
+ CellPainter.prototype.resetColoring = function() {
184
+ // reset coloring type to allow other extensions to be able to set their new mode
185
+ this._setColoringType(0);
186
+ this._effectiveStyles = null;
187
+ this._conditions.length = 0;
188
+ };
189
+
190
+ /** @public */
191
+ CellPainter.prototype.clearBlinking = function() {
192
+ this._blinkCondition = null;
193
+ let len = this._scopes.length;
194
+ if(len) {
195
+ for(let i = 0; i < len; ++i) {
196
+ let scope = this._scopes[i];
197
+ if(CellPainter._clearBlinkTimer(scope)) {
198
+ scope._restorer();
199
+ }
200
+ let cell = scope["cell"];
201
+ if(cell) { // cell may be removed before
202
+ delete cell["blinking"]; // Delete cell blinking scope
203
+ }
204
+
205
+ scope["cell"] = null;
206
+ }
207
+ this._scopes.length = 0;
208
+ }
209
+ };
210
+ /** @public
211
+ * @ignore
212
+ * @function
213
+ */
214
+ CellPainter.prototype.resetBlinking = CellPainter.prototype.clearBlinking;
215
+
216
+ /** Return true if no one is using this painter
217
+ * @public
218
+ * @return {boolean}
219
+ */
220
+ CellPainter.prototype.clearHeatMap = function() {
221
+ if(this._blinkCondition) {
222
+ this._setColoringType(0);
223
+ this.resetHeatMap();
224
+ return false;
225
+ } else {
226
+ this.dispose();
227
+ return true;
228
+ }
229
+ };
230
+ /** @public
231
+ * @ignore
232
+ * @function
233
+ */
234
+ CellPainter.prototype.resetHeatMap = function() {
235
+ this._conditions.length = 0;
236
+ this._columnStats = null;
237
+ };
238
+
239
+ /** @public */
240
+ CellPainter.prototype.applyThemeColor = function() {
241
+ let colors = ElfUtil.getColors();
242
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) { // Heatmap uses grid color to blend the result color
243
+ let cond = this._conditions[0]; // Heatmap, color text condition must be the first
244
+ if(cond) {
245
+ if(cond["textMode"]) {
246
+ cond["baseColor"] = colors["baseText"];
247
+ } else {
248
+ cond["baseColor"] = colors["baseGrid"];
249
+ }
250
+ if(cond["useThemeColor"]) {
251
+ let up = colors["up"];
252
+ let down = colors["down"];
253
+ let level = (colors["level"] === colors["baseText"]) ? "" : colors["level"];
254
+ CellPainter._setUpDownColors(cond, up, down, level);
255
+ }
256
+ }
257
+ }
258
+
259
+ if(this._blinkCondition && this._blinkCondition["useThemeColor"]) {
260
+ CellPainter._setUpDownColors(this._blinkCondition, colors["up"], colors["down"], colors["level"], true);
261
+ }
262
+ };
263
+ /** Used by monitor saving
264
+ * @public
265
+ * @return {Array.<Object>}
266
+ */
267
+ CellPainter.prototype.getConditions = function() {
268
+ return this._conditions;
269
+ };
270
+ /** Used by monitor saving <br>
271
+ * Returns the coloring type ("text", "heatmap", "conditional")
272
+ * @public
273
+ * @return {CellPainter.ColoringTypes}
274
+ */
275
+ CellPainter.prototype.getColoringType = function() {
276
+ return this._coloringType;
277
+ };
278
+ /** @private
279
+ * @param {number} enumType Available values are TEXT, HEATMAP, CONDITIONAL
280
+ */
281
+ CellPainter.prototype._setColoringType = function(enumType) {
282
+ if(this._coloringType !== enumType) { // We can only have one type of coloring
283
+ this._coloringType = enumType;
284
+ }
285
+ };
286
+ /** @public
287
+ * @param {Object} mapping Effective styles mapping
288
+ */
289
+ CellPainter.prototype.setEffectiveStyles = function(mapping) {
290
+ this._effectiveStyles = mapping;
291
+ };
292
+ /** @public
293
+ * @return {Object}
294
+ */
295
+ CellPainter.prototype.getEffectiveStyles = function() {
296
+ return this._effectiveStyles;
297
+ };
298
+ /** @public
299
+ * @param {Array.<CellPainter~Condition>} conditions
300
+ */
301
+ CellPainter.prototype.setConditions = function(conditions) {
302
+ this._conditions.length = 0; // TODO: Clear existing cell styles first
303
+ this._setColoringType(CellPainter.ColoringTypes.CONDITIONAL);
304
+
305
+ let len = conditions ? conditions.length : 0;
306
+ for (let i = 0; i < len; i++) {
307
+ this._addCondition(conditions[i]);
308
+ }
309
+ };
310
+ /** @public
311
+ * @param {Object} columnStats
312
+ */
313
+ CellPainter.prototype.setColumnStats = function(columnStats) {
314
+ this._columnStats = (columnStats && columnStats.getMin) ? columnStats : null;
315
+ };
316
+ /** @public
317
+ * @return {Object}
318
+ */
319
+ CellPainter.prototype.getColumnStats = function() {
320
+ return this._columnStats;
321
+ };
322
+ /** @private
323
+ * @param {CellPainter~Condition} condition
324
+ */
325
+ CellPainter.prototype._addCondition = function(condition) {
326
+ let exp = condition["expression"];
327
+ if(exp) {
328
+ condition._fn = ExpressionParser.parse(exp["text"] || exp);
329
+ this._conditions.push(condition);
330
+ }
331
+ };
332
+ /** @public
333
+ * @param {string} field
334
+ * @param {number} midPoint
335
+ * @param {string} upColor
336
+ * @param {string} downColor
337
+ * @param {string} baseColor
338
+ * @param {(string|boolean)=} opt_textMode
339
+ * @return {!Object}
340
+ */
341
+ CellPainter.prototype.addHeatmap = function(field, midPoint, upColor, downColor, baseColor, opt_textMode) {
342
+ this._setColoringType(CellPainter.ColoringTypes.HEATMAP);
343
+
344
+ let condition = {};
345
+ condition["heatmap"] = true;
346
+ condition["field"] = field;
347
+ condition["expression"] = CellPainter._heatMapCondition.bind(condition);
348
+ condition["midPoint"] = midPoint;
349
+ CellPainter._setUpDownColors(condition, upColor, downColor);
350
+
351
+ condition["baseColor"] = baseColor;
352
+ if(opt_textMode === true || opt_textMode === "text") {
353
+ condition["textMode"] = true;
354
+ }
355
+
356
+ this._addCondition(condition);
357
+ return condition;
358
+ };
359
+ /** @public
360
+ * @param {string} field
361
+ * @param {number} midPoint
362
+ * @param {(string|boolean)=} opt_textMode
363
+ * @return {!Object}
364
+ */
365
+ CellPainter.prototype.addHeatmapWithTheme = function(field, midPoint, opt_textMode) {
366
+ let colors = ElfUtil.themeColors;
367
+ let condition = this.addHeatmap(
368
+ field,
369
+ midPoint,
370
+ colors["up"], colors["down"], colors["baseGrid"],
371
+ opt_textMode
372
+ );
373
+
374
+ if(opt_textMode === true || opt_textMode === "text") {
375
+ condition["baseColor"] = colors["baseText"];
376
+ }
377
+ condition["useThemeColor"] = true;
378
+ return condition;
379
+ };
380
+ /** @private
381
+ * @param {Function} expression
382
+ * @param {string} field
383
+ * @param {string=} upClass CSS class name
384
+ * @param {string=} downClass CSS class name
385
+ * @param {string=} levelClass CSS class name
386
+ * @return {!Object}
387
+ */
388
+ CellPainter.prototype._addColorText = function(expression, field, upClass, downClass, levelClass) {
389
+ this._setColoringType(CellPainter.ColoringTypes.TEXT);
390
+
391
+ let condition = {};
392
+ condition["field"] = field;
393
+ condition["expression"] = expression.bind(null, field);
394
+ condition["upClass"] = upClass;
395
+ condition["downClass"] = downClass;
396
+ condition["levelClass"] = levelClass;
397
+ // TODO: Make this consistent with other type (e.g., heat map and blinking)
398
+
399
+ this._addCondition(condition);
400
+ return condition;
401
+ };
402
+ /** @public
403
+ * @param {string} field
404
+ * @param {string=} upClass CSS class name
405
+ * @param {string=} downClass CSS class name
406
+ * @param {string=} levelClass CSS class name
407
+ * @return {!Object}
408
+ */
409
+ CellPainter.prototype.addColorText = function(field, upClass, downClass, levelClass) {
410
+ return this._addColorText(
411
+ TickFields[field] ? CellPainter._tickColorTextCondition : CellPainter._colorTextCondition,
412
+ field,
413
+ upClass, downClass, levelClass
414
+ );
415
+ };
416
+ /** @public
417
+ * @param {string} field
418
+ * @return {!Object}
419
+ */
420
+ CellPainter.prototype.addColorTextWithTheme = function(field) {
421
+ let condition = this.addColorText(field, "positive", "negative", "neutral");
422
+ return condition;
423
+ };
424
+ /** @public
425
+ * @param {string} upColor
426
+ * @param {string} downColor
427
+ * @param {string} levelColor
428
+ * @return {!Object}
429
+ */
430
+ CellPainter.prototype.addTickColorText = function(upColor, downColor, levelColor) {
431
+ return this.addColorText("CF_TICK", upColor, downColor, levelColor);
432
+ };
433
+ /** @public
434
+ * @return {!Object}
435
+ */
436
+ CellPainter.prototype.addTickColorTextWithTheme = function() {
437
+ let colors = ElfUtil.themeColors;
438
+ let condition = this.addTickColorText(colors["tickUp"], colors["tickDown"], colors["level"]);
439
+ condition["useThemeColor"] = true;
440
+ return condition;
441
+ };
442
+ /** @public
443
+ * @param {string} upColor
444
+ * @param {string} downColor
445
+ * @param {string} levelColor
446
+ * @param {(string|boolean)=} opt_border
447
+ * @return {!Object}
448
+ */
449
+ CellPainter.prototype.addTickBlink = function(upColor, downColor, levelColor, opt_border) {
450
+ return this.addBlink("CF_TICK", upColor, downColor, levelColor, opt_border);
451
+ };
452
+ /** @public
453
+ * @param {(string|boolean)=} opt_border
454
+ * @return {!Object}
455
+ */
456
+ CellPainter.prototype.addTickBlinkWithTheme = function(opt_border) {
457
+ let colors = ElfUtil.themeColors;
458
+ let condition = this.addTickBlink(colors["tickUp"], colors["tickDown"], colors["level"], opt_border);
459
+ condition["useThemeColor"] = true;
460
+ return condition;
461
+ };
462
+ /** @public
463
+ * @param {string} field
464
+ * @param {string} upColor
465
+ * @param {string} downColor
466
+ * @param {string} levelColor
467
+ * @param {(string|boolean)=} opt_border
468
+ * @return {!Object}
469
+ */
470
+ CellPainter.prototype.addBlink = function(field, upColor, downColor, levelColor, opt_border) {
471
+ return this._addBlink(
472
+ TickFields[field] ? CellPainter._tickBlinkCondition : CellPainter._fieldBlinkCondition,
473
+ field,
474
+ upColor, downColor, levelColor,
475
+ opt_border
476
+ );
477
+ };
478
+ /** @public
479
+ * @param {string} field
480
+ * @param {(string|boolean)=} opt_border
481
+ * @return {!Object}
482
+ */
483
+ CellPainter.prototype.addBlinkWithTheme = function(field, opt_border) {
484
+ let colors = ElfUtil.themeColors;
485
+ let condition = this.addBlink(field, colors["up"], colors["down"], colors["level"], opt_border);
486
+ condition["useThemeColor"] = true;
487
+ return condition;
488
+ };
489
+ /** @private
490
+ * @param {Function} expression
491
+ * @param {string} field
492
+ * @param {string} upColor
493
+ * @param {string} downColor
494
+ * @param {string} levelColor
495
+ * @param {(string|boolean)=} blinkType
496
+ * @return {!Object}
497
+ */
498
+ CellPainter.prototype._addBlink = function(expression, field, upColor, downColor, levelColor, blinkType) {
499
+ let condition = this._blinkCondition = {};
500
+ condition["blink"] = true;
501
+ condition["blinkId"] = CellPainter._runningBlinkId++;
502
+ condition["field"] = field;
503
+ condition._fn = condition["expression"] = expression;
504
+
505
+ if(blinkType === true || blinkType === "border") {
506
+ condition["border"] = true;
507
+ }
508
+ CellPainter._setUpDownColors(condition, upColor, downColor, levelColor, true);
509
+ return condition;
510
+ };
511
+
512
+ /** @public
513
+ * @param {Element} cell
514
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
515
+ * @param {number} min
516
+ * @param {number} max
517
+ */
518
+ CellPainter.prototype.renderForPrinting = function(cell, rowData, min, max) {
519
+ if(!cell) {
520
+ return;
521
+ }
522
+ let styles = this._getStyles(rowData, min, max);
523
+ let cssClass = styles["cssClass"]; // Can be an empty string
524
+
525
+ _removeCssClass(cell, cssClass);
526
+ if (cssClass != null) { // Predefined colors mode
527
+ if (cssClass) {
528
+ cell.classList.add(cssClass);
529
+ cell._coloringCssClass = cssClass;
530
+ }
531
+ } else {
532
+ cell.style.backgroundColor = styles["backgroundColor"] || "";
533
+ cell.style.color = styles["color"] || "";
534
+ }
535
+ };
536
+
537
+
538
+ /** @private
539
+ * @param {string} field
540
+ * @param {Object} rowData
541
+ * @return {string|number}
542
+ */
543
+ CellPainter._colorTextCondition = function(field, rowData) {
544
+ let value = rowData[field];
545
+ if(value || value === 0) {
546
+ if(value > 0) {
547
+ return 1;
548
+ } else if(value < 0) {
549
+ return -1;
550
+ }
551
+ }
552
+ return "u"; // unchanged
553
+ };
554
+ /** @private
555
+ * @param {string} field
556
+ * @param {Object} rowData
557
+ * @return {undefined|number}
558
+ */
559
+ CellPainter._tickColorTextCondition = function(field, rowData) {
560
+ return TickCodes[rowData[field]];
561
+ };
562
+ /** @private
563
+ * @this {Object}
564
+ * @param {Object} rowData
565
+ * @param {number} min
566
+ * @param {number} max
567
+ * @return {number}
568
+ */
569
+ CellPainter._heatMapCondition = function(rowData, min, max) {
570
+ let value = rowData[this["field"]];
571
+ let diff = (value || value === 0) ? value - this["midPoint"] : NaN;
572
+ if (diff === 0 || diff !== diff) {
573
+ return 0;
574
+ }
575
+
576
+ let ratio;
577
+ let range = 1;
578
+ if(diff > 0) {
579
+ range = max - this["midPoint"];
580
+ if(range < 0) {
581
+ range = min - this["midPoint"];
582
+ }
583
+ } else {
584
+ range = min - this["midPoint"];
585
+ if(range > 0) {
586
+ range = max - this["midPoint"];
587
+ }
588
+ }
589
+ if(range < 0) {
590
+ range = -range;
591
+ }
592
+ ratio = diff / range;
593
+ return ratio;
594
+ };
595
+ /** @private
596
+ * @function
597
+ * @param {string} newValue
598
+ * @return {undefined|number}
599
+ */
600
+ CellPainter._tickBlinkCondition = function(newValue) {
601
+ return TickCodes[newValue];
602
+ };
603
+ /** @private
604
+ * @function
605
+ * @param {number} newValue
606
+ * @param {number} oldValue
607
+ * @return {number}
608
+ */
609
+ CellPainter._fieldBlinkCondition = function(newValue, oldValue) {
610
+ if(newValue > oldValue) {
611
+ return 1; // eslint-disable-line
612
+ } else if(newValue < oldValue) {
613
+ return -1; // eslint-disable-line
614
+ } else { // AlphaNumeric, unchanged newValue
615
+ return 0; // eslint-disable-line
616
+ }
617
+ };
618
+ /** @private
619
+ * @param {Object} scope
620
+ */
621
+ CellPainter._borderRestorer = function(scope) {
622
+ scope["blinkTimer"] = 0;
623
+ let cell = scope["cell"];
624
+ let elem = cell.getElement();
625
+
626
+ if(elem) {
627
+ elem.style.border = "";
628
+ }
629
+ };
630
+ /** @private
631
+ * @param {Object} scope
632
+ */
633
+ CellPainter._cellRestorer = function(scope) {
634
+ scope["blinkTimer"] = 0;
635
+ let cell = scope["cell"];
636
+ let elem = cell.getElement();
637
+
638
+ if(elem) {
639
+ let rowData = scope["rowData"];
640
+ let min = NaN;
641
+ let max = NaN;
642
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) {
643
+ let columnStats = this._columnStats;
644
+ if(columnStats) {
645
+ min = columnStats.getMin();
646
+ max = columnStats.getMax();
647
+ }
648
+ }
649
+
650
+ let styles = this._getStyles(rowData, min, max);
651
+ let cssClass = styles["cssClass"]; // Can be an empty string
652
+ _removeCssClass(elem, cssClass);
653
+ if (cssClass != null) { // Predefined colors mode
654
+ if (cssClass) {
655
+ elem.classList.add(cssClass);
656
+ elem._coloringCssClass = cssClass;
657
+ }
658
+ // Remove blinking color
659
+ elem.style.backgroundColor = "";
660
+ elem.style.color = "";
661
+ } else {
662
+ elem.style.backgroundColor = styles["backgroundColor"] || "";
663
+ elem.style.color = styles["color"] || "";
664
+ }
665
+ }
666
+ };
667
+
668
+ /** WARNING: This method is called very often and the performance is very critical here
669
+ * @private
670
+ * @param {Object} rowData
671
+ * @param {number=} min
672
+ * @param {number=} max
673
+ * @return {!Object}
674
+ */
675
+ CellPainter.prototype._getStyles = function(rowData, min, max) {
676
+ if (!rowData) {
677
+ return CellPainter._emptyObj;
678
+ }
679
+
680
+ let len = this._conditions.length;
681
+ for(let i = 0; i < len; ++i) {
682
+ let curCond = this._conditions[i];
683
+ let fn = curCond._fn;
684
+ let ret;
685
+ try { // WARNING: Try/Catch is very slow. TODO: The function should be checked for validity beforehand
686
+ ret = fn && fn(rowData, min, max);
687
+ } catch (err){
688
+ // console.error(err.message); // This will produce tons of errors in the console
689
+ }
690
+ if (ret) { // Match condition with results 1, -1, true, or string
691
+ if(this._coloringType === CellPainter.ColoringTypes.HEATMAP) {
692
+ let blendedColor;
693
+ if(ret > 0) {
694
+ blendedColor = blendColor(curCond["baseColor"], curCond["upColor"], ret);
695
+ } else {
696
+ blendedColor = blendColor(curCond["baseColor"], curCond["downColor"], -ret);
697
+ }
698
+
699
+ if(curCond["textMode"]) {
700
+ CellPainter._colorObj["color"] = num2Hex(blendedColor);
701
+ return CellPainter._colorObj;
702
+ } else {
703
+ CellPainter._bgObj["backgroundColor"] = num2Hex(blendedColor);
704
+ CellPainter._bgObj["color"] = getContrastColor(blendedColor);
705
+
706
+ return CellPainter._bgObj;
707
+ }
708
+ } else if(this._coloringType === CellPainter.ColoringTypes.TEXT) {
709
+ if(ret > 0) {
710
+ curCond["cssClass"] = curCond["upClass"];
711
+ } else if(ret < 0) {
712
+ curCond["cssClass"] = curCond["downClass"];
713
+ } else if(ret === 0) {
714
+ curCond["cssClass"] = curCond["levelClass"];
715
+ } // else case is no change in cssClass
716
+ if(!curCond["cssClass"]) {
717
+ curCond["cssClass"] = ""; // If no cssClass, remove existing one
718
+ }
719
+ return curCond;
720
+ }
721
+
722
+ // Expected return value is {
723
+ // "backgroundColor": bgc,
724
+ // "color": color,
725
+ // "fontSize": fSize,
726
+ // "fontWeight": fWeight,
727
+ // "fontStyle": fStyle,
728
+ // "textAlign": tAlign,
729
+ // "textDecoration": tDecor
730
+ // };
731
+ return curCond; // Conditional Coloring
732
+ }
733
+ }
734
+ return CellPainter._emptyObj;
735
+ };
736
+
737
+ /** @public
738
+ * @function
739
+ * @param {string} baseColor
740
+ * @param {string} maxColor
741
+ * @param {number} ratio [0, 1]
742
+ * @return {Array.<number>} resultColor
743
+ */
744
+ CellPainter.blendColor = blendColor; // For backward compatability
745
+ /** @private
746
+ * @function
747
+ * @param {Array.<number>} triplet
748
+ * @return {string} resultColor
749
+ */
750
+ CellPainter.blackAndWhite = getContrastColor; // For backward compatability
751
+ /** @public
752
+ * @function
753
+ * @param {string} rgbCode
754
+ * @return {string} resultColor E.g. "#10FF0D"
755
+ */
756
+ CellPainter.rgb2Hex = rgb2Hex; // For backward compatability
757
+ /** @public
758
+ * @function
759
+ * @param {Array.<number>} triplet
760
+ * @return {string} resultColor
761
+ */
762
+ CellPainter.num2Hex = num2Hex; // For backward compatability
763
+ /** Note that Chrome, IE, and Firefox store color in rgb representation.
764
+ * @public
765
+ * @function
766
+ * @param {Array.<number>} triplet
767
+ * @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
768
+ */
769
+ CellPainter.num2Rgb = num2Rgb; // For backward compatability
770
+ /** @public
771
+ * @function
772
+ * @param {string} hex
773
+ * @return {Array.<number>} array of size 3 which contains [red, green, blue]
774
+ */
775
+ CellPainter.hex2Num = hex2Num; // For backward compatability
776
+ /** @public
777
+ * @function
778
+ * @param {string} hex Color string with leading # character (e.g. #FFAA00)
779
+ * @return {string} Color string in RGB represetation (e.g. rgb(100, 44, 1))
780
+ */
781
+ CellPainter.hex2Rgb = hex2Rgb; // For backward compatability
782
+
783
+ /** Deprecated. Colors should be changed according to user's settings by CellPainter#loadThemeColors
784
+ * @private
785
+ * @function
786
+ */
787
+ CellPainter.themeChanged = function() {};
788
+ /** Deprecated. Colors should be changed according to user's settings by CellPainter#loadThemeColors
789
+ * @public
790
+ * @function
791
+ */
792
+ CellPainter.setThemeColors = function() {};
793
+ /** @private
794
+ * @function
795
+ */
796
+ CellPainter._onThemeChanged = function() {
797
+ // Apply newly changed theme to all the painters
798
+ let painters = CellPainter._painters;
799
+ for(let i = painters.length; --i >= 0;) {
800
+ painters[i].applyThemeColor(); // Re-apply theme color
801
+ }
802
+ };
803
+ /** Load theme colors and change colors for all instances of CellPainter
804
+ * @public
805
+ * @function
806
+ * @return {Promise<Object>}
807
+ */
808
+ CellPainter.loadThemeColors = function() {
809
+ if(!CellPainter.themeReady) {
810
+ CellPainter.themeReady = ElfUtil.getThemeColors(CellPainter._onThemeChanged)
811
+ .then(CellPainter._onThemeChanged)
812
+ .catch(CellPainter._onThemeChanged);
813
+ }
814
+ return CellPainter.themeReady;
815
+ };
816
+
817
+ /** Reload theme colors and change colors for all instances of CellPainter
818
+ * @public
819
+ * @function
820
+ * @return {Promise<Object>}
821
+ */
822
+ CellPainter.reloadThemeColors = function () {
823
+ CellPainter.themeReady = ElfUtil.reloadThemeColors()
824
+ .then(CellPainter._onThemeChanged)
825
+ .catch(CellPainter._onThemeChanged);
826
+ return CellPainter.themeReady;
827
+ };
828
+
829
+ /** @public
830
+ * @function
831
+ * @ignore
832
+ * @param {tr.grid.Cell} cell
833
+ * @param {Object=} styles
834
+ */
835
+ CellPainter.clearCellStyle = function(cell, styles) {
836
+ let elem = cell.getElement();
837
+ if(!elem) {
838
+ return; // Cell has been disposed
839
+ }
840
+
841
+ let scope = cell["blinking"];
842
+ if(scope) { // Clear blinking scope
843
+ CellPainter._clearBlinkTimer(scope);
844
+
845
+ delete cell["blinking"]; // Delete cell blinking scope
846
+
847
+ scope["cell"] = null;
848
+ // WARNING: Scope is not removed from the this._scopes collection to speed things up
849
+ }
850
+
851
+ _removeCssClass(elem);
852
+
853
+ if(!styles){
854
+ styles = CellPainter.supportedStyles;
855
+ }
856
+ if(Array.isArray(styles)){
857
+ for(let i = styles.length; --i >= 0;) {
858
+ elem.style[styles[i]] = ""; // WARNING: Very slow
859
+ }
860
+ } else {
861
+ for(let key in styles) {
862
+ elem.style[key] = ""; // WARNING: Very slow
863
+ }
864
+ }
865
+ };
866
+ /** @private
867
+ * @param {!Object} scp Scope Object
868
+ * @param {string|null} upColor Color in hex representation
869
+ * @param {string|null} downColor
870
+ * @param {(string|null)=} levelColor
871
+ * @param {boolean=} withContrast
872
+ */
873
+ CellPainter._setUpDownColors = function(scp, upColor, downColor, levelColor, withContrast) {
874
+ scp["upColor"] = upColor;
875
+ if(upColor != null) {
876
+ if(withContrast) {
877
+ scp["contrastUpColor"] = CellPainter.getOppositeColor(upColor);
878
+ }
879
+ }
880
+
881
+ scp["downColor"] = downColor;
882
+ if(downColor != null) {
883
+ if(withContrast) {
884
+ scp["contrastDownColor"] = CellPainter.getOppositeColor(downColor);
885
+ }
886
+ }
887
+
888
+ scp["levelColor"] = levelColor;
889
+ if(levelColor != null) {
890
+ if(withContrast) {
891
+ scp["contrastLevelColor"] = CellPainter.getOppositeColor(levelColor);
892
+ }
893
+ }
894
+ };
895
+ /** @private
896
+ * @param {!Object} scp Scope Object
897
+ * @param {boolean=} opt_restoreColor
898
+ * @return {boolean}
899
+ */
900
+ CellPainter._clearBlinkTimer = function(scp, opt_restoreColor) {
901
+ if(scp["blinkTimer"]) {
902
+ clearTimeout(scp["blinkTimer"]);
903
+ scp["blinkTimer"] = 0;
904
+ return true;
905
+ }
906
+ return false;
907
+ };
908
+ /** @public
909
+ * @param {string|Array.<number>} hexCode
910
+ * @return {string}
911
+ */
912
+ CellPainter.getOppositeColor = function (hexCode) {
913
+ if(typeof hexCode === "string") {
914
+ if(hexCode.charAt(0) === "#") {
915
+ let contrastColor = CellPainter._contrastColors[hexCode];
916
+ if (!contrastColor) {
917
+ let triplet = hex2Num(hexCode);
918
+ contrastColor = CellPainter._contrastColors[hexCode] = getContrastColor(triplet);
919
+ }
920
+ return contrastColor;
921
+ }
922
+ } else if(Array.isArray(hexCode)) {
923
+ return getContrastColor(hexCode);
924
+ }
925
+ return "";
926
+ };
927
+
928
+ /**
929
+ * @public
930
+ * @param {tr.grid.Cell} cell
931
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
932
+ * @param {number} min
933
+ * @param {number} max
934
+ */
935
+ CellPainter.prototype.render = function (cell, rowData, min, max) {
936
+ if (min != null && min === min) { // Render heatmap
937
+ this._paintCell(cell, rowData, min, max);
938
+ } else if (this._conditions.length && this._coloringType === CellPainter.ColoringTypes.CONDITIONAL) { // Render conditional-coloring
939
+ this._paintCell(cell, rowData);
940
+ }
941
+ };
942
+
943
+ /**
944
+ * @public
945
+ * @param {tr.grid.Cell} cell
946
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
947
+ * @param {number} min
948
+ * @param {number} max
949
+ */
950
+ CellPainter.prototype.renderHeatMap = function (cell, rowData, min, max) {
951
+ this._paintCell(cell, rowData, min, max);
952
+ };
953
+
954
+ /**
955
+ * @public
956
+ * @param {tr.grid.Cell} cell
957
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
958
+ */
959
+ CellPainter.prototype.renderColoring = function (cell, rowData) {
960
+ this._paintCell(cell, rowData);
961
+ };
962
+
963
+ /**
964
+ * @private
965
+ * @param {tr.grid.Cell} cell
966
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
967
+ * @param {number=} min
968
+ * @param {number=} max
969
+ */
970
+ CellPainter.prototype._paintCell = function(cell, rowData, min, max) {
971
+ if (!cell) return;
972
+ let elem = cell.getElement();
973
+ if (!elem) return; // Cell has been disposed
974
+
975
+ let bc = this._blinkCondition;
976
+ let scope;
977
+ if (bc) {
978
+ scope = cell["blinking"];
979
+ if (scope && scope["blinkTimer"] && !bc["border"]) { // The cell is blinking
980
+ return; // Let blinker calculate the style when restoring
981
+ }
982
+ }
983
+
984
+ let styles = this._getStyles(rowData, min, max);
985
+
986
+ let elStyle = elem.style;
987
+
988
+ let cssClass = styles["cssClass"]; // Can be an empty string
989
+ _removeCssClass(elem, cssClass);
990
+ if (cssClass != null) { // Predefined colors mode
991
+ if (cssClass) {
992
+ elem.classList.add(cssClass);
993
+ elem._coloringCssClass = cssClass;
994
+ }
995
+ } else {
996
+ if(styles["backgroundColor"]){
997
+ elStyle.backgroundColor = styles["backgroundColor"];
998
+ } else if(!this._effectiveStyles || this._effectiveStyles["backgroundColor"]){
999
+ elStyle.backgroundColor = "";
1000
+ }
1001
+ if(styles["color"]){
1002
+ elStyle.color = styles["color"];
1003
+ } else if(!this._effectiveStyles || this._effectiveStyles["color"]){
1004
+ elStyle.color = "";
1005
+ }
1006
+ }
1007
+ };
1008
+
1009
+ /**
1010
+ * @private
1011
+ * @param {tr.grid.Cell} cell
1012
+ * @return {Object}
1013
+ */
1014
+ CellPainter.prototype._prepareScope = function(cell) {
1015
+ let scope = cell["blinking"];
1016
+ if (!scope) {
1017
+ scope = {};
1018
+ scope["cell"] = cell;
1019
+ cell["blinking"] = scope;
1020
+
1021
+ this._scopes.push(scope);
1022
+ }
1023
+
1024
+ let bc = this._blinkCondition;
1025
+ if (scope["blinkId"] !== bc["blinkId"]) {
1026
+ scope["blinkId"] = bc["blinkId"];
1027
+ scope["field"] = bc["field"];
1028
+ let restorer = bc["border"] ? CellPainter._borderRestorer : CellPainter._cellRestorer;
1029
+ scope._restorer = restorer.bind(this, scope);
1030
+ }
1031
+
1032
+ return scope;
1033
+ };
1034
+
1035
+ /**
1036
+ * @public
1037
+ * @param {tr.grid.Cell} cell
1038
+ * @param {number} blinkSignal
1039
+ * @param {Object} rowData to calculate original style e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1040
+ * @return {boolean}
1041
+ */
1042
+ CellPainter.prototype.blink = function (cell, blinkSignal, rowData) {
1043
+ if (!cell) return false;
1044
+
1045
+ let elem = cell.getElement();
1046
+ if (!elem) return false; // Cell has been disposed
1047
+
1048
+ let bc = this._blinkCondition;
1049
+ if (!bc) return false;
1050
+
1051
+ let scope = this._prepareScope(cell);
1052
+
1053
+ scope["rowData"] = rowData;
1054
+
1055
+ let blinkColor, contrastColor;
1056
+ if (blinkSignal > 0) {
1057
+ blinkColor = bc["upColor"];
1058
+ contrastColor = bc["contrastUpColor"];
1059
+ } else if (blinkSignal < 0) {
1060
+ blinkColor = bc["downColor"];
1061
+ contrastColor = bc["contrastDownColor"];
1062
+ } else {
1063
+ blinkColor = bc["levelColor"];
1064
+ contrastColor = bc["contrastLevelColor"];
1065
+ }
1066
+
1067
+ this._blink(scope, elem, blinkColor, contrastColor);
1068
+ return true;
1069
+ };
1070
+
1071
+ /** Blink cell with specific color or theme's neutral movement color.
1072
+ * @public
1073
+ * @param {tr.grid.Cell} cell
1074
+ * @param {string|null} blinkColor
1075
+ * @param {Object} rowData to calculate original style e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1076
+ * @return {boolean}
1077
+ */
1078
+ CellPainter.prototype.flash = function(cell, blinkColor, rowData) {
1079
+ if (!cell) return false;
1080
+
1081
+ let elem = cell.getElement();
1082
+ if (!elem) return false; // Cell has been disposed
1083
+
1084
+ if (!this._blinkCondition) return false;
1085
+
1086
+ let scope = this._prepareScope(cell);
1087
+
1088
+ scope["rowData"] = rowData;
1089
+
1090
+ if (typeof blinkColor !== "string") {
1091
+ blinkColor = ElfUtil.themeColors["level"];
1092
+ }
1093
+
1094
+ this._blink(scope, elem, blinkColor, CellPainter.getOppositeColor(blinkColor));
1095
+ return true;
1096
+ };
1097
+
1098
+ /** @private
1099
+ * @param {Object} scope
1100
+ * @param {Element} elem
1101
+ * @param {string} blinkColor
1102
+ * @param {string} contrastColor
1103
+ * @return {boolean} Returns true if it is a background blinking, otherwise returns false
1104
+ */
1105
+ CellPainter.prototype._blink = function (scope, elem, blinkColor, contrastColor) {
1106
+ CellPainter._clearBlinkTimer(scope);
1107
+ scope["blinkTimer"] = setTimeout(scope._restorer, this._blinkingDuration);
1108
+
1109
+ if (this._blinkCondition["border"]) {
1110
+ elem.style.border = "1px solid " + blinkColor;
1111
+ return false;
1112
+ } else {
1113
+ elem.style.backgroundColor = blinkColor;
1114
+ elem.style.color = contrastColor;
1115
+ }
1116
+
1117
+ return true;
1118
+ };
1119
+
1120
+ /**
1121
+ * @public
1122
+ * @param {tr.grid.Cell} cell
1123
+ * @param {number} newValue
1124
+ * @param {number} oldValue
1125
+ * @param {Object} rowData e.g. { PCTCHNG: 0.53, CF_NETCHNG: 0.75 }
1126
+ * @return {boolean}
1127
+ */
1128
+ CellPainter.prototype.blinkCell = function(cell, newValue, oldValue, rowData) {
1129
+ let bc = this._blinkCondition;
1130
+ if (!bc) return false;
1131
+
1132
+ let blinkSignal = this._blinkCondition._fn(newValue, oldValue);
1133
+ return this.blink(cell, blinkSignal, rowData);
1134
+ };
1135
+
1136
+ /**
1137
+ * @public
1138
+ * @ignore
1139
+ * @param {number} newValue
1140
+ * @param {number} oldValue
1141
+ * @return {number}
1142
+ */
1143
+ CellPainter.prototype.calcBlinkSignal = function(newValue, oldValue) {
1144
+ if (this._blinkCondition) {
1145
+ return this._blinkCondition._fn(newValue, oldValue);
1146
+ }
1147
+ return 0;
1148
+ };
1149
+
1150
+ /**
1151
+ * @public
1152
+ * @param {tr.grid.Cell} cell
1153
+ * @param {Object} rowData
1154
+ */
1155
+ CellPainter.prototype.verifyBlinking = function(cell, rowData) {
1156
+ let scope = cell["blinking"];
1157
+ if (scope && scope["blinkTimer"]) {
1158
+ if (scope["rowData"] !== rowData) {
1159
+ scope["rowData"] = rowData; // Needed for style calculation by restorer
1160
+ if (CellPainter._clearBlinkTimer(scope)) {
1161
+ scope._restorer();
1162
+ }
1163
+ }
1164
+ }
1165
+ };
1166
+ /** Deprecated, the state has been moved out to support prioritization.
1167
+ * @public
1168
+ * @deprecated
1169
+ * @param {boolean=} disabled
1170
+ */
1171
+ CellPainter.prototype.disableLevelColor = function(disabled) {};
1172
+ /**
1173
+ * @public
1174
+ * @param {number} duration
1175
+ */
1176
+ CellPainter.prototype.setBlinkingDuration = function(duration) {
1177
+ if(typeof duration === "number"){
1178
+ this._blinkingDuration = duration;
1179
+ }
1180
+ };
1181
+
1182
+ export default CellPainter;
1183
+ export {CellPainter};