@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.
@@ -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 {};
@@ -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([]), selectedValues = _d[0], setSelectedValues = _d[1];
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: selectedValues })];
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
  }