@linzjs/step-ag-grid 8.3.0 → 8.3.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/src/components/GridPopoverHook.d.ts +1 -0
- package/dist/step-ag-grid.esm.js +21 -22
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Grid.tsx +1 -1
- package/src/components/GridPopoverHook.tsx +7 -2
- package/src/components/gridForm/GridFormDropDown.tsx +14 -23
- package/src/stories/grid/GridPopoutBearing.stories.tsx +1 -0
- package/src/stories/grid/GridReadOnly.stories.tsx +1 -1
|
@@ -4,6 +4,7 @@ export interface GridPopoverHookProps<RowType> {
|
|
|
4
4
|
className: string | undefined;
|
|
5
5
|
invalid?: () => Promise<JSX.Element | boolean | string | null | undefined> | JSX.Element | boolean | string | null | undefined;
|
|
6
6
|
save?: (selectedRows: RowType[]) => Promise<boolean>;
|
|
7
|
+
dontSaveOnExternalClick?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare const useGridPopoverHook: <RowType extends GridBaseRow>(props: GridPopoverHookProps<RowType>) => {
|
|
9
10
|
popoverWrapper: (children: JSX.Element) => JSX.Element;
|
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -2864,7 +2864,7 @@ var Grid = function (params) {
|
|
|
2864
2864
|
var adjustColDefs = params.columnDefs.map(function (colDef) {
|
|
2865
2865
|
var _a;
|
|
2866
2866
|
var colDefEditable = colDef.editable;
|
|
2867
|
-
var editable = combineEditables(params.readOnly !==
|
|
2867
|
+
var editable = combineEditables(params.readOnly !== true, (_a = params.defaultColDef) === null || _a === void 0 ? void 0 : _a.editable, colDefEditable);
|
|
2868
2868
|
return __assign(__assign({}, colDef), { editable: editable, cellClassRules: __assign(__assign({}, colDef.cellClassRules), { "GridCell-readonly": function (ccp) { return !editable(ccp); } }) });
|
|
2869
2869
|
});
|
|
2870
2870
|
return params.selectable
|
|
@@ -3143,9 +3143,13 @@ var useGridPopoverHook = function (props) {
|
|
|
3143
3143
|
zIndex: 1000
|
|
3144
3144
|
} })), children, jsx("button", { ref: saveButtonRef, "data-reason": "", onClick: function (e) {
|
|
3145
3145
|
var _a;
|
|
3146
|
-
|
|
3146
|
+
var reason = (_a = e.currentTarget.getAttribute("data-reason")) !== null && _a !== void 0 ? _a : undefined;
|
|
3147
|
+
if (props.dontSaveOnExternalClick && reason === CloseReason.BLUR) {
|
|
3148
|
+
reason = CloseReason.CANCEL;
|
|
3149
|
+
}
|
|
3150
|
+
triggerSave(reason).then();
|
|
3147
3151
|
}, style: { display: "none" } })] }))) }));
|
|
3148
|
-
}, [anchorRef, isOpen, props.className, saving, triggerSave]);
|
|
3152
|
+
}, [anchorRef, isOpen, props.className, props.dontSaveOnExternalClick, saving, triggerSave]);
|
|
3149
3153
|
return {
|
|
3150
3154
|
popoverWrapper: popoverWrapper,
|
|
3151
3155
|
triggerSave: triggerSave
|
|
@@ -3436,26 +3440,11 @@ var GridFormDropDown = function (props) {
|
|
|
3436
3440
|
}
|
|
3437
3441
|
});
|
|
3438
3442
|
}); }, [filter, filteredValues, options, props, selectItemHandler, selectedItem, selectedRows, subSelectedValue]);
|
|
3439
|
-
var onMouseEnterFocus = useCallback(function (item) {
|
|
3440
|
-
setSelectedItem(item);
|
|
3441
|
-
if (item.subComponent) {
|
|
3442
|
-
subComponentIsValid.current = true;
|
|
3443
|
-
subComponentInitialValue.current = null;
|
|
3444
|
-
}
|
|
3445
|
-
else {
|
|
3446
|
-
setSubSelectedValue(null);
|
|
3447
|
-
subComponentIsValid.current = true;
|
|
3448
|
-
}
|
|
3449
|
-
}, []);
|
|
3450
|
-
var onMouseLeaveFocus = useCallback(function () {
|
|
3451
|
-
setSelectedItem(null);
|
|
3452
|
-
setSubSelectedValue(null);
|
|
3453
|
-
subComponentIsValid.current = true;
|
|
3454
|
-
}, []);
|
|
3455
3443
|
var popoverWrapper = useGridPopoverHook({
|
|
3456
3444
|
className: props.className,
|
|
3457
3445
|
invalid: function () { return !!(selectedItem && !subComponentIsValid.current); },
|
|
3458
|
-
save: save
|
|
3446
|
+
save: save,
|
|
3447
|
+
dontSaveOnExternalClick: true
|
|
3459
3448
|
}).popoverWrapper;
|
|
3460
3449
|
var lastHeader = null;
|
|
3461
3450
|
var showHeader = null;
|
|
@@ -3484,7 +3473,17 @@ var GridFormDropDown = function (props) {
|
|
|
3484
3473
|
lastHeader = null;
|
|
3485
3474
|
}
|
|
3486
3475
|
}
|
|
3487
|
-
return ((!filteredValues || filteredValues.includes(item)) && (jsxs(Fragment
|
|
3476
|
+
return ((!filteredValues || filteredValues.includes(item)) && (jsxs(Fragment, { children: [showHeader, jsxs("div", { children: [jsxs(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onFocus: function () {
|
|
3477
|
+
setSelectedItem(item);
|
|
3478
|
+
if (item.subComponent) {
|
|
3479
|
+
subComponentIsValid.current = true;
|
|
3480
|
+
subComponentInitialValue.current = null;
|
|
3481
|
+
}
|
|
3482
|
+
else {
|
|
3483
|
+
setSubSelectedValue(null);
|
|
3484
|
+
subComponentIsValid.current = true;
|
|
3485
|
+
}
|
|
3486
|
+
}, onClick: function (e) {
|
|
3488
3487
|
if (item.subComponent) {
|
|
3489
3488
|
e.keepOpen = true;
|
|
3490
3489
|
}
|
|
@@ -3508,7 +3507,7 @@ var GridFormDropDown = function (props) {
|
|
|
3508
3507
|
return [2 /*return*/];
|
|
3509
3508
|
});
|
|
3510
3509
|
}); }
|
|
3511
|
-
} }, { children: item.subComponent && (jsx("div", __assign({ className: "subComponent" }, { children: jsx(item.subComponent, {}, "".concat(fieldToString(field), "-").concat(index, "_subcomponent_inner")) }))) }))); } }), "".concat(item.label, "_subcomponent")))] }, "menu-wrapper-".concat(index))] })));
|
|
3510
|
+
} }, { children: item.subComponent && (jsx("div", __assign({ className: "subComponent" }, { children: jsx(item.subComponent, {}, "".concat(fieldToString(field), "-").concat(index, "_subcomponent_inner")) }))) }))); } }), "".concat(item.label, "_subcomponent")))] }, "menu-wrapper-".concat(index))] }, "".concat(index))));
|
|
3512
3511
|
})] }) }))] }));
|
|
3513
3512
|
};
|
|
3514
3513
|
|