@revolist/revogrid 3.1.5 → 3.1.90

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 (242) hide show
  1. package/custom-element/_baseIteratee.js +2070 -0
  2. package/custom-element/columnService.js +743 -0
  3. package/custom-element/consts.js +46 -0
  4. package/custom-element/data.store.js +545 -0
  5. package/custom-element/debounce.js +217 -0
  6. package/custom-element/dimension.helpers.js +340 -0
  7. package/custom-element/each.js +180 -0
  8. package/custom-element/filter.button.js +36 -0
  9. package/custom-element/identity.js +26 -0
  10. package/custom-element/index.d.ts +15 -98
  11. package/custom-element/index.js +18 -28949
  12. package/custom-element/isSymbol.js +220 -0
  13. package/custom-element/keys.js +561 -0
  14. package/custom-element/localScrollService.js +86 -0
  15. package/custom-element/resize-observer.js +25 -11
  16. package/custom-element/revo-grid.d.ts +11 -0
  17. package/custom-element/revo-grid.js +3662 -0
  18. package/custom-element/revogr-clipboard.d.ts +11 -0
  19. package/custom-element/revogr-clipboard.js +72 -0
  20. package/custom-element/revogr-data.d.ts +11 -0
  21. package/custom-element/revogr-data.js +9 -0
  22. package/custom-element/revogr-data2.js +171 -0
  23. package/custom-element/revogr-edit.d.ts +11 -0
  24. package/custom-element/revogr-edit.js +9 -0
  25. package/custom-element/revogr-edit2.js +402 -0
  26. package/custom-element/revogr-filter-panel.d.ts +11 -0
  27. package/custom-element/revogr-filter-panel.js +308 -0
  28. package/custom-element/revogr-focus.d.ts +11 -0
  29. package/custom-element/revogr-focus.js +9 -0
  30. package/custom-element/revogr-focus2.js +64 -0
  31. package/custom-element/revogr-header.d.ts +11 -0
  32. package/custom-element/revogr-header.js +9 -0
  33. package/custom-element/revogr-header2.js +591 -0
  34. package/custom-element/revogr-order-editor.d.ts +11 -0
  35. package/custom-element/revogr-order-editor.js +9 -0
  36. package/custom-element/revogr-order-editor2.js +190 -0
  37. package/custom-element/revogr-overlay-selection.d.ts +11 -0
  38. package/custom-element/revogr-overlay-selection.js +9 -0
  39. package/custom-element/revogr-overlay-selection2.js +741 -0
  40. package/custom-element/revogr-row-headers.d.ts +11 -0
  41. package/custom-element/revogr-row-headers.js +9 -0
  42. package/custom-element/revogr-row-headers2.js +403 -0
  43. package/custom-element/revogr-scroll-virtual.d.ts +11 -0
  44. package/custom-element/revogr-scroll-virtual.js +9 -0
  45. package/custom-element/revogr-scroll-virtual2.js +135 -0
  46. package/custom-element/revogr-temp-range.d.ts +11 -0
  47. package/custom-element/revogr-temp-range.js +9 -0
  48. package/custom-element/revogr-temp-range2.js +17275 -0
  49. package/custom-element/revogr-viewport-scroll.d.ts +11 -0
  50. package/custom-element/revogr-viewport-scroll.js +9 -0
  51. package/custom-element/revogr-viewport-scroll2.js +367 -0
  52. package/custom-element/selection.utils.js +106 -0
  53. package/custom-element/toInteger.js +107 -0
  54. package/custom-element/toNumber.js +105 -0
  55. package/custom-element/utils.js +69 -0
  56. package/dist/cjs/css-shim-9f5bc84d.js +9 -0
  57. package/dist/cjs/{debounce-e9b040d9.js → debounce-6cea2774.js} +4 -1
  58. package/dist/cjs/{dom-c8b6d1a7.js → dom-fcb646f0.js} +4 -1
  59. package/dist/cjs/{index-d3f67f2e.js → index-cb904e00.js} +214 -91
  60. package/dist/cjs/index.cjs.js +3 -0
  61. package/dist/cjs/loader.cjs.js +7 -4
  62. package/dist/cjs/{resize-observer-8dc80084.js → resize-observer-bf327d6a.js} +25 -10
  63. package/dist/cjs/revo-grid.cjs.js +13 -7
  64. package/dist/cjs/revo-grid_11.cjs.entry.js +281 -16
  65. package/dist/cjs/revogr-clipboard.cjs.entry.js +4 -1
  66. package/dist/cjs/revogr-filter-panel.cjs.entry.js +21 -8
  67. package/dist/collection/collection-manifest.json +2 -2
  68. package/dist/collection/components/button/button.js +3 -0
  69. package/dist/collection/components/clipboard/revogr-clipboard.js +3 -0
  70. package/dist/collection/components/data/cellRenderer.js +3 -0
  71. package/dist/collection/components/data/columnService.js +3 -0
  72. package/dist/collection/components/data/revogr-data.js +3 -0
  73. package/dist/collection/components/data/rowRenderer.js +3 -0
  74. package/dist/collection/components/header/headerCellRenderer.js +11 -1
  75. package/dist/collection/components/header/headerRenderer.js +3 -0
  76. package/dist/collection/components/header/revogr-header.js +3 -0
  77. package/dist/collection/components/order/orderRenderer.js +3 -0
  78. package/dist/collection/components/order/revogr-order-editor.js +3 -0
  79. package/dist/collection/components/order/rowOrderService.js +3 -0
  80. package/dist/collection/components/overlay/autofill.service.js +3 -0
  81. package/dist/collection/components/overlay/clipboard.service.js +3 -0
  82. package/dist/collection/components/overlay/editors/edit.utils.js +3 -0
  83. package/dist/collection/components/overlay/editors/text.js +3 -0
  84. package/dist/collection/components/overlay/keyboard.service.js +3 -0
  85. package/dist/collection/components/overlay/revogr-edit.js +3 -0
  86. package/dist/collection/components/overlay/revogr-overlay-selection.js +3 -0
  87. package/dist/collection/components/overlay/selection.utils.js +3 -0
  88. package/dist/collection/components/revo-grid/revo-grid-style.css +18 -1
  89. package/dist/collection/components/revo-grid/revo-grid.js +77 -17
  90. package/dist/collection/components/revo-grid/viewport.helpers.js +3 -0
  91. package/dist/collection/components/revo-grid/viewport.interfaces.js +3 -0
  92. package/dist/collection/components/revo-grid/viewport.js +3 -0
  93. package/dist/collection/components/revo-grid/viewport.resize.service.js +3 -0
  94. package/dist/collection/components/revo-grid/viewport.scrolling.service.js +3 -0
  95. package/dist/collection/components/revo-grid/viewport.section.js +4 -1
  96. package/dist/collection/components/revo-grid/viewport.service.js +3 -0
  97. package/dist/collection/components/rowHeaders/revogr-row-headers.js +3 -0
  98. package/dist/collection/components/rowHeaders/row-header-render.js +3 -0
  99. package/dist/collection/components/scroll/revogr-viewport-scroll.js +5 -2
  100. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +3 -0
  101. package/dist/collection/components/selection-focus/revogr-focus.js +79 -7
  102. package/dist/collection/components/selection-temp-range/revogr-temp-range.js +3 -0
  103. package/dist/collection/global/global.js +3 -0
  104. package/dist/collection/index.js +3 -0
  105. package/dist/collection/plugins/autoSizeColumn.js +4 -1
  106. package/dist/collection/plugins/basePlugin.js +3 -0
  107. package/dist/collection/plugins/dispatcher.js +22 -0
  108. package/dist/collection/plugins/export/csv.js +3 -0
  109. package/dist/collection/plugins/export/export.plugin.js +3 -0
  110. package/dist/collection/plugins/export/types.js +3 -0
  111. package/dist/collection/plugins/filter/conditions/equal.js +3 -0
  112. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +3 -0
  113. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +3 -0
  114. package/dist/collection/plugins/filter/conditions/number/lessThan.js +3 -0
  115. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +3 -0
  116. package/dist/collection/plugins/filter/conditions/set.js +3 -0
  117. package/dist/collection/plugins/filter/conditions/string/beginswith.js +3 -0
  118. package/dist/collection/plugins/filter/conditions/string/contains.js +3 -0
  119. package/dist/collection/plugins/filter/filter.button.js +3 -0
  120. package/dist/collection/plugins/filter/filter.plugin.js +4 -1
  121. package/dist/collection/plugins/filter/filter.pop.js +39 -7
  122. package/dist/collection/plugins/filter/filter.service.js +3 -0
  123. package/dist/collection/plugins/filter/filter.types.js +3 -0
  124. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +3 -0
  125. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +6 -3
  126. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +3 -0
  127. package/dist/collection/plugins/groupingRow/grouping.const.js +3 -0
  128. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +3 -0
  129. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +3 -0
  130. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +3 -0
  131. package/dist/collection/plugins/groupingRow/grouping.row.types.js +3 -0
  132. package/dist/collection/plugins/groupingRow/grouping.service.js +3 -0
  133. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +3 -0
  134. package/dist/collection/plugins/moveColumn/columnDragPlugin.js +163 -0
  135. package/dist/collection/plugins/moveColumn/columnOrderHandler.js +63 -0
  136. package/dist/collection/plugins/sorting/sorting.plugin.js +3 -0
  137. package/dist/collection/plugins/sorting/sorting.sign.js +3 -0
  138. package/dist/collection/plugins/stretchPlugin.js +3 -0
  139. package/dist/collection/plugins/trimmed/trimmed.plugin.js +3 -0
  140. package/dist/collection/services/cell.helpers.js +3 -0
  141. package/dist/collection/services/column.data.provider.js +6 -3
  142. package/dist/collection/services/data.provider.js +3 -0
  143. package/dist/collection/services/dimension.provider.js +3 -0
  144. package/dist/collection/services/localScrollService.js +3 -0
  145. package/dist/collection/services/resizable.directive.js +5 -0
  146. package/dist/collection/services/selection.store.connector.js +3 -0
  147. package/dist/collection/services/viewport.provider.js +3 -0
  148. package/dist/collection/store/dataSource/data.proxy.js +3 -0
  149. package/dist/collection/store/dataSource/data.store.js +3 -0
  150. package/dist/collection/store/dimension/dimension.helpers.js +3 -0
  151. package/dist/collection/store/dimension/dimension.store.js +3 -0
  152. package/dist/collection/store/selection/selection.helpers.js +3 -0
  153. package/dist/collection/store/selection/selection.store.js +3 -0
  154. package/dist/collection/store/selection/selection.store.service.js +3 -0
  155. package/dist/collection/store/storeTypes.js +3 -0
  156. package/dist/collection/store/viewPort/viewport.helpers.js +3 -0
  157. package/dist/collection/store/viewPort/viewport.store.js +3 -0
  158. package/dist/collection/themeManager/theme.compact.js +3 -0
  159. package/dist/collection/themeManager/theme.default.js +3 -0
  160. package/dist/collection/themeManager/theme.material.js +3 -0
  161. package/dist/collection/themeManager/themeService.js +3 -0
  162. package/dist/collection/utils/closestPolifill.js +3 -0
  163. package/dist/collection/utils/consts.js +3 -0
  164. package/dist/collection/utils/generateAlphabetHeader.js +3 -0
  165. package/dist/collection/utils/keyCodes.js +3 -0
  166. package/dist/collection/utils/keyCodes.utils.js +3 -0
  167. package/dist/collection/utils/platform.js +3 -0
  168. package/dist/collection/utils/resizeObserver.js +3 -0
  169. package/dist/collection/utils/store.utils.js +3 -0
  170. package/dist/collection/utils/utils.js +3 -0
  171. package/dist/esm/css-shim-e1e1ea5e.js +7 -0
  172. package/dist/esm/{debounce-8dadcda7.js → debounce-e4e6dd45.js} +5 -2
  173. package/dist/esm/{dom-1b195079.js → dom-21bd1807.js} +4 -1
  174. package/dist/esm/{index-42c84e7c.js → index-6f753b3c.js} +214 -91
  175. package/dist/esm/index.js +3 -1
  176. package/dist/esm/loader.js +7 -4
  177. package/dist/esm/polyfills/css-shim.js +1 -1
  178. package/dist/esm/{resize-observer-56b7b34f.js → resize-observer-00c48d78.js} +25 -11
  179. package/dist/esm/revo-grid.js +13 -7
  180. package/dist/esm/revo-grid_11.entry.js +281 -16
  181. package/dist/esm/revogr-clipboard.entry.js +4 -1
  182. package/dist/esm/revogr-filter-panel.entry.js +21 -8
  183. package/dist/esm-es5/css-shim-e1e1ea5e.js +4 -0
  184. package/dist/esm-es5/{debounce-8dadcda7.js → debounce-e4e6dd45.js} +4 -1
  185. package/dist/esm-es5/{dom-1b195079.js → dom-21bd1807.js} +3 -0
  186. package/dist/esm-es5/index-6f753b3c.js +4 -0
  187. package/dist/esm-es5/index.js +3 -0
  188. package/dist/esm-es5/loader.js +4 -1
  189. package/dist/esm-es5/resize-observer-00c48d78.js +4 -0
  190. package/dist/esm-es5/revo-grid.js +4 -1
  191. package/dist/esm-es5/revo-grid_11.entry.js +4 -1
  192. package/dist/esm-es5/revogr-clipboard.entry.js +4 -1
  193. package/dist/esm-es5/revogr-filter-panel.entry.js +4 -1
  194. package/dist/revo-grid/css-shim-bcf89cc0.system.js +4 -0
  195. package/dist/revo-grid/css-shim-e1e1ea5e.js +4 -0
  196. package/dist/revo-grid/{debounce-f40a88f6.system.js → debounce-5a33c710.system.js} +4 -1
  197. package/dist/revo-grid/{debounce-d097578d.js → debounce-726bdadb.js} +4 -1
  198. package/dist/revo-grid/{dom-1b195079.js → dom-21bd1807.js} +3 -0
  199. package/dist/revo-grid/{dom-ee2dd1b3.system.js → dom-726246e2.system.js} +3 -0
  200. package/dist/revo-grid/index-f14b41a0.system.js +5 -0
  201. package/dist/revo-grid/index-f30d1de1.js +5 -0
  202. package/dist/revo-grid/index.esm.js +3 -0
  203. package/dist/revo-grid/index.system.js +3 -0
  204. package/dist/revo-grid/resize-observer-00c48d78.js +4 -0
  205. package/dist/revo-grid/resize-observer-8af0bc0e.system.js +4 -0
  206. package/dist/revo-grid/revo-grid.esm.js +4 -1
  207. package/dist/revo-grid/revo-grid.js +3 -2
  208. package/dist/revo-grid/revo-grid.system.js +4 -1
  209. package/dist/revo-grid/revo-grid_11.entry.js +4 -1
  210. package/dist/revo-grid/revo-grid_11.system.entry.js +4 -1
  211. package/dist/revo-grid/revogr-clipboard.entry.js +4 -1
  212. package/dist/revo-grid/revogr-clipboard.system.entry.js +4 -1
  213. package/dist/revo-grid/revogr-filter-panel.entry.js +4 -1
  214. package/dist/revo-grid/revogr-filter-panel.system.entry.js +4 -1
  215. package/dist/types/components/revo-grid/revo-grid.d.ts +13 -0
  216. package/dist/types/components/selection-focus/revogr-focus.d.ts +8 -0
  217. package/dist/types/components.d.ts +133 -63
  218. package/dist/types/plugins/dispatcher.d.ts +10 -0
  219. package/dist/types/plugins/filter/filter.plugin.d.ts +2 -0
  220. package/dist/types/plugins/filter/filter.pop.d.ts +2 -0
  221. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +1 -1
  222. package/dist/types/plugins/moveColumn/columnDragPlugin.d.ts +54 -0
  223. package/dist/types/plugins/moveColumn/columnOrderHandler.d.ts +15 -0
  224. package/dist/types/services/resizable.directive.d.ts +1 -1
  225. package/dist/types/stencil-public-runtime.d.ts +189 -186
  226. package/loader/cdn.js +3 -1
  227. package/loader/index.cjs.js +3 -1
  228. package/loader/index.d.ts +0 -1
  229. package/loader/index.es2017.js +3 -1
  230. package/loader/index.js +3 -1
  231. package/package.json +23 -21
  232. package/dist/cjs/css-shim-e33df79c.js +0 -6
  233. package/dist/esm/css-shim-8d75038b.js +0 -4
  234. package/dist/esm-es5/css-shim-8d75038b.js +0 -1
  235. package/dist/esm-es5/index-42c84e7c.js +0 -1
  236. package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
  237. package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
  238. package/dist/revo-grid/css-shim-8d75038b.js +0 -1
  239. package/dist/revo-grid/index-a15e7527.system.js +0 -1
  240. package/dist/revo-grid/index-a7f99799.js +0 -1
  241. package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
  242. package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import ColumnService from './columnService';
