@deephaven/iris-grid 0.6.3-beta.0 → 0.7.1-alpha.0
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/IrisGrid.d.ts +1 -0
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +80 -30
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.js +1 -1
- package/dist/IrisGridModelUpdater.js +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +2 -1
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +1 -1
- package/dist/IrisGridUtils.js +32 -32
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/PendingDataBottomBar.js +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableUtils.d.ts.map +1 -1
- package/dist/TableUtils.js +3 -1
- package/dist/TableUtils.js.map +1 -1
- package/dist/ToastBottomBar.js +1 -1
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/memoizeClear.js +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +4 -12
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js +2 -2
- package/dist/sidebar/CustomColumnBuilder.js +2 -2
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/InputEditor.js +1 -1
- package/dist/sidebar/RollupRows.js +10 -10
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +5 -5
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +10 -10
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +3 -3
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +4 -4
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -12
package/dist/IrisGrid.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export class IrisGrid extends React.Component<any, any, any> {
|
|
|
2
2
|
static minDebounce: number;
|
|
3
3
|
static maxDebounce: number;
|
|
4
4
|
static loadingSpinnerDelay: number;
|
|
5
|
+
static makeQuickFilter(column: any, text: any, timeZone: any): any;
|
|
5
6
|
constructor(props: any);
|
|
6
7
|
handleAdvancedFilterChange(column: any, filter: any, options: any): void;
|
|
7
8
|
handleAdvancedFilterSortChange(column: any, direction: any, addToExisting?: boolean): void;
|
package/dist/IrisGrid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.jsx"],"names":[],"mappings":"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"}
|
package/dist/IrisGrid.js
CHANGED
|
@@ -2,7 +2,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
2
2
|
|
|
3
3
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
4
4
|
|
|
5
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
6
6
|
|
|
7
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
8
|
|
|
@@ -23,6 +23,7 @@ import dh, { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';
|
|
|
23
23
|
import { Pending, PromiseUtils, ValidationError } from '@deephaven/utils';
|
|
24
24
|
import throttle from 'lodash.throttle';
|
|
25
25
|
import debounce from 'lodash.debounce';
|
|
26
|
+
import clamp from 'lodash.clamp';
|
|
26
27
|
import PendingDataBottomBar from "./PendingDataBottomBar.js";
|
|
27
28
|
import IrisGridCopyHandler from "./IrisGridCopyHandler.js";
|
|
28
29
|
import FilterInputField from "./FilterInputField.js";
|
|
@@ -66,6 +67,16 @@ function isEmptyConfig(_ref) {
|
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
export class IrisGrid extends Component {
|
|
70
|
+
static makeQuickFilter(column, text, timeZone) {
|
|
71
|
+
try {
|
|
72
|
+
return TableUtils.makeQuickFilter(column, text, timeZone);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
log.error('Error creating quick filter', err);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
|
|
69
80
|
constructor(props) {
|
|
70
81
|
super(props);
|
|
71
82
|
|
|
@@ -171,7 +182,7 @@ export class IrisGrid extends Component {
|
|
|
171
182
|
|
|
172
183
|
_defineProperty(this, "getCachedHiddenColumns", memoize(hiddenColumns => hiddenColumns, {
|
|
173
184
|
max: 1,
|
|
174
|
-
normalizer:
|
|
185
|
+
normalizer: _ref2 => {
|
|
175
186
|
var [hiddenColumns] = _ref2;
|
|
176
187
|
return hiddenColumns.join();
|
|
177
188
|
}
|
|
@@ -179,7 +190,7 @@ export class IrisGrid extends Component {
|
|
|
179
190
|
|
|
180
191
|
_defineProperty(this, "getAggregationMap", memoize((columns, aggregations) => {
|
|
181
192
|
var aggregationMap = {};
|
|
182
|
-
aggregations.forEach(
|
|
193
|
+
aggregations.forEach(_ref3 => {
|
|
183
194
|
var {
|
|
184
195
|
operation,
|
|
185
196
|
selected,
|
|
@@ -192,7 +203,7 @@ export class IrisGrid extends Component {
|
|
|
192
203
|
|
|
193
204
|
_defineProperty(this, "getOperationMap", memoize((columns, aggregations) => {
|
|
194
205
|
var operationMap = {};
|
|
195
|
-
aggregations.filter(a => !AggregationUtils.isRollupOperation(a.operation)).forEach(
|
|
206
|
+
aggregations.filter(a => !AggregationUtils.isRollupOperation(a.operation)).forEach(_ref4 => {
|
|
196
207
|
var {
|
|
197
208
|
operation,
|
|
198
209
|
selected,
|
|
@@ -656,13 +667,13 @@ export class IrisGrid extends Component {
|
|
|
656
667
|
var newAdvancedFilters = replaceExisting ? new Map() : new Map(advancedFilters);
|
|
657
668
|
var newQuickFilters = replaceExisting ? new Map() : new Map(quickFilters);
|
|
658
669
|
var isChanged = replaceExisting && advancedFilters.size > 0;
|
|
659
|
-
inputFilters.forEach(
|
|
670
|
+
inputFilters.forEach(_ref5 => {
|
|
660
671
|
var {
|
|
661
672
|
name,
|
|
662
673
|
type,
|
|
663
674
|
value
|
|
664
675
|
} = _ref5;
|
|
665
|
-
var modelIndex = model.columns.findIndex(
|
|
676
|
+
var modelIndex = model.columns.findIndex(_ref6 => {
|
|
666
677
|
var {
|
|
667
678
|
name: columnName,
|
|
668
679
|
type: columnType
|
|
@@ -717,17 +728,9 @@ export class IrisGrid extends Component {
|
|
|
717
728
|
}
|
|
718
729
|
}
|
|
719
730
|
|
|
720
|
-
var filter = null;
|
|
721
|
-
|
|
722
|
-
try {
|
|
723
|
-
filter = TableUtils.makeQuickFilter(column, value, formatter.timeZone);
|
|
724
|
-
} catch (err) {
|
|
725
|
-
log.error('Error creating quick filter', err);
|
|
726
|
-
}
|
|
727
|
-
|
|
728
731
|
quickFilters.set(modelIndex, {
|
|
729
|
-
|
|
730
|
-
|
|
732
|
+
text: value,
|
|
733
|
+
filter: IrisGrid.makeQuickFilter(column, value, formatter.timeZone)
|
|
731
734
|
});
|
|
732
735
|
return true;
|
|
733
736
|
}
|
|
@@ -743,7 +746,7 @@ export class IrisGrid extends Component {
|
|
|
743
746
|
|
|
744
747
|
log.debug('Setting advanced filter', modelIndex, filter);
|
|
745
748
|
this.startLoading('Filtering...', true);
|
|
746
|
-
this.setState(
|
|
749
|
+
this.setState(_ref7 => {
|
|
747
750
|
var {
|
|
748
751
|
advancedFilters
|
|
749
752
|
} = _ref7;
|
|
@@ -774,7 +777,7 @@ export class IrisGrid extends Component {
|
|
|
774
777
|
setQuickFilter(modelIndex, filter, text) {
|
|
775
778
|
log.debug('Setting quick filter', modelIndex, filter, text);
|
|
776
779
|
this.startLoading('Filtering...', true);
|
|
777
|
-
this.setState(
|
|
780
|
+
this.setState(_ref8 => {
|
|
778
781
|
var {
|
|
779
782
|
quickFilters
|
|
780
783
|
} = _ref8;
|
|
@@ -835,7 +838,7 @@ export class IrisGrid extends Component {
|
|
|
835
838
|
|
|
836
839
|
removeColumnFilter(modelColumn) {
|
|
837
840
|
this.startLoading('Filtering...', true);
|
|
838
|
-
this.setState(
|
|
841
|
+
this.setState(_ref10 => {
|
|
839
842
|
var {
|
|
840
843
|
advancedFilters,
|
|
841
844
|
quickFilters
|
|
@@ -923,10 +926,9 @@ export class IrisGrid extends Component {
|
|
|
923
926
|
text
|
|
924
927
|
} = value;
|
|
925
928
|
var column = columns[key];
|
|
926
|
-
var filter = TableUtils.makeQuickFilter(column, text, formatter.timeZone);
|
|
927
929
|
newQuickFilters.set(key, {
|
|
928
930
|
text,
|
|
929
|
-
filter
|
|
931
|
+
filter: IrisGrid.makeQuickFilter(column, text, formatter.timeZone)
|
|
930
932
|
});
|
|
931
933
|
});
|
|
932
934
|
this.startLoading('Rebuilding filters...', true);
|
|
@@ -1722,7 +1724,7 @@ export class IrisGrid extends Component {
|
|
|
1722
1724
|
|
|
1723
1725
|
handleFilterBarChange(value) {
|
|
1724
1726
|
this.startLoading('Filtering...', true);
|
|
1725
|
-
this.setState(
|
|
1727
|
+
this.setState(_ref12 => {
|
|
1726
1728
|
var {
|
|
1727
1729
|
focusedFilterBarColumn,
|
|
1728
1730
|
quickFilters
|
|
@@ -1800,7 +1802,7 @@ export class IrisGrid extends Component {
|
|
|
1800
1802
|
}
|
|
1801
1803
|
|
|
1802
1804
|
handleMenuBack() {
|
|
1803
|
-
this.setState(
|
|
1805
|
+
this.setState(_ref13 => {
|
|
1804
1806
|
var {
|
|
1805
1807
|
openOptions
|
|
1806
1808
|
} = _ref13;
|
|
@@ -1813,7 +1815,7 @@ export class IrisGrid extends Component {
|
|
|
1813
1815
|
}
|
|
1814
1816
|
|
|
1815
1817
|
handleMenuSelect(option) {
|
|
1816
|
-
this.setState(
|
|
1818
|
+
this.setState(_ref14 => {
|
|
1817
1819
|
var {
|
|
1818
1820
|
openOptions
|
|
1819
1821
|
} = _ref14;
|
|
@@ -2063,7 +2065,7 @@ export class IrisGrid extends Component {
|
|
|
2063
2065
|
handleAggregationChange(aggregation) {
|
|
2064
2066
|
log.debug('handleAggregationChange', aggregation);
|
|
2065
2067
|
this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
|
|
2066
|
-
this.setState(
|
|
2068
|
+
this.setState(_ref15 => {
|
|
2067
2069
|
var {
|
|
2068
2070
|
aggregationSettings
|
|
2069
2071
|
} = _ref15;
|
|
@@ -2450,25 +2452,72 @@ export class IrisGrid extends Component {
|
|
|
2450
2452
|
|
|
2451
2453
|
var columnTooltip = null;
|
|
2452
2454
|
|
|
2453
|
-
if (shownColumnTooltip != null && metrics) {
|
|
2455
|
+
if (shownColumnTooltip != null && metrics && this.gridWrapper) {
|
|
2454
2456
|
var {
|
|
2455
2457
|
columnHeaderHeight,
|
|
2456
2458
|
visibleColumnXs: _visibleColumnXs,
|
|
2457
|
-
visibleColumnWidths: _visibleColumnWidths
|
|
2459
|
+
visibleColumnWidths: _visibleColumnWidths,
|
|
2460
|
+
width
|
|
2458
2461
|
} = metrics;
|
|
2459
2462
|
|
|
2460
2463
|
var _columnX = _visibleColumnXs.get(shownColumnTooltip);
|
|
2461
2464
|
|
|
2462
2465
|
var _columnWidth = _visibleColumnWidths.get(shownColumnTooltip);
|
|
2466
|
+
/**
|
|
2467
|
+
* Create a wrapper dom element, the size of the column header.
|
|
2468
|
+
* The wrapper acts as tooltip parent, the tooltip component
|
|
2469
|
+
* will trigger hide on mouseleave of wrapper or tooltip.
|
|
2470
|
+
* The wrapper should be bound to within the grid dimensions,
|
|
2471
|
+
* so popper only remains triggered while mouse is inside the panel.
|
|
2472
|
+
*/
|
|
2473
|
+
|
|
2474
|
+
|
|
2475
|
+
var boundedLeft = Math.max(0, _columnX);
|
|
2476
|
+
var boundedWidth = _columnWidth;
|
|
2477
|
+
|
|
2478
|
+
if (_columnX + _columnWidth > width) {
|
|
2479
|
+
// column is extending past right edge
|
|
2480
|
+
boundedWidth = width - _columnX;
|
|
2481
|
+
} else if (_columnX < 0) {
|
|
2482
|
+
// column is extending past left edge
|
|
2483
|
+
boundedWidth = _columnWidth - Math.abs(_columnX);
|
|
2484
|
+
}
|
|
2463
2485
|
|
|
2464
2486
|
var wrapperStyle = {
|
|
2465
2487
|
position: 'absolute',
|
|
2466
2488
|
top: 0,
|
|
2467
|
-
left:
|
|
2468
|
-
width:
|
|
2489
|
+
left: boundedLeft,
|
|
2490
|
+
width: boundedWidth,
|
|
2469
2491
|
height: columnHeaderHeight,
|
|
2470
2492
|
pointerEvents: 'none'
|
|
2471
2493
|
};
|
|
2494
|
+
/**
|
|
2495
|
+
* Because the popper parent wrapper center is no longer the same as
|
|
2496
|
+
* the column label center, we create a popper virtual ref, to handle
|
|
2497
|
+
* positioning and keep the popper centered on the label. Creates a
|
|
2498
|
+
* 1px x headerHeight virtual object, placed centered on the column
|
|
2499
|
+
* label, clamped to 0 + margin to width - margin. We add a margin,
|
|
2500
|
+
* otherwise the arrow wants to escape the boundary.
|
|
2501
|
+
*/
|
|
2502
|
+
|
|
2503
|
+
var gridRect = this.gridWrapper.getBoundingClientRect();
|
|
2504
|
+
var popperMargin = 20;
|
|
2505
|
+
var virtualReference = {
|
|
2506
|
+
clientWidth: 1,
|
|
2507
|
+
clientHeight: columnHeaderHeight,
|
|
2508
|
+
|
|
2509
|
+
getBoundingClientRect() {
|
|
2510
|
+
return {
|
|
2511
|
+
top: gridRect.top,
|
|
2512
|
+
left: gridRect.left + clamp(_columnX + _columnWidth / 2, popperMargin, width - popperMargin),
|
|
2513
|
+
bottom: gridRect.top + columnHeaderHeight,
|
|
2514
|
+
right: gridRect.left + clamp(_columnX + _columnWidth / 2, popperMargin, width - popperMargin) + 1,
|
|
2515
|
+
width: 1,
|
|
2516
|
+
height: columnHeaderHeight
|
|
2517
|
+
};
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
};
|
|
2472
2521
|
var popperOptions = {
|
|
2473
2522
|
placement: 'bottom',
|
|
2474
2523
|
modifiers: {
|
|
@@ -2490,7 +2539,8 @@ export class IrisGrid extends Component {
|
|
|
2490
2539
|
timeout: 400,
|
|
2491
2540
|
interactive: true,
|
|
2492
2541
|
options: popperOptions,
|
|
2493
|
-
ref: this.handleTooltipRef
|
|
2542
|
+
ref: this.handleTooltipRef,
|
|
2543
|
+
referenceObject: virtualReference
|
|
2494
2544
|
}, /*#__PURE__*/React.createElement(ColumnStatistics, {
|
|
2495
2545
|
model: model,
|
|
2496
2546
|
column: column,
|