@linzjs/step-ag-grid 1.5.3 → 2.0.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/index.d.ts +9 -9
- package/dist/index.js +410 -358
- package/dist/index.js.map +1 -1
- package/dist/src/components/Grid.d.ts +1 -1
- package/dist/src/components/GridCell.d.ts +18 -27
- package/dist/src/components/GridPopoverHook.d.ts +4 -2
- package/dist/src/components/gridForm/GridFormDropDown.d.ts +8 -3
- package/dist/src/components/gridForm/GridFormEditBearing.d.ts +3 -4
- package/dist/src/components/gridForm/GridFormMessage.d.ts +4 -5
- package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +5 -10
- package/dist/src/components/gridForm/GridFormPopoutMenu.d.ts +3 -4
- package/dist/src/components/gridForm/GridFormTextArea.d.ts +2 -3
- package/dist/src/components/gridForm/GridFormTextInput.d.ts +3 -4
- package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +5 -270
- package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +2 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +3 -2
- package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +3 -2
- package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +1 -3
- package/dist/src/contexts/GridContext.d.ts +1 -0
- package/dist/src/contexts/GridPopoverContext.d.ts +17 -0
- package/dist/src/contexts/GridPopoverContextProvider.d.ts +6 -0
- package/dist/src/contexts/{UpdatingContext.d.ts → GridUpdatingContext.d.ts} +2 -2
- package/dist/src/contexts/GridUpdatingContextProvider.d.ts +7 -0
- package/dist/src/stories/components/FormTest.d.ts +1 -2
- package/dist/step-ag-grid.esm.js +404 -356
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Grid.tsx +20 -15
- package/src/components/GridCell.tsx +57 -79
- package/src/components/GridLoadableCell.tsx +4 -1
- package/src/components/GridPopoverHook.tsx +10 -14
- package/src/components/gridForm/GridFormDropDown.tsx +41 -30
- package/src/components/gridForm/GridFormEditBearing.tsx +13 -13
- package/src/components/gridForm/GridFormMessage.tsx +8 -13
- package/src/components/gridForm/GridFormMultiSelect.tsx +27 -29
- package/src/components/gridForm/GridFormPopoutMenu.tsx +10 -11
- package/src/components/gridForm/GridFormTextArea.tsx +16 -17
- package/src/components/gridForm/GridFormTextInput.tsx +19 -18
- package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +17 -16
- package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +53 -45
- package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +17 -16
- package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +20 -21
- package/src/components/gridPopoverEdit/GridPopoverMessage.ts +18 -16
- package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +12 -16
- package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +15 -15
- package/src/components/gridRender/GridRenderGenericCell.tsx +3 -5
- package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +2 -2
- package/src/contexts/GridContext.tsx +4 -0
- package/src/contexts/GridContextProvider.tsx +13 -5
- package/src/contexts/GridPopoverContext.tsx +32 -0
- package/src/contexts/GridPopoverContextProvider.tsx +53 -0
- package/src/contexts/{UpdatingContext.tsx → GridUpdatingContext.tsx} +2 -2
- package/src/contexts/{UpdatingContextProvider.tsx → GridUpdatingContextProvider.tsx} +8 -6
- package/src/stories/components/FormTest.tsx +4 -3
- package/src/stories/components/GridPopoutBearing.stories.tsx +28 -25
- package/src/stories/components/GridPopoutEditDropDown.stories.tsx +91 -50
- package/src/stories/components/GridPopoutEditGeneric.stories.tsx +18 -13
- package/src/stories/components/GridPopoutEditGenericTextArea.stories.tsx +76 -61
- package/src/stories/components/GridPopoutEditMultiSelect.stories.tsx +58 -51
- package/src/stories/components/GridReadOnly.stories.tsx +73 -57
- package/dist/src/contexts/UpdatingContextProvider.d.ts +0 -7
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -1632,7 +1632,7 @@ var MenuRadioGroupFr = function (_a, externalRef) {
|
|
|
1632
1632
|
};
|
|
1633
1633
|
var MenuRadioGroup = forwardRef(MenuRadioGroupFr);
|
|
1634
1634
|
|
|
1635
|
-
var
|
|
1635
|
+
var GridUpdatingContext = createContext({
|
|
1636
1636
|
checkUpdating: function () {
|
|
1637
1637
|
console.error("Missing UpdatingContext");
|
|
1638
1638
|
return false;
|
|
@@ -1645,7 +1645,7 @@ var UpdatingContext = createContext({
|
|
|
1645
1645
|
}); }
|
|
1646
1646
|
});
|
|
1647
1647
|
|
|
1648
|
-
var
|
|
1648
|
+
var GridUpdatingContextProvider = function (props) {
|
|
1649
1649
|
var updatingBlocks = useRef({});
|
|
1650
1650
|
var updating = useRef({});
|
|
1651
1651
|
var resetUpdating = function () {
|
|
@@ -1677,7 +1677,7 @@ var UpdatingContextProvider = function (props) {
|
|
|
1677
1677
|
var checkUpdating = function (fields, id) {
|
|
1678
1678
|
return castArray(fields).some(function (f) { var _a; return (_a = updating.current[f]) === null || _a === void 0 ? void 0 : _a.includes(id); });
|
|
1679
1679
|
};
|
|
1680
|
-
return (jsx(
|
|
1680
|
+
return (jsx(GridUpdatingContext.Provider, __assign({ value: { modifyUpdating: modifyUpdating, checkUpdating: checkUpdating } }, { children: props.children })));
|
|
1681
1681
|
};
|
|
1682
1682
|
|
|
1683
1683
|
var GridContext = createContext({
|
|
@@ -1732,6 +1732,9 @@ var GridContext = createContext({
|
|
|
1732
1732
|
ensureSelectedRowIsVisible: function () {
|
|
1733
1733
|
console.error("no context provider for ensureSelectedRowIsVisible");
|
|
1734
1734
|
},
|
|
1735
|
+
sizeColumnsToFit: function () {
|
|
1736
|
+
console.error("no context provider for sizeColumnsToFit");
|
|
1737
|
+
},
|
|
1735
1738
|
editingCells: function () {
|
|
1736
1739
|
console.error("no context provider for editingCells");
|
|
1737
1740
|
return false;
|
|
@@ -1753,7 +1756,7 @@ var GridContext = createContext({
|
|
|
1753
1756
|
* Also, make sure the provider is created in a separate component, otherwise it won't be found.
|
|
1754
1757
|
*/
|
|
1755
1758
|
var GridContextProvider = function (props) {
|
|
1756
|
-
var modifyUpdating = useContext(
|
|
1759
|
+
var modifyUpdating = useContext(GridUpdatingContext).modifyUpdating;
|
|
1757
1760
|
var gridApiRef = useRef();
|
|
1758
1761
|
var idsBeforeUpdate = useRef([]);
|
|
1759
1762
|
/**
|
|
@@ -1779,10 +1782,7 @@ var GridContextProvider = function (props) {
|
|
|
1779
1782
|
noApiFn = (function () { });
|
|
1780
1783
|
}
|
|
1781
1784
|
var gridApi = gridApiRef.current;
|
|
1782
|
-
|
|
1783
|
-
return hasApiFn(gridApi);
|
|
1784
|
-
console.error("GridApi not ready");
|
|
1785
|
-
return noApiFn();
|
|
1785
|
+
return gridApi ? hasApiFn(gridApi) : noApiFn();
|
|
1786
1786
|
};
|
|
1787
1787
|
/**
|
|
1788
1788
|
* Set the quick filter value to grid.
|
|
@@ -1942,6 +1942,14 @@ var GridContextProvider = function (props) {
|
|
|
1942
1942
|
gridApi.ensureNodeVisible(last(selectedNodes));
|
|
1943
1943
|
});
|
|
1944
1944
|
};
|
|
1945
|
+
/**
|
|
1946
|
+
* Resize columns to fit container
|
|
1947
|
+
*/
|
|
1948
|
+
var sizeColumnsToFit = function () {
|
|
1949
|
+
gridApiOp(function (gridApi) {
|
|
1950
|
+
gridApi.sizeColumnsToFit();
|
|
1951
|
+
});
|
|
1952
|
+
};
|
|
1945
1953
|
var stopEditing = function () { return gridApiOp(function (gridApi) { return gridApi.stopEditing(); }); };
|
|
1946
1954
|
var updatingCells = function (props, fnUpdate, setSaving) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1947
1955
|
return __generator(this, function (_a) {
|
|
@@ -2008,6 +2016,7 @@ var GridContextProvider = function (props) {
|
|
|
2008
2016
|
editingCells: editingCells,
|
|
2009
2017
|
ensureRowVisible: ensureRowVisible,
|
|
2010
2018
|
ensureSelectedRowIsVisible: ensureSelectedRowIsVisible,
|
|
2019
|
+
sizeColumnsToFit: sizeColumnsToFit,
|
|
2011
2020
|
stopEditing: stopEditing,
|
|
2012
2021
|
updatingCells: updatingCells
|
|
2013
2022
|
} }, { children: props.children })));
|
|
@@ -2193,8 +2202,8 @@ var GridHeaderSelect = function (_a) {
|
|
|
2193
2202
|
*/
|
|
2194
2203
|
var Grid = function (params) {
|
|
2195
2204
|
var _a;
|
|
2196
|
-
var _b = useContext(GridContext), gridReady = _b.gridReady, setGridApi = _b.setGridApi, setQuickFilter = _b.setQuickFilter, ensureRowVisible = _b.ensureRowVisible, selectRowsById = _b.selectRowsById, ensureSelectedRowIsVisible = _b.ensureSelectedRowIsVisible;
|
|
2197
|
-
var checkUpdating = useContext(
|
|
2205
|
+
var _b = useContext(GridContext), gridReady = _b.gridReady, setGridApi = _b.setGridApi, setQuickFilter = _b.setQuickFilter, ensureRowVisible = _b.ensureRowVisible, selectRowsById = _b.selectRowsById, ensureSelectedRowIsVisible = _b.ensureSelectedRowIsVisible, sizeColumnsToFit = _b.sizeColumnsToFit;
|
|
2206
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2198
2207
|
var _c = useState(""), internalQuickFilter = _c[0], setInternalQuickFilter = _c[1];
|
|
2199
2208
|
var lastSelectedIds = useRef([]);
|
|
2200
2209
|
var _d = useState(false), staleGrid = _d[0], setStaleGrid = _d[1];
|
|
@@ -2292,14 +2301,6 @@ var Grid = function (params) {
|
|
|
2292
2301
|
var _a;
|
|
2293
2302
|
return (jsx("span", __assign({ className: "ag-overlay-no-rows-center" }, { children: (_a = params.noRowsOverlayText) !== null && _a !== void 0 ? _a : "There are currently no rows" })));
|
|
2294
2303
|
}, [params.noRowsOverlayText]);
|
|
2295
|
-
var sizeColumnsToFit = useCallback(function (event) {
|
|
2296
|
-
// @ts-ignore (gridBodyCtrl is private)
|
|
2297
|
-
if (event.api.gridBodyCtrl == undefined) {
|
|
2298
|
-
return;
|
|
2299
|
-
// this is here because ag grid was throwing api undefined error when closing POPPED OUT panel
|
|
2300
|
-
}
|
|
2301
|
-
event.api.sizeColumnsToFit();
|
|
2302
|
-
}, []);
|
|
2303
2304
|
var refreshSelectedRows = useCallback(function (event) {
|
|
2304
2305
|
// Force-refresh all selected rows to re-run class function, to update selection highlighting
|
|
2305
2306
|
event.api.refreshCells({
|
|
@@ -2345,6 +2346,12 @@ var Grid = function (params) {
|
|
|
2345
2346
|
var cell = event.api.getFocusedCell();
|
|
2346
2347
|
cell && event.api.setFocusedCell(cell.rowIndex, cell.column);
|
|
2347
2348
|
}, [refreshSelectedRows]);
|
|
2349
|
+
// When rows added or removed then resize columns
|
|
2350
|
+
useEffect(function () {
|
|
2351
|
+
if (columnDefs === null || columnDefs === void 0 ? void 0 : columnDefs.length) {
|
|
2352
|
+
sizeColumnsToFit();
|
|
2353
|
+
}
|
|
2354
|
+
}, [columnDefs === null || columnDefs === void 0 ? void 0 : columnDefs.length, sizeColumnsToFit]);
|
|
2348
2355
|
return (jsxs("div", __assign({ "data-testid": params.dataTestId, className: clsx("Grid-container", "ag-theme-alpine", staleGrid && "Grid-sortIsStale") }, { children: [params.quickFilter && (jsx("div", __assign({ className: "Grid-quickFilter" }, { children: jsx("input", { "aria-label": "Search", className: "lui-margin-top-xxs lui-margin-bottom-xxs Grid-quickFilterBox", type: "text", placeholder: (_a = params.quickFilterPlaceholder) !== null && _a !== void 0 ? _a : "Search...", value: internalQuickFilter, onChange: function (event) {
|
|
2349
2356
|
setInternalQuickFilter(event.target.value);
|
|
2350
2357
|
} }) }))), jsx(AgGridReact, { getRowId: function (params) { return "".concat(params.data.id); }, suppressRowClickSelection: true, rowSelection: "multiple", suppressBrowserResizeObserver: true, colResizeDefault: "shift", onFirstDataRendered: sizeColumnsToFit, onGridSizeChanged: sizeColumnsToFit, suppressClickEdit: true, onCellKeyDown: onCellKeyDown, onCellClicked: onCellClicked, onCellDoubleClicked: onCellDoubleClick, onCellEditingStarted: refreshSelectedRows, onCellEditingStopped: onCellEditingStopped, domLayout: params.domLayout, columnDefs: columnDefs, rowData: params.rowData, noRowsOverlayComponent: noRowsOverlayComponent, onGridReady: onGridReady, onSortChanged: ensureSelectedRowIsVisible, postSortRows: postSortRows, onSelectionChanged: synchroniseExternalStateToGridSelection })] })));
|
|
@@ -2369,8 +2376,24 @@ styleInject(css_248z$5);
|
|
|
2369
2376
|
var css_248z$4 = ".GridLoadableCell-container {\n display: flex;\n align-items: center;\n}";
|
|
2370
2377
|
styleInject(css_248z$4);
|
|
2371
2378
|
|
|
2379
|
+
var GridPopoverContext = createContext({
|
|
2380
|
+
anchorRef: { current: null },
|
|
2381
|
+
updateValueRef: {
|
|
2382
|
+
current: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2383
|
+
return __generator(this, function (_a) {
|
|
2384
|
+
console.error("Missing GridPopoverContext updateValueRef");
|
|
2385
|
+
return [2 /*return*/, false];
|
|
2386
|
+
});
|
|
2387
|
+
}); }
|
|
2388
|
+
},
|
|
2389
|
+
saving: false,
|
|
2390
|
+
setSaving: function () { },
|
|
2391
|
+
setProps: function () { },
|
|
2392
|
+
propsRef: { current: null }
|
|
2393
|
+
});
|
|
2394
|
+
|
|
2372
2395
|
var GridLoadableCell = function (props) {
|
|
2373
|
-
|
|
2396
|
+
useContext(GridPopoverContext).saving;
|
|
2374
2397
|
if (props.isLoading) {
|
|
2375
2398
|
return (jsx("div", __assign({ style: { display: "flex", alignItems: "center" } }, { children: jsx(LuiMiniSpinner, { size: 22, divProps: { role: "status", "aria-label": "Loading", style: { marginBottom: 4 } } }) })));
|
|
2376
2399
|
}
|
|
@@ -2382,7 +2405,7 @@ var GridIcon = function (props) { return (jsx(LuiIcon, { name: props.icon, title
|
|
|
2382
2405
|
|
|
2383
2406
|
var GridRendererGenericCell = function (props) {
|
|
2384
2407
|
var _a, _b, _c;
|
|
2385
|
-
var checkUpdating = useContext(
|
|
2408
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2386
2409
|
var colDef = props.colDef;
|
|
2387
2410
|
var cellRendererParams = colDef.cellRendererParams;
|
|
2388
2411
|
var warningFn = cellRendererParams === null || cellRendererParams === void 0 ? void 0 : cellRendererParams.warning;
|
|
@@ -2399,9 +2422,57 @@ var GridRendererGenericCell = function (props) {
|
|
|
2399
2422
|
return (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx("span", __assign({ title: formatted }, { children: formatted }))] }) })));
|
|
2400
2423
|
};
|
|
2401
2424
|
|
|
2425
|
+
var GridPopoverContextProvider = function (props) {
|
|
2426
|
+
var _a = useContext(GridContext), getSelectedRows = _a.getSelectedRows, updatingCells = _a.updatingCells;
|
|
2427
|
+
var anchorRef = useRef();
|
|
2428
|
+
var propsRef = useRef({});
|
|
2429
|
+
var updateValueRef = useRef(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2430
|
+
return __generator(this, function (_a) {
|
|
2431
|
+
console.error("updateValueRef.current is not set");
|
|
2432
|
+
return [2 /*return*/, false];
|
|
2433
|
+
});
|
|
2434
|
+
}); });
|
|
2435
|
+
var _b = useState(false), saving = _b[0], setSaving = _b[1];
|
|
2436
|
+
var setProps = function (props, multiEdit) {
|
|
2437
|
+
var _a, _b;
|
|
2438
|
+
var selectedRows = multiEdit ? getSelectedRows() : [props.data];
|
|
2439
|
+
var field = (_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "";
|
|
2440
|
+
anchorRef.current = props.eGridCell;
|
|
2441
|
+
propsRef.current = {
|
|
2442
|
+
value: props.value,
|
|
2443
|
+
data: props.data,
|
|
2444
|
+
field: field,
|
|
2445
|
+
selectedRows: selectedRows
|
|
2446
|
+
};
|
|
2447
|
+
updateValueRef.current = function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2448
|
+
var _a;
|
|
2449
|
+
return __generator(this, function (_b) {
|
|
2450
|
+
switch (_b.label) {
|
|
2451
|
+
case 0:
|
|
2452
|
+
_a = !saving;
|
|
2453
|
+
if (!_a) return [3 /*break*/, 2];
|
|
2454
|
+
return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
|
|
2455
|
+
case 1:
|
|
2456
|
+
_a = (_b.sent());
|
|
2457
|
+
_b.label = 2;
|
|
2458
|
+
case 2: return [2 /*return*/, _a];
|
|
2459
|
+
}
|
|
2460
|
+
});
|
|
2461
|
+
}); };
|
|
2462
|
+
};
|
|
2463
|
+
return (jsx(GridPopoverContext.Provider, __assign({ value: {
|
|
2464
|
+
anchorRef: anchorRef,
|
|
2465
|
+
saving: saving,
|
|
2466
|
+
setSaving: setSaving,
|
|
2467
|
+
updateValueRef: updateValueRef,
|
|
2468
|
+
propsRef: propsRef,
|
|
2469
|
+
setProps: setProps
|
|
2470
|
+
} }, { children: props.children })));
|
|
2471
|
+
};
|
|
2472
|
+
|
|
2402
2473
|
var GridCellRenderer = function (props) {
|
|
2403
2474
|
var _a, _b, _c;
|
|
2404
|
-
var checkUpdating = useContext(
|
|
2475
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2405
2476
|
var colDef = props.colDef;
|
|
2406
2477
|
var rendererParams = colDef.cellRendererParams;
|
|
2407
2478
|
var warningFn = rendererParams === null || rendererParams === void 0 ? void 0 : rendererParams.warning;
|
|
@@ -2410,15 +2481,17 @@ var GridCellRenderer = function (props) {
|
|
|
2410
2481
|
var infoText = infoFn ? infoFn(props) : undefined;
|
|
2411
2482
|
return ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellRendererParams) === null || _a === void 0 ? void 0 : _a.originalCellRenderer) ? (jsx(GridLoadableCell, __assign({ isLoading: checkUpdating((_c = (_b = colDef.field) !== null && _b !== void 0 ? _b : colDef.colId) !== null && _c !== void 0 ? _c : "", props.data.id) }, { children: jsxs(Fragment$1, { children: [typeof warningText === "string" && jsx(GridIcon, { icon: "ic_warning", title: warningText }), typeof infoText === "string" && jsx(GridIcon, { icon: "ic_info", title: infoText }), jsx(colDef.cellRendererParams.originalCellRenderer, __assign({}, props))] }) }))) : (jsx(GridRendererGenericCell, __assign({}, props)));
|
|
2412
2483
|
};
|
|
2413
|
-
|
|
2484
|
+
/*
|
|
2414
2485
|
* For editing a text area.
|
|
2415
2486
|
*/
|
|
2416
|
-
var GridCell = function (props) {
|
|
2487
|
+
var GridCell = function (props, custom) {
|
|
2417
2488
|
var _a;
|
|
2418
|
-
return __assign(__assign(__assign(__assign({ sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, (
|
|
2419
|
-
cellClass: (
|
|
2420
|
-
editable: true,
|
|
2421
|
-
cellEditor: GenericCellEditorComponent
|
|
2489
|
+
return __assign(__assign(__assign(__assign(__assign({ sortable: !!((props === null || props === void 0 ? void 0 : props.field) || (props === null || props === void 0 ? void 0 : props.valueGetter)), resizable: true }, ((custom === null || custom === void 0 ? void 0 : custom.editor) && {
|
|
2490
|
+
cellClass: (custom === null || custom === void 0 ? void 0 : custom.multiEdit) ? GenericMultiEditCellClass : undefined,
|
|
2491
|
+
editable: (_a = props.editable) !== null && _a !== void 0 ? _a : true,
|
|
2492
|
+
cellEditor: GenericCellEditorComponent(custom.editor)
|
|
2493
|
+
})), ((custom === null || custom === void 0 ? void 0 : custom.editorParams) && {
|
|
2494
|
+
cellEditorParams: __assign(__assign({}, custom.editorParams), { multiEdit: custom.multiEdit })
|
|
2422
2495
|
})), {
|
|
2423
2496
|
// Default value formatter, otherwise react freaks out on objects
|
|
2424
2497
|
valueFormatter: function (params) {
|
|
@@ -2431,37 +2504,22 @@ var GridCell = function (props) {
|
|
|
2431
2504
|
return JSON.stringify(params.value);
|
|
2432
2505
|
} }), props), { cellRenderer: GridCellRenderer, cellRendererParams: __assign({ originalCellRenderer: props.cellRenderer }, props.cellRendererParams) });
|
|
2433
2506
|
};
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
|
|
2440
|
-
var field = (_b = props.colDef.field) !== null && _b !== void 0 ? _b : "";
|
|
2441
|
-
var formProps = (_c = colDef.cellEditorParams) !== null && _c !== void 0 ? _c : {};
|
|
2442
|
-
var value = props.value;
|
|
2443
|
-
var selectedRows = useMemo(function () { return (multiEdit ? getSelectedRows() : [data]); }, [data, getSelectedRows, multiEdit]);
|
|
2444
|
-
var _e = useState(false), saving = _e[0], setSaving = _e[1];
|
|
2445
|
-
var updateValue = useCallback(function (saveFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2446
|
-
var _a;
|
|
2447
|
-
return __generator(this, function (_b) {
|
|
2448
|
-
switch (_b.label) {
|
|
2449
|
-
case 0:
|
|
2450
|
-
_a = !saving;
|
|
2451
|
-
if (!_a) return [3 /*break*/, 2];
|
|
2452
|
-
return [4 /*yield*/, updatingCells({ selectedRows: selectedRows, field: field }, saveFn, setSaving)];
|
|
2453
|
-
case 1:
|
|
2454
|
-
_a = (_b.sent());
|
|
2455
|
-
_b.label = 2;
|
|
2456
|
-
case 2: return [2 /*return*/, _a];
|
|
2457
|
-
}
|
|
2458
|
-
});
|
|
2459
|
-
}); }, [field, saving, selectedRows, updatingCells]);
|
|
2460
|
-
if (cellEditorParams == null)
|
|
2461
|
-
return jsx(Fragment$1, {});
|
|
2462
|
-
return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props, { saving: saving })) : props.value }), (cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.form) && (jsx(cellEditorParams.form, { cellEditorParams: props, updateValue: updateValue, saving: saving, formProps: formProps, data: data, value: value, field: field, selectedRows: selectedRows }))] }));
|
|
2507
|
+
// TODO memo?
|
|
2508
|
+
var GenericCellEditorComponent = function (editor) {
|
|
2509
|
+
return forwardRef(function GenericCellEditorComponent2(props, _) {
|
|
2510
|
+
return (jsx(GridPopoverContextProvider, { children: jsx(GenericCellEditorComponent3, __assign({}, __assign(__assign({}, props), { editor: editor }))) }));
|
|
2511
|
+
});
|
|
2463
2512
|
};
|
|
2464
|
-
var
|
|
2513
|
+
var GenericCellEditorComponent3 = function (props) {
|
|
2514
|
+
var _a;
|
|
2515
|
+
var _b = useContext(GridPopoverContext), setProps = _b.setProps, propsRef = _b.propsRef;
|
|
2516
|
+
var colDef = props.colDef;
|
|
2517
|
+
var cellEditorParams = colDef.cellEditorParams;
|
|
2518
|
+
var multiEdit = (_a = cellEditorParams === null || cellEditorParams === void 0 ? void 0 : cellEditorParams.multiEdit) !== null && _a !== void 0 ? _a : false;
|
|
2519
|
+
// TODO don't need all these props in context
|
|
2520
|
+
setProps(props, multiEdit);
|
|
2521
|
+
return (jsxs(Fragment$1, { children: [jsx("div", { children: colDef.cellRenderer ? jsx(colDef.cellRenderer, __assign({}, props)) : props.value }), (props === null || props === void 0 ? void 0 : props.editor) && jsx(props.editor, __assign({}, cellEditorParams, propsRef.current))] }));
|
|
2522
|
+
};
|
|
2465
2523
|
|
|
2466
2524
|
/**
|
|
2467
2525
|
* If loading is true this returns a loading spinner, otherwise it returns its children.
|
|
@@ -2479,29 +2537,32 @@ var ComponentLoadingWrapper = function (props) {
|
|
|
2479
2537
|
} })), props.children] })));
|
|
2480
2538
|
};
|
|
2481
2539
|
|
|
2482
|
-
var useGridPopoverHook = function (props
|
|
2483
|
-
|
|
2484
|
-
var eGridCell = cellEditorParams.eGridCell;
|
|
2540
|
+
var useGridPopoverHook = function (props) {
|
|
2541
|
+
if (props === void 0) { props = {}; }
|
|
2485
2542
|
var stopEditing = useContext(GridContext).stopEditing;
|
|
2543
|
+
var _a = useContext(GridPopoverContext), anchorRef = _a.anchorRef, saving = _a.saving, updateValueRef = _a.updateValueRef;
|
|
2486
2544
|
var saveButtonRef = useRef(null);
|
|
2487
|
-
var
|
|
2488
|
-
anchorRef.current = eGridCell;
|
|
2489
|
-
var _a = useState(false), isOpen = _a[0], setOpen = _a[1];
|
|
2545
|
+
var _b = useState(false), isOpen = _b[0], setOpen = _b[1];
|
|
2490
2546
|
useEffect(function () {
|
|
2491
2547
|
setOpen(true);
|
|
2492
2548
|
}, []);
|
|
2493
2549
|
var triggerSave = useCallback(function (reason) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2494
|
-
var _a;
|
|
2495
|
-
return __generator(this, function (
|
|
2496
|
-
switch (
|
|
2550
|
+
var _a, _b;
|
|
2551
|
+
return __generator(this, function (_c) {
|
|
2552
|
+
switch (_c.label) {
|
|
2497
2553
|
case 0:
|
|
2498
|
-
_a = reason == "cancel" || !save;
|
|
2499
|
-
if (_a) return [3 /*break*/,
|
|
2500
|
-
|
|
2554
|
+
_a = reason == "cancel" || !props.save;
|
|
2555
|
+
if (_a) return [3 /*break*/, 3];
|
|
2556
|
+
_b = updateValueRef.current;
|
|
2557
|
+
if (!_b) return [3 /*break*/, 2];
|
|
2558
|
+
return [4 /*yield*/, updateValueRef.current(props.save)];
|
|
2501
2559
|
case 1:
|
|
2502
|
-
|
|
2503
|
-
|
|
2560
|
+
_b = (_c.sent());
|
|
2561
|
+
_c.label = 2;
|
|
2504
2562
|
case 2:
|
|
2563
|
+
_a = (_b);
|
|
2564
|
+
_c.label = 3;
|
|
2565
|
+
case 3:
|
|
2505
2566
|
if (_a) {
|
|
2506
2567
|
setOpen(false);
|
|
2507
2568
|
stopEditing();
|
|
@@ -2509,9 +2570,9 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2509
2570
|
return [2 /*return*/];
|
|
2510
2571
|
}
|
|
2511
2572
|
});
|
|
2512
|
-
}); }, [
|
|
2573
|
+
}); }, [props, stopEditing, updateValueRef]);
|
|
2513
2574
|
var popoverWrapper = useCallback(function (children) {
|
|
2514
|
-
return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "lui-menu", onClose: function (event) { return triggerSave(event.reason).then(); },
|
|
2575
|
+
return (jsx(Fragment$1, { children: anchorRef.current && (jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, saveButtonRef: saveButtonRef, menuClassName: "lui-menu", onClose: function (event) { return triggerSave(event.reason).then(); }, viewScroll: "auto", dontShrinkIfDirectionIsTop: true }, { children: [saving && (jsx("div", { style: {
|
|
2515
2576
|
position: "absolute",
|
|
2516
2577
|
left: 0,
|
|
2517
2578
|
top: 0,
|
|
@@ -2520,7 +2581,7 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2520
2581
|
backgroundColor: "rgba(64,64,64,0.1)",
|
|
2521
2582
|
zIndex: 1000
|
|
2522
2583
|
} })), children, jsx("button", { ref: saveButtonRef, onClick: function () { return triggerSave().then(); }, style: { display: "none" } })] }))) }));
|
|
2523
|
-
}, [isOpen, saving, triggerSave]);
|
|
2584
|
+
}, [anchorRef, isOpen, saving, triggerSave]);
|
|
2524
2585
|
return {
|
|
2525
2586
|
popoverWrapper: popoverWrapper,
|
|
2526
2587
|
triggerSave: triggerSave
|
|
@@ -2529,7 +2590,7 @@ var useGridPopoverHook = function (props, save) {
|
|
|
2529
2590
|
|
|
2530
2591
|
var GridRenderPopoutMenuCell = function (props) {
|
|
2531
2592
|
var _a, _b, _c;
|
|
2532
|
-
var checkUpdating = useContext(
|
|
2593
|
+
var checkUpdating = useContext(GridUpdatingContext).checkUpdating;
|
|
2533
2594
|
var isLoading = checkUpdating((_b = (_a = props.colDef) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : "", props.data.id);
|
|
2534
2595
|
var editable = (_c = props.colDef) === null || _c === void 0 ? void 0 : _c.editable;
|
|
2535
2596
|
var disabled = !(typeof editable === "function"
|
|
@@ -2549,17 +2610,189 @@ var GridRenderPopoutMenuCell = function (props) {
|
|
|
2549
2610
|
var css_248z$3 = "@charset \"UTF-8\";\n.szh-menu {\n margin: 0;\n padding: 0;\n list-style: none;\n box-sizing: border-box;\n width: max-content;\n z-index: 100;\n border: 1px solid rgba(0, 0, 0, 0.1);\n background-color: #fff;\n}\n.szh-menu:focus {\n outline: none;\n}\n.szh-menu__arrow {\n box-sizing: border-box;\n width: 0.75rem;\n height: 0.75rem;\n background-color: #fff;\n border: 1px solid transparent;\n border-left-color: rgba(0, 0, 0, 0.1);\n border-top-color: rgba(0, 0, 0, 0.1);\n z-index: -1;\n}\n.szh-menu__arrow--dir-left {\n right: -0.375rem;\n transform: translateY(-50%) rotate(135deg);\n}\n.szh-menu__arrow--dir-right {\n left: -0.375rem;\n transform: translateY(-50%) rotate(-45deg);\n}\n.szh-menu__arrow--dir-top {\n bottom: -0.375rem;\n transform: translateX(-50%) rotate(-135deg);\n}\n.szh-menu__arrow--dir-bottom {\n top: -0.375rem;\n transform: translateX(-50%) rotate(45deg);\n}\n.szh-menu__item {\n cursor: pointer;\n}\n.szh-menu__item:focus {\n outline: none;\n}\n.szh-menu__item--hover {\n background-color: #ebebeb;\n}\n.szh-menu__item--focusable {\n cursor: default;\n background-color: inherit;\n}\n.szh-menu__item--disabled {\n cursor: default;\n color: #aaa;\n}\n.szh-menu__group {\n box-sizing: border-box;\n}\n.szh-menu__radio-group {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.szh-menu__divider {\n height: 1px;\n margin: 0.5rem 0;\n background-color: rgba(0, 0, 0, 0.12);\n}\n\n.szh-menu-button {\n box-sizing: border-box;\n}\n\n.szh-menu {\n user-select: none;\n color: #212529;\n border: none;\n border-radius: 0.25rem;\n box-shadow: 0 3px 7px rgba(0, 0, 0, 0.133), 0 0.6px 2px rgba(0, 0, 0, 0.1);\n min-width: 10rem;\n padding: 0.5rem 0;\n}\n.szh-menu__item {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0.375rem 1.5rem;\n}\n.szh-menu-container--itemTransition .szh-menu__item {\n transition-property: background-color, color;\n transition-duration: 0.15s;\n transition-timing-function: ease-in-out;\n}\n.szh-menu__item--type-radio {\n padding-left: 2.2rem;\n}\n.szh-menu__item--type-radio::before {\n content: \"○\";\n position: absolute;\n left: 0.8rem;\n top: 0.55rem;\n font-size: 0.8rem;\n}\n.szh-menu__item--type-radio.szh-menu__item--checked::before {\n content: \"●\";\n}\n.szh-menu__item--type-checkbox {\n padding-left: 2.2rem;\n}\n.szh-menu__item--type-checkbox::before {\n position: absolute;\n left: 0.8rem;\n}\n.szh-menu__item--type-checkbox.szh-menu__item--checked::before {\n content: \"✔\";\n}\n.szh-menu__submenu > .szh-menu__item {\n padding-right: 2.5rem;\n}\n.szh-menu__submenu > .szh-menu__item::after {\n content: \"❯\";\n position: absolute;\n right: 1rem;\n}\n.szh-menu__header {\n color: #888;\n font-size: 0.8rem;\n padding: 0.2rem 1.5rem;\n text-transform: uppercase;\n}";
|
|
2550
2611
|
styleInject(css_248z$3);
|
|
2551
2612
|
|
|
2552
|
-
var MenuSeparatorString
|
|
2553
|
-
Object.freeze({ value: MenuSeparatorString
|
|
2613
|
+
var MenuSeparatorString = "_____MENU_SEPARATOR_____";
|
|
2614
|
+
var MenuSeparator = Object.freeze({ value: MenuSeparatorString });
|
|
2615
|
+
var MenuHeaderString = "_____MENU_HEADER_____";
|
|
2616
|
+
var MenuHeaderItem = function (title) {
|
|
2617
|
+
return { label: title, value: MenuHeaderString };
|
|
2618
|
+
};
|
|
2619
|
+
var GridFormDropDown = function (_props) {
|
|
2620
|
+
var props = _props;
|
|
2621
|
+
var _a = useContext(GridContext), updatingCells = _a.updatingCells, stopEditing = _a.stopEditing;
|
|
2622
|
+
var _b = useState(""), filter = _b[0], setFilter = _b[1];
|
|
2623
|
+
var _c = useState([]), filteredValues = _c[0], setFilteredValues = _c[1];
|
|
2624
|
+
var optionsInitialising = useRef(false);
|
|
2625
|
+
var _d = useState(null), options = _d[0], setOptions = _d[1];
|
|
2626
|
+
var selectItemHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2627
|
+
var field;
|
|
2628
|
+
return __generator(this, function (_a) {
|
|
2629
|
+
switch (_a.label) {
|
|
2630
|
+
case 0:
|
|
2631
|
+
field = props.field;
|
|
2632
|
+
return [4 /*yield*/, updatingCells({ selectedRows: props.selectedRows, field: field }, function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2633
|
+
var hasChanged;
|
|
2634
|
+
return __generator(this, function (_a) {
|
|
2635
|
+
switch (_a.label) {
|
|
2636
|
+
case 0:
|
|
2637
|
+
hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
|
|
2638
|
+
if (!hasChanged) return [3 /*break*/, 3];
|
|
2639
|
+
if (!props.onSelectedItem) return [3 /*break*/, 2];
|
|
2640
|
+
return [4 /*yield*/, props.onSelectedItem({ selectedRows: selectedRows, value: value })];
|
|
2641
|
+
case 1:
|
|
2642
|
+
_a.sent();
|
|
2643
|
+
return [3 /*break*/, 3];
|
|
2644
|
+
case 2:
|
|
2645
|
+
selectedRows.forEach(function (row) { return (row[field] = value); });
|
|
2646
|
+
_a.label = 3;
|
|
2647
|
+
case 3: return [2 /*return*/, true];
|
|
2648
|
+
}
|
|
2649
|
+
});
|
|
2650
|
+
}); })];
|
|
2651
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
2652
|
+
}
|
|
2653
|
+
});
|
|
2654
|
+
}); }, [props, updatingCells]);
|
|
2655
|
+
var selectFilterHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2656
|
+
var field;
|
|
2657
|
+
return __generator(this, function (_a) {
|
|
2658
|
+
switch (_a.label) {
|
|
2659
|
+
case 0:
|
|
2660
|
+
field = props.field;
|
|
2661
|
+
return [4 /*yield*/, updatingCells({ selectedRows: props.selectedRows, field: field }, function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2662
|
+
return __generator(this, function (_a) {
|
|
2663
|
+
switch (_a.label) {
|
|
2664
|
+
case 0:
|
|
2665
|
+
if (!props.onSelectFilter) return [3 /*break*/, 2];
|
|
2666
|
+
return [4 /*yield*/, props.onSelectFilter({ selectedRows: selectedRows, value: value })];
|
|
2667
|
+
case 1:
|
|
2668
|
+
_a.sent();
|
|
2669
|
+
_a.label = 2;
|
|
2670
|
+
case 2: return [2 /*return*/, true];
|
|
2671
|
+
}
|
|
2672
|
+
});
|
|
2673
|
+
}); })];
|
|
2674
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
2675
|
+
}
|
|
2676
|
+
});
|
|
2677
|
+
}); }, [props, updatingCells]);
|
|
2678
|
+
// Load up options list if it's async function
|
|
2679
|
+
useEffect(function () {
|
|
2680
|
+
var _a;
|
|
2681
|
+
if (options || optionsInitialising.current)
|
|
2682
|
+
return;
|
|
2683
|
+
optionsInitialising.current = true;
|
|
2684
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2685
|
+
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2686
|
+
var optionsList;
|
|
2687
|
+
return __generator(this, function (_a) {
|
|
2688
|
+
switch (_a.label) {
|
|
2689
|
+
case 0:
|
|
2690
|
+
if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
|
|
2691
|
+
return [4 /*yield*/, optionsConf(props.selectedRows, filter)];
|
|
2692
|
+
case 1:
|
|
2693
|
+
optionsConf = _a.sent();
|
|
2694
|
+
_a.label = 2;
|
|
2695
|
+
case 2:
|
|
2696
|
+
optionsList = optionsConf === null || optionsConf === void 0 ? void 0 : optionsConf.map(function (item) {
|
|
2697
|
+
if (item == null || typeof item == "string" || typeof item == "number") {
|
|
2698
|
+
item = { value: item, label: item, disabled: false };
|
|
2699
|
+
}
|
|
2700
|
+
return item;
|
|
2701
|
+
});
|
|
2702
|
+
if (props.filtered) {
|
|
2703
|
+
// This is needed otherwise when filter input is rendered and sets autofocus
|
|
2704
|
+
// the mouse up of the double click edit triggers the cell to cancel editing
|
|
2705
|
+
delay(function () { return setOptions(optionsList); }, 100);
|
|
2706
|
+
}
|
|
2707
|
+
else {
|
|
2708
|
+
setOptions(optionsList);
|
|
2709
|
+
}
|
|
2710
|
+
optionsInitialising.current = false;
|
|
2711
|
+
return [2 /*return*/];
|
|
2712
|
+
}
|
|
2713
|
+
});
|
|
2714
|
+
}); })();
|
|
2715
|
+
}, [filter, options, props]);
|
|
2716
|
+
// Local filtering.
|
|
2717
|
+
useEffect(function () {
|
|
2718
|
+
if (props.filtered == "local") {
|
|
2719
|
+
if (options == null)
|
|
2720
|
+
return;
|
|
2721
|
+
setFilteredValues(options
|
|
2722
|
+
.map(function (option) {
|
|
2723
|
+
if (option.label != null && typeof option.label !== "string") {
|
|
2724
|
+
console.error("Cannot filter non-string labels", option);
|
|
2725
|
+
return undefined;
|
|
2726
|
+
}
|
|
2727
|
+
var str = option.label || "";
|
|
2728
|
+
return str.toLowerCase().indexOf(filter) === -1 ? option.value : undefined;
|
|
2729
|
+
})
|
|
2730
|
+
.filter(function (r) { return r !== undefined; }));
|
|
2731
|
+
}
|
|
2732
|
+
}, [props.filtered, filter, options]);
|
|
2733
|
+
var researchOnFilterChange = debounce(useCallback(function () {
|
|
2734
|
+
setOptions(null);
|
|
2735
|
+
}, []), 500);
|
|
2736
|
+
var previousFilter = useRef(filter);
|
|
2737
|
+
// Reload filtering.
|
|
2738
|
+
useEffect(function () {
|
|
2739
|
+
if (previousFilter.current != filter && props.filtered == "reload") {
|
|
2740
|
+
previousFilter.current = filter;
|
|
2741
|
+
props.optionsRequestCancel && props.optionsRequestCancel();
|
|
2742
|
+
researchOnFilterChange().then();
|
|
2743
|
+
}
|
|
2744
|
+
}, [filter, props, researchOnFilterChange]);
|
|
2745
|
+
var onFilterKeyDown = useCallback(function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2746
|
+
var activeOptions;
|
|
2747
|
+
return __generator(this, function (_a) {
|
|
2748
|
+
switch (_a.label) {
|
|
2749
|
+
case 0:
|
|
2750
|
+
if (!options)
|
|
2751
|
+
return [2 /*return*/];
|
|
2752
|
+
if (!(e.key == "Enter" || e.key == "Tab")) return [3 /*break*/, 5];
|
|
2753
|
+
activeOptions = options.filter(function (option) { return !filteredValues.includes(option.value); });
|
|
2754
|
+
if (!(activeOptions.length == 1)) return [3 /*break*/, 2];
|
|
2755
|
+
return [4 /*yield*/, selectItemHandler(activeOptions[0].value)];
|
|
2756
|
+
case 1:
|
|
2757
|
+
_a.sent();
|
|
2758
|
+
stopEditing();
|
|
2759
|
+
return [3 /*break*/, 5];
|
|
2760
|
+
case 2:
|
|
2761
|
+
if (!props.onSelectFilter) return [3 /*break*/, 4];
|
|
2762
|
+
return [4 /*yield*/, selectFilterHandler(filter)];
|
|
2763
|
+
case 3:
|
|
2764
|
+
_a.sent();
|
|
2765
|
+
stopEditing();
|
|
2766
|
+
return [3 /*break*/, 5];
|
|
2767
|
+
case 4:
|
|
2768
|
+
e.preventDefault();
|
|
2769
|
+
e.stopPropagation();
|
|
2770
|
+
_a.label = 5;
|
|
2771
|
+
case 5: return [2 /*return*/];
|
|
2772
|
+
}
|
|
2773
|
+
});
|
|
2774
|
+
}); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, props]);
|
|
2775
|
+
var maxRowsStyles = props.maxRows !== undefined ? { maxHeight: 62 + 34 * props.maxRows, overFlowY: "auto" } : undefined;
|
|
2776
|
+
var popoverWrapper = useGridPopoverHook().popoverWrapper;
|
|
2777
|
+
return popoverWrapper(jsxs(Fragment$1, { children: [props.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
2778
|
+
var _b;
|
|
2779
|
+
var ref = _a.ref;
|
|
2780
|
+
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: filter, onChange: function (e) { return setFilter(e.target.value.toLowerCase()); }, onKeyDown: function (e) { return onFilterKeyDown(e); } }) })));
|
|
2781
|
+
} })), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs("div", __assign({ style: maxRowsStyles }, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2782
|
+
var _a;
|
|
2783
|
+
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : item.value === MenuHeaderString ? (jsx(MenuHeader, { children: item.label })) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
|
|
2784
|
+
})] })) }))] }));
|
|
2785
|
+
};
|
|
2786
|
+
|
|
2554
2787
|
var GridFormMultiSelect = function (props) {
|
|
2555
|
-
var
|
|
2788
|
+
var selectedRows = props.selectedRows;
|
|
2556
2789
|
var _a = useState(""), filter = _a[0], setFilter = _a[1];
|
|
2557
2790
|
var _b = useState([]), filteredValues = _b[0], setFilteredValues = _b[1];
|
|
2558
2791
|
var optionsInitialising = useRef(false);
|
|
2559
2792
|
var _c = useState(), options = _c[0], setOptions = _c[1];
|
|
2560
2793
|
var subSelectedValues = useRef({});
|
|
2561
2794
|
var _d = useState(function () {
|
|
2562
|
-
return
|
|
2795
|
+
return props.initialSelectedValues ? props.initialSelectedValues(selectedRows) : [];
|
|
2563
2796
|
}), selectedValues = _d[0], setSelectedValues = _d[1];
|
|
2564
2797
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2565
2798
|
var values;
|
|
@@ -2567,28 +2800,28 @@ var GridFormMultiSelect = function (props) {
|
|
|
2567
2800
|
switch (_a.label) {
|
|
2568
2801
|
case 0:
|
|
2569
2802
|
values = fromPairs(selectedValues.map(function (value) { var _a; return [value, (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true]; }));
|
|
2570
|
-
if (!
|
|
2571
|
-
return [4 /*yield*/,
|
|
2803
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
2804
|
+
return [4 /*yield*/, props.onSave({ selectedRows: selectedRows, values: values })];
|
|
2572
2805
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2573
2806
|
case 2: return [2 /*return*/, true];
|
|
2574
2807
|
}
|
|
2575
2808
|
});
|
|
2576
|
-
}); }, [
|
|
2577
|
-
var _e = useGridPopoverHook(
|
|
2809
|
+
}); }, [props, selectedValues]);
|
|
2810
|
+
var _e = useGridPopoverHook({ save: save }), popoverWrapper = _e.popoverWrapper, triggerSave = _e.triggerSave;
|
|
2578
2811
|
// Load up options list if it's async function
|
|
2579
2812
|
useEffect(function () {
|
|
2580
2813
|
var _a;
|
|
2581
2814
|
if (options || optionsInitialising.current)
|
|
2582
2815
|
return;
|
|
2583
2816
|
optionsInitialising.current = true;
|
|
2584
|
-
var optionsConf = (_a =
|
|
2817
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2585
2818
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2586
2819
|
var optionsList;
|
|
2587
2820
|
return __generator(this, function (_a) {
|
|
2588
2821
|
switch (_a.label) {
|
|
2589
2822
|
case 0:
|
|
2590
2823
|
if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
|
|
2591
|
-
return [4 /*yield*/, optionsConf(
|
|
2824
|
+
return [4 /*yield*/, optionsConf(selectedRows)];
|
|
2592
2825
|
case 1:
|
|
2593
2826
|
optionsConf = _a.sent();
|
|
2594
2827
|
_a.label = 2;
|
|
@@ -2599,7 +2832,7 @@ var GridFormMultiSelect = function (props) {
|
|
|
2599
2832
|
}
|
|
2600
2833
|
return item;
|
|
2601
2834
|
});
|
|
2602
|
-
if (
|
|
2835
|
+
if (props.filtered) {
|
|
2603
2836
|
// This is needed otherwise when filter input is rendered and sets autofocus
|
|
2604
2837
|
// the mouse up of the double click edit triggers the cell to cancel editing
|
|
2605
2838
|
delay(function () { return setOptions(optionsList); }, 100);
|
|
@@ -2612,9 +2845,9 @@ var GridFormMultiSelect = function (props) {
|
|
|
2612
2845
|
}
|
|
2613
2846
|
});
|
|
2614
2847
|
}); })();
|
|
2615
|
-
}, [
|
|
2848
|
+
}, [props.filtered, props.options, options, selectedRows]);
|
|
2616
2849
|
useEffect(function () {
|
|
2617
|
-
if (!
|
|
2850
|
+
if (!props.filtered || options == null)
|
|
2618
2851
|
return;
|
|
2619
2852
|
setFilteredValues(options
|
|
2620
2853
|
.map(function (option) {
|
|
@@ -2626,14 +2859,14 @@ var GridFormMultiSelect = function (props) {
|
|
|
2626
2859
|
return str.toLowerCase().indexOf(filter.trim()) === -1 ? option.value : undefined;
|
|
2627
2860
|
})
|
|
2628
2861
|
.filter(function (r) { return r !== undefined; }));
|
|
2629
|
-
}, [
|
|
2630
|
-
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs("div", __assign({ className: "Grid-popoverContainerList" }, { children: [options &&
|
|
2862
|
+
}, [props.filtered, filter, options]);
|
|
2863
|
+
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs("div", __assign({ className: "Grid-popoverContainerList" }, { children: [options && props.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
2631
2864
|
var _b;
|
|
2632
2865
|
var ref = _a.ref;
|
|
2633
|
-
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b =
|
|
2866
|
+
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = props.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: "", onChange: function (e) { return setFilter(e.target.value.toLowerCase()); } }) })));
|
|
2634
2867
|
} }), "filter"), jsx(MenuDivider, {}, "$$divider_filter")] })), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2635
2868
|
var _a;
|
|
2636
|
-
return item.value === MenuSeparatorString
|
|
2869
|
+
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxs(Fragment, { children: [jsx(MenuItem, __assign({ onClick: function (e) {
|
|
2637
2870
|
e.keepOpen = true;
|
|
2638
2871
|
if (selectedValues.includes(item.value)) {
|
|
2639
2872
|
setSelectedValues(selectedValues.filter(function (value) { return value != item.value; }));
|
|
@@ -2676,24 +2909,21 @@ var GridFormMultiSelect = function (props) {
|
|
|
2676
2909
|
})] })) })));
|
|
2677
2910
|
};
|
|
2678
2911
|
|
|
2679
|
-
var GridPopoutEditMultiSelect = function (colDef) {
|
|
2680
|
-
|
|
2681
|
-
return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, cellClass: ((_a = colDef.cellEditor) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
2682
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMultiSelect })
|
|
2683
|
-
})));
|
|
2912
|
+
var GridPopoutEditMultiSelect = function (colDef, props) {
|
|
2913
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormMultiSelect }, props));
|
|
2684
2914
|
};
|
|
2685
2915
|
|
|
2686
2916
|
var css_248z$2 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.GridPopoutMenu-burger {\n cursor: pointer;\n}\n.GridPopoutMenu-burger svg {\n fill: #007198;\n}\n\n.GridPopoutMenu-burgerDisabled svg {\n fill: #989189;\n}";
|
|
2687
2917
|
styleInject(css_248z$2);
|
|
2688
2918
|
|
|
2689
2919
|
/** Menu configuration types **/
|
|
2690
|
-
var
|
|
2920
|
+
var PopoutMenuSeparator = Object.freeze({ __isMenuSeparator__: true });
|
|
2691
2921
|
/**
|
|
2692
2922
|
* NOTE: If the popout menu doesn't appear on single click when also selecting row it's because
|
|
2693
2923
|
* you need a useMemo around your columnDefs
|
|
2694
2924
|
*/
|
|
2695
|
-
var GridFormPopoutMenu = function (
|
|
2696
|
-
var
|
|
2925
|
+
var GridFormPopoutMenu = function (_props) {
|
|
2926
|
+
var props = _props;
|
|
2697
2927
|
var updatingCells = useContext(GridContext).updatingCells;
|
|
2698
2928
|
var optionsInitialising = useRef(false);
|
|
2699
2929
|
var _a = useState(), options = _a[0], setOptions = _a[1];
|
|
@@ -2703,7 +2933,7 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2703
2933
|
if (options || optionsInitialising.current)
|
|
2704
2934
|
return;
|
|
2705
2935
|
optionsInitialising.current = true;
|
|
2706
|
-
var optionsConf = (_a =
|
|
2936
|
+
var optionsConf = (_a = props.options) !== null && _a !== void 0 ? _a : [];
|
|
2707
2937
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
2708
2938
|
var _a;
|
|
2709
2939
|
return __generator(this, function (_b) {
|
|
@@ -2724,7 +2954,7 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2724
2954
|
}
|
|
2725
2955
|
});
|
|
2726
2956
|
}); })();
|
|
2727
|
-
}, [options,
|
|
2957
|
+
}, [options, props.options, props.selectedRows]);
|
|
2728
2958
|
var actionClick = useCallback(function (menuOption) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2729
2959
|
return __generator(this, function (_a) {
|
|
2730
2960
|
switch (_a.label) {
|
|
@@ -2750,25 +2980,23 @@ var GridFormPopoutMenu = function (props) {
|
|
|
2750
2980
|
}); }, [props.field, props.selectedRows, updatingCells]);
|
|
2751
2981
|
var selectedRowCount = props.selectedRows.length;
|
|
2752
2982
|
var filteredOptions = options === null || options === void 0 ? void 0 : options.filter(function (menuOption) {
|
|
2753
|
-
return menuOption.label ===
|
|
2983
|
+
return menuOption.label === PopoutMenuSeparator || selectedRowCount === 1 || menuOption.supportsMultiEdit;
|
|
2754
2984
|
});
|
|
2755
|
-
var popoverWrapper = useGridPopoverHook(
|
|
2985
|
+
var popoverWrapper = useGridPopoverHook().popoverWrapper;
|
|
2756
2986
|
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions }, { children: jsx("div", __assign({ className: "Grid-popoverContainerList" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
2757
|
-
return item.label ===
|
|
2987
|
+
return item.label === PopoutMenuSeparator ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : (!item.hidden && (jsx(MenuItem, __assign({ onClick: function () { return actionClick(item); }, disabled: !!item.disabled || !(filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.includes(item)), title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "" }, { children: item.label }), "".concat(item.label))));
|
|
2758
2988
|
}) })) })));
|
|
2759
2989
|
};
|
|
2760
2990
|
|
|
2761
2991
|
/**
|
|
2762
2992
|
* Popout burger menu
|
|
2763
2993
|
*/
|
|
2764
|
-
var GridPopoverMenu = function (colDef) {
|
|
2994
|
+
var GridPopoverMenu = function (colDef, props) {
|
|
2765
2995
|
var _a;
|
|
2766
|
-
return GridCell(__assign(__assign(
|
|
2996
|
+
return GridCell(__assign(__assign({ maxWidth: 64, editable: colDef.editable != null ? colDef.editable : true, cellRenderer: GridRenderPopoutMenuCell, cellClass: ((_a = colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) !== false ? GenericMultiEditCellClass : undefined }, colDef), { cellRendererParams: {
|
|
2767
2997
|
// Menus open on single click, this parameter is picked up in Grid.tsx
|
|
2768
2998
|
singleClickEdit: true
|
|
2769
|
-
} }), (
|
|
2770
|
-
cellEditorParams: __assign(__assign({ multiEdit: true }, colDef.cellEditorParams), { form: GridFormPopoutMenu })
|
|
2771
|
-
})));
|
|
2999
|
+
} }), __assign({ editor: GridFormPopoutMenu }, props));
|
|
2772
3000
|
};
|
|
2773
3001
|
|
|
2774
3002
|
var bearingValueFormatter = function (params) {
|
|
@@ -2859,9 +3087,9 @@ var TextInputFormatted = function (props) {
|
|
|
2859
3087
|
return (jsxs("div", __assign({ className: clsx("LuiTextInput Grid-popoverContainer", props.error && "hasError", props.warning && "hasWarning", props.className) }, { children: [jsxs("span", __assign({ className: "LuiTextInput-inputWrapper" }, { children: [jsx("input", __assign({ type: "text", className: "LuiTextInput-input", min: "0", value: props.value, onChange: props.onChange }, props.inputProps)), jsx("span", __assign({ className: "LuiTextInput-formatted" }, { children: props.formatted }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextInput-error-icon", size: "sm", status: "error" }), props.error] }))), props.warning && (jsxs("span", __assign({ className: "LuiTextInput-warning" }, { children: [jsx(LuiIcon, { alt: "warning", name: "ic_warning", className: "LuiTextInput-warning-icon", size: "sm", status: "warning" }), props.warning] })))] })));
|
|
2860
3088
|
};
|
|
2861
3089
|
|
|
2862
|
-
var GridFormEditBearing = function (
|
|
3090
|
+
var GridFormEditBearing = function (_props) {
|
|
2863
3091
|
var _a;
|
|
2864
|
-
var
|
|
3092
|
+
var props = _props;
|
|
2865
3093
|
var _b = useState("".concat((_a = props.value) !== null && _a !== void 0 ? _a : "")), value = _b[0], setValue = _b[1];
|
|
2866
3094
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2867
3095
|
var parsedValue, field_1;
|
|
@@ -2875,8 +3103,8 @@ var GridFormEditBearing = function (props) {
|
|
|
2875
3103
|
if (parsedValue === props.value) {
|
|
2876
3104
|
return [2 /*return*/, true];
|
|
2877
3105
|
}
|
|
2878
|
-
if (!
|
|
2879
|
-
return [4 /*yield*/,
|
|
3106
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3107
|
+
return [4 /*yield*/, props.onSave(selectedRows, parsedValue)];
|
|
2880
3108
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2881
3109
|
case 2:
|
|
2882
3110
|
field_1 = props.field;
|
|
@@ -2890,42 +3118,42 @@ var GridFormEditBearing = function (props) {
|
|
|
2890
3118
|
case 3: return [2 /*return*/, true];
|
|
2891
3119
|
}
|
|
2892
3120
|
});
|
|
2893
|
-
}); }, [
|
|
2894
|
-
var _c = useGridPopoverHook(
|
|
3121
|
+
}); }, [props, value]);
|
|
3122
|
+
var _c = useGridPopoverHook({ save: save }), triggerSave = _c.triggerSave, popoverWrapper = _c.popoverWrapper;
|
|
2895
3123
|
return popoverWrapper(jsx("div", __assign({ className: "GridFormEditBearing-input Grid-popoverContainer" }, { children: jsx(TextInputFormatted, { value: value !== null && value !== void 0 ? value : "", onChange: function (e) {
|
|
2896
3124
|
setValue(e.target.value.trim());
|
|
2897
3125
|
}, inputProps: {
|
|
2898
3126
|
autoFocus: true,
|
|
2899
|
-
placeholder:
|
|
3127
|
+
placeholder: props.placeHolder,
|
|
2900
3128
|
disabled: false,
|
|
2901
3129
|
maxLength: 16,
|
|
2902
3130
|
onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
2903
3131
|
return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
|
|
2904
3132
|
}); }); }
|
|
2905
|
-
}, formatted: bearingStringValidator(value,
|
|
3133
|
+
}, formatted: bearingStringValidator(value, props.range) ? "?" : convertDDToDMS(bearingNumberParser(value)), error: bearingStringValidator(value, props.range) }) })));
|
|
2906
3134
|
};
|
|
2907
3135
|
|
|
2908
|
-
var GridPopoverEditBearingLike = function (colDef) {
|
|
2909
|
-
|
|
2910
|
-
return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: ((_a = colDef.cellEditorParams) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
2911
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormEditBearing })
|
|
2912
|
-
})));
|
|
3136
|
+
var GridPopoverEditBearingLike = function (colDef, props) {
|
|
3137
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, valueFormatter: bearingValueFormatter, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormEditBearing }, props));
|
|
2913
3138
|
};
|
|
2914
|
-
var GridPopoverEditBearing = function (colDef) {
|
|
2915
|
-
|
|
2916
|
-
|
|
3139
|
+
var GridPopoverEditBearing = function (colDef, props) {
|
|
3140
|
+
return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingValueFormatter }, colDef), {
|
|
3141
|
+
multiEdit: !!props.multiEdit,
|
|
3142
|
+
editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
|
|
2917
3143
|
if (value === null)
|
|
2918
|
-
return "Bearing is required";
|
|
3144
|
+
return "Bearing correction is required";
|
|
2919
3145
|
if (value >= 360)
|
|
2920
|
-
return "Bearing must be less than 360 degrees";
|
|
3146
|
+
return "Bearing correction must be less than 360 degrees";
|
|
2921
3147
|
if (value < 0)
|
|
2922
|
-
return "Bearing must not be negative";
|
|
3148
|
+
return "Bearing correction must not be negative";
|
|
2923
3149
|
return null;
|
|
2924
|
-
} },
|
|
3150
|
+
} }, props.editorParams)
|
|
3151
|
+
});
|
|
2925
3152
|
};
|
|
2926
|
-
var GridPopoverEditBearingCorrection = function (colDef) {
|
|
2927
|
-
|
|
2928
|
-
|
|
3153
|
+
var GridPopoverEditBearingCorrection = function (colDef, props) {
|
|
3154
|
+
return GridPopoverEditBearingLike(__assign({ valueFormatter: bearingCorrectionValueFormatter }, colDef), {
|
|
3155
|
+
multiEdit: !!props.multiEdit,
|
|
3156
|
+
editorParams: __assign({ placeHolder: "Enter bearing correction", range: function (value) {
|
|
2929
3157
|
if (value === null)
|
|
2930
3158
|
return "Bearing is required";
|
|
2931
3159
|
if (value >= 360)
|
|
@@ -2933,189 +3161,18 @@ var GridPopoverEditBearingCorrection = function (colDef) {
|
|
|
2933
3161
|
if (value <= -180)
|
|
2934
3162
|
return "Bearing must be greater then -180 degrees";
|
|
2935
3163
|
return null;
|
|
2936
|
-
} },
|
|
2937
|
-
};
|
|
2938
|
-
|
|
2939
|
-
var MenuSeparatorString = "_____MENU_SEPARATOR_____";
|
|
2940
|
-
Object.freeze({ value: MenuSeparatorString });
|
|
2941
|
-
var GridFormDropDown = function (props) {
|
|
2942
|
-
var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
|
|
2943
|
-
var formProps = props.formProps;
|
|
2944
|
-
var _a = useContext(GridContext), updatingCells = _a.updatingCells, stopEditing = _a.stopEditing;
|
|
2945
|
-
var _b = useState(""), filter = _b[0], setFilter = _b[1];
|
|
2946
|
-
var _c = useState([]), filteredValues = _c[0], setFilteredValues = _c[1];
|
|
2947
|
-
var optionsInitialising = useRef(false);
|
|
2948
|
-
var _d = useState(null), options = _d[0], setOptions = _d[1];
|
|
2949
|
-
var selectItemHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2950
|
-
var field;
|
|
2951
|
-
return __generator(this, function (_a) {
|
|
2952
|
-
switch (_a.label) {
|
|
2953
|
-
case 0:
|
|
2954
|
-
field = props.field;
|
|
2955
|
-
return [4 /*yield*/, updatingCells({ selectedRows: props.selectedRows, field: field }, function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2956
|
-
var hasChanged;
|
|
2957
|
-
return __generator(this, function (_a) {
|
|
2958
|
-
switch (_a.label) {
|
|
2959
|
-
case 0:
|
|
2960
|
-
hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
|
|
2961
|
-
if (!hasChanged) return [3 /*break*/, 3];
|
|
2962
|
-
if (!formProps.onSelectedItem) return [3 /*break*/, 2];
|
|
2963
|
-
return [4 /*yield*/, formProps.onSelectedItem({ selectedRows: selectedRows, value: value })];
|
|
2964
|
-
case 1:
|
|
2965
|
-
_a.sent();
|
|
2966
|
-
return [3 /*break*/, 3];
|
|
2967
|
-
case 2:
|
|
2968
|
-
selectedRows.forEach(function (row) { return (row[field] = value); });
|
|
2969
|
-
_a.label = 3;
|
|
2970
|
-
case 3: return [2 /*return*/, true];
|
|
2971
|
-
}
|
|
2972
|
-
});
|
|
2973
|
-
}); })];
|
|
2974
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
2975
|
-
}
|
|
2976
|
-
});
|
|
2977
|
-
}); }, [formProps, props.field, props.selectedRows, updatingCells]);
|
|
2978
|
-
var selectFilterHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2979
|
-
var field;
|
|
2980
|
-
return __generator(this, function (_a) {
|
|
2981
|
-
switch (_a.label) {
|
|
2982
|
-
case 0:
|
|
2983
|
-
field = props.field;
|
|
2984
|
-
return [4 /*yield*/, updatingCells({ selectedRows: props.selectedRows, field: field }, function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2985
|
-
return __generator(this, function (_a) {
|
|
2986
|
-
switch (_a.label) {
|
|
2987
|
-
case 0:
|
|
2988
|
-
if (!formProps.onSelectFilter) return [3 /*break*/, 2];
|
|
2989
|
-
return [4 /*yield*/, formProps.onSelectFilter({ selectedRows: selectedRows, value: value })];
|
|
2990
|
-
case 1:
|
|
2991
|
-
_a.sent();
|
|
2992
|
-
_a.label = 2;
|
|
2993
|
-
case 2: return [2 /*return*/, true];
|
|
2994
|
-
}
|
|
2995
|
-
});
|
|
2996
|
-
}); })];
|
|
2997
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
2998
|
-
}
|
|
2999
|
-
});
|
|
3000
|
-
}); }, [formProps, props.field, props.selectedRows, updatingCells]);
|
|
3001
|
-
// Load up options list if it's async function
|
|
3002
|
-
useEffect(function () {
|
|
3003
|
-
var _a;
|
|
3004
|
-
if (options || optionsInitialising.current)
|
|
3005
|
-
return;
|
|
3006
|
-
optionsInitialising.current = true;
|
|
3007
|
-
var optionsConf = (_a = formProps.options) !== null && _a !== void 0 ? _a : [];
|
|
3008
|
-
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3009
|
-
var optionsList;
|
|
3010
|
-
return __generator(this, function (_a) {
|
|
3011
|
-
switch (_a.label) {
|
|
3012
|
-
case 0:
|
|
3013
|
-
if (!(typeof optionsConf == "function")) return [3 /*break*/, 2];
|
|
3014
|
-
return [4 /*yield*/, optionsConf(props.selectedRows, filter)];
|
|
3015
|
-
case 1:
|
|
3016
|
-
optionsConf = _a.sent();
|
|
3017
|
-
_a.label = 2;
|
|
3018
|
-
case 2:
|
|
3019
|
-
optionsList = optionsConf === null || optionsConf === void 0 ? void 0 : optionsConf.map(function (item) {
|
|
3020
|
-
if (item == null || typeof item == "string" || typeof item == "number") {
|
|
3021
|
-
item = { value: item, label: item, disabled: false };
|
|
3022
|
-
}
|
|
3023
|
-
return item;
|
|
3024
|
-
});
|
|
3025
|
-
if (formProps.filtered) {
|
|
3026
|
-
// This is needed otherwise when filter input is rendered and sets autofocus
|
|
3027
|
-
// the mouse up of the double click edit triggers the cell to cancel editing
|
|
3028
|
-
delay(function () { return setOptions(optionsList); }, 100);
|
|
3029
|
-
}
|
|
3030
|
-
else {
|
|
3031
|
-
setOptions(optionsList);
|
|
3032
|
-
}
|
|
3033
|
-
optionsInitialising.current = false;
|
|
3034
|
-
return [2 /*return*/];
|
|
3035
|
-
}
|
|
3036
|
-
});
|
|
3037
|
-
}); })();
|
|
3038
|
-
}, [filter, options, formProps.filtered, formProps.options, props.selectedRows]);
|
|
3039
|
-
// Local filtering
|
|
3040
|
-
useEffect(function () {
|
|
3041
|
-
if (formProps.filtered == "local") {
|
|
3042
|
-
if (options == null)
|
|
3043
|
-
return;
|
|
3044
|
-
setFilteredValues(options
|
|
3045
|
-
.map(function (option) {
|
|
3046
|
-
if (option.label != null && typeof option.label !== "string") {
|
|
3047
|
-
console.error("Cannot filter non-string labels", option);
|
|
3048
|
-
return undefined;
|
|
3049
|
-
}
|
|
3050
|
-
var str = option.label || "";
|
|
3051
|
-
return str.toLowerCase().indexOf(filter) === -1 ? option.value : undefined;
|
|
3052
|
-
})
|
|
3053
|
-
.filter(function (r) { return r !== undefined; }));
|
|
3054
|
-
}
|
|
3055
|
-
}, [formProps.filtered, filter, options]);
|
|
3056
|
-
var researchOnFilterChange = debounce(useCallback(function () {
|
|
3057
|
-
setOptions(null);
|
|
3058
|
-
}, []), 500);
|
|
3059
|
-
var previousFilter = useRef(filter);
|
|
3060
|
-
// Reload filtering
|
|
3061
|
-
useEffect(function () {
|
|
3062
|
-
if (previousFilter.current != filter && formProps.filtered == "reload") {
|
|
3063
|
-
previousFilter.current = filter;
|
|
3064
|
-
formProps.optionsRequestCancel && formProps.optionsRequestCancel();
|
|
3065
|
-
researchOnFilterChange().then();
|
|
3066
|
-
}
|
|
3067
|
-
}, [filter, formProps, props, researchOnFilterChange]);
|
|
3068
|
-
var onFilterKeyDown = useCallback(function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3069
|
-
var activeOptions;
|
|
3070
|
-
return __generator(this, function (_a) {
|
|
3071
|
-
switch (_a.label) {
|
|
3072
|
-
case 0:
|
|
3073
|
-
if (!options)
|
|
3074
|
-
return [2 /*return*/];
|
|
3075
|
-
if (!(e.key == "Enter" || e.key == "Tab")) return [3 /*break*/, 5];
|
|
3076
|
-
activeOptions = options.filter(function (option) { return !filteredValues.includes(option.value); });
|
|
3077
|
-
if (!(activeOptions.length == 1)) return [3 /*break*/, 2];
|
|
3078
|
-
return [4 /*yield*/, selectItemHandler(activeOptions[0].value)];
|
|
3079
|
-
case 1:
|
|
3080
|
-
_a.sent();
|
|
3081
|
-
stopEditing();
|
|
3082
|
-
return [3 /*break*/, 5];
|
|
3083
|
-
case 2:
|
|
3084
|
-
if (!formProps.onSelectFilter) return [3 /*break*/, 4];
|
|
3085
|
-
return [4 /*yield*/, selectFilterHandler(filter)];
|
|
3086
|
-
case 3:
|
|
3087
|
-
_a.sent();
|
|
3088
|
-
stopEditing();
|
|
3089
|
-
return [3 /*break*/, 5];
|
|
3090
|
-
case 4:
|
|
3091
|
-
e.preventDefault();
|
|
3092
|
-
e.stopPropagation();
|
|
3093
|
-
_a.label = 5;
|
|
3094
|
-
case 5: return [2 /*return*/];
|
|
3095
|
-
}
|
|
3096
|
-
});
|
|
3097
|
-
}); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, formProps]);
|
|
3098
|
-
return popoverWrapper(jsxs(Fragment$1, { children: [formProps.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
3099
|
-
var _b;
|
|
3100
|
-
var ref = _a.ref;
|
|
3101
|
-
return (jsx("div", __assign({ style: { display: "flex", width: "100%" } }, { children: jsx("input", { autoFocus: true, className: "free-text-input", style: { border: "0px" }, ref: ref, type: "text", placeholder: (_b = formProps.filterPlaceholder) !== null && _b !== void 0 ? _b : "Placeholder", "data-testid": "filteredMenu-free-text-input", defaultValue: filter, onChange: function (e) { return setFilter(e.target.value.toLowerCase()); }, onKeyDown: function (e) { return onFilterKeyDown(e); } }) })));
|
|
3102
|
-
} })), jsx(MenuDivider, {}, "$$divider_filter")] })), jsx(ComponentLoadingWrapper, __assign({ loading: !options }, { children: jsxs(Fragment$1, { children: [options && options.length == (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length) && jsx(MenuItem, { children: "[Empty]" }), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
|
|
3103
|
-
var _a;
|
|
3104
|
-
return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : filteredValues.includes(item.value) ? null : (jsx(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function () { return selectItemHandler(item.value); } }, { children: (_a = item.label) !== null && _a !== void 0 ? _a : (item.value == null ? "<".concat(item.value, ">") : "".concat(item.value)) }), "".concat(props.field, "-").concat(index)));
|
|
3105
|
-
})] }) }))] }));
|
|
3164
|
+
} }, props.editorParams)
|
|
3165
|
+
});
|
|
3106
3166
|
};
|
|
3107
3167
|
|
|
3108
|
-
var GridPopoverEditDropDown = function (colDef) {
|
|
3109
|
-
|
|
3110
|
-
return GridCell(__assign(__assign({ initialWidth: 65, maxWidth: 150, cellClass: ((_a = colDef.cellEditor) === null || _a === void 0 ? void 0 : _a.multiEdit) ? GenericMultiEditCellClass : undefined }, colDef), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
3111
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormDropDown })
|
|
3112
|
-
})));
|
|
3168
|
+
var GridPopoverEditDropDown = function (colDef, props) {
|
|
3169
|
+
return GridCell(__assign({ initialWidth: 65, maxWidth: 150, cellClass: props.multiEdit ? GenericMultiEditCellClass : undefined }, colDef), __assign({ editor: GridFormDropDown }, props));
|
|
3113
3170
|
};
|
|
3114
3171
|
|
|
3115
|
-
var GridFormMessage = function (
|
|
3116
|
-
var
|
|
3172
|
+
var GridFormMessage = function (_props) {
|
|
3173
|
+
var props = _props;
|
|
3117
3174
|
var _a = useState(null), message = _a[0], setMessage = _a[1];
|
|
3118
|
-
var popoverWrapper = useGridPopoverHook(
|
|
3175
|
+
var popoverWrapper = useGridPopoverHook().popoverWrapper;
|
|
3119
3176
|
useEffect(function () {
|
|
3120
3177
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3121
3178
|
var _a;
|
|
@@ -3123,24 +3180,19 @@ var GridFormMessage = function (props) {
|
|
|
3123
3180
|
switch (_b.label) {
|
|
3124
3181
|
case 0:
|
|
3125
3182
|
_a = setMessage;
|
|
3126
|
-
return [4 /*yield*/,
|
|
3183
|
+
return [4 /*yield*/, props.message(props)];
|
|
3127
3184
|
case 1:
|
|
3128
3185
|
_a.apply(void 0, [_b.sent()]);
|
|
3129
3186
|
return [2 /*return*/];
|
|
3130
3187
|
}
|
|
3131
3188
|
});
|
|
3132
3189
|
}); })().then();
|
|
3133
|
-
}, [
|
|
3190
|
+
}, [props]);
|
|
3134
3191
|
return popoverWrapper(jsx(ComponentLoadingWrapper, __assign({ loading: message === null }, { children: jsx("div", __assign({ style: { maxWidth: 400 }, className: "Grid-popoverContainer" }, { children: message })) })));
|
|
3135
3192
|
};
|
|
3136
3193
|
|
|
3137
|
-
var GridPopoverMessage = function (colDef) {
|
|
3138
|
-
|
|
3139
|
-
return GridCell(__assign(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: (_a = colDef.cellRendererParams) !== null && _a !== void 0 ? _a : {
|
|
3140
|
-
singleClickEdit: true
|
|
3141
|
-
} }), ((colDef === null || colDef === void 0 ? void 0 : colDef.cellEditorParams) && {
|
|
3142
|
-
cellEditorParams: __assign(__assign({}, colDef.cellEditorParams), { form: GridFormMessage })
|
|
3143
|
-
})));
|
|
3194
|
+
var GridPopoverMessage = function (colDef, props) {
|
|
3195
|
+
return GridCell(__assign(__assign({ maxWidth: 140 }, colDef), { cellRendererParams: __assign({ singleClickEdit: true }, colDef.cellRendererParams) }), __assign({ editor: GridFormMessage }, props));
|
|
3144
3196
|
};
|
|
3145
3197
|
|
|
3146
3198
|
var useGenerateOrDefaultId = function (idFromProps) {
|
|
@@ -3153,22 +3205,22 @@ var TextAreaInput = function (props) {
|
|
|
3153
3205
|
return (jsxs("div", __assign({ className: clsx("LuiTextAreaInput Grid-popoverContainer", ((_b = props.inputProps) === null || _b === void 0 ? void 0 : _b.disabled) ? "isDisabled" : "", (props === null || props === void 0 ? void 0 : props.error) ? "hasError" : "") }, { children: [jsxs("label", __assign({ htmlFor: id }, { children: [props.mandatory && jsx("span", __assign({ className: "LuiTextAreaInput-mandatory" }, { children: "*" })), props.label && jsx("span", __assign({ className: "LuiTextAreaInput-label" }, { children: props.label })), jsxs("div", __assign({ className: "LuiTextAreaInput-wrapper" }, { children: [" ", jsx("textarea", __assign({ id: id, value: props.value, onChange: props.onChange, rows: 5 }, props.inputProps))] }))] })), props.error && (jsxs("span", __assign({ className: "LuiTextAreaInput-error" }, { children: [jsx(LuiIcon, { alt: "error", name: "ic_error", className: "LuiTextAreaInput-error-icon", size: "sm", status: "error" }), props.error] })))] })));
|
|
3154
3206
|
};
|
|
3155
3207
|
|
|
3156
|
-
var GridFormTextArea = function (
|
|
3208
|
+
var GridFormTextArea = function (_props) {
|
|
3157
3209
|
var _a, _b;
|
|
3158
|
-
var
|
|
3210
|
+
var props = _props;
|
|
3159
3211
|
var _c = useState((_a = props.value) !== null && _a !== void 0 ? _a : ""), value = _c[0], setValue = _c[1];
|
|
3160
3212
|
var invalid = useCallback(function () {
|
|
3161
|
-
if (
|
|
3213
|
+
if (props.required && value.length == 0) {
|
|
3162
3214
|
return "Some text is required";
|
|
3163
3215
|
}
|
|
3164
|
-
if (
|
|
3165
|
-
return "Text must be no longer than ".concat(
|
|
3216
|
+
if (props.maxlength && value.length > props.maxlength) {
|
|
3217
|
+
return "Text must be no longer than ".concat(props.maxlength, " characters");
|
|
3166
3218
|
}
|
|
3167
|
-
if (
|
|
3168
|
-
return
|
|
3219
|
+
if (props.validate) {
|
|
3220
|
+
return props.validate(value);
|
|
3169
3221
|
}
|
|
3170
3222
|
return null;
|
|
3171
|
-
}, [
|
|
3223
|
+
}, [props, value]);
|
|
3172
3224
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3173
3225
|
var field;
|
|
3174
3226
|
return __generator(this, function (_a) {
|
|
@@ -3178,8 +3230,8 @@ var GridFormTextArea = function (props) {
|
|
|
3178
3230
|
return [2 /*return*/, false];
|
|
3179
3231
|
if (props.value === (value !== null && value !== void 0 ? value : ""))
|
|
3180
3232
|
return [2 /*return*/, true];
|
|
3181
|
-
if (!
|
|
3182
|
-
return [4 /*yield*/,
|
|
3233
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3234
|
+
return [4 /*yield*/, props.onSave(selectedRows, value)];
|
|
3183
3235
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3184
3236
|
case 2:
|
|
3185
3237
|
field = props.field;
|
|
@@ -3191,35 +3243,33 @@ var GridFormTextArea = function (props) {
|
|
|
3191
3243
|
return [2 /*return*/, true];
|
|
3192
3244
|
}
|
|
3193
3245
|
});
|
|
3194
|
-
}); }, [
|
|
3195
|
-
var popoverWrapper = useGridPopoverHook(
|
|
3196
|
-
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b =
|
|
3246
|
+
}); }, [props, invalid, value]);
|
|
3247
|
+
var popoverWrapper = useGridPopoverHook({ save: save }).popoverWrapper;
|
|
3248
|
+
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = props.width) !== null && _b !== void 0 ? _b : 240 }, className: "FormTest" }, { children: jsx(TextAreaInput, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), inputProps: { placeholder: props.placeholder } }) })));
|
|
3197
3249
|
};
|
|
3198
3250
|
|
|
3199
|
-
var GridPopoverTextArea = function (colDef) {
|
|
3200
|
-
return GridCell(__assign(
|
|
3201
|
-
cellEditorParams: __assign(__assign({ width: 260 }, colDef.cellEditorParams), { form: GridFormTextArea })
|
|
3202
|
-
})));
|
|
3251
|
+
var GridPopoverTextArea = function (colDef, params) {
|
|
3252
|
+
return GridCell(__assign({ maxWidth: 260 }, colDef), __assign({ editor: GridFormTextArea }, params));
|
|
3203
3253
|
};
|
|
3204
3254
|
|
|
3205
|
-
var GridFormTextInput = function (
|
|
3255
|
+
var GridFormTextInput = function (_props) {
|
|
3206
3256
|
var _a;
|
|
3207
|
-
var
|
|
3257
|
+
var props = _props;
|
|
3208
3258
|
var initValue = props.value == null ? "" : "".concat(props.value);
|
|
3209
3259
|
var _b = useState(initValue), value = _b[0], setValue = _b[1];
|
|
3210
3260
|
var invalid = useCallback(function () {
|
|
3211
3261
|
var trimmedValue = value.trim();
|
|
3212
|
-
if (
|
|
3262
|
+
if (props.required && trimmedValue.length == 0) {
|
|
3213
3263
|
return "Some text is required";
|
|
3214
3264
|
}
|
|
3215
|
-
if (
|
|
3216
|
-
return "Text must be no longer than ".concat(
|
|
3265
|
+
if (props.maxlength && trimmedValue.length > props.maxlength) {
|
|
3266
|
+
return "Text must be no longer than ".concat(props.maxlength, " characters");
|
|
3217
3267
|
}
|
|
3218
|
-
if (
|
|
3219
|
-
return
|
|
3268
|
+
if (props.validate) {
|
|
3269
|
+
return props.validate(trimmedValue, props.data);
|
|
3220
3270
|
}
|
|
3221
3271
|
return null;
|
|
3222
|
-
}, [
|
|
3272
|
+
}, [props, value]);
|
|
3223
3273
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3224
3274
|
var trimmedValue, field;
|
|
3225
3275
|
return __generator(this, function (_a) {
|
|
@@ -3230,8 +3280,8 @@ var GridFormTextInput = function (props) {
|
|
|
3230
3280
|
trimmedValue = value.trim();
|
|
3231
3281
|
if (initValue === trimmedValue)
|
|
3232
3282
|
return [2 /*return*/, true];
|
|
3233
|
-
if (!
|
|
3234
|
-
return [4 /*yield*/,
|
|
3283
|
+
if (!props.onSave) return [3 /*break*/, 2];
|
|
3284
|
+
return [4 /*yield*/, props.onSave(selectedRows, trimmedValue)];
|
|
3235
3285
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3236
3286
|
case 2:
|
|
3237
3287
|
field = props.field;
|
|
@@ -3243,21 +3293,19 @@ var GridFormTextInput = function (props) {
|
|
|
3243
3293
|
return [2 /*return*/, true];
|
|
3244
3294
|
}
|
|
3245
3295
|
});
|
|
3246
|
-
}); }, [invalid, value, initValue,
|
|
3247
|
-
var _c = useGridPopoverHook(
|
|
3248
|
-
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a =
|
|
3296
|
+
}); }, [invalid, value, initValue, props]);
|
|
3297
|
+
var _c = useGridPopoverHook({ save: save }), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
|
|
3298
|
+
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = props.width) !== null && _a !== void 0 ? _a : 240 }, className: "FormTest" }, { children: jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: props.units, inputProps: {
|
|
3249
3299
|
style: { width: "100%" },
|
|
3250
|
-
placeholder:
|
|
3300
|
+
placeholder: props.placeholder,
|
|
3251
3301
|
onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
3252
3302
|
return [2 /*return*/, e.key === "Enter" && triggerSave().then()];
|
|
3253
3303
|
}); }); }
|
|
3254
3304
|
} }) })));
|
|
3255
3305
|
};
|
|
3256
3306
|
|
|
3257
|
-
var GridPopoverTextInput = function (colDef) {
|
|
3258
|
-
return GridCell(__assign(
|
|
3259
|
-
cellEditorParams: __assign(__assign({ width: 240 }, colDef.cellEditorParams), { form: GridFormTextInput })
|
|
3260
|
-
})));
|
|
3307
|
+
var GridPopoverTextInput = function (colDef, params) {
|
|
3308
|
+
return GridCell(__assign({ maxWidth: 140 }, colDef), __assign({ editor: GridFormTextInput }, params));
|
|
3261
3309
|
};
|
|
3262
3310
|
|
|
3263
3311
|
var GridSubComponentTextArea = function (props) {
|
|
@@ -3268,5 +3316,5 @@ var GridSubComponentTextArea = function (props) {
|
|
|
3268
3316
|
return (jsx("div", __assign({ className: "FreeTextInput LuiDeprecatedForms" }, { children: jsx("textarea", { autoFocus: true, maxLength: 10000, spellCheck: true, className: "free-text-input", onChange: function (e) { return setValue(e.target.value); }, defaultValue: value }) })));
|
|
3269
3317
|
};
|
|
3270
3318
|
|
|
3271
|
-
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent,
|
|
3319
|
+
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent, GenericMultiEditCellClass, Grid, GridCell, GridCellRenderer, GridContext, GridContextProvider, GridFormDropDown, GridFormEditBearing, GridFormMessage, GridFormMultiSelect, GridFormPopoutMenu, GridFormTextArea, GridFormTextInput, GridHeaderSelect, GridIcon, GridLoadableCell, GridPopoutEditMultiSelect, GridPopoverEditBearing, GridPopoverEditBearingCorrection, GridPopoverEditDropDown, GridPopoverMenu, GridPopoverMessage, GridPopoverTextArea, GridPopoverTextInput, GridRenderPopoutMenuCell, GridRendererGenericCell, GridSubComponentTextArea, GridUpdatingContext, GridUpdatingContextProvider, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuHeaderItem, MenuHeaderString, MenuItem, MenuRadioGroup, MenuSeparator, MenuSeparatorString, PopoutMenuSeparator, SubMenu, TextAreaInput, TextInputFormatted, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
|
|
3272
3320
|
//# sourceMappingURL=step-ag-grid.esm.js.map
|