@deephaven/grid 0.22.3-beta.18 → 0.22.3-beta.21

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 (82) hide show
  1. package/dist/CellInputField.d.ts +5 -5
  2. package/dist/CellInputField.d.ts.map +1 -1
  3. package/dist/CellInputField.js +6 -23
  4. package/dist/CellInputField.js.map +1 -1
  5. package/dist/EditableGridModel.js +1 -0
  6. package/dist/EditableGridModel.js.map +1 -1
  7. package/dist/ExpandableGridModel.js +1 -0
  8. package/dist/ExpandableGridModel.js.map +1 -1
  9. package/dist/Grid.js +77 -315
  10. package/dist/Grid.js.map +1 -1
  11. package/dist/GridAxisRange.js.map +1 -1
  12. package/dist/GridColorUtils.js +1 -2
  13. package/dist/GridColorUtils.js.map +1 -1
  14. package/dist/GridMetricCalculator.js +83 -240
  15. package/dist/GridMetricCalculator.js.map +1 -1
  16. package/dist/GridModel.js +13 -31
  17. package/dist/GridModel.js.map +1 -1
  18. package/dist/GridMouseHandler.js +2 -15
  19. package/dist/GridMouseHandler.js.map +1 -1
  20. package/dist/GridRange.js +46 -160
  21. package/dist/GridRange.js.map +1 -1
  22. package/dist/GridRenderer.js +126 -407
  23. package/dist/GridRenderer.js.map +1 -1
  24. package/dist/GridTestUtils.js +0 -5
  25. package/dist/GridTestUtils.js.map +1 -1
  26. package/dist/GridTheme.js.map +1 -1
  27. package/dist/GridUtils.js +68 -217
  28. package/dist/GridUtils.js.map +1 -1
  29. package/dist/KeyHandler.js +2 -8
  30. package/dist/KeyHandler.js.map +1 -1
  31. package/dist/MockGridData.js.map +1 -1
  32. package/dist/MockGridModel.js +0 -42
  33. package/dist/MockGridModel.js.map +1 -1
  34. package/dist/MockTreeGridModel.js +6 -55
  35. package/dist/MockTreeGridModel.js.map +1 -1
  36. package/dist/StaticDataGridModel.js +0 -15
  37. package/dist/StaticDataGridModel.js.map +1 -1
  38. package/dist/ThemeContext.js.map +1 -1
  39. package/dist/ViewportDataGridModel.js +0 -14
  40. package/dist/ViewportDataGridModel.js.map +1 -1
  41. package/dist/errors/AssertionError.js +0 -3
  42. package/dist/errors/AssertionError.js.map +1 -1
  43. package/dist/errors/PasteError.js +0 -3
  44. package/dist/errors/PasteError.js.map +1 -1
  45. package/dist/errors/assertIsDefined.js.map +1 -1
  46. package/dist/errors/index.js.map +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/key-handlers/EditKeyHandler.js +0 -12
  49. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  50. package/dist/key-handlers/PasteKeyHandler.js +15 -33
  51. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  52. package/dist/key-handlers/SelectionKeyHandler.js +6 -53
  53. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  54. package/dist/key-handlers/TreeKeyHandler.js +0 -11
  55. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  56. package/dist/key-handlers/index.js.map +1 -1
  57. package/dist/memoizeClear.js +1 -4
  58. package/dist/memoizeClear.js.map +1 -1
  59. package/dist/mouse-handlers/EditMouseHandler.js +0 -5
  60. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  61. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +35 -123
  62. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  63. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +2 -27
  64. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  65. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +0 -28
  66. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  67. package/dist/mouse-handlers/GridRowMoveMouseHandler.js +0 -27
  68. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  69. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +0 -23
  70. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  71. package/dist/mouse-handlers/GridRowTreeMouseHandler.js +0 -10
  72. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  73. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +0 -6
  74. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  75. package/dist/mouse-handlers/GridSelectionMouseHandler.js +8 -38
  76. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  77. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +5 -54
  78. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  79. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +0 -28
  80. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  81. package/dist/mouse-handlers/index.js.map +1 -1
  82. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"TreeKeyHandler.js","names":["isExpandableGridModel","KeyHandler","TreeKeyHandler","onDown","event","grid","key","handleExpandKey","selectedRanges","state","length","range","startRow","endRow","startColumn","endColumn","metrics","Error","model","props","row","column","modelRow","getModelRow","isRowExpandable","toggleRowExpanded"],"sources":["../../src/key-handlers/TreeKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { isExpandableGridModel } from '../ExpandableGridModel';\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport KeyHandler from '../KeyHandler';\n\nclass TreeKeyHandler extends KeyHandler {\n onDown(event: KeyboardEvent, grid: Grid): boolean {\n switch (event.key) {\n case 'Enter':\n case ' ': {\n return this.handleExpandKey(event, grid);\n }\n default:\n break;\n }\n return false;\n }\n\n handleExpandKey(event: KeyboardEvent, grid: Grid): boolean {\n const { selectedRanges } = grid.state;\n if (selectedRanges.length === 1) {\n const range = selectedRanges[0] as GridRange;\n if (\n range.startRow === range.endRow &&\n range.startColumn === range.endColumn\n ) {\n if (!grid.metrics) throw new Error('grid.metrics not set');\n\n const { model } = grid.props;\n const { startRow: row, startColumn: column } = range;\n if (row != null) {\n const modelRow = grid.getModelRow(row);\n if (\n (column === 0 || column == null) &&\n isExpandableGridModel(model) &&\n model.isRowExpandable(modelRow)\n ) {\n grid.toggleRowExpanded(row);\n return true;\n }\n }\n }\n }\n return false;\n }\n}\n\nexport default TreeKeyHandler;\n"],"mappings":"AAAA;SACSA,qB;OAGFC,U;;AAEP,MAAMC,cAAN,SAA6BD,UAA7B,CAAwC;EACtCE,MAAM,CAACC,KAAD,EAAuBC,IAAvB,EAA4C;IAChD,QAAQD,KAAK,CAACE,GAAd;MACE,KAAK,OAAL;MACA,KAAK,GAAL;QAAU;UACR,OAAO,KAAKC,eAAL,CAAqBH,KAArB,EAA4BC,IAA5B,CAAP;QACD;;MACD;QACE;IANJ;;IAQA,OAAO,KAAP;EACD;;EAEDE,eAAe,CAACH,KAAD,EAAuBC,IAAvB,EAA4C;IACzD,IAAM;MAAEG;IAAF,IAAqBH,IAAI,CAACI,KAAhC;;IACA,IAAID,cAAc,CAACE,MAAf,KAA0B,CAA9B,EAAiC;MAC/B,IAAMC,KAAK,GAAGH,cAAc,CAAC,CAAD,CAA5B;;MACA,IACEG,KAAK,CAACC,QAAN,KAAmBD,KAAK,CAACE,MAAzB,IACAF,KAAK,CAACG,WAAN,KAAsBH,KAAK,CAACI,SAF9B,EAGE;QACA,IAAI,CAACV,IAAI,CAACW,OAAV,EAAmB,MAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;QAEnB,IAAM;UAAEC;QAAF,IAAYb,IAAI,CAACc,KAAvB;QACA,IAAM;UAAEP,QAAQ,EAAEQ,GAAZ;UAAiBN,WAAW,EAAEO;QAA9B,IAAyCV,KAA/C;;QACA,IAAIS,GAAG,IAAI,IAAX,EAAiB;UACf,IAAME,QAAQ,GAAGjB,IAAI,CAACkB,WAAL,CAAiBH,GAAjB,CAAjB;;UACA,IACE,CAACC,MAAM,KAAK,CAAX,IAAgBA,MAAM,IAAI,IAA3B,KACArB,qBAAqB,CAACkB,KAAD,CADrB,IAEAA,KAAK,CAACM,eAAN,CAAsBF,QAAtB,CAHF,EAIE;YACAjB,IAAI,CAACoB,iBAAL,CAAuBL,GAAvB;YACA,OAAO,IAAP;UACD;QACF;MACF;IACF;;IACD,OAAO,KAAP;EACD;;AAvCqC;;AA0CxC,eAAelB,cAAf"}
