@linzjs/step-ag-grid 1.4.10 → 1.5.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.js +35 -5
- package/dist/index.js.map +1 -1
- package/dist/src/components/gridForm/GridFormDropDown.d.ts +1 -0
- package/dist/step-ag-grid.esm.js +35 -5
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/gridForm/GridFormDropDown.tsx +18 -1
- package/src/stories/components/GridPopoutEditDropDown.stories.tsx +24 -0
|
@@ -20,6 +20,7 @@ export interface GridFormPopoutDropDownProps<RowType extends GridBaseRow, ValueT
|
|
|
20
20
|
filtered?: "local" | "reload";
|
|
21
21
|
filterPlaceholder?: string;
|
|
22
22
|
onSelectedItem?: (props: GridPopoutEditDropDownSelectedItem<RowType, ValueType>) => Promise<void>;
|
|
23
|
+
onSelectFilter?: (props: GridPopoutEditDropDownSelectedItem<RowType, string>) => Promise<void>;
|
|
23
24
|
options: SelectOption<ValueType>[] | ((selectedRows: RowType[], filter?: string) => Promise<SelectOption<ValueType>[]> | SelectOption<ValueType>[]);
|
|
24
25
|
optionsRequestCancel?: () => void;
|
|
25
26
|
}
|
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -2954,6 +2954,29 @@ var GridFormDropDown = function (props) {
|
|
|
2954
2954
|
}
|
|
2955
2955
|
});
|
|
2956
2956
|
}); }, [formProps, props.field, props.selectedRows, updatingCells]);
|
|
2957
|
+
var selectFilterHandler = useCallback(function (value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2958
|
+
var field;
|
|
2959
|
+
return __generator(this, function (_a) {
|
|
2960
|
+
switch (_a.label) {
|
|
2961
|
+
case 0:
|
|
2962
|
+
field = props.field;
|
|
2963
|
+
return [4 /*yield*/, updatingCells({ selectedRows: props.selectedRows, field: field }, function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2964
|
+
return __generator(this, function (_a) {
|
|
2965
|
+
switch (_a.label) {
|
|
2966
|
+
case 0:
|
|
2967
|
+
if (!formProps.onSelectFilter) return [3 /*break*/, 2];
|
|
2968
|
+
return [4 /*yield*/, formProps.onSelectFilter({ selectedRows: selectedRows, value: value })];
|
|
2969
|
+
case 1:
|
|
2970
|
+
_a.sent();
|
|
2971
|
+
_a.label = 2;
|
|
2972
|
+
case 2: return [2 /*return*/, true];
|
|
2973
|
+
}
|
|
2974
|
+
});
|
|
2975
|
+
}); })];
|
|
2976
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
2977
|
+
}
|
|
2978
|
+
});
|
|
2979
|
+
}); }, [formProps, props.field, props.selectedRows, updatingCells]);
|
|
2957
2980
|
// Load up options list if it's async function
|
|
2958
2981
|
useEffect(function () {
|
|
2959
2982
|
var _a;
|
|
@@ -3028,22 +3051,29 @@ var GridFormDropDown = function (props) {
|
|
|
3028
3051
|
case 0:
|
|
3029
3052
|
if (!options)
|
|
3030
3053
|
return [2 /*return*/];
|
|
3031
|
-
if (!(e.key == "Enter" || e.key == "Tab")) return [3 /*break*/,
|
|
3054
|
+
if (!(e.key == "Enter" || e.key == "Tab")) return [3 /*break*/, 5];
|
|
3032
3055
|
activeOptions = options.filter(function (option) { return !filteredValues.includes(option.value); });
|
|
3033
3056
|
if (!(activeOptions.length == 1)) return [3 /*break*/, 2];
|
|
3034
3057
|
return [4 /*yield*/, selectItemHandler(activeOptions[0].value)];
|
|
3035
3058
|
case 1:
|
|
3036
3059
|
_a.sent();
|
|
3037
3060
|
stopEditing();
|
|
3038
|
-
return [3 /*break*/,
|
|
3061
|
+
return [3 /*break*/, 5];
|
|
3039
3062
|
case 2:
|
|
3063
|
+
if (!formProps.onSelectFilter) return [3 /*break*/, 4];
|
|
3064
|
+
return [4 /*yield*/, selectFilterHandler(filter)];
|
|
3065
|
+
case 3:
|
|
3066
|
+
_a.sent();
|
|
3067
|
+
stopEditing();
|
|
3068
|
+
return [3 /*break*/, 5];
|
|
3069
|
+
case 4:
|
|
3040
3070
|
e.preventDefault();
|
|
3041
3071
|
e.stopPropagation();
|
|
3042
|
-
_a.label =
|
|
3043
|
-
case
|
|
3072
|
+
_a.label = 5;
|
|
3073
|
+
case 5: return [2 /*return*/];
|
|
3044
3074
|
}
|
|
3045
3075
|
});
|
|
3046
|
-
}); }, [filteredValues, options, selectItemHandler, stopEditing]);
|
|
3076
|
+
}); }, [filteredValues, options, selectItemHandler, selectFilterHandler, stopEditing, filter, formProps]);
|
|
3047
3077
|
return popoverWrapper(jsxs(Fragment$1, { children: [formProps.filtered && (jsxs(Fragment$1, { children: [jsx(FocusableItem, __assign({ className: "filter-item" }, { children: function (_a) {
|
|
3048
3078
|
var _b;
|
|
3049
3079
|
var ref = _a.ref;
|