@linzjs/step-ag-grid 1.5.1 → 1.5.2
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.js +5 -7
- package/dist/index.js.map +1 -1
- package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +1 -0
- package/dist/step-ag-grid.esm.js +6 -8
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/gridForm/GridFormMultiSelect.tsx +9 -7
- package/src/stories/components/GridPopoutEditMultiSelect.stories.tsx +63 -40
|
@@ -21,6 +21,7 @@ export interface GridFormMultiSelectProps<RowType extends GridBaseRow, ValueType
|
|
|
21
21
|
filterPlaceholder?: string;
|
|
22
22
|
onSave?: (props: MultiSelectResult<RowType>) => Promise<boolean>;
|
|
23
23
|
options: SelectOption<ValueType>[] | ((selectedRows: RowType[]) => Promise<SelectOption<ValueType>[]> | SelectOption<ValueType>[]);
|
|
24
|
+
initialSelectedValues?: (selectedRows: RowType[]) => any[];
|
|
24
25
|
}
|
|
25
26
|
export declare const GridFormMultiSelect: <RowType extends GridBaseRow, ValueType>(props: GridFormProps<RowType>) => JSX.Element;
|
|
26
27
|
export {};
|
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useMemo, useLayoutEffect, useEffect, createContext, memo, forwardRef, useRef, useContext, useState, useCallback, useReducer, cloneElement, useImperativeHandle, Fragment } from 'react';
|
|
2
2
|
import { unstable_batchedUpdates, flushSync, createPortal } from 'react-dom';
|
|
3
|
-
import { findIndex, isEmpty, castArray, remove, flatten, delay, sortBy, last, difference, xorBy } from 'lodash-es';
|
|
3
|
+
import { findIndex, isEmpty, castArray, remove, flatten, delay, sortBy, last, difference, xorBy, fromPairs } from 'lodash-es';
|
|
4
4
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
5
5
|
import { useTransition } from 'react-transition-state';
|
|
6
6
|
import { AgGridReact } from 'ag-grid-react';
|
|
@@ -2556,19 +2556,17 @@ var GridFormMultiSelect = function (props) {
|
|
|
2556
2556
|
var optionsInitialising = useRef(false);
|
|
2557
2557
|
var _c = useState(), options = _c[0], setOptions = _c[1];
|
|
2558
2558
|
var subSelectedValues = useRef({});
|
|
2559
|
-
var _d = useState(
|
|
2559
|
+
var _d = useState(function () {
|
|
2560
|
+
return formProps.initialSelectedValues ? formProps.initialSelectedValues(props.selectedRows) : [];
|
|
2561
|
+
}), selectedValues = _d[0], setSelectedValues = _d[1];
|
|
2560
2562
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2561
2563
|
var values;
|
|
2562
2564
|
return __generator(this, function (_a) {
|
|
2563
2565
|
switch (_a.label) {
|
|
2564
2566
|
case 0:
|
|
2565
|
-
values = {};
|
|
2566
|
-
selectedValues.forEach(function (value) {
|
|
2567
|
-
var _a;
|
|
2568
|
-
values[value] = (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true;
|
|
2569
|
-
});
|
|
2567
|
+
values = fromPairs(selectedValues.map(function (value) { var _a; return [value, (_a = subSelectedValues.current[value]) !== null && _a !== void 0 ? _a : true]; }));
|
|
2570
2568
|
if (!formProps.onSave) return [3 /*break*/, 2];
|
|
2571
|
-
return [4 /*yield*/, formProps.onSave({ selectedRows: selectedRows, values:
|
|
2569
|
+
return [4 /*yield*/, formProps.onSave({ selectedRows: selectedRows, values: values })];
|
|
2572
2570
|
case 1: return [2 /*return*/, _a.sent()];
|
|
2573
2571
|
case 2: return [2 /*return*/, true];
|
|
2574
2572
|
}
|