1
+ {"version":3,"file":"TreeKeyHandler.js","names":["isExpandableGridModel","KeyHandler","TreeKeyHandler","onDown","event","grid","key","handleExpandKey","selectedRanges","state","length","range","startRow","endRow","startColumn","endColumn","metrics","Error","model","props","row","column","modelRow","getModelRow","isRowExpandable","toggleRowExpanded"],"sources":["../../src/key-handlers/TreeKeyHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { isExpandableGridModel } from '../ExpandableGridModel';\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport KeyHandler from '../KeyHandler';\n\nclass TreeKeyHandler extends KeyHandler {\n onDown(event: KeyboardEvent, grid: Grid): boolean {\n switch (event.key) {\n case 'Enter':\n case ' ': {\n return this.handleExpandKey(event, grid);\n }\n default:\n break;\n }\n return false;\n }\n\n handleExpandKey(event: KeyboardEvent, grid: Grid): boolean {\n const { selectedRanges } = grid.state;\n if (selectedRanges.length === 1) {\n const range = selectedRanges[0] as GridRange;\n if (\n range.startRow === range.endRow &&\n range.startColumn === range.endColumn\n ) {\n if (!grid.metrics) throw new Error('grid.metrics not set');\n\n const { model } = grid.props;\n const { startRow: row, startColumn: column } = range;\n if (row != null) {\n const modelRow = grid.getModelRow(row);\n if (\n (column === 0 || column == null) &&\n isExpandableGridModel(model) &&\n model.isRowExpandable(modelRow)\n ) {\n grid.toggleRowExpanded(row);\n return true;\n }\n }\n }\n }\n return false;\n }\n}\n\nexport default TreeKeyHandler;\n"],"mappings":"AAAA;AAAA,SACSA,qBAAqB;AAAA,OAGvBC,UAAU;AAEjB,MAAMC,cAAc,SAASD,UAAU,CAAC;EACtCE,MAAM,CAACC,KAAoB,EAAEC,IAAU,EAAW;IAChD,QAAQD,KAAK,CAACE,GAAG;MACf,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACR,OAAO,IAAI,CAACC,eAAe,CAACH,KAAK,EAAEC,IAAI,CAAC;QAC1C;MACA;QACE;IAAM;IAEV,OAAO,KAAK;EACd;EAEAE,eAAe,CAACH,KAAoB,EAAEC,IAAU,EAAW;IACzD,IAAM;MAAEG;IAAe,CAAC,GAAGH,IAAI,CAACI,KAAK;IACrC,IAAID,cAAc,CAACE,MAAM,KAAK,CAAC,EAAE;MAC/B,IAAMC,KAAK,GAAGH,cAAc,CAAC,CAAC,CAAc;MAC5C,IACEG,KAAK,CAACC,QAAQ,KAAKD,KAAK,CAACE,MAAM,IAC/BF,KAAK,CAACG,WAAW,KAAKH,KAAK,CAACI,SAAS,EACrC;QACA,IAAI,CAACV,IAAI,CAACW,OAAO,EAAE,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;QAE1D,IAAM;UAAEC;QAAM,CAAC,GAAGb,IAAI,CAACc,KAAK;QAC5B,IAAM;UAAEP,QAAQ,EAAEQ,GAAG;UAAEN,WAAW,EAAEO;QAAO,CAAC,GAAGV,KAAK;QACpD,IAAIS,GAAG,IAAI,IAAI,EAAE;UACf,IAAME,QAAQ,GAAGjB,IAAI,CAACkB,WAAW,CAACH,GAAG,CAAC;UACtC,IACE,CAACC,MAAM,KAAK,CAAC,IAAIA,MAAM,IAAI,IAAI,KAC/BrB,qBAAqB,CAACkB,KAAK,CAAC,IAC5BA,KAAK,CAACM,eAAe,CAACF,QAAQ,CAAC,EAC/B;YACAjB,IAAI,CAACoB,iBAAiB,CAACL,GAAG,CAAC;YAC3B,OAAO,IAAI;UACb;QACF;MACF;IACF;IACA,OAAO,KAAK;EACd;AACF;AAEA,eAAelB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","SelectionKeyHandler","TreeKeyHandler","EditKeyHandler","PasteKeyHandler"],"sources":["../../src/key-handlers/index.ts"],"sourcesContent":["export { default as SelectionKeyHandler } from './SelectionKeyHandler';\nexport { default as TreeKeyHandler } from './TreeKeyHandler';\nexport { default as EditKeyHandler } from './EditKeyHandler';\nexport { default as PasteKeyHandler } from './PasteKeyHandler';\n"],"mappings":"SAASA,OAAO,IAAIC,mB;SACXD,OAAO,IAAIE,c;SACXF,OAAO,IAAIG,c;SACXH,OAAO,IAAII,e"}
1
+ {"version":3,"file":"index.js","names":["default","SelectionKeyHandler","TreeKeyHandler","EditKeyHandler","PasteKeyHandler"],"sources":["../../src/key-handlers/index.ts"],"sourcesContent":["export { default as SelectionKeyHandler } from './SelectionKeyHandler';\nexport { default as TreeKeyHandler } from './TreeKeyHandler';\nexport { default as EditKeyHandler } from './EditKeyHandler';\nexport { default as PasteKeyHandler } from './PasteKeyHandler';\n"],"mappings":"SAASA,OAAO,IAAIC,mBAAmB;AAAA,SAC9BD,OAAO,IAAIE,cAAc;AAAA,SACzBF,OAAO,IAAIG,cAAc;AAAA,SACzBH,OAAO,IAAII,eAAe"}
@@ -1,9 +1,6 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  /**
8
5
  * Extension of memoizee that clears the entire cache when it's full.
9
6
  * This avoids the situation where LRU cache starts thrashing when it fills up.
@@ -11,11 +8,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
11
8
  * LRU queue, but this should be sufficient for now.
12
9
  */
