@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,1010 @@
1
+ import {Ext} from '../../tr-grid-util/es6/Ext.js';
2
+ import {GridPlugin} from '../../tr-grid-util/es6/GridPlugin.js';
3
+ import {Dom} from '../../tr-grid-util/es6/Dom.js';
4
+ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
5
+
6
+ /** @typedef {Object} ColumnResizingPlugin~Options
7
+ * @description The options can be specified by `columnResizing` property of the main grid's options
8
+ * @property {boolean=} preserveProportion=false By setting this to true, it will try to preserve proportion of the resized column compared to other columns
9
+ * @property {boolean=} preserveGridSize=false By setting this to true, grid size will not change after double click to resize column
10
+ * @property {boolean=} noResizing=false If enabled, all columns cannot be dragged to resize (column can still be resized programmatically). This overrides column config.
11
+ * @property {Function=} columnResized=null Event handler
12
+ * @property {Function=} dblClicked=null Event handler
13
+ * @property {Function=} dragStart=null Event handler
14
+ * @property {Function=} dragEnd=null Event handler
15
+ */
16
+
17
+ /** @typedef {Object} ColumnResizingPlugin~ColumnOptions
18
+ * @description The column options can be specified on each individual grid's column option:
19
+ * @property {boolean=} noResizing=false If enabled, it will disable an ability to drag and resize the column
20
+ * @property {number=} defaultWidth Specified default width used when user double clicks the column edge
21
+ */
22
+
23
+ /** @event ColumnResizingPlugin#columnResized
24
+ * @description Fired when dragging column edge has ended and the column width has changed
25
+ * @property {number} colIndex
26
+ * @property {number} width
27
+ * @property {Array.<number>} colIndices
28
+ * @property {boolean=} scalability
29
+ */
30
+ /** @event ColumnResizingPlugin#dblClicked
31
+ * @description Fired when column edge has been double clicked
32
+ * @property {number} colIndex
33
+ */
34
+ /** @event ColumnResizingPlugin#dragStart */
35
+ /** @event ColumnResizingPlugin#dragEnd */
36
+
37
+
38
+ /** @constructor
39
+ * @extends {GridPlugin}
40
+ * @param {ColumnResizingPlugin~Options=} options
41
+ */
42
+ let ColumnResizingPlugin = function (options) {
43
+ let t = this;
44
+ t._onPreSectionRender = t._onPreSectionRender.bind(t);
45
+ t._requestResizerUpdate = t._requestResizerUpdate.bind(t);
46
+ t._updateResizers = t._updateResizers.bind(t);
47
+ t._onTimer = t._onTimer.bind(t);
48
+ t._onColumnAdded = t._onColumnAdded.bind(t);
49
+
50
+ t._onDrag = t._onDrag.bind(t);
51
+ t._onDragEnd = t._onDragEnd.bind(t);
52
+ t._onDragStart = t._onDragStart.bind(t);
53
+ t._onDblClick = t._onDblClick.bind(t);
54
+ t._updateHandlebar = t._updateHandlebar.bind(t);
55
+
56
+ t._hosts = [];
57
+ t._guideline = Dom.create("svg", "tr-guideline");
58
+
59
+ if(options) {
60
+ t.config({"columnResizing": options});
61
+ }
62
+ };
63
+ Ext.inherits(ColumnResizingPlugin, GridPlugin);
64
+
65
+ /** @type {string}
66
+ * @private
67
+ */
68
+ ColumnResizingPlugin._styles = prettifyCss([
69
+ ".tr-pipe-resizer .resizer", [
70
+ "display: none;"
71
+ ],
72
+ ".tr-pipe-resizer .selected-column .resizer", [
73
+ "display: block;",
74
+ "width: 16px;",
75
+ "right: 0;",
76
+ "box-sizing: border-box;",
77
+ "padding-left: 4px;",
78
+ "text-align: center;"
79
+ ],
80
+ ".tr-pipe-resizer .selected-column.last .resizer", [
81
+ "right: 0;"
82
+ ],
83
+ ".tr-pipe-resizer .selected-column .floating-panel", [
84
+ "display: none;"
85
+ ],
86
+ ".tr-pipe-resizer .selected-column .resizer:before, .tr-pipe-resizer .selected-column .resizer:after", [
87
+ "content: \"\";",
88
+ "display: inline-block;",
89
+ "vertical-align: middle;"
90
+ ],
91
+ ".tr-pipe-resizer .selected-column .resizer:before", [
92
+ "border-left: 1px solid #ff9933;",
93
+ "border-right: 1px solid #ff9933;",
94
+ "width: 2px;",
95
+ "height: 45%;"
96
+ ],
97
+ ".tr-pipe-resizer .selected-column .resizer:after", [ //Used for vertical alignment
98
+ "width: 0;", /* Possibly unnecessary */
99
+ "height: 100%;"
100
+ ],
101
+ "body:not(.tr-dragging) .tr-pipe-resizer .selected-column>.cell", [
102
+ "border-right-width: 2px;",
103
+ "border-right-style: solid;"
104
+ ],
105
+ ".tr-pipe-resizer .selected-column>.cell", [
106
+ "border-right-color: #ff9933;"
107
+ ],
108
+ ".pearl .tr-pipe-resizer .selected-column .resizer:before, [theme=\"pearl\"] .tr-pipe-resizer .selected-column .resizer:before", [
109
+ "border-left-color: #ee7600;",
110
+ "border-right-color: #ee7600;"
111
+ ],
112
+ ".pearl .tr-pipe-resizer .selected-column>.cell [theme=\"pearl\"] .tr-pipe-resizer .selected-column>.cell", [
113
+ "border-right-color: #ee7600;"
114
+ ],
115
+ ".tr-handlebar", [
116
+ "position: absolute;",
117
+ "box-sizing: border-box;",
118
+ "cursor: e-resize;",
119
+ "width: 10px;",
120
+ "margin-left: -4px;",
121
+ "border-radius: 5px;",
122
+ "height: 32px;",
123
+ "top: calc(50% - 16px);",
124
+ "box-sizing: border-box;",
125
+ "text-align: center;",
126
+ "background-color: #ff9933;",
127
+ "pointer-events: all;"
128
+ ],
129
+ ".tr-dragging .tr-handlebar", [
130
+ "pointer-events: none;"
131
+ ],
132
+ ".tr-hb-guideline.tr-guideline", [
133
+ "width: 2px;",
134
+ "height: 100%;"
135
+ ],
136
+ ".tr-handlebar:before, .tr-handlebar:after", [
137
+ "content: \"\";",
138
+ "display: inline-block;",
139
+ "vertical-align: middle;"
140
+ ],
141
+ ".tr-handlebar:before", [
142
+ "border-left: 1px solid #000;",
143
+ "border-right: 1px solid #000;",
144
+ "width: 2px;", "height: 55%;"
145
+ ],
146
+ ".tr-handlebar:after", [ //Used for vertical alignment
147
+ "width: 0;", /* Possibly unnecessary */
148
+ "height: 100%;"
149
+ ]
150
+ ]);
151
+ /** @private
152
+ * @param {Object} grid core grid object
153
+ */
154
+ ColumnResizingPlugin._applyStyles = function(grid) {
155
+ if(grid && !grid._columnResizingStyles) { // TODO: Support run-time theme loading
156
+ grid._columnResizingStyles = true; // Prevent loading the same style twice
157
+ injectCss(ColumnResizingPlugin._styles, grid.getElement());
158
+ }
159
+ };
160
+
161
+ /** @type {number}
162
+ * @private
163
+ */
164
+ ColumnResizingPlugin.prototype._anchorX = 0; // in pixel
165
+ /** @type {number}
166
+ * @private
167
+ */
168
+ ColumnResizingPlugin.prototype._guideX = 0; // in pixel
169
+ /** @type {number}
170
+ * @private
171
+ */
172
+ ColumnResizingPlugin.prototype._diffX = 0; // in pixel
173
+ /** @type {number}
174
+ * @private
175
+ */
176
+ ColumnResizingPlugin.prototype._dragIndex = -1;
177
+ /** Core grid object
178
+ * @type {Object}
179
+ * @private
180
+ */
181
+ ColumnResizingPlugin.prototype._draggedGrid = null;
182
+ /** @type {boolean}
183
+ * @private
184
+ */
185
+ ColumnResizingPlugin.prototype._keepProportion = false;
186
+ /** @type {boolean}
187
+ * @private
188
+ */
189
+ ColumnResizingPlugin.prototype._keepGridSize = false;
190
+ /** @type {boolean}
191
+ * @private
192
+ */
193
+ ColumnResizingPlugin.prototype._pipe = false;
194
+ /** @type {boolean}
195
+ * @private
196
+ */
197
+ ColumnResizingPlugin.prototype._hbMode = false;
198
+ /** @type {Element}
199
+ * @private
200
+ */
201
+ ColumnResizingPlugin.prototype._handlebar = null;
202
+ /** @type {Element}
203
+ * @private
204
+ */
205
+ ColumnResizingPlugin.prototype._guideline;
206
+ /** @type {number}
207
+ * @private
208
+ */
209
+ ColumnResizingPlugin.prototype._updateTimer = 0;
210
+ /** @type {Element}
211
+ * @private
212
+ */
213
+ ColumnResizingPlugin.prototype._activeResizer = null;
214
+ /** @type {Element}
215
+ * @private
216
+ */
217
+ ColumnResizingPlugin.prototype._disabled = false;
218
+
219
+ /** @public
220
+ * @return {string}
221
+ */
222
+ ColumnResizingPlugin.prototype.getName = function () {
223
+ return "ColumnResizingPlugin"; // Read Only
224
+ };
225
+ /** Remove redundant built-in feature
226
+ * @public
227
+ * @param {string} optionName
228
+ * @param {*} optionVal
229
+ * @return {*} The transformed value of the option
230
+ */
231
+ ColumnResizingPlugin.prototype.beforeProcessOption = function (optionName, optionVal) {
232
+ if (optionName == "columnResizability") {
233
+ return false; // eslint-disable-line
234
+ }
235
+ return; // eslint-disable-line
236
+ };
237
+ /** Plugin that has multi-table support means that it can have multiple hosts/tables and share its states across those hosts/tables.
238
+ * @public
239
+ * @return {boolean}
240
+ */
241
+ ColumnResizingPlugin.prototype.hasMultiTableSupport = function () {
242
+ return true;
243
+ };
244
+ /** @public
245
+ * @param {Object} host core grid object
246
+ * @param {Object=} options
247
+ */
248
+ ColumnResizingPlugin.prototype.initialize = function (host, options) {
249
+ if(this._hosts.indexOf(host) >= 0) { return; }
250
+ this._hosts.push(host);
251
+
252
+ if (this._hosts.length === 1) {
253
+ host.listen("columnMoved", this._requestResizerUpdate);
254
+ host.listen("columnRemoved", this._requestResizerUpdate);
255
+ host.listen("columnAdded", this._requestResizerUpdate);
256
+ host.listen("columnAdded", this._onColumnAdded);
257
+ }
258
+
259
+ host.listen("preSectionRender", this._onPreSectionRender);
260
+ this.config(options);
261
+ ColumnResizingPlugin._applyStyles(host);
262
+ this._updateResizerCount(host);
263
+ };
264
+ /** @public
265
+ * @param {Object} host core grid object
266
+ */
267
+ ColumnResizingPlugin.prototype.unload = function (host) {
268
+ let at = this._hosts.indexOf(host);
269
+ if(at < 0) { return; }
270
+
271
+ this._hosts.splice(at, 1);
272
+ host.unlisten("columnMoved", this._requestResizerUpdate);
273
+ host.unlisten("columnRemoved", this._requestResizerUpdate);
274
+ host.unlisten("columnAdded", this._requestResizerUpdate);
275
+ host.unlisten("columnAdded", this._onColumnAdded);
276
+ host.unlisten("preSectionRender", this._onPreSectionRender);
277
+
278
+ if(this._updateTimer) {
279
+ clearTimeout(this._updateTimer);
280
+ this._updateTimer = 0;
281
+ }
282
+
283
+ let titleSect = host.getSection("title");
284
+ if(titleSect) {
285
+ for(let c = host.getColumnCount(); --c >= 0;) {
286
+ let col = titleSect.getColumn(c);
287
+ if(col._resizers) {
288
+ let len = col._resizers.length;
289
+ for(let i = 0; i < len; ++i) {
290
+ Dom.removeParent(col._resizers[i]);
291
+ }
292
+ col._resizers = null;
293
+ }
294
+ }
295
+ }
296
+
297
+ this._dispose();
298
+ };
299
+ /** @public
300
+ * @param {Object=} options
301
+ */
302
+ ColumnResizingPlugin.prototype.config = function (options) {
303
+ if(!options) { return; }
304
+ let host = this._hosts[this._hosts.length - 1];
305
+ let pluginOption = options["columnResizing"];
306
+ if(pluginOption) {
307
+ if(pluginOption["preserveProportion"]) {
308
+ this._keepProportion = true;
309
+ if(host) {
310
+ host.preserveProportion(true);
311
+ }
312
+ }
313
+ if(pluginOption["preserveGridSize"]) {
314
+ this._keepGridSize = true;
315
+ if(host) {
316
+ host.preserveGridSize(true);
317
+ }
318
+ }
319
+ if(pluginOption["noResizing"]) {
320
+ this._disabled = true;
321
+ }
322
+ if (pluginOption["pipeHandle"]) {
323
+ // TODO: Pipe mode has bug when reduce size of column the pipe ui disappear
324
+ this.enablePipeHandleMode();
325
+ } else if (pluginOption["handlebar"]) {
326
+ this.enableHandlebarMode();
327
+ }
328
+
329
+ this.addListener(pluginOption, "columnResized");
330
+ this.addListener(pluginOption, "dblClicked");
331
+ this.addListener(pluginOption, "dragStart");
332
+ this.addListener(pluginOption, "dragEnd");
333
+ }
334
+
335
+ let columns = options["columns"];
336
+ if(!columns) { return; }
337
+
338
+ let len = columns.length;
339
+ for(let c = 0; c < len; ++c) {
340
+ this._configColumn(host, c, columns[c]);
341
+ }
342
+ };
343
+
344
+ /** @public
345
+ * @param {Object=} gridOptions
346
+ * @return {!Object}
347
+ */
348
+ ColumnResizingPlugin.prototype.getConfigObject = function (gridOptions) {
349
+ let obj = gridOptions || {};
350
+
351
+ let columns = obj.columns;
352
+ if (!columns) {
353
+ columns = obj.columns = [];
354
+ }
355
+
356
+ let len = this.getColumnCount();
357
+ for (let i = 0; i < len; ++i) {
358
+ let column = columns[i];
359
+ if (!column) {
360
+ column = columns[i] = {};
361
+ }
362
+
363
+ let noResizing = this._getColumnOption(i, 'noResizing', this._hosts[0]);
364
+ if (noResizing) {
365
+ column.noResizing = noResizing;
366
+ }
367
+
368
+ let defaultWidth = this._getColumnOption(i, 'defaultWidth', this._hosts[0]);
369
+ if (typeof defaultWidth == "number") {
370
+ column.defaultWidth = defaultWidth;
371
+ }
372
+ }
373
+
374
+ let extOptions = obj.columnResizing;
375
+ if (!extOptions) {
376
+ extOptions = obj.columnResizing = {};
377
+ }
378
+ extOptions.preserveProportion = this._keepProportion;
379
+ extOptions.preserveGridSize = this._keepGridSize;
380
+ extOptions.noResizing = this._disabled;
381
+ extOptions.pipeHandle = this._pipe;
382
+ extOptions.handlebar = this._hbMode;
383
+
384
+ return obj;
385
+ };
386
+
387
+ /** @private
388
+ * @param {Object} host core grid object
389
+ * @param {number} colIndex
390
+ * @param {number} columnConfig
391
+ */
392
+ ColumnResizingPlugin.prototype._configColumn = function(host, colIndex, columnConfig) {
393
+ if(columnConfig) {
394
+ if(columnConfig["noResizing"]) {
395
+ this._newColumnData(colIndex)["noResizing"] = true;
396
+ }
397
+ let num = columnConfig["defaultWidth"];
398
+ if(typeof num == "number") {
399
+ this._newColumnData(colIndex)["defaultWidth"] = num;
400
+ if(host) {
401
+ host.setColumnDefaultWidth(colIndex, num);
402
+ }
403
+ }
404
+ }
405
+ };
406
+ /** Used to block built-in features that are redundant with this extension
407
+ * @protected
408
+ * @ignore
409
+ */
410
+ ColumnResizingPlugin.prototype._afterInit = function () {
411
+ if(this._compositeGrid) {
412
+ let core = this._compositeGrid.getCoreGrid();
413
+ core.unloadPlugin("ResizableTitlePlugin");
414
+ }
415
+ };
416
+
417
+ /** Disable ability to drag to resize for the specified column
418
+ * @public
419
+ * @param {number} colIndex
420
+ * @param {boolean=} opt_disabled
421
+ */
422
+ ColumnResizingPlugin.prototype.disableResizing = function(colIndex, opt_disabled) {
423
+ let colData = this._newColumnData(colIndex);
424
+ colData["noResizing"] = opt_disabled !== false;
425
+
426
+ for(let i = this._hosts.length; --i >= 0;) {
427
+ this._updateResizerCount(this._hosts[i]);
428
+ }
429
+ };
430
+
431
+ /** @public
432
+ * @return {number} Return negative number if currently no column is dragged
433
+ */
434
+ ColumnResizingPlugin.prototype.getDraggedColumnIndex = function() {
435
+ return this._dragIndex;
436
+ };
437
+
438
+ /** @public
439
+ * @return {number} Return position of left size of column
440
+ */
441
+ ColumnResizingPlugin.prototype.getDraggedAnchorX = function() {
442
+ return this._anchorX;
443
+ };
444
+
445
+ /** This function is used for set the size of multiple columns
446
+ * @public
447
+ * @param {Array.<number>} cols
448
+ * @param {Array.<number>|number} width
449
+ * @param {boolean=} opt_scalable If not defined false value is used instead
450
+ */
451
+ ColumnResizingPlugin.prototype.setColumnWidths = function (cols, width, opt_scalable) {
452
+ let colCount = this.getColumnCount();
453
+ let widths = new Array(colCount);
454
+ let isNumber = typeof width === "number";
455
+ for (let c = 0; c < cols.length; c++) {
456
+ widths[cols[c]] = isNumber ? width : width[c];
457
+ }
458
+ let host;
459
+ for(let i = this._hosts.length; --i >= 0;) {
460
+ host = this._hosts[i];
461
+ host.setColumnWidths(widths, opt_scalable);
462
+ }
463
+ };
464
+
465
+ /** Set width for multiple column at once
466
+ * @public
467
+ * @param {number} colWidth width
468
+ * @param {boolean=} scalability If not defined false value is used instead
469
+ * @return {boolean} True if there is any changed
470
+ */
471
+ ColumnResizingPlugin.prototype.setAllColumnWidths = function (colWidth, scalability) {
472
+ let colCount = this.getColumnCount();
473
+ let widths = new Array(colCount);
474
+ let i;
475
+ for (i = 0; i < colCount; i++) {
476
+ widths[i] = colWidth;
477
+ }
478
+ let host, dirty = false;
479
+ for(i = this._hosts.length; --i >= 0;) {
480
+ host = this._hosts[i];
481
+ dirty |= host.setColumnWidths(widths, scalability);
482
+ }
483
+ return dirty ? true : false;
484
+ };
485
+
486
+ /** Get width for multiple column
487
+ * @public
488
+ * @returns {Array.<number>} Array of width
489
+ */
490
+ ColumnResizingPlugin.prototype.getColumnWidths = function () {
491
+ let colCount = this.getColumnCount();
492
+ let host = this._hosts[0], out = new Array(colCount);
493
+ for (let i = 0; i < colCount; i++) {
494
+ out[i] = host.getColumnWidth(i);
495
+ }
496
+ return out;
497
+ };
498
+
499
+ /** Reset to default column width
500
+ * @public
501
+ * @returns {boolean} True if there is any changed
502
+ */
503
+ ColumnResizingPlugin.prototype.resetAllColumnsToDefaultWidth = function () {
504
+ let dirty = false;
505
+ let hosts = this._hosts;
506
+ let host;
507
+ for (let i = 0; i < hosts.length; i++ ) {
508
+ host = hosts[i];
509
+ dirty |= host.resetColumnWidths();
510
+ }
511
+ return dirty ? true : false;
512
+ };
513
+
514
+ /** Get JSON Object state of columns
515
+ * @public
516
+ * @returns {Array.<Object>} Columns state
517
+ */
518
+ ColumnResizingPlugin.prototype.getColumnSizeStates = function () {
519
+ let colCount = this.getColumnCount();
520
+ let host = this._hosts[0], out = new Array(colCount);
521
+ for (let i = 0; i < colCount; i++) {
522
+ out[i] = {
523
+ width: host.getColumnWidth(i),
524
+ scalability: host.getColumnScalability(i)
525
+ };
526
+ }
527
+ return out;
528
+ };
529
+
530
+ /** Deprecated. Set JSON Object state of columns
531
+ * @deprecated
532
+ * @public
533
+ * @param {Array.<Object>|string} columns Array or string
534
+ */
535
+ ColumnResizingPlugin.prototype.setColumnSizeStates = function (columns) {
536
+ let host = this._hosts[0];
537
+
538
+ if (typeof columns === 'string') {
539
+ columns = JSON.parse(columns);
540
+ }
541
+
542
+ host.freezeLayout();
543
+ columns.forEach(function (col, colIndex) {
544
+ return host.setColumnWidth(colIndex, col.width, col.scalability);
545
+ });
546
+ host.unfreezeLayout();
547
+ };
548
+
549
+ /** @public
550
+ * @param {boolean=} bool
551
+ */
552
+ ColumnResizingPlugin.prototype.enablePipeHandleMode = function(bool) {
553
+ let pipe = this._pipe = (bool !== false);
554
+ let len = this._hosts.length;
555
+ for(let i = 0; i < len; ++i) {
556
+ this._hosts[i].enableClass("tr-pipe-resizer", pipe);
557
+ }
558
+ };
559
+ /** @public
560
+ * @param {boolean=} bool
561
+ */
562
+ ColumnResizingPlugin.prototype.enableHandlebarMode = function(bool) {
563
+ let enabled = this._hbMode = (bool !== false);
564
+
565
+ if(enabled) {
566
+ let csp = this._getCSP();
567
+ if(csp) {
568
+ csp.listen("selectionChanged", this._updateHandlebar);
569
+ } else {
570
+ setTimeout(this._onTimer, 100); // WORKAROUND
571
+ }
572
+ } else {
573
+ if(this._handlebar) {
574
+ Dom.removeParent(this._handlebar);
575
+ this._guideline.classList.remove("tr-hb-guideline");
576
+ this._handlebar = null;
577
+ }
578
+ }
579
+ };
580
+
581
+ /** @private
582
+ * @param {Object=} e
583
+ */
584
+ ColumnResizingPlugin.prototype._requestResizerUpdate = function (e) {
585
+ if(!this._updateTimer) {
586
+ this._updateTimer = setTimeout(this._updateResizers, 10);
587
+ }
588
+ };
589
+ /** @private */
590
+ ColumnResizingPlugin.prototype._updateResizers = function () {
591
+ this._updateTimer = 0;
592
+ if(this._hbMode) {
593
+ this._updateHandlebar();
594
+ } else {
595
+ for(let i = this._hosts.length; --i >= 0;) {
596
+ let host = this._hosts[i];
597
+ this._updateResizerCount(host);
598
+ }
599
+ }
600
+ };
601
+
602
+ /** @private
603
+ * @param {Object} e
604
+ */
605
+ ColumnResizingPlugin.prototype._onPreSectionRender = function (e) {
606
+ if (e["sectionType"] === "title") { // HACK: Initialize resizers after all plugins have been loaded
607
+ this._updateResizerCount(e["sender"]);
608
+ }
609
+ };
610
+
611
+ /** @private
612
+ * @param {Object} e
613
+ */
614
+ ColumnResizingPlugin.prototype._onTimer = function() {
615
+ if(this._hbMode) {
616
+ let csp = this._getCSP();
617
+ if(csp) {
618
+ csp.listen("selectionChanged", this._updateHandlebar);
619
+ }
620
+ }
621
+ };
622
+
623
+
624
+ /** @private
625
+ * @param {Event|Element} e
626
+ */
627
+ ColumnResizingPlugin.prototype._onColumnAdded = function(e) {
628
+ if(e.context && e.colIndex != null) {
629
+ for(let i = this._hosts.length; --i >= 0;) {
630
+ let host = this._hosts[i];
631
+ this._configColumn(host, e.colIndex, e.context);
632
+ }
633
+ }
634
+ };
635
+ /** @private
636
+ * @param {Event} e
637
+ */
638
+ ColumnResizingPlugin.prototype._onDragStart = function (e) {
639
+ if (this._dragIndex >= 0) { return; }
640
+
641
+ let host = this._getDraggedGrid(e);
642
+ this._dragIndex = this._getResizerIndex(host, e);
643
+ if (this._dragIndex < 0) { return; }
644
+
645
+ // add style pointer-event = 'none' to avoid unexpected click event in title cell
646
+ this._activeResizer = e.currentTarget;
647
+ this._activeResizer.parentElement.style.pointerEvents = "none";
648
+
649
+ if(e.type === "dragstart") {
650
+ window.addEventListener("mousemove", this._onDrag);
651
+ window.addEventListener("mouseup", this._onDragEnd);
652
+ }
653
+
654
+ let gridParent = host.getElement().parentElement;
655
+
656
+ gridParent.classList.add("tr-dragging"); // Prevent text selection
657
+ gridParent.classList.add("tr-resize-cursor");
658
+
659
+ this._draggedGrid = host;
660
+ this._anchorX = this._getAnchorX(e);
661
+ this._guideline.style.height = (gridParent.clientHeight) + "px";
662
+ this._guideX = 1 + this._getColumnRight(host, this._dragIndex);
663
+ this._guideline.style.top = "1px";
664
+ this._guideline.style.left = this._guideX + "px";
665
+
666
+ Dom.appendChild(gridParent, this._guideline);
667
+ this._dispatch("dragStart", e);
668
+ Dom.preventDefault(e);
669
+ };
670
+ /** @private
671
+ * @param {Event} e
672
+ * @return {number}
673
+ */
674
+ ColumnResizingPlugin.prototype._getAnchorX = function (e) {
675
+ if(typeof e.clientX === "number") {
676
+ return e.clientX;
677
+ }
678
+ if(e.touches != null) {
679
+ if(e.touches[0]) {
680
+ return e.touches[0].clientX;
681
+ }
682
+ }
683
+ return 0;
684
+ };
685
+ /** @private
686
+ * @param {Event} e
687
+ */
688
+ ColumnResizingPlugin.prototype._onDrag = function (e) {
689
+ if(!this._draggedGrid) {
690
+ return;
691
+ }
692
+
693
+ let diff = this._diffX = this._getAnchorX(e) - this._anchorX;
694
+ let width = this._draggedGrid.getColumnWidth(this._dragIndex);
695
+ let minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
696
+
697
+ if (width + diff < minWidth) {
698
+ diff = minWidth - width;
699
+ }
700
+
701
+ this._guideline.style.left = (this._guideX + diff) + "px";
702
+
703
+ Dom.preventDefault(e);
704
+ };
705
+ /** @private
706
+ * @param {Event} e
707
+ */
708
+ ColumnResizingPlugin.prototype._onDragEnd = function (e) {
709
+ window.removeEventListener("mousemove", this._onDrag);
710
+ window.removeEventListener("mouseup", this._onDragEnd);
711
+
712
+ let parentElement = this._guideline.parentElement;
713
+ if (parentElement) {
714
+ parentElement.classList.remove("tr-dragging");
715
+ parentElement.classList.remove("tr-resize-cursor");
716
+ }
717
+
718
+ Dom.removeParent(this._guideline);
719
+
720
+ // set back previous pointer event style of active resizer parent
721
+ this._activeResizer.parentElement.style.pointerEvents = "";
722
+ this._activeResizer = null;
723
+
724
+ if(this._diffX) { // There must be some change after dragging
725
+ let diff = this._diffX;
726
+ let minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
727
+ let newWidth = this._draggedGrid.getColumnWidth(this._dragIndex) + (diff / this._draggedGrid["zoomFactor"]);
728
+ if (newWidth < minWidth) { newWidth = minWidth; }
729
+
730
+ if (this._keepProportion) {
731
+ this.setColumnWidths([this._dragIndex], [newWidth]);
732
+
733
+ this._dispatch("columnResized", {
734
+ "colIndex": this._dragIndex,
735
+ "width": this._hosts[0].getColumnCustomLaneSize(this._dragIndex), // calculated weight
736
+ "scalability": true
737
+ });
738
+ } else {
739
+ let cols = this._getResizingCols(this._dragIndex);
740
+ this.setColumnWidths(cols, newWidth);
741
+
742
+ this._dispatch("columnResized", {
743
+ "colIndex": this._dragIndex,
744
+ "colIndices": cols,
745
+ "width": newWidth
746
+ });
747
+ }
748
+ }
749
+ this._updateHandlebar();
750
+ this._dispatch("dragEnd", e);
751
+
752
+ this._anchorX = this._guideX = this._diffX = 0;
753
+ this._dragIndex = -1;
754
+ this._draggedGrid = null;
755
+
756
+ Dom.preventDefault(e);
757
+ };
758
+
759
+ /** @private
760
+ * @param {Event} e
761
+ */
762
+ ColumnResizingPlugin.prototype._onDblClick = function(e){
763
+ let host = this.getRelativeGrid(e);
764
+ let colIndex = this._getResizerIndex(host, e);
765
+ let plugin = this._getPlugin("ColumnFitterPlugin");
766
+ if(!plugin) {
767
+ plugin = this._getPlugin("ColumnWidthAdjustingPlugin");
768
+ }
769
+
770
+ if(plugin) {
771
+ let cols = this._getResizingCols(colIndex);
772
+ let widths = [];
773
+ let index;
774
+ for(let i = cols.length; --i >= 0;) {
775
+ index = cols[i];
776
+ let defaultW = this._getColumnOption(index, "defaultWidth");
777
+ widths[i] = (defaultW != null) ? defaultW : plugin["getAdjustedColumnWidth"](index);
778
+ }
779
+
780
+ this.setColumnWidths(cols, widths);
781
+ Dom.preventDefault(e);
782
+ }
783
+ this._dispatch("dblClicked", {"colIndex": colIndex});
784
+ this._updateHandlebar();
785
+ };
786
+
787
+ /** @private
788
+ * @param {Object=} e
789
+ */
790
+ ColumnResizingPlugin.prototype._updateHandlebar = function(e) {
791
+ if(!this._hbMode) {
792
+ return;
793
+ }
794
+
795
+ let csp = this._getCSP();
796
+ if(!csp) {
797
+ return;
798
+ }
799
+
800
+ let sels = csp.getSelectedColumns();
801
+
802
+ let showHandlebar = sels.length === 1;
803
+ if(showHandlebar) {
804
+ if(!this._handlebar) {
805
+ this._handlebar = this._newResizer("tr-handlebar");
806
+ this._guideline.classList.add("tr-hb-guideline");
807
+ this._guideline.appendChild(this._handlebar);
808
+ }
809
+ let colIndex = this._handlebar._colIndex = sels[0];
810
+ let grid = null;
811
+ if(e) {
812
+ grid = this._handlebar._grid = e.grid;
813
+ } else {
814
+ grid = this._handlebar._grid;
815
+ }
816
+
817
+ if(grid) {
818
+ this._guideline.style.left = this._getColumnRight(grid, colIndex) + "px";
819
+ this._guideline.style.top = "";
820
+ this._guideline.style.height = "";
821
+ grid.getElement().appendChild(this._guideline);
822
+ }
823
+ } else {
824
+ if(this._handlebar) {
825
+ this._handlebar._colIndex = -1;
826
+ this._handlebar._grid = null;
827
+ Dom.removeParent(this._guideline);
828
+ }
829
+ }
830
+ };
831
+
832
+ /** @private
833
+ * @param {Event} e
834
+ */
835
+ ColumnResizingPlugin._stopPropagation = function (e) {
836
+ e.stopPropagation();
837
+ };
838
+ /** @private
839
+ * @return {ColumnSelectionPlugin}
840
+ */
841
+ ColumnResizingPlugin.prototype._getCSP = function () {
842
+ let csp = this._getPlugin("ColumnSelectionPlugin");
843
+ if(csp && csp.isEnabled()) {
844
+ return /** @type{ColumnSelectionPlugin} */(csp);
845
+ } else {
846
+ return null;
847
+ }
848
+ };
849
+ /** @private
850
+ * @param {Object} host core grid object
851
+ */
852
+ ColumnResizingPlugin.prototype._updateResizerCount = function (host) {
853
+ if(this._hbMode || this._disabled) {
854
+ return;
855
+ }
856
+
857
+ let titleSect = host.getSection("title");
858
+ if(!titleSect) {
859
+ return;
860
+ }
861
+ let colCount = host.getColumnCount();
862
+ let c, rowCount, col, boxes;
863
+ // Normal mode and Pipe mode
864
+ let titleSects = host.getAllSections("title");
865
+ for (let i = 0; i < titleSects.length; i++) {
866
+ titleSect = titleSects[i];
867
+ for (c = 0; c < colCount; ++c) {
868
+ rowCount = titleSect.getRowCount();
869
+ col = titleSect.getColumn(c);
870
+ boxes = col._resizers;
871
+ if (!boxes) {
872
+ boxes = col._resizers = [];
873
+ }
874
+ for (let j = 0; j < rowCount; j++) {
875
+ let disabled = false;
876
+ let cell = titleSect.getCell(c, j); // TODO: This can be optimized
877
+ let cellColSpan = titleSect.getCellColSpan(c, j);
878
+ if(cellColSpan){
879
+ let lastSpanCol = c + cellColSpan - 1;
880
+ disabled = this._getColumnOption(lastSpanCol, "noResizing");
881
+ } else {
882
+ disabled = this._getColumnOption(c, "noResizing");
883
+ }
884
+ let box = cell._resizer;
885
+ if (!box) {
886
+ box = this._newResizer();
887
+ cell._resizer = box; // Cache to prevent repeating creation
888
+ let cellElem = cell.getElement();
889
+ cellElem.insertBefore(box, cellElem.firstChild);
890
+ boxes.push(box);
891
+ }
892
+ box._disabled = disabled; // disabled is an internal flag
893
+ box.style.display = (disabled) ? "none" : "";
894
+ }
895
+ }
896
+ }
897
+ };
898
+ /** @private
899
+ * @param {string=} classStr
900
+ * @return {!Element}
901
+ */
902
+ ColumnResizingPlugin.prototype._newResizer = function (classStr) {
903
+ let box = Dom.div(classStr ? classStr : "resizer");
904
+ box.setAttribute("draggable", "true");
905
+ box.addEventListener("mousedown", ColumnResizingPlugin._stopPropagation);
906
+ box.addEventListener("click", ColumnResizingPlugin._stopPropagation);
907
+ box.addEventListener("dragstart", this._onDragStart);
908
+ box.addEventListener("dblclick", this._onDblClick);
909
+ box.addEventListener("touchstart", this._onDragStart);
910
+ box.addEventListener("touchend", this._onDragEnd);
911
+ box.addEventListener("touchcancel", this._onDragEnd);
912
+ // box.addEventListener("touchleave", this._onDragEnd);
913
+ box.addEventListener("touchmove", this._onDrag);
914
+ return box;
915
+ };
916
+ /** @private
917
+ * @param {Event} e
918
+ * @return {Object} host, core grid object
919
+ */
920
+ ColumnResizingPlugin.prototype._getDraggedGrid = function (e) {
921
+ if(this._hbMode) {
922
+ return this._handlebar._grid;
923
+ } else {
924
+ return this.getRelativeGrid(e);
925
+ }
926
+ };
927
+ /** @private
928
+ * @param {Object} host core grid object
929
+ * @param {Event} e
930
+ * @return {number}
931
+ */
932
+ ColumnResizingPlugin.prototype._getResizerIndex = function (host, e) {
933
+ if(this._hbMode) {
934
+ if(this._handlebar) {
935
+ // TODO: Check for disabling flag
936
+ return /** @type{number} */(this._handlebar._colIndex);
937
+ } else {
938
+ return -1;
939
+ }
940
+ }
941
+
942
+ let box = e["currentTarget"];
943
+ if (box._disabled) { // disabled is an internal flag
944
+ return -1;
945
+ }
946
+
947
+ let pos = host.getRelativePosition(e);
948
+ let colIndex = pos.colIndex;
949
+ let rowIndex = pos.rowIndex;
950
+ let colSpan = pos["section"].getCellColSpan(colIndex, rowIndex);
951
+ return (colIndex != null) ? colIndex + colSpan - 1 : -1;
952
+ };
953
+ /** @private
954
+ * @param {Object} host core grid object
955
+ * @param {number} colIndex
956
+ * @return {number}
957
+ */
958
+ ColumnResizingPlugin.prototype._getColumnRight = function (host, colIndex) {
959
+ // TODO: Replace zoomFactor with more proper API
960
+ return (host.getColumnRight(colIndex) - 1) * host["zoomFactor"];
961
+ };
962
+
963
+ /** @private
964
+ * @param {number} clickIndex
965
+ * @return {Array.<number>}
966
+ */
967
+ ColumnResizingPlugin.prototype._getResizingCols = function (clickIndex) {
968
+ let csp = this._getCSP();
969
+ if(csp) {
970
+ let cols = csp["getSelectedColumns"]();
971
+ if(cols.indexOf(clickIndex) >= 0) { // if clickIndex does not exist in selected columns then return clickIndex.
972
+ return cols;
973
+ }
974
+ }
975
+ return [clickIndex];
976
+ };
977
+
978
+ /** @public
979
+ * @ignore
980
+ * @return {Object}
981
+ */
982
+ ColumnResizingPlugin.prototype._getEventHandlers = function () {
983
+ return {
984
+ "dragStart": this._onDragStart,
985
+ "drag": this._onDrag,
986
+ "dragEnd": this._onDragEnd,
987
+ "dblClick": this._onDblClick
988
+ };
989
+ };
990
+ /** @public
991
+ * @ignore
992
+ * @param {number} colIndex
993
+ * @return {Array.<Element>}
994
+ */
995
+ ColumnResizingPlugin.prototype.getResizers = function (colIndex) {
996
+ var host = this._hosts[0];
997
+ let titleSect = host ? host.getSection("title") : null;
998
+ if(titleSect) {
999
+ let col = titleSect.getColumn(colIndex);
1000
+ if(col) {
1001
+ return col._resizers || null;
1002
+ }
1003
+ }
1004
+ return null;
1005
+ };
1006
+
1007
+
1008
+
1009
+ export default ColumnResizingPlugin;
1010
+ export { ColumnResizingPlugin, ColumnResizingPlugin as ColumnResizing, ColumnResizingPlugin as ColumnResizingExtension };