@deephaven/grid 0.5.2-beta.0 → 0.6.1-demo.8
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.
- package/dist/CellInputField.js +40 -88
- package/dist/CellInputField.js.map +1 -1
- package/dist/Grid.js +1449 -1484
- package/dist/Grid.js.map +1 -1
- package/dist/GridColorUtils.js +18 -51
- package/dist/GridColorUtils.js.map +1 -1
- package/dist/GridMetricCalculator.d.ts +8 -1
- package/dist/GridMetricCalculator.d.ts.map +1 -1
- package/dist/GridMetricCalculator.js +1031 -994
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridModel.d.ts +4 -1
- package/dist/GridModel.d.ts.map +1 -1
- package/dist/GridModel.js +175 -286
- package/dist/GridModel.js.map +1 -1
- package/dist/GridMouseHandler.js +39 -59
- package/dist/GridMouseHandler.js.map +1 -1
- package/dist/GridRange.js +572 -630
- package/dist/GridRange.js.map +1 -1
- package/dist/GridRenderer.js +1650 -1564
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridTestUtils.js +15 -29
- package/dist/GridTestUtils.js.map +1 -1
- package/dist/GridUtils.js +679 -717
- package/dist/GridUtils.js.map +1 -1
- package/dist/KeyHandler.js +6 -18
- package/dist/KeyHandler.js.map +1 -1
- package/dist/MockGridModel.js +105 -210
- package/dist/MockGridModel.js.map +1 -1
- package/dist/MockTreeGridModel.js +113 -183
- package/dist/MockTreeGridModel.js.map +1 -1
- package/dist/errors/PasteError.js +5 -44
- package/dist/errors/PasteError.js.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/EditKeyHandler.js +42 -75
- package/dist/key-handlers/EditKeyHandler.js.map +1 -1
- package/dist/key-handlers/PasteKeyHandler.js +42 -78
- package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.d.ts.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.js +239 -229
- package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
- package/dist/key-handlers/TreeKeyHandler.js +42 -72
- package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
- package/dist/key-handlers/index.js +4 -4
- package/dist/key-handlers/index.js.map +1 -1
- package/dist/memoizeClear.js +1 -1
- package/dist/memoizeClear.js.map +1 -1
- package/dist/mouse-handlers/EditMouseHandler.js +18 -50
- package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +141 -163
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +47 -86
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +145 -171
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js +125 -147
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +47 -86
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js +46 -76
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +31 -62
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSelectionMouseHandler.js +200 -222
- package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +206 -253
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +146 -172
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/index.js +10 -10
- package/dist/mouse-handlers/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -10
|
@@ -1,84 +1,54 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
-
|
|
3
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
|
|
5
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
6
|
-
|
|
7
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
8
|
-
|
|
9
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
10
|
-
|
|
11
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
-
|
|
13
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
14
|
-
|
|
15
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
|
-
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
|
|
19
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
-
|
|
21
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
-
|
|
23
1
|
/* eslint class-methods-use-this: "off" */
|
|
24
|
-
import KeyHandler from
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return _super.apply(this, arguments);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
_createClass(TreeKeyHandler, [{
|
|
38
|
-
key: "onDown",
|
|
39
|
-
value: function onDown(e, grid) {
|
|
40
|
-
switch (e.key) {
|
|
41
|
-
case 'Enter':
|
|
42
|
-
case ' ':
|
|
43
|
-
{
|
|
44
|
-
return this.handleExpandKey(e, grid);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
default:
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
2
|
+
import KeyHandler from "../KeyHandler.js";
|
|
3
|
+
|
|
4
|
+
class TreeKeyHandler extends KeyHandler {
|
|
5
|
+
onDown(e, grid) {
|
|
6
|
+
switch (e.key) {
|
|
7
|
+
case 'Enter':
|
|
8
|
+
case ' ':
|
|
9
|
+
{
|
|
10
|
+
return this.handleExpandKey(e, grid);
|
|
11
|
+
}
|
|
50
12
|
|
|
51
|
-
|
|
13
|
+
default:
|
|
14
|
+
break;
|
|
52
15
|
}
|
|
53
|
-
}, {
|
|
54
|
-
key: "handleExpandKey",
|
|
55
|
-
value: function handleExpandKey(e, grid) {
|
|
56
|
-
var selectedRanges = grid.state.selectedRanges;
|
|
57
|
-
|
|
58
|
-
if (selectedRanges.length === 1) {
|
|
59
|
-
var range = selectedRanges[0];
|
|
60
16
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var modelRows = grid.metrics.modelRows;
|
|
64
|
-
var _selectedRanges$ = selectedRanges[0],
|
|
65
|
-
row = _selectedRanges$.startRow,
|
|
66
|
-
column = _selectedRanges$.startColumn;
|
|
67
|
-
var modelRow = modelRows.get(row);
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
68
19
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
20
|
+
handleExpandKey(e, grid) {
|
|
21
|
+
var {
|
|
22
|
+
selectedRanges
|
|
23
|
+
} = grid.state;
|
|
24
|
+
|
|
25
|
+
if (selectedRanges.length === 1) {
|
|
26
|
+
var range = selectedRanges[0];
|
|
27
|
+
|
|
28
|
+
if (range.startRow === range.endRow && range.startColumn === range.endColumn) {
|
|
29
|
+
var {
|
|
30
|
+
model
|
|
31
|
+
} = grid.props;
|
|
32
|
+
var {
|
|
33
|
+
modelRows
|
|
34
|
+
} = grid.metrics;
|
|
35
|
+
var {
|
|
36
|
+
startRow: row,
|
|
37
|
+
startColumn: column
|
|
38
|
+
} = selectedRanges[0];
|
|
39
|
+
var modelRow = modelRows.get(row);
|
|
40
|
+
|
|
41
|
+
if ((column === 0 || column == null) && model.isRowExpandable(modelRow)) {
|
|
42
|
+
grid.toggleRowExpanded(row);
|
|
43
|
+
return true;
|
|
73
44
|
}
|
|
74
45
|
}
|
|
75
|
-
|
|
76
|
-
return false;
|
|
77
46
|
}
|
|
78
|
-
}]);
|
|
79
47
|
|
|
80
|
-
|
|
81
|
-
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
}
|
|
82
52
|
|
|
83
53
|
export default TreeKeyHandler;
|
|
84
54
|
//# sourceMappingURL=TreeKeyHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/key-handlers/TreeKeyHandler.ts"],"names":["KeyHandler","TreeKeyHandler","e","grid","key","handleExpandKey","selectedRanges","state","length","range","startRow","endRow","startColumn","endColumn","model","props","modelRows","metrics","row","column","modelRow","get","isRowExpandable","toggleRowExpanded"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/key-handlers/TreeKeyHandler.ts"],"names":["KeyHandler","TreeKeyHandler","onDown","e","grid","key","handleExpandKey","selectedRanges","state","length","range","startRow","endRow","startColumn","endColumn","model","props","modelRows","metrics","row","column","modelRow","get","isRowExpandable","toggleRowExpanded"],"mappings":"AAAA;OAGOA,U;;AAEP,MAAMC,cAAN,SAA6BD,UAA7B,CAAwC;AACtCE,EAAAA,MAAM,CAACC,CAAD,EAAmBC,IAAnB,EAAwC;AAC5C,YAAQD,CAAC,CAACE,GAAV;AACE,WAAK,OAAL;AACA,WAAK,GAAL;AAAU;AACR,iBAAO,KAAKC,eAAL,CAAqBH,CAArB,EAAwBC,IAAxB,CAAP;AACD;;AACD;AACE;AANJ;;AAQA,WAAO,KAAP;AACD;;AAEDE,EAAAA,eAAe,CAACH,CAAD,EAAmBC,IAAnB,EAAwC;AACrD,QAAM;AAAEG,MAAAA;AAAF,QAAqBH,IAAI,CAACI,KAAhC;;AACA,QAAID,cAAc,CAACE,MAAf,KAA0B,CAA9B,EAAiC;AAC/B,UAAMC,KAAK,GAAGH,cAAc,CAAC,CAAD,CAA5B;;AACA,UACEG,KAAK,CAACC,QAAN,KAAmBD,KAAK,CAACE,MAAzB,IACAF,KAAK,CAACG,WAAN,KAAsBH,KAAK,CAACI,SAF9B,EAGE;AACA,YAAM;AAAEC,UAAAA;AAAF,YAAYX,IAAI,CAACY,KAAvB;AACA,YAAM;AAAEC,UAAAA;AAAF,YAAgBb,IAAI,CAACc,OAA3B;AACA,YAAM;AAAEP,UAAAA,QAAQ,EAAEQ,GAAZ;AAAiBN,UAAAA,WAAW,EAAEO;AAA9B,YAAyCb,cAAc,CAAC,CAAD,CAA7D;AACA,YAAMc,QAAQ,GAAGJ,SAAS,CAACK,GAAV,CAAcH,GAAd,CAAjB;;AACA,YACE,CAACC,MAAM,KAAK,CAAX,IAAgBA,MAAM,IAAI,IAA3B,KACAL,KAAK,CAACQ,eAAN,CAAsBF,QAAtB,CAFF,EAGE;AACAjB,UAAAA,IAAI,CAACoB,iBAAL,CAAuBL,GAAvB;AACA,iBAAO,IAAP;AACD;AACF;AACF;;AACD,WAAO,KAAP;AACD;;AAnCqC;;AAsCxC,eAAelB,cAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport Grid from '../Grid';\nimport GridRange from '../GridRange';\nimport KeyHandler from '../KeyHandler';\n\nclass TreeKeyHandler extends KeyHandler {\n onDown(e: KeyboardEvent, grid: Grid): boolean {\n switch (e.key) {\n case 'Enter':\n case ' ': {\n return this.handleExpandKey(e, grid);\n }\n default:\n break;\n }\n return false;\n }\n\n handleExpandKey(e: 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 const { model } = grid.props;\n const { modelRows } = grid.metrics;\n const { startRow: row, startColumn: column } = selectedRanges[0];\n const modelRow = modelRows.get(row);\n if (\n (column === 0 || column == null) &&\n model.isRowExpandable(modelRow)\n ) {\n grid.toggleRowExpanded(row);\n return true;\n }\n }\n }\n return false;\n }\n}\n\nexport default TreeKeyHandler;\n"],"file":"TreeKeyHandler.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { default as SelectionKeyHandler } from
|
|
2
|
-
export { default as TreeKeyHandler } from
|
|
3
|
-
export { default as EditKeyHandler } from
|
|
4
|
-
export { default as PasteKeyHandler } from
|
|
1
|
+
export { default as SelectionKeyHandler } from "./SelectionKeyHandler.js";
|
|
2
|
+
export { default as TreeKeyHandler } from "./TreeKeyHandler.js";
|
|
3
|
+
export { default as EditKeyHandler } from "./EditKeyHandler.js";
|
|
4
|
+
export { default as PasteKeyHandler } from "./PasteKeyHandler.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/key-handlers/index.ts"],"names":["default","SelectionKeyHandler","TreeKeyHandler","EditKeyHandler","PasteKeyHandler"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/key-handlers/index.ts"],"names":["default","SelectionKeyHandler","TreeKeyHandler","EditKeyHandler","PasteKeyHandler"],"mappings":"SAASA,OAAO,IAAIC,mB;SACXD,OAAO,IAAIE,c;SACXF,OAAO,IAAIG,c;SACXH,OAAO,IAAII,e","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"],"file":"index.js"}
|
package/dist/memoizeClear.js
CHANGED
|
@@ -20,7 +20,7 @@ export default (function (fn) {
|
|
|
20
20
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
21
21
|
var isClearingCache = false;
|
|
22
22
|
var memoizedFn = memoize(fn, _objectSpread(_objectSpread({}, options), {}, {
|
|
23
|
-
dispose:
|
|
23
|
+
dispose: () => {
|
|
24
24
|
// Need to track when we're clearing because dispose gets called for all items removed
|
|
25
25
|
if (!isClearingCache) {
|
|
26
26
|
isClearingCache = true;
|
package/dist/memoizeClear.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/memoizeClear.js"],"names":["memoize","fn","options","isClearingCache","memoizedFn","dispose","clear"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,UAApB;AAEA;AACA;AACA;AACA;;AACA,gBAAe,UAACC,EAAD,EAAsB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACnC,MAAIC,eAAe,GAAG,KAAtB;AACA,MAAMC,UAAU,GAAGJ,OAAO,CAACC,EAAD,kCACrBC,OADqB;AAExBG,IAAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/memoizeClear.js"],"names":["memoize","fn","options","isClearingCache","memoizedFn","dispose","clear"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,OAAP,MAAoB,UAApB;AAEA;AACA;AACA;AACA;;AACA,gBAAe,UAACC,EAAD,EAAsB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACnC,MAAIC,eAAe,GAAG,KAAtB;AACA,MAAMC,UAAU,GAAGJ,OAAO,CAACC,EAAD,kCACrBC,OADqB;AAExBG,IAAAA,OAAO,EAAE,MAAM;AACb;AACA,UAAI,CAACF,eAAL,EAAsB;AACpBA,QAAAA,eAAe,GAAG,IAAlB;AACAC,QAAAA,UAAU,CAACE,KAAX;AACAH,QAAAA,eAAe,GAAG,KAAlB;AACD;AACF;AATuB,KAA1B;AAYA,SAAOC,UAAP;AACD,CAfD","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 memoize from 'memoizee';\n\n/**\n * @param {Function} fn The function to memoize\n * @param {Object} options The options to set for memoization\n */\nexport default (fn, options = {}) => {\n let isClearingCache = false;\n const memoizedFn = memoize(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"],"file":"memoizeClear.js"}
|
|
@@ -1,61 +1,29 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
-
|
|
3
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
|
|
5
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
6
|
-
|
|
7
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
8
|
-
|
|
9
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
10
|
-
|
|
11
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
-
|
|
13
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
14
|
-
|
|
15
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
|
-
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
|
|
19
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
-
|
|
21
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
-
|
|
23
1
|
/* eslint class-methods-use-this: "off" */
|
|
24
|
-
import GridMouseHandler from
|
|
25
|
-
import GridRange from
|
|
2
|
+
import GridMouseHandler from "../GridMouseHandler.js";
|
|
3
|
+
import GridRange from "../GridRange.js";
|
|
26
4
|
/**
|
|
27
5
|
* Handles clicking on a cell to edit it in an editable grid
|
|
28
6
|
*/
|
|
29
7
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
class EditMouseHandler extends GridMouseHandler {
|
|
9
|
+
onDoubleClick(_ref, grid) {
|
|
10
|
+
var {
|
|
11
|
+
column,
|
|
12
|
+
row
|
|
13
|
+
} = _ref;
|
|
14
|
+
var {
|
|
15
|
+
model
|
|
16
|
+
} = grid.props;
|
|
17
|
+
|
|
18
|
+
if (model.isEditableRange(GridRange.makeCell(column, row))) {
|
|
19
|
+
grid.startEditing(column, row);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
37
22
|
|
|
38
|
-
return
|
|
23
|
+
return false;
|
|
39
24
|
}
|
|
40
25
|
|
|
41
|
-
|
|
42
|
-
key: "onDoubleClick",
|
|
43
|
-
value: function onDoubleClick(_ref, grid) {
|
|
44
|
-
var column = _ref.column,
|
|
45
|
-
row = _ref.row;
|
|
46
|
-
var model = grid.props.model;
|
|
47
|
-
|
|
48
|
-
if (model.isEditableRange(GridRange.makeCell(column, row))) {
|
|
49
|
-
grid.startEditing(column, row);
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
}]);
|
|
56
|
-
|
|
57
|
-
return EditMouseHandler;
|
|
58
|
-
}(GridMouseHandler);
|
|
26
|
+
}
|
|
59
27
|
|
|
60
28
|
export default EditMouseHandler;
|
|
61
29
|
//# sourceMappingURL=EditMouseHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mouse-handlers/EditMouseHandler.ts"],"names":["GridMouseHandler","GridRange","EditMouseHandler","grid","column","row","model","props","isEditableRange","makeCell","startEditing"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/mouse-handlers/EditMouseHandler.ts"],"names":["GridMouseHandler","GridRange","EditMouseHandler","onDoubleClick","grid","column","row","model","props","isEditableRange","makeCell","startEditing"],"mappings":"AAAA;OAEOA,gB;OACAC,S;AAEP;AACA;AACA;;AACA,MAAMC,gBAAN,SAA+BF,gBAA/B,CAAgD;AAC9CG,EAAAA,aAAa,OAEXC,IAFW,EAGF;AAAA,QAFT;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAES;AACT,QAAM;AAAEC,MAAAA;AAAF,QAAYH,IAAI,CAACI,KAAvB;;AACA,QAAID,KAAK,CAACE,eAAN,CAAsBR,SAAS,CAACS,QAAV,CAAmBL,MAAnB,EAA2BC,GAA3B,CAAtB,CAAJ,EAA4D;AAC1DF,MAAAA,IAAI,CAACO,YAAL,CAAkBN,MAAlB,EAA0BC,GAA1B;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AAX6C;;AAchD,eAAeJ,gBAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport Grid from '../Grid';\nimport GridMouseHandler from '../GridMouseHandler';\nimport GridRange from '../GridRange';\n\n/**\n * Handles clicking on a cell to edit it in an editable grid\n */\nclass EditMouseHandler extends GridMouseHandler {\n onDoubleClick(\n { column, row }: { column: number; row: number },\n grid: Grid\n ): boolean {\n const { model } = grid.props;\n if (model.isEditableRange(GridRange.makeCell(column, row))) {\n grid.startEditing(column, row);\n return true;\n }\n return false;\n }\n}\n\nexport default EditMouseHandler;\n"],"file":"EditMouseHandler.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColumnMoveMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridColumnMoveMouseHandler.js"],"names":[],"mappings":";AAKA;IAGE,oBAAsB;IAEtB,uBAAyB;IAEzB,8BAA6B;
|
|
1
|
+
{"version":3,"file":"GridColumnMoveMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridColumnMoveMouseHandler.js"],"names":[],"mappings":";AAKA;IAGE,oBAAsB;IAEtB,uBAAyB;IAEzB,8BAA6B;CAwJ9B"}
|
|
@@ -1,203 +1,181 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
-
|
|
3
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
4
|
-
|
|
5
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
6
|
-
|
|
7
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
8
|
-
|
|
9
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
10
|
-
|
|
11
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
-
|
|
13
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
14
|
-
|
|
15
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
16
|
-
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
|
|
19
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
-
|
|
21
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
22
|
-
|
|
23
1
|
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; }
|
|
24
2
|
|
|
25
|
-
import GridUtils from
|
|
26
|
-
import GridMouseHandler from
|
|
3
|
+
import GridUtils from "../GridUtils.js";
|
|
4
|
+
import GridMouseHandler from "../GridMouseHandler.js";
|
|
27
5
|
var SLOPPY_CLICK_DISTANCE = 5;
|
|
28
6
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _super = _createSuper(GridColumnMoveMouseHandler);
|
|
33
|
-
|
|
34
|
-
function GridColumnMoveMouseHandler() {
|
|
35
|
-
var _this;
|
|
7
|
+
class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
36
10
|
|
|
37
|
-
|
|
11
|
+
_defineProperty(this, "cursor", null);
|
|
38
12
|
|
|
39
|
-
|
|
40
|
-
args[_key] = arguments[_key];
|
|
41
|
-
}
|
|
13
|
+
_defineProperty(this, "draggingOffset", null);
|
|
42
14
|
|
|
43
|
-
|
|
15
|
+
_defineProperty(this, "startingGridPoint", null);
|
|
44
16
|
|
|
45
|
-
_defineProperty(
|
|
17
|
+
_defineProperty(this, "sloppyClickThreshold", false);
|
|
18
|
+
}
|
|
46
19
|
|
|
47
|
-
|
|
20
|
+
onDown(gridPoint, grid) {
|
|
21
|
+
var {
|
|
22
|
+
model
|
|
23
|
+
} = grid.props;
|
|
24
|
+
var {
|
|
25
|
+
x,
|
|
26
|
+
y,
|
|
27
|
+
column
|
|
28
|
+
} = gridPoint;
|
|
29
|
+
var {
|
|
30
|
+
metrics
|
|
31
|
+
} = grid;
|
|
32
|
+
var {
|
|
33
|
+
columnHeaderHeight,
|
|
34
|
+
rowHeaderWidth,
|
|
35
|
+
visibleColumnXs
|
|
36
|
+
} = metrics;
|
|
37
|
+
this.startingGridPoint = gridPoint;
|
|
38
|
+
this.sloppyClickThreshold = false;
|
|
39
|
+
this.cursor = null;
|
|
40
|
+
|
|
41
|
+
if (column != null && y <= columnHeaderHeight && model.isColumnMovable(column)) {
|
|
42
|
+
var columnX = visibleColumnXs.get(column);
|
|
43
|
+
this.draggingOffset = x - columnX - rowHeaderWidth;
|
|
44
|
+
grid.setState({
|
|
45
|
+
draggingColumnOffset: this.draggingOffset
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
onDrag(gridPoint, grid) {
|
|
53
|
+
if (this.draggingOffset == null) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
52
56
|
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
var {
|
|
58
|
+
model
|
|
59
|
+
} = grid.props;
|
|
60
|
+
var {
|
|
61
|
+
draggingColumn
|
|
62
|
+
} = grid.state;
|
|
63
|
+
var {
|
|
64
|
+
mouseX,
|
|
65
|
+
mouseY,
|
|
66
|
+
isDragging
|
|
67
|
+
} = grid.state;
|
|
68
|
+
|
|
69
|
+
if (mouseX == null || mouseY == null) {
|
|
70
|
+
return false;
|
|
71
|
+
} // before considering it a drag, the mouse must have moved a minimum distance
|
|
72
|
+
// this prevents click actions from triggering a drag state
|
|
55
73
|
|
|
56
|
-
_createClass(GridColumnMoveMouseHandler, [{
|
|
57
|
-
key: "onDown",
|
|
58
|
-
value: function onDown(gridPoint, grid) {
|
|
59
|
-
var model = grid.props.model;
|
|
60
|
-
var x = gridPoint.x,
|
|
61
|
-
y = gridPoint.y,
|
|
62
|
-
column = gridPoint.column;
|
|
63
|
-
var metrics = grid.metrics;
|
|
64
|
-
var columnHeaderHeight = metrics.columnHeaderHeight,
|
|
65
|
-
rowHeaderWidth = metrics.rowHeaderWidth,
|
|
66
|
-
visibleColumnXs = metrics.visibleColumnXs;
|
|
67
|
-
this.startingGridPoint = gridPoint;
|
|
68
|
-
this.sloppyClickThreshold = false;
|
|
69
|
-
this.cursor = null;
|
|
70
|
-
|
|
71
|
-
if (y <= columnHeaderHeight && model.isColumnMovable(column)) {
|
|
72
|
-
var columnX = visibleColumnXs.get(column);
|
|
73
|
-
this.draggingOffset = x - columnX - rowHeaderWidth;
|
|
74
|
-
grid.setState({
|
|
75
|
-
draggingColumnOffset: this.draggingOffset
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
74
|
|
|
75
|
+
if (!this.sloppyClickThreshold && Math.abs(this.startingGridPoint.x - mouseX) >= SLOPPY_CLICK_DISTANCE || Math.abs(this.startingGridPoint.y - mouseY) >= SLOPPY_CLICK_DISTANCE) {
|
|
76
|
+
this.sloppyClickThreshold = true;
|
|
77
|
+
} else if (!this.sloppyClickThreshold && !isDragging) {
|
|
79
78
|
return false;
|
|
80
79
|
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "onDrag",
|
|
83
|
-
value: function onDrag(gridPoint, grid) {
|
|
84
|
-
if (this.draggingOffset == null) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
80
|
|
|
88
|
-
|
|
89
|
-
var
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
mouseY = _grid$state.mouseY,
|
|
93
|
-
isDragging = _grid$state.isDragging;
|
|
81
|
+
if (draggingColumn == null) {
|
|
82
|
+
var {
|
|
83
|
+
column
|
|
84
|
+
} = grid.getGridPointFromXY(mouseX, mouseY);
|
|
94
85
|
|
|
95
|
-
if (
|
|
86
|
+
if (column != null && !model.isColumnMovable(column)) {
|
|
96
87
|
return false;
|
|
97
|
-
}
|
|
98
|
-
// this prevents click actions from triggering a drag state
|
|
88
|
+
}
|
|
99
89
|
|
|
90
|
+
draggingColumn = column;
|
|
91
|
+
grid.setState({
|
|
92
|
+
draggingColumn,
|
|
93
|
+
isDragging: true
|
|
94
|
+
});
|
|
100
95
|
|
|
101
|
-
if (
|
|
102
|
-
this.sloppyClickThreshold = true;
|
|
103
|
-
} else if (!this.sloppyClickThreshold && !isDragging) {
|
|
96
|
+
if (draggingColumn == null) {
|
|
104
97
|
return false;
|
|
105
98
|
}
|
|
99
|
+
}
|
|
106
100
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
101
|
+
this.cursor = 'move';
|
|
102
|
+
var {
|
|
103
|
+
metrics
|
|
104
|
+
} = grid;
|
|
105
|
+
var {
|
|
106
|
+
left,
|
|
107
|
+
lastLeft,
|
|
108
|
+
right,
|
|
109
|
+
rightVisible,
|
|
110
|
+
columnCount,
|
|
111
|
+
rowHeaderWidth,
|
|
112
|
+
visibleColumnWidths,
|
|
113
|
+
visibleColumnXs,
|
|
114
|
+
width
|
|
115
|
+
} = metrics;
|
|
116
|
+
var minX = rowHeaderWidth;
|
|
117
|
+
|
|
118
|
+
if (left < draggingColumn) {
|
|
119
|
+
var leftColumn = draggingColumn - 1;
|
|
120
|
+
minX = visibleColumnXs.get(leftColumn) + visibleColumnWidths.get(leftColumn) * 0.5 + this.draggingOffset + rowHeaderWidth;
|
|
121
|
+
}
|
|
125
122
|
|
|
126
|
-
|
|
127
|
-
var metrics = grid.metrics;
|
|
128
|
-
var left = metrics.left,
|
|
129
|
-
lastLeft = metrics.lastLeft,
|
|
130
|
-
right = metrics.right,
|
|
131
|
-
rightVisible = metrics.rightVisible,
|
|
132
|
-
columnCount = metrics.columnCount,
|
|
133
|
-
rowHeaderWidth = metrics.rowHeaderWidth,
|
|
134
|
-
visibleColumnWidths = metrics.visibleColumnWidths,
|
|
135
|
-
visibleColumnXs = metrics.visibleColumnXs,
|
|
136
|
-
width = metrics.width;
|
|
137
|
-
var minX = rowHeaderWidth;
|
|
138
|
-
|
|
139
|
-
if (left < draggingColumn) {
|
|
140
|
-
var leftColumn = draggingColumn - 1;
|
|
141
|
-
minX = visibleColumnXs.get(leftColumn) + visibleColumnWidths.get(leftColumn) * 0.5 + this.draggingOffset + rowHeaderWidth;
|
|
142
|
-
}
|
|
123
|
+
var maxX = width;
|
|
143
124
|
|
|
144
|
-
|
|
125
|
+
if (draggingColumn < right) {
|
|
126
|
+
var rightColumn = draggingColumn + 1;
|
|
127
|
+
maxX = visibleColumnXs.get(rightColumn) + visibleColumnWidths.get(rightColumn) * 0.5 - visibleColumnWidths.get(draggingColumn) + this.draggingOffset + rowHeaderWidth;
|
|
128
|
+
}
|
|
145
129
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
130
|
+
var {
|
|
131
|
+
movedColumns
|
|
132
|
+
} = grid.state;
|
|
150
133
|
|
|
151
|
-
|
|
134
|
+
if (mouseX < minX && draggingColumn > 0 && model.isColumnMovable(draggingColumn - 1)) {
|
|
135
|
+
movedColumns = GridUtils.moveItem(draggingColumn, draggingColumn - 1, movedColumns);
|
|
136
|
+
draggingColumn -= 1;
|
|
137
|
+
} else if (maxX < mouseX && draggingColumn < columnCount - 1 && model.isColumnMovable(draggingColumn + 1)) {
|
|
138
|
+
movedColumns = GridUtils.moveItem(draggingColumn, draggingColumn + 1, movedColumns);
|
|
139
|
+
draggingColumn += 1;
|
|
140
|
+
}
|
|
152
141
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
142
|
+
grid.setState({
|
|
143
|
+
movedColumns,
|
|
144
|
+
draggingColumn
|
|
145
|
+
});
|
|
146
|
+
var minMoveX = rowHeaderWidth + visibleColumnWidths.get(left) * 0.5;
|
|
147
|
+
var maxMoveX = rowHeaderWidth + visibleColumnXs.get(rightVisible) + visibleColumnWidths.get(rightVisible) * 0.5;
|
|
160
148
|
|
|
149
|
+
if (mouseX < minMoveX && left > 0) {
|
|
161
150
|
grid.setState({
|
|
162
|
-
|
|
163
|
-
draggingColumn: draggingColumn
|
|
151
|
+
left: left - 1
|
|
164
152
|
});
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
153
|
+
} else if (mouseX > maxMoveX && left < lastLeft) {
|
|
154
|
+
grid.setState({
|
|
155
|
+
left: left + 1
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
onUp(_, grid) {
|
|
163
|
+
this.cursor = null;
|
|
177
164
|
|
|
165
|
+
if (this.draggingOffset != null) {
|
|
166
|
+
this.draggingOffset = null;
|
|
167
|
+
grid.setState({
|
|
168
|
+
draggingColumnOffset: null,
|
|
169
|
+
draggingColumn: null,
|
|
170
|
+
isDragging: false
|
|
171
|
+
});
|
|
178
172
|
return true;
|
|
179
173
|
}
|
|
180
|
-
}, {
|
|
181
|
-
key: "onUp",
|
|
182
|
-
value: function onUp(_, grid) {
|
|
183
|
-
this.cursor = null;
|
|
184
|
-
|
|
185
|
-
if (this.draggingOffset != null) {
|
|
186
|
-
this.draggingOffset = null;
|
|
187
|
-
grid.setState({
|
|
188
|
-
draggingColumnOffset: null,
|
|
189
|
-
draggingColumn: null,
|
|
190
|
-
isDragging: false
|
|
191
|
-
});
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
174
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}]);
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
198
177
|
|
|
199
|
-
|
|
200
|
-
}(GridMouseHandler);
|
|
178
|
+
}
|
|
201
179
|
|
|
202
180
|
export default GridColumnMoveMouseHandler;
|
|
203
181
|
//# sourceMappingURL=GridColumnMoveMouseHandler.js.map
|