13
10
  import memoizee from 'memoizee';
11
+
14
12
  /**
15
13
  * @param fn The function to memoize
16
14
  * @param options The options to set for memoization
17
15
  */
18
-
19
16
  export var memoizeClear = (fn, options) => {
20
17
  var isClearingCache = false;
21
18
  var memoizedFn = memoizee(fn, _objectSpread(_objectSpread({}, options), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"memoizeClear.js","names":["memoizee","memoizeClear","fn","options","isClearingCache","memoizedFn","dispose","clear"],"sources":["../src/memoizeClear.ts"],"sourcesContent":["/**\n * Extension of memoizee that clears the entire cache when it's full.\n * This avoids the situation where LRU cache starts thrashing when it fills up.\n * Could look at writing our own memoize with a smarter cache to avoid overhead of\n * LRU queue, but this should be sufficient for now.\n */\nimport memoizee from 'memoizee';\n\n/**\n * @param fn The function to memoize\n * @param options The options to set for memoization\n */\nexport const memoizeClear: typeof memoizee = (fn, options) => {\n let isClearingCache = false;\n const memoizedFn = memoizee(fn, {\n ...options,\n dispose: () => {\n // Need to track when we're clearing because dispose gets called for all items removed\n if (!isClearingCache) {\n isClearingCache = true;\n memoizedFn.clear();\n isClearingCache = false;\n }\n },\n });\n\n return memoizedFn;\n};\n\nexport default memoizeClear;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAP,MAAqB,UAArB;AAEA;AACA;AACA;AACA;;AACA,OAAO,IAAMC,YAA6B,GAAG,CAACC,EAAD,EAAKC,OAAL,KAAiB;EAC5D,IAAIC,eAAe,GAAG,KAAtB;EACA,IAAMC,UAAU,GAAGL,QAAQ,CAACE,EAAD,kCACtBC,OADsB;IAEzBG,OAAO,EAAE,MAAM;MACb;MACA,IAAI,CAACF,eAAL,EAAsB;QACpBA,eAAe,GAAG,IAAlB;QACAC,UAAU,CAACE,KAAX;QACAH,eAAe,GAAG,KAAlB;MACD;IACF;EATwB,GAA3B;EAYA,OAAOC,UAAP;AACD,CAfM;AAiBP,eAAeJ,YAAf"}
1
+ {"version":3,"file":"memoizeClear.js","names":["memoizee","memoizeClear","fn","options","isClearingCache","memoizedFn","dispose","clear"],"sources":["../src/memoizeClear.ts"],"sourcesContent":["/**\n * Extension of memoizee that clears the entire cache when it's full.\n * This avoids the situation where LRU cache starts thrashing when it fills up.\n * Could look at writing our own memoize with a smarter cache to avoid overhead of\n * LRU queue, but this should be sufficient for now.\n */\nimport memoizee from 'memoizee';\n\n/**\n * @param fn The function to memoize\n * @param options The options to set for memoization\n */\nexport const memoizeClear: typeof memoizee = (fn, options) => {\n let isClearingCache = false;\n const memoizedFn = memoizee(fn, {\n ...options,\n dispose: () => {\n // Need to track when we're clearing because dispose gets called for all items removed\n if (!isClearingCache) {\n isClearingCache = true;\n memoizedFn.clear();\n isClearingCache = false;\n }\n },\n });\n\n return memoizedFn;\n};\n\nexport default memoizeClear;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,UAAU;;AAE/B;AACA;AACA;AACA;AACA,OAAO,IAAMC,YAA6B,GAAG,CAACC,EAAE,EAAEC,OAAO,KAAK;EAC5D,IAAIC,eAAe,GAAG,KAAK;EAC3B,IAAMC,UAAU,GAAGL,QAAQ,CAACE,EAAE,kCACzBC,OAAO;IACVG,OAAO,EAAE,MAAM;MACb;MACA,IAAI,CAACF,eAAe,EAAE;QACpBA,eAAe,GAAG,IAAI;QACtBC,UAAU,CAACE,KAAK,EAAE;QAClBH,eAAe,GAAG,KAAK;MACzB;IACF;EAAC,GACD;EAEF,OAAOC,UAAU;AACnB,CAAC;AAED,eAAeJ,YAAY"}
@@ -2,7 +2,6 @@
2
2
  import { isEditableGridModel } from "../EditableGridModel.js";
3
3
  import GridMouseHandler from "../GridMouseHandler.js";
4
4
  import GridRange from "../GridRange.js";
5
-
6
5
  /**
7
6
  * Handles clicking on a cell to edit it in an editable grid
8
7
  */
@@ -15,16 +14,12 @@ class EditMouseHandler extends GridMouseHandler {
15
14
  var {
16
15
  model
17
16
  } = grid.props;
18
-
19
17
  if (isEditableGridModel(model) && column != null && row != null && model.isEditableRange(GridRange.makeCell(column, row))) {
20
18
  grid.startEditing(column, row);
21
19
  return true;
22
20
  }
23
-
24
21
  return false;
25
22
  }
26
-
27
23
  }
28
-
29
24
  export default EditMouseHandler;
30
25
  //# sourceMappingURL=EditMouseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditMouseHandler.js","names":["isEditableGridModel","GridMouseHandler","GridRange","EditMouseHandler","onDoubleClick","grid","column","row","model","props","isEditableRange","makeCell","startEditing"],"sources":["../../src/mouse-handlers/EditMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { isEditableGridModel } from '../EditableGridModel';\nimport { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport GridMouseHandler from '../GridMouseHandler';\nimport GridRange from '../GridRange';\nimport { GridPoint } from '../GridUtils';\n\n/**\n * Handles clicking on a cell to edit it in an editable grid\n */\nclass EditMouseHandler extends GridMouseHandler {\n onDoubleClick({ column, row }: GridPoint, grid: Grid): EventHandlerResult {\n const { model } = grid.props;\n if (\n isEditableGridModel(model) &&\n column != null &&\n row != null &&\n model.isEditableRange(GridRange.makeCell(column, row))\n ) {\n grid.startEditing(column, row);\n return true;\n }\n return false;\n }\n}\n\nexport default EditMouseHandler;\n"],"mappings":"AAAA;SACSA,mB;OAGFC,gB;OACAC,S;;AAGP;AACA;AACA;AACA,MAAMC,gBAAN,SAA+BF,gBAA/B,CAAgD;EAC9CG,aAAa,OAA6BC,IAA7B,EAA6D;IAAA,IAA5D;MAAEC,MAAF;MAAUC;IAAV,CAA4D;IACxE,IAAM;MAAEC;IAAF,IAAYH,IAAI,CAACI,KAAvB;;IACA,IACET,mBAAmB,CAACQ,KAAD,CAAnB,IACAF,MAAM,IAAI,IADV,IAEAC,GAAG,IAAI,IAFP,IAGAC,KAAK,CAACE,eAAN,CAAsBR,SAAS,CAACS,QAAV,CAAmBL,MAAnB,EAA2BC,GAA3B,CAAtB,CAJF,EAKE;MACAF,IAAI,CAACO,YAAL,CAAkBN,MAAlB,EAA0BC,GAA1B;MACA,OAAO,IAAP;IACD;;IACD,OAAO,KAAP;EACD;;AAb6C;;AAgBhD,eAAeJ,gBAAf"}
1
+ {"version":3,"file":"EditMouseHandler.js","names":["isEditableGridModel","GridMouseHandler","GridRange","EditMouseHandler","onDoubleClick","grid","column","row","model","props","isEditableRange","makeCell","startEditing"],"sources":["../../src/mouse-handlers/EditMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport { isEditableGridModel } from '../EditableGridModel';\nimport { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport GridMouseHandler from '../GridMouseHandler';\nimport GridRange from '../GridRange';\nimport { GridPoint } from '../GridUtils';\n\n/**\n * Handles clicking on a cell to edit it in an editable grid\n */\nclass EditMouseHandler extends GridMouseHandler {\n onDoubleClick({ column, row }: GridPoint, grid: Grid): EventHandlerResult {\n const { model } = grid.props;\n if (\n isEditableGridModel(model) &&\n column != null &&\n row != null &&\n model.isEditableRange(GridRange.makeCell(column, row))\n ) {\n grid.startEditing(column, row);\n return true;\n }\n return false;\n }\n}\n\nexport default EditMouseHandler;\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB;AAAA,OAGrBC,gBAAgB;AAAA,OAChBC,SAAS;AAGhB;AACA;AACA;AACA,MAAMC,gBAAgB,SAASF,gBAAgB,CAAC;EAC9CG,aAAa,OAA6BC,IAAU,EAAsB;IAAA,IAA5D;MAAEC,MAAM;MAAEC;IAAe,CAAC;IACtC,IAAM;MAAEC;IAAM,CAAC,GAAGH,IAAI,CAACI,KAAK;IAC5B,IACET,mBAAmB,CAACQ,KAAK,CAAC,IAC1BF,MAAM,IAAI,IAAI,IACdC,GAAG,IAAI,IAAI,IACXC,KAAK,CAACE,eAAe,CAACR,SAAS,CAACS,QAAQ,CAACL,MAAM,EAAEC,GAAG,CAAC,CAAC,EACtD;MACAF,IAAI,CAACO,YAAY,CAACN,MAAM,EAAEC,GAAG,CAAC;MAC9B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;AACF;AAEA,eAAeJ,gBAAgB"}
@@ -1,16 +1,12 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  import clamp from 'lodash.clamp';
8
5
  import GridUtils from "../GridUtils.js";
9
6
  import GridMouseHandler from "../GridMouseHandler.js";
10
7
  var SLOPPY_CLICK_DISTANCE = 5;
11
8
  var SCROLL_INTERVAL = 1000 / 60;
12
9
  var SCROLL_DELTA = 10;
13
-
14
10
  /**
15
11
  * Gets info about a visible column
16
12
  * @param visibleIndex The visible index to get info for
@@ -23,7 +19,6 @@ var SCROLL_DELTA = 10;
23
19
  */
24
20
  function getColumnInfo(visibleIndex, depth, metrics, model) {
25
21
  var _modelColumns$get;
26
-
27
22
  var {
28
23
  modelColumns,
29
24
  movedColumns,
@@ -35,39 +30,31 @@ function getColumnInfo(visibleIndex, depth, metrics, model) {
35
30
  floatingLeftWidth,
36
31
  maxX
37
32
  } = metrics;
38
-
39
33
  if (depth == null || visibleIndex == null || visibleIndex > columnCount || visibleIndex < 0) {
40
34
  return null;
41
35
  }
42
-
43
36
  var modelIndex = (_modelColumns$get = modelColumns.get(visibleIndex)) !== null && _modelColumns$get !== void 0 ? _modelColumns$get : GridUtils.getModelIndex(visibleIndex, movedColumns);
44
37
  var group = model.getColumnHeaderGroup(modelIndex, depth);
45
38
  var isColumnGroup = group != null;
46
39
  var left;
47
40
  var right;
48
41
  var range;
49
-
50
42
  if (group != null) {
51
43
  var _visibleColumnXs$get, _visibleColumnXs$get2, _visibleColumnWidths$;
52
-
53
44
  var [startVisibleIndex, endVisibleIndex] = group.getVisibleRange(movedColumns);
54
45
  left = (_visibleColumnXs$get = visibleColumnXs.get(startVisibleIndex)) !== null && _visibleColumnXs$get !== void 0 ? _visibleColumnXs$get : floatingLeftWidth;
55
46
  right = ((_visibleColumnXs$get2 = visibleColumnXs.get(endVisibleIndex)) !== null && _visibleColumnXs$get2 !== void 0 ? _visibleColumnXs$get2 : maxX) + ((_visibleColumnWidths$ = visibleColumnWidths.get(endVisibleIndex)) !== null && _visibleColumnWidths$ !== void 0 ? _visibleColumnWidths$ : 0);
56
47
  range = [startVisibleIndex, endVisibleIndex];
57
48
  } else {
58
49
  var _ref, _ref2, _visibleColumnWidths$2;
59
-
60
50
  var possibleLeft = visibleColumnXs.get(visibleIndex);
61
-
62
51
  if (possibleLeft == null) {
63
52
  return null;
64
53
  }
65
-
66
54
  left = possibleLeft;
67
55
  right = left + ((_ref = (_ref2 = (_visibleColumnWidths$2 = visibleColumnWidths.get(visibleIndex)) !== null && _visibleColumnWidths$2 !== void 0 ? _visibleColumnWidths$2 : userColumnWidths.get(modelIndex)) !== null && _ref2 !== void 0 ? _ref2 : calculatedColumnWidths.get(modelIndex)) !== null && _ref !== void 0 ? _ref : 0);
68
56
  range = [visibleIndex, visibleIndex];
69
57
  }
70
-
71
58
  return {
72
59
  visibleIndex,
73
60
  modelIndex,
@@ -79,41 +66,29 @@ function getColumnInfo(visibleIndex, depth, metrics, model) {
79
66
  depth
80
67
  };
81
68
  }
82
-
83
69
  class GridColumnMoveMouseHandler extends GridMouseHandler {
84
70
  constructor() {
85
71
  super(...arguments);
86
-
87
72
  _defineProperty(this, "cursor", null);
88
-
89
73
  _defineProperty(this, "draggingOffset", void 0);
90
-
91
74
  _defineProperty(this, "initialOffset", void 0);
92
-
93
75
  _defineProperty(this, "initialGridPoint", void 0);
94
-
95
76
  _defineProperty(this, "scrollingInterval", void 0);
96
-
97
77
  _defineProperty(this, "scrollingDirection", void 0);
98
-
99
78
  _defineProperty(this, "draggingColumn", null);
100
79
  }
101
-
102
80
  setScrollInterval(grid, direction) {
103
81
  if (this.scrollingInterval != null && direction === this.scrollingDirection) {
104
82
  return;
105
83
  }
106
-
107
84
  this.scrollingDirection = direction;
108
85
  this.scrollingInterval = window.setInterval(() => {
109
86
  var {
110
87
  metrics
111
88
  } = grid;
112
-
113
89
  if (!metrics) {
114
90
  return;
115
91
  }
116
-
117
92
  var {
118
93
  left,
119
94
  lastLeft,
@@ -125,23 +100,18 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
125
100
  } = metrics;
126
101
  var nextLeft = left;
127
102
  var nextOffset = leftOffset;
128
-
129
103
  if (direction === 'left') {
130
104
  nextOffset -= SCROLL_DELTA;
131
-
132
105
  while (nextOffset < 0) {
133
106
  var _userColumnWidths$get;
134
-
135
107
  nextLeft -= 1;
136
108
  var modelIndex = GridUtils.getModelIndex(left - 1, movedColumns);
137
109
  var prevColumnWidth = (_userColumnWidths$get = userColumnWidths.get(modelIndex)) !== null && _userColumnWidths$get !== void 0 ? _userColumnWidths$get : calculatedColumnWidths.get(modelIndex);
138
-
139
110
  if (prevColumnWidth === undefined) {
140
111
  nextOffset = 0;
141
112
  } else {
142
113
  nextOffset += prevColumnWidth;
143
114
  }
144
-
145
115
  if (nextLeft < 0) {
146
116
  nextOffset = 0;
147
117
  nextLeft = 0;
@@ -150,56 +120,44 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
150
120
  } else {
151
121
  nextOffset += SCROLL_DELTA;
152
122
  var leftColumnWidth = visibleColumnWidths.get(left);
153
-
154
123
  while (leftColumnWidth !== undefined && nextOffset > leftColumnWidth) {
155
124
  var _userColumnWidths$get2;
156
-
157
125
  nextLeft += 1;
158
126
  nextOffset -= leftColumnWidth;
159
-
160
127
  var _modelIndex = GridUtils.getModelIndex(left + 1, movedColumns);
161
-
162
128
  leftColumnWidth = (_userColumnWidths$get2 = userColumnWidths.get(_modelIndex)) !== null && _userColumnWidths$get2 !== void 0 ? _userColumnWidths$get2 : calculatedColumnWidths.get(_modelIndex);
163
-
164
129
  if (nextLeft > lastLeft) {
165
130
  nextOffset = 0;
166
131
  nextLeft = lastLeft;
167
132
  }
168
133
  }
169
134
  }
170
-
171
135
  var {
172
136
  mouseX,
173
137
  mouseY
174
138
  } = grid.state;
175
-
176
139
  if (metrics == null || mouseX == null || mouseY == null) {
177
140
  return;
178
141
  }
179
-
180
142
  this.moveDraggingColumn(mouseX, grid, direction === 'left' ? -SCROLL_DELTA : SCROLL_DELTA);
181
143
  grid.setState({
182
144
  left: nextLeft,
183
145
  leftOffset: nextOffset
184
146
  });
185
-
186
147
  if (direction === 'left' && nextLeft === 0 && leftOffset === 0 || direction === 'right' && nextLeft === lastLeft) {
187
148
  this.clearScrollInterval();
188
149
  }
189
150
  }, SCROLL_INTERVAL);
190
151
  }
191
-
192
152
  clearScrollInterval() {
193
153
  this.scrollingDirection = undefined;
194
154
  window.clearInterval(this.scrollingInterval);
195
155
  this.scrollingInterval = undefined;
196
156
  }
197
-
198
157
  onLeave() {
199
158
  this.clearScrollInterval();
200
159
  return false;
201
160
  }
202
-
203
161
  onDown(gridPoint, grid) {
204
162
  var {
205
163
  model
@@ -214,36 +172,30 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
214
172
  } = grid;
215
173
  if (!metrics) throw new Error('Metrics not set');
216
174
  var columnInfo = getColumnInfo(column, columnHeaderDepth, metrics, model);
217
-
218
175
  if (column == null || columnInfo == null || columnHeaderDepth == null) {
219
176
  return false;
220
- } // Can't drag a base column from the empty group area
221
-
177
+ }
222
178
 
179
+ // Can't drag a base column from the empty group area
223
180
  if (columnHeaderDepth > 0 && !columnInfo.isColumnGroup) {
224
181
  return false;
225
182
  }
226
-
227
183
  var {
228
184
  rowHeaderWidth
229
185
  } = metrics;
230
186
  this.initialGridPoint = gridPoint;
231
187
  this.draggingColumn = null;
232
188
  this.cursor = null;
233
-
234
189
  if (columnInfo.modelIndex != null && columnHeaderDepth != null && model.isColumnMovable(columnInfo.modelIndex, columnHeaderDepth)) {
235
190
  this.draggingOffset = x - columnInfo.left - rowHeaderWidth;
236
191
  this.initialOffset = this.draggingOffset;
237
192
  }
238
-
239
193
  return false;
240
194
  }
241
-
242
195
  onDrag(gridPoint, grid, event) {
243
196
  if (this.draggingOffset === undefined || this.initialGridPoint === undefined || this.initialOffset === undefined) {
244
197
  return false;
245
198
  }
246
-
247
199
  var {
248
200
  x: mouseX,
249
201
  y: mouseY
@@ -260,34 +212,31 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
260
212
  var {
261
213
  metrics
262
214
  } = grid;
263
- if (!metrics) throw new Error('Metrics not set'); // before considering it a drag, the mouse must have moved a minimum distance
264
- // this prevents click actions from triggering a drag state
215
+ if (!metrics) throw new Error('Metrics not set');
265
216
 
217
+ // before considering it a drag, the mouse must have moved a minimum distance
218
+ // this prevents click actions from triggering a drag state
266
219
  if (!draggingColumn && Math.abs(this.initialGridPoint.x - mouseX) < SLOPPY_CLICK_DISTANCE && Math.abs(this.initialGridPoint.y - mouseY) < SLOPPY_CLICK_DISTANCE) {
267
220
  return false;
268
- } // Get the initial dragging column info
269
-
221
+ }
270
222
 
223
+ // Get the initial dragging column info
271
224
  if (draggingColumn == null) {
272
225
  var initialColumnInfo = getColumnInfo(this.initialGridPoint.column, columnHeaderDepth, metrics, model);
273
-
274
226
  if (!initialColumnInfo || columnHeaderDepth == null) {
275
227
  return false;
276
228
  }
277
-
278
229
  if (!model.isColumnMovable(initialColumnInfo.modelIndex)) {
279
230
  return false;
280
- } // Disallow dragging from the blank space in column header groups
281
-
231
+ }
282
232
 
233
+ // Disallow dragging from the blank space in column header groups
283
234
  if (columnHeaderDepth > 0 && !initialColumnInfo.isColumnGroup) {
284
235
  return false;
285
236
  }
286
-
287
237
  if (initialColumnInfo.range[0] == null) {
288
238
  return false;
289
239
  }
290
-
291
240
  draggingColumn = {
292
241
  range: initialColumnInfo.range,
293
242
  depth: columnHeaderDepth,
@@ -295,45 +244,42 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
295
244
  width: initialColumnInfo.width
296
245
  };
297
246
  var startColumn = getColumnInfo(draggingColumn.range[0], 0, metrics, model);
298
- var endColumn = getColumnInfo(draggingColumn.range[1], 0, metrics, model); // Group goes off the table. Drag and drop could be wonky here
247
+ var endColumn = getColumnInfo(draggingColumn.range[1], 0, metrics, model);
248
+
249
+ // Group goes off the table. Drag and drop could be wonky here
299
250
  // Column draws only use columns that are partially visible too
300
251
  // So this could cause rendering errors if we tried dragging it
301
-
302
252
  if (!startColumn || !endColumn) {
303
253
  return false;
304
254
  }
305
-
306
255
  this.draggingColumn = draggingColumn;
307
256
  grid.setState({
308
257
  draggingColumn,
309
258
  isDragging: true
310
259
  });
311
260
  }
261
+
312
262
  /**
313
263
  * At this point, we have determined we are actually dragging a column
314
264
  */
315
-
316
-
317
265
  this.cursor = 'move';
318
266
  this.moveDraggingColumn(gridPoint.x, grid, event.movementX);
319
267
  return true;
320
268
  }
269
+
321
270
  /**
322
271
  * Moves a dragging column, if possible, the specified distance
323
272
  * @param mouseX The point the move was initiated from
324
273
  * @param grid The Grid component
325
274
  * @param deltaX The distance of the move
326
275
  */
327
-
328
-
329
276
  moveDraggingColumn(mouseX, grid, deltaX) {
330
277
  var _draggingParentGroup$;
331
-
332
278
  if (this.draggingOffset === undefined || this.initialGridPoint === undefined || this.initialOffset === undefined || this.draggingColumn == null || deltaX === 0) {
333
279
  return;
334
- } // Cursor has moved past the column drag bounds, don't move the column until we hit the initial offset point again
335
-
280
+ }
336
281
 
282
+ // Cursor has moved past the column drag bounds, don't move the column until we hit the initial offset point again
337
283
  if (this.initialOffset !== this.draggingOffset) {
338
284
  // Pre move < Initial < Post move or vice-versa
339
285
  // User crossed back past the iniital offset point, so we can start moving again
@@ -343,7 +289,6 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
343
289
  // Column can't move since we aren't back at the initial offset yet
344
290
  this.draggingOffset += deltaX;
345
291
  }
346
-
347
292
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
348
293
  left: mouseX - this.draggingOffset
349
294
  });
@@ -352,7 +297,6 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
352
297
  });
353
298
  return;
354
299
  }
355
-
356
300
  var {
357
301
  depth: draggingColumnDepth
358
302
  } = this.draggingColumn;
@@ -374,13 +318,12 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
374
318
  } = metrics;
375
319
  var isDraggingLeft = deltaX < 0;
376
320
  var draggingColumn = getColumnInfo(this.draggingColumn.range[0], draggingColumnDepth, metrics, model);
377
-
378
321
  if (!draggingColumn) {
379
322
  return;
380
- } // The returned left/right are the original position, not dragged position
381
- // This is where the dragging column's floating position accounting for dragged distance
382
-
323
+ }
383
324
 