3
6
  import { DRAG_ICON_CLASS, DRAGGABLE_CLASS } from '../../utils/consts';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import { getSourceItem, getVisibleSourceItem, setSourceByVirtualIndex } from '../../store/dataSource/data.store';
3
6
  import { CELL_CLASS, DISABLED_CLASS } from '../../utils/consts';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Element, Event, Prop, h } from '@stencil/core';
2
5
  import { Watch } from '@stencil/core/internal';
3
6
  import ColumnService from './columnService';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  export const PADDING_DEPTH = 10;
3
6
  const RowRenderer = ({ rowClass, size, start, style, depth }, cells) => {
@@ -1,6 +1,11 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
5
+ import { dispatch } from '../../plugins/dispatcher';
2
6
  import { ResizableElement } from '../../services/resizable.directive';
3
7
  import ColumnService from '../data/columnService';
8
+ const ON_COLUMN_CLICK = 'column-click';
4
9
  export const HeaderCellRenderer = ({ data, props }, children) => {
5
10
  let colTemplate = (data === null || data === void 0 ? void 0 : data.name) || '';
6
11
  let cellProps = props;
@@ -13,7 +18,12 @@ export const HeaderCellRenderer = ({ data, props }, children) => {
13
18
  cellProps = ColumnService.doMerge(props, extra);
14
19
  }
15
20
  }
16
- return (h(ResizableElement, Object.assign({}, cellProps),
21
+ return (h(ResizableElement, Object.assign({}, cellProps, { onMouseDown: (e) => {
22
+ dispatch(e.currentTarget, ON_COLUMN_CLICK, {
23
+ data,
24
+ event: e,
25
+ });
26
+ } }),
17
27
  h("div", { class: "header-content" }, colTemplate),
18
28
  children));
19
29
  };
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import { FilterButton } from '../../plugins/filter/filter.button';
3
6
  import { SortingSign } from '../../plugins/sorting/sorting.sign';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Element, Event, h, Prop } from '@stencil/core';
2
5
  import keyBy from 'lodash/keyBy';
3
6
  import { HEADER_ACTUAL_ROW_CLASS, HEADER_ROW_CLASS } from '../../utils/consts';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  /**
3
6
  * Draw drag
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Method, Event, Prop, Listen } from '@stencil/core';
2
5
  import debounce from 'lodash/debounce';
3
6
  import { setItems } from '../../store/dataSource/data.store';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { getItemByPosition } from '../../store/dimension/dimension.helpers';
2
5
  export default class RowOrderService {
3
6
  constructor(config) {
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import debounce from 'lodash/debounce';
2
5
  import each from 'lodash/each';
3
6
  import slice from 'lodash/slice';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import slice from 'lodash/slice';
2
5
  import { h } from '@stencil/core';
3
6
  import { getRange } from '../../store/selection/selection.helpers';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { EDIT_INPUT_WR } from '../../../utils/consts';
2
5
  // is edit input
3
6
  export function isEditInput(el) {
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import { isEnterKey, isTab } from '../../../utils/keyCodes.utils';
3
6
  import { timeout } from '../../../utils/utils';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { getRange } from '../../store/selection/selection.helpers';
2
5
  import { codesLetter } from '../../utils/keyCodes';
3
6
  import { isClear, isCtrlKey, isEnterKey, isLetterKey } from '../../utils/keyCodes.utils';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Event, Prop, h, Element, Host } from '@stencil/core';
2
5
  import { EDIT_INPUT_WR } from '../../utils/consts';
3
6
  import { TextEditor } from './editors/text';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Event, h, Host, Listen, Prop, Element, Watch } from '@stencil/core';
2
5
  import ColumnService from '../data/columnService';
3
6
  import SelectionStoreService from '../../store/selection/selection.store.service';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { getItemByIndex, getItemByPosition } from '../../store/dimension/dimension.helpers';
2
5
  /** Calculate cell based on x, y position */
3
6
  export function getCurrentCell({ x, y }, { el, rows, cols }) {
@@ -512,7 +512,24 @@ revo-grid .drag-position {
512
512
  right: 0;
513
513
  height: 1px;
514
514
  z-index: 2;
515
- background: red;
515
+ background: gray;
516
+ }
517
+ revo-grid .drag-position-y {
518
+ position: absolute;
519
+ top: 0;
520
+ left: 0;
521
+ bottom: 0;
522
+ width: 1px;
523
+ z-index: 2;
524
+ background: gray;
525
+ }
526
+ revo-grid .drag-auto-scroll-y {
527
+ pointer-events: none;
528
+ position: absolute;
529
+ left: 0;
530
+ top: 0;
531
+ height: 50px;
532
+ width: 1px;
516
533
  }
517
534
  revo-grid .clipboard {
518
535
  position: absolute;
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Prop, h, Watch, Element, Listen, Event, Method, State, Host } from '@stencil/core';
2
5
  import reduce from 'lodash/reduce';
3
6
  import each from 'lodash/each';
@@ -21,6 +24,7 @@ import GridScrollingService from './viewport.scrolling.service';
21
24
  import { UUID } from '../../utils/consts';
22
25
  import SelectionStoreConnector from '../../services/selection.store.connector';
23
26
  import StretchColumn, { isStretchPlugin } from '../../plugins/stretchPlugin';
27
+ import ColumnPlugin from '../../plugins/moveColumn/columnDragPlugin';
24
28
  export class RevoGridComponent {
25
29
  constructor() {
26
30
  /**
@@ -89,6 +93,11 @@ export class RevoGridComponent {
89
93
  * Can be filter collection
90
94
  */
91
95
  this.filter = false;
96
+ /**
97
+ * Enables column move plugin
98
+ * Can be boolean
99
+ */
100
+ this.canMoveColumns = false;
92
101
  /**
93
102
  * Trimmed rows
94
103
  * Functionality which allows to hide rows from main data set
@@ -456,6 +465,9 @@ export class RevoGridComponent {
456
465
  grPlugin.setGrouping(newVal || {});
457
466
  }
458
467
  applyStretch(isStretch) {
468
+ if (isStretch === 'false') {
469
+ isStretch = false;
470
+ }
459
471
  let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
460
472
  if (isStretch) {
461
473
  if (!stretch) {
@@ -479,6 +491,13 @@ export class RevoGridComponent {
479
491
  this.columnProvider = new ColumnDataProvider();
480
492
  this.dataProvider = new DataProvider(this.dimensionProvider);
481
493
  this.uuid = `${new Date().getTime()}-rvgrid`;
494
+ const pluginData = {
495
+ data: this.dataProvider,
496
+ column: this.columnProvider,
497
+ dimension: this.dimensionProvider,
498
+ viewport: this.viewportProvider,
499
+ selection: this.selectionStoreConnector,
500
+ };
482
501
  if (this.autoSizeColumn) {
483
502
  this.internalPlugins.push(new AutoSize(this.element, {
484
503
  dataProvider: this.dataProvider,
@@ -495,9 +514,12 @@ export class RevoGridComponent {
495
514
  this.internalPlugins.push(new SortingPlugin(this.element));
496
515
  if (this.plugins) {
497
516
  this.plugins.forEach(p => {
498
- this.internalPlugins.push(new p(this.element));
517
+ this.internalPlugins.push(new p(this.element, pluginData));
499
518
  });
500
519
  }
520
+ if (this.canMoveColumns) {
521
+ this.internalPlugins.push(new ColumnPlugin(this.element, pluginData));
522
+ }
501
523
  this.internalPlugins.push(new GroupingRowPlugin(this.element, {
502
524
  dataProvider: this.dataProvider,
503
525
  columnProvider: this.columnProvider,
@@ -972,7 +994,7 @@ export class RevoGridComponent {
972
994
  "mutable": false,
973
995
  "complexType": {
974
996
  "original": "boolean | ColumnFilterConfig",
975
- "resolved": "boolean | { collection?: FilterCollection; include?: string[]; customFilters?: Record<string, CustomFilter>; localization?: FilterLocalization; multiFilterItems?: MultiFilterItem; }",
997
+ "resolved": "boolean | { collection?: FilterCollection; include?: string[]; customFilters?: Record<string, CustomFilter>; localization?: FilterLocalization; multiFilterItems?: MultiFilterItem; disableDynamicFiltering?: boolean; }",
976
998
  "references": {
977
999
  "ColumnFilterConfig": {
978
1000
  "location": "import",
@@ -990,6 +1012,24 @@ export class RevoGridComponent {
990
1012
  "reflect": false,
991
1013
  "defaultValue": "false"
992
1014
  },
1015
+ "canMoveColumns": {
1016
+ "type": "boolean",
1017
+ "mutable": false,
1018
+ "complexType": {
1019
+ "original": "boolean",
1020
+ "resolved": "boolean",
1021
+ "references": {}
1022
+ },
1023
+ "required": false,
1024
+ "optional": false,
1025
+ "docs": {
1026
+ "tags": [],
1027
+ "text": "Enables column move plugin\nCan be boolean"
1028
+ },
1029
+ "attribute": "can-move-columns",
1030
+ "reflect": false,
1031
+ "defaultValue": "false"
1032
+ },
993
1033
  "trimmedRows": {
994
1034
  "type": "unknown",
995
1035
  "mutable": false,
@@ -1006,8 +1046,8 @@ export class RevoGridComponent {
1006
1046
  "optional": false,
1007
1047
  "docs": {
1008
1048
  "tags": [{
1009
- "text": "are physical rgRow indexes to hide",
1010
- "name": "trimmedRows"
1049
+ "name": "trimmedRows",
1050
+ "text": "are physical rgRow indexes to hide"
1011
1051
  }],
1012
1052
  "text": "Trimmed rows\nFunctionality which allows to hide rows from main data set"
1013
1053
  },
@@ -1055,7 +1095,7 @@ export class RevoGridComponent {
1055
1095
  "type": "any",
1056
1096
  "mutable": false,
1057
1097
  "complexType": {
1058
- "original": "boolean|string",
1098
+ "original": "boolean | string",
1059
1099
  "resolved": "boolean | string",
1060
1100
  "references": {}
1061
1101
  },
@@ -1173,6 +1213,26 @@ export class RevoGridComponent {
1173
1213
  }
1174
1214
  }
1175
1215
  }
1216
+ }, {
1217
+ "method": "afterfocus",
1218
+ "name": "afterfocus",
1219
+ "bubbles": true,
1220
+ "cancelable": true,
1221
+ "composed": true,
1222
+ "docs": {
1223
+ "tags": [],
1224
+ "text": "Triggered after focus render finished.\nCan be used to access a focus element through @event.target"
1225
+ },
1226
+ "complexType": {
1227
+ "original": "{ model: any; column: RevoGrid.ColumnRegular; }",
1228
+ "resolved": "{ model: any; column: ColumnRegular; }",
1229
+ "references": {
1230
+ "RevoGrid": {
1231
+ "location": "import",
1232
+ "path": "../../interfaces"
1233
+ }
1234
+ }
1235
+ }
1176
1236
  }, {
1177
1237
  "method": "roworderchanged",
1178
1238
  "name": "roworderchanged",
@@ -1840,8 +1900,8 @@ export class RevoGridComponent {
1840
1900
  "signature": "(type?: RevoGrid.DimensionRows) => Promise<any[]>",
1841
1901
  "parameters": [{
1842
1902
  "tags": [{
1843
- "text": "type - type of source",
1844
- "name": "param"
1903
+ "name": "param",
1904
+ "text": "type - type of source"
1845
1905
  }],
1846
1906
  "text": "- type of source"
1847
1907
  }],
@@ -1869,8 +1929,8 @@ export class RevoGridComponent {
1869
1929
  "signature": "(type?: RevoGrid.DimensionRows) => Promise<RowSource>",
1870
1930
  "parameters": [{
1871
1931
  "tags": [{
1872
- "text": "type - type of source",
1873
- "name": "param"
1932
+ "name": "param",
1933
+ "text": "type - type of source"
1874
1934
  }],
1875
1935
  "text": "- type of source"
1876
1936
  }],
@@ -1902,8 +1962,8 @@ export class RevoGridComponent {
1902
1962
  "signature": "(type?: RevoGrid.DimensionCols) => Promise<ColumnSource>",
1903
1963
  "parameters": [{
1904
1964
  "tags": [{
1905
- "text": "type - type of column",
1906
- "name": "param"
1965
+ "name": "param",
1966
+ "text": "type - type of column"
1907
1967
  }],
1908
1968
  "text": "- type of column"
1909
1969
  }],
@@ -1935,20 +1995,20 @@ export class RevoGridComponent {
1935
1995
  "signature": "(column: RevoGrid.ColumnRegular, index: number, order: 'asc' | 'desc', additive: boolean) => Promise<RevoGrid.ColumnRegular>",
1936
1996
  "parameters": [{
1937
1997
  "tags": [{
1938
- "text": "column - full column details to update",
1939
- "name": "param"
1998
+ "name": "param",
1999
+ "text": "column - full column details to update"
1940
2000
  }],
1941
2001
  "text": "- full column details to update"
1942
2002
  }, {
1943
2003
  "tags": [{
1944
- "text": "index - virtual column index",
1945
- "name": "param"
2004
+ "name": "param",
2005
+ "text": "index - virtual column index"
1946
2006
  }],
1947
2007
  "text": "- virtual column index"
1948
2008
  }, {
1949
2009
  "tags": [{
1950
- "text": "order - order to apply",
1951
- "name": "param"
2010
+ "name": "param",
2011
+ "text": "order - order to apply"
1952
2012
  }],
1953
2013
  "text": "- order to apply"
1954
2014
  }, {
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  export const HEADER_SLOT = 'header';
2
5
  export const FOOTER_SLOT = 'footer';
3
6
  export const CONTENT_SLOT = 'content';
@@ -1 +1,4 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  export {};
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import OrderRenderer from '../order/orderRenderer';
3
6
  export const RevoViewPort = ({ viewports, dimensions, orderRef, nakedClick, registerElement, onScroll }, children) => {
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import throttle from 'lodash/throttle';
2
5
  import { resizeObserver } from '../../utils/resizeObserver';
3
6
  export default class GridResizeService {
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  export default class GridScrollingService {
2
5
  constructor(setViewport) {
3
6
  this.setViewport = setViewport;
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h } from '@stencil/core';
2
5
  import { UUID } from '../../utils/consts';
3
6
  import { DATA_SLOT, HEADER_SLOT } from './viewport.helpers';
@@ -19,7 +22,7 @@ export const ViewPortSections = ({ resize, editors, rowClass, readonly, range, c
19
22
  const dataView = (h("revogr-overlay-selection", Object.assign({}, data, { slot: data.slot, selectionStore: data.segmentSelectionStore, editors: editors, readonly: readonly, range: range, useClipboard: useClipboard, onSetEdit: ({ detail }) => onEdit(detail) }),
20
23
  h("revogr-data", Object.assign({}, data, { [UUID]: data.uuid }, { key: key, readonly: readonly, range: range, rowClass: rowClass, rowSelectionStore: data.rowSelectionStore, slot: DATA_SLOT })),
21
24
  h("revogr-temp-range", { selectionStore: data.segmentSelectionStore, dimensionRow: data.dimensionRow, dimensionCol: data.dimensionCol }),
22
- h("revogr-focus", { selectionStore: data.segmentSelectionStore, dimensionRow: data.dimensionRow, dimensionCol: data.dimensionCol })));
25
+ h("revogr-focus", { colData: data.colData, dataStore: data.dataStore, selectionStore: data.segmentSelectionStore, dimensionRow: data.dimensionRow, dimensionCol: data.dimensionCol })));
23
26
  dataViews.push(dataView);
24
27
  });
25
28
  viewPortHtml.push(h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => registerElement(el, view.prop.key), onScrollViewport: e => onScroll(e.detail, view.prop.key) }), dataViews));
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { EMPTY_INDEX } from '../../services/selection.store.connector';
2
5
  import { getSourceItem, getVisibleSourceItem } from '../../store/dataSource/data.store';
3
6
  import { columnTypes, rowTypes } from '../../store/storeTypes';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { h, Host } from '@stencil/core';
2
5
  import { Component, Prop, Event } from '@stencil/core';
3
6
  import DataStore from '../../store/dataSource/data.store';
@@ -1 +1,4 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  export const RowHeaderRender = s => (__, { rowIndex: i }) => s + i;
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Event, h, Method, Element, Prop, Host } from '@stencil/core';
2
5
  import each from 'lodash/each';
3
6
  import GridResizeService from '../revo-grid/viewport.resize.service';
@@ -370,8 +373,8 @@ export class RevogrViewportScroll {
370
373
  "signature": "(e: RevoGrid.ViewPortScrollEvent) => Promise<RevoGrid.ViewPortScrollEvent>",
371
374
  "parameters": [{
372
375
  "tags": [{
373
- "text": "e",
374
- "name": "param"
376
+ "name": "param",
377
+ "text": "e"
375
378
  }],
376
379
  "text": ""
377
380
  }],
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Element, Event, h, Host, Method, Prop } from '@stencil/core';
2
5
  import { getScrollbarWidth } from '../../utils/utils';
3
6
  import LocalScrollService from '../../services/localScrollService';
@@ -1,15 +1,26 @@
1
- import { Component, Prop, h, Host, Element } from '@stencil/core';
1
+ /*!
2
+ * Built by Revolist
3
+ */
4
+ import { Component, Prop, h, Host, Element, Event } from '@stencil/core';
5
+ import { getSourceItem } from '../../store/dataSource/data.store';
2
6
  import { FOCUS_CLASS } from '../../utils/consts';
3
7
  import { getElStyle } from '../overlay/selection.utils';
4
8
  export class RevogrFocus {
5
- changed(e) {
9
+ changed(e, focus) {
6
10
  e === null || e === void 0 ? void 0 : e.scrollIntoView({
7
11
  block: 'nearest',
8
12
  inline: 'nearest',
9
13
  });
14
+ const model = getSourceItem(this.dataStore, focus.y);
15
+ const column = getSourceItem(this.colData, focus.x);
16
+ this.afterFocus.emit({
17
+ model,
18
+ column
19
+ });
10
20
  }
11
21
  componentDidRender() {
12
- this.el && this.changed(this.el);
22
+ const currentFocus = this.selectionStore.get('focus');
23
+ currentFocus && this.el && this.changed(this.el, currentFocus);
13
24
  }
14
25
  render() {
15
26
  const data = this.selectionStore.get('focus');
@@ -26,6 +37,46 @@ export class RevogrFocus {
26
37
  "$": ["revogr-focus-style.css"]
27
38
  }; }
28
39
  static get properties() { return {
40
+ "dataStore": {
41
+ "type": "unknown",
42
+ "mutable": false,
43
+ "complexType": {
44
+ "original": "RowSource",
45
+ "resolved": "ObservableMap<DataSourceState<DataType, DimensionRows>>",
46
+ "references": {
47
+ "RowSource": {
48
+ "location": "import",
49
+ "path": "../data/columnService"
50
+ }
51
+ }
52
+ },
53
+ "required": true,
54
+ "optional": false,
55
+ "docs": {
56
+ "tags": [],
57
+ "text": "Dynamic stores"
58
+ }
59
+ },
60
+ "colData": {
61
+ "type": "unknown",
62
+ "mutable": false,
63
+ "complexType": {
64
+ "original": "ColumnSource",
65
+ "resolved": "ObservableMap<DataSourceState<ColumnRegular, DimensionCols>>",
66
+ "references": {
67
+ "ColumnSource": {
68
+ "location": "import",
69
+ "path": "../data/columnService"
70
+ }
71
+ }
72
+ },
73
+ "required": true,
74
+ "optional": false,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": ""
78
+ }
79
+ },
29
80
  "selectionStore": {
30
81
  "type": "unknown",
31
82
  "mutable": false,
@@ -43,11 +94,11 @@ export class RevogrFocus {
43
94
  }
44
95
  }
45
96
  },
46
- "required": false,
97
+ "required": true,
47
98
  "optional": false,
48
99
  "docs": {
49
100
  "tags": [],
50
- "text": "Dynamic stores"
101
+ "text": ""
51
102
  }
52
103
  },
53
104
  "dimensionRow": {
@@ -67,7 +118,7 @@ export class RevogrFocus {
67
118
  }
68
119
  }
69
120
  },
70
- "required": false,
121
+ "required": true,
71
122
  "optional": false,
72
123
  "docs": {
73
124
  "tags": [],
@@ -91,7 +142,7 @@ export class RevogrFocus {
91
142
  }
92
143
  }
93
144
  },
94
- "required": false,
145
+ "required": true,
95
146
  "optional": false,
96
147
  "docs": {
97
148
  "tags": [],
@@ -99,5 +150,26 @@ export class RevogrFocus {
99
150
  }
100
151
  }
101
152
  }; }
153
+ static get events() { return [{
154
+ "method": "afterFocus",
155
+ "name": "afterfocus",
156
+ "bubbles": true,
157
+ "cancelable": true,
158
+ "composed": true,
159
+ "docs": {
160
+ "tags": [],
161
+ "text": ""
162
+ },
163
+ "complexType": {
164
+ "original": "{\n model: any;\n column: RevoGrid.ColumnRegular;\n }",
165
+ "resolved": "{ model: any; column: ColumnRegular; }",
166
+ "references": {
167
+ "RevoGrid": {
168
+ "location": "import",
169
+ "path": "../../interfaces"
170
+ }
171
+ }
172
+ }
173
+ }]; }
102
174
  static get elementRef() { return "el"; }
103
175
  }
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { Component, Prop, h, Host } from '@stencil/core';
2
5
  import { throttle } from 'lodash';
3
6
  import { TMP_SELECTION_BG_CLASS } from '../../utils/consts';
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  import { setMode } from '@stencil/core';
2
5
  import ThemeService from '../themeManager/themeService';
3
6
  setMode(elm => {
@@ -1 +1,4 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  export * from './components';