325
+ // The returned left/right are the original position, not dragged position
326
+ // This is where the dragging column's floating position accounting for dragged distance
384
327
  var floatingDraggingLeft = mouseX - this.draggingOffset;
385
328
  var floatingDraggingRight = floatingDraggingLeft + draggingColumn.width;
386
329
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
@@ -391,20 +334,17 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
391
334
  });
392
335
  var swapColumn = getColumnInfo(GridUtils.getColumnAtX(clamp(isDraggingLeft ? floatingDraggingLeft : floatingDraggingRight, floatingLeftWidth, width), metrics, true), draggingColumnDepth, metrics, model);
393
336
  var parentGroup = model.getColumnHeaderParentGroup(draggingColumn.modelIndex, draggingColumn.depth);
394
-
395
337
  if (!swapColumn) {
396
338
  return;
397
- } // Check if we should pin to the edge of the parent
398
-
339
+ }
399
340
 
341
+ // Check if we should pin to the edge of the parent
400
342
  if (parentGroup !== undefined) {
401
- var parentVisibleRange = parentGroup.getVisibleRange(movedColumns); // Cannot move to this left position, pin to left of parent
402
-
343
+ var parentVisibleRange = parentGroup.getVisibleRange(movedColumns);
344
+ // Cannot move to this left position, pin to left of parent
403
345
  if (swapColumn.visibleIndex < parentVisibleRange[0]) {
404
346
  var _visibleColumnXs$get3;
405
-
406
347
  var _newMovedColumns = this.moveColumn(draggingColumn, parentVisibleRange[0], movedColumns);
407
-
408
348
  this.draggingOffset = mouseX - ((_visibleColumnXs$get3 = visibleColumnXs.get(parentVisibleRange[0])) !== null && _visibleColumnXs$get3 !== void 0 ? _visibleColumnXs$get3 : 0);
409
349
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
410
350
  left: mouseX - this.draggingOffset
@@ -415,14 +355,12 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
415
355
  movedColumns: _newMovedColumns
416
356
  });
417
357
  return;
418
- } // Pin to the right of parent
419
-
358
+ }
420
359
 
360
+ // Pin to the right of parent
421
361
  if (swapColumn.visibleIndex > parentVisibleRange[1]) {
422
362
  var _getColumnInfo;
423
-
424
363
  var _newMovedColumns2 = this.moveColumn(draggingColumn, parentVisibleRange[1] - (draggingColumn.range[1] - draggingColumn.range[0]), movedColumns);
425
-
426
364
  var {
427
365
  right: parentRight = 0
428
366
  } = (_getColumnInfo = getColumnInfo(parentVisibleRange[1], 0, metrics, model)) !== null && _getColumnInfo !== void 0 ? _getColumnInfo : {};
@@ -437,52 +375,41 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
437
375
  });
438
376
  return;
439
377
  }
440
- } // Hit an unmovable column, move to the first available position next to it
441
-
378
+ }
442
379
 
380
+ // Hit an unmovable column, move to the first available position next to it
443
381
  if (!model.isColumnMovable(swapColumn.modelIndex)) {
444
382
  var toVisibleIndex = swapColumn.visibleIndex;
445
-
446
383
  if (isDraggingLeft) {
447
384
  toVisibleIndex += 1;
448
-
449
385
  while (toVisibleIndex < draggingColumn.visibleIndex && !model.isColumnMovable(GridUtils.getModelIndex(toVisibleIndex, movedColumns))) {
450
386
  toVisibleIndex += 1;
451
387
  }
452
388
  } else {
453
389
  toVisibleIndex -= 1;
454
-
455
390
  while (toVisibleIndex > draggingColumn.visibleIndex && !model.isColumnMovable(GridUtils.getModelIndex(toVisibleIndex, movedColumns))) {
456
391
  toVisibleIndex -= 1;
457
392
  }
458
393
  }
459
-
460
394
  if (toVisibleIndex !== draggingColumn.visibleIndex) {
461
395
  if (!isDraggingLeft) {
462
396
  // Offset for range if dragging right
463
397
  toVisibleIndex -= draggingColumn.range[1] - draggingColumn.range[0];
464
398
  }
465
-
466
399
  var _newMovedColumns3 = this.moveColumn(draggingColumn, toVisibleIndex, movedColumns);
467
-
468
400
  grid.setState({
469
401
  movedColumns: _newMovedColumns3,
470
402
  draggingColumn: this.draggingColumn
471
403
  });
472
404
  }
473
-
474
405
  var toColumnInfo = getColumnInfo(toVisibleIndex, 0, metrics, model);
475
-
476
406
  if (isDraggingLeft) {
477
407
  var _toColumnInfo$left;
478
-
479
408
  this.draggingOffset = mouseX - ((_toColumnInfo$left = toColumnInfo === null || toColumnInfo === void 0 ? void 0 : toColumnInfo.left) !== null && _toColumnInfo$left !== void 0 ? _toColumnInfo$left : 0);
480
409
  } else {
481
410
  var _toColumnInfo$right;
482
-
483
411
  this.draggingOffset = mouseX - (((_toColumnInfo$right = toColumnInfo === null || toColumnInfo === void 0 ? void 0 : toColumnInfo.right) !== null && _toColumnInfo$right !== void 0 ? _toColumnInfo$right : 0) - draggingColumn.width);
484
412
  }
485
-
486
413
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
487
414
  left: mouseX - this.draggingOffset
488
415
  });
@@ -491,51 +418,44 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
491
418
  });
492
419
  return;
493
420
  }
494
-
495
421
  if (floatingDraggingLeft <= floatingLeftWidth) {
496
422
  this.setScrollInterval(grid, 'left');
497
423
  } else if (floatingDraggingRight > width) {
498
424
  this.setScrollInterval(grid, 'right');
499
425
  } else {
500
426
  this.clearScrollInterval();
501
- } // Can't swap a column with itself
502
-
427
+ }
503
428
 
429
+ // Can't swap a column with itself
504
430
  if (swapColumn.visibleIndex === draggingColumn.visibleIndex) {
505
431
  return;
506
- } // Can't swap a column to the left when dragging right or vice versa
507
-
432
+ }
508
433
 
434
+ // Can't swap a column to the left when dragging right or vice versa
509
435
  if (isDraggingLeft && draggingColumn.visibleIndex < swapColumn.visibleIndex || !isDraggingLeft && draggingColumn.visibleIndex > swapColumn.visibleIndex) {
510
436
  return;
511
437
  }
512
-
513
438
  var switchPoint = swapColumn.left + swapColumn.width * 0.5;
514
- var draggingParentGroup = model.getColumnHeaderParentGroup(draggingColumn.modelIndex, draggingColumn.depth); // Get the highest level group that is not the common base group
515
- // This group is what we need to drag past
439
+ var draggingParentGroup = model.getColumnHeaderParentGroup(draggingColumn.modelIndex, draggingColumn.depth);
516
440
 
441
+ // Get the highest level group that is not the common base group
442
+ // This group is what we need to drag past
517
443
  var maxDepthSwapGroup;
518
444
  var maxSwapDepth = ((_draggingParentGroup$ = draggingParentGroup === null || draggingParentGroup === void 0 ? void 0 : draggingParentGroup.depth) !== null && _draggingParentGroup$ !== void 0 ? _draggingParentGroup$ : columnHeaderMaxDepth) - 1;
519
-
520
445
  while (maxSwapDepth >= 0 && maxDepthSwapGroup === undefined) {
521
446
  maxDepthSwapGroup = model.getColumnHeaderGroup(swapColumn.modelIndex, maxSwapDepth);
522
447
  maxSwapDepth -= 1;
523
448
  }
524
-
525
449
  var newMovedColumns;
526
-
527
450
  if (isDraggingLeft && floatingDraggingLeft < switchPoint && (!maxDepthSwapGroup || swapColumn.visibleIndex === maxDepthSwapGroup.getVisibleRange(movedColumns)[0])) {
528
451
  newMovedColumns = this.moveColumn(draggingColumn, swapColumn.range[0], movedColumns);
529
452
  }
530
-
531
453
  if (!isDraggingLeft && floatingDraggingRight > switchPoint && (!maxDepthSwapGroup || swapColumn.visibleIndex === maxDepthSwapGroup.getVisibleRange(movedColumns)[1])) {
532
454
  newMovedColumns = this.moveColumn(draggingColumn, swapColumn.range[1] - (draggingColumn.range[1] - draggingColumn.range[0]), movedColumns);
533
455
  }
534
-
535
456
  if (!newMovedColumns) {
536
457
  return;
537
458
  }
538
-
539
459
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
540
460
  left: floatingDraggingLeft
541
461
  });
@@ -544,6 +464,7 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
544
464
  draggingColumn: this.draggingColumn
545
465
  });
546
466
  }
467
+
547
468
  /**
548
469
  * Applies the column move and updates draggingColumn in the mouse handler
549
470
  * Does not check if the move is valid
@@ -552,26 +473,20 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
552
473
  * @param movedColumns The array of column moves
553
474
  * @returns A new array of column moves
554
475
  */
555
-
556
-
557
476
  moveColumn(draggingColumn, to, movedColumns) {
558
477
  var newMovedColumns = draggingColumn.isColumnGroup ? GridUtils.moveRange(draggingColumn.range, to, movedColumns) : GridUtils.moveItem(draggingColumn.visibleIndex, to, movedColumns);
559
478
  var moveDistance = to - draggingColumn.range[0];
560
479
  var newDraggingRange = [draggingColumn.range[0] + moveDistance, draggingColumn.range[1] + moveDistance];
561
-
562
480
  if (this.draggingColumn) {
563
481
  this.draggingColumn = _objectSpread(_objectSpread({}, this.draggingColumn), {}, {
564
482
  range: newDraggingRange
565
483
  });
566
484
  }
567
-
568
485
  return newMovedColumns;
569
486
  }
570
-
571
487
  onUp(gridPoint, grid) {
572
488
  this.cursor = null;
573
489
  this.clearScrollInterval();
574
-
575
490
  if (this.draggingOffset != null) {
576
491
  this.draggingOffset = undefined;
577
492
  grid.setState({
@@ -580,11 +495,8 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
580
495
  });
581
496
  return true;
582
497
  }
583
-
584
498
  return false;
585
499
  }
586
-
587
500
  }
588
-
589
501
  export default GridColumnMoveMouseHandler;
590
502
  //# sourceMappingURL=GridColumnMoveMouseHandler.js.map