@linzjs/step-ag-grid 1.5.2 → 1.5.3
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 +1 -1
- package/dist/index.js +24 -16
- package/dist/index.js.map +1 -1
- package/dist/src/components/gridForm/GridFormTextInput.d.ts +1 -0
- package/dist/src/lui/TextInputFormatted.d.ts +1 -2
- package/dist/src/stories/components/FormTest.d.ts +1 -0
- package/dist/step-ag-grid.esm.js +22 -17
- package/dist/step-ag-grid.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/GridCell.tsx +4 -2
- package/src/components/gridForm/GridFormTextInput.tsx +13 -10
- package/src/lui/TextInputFormatted.tsx +1 -3
- package/src/stories/components/FormTest.tsx +1 -0
- package/src/stories/components/GridPopoutEditGenericTextArea.stories.tsx +27 -3
|
@@ -3,6 +3,7 @@ import { GenericCellEditorParams, GridFormProps } from "../GridCell";
|
|
|
3
3
|
import { GridBaseRow } from "../Grid";
|
|
4
4
|
export interface GridFormTextInputProps<RowType extends GridBaseRow> extends GenericCellEditorParams<RowType> {
|
|
5
5
|
placeholder?: string;
|
|
6
|
+
units?: string;
|
|
6
7
|
required?: boolean;
|
|
7
8
|
maxlength?: number;
|
|
8
9
|
width?: string | number;
|
|
@@ -7,8 +7,7 @@ export interface LuiTextInputProps {
|
|
|
7
7
|
warning?: string | boolean | null;
|
|
8
8
|
className?: string;
|
|
9
9
|
value: string;
|
|
10
|
-
icon?: JSX.Element;
|
|
11
10
|
placeholder?: string;
|
|
12
|
-
formatted
|
|
11
|
+
formatted?: string;
|
|
13
12
|
}
|
|
14
13
|
export declare const TextInputFormatted: (props: LuiTextInputProps) => JSX.Element;
|
package/dist/step-ag-grid.esm.js
CHANGED
|
@@ -2422,9 +2422,11 @@ var GridCell = function (props) {
|
|
|
2422
2422
|
})), {
|
|
2423
2423
|
// Default value formatter, otherwise react freaks out on objects
|
|
2424
2424
|
valueFormatter: function (params) {
|
|
2425
|
-
|
|
2425
|
+
if (params.value == null)
|
|
2426
|
+
return "-";
|
|
2427
|
+
var types = ["number", "boolean", "string"];
|
|
2426
2428
|
if (types.includes(typeof params.value))
|
|
2427
|
-
return params.value;
|
|
2429
|
+
return "".concat(params.value);
|
|
2428
2430
|
else
|
|
2429
2431
|
return JSON.stringify(params.value);
|
|
2430
2432
|
} }), props), { cellRenderer: GridCellRenderer, cellRendererParams: __assign({ originalCellRenderer: props.cellRenderer }, props.cellRendererParams) });
|
|
@@ -2457,7 +2459,7 @@ var GenericCellEditorComponentFr = function (props, _) {
|
|
|
2457
2459
|
}); }, [field, saving, selectedRows, updatingCells]);
|
|
2458
2460
|
if (cellEditorParams == null)
|
|
2459
2461
|
return jsx(Fragment$1, {});
|
|
2460
|
-
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, value: value, field: field, selectedRows: selectedRows }))] }));
|
|
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 }))] }));
|
|
2461
2463
|
};
|
|
2462
2464
|
var GenericCellEditorComponent = forwardRef(GenericCellEditorComponentFr);
|
|
2463
2465
|
|
|
@@ -2854,7 +2856,7 @@ var css_248z = ".LuiTextInput {\n margin-bottom: 0;\n}\n\n.LuiTextInput-formatt
|
|
|
2854
2856
|
styleInject(css_248z);
|
|
2855
2857
|
|
|
2856
2858
|
var TextInputFormatted = function (props) {
|
|
2857
|
-
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 }))
|
|
2859
|
+
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] })))] })));
|
|
2858
2860
|
};
|
|
2859
2861
|
|
|
2860
2862
|
var GridFormEditBearing = function (props) {
|
|
@@ -3201,32 +3203,35 @@ var GridPopoverTextArea = function (colDef) {
|
|
|
3201
3203
|
};
|
|
3202
3204
|
|
|
3203
3205
|
var GridFormTextInput = function (props) {
|
|
3204
|
-
var _a
|
|
3206
|
+
var _a;
|
|
3205
3207
|
var formProps = props.formProps;
|
|
3206
|
-
var
|
|
3208
|
+
var initValue = props.value == null ? "" : "".concat(props.value);
|
|
3209
|
+
var _b = useState(initValue), value = _b[0], setValue = _b[1];
|
|
3207
3210
|
var invalid = useCallback(function () {
|
|
3208
|
-
|
|
3211
|
+
var trimmedValue = value.trim();
|
|
3212
|
+
if (formProps.required && trimmedValue.length == 0) {
|
|
3209
3213
|
return "Some text is required";
|
|
3210
3214
|
}
|
|
3211
|
-
if (formProps.maxlength &&
|
|
3215
|
+
if (formProps.maxlength && trimmedValue.length > formProps.maxlength) {
|
|
3212
3216
|
return "Text must be no longer than ".concat(formProps.maxlength, " characters");
|
|
3213
3217
|
}
|
|
3214
3218
|
if (formProps.validate) {
|
|
3215
|
-
return formProps.validate(
|
|
3219
|
+
return formProps.validate(trimmedValue);
|
|
3216
3220
|
}
|
|
3217
3221
|
return null;
|
|
3218
3222
|
}, [formProps, value]);
|
|
3219
3223
|
var save = useCallback(function (selectedRows) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3220
|
-
var field;
|
|
3224
|
+
var trimmedValue, field;
|
|
3221
3225
|
return __generator(this, function (_a) {
|
|
3222
3226
|
switch (_a.label) {
|
|
3223
3227
|
case 0:
|
|
3224
3228
|
if (invalid())
|
|
3225
3229
|
return [2 /*return*/, false];
|
|
3226
|
-
|
|
3230
|
+
trimmedValue = value.trim();
|
|
3231
|
+
if (initValue === trimmedValue)
|
|
3227
3232
|
return [2 /*return*/, true];
|
|
3228
3233
|
if (!formProps.onSave) return [3 /*break*/, 2];
|
|
3229
|
-
return [4 /*yield*/, formProps.onSave(selectedRows,
|
|
3234
|
+
return [4 /*yield*/, formProps.onSave(selectedRows, trimmedValue)];
|
|
3230
3235
|
case 1: return [2 /*return*/, _a.sent()];
|
|
3231
3236
|
case 2:
|
|
3232
3237
|
field = props.field;
|
|
@@ -3234,13 +3239,13 @@ var GridFormTextInput = function (props) {
|
|
|
3234
3239
|
console.error("ColDef has no field set");
|
|
3235
3240
|
return [2 /*return*/, false];
|
|
3236
3241
|
}
|
|
3237
|
-
selectedRows.forEach(function (row) { return (row[field] =
|
|
3242
|
+
selectedRows.forEach(function (row) { return (row[field] = trimmedValue); });
|
|
3238
3243
|
return [2 /*return*/, true];
|
|
3239
3244
|
}
|
|
3240
3245
|
});
|
|
3241
|
-
}); }, [invalid,
|
|
3242
|
-
var
|
|
3243
|
-
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (
|
|
3246
|
+
}); }, [invalid, value, initValue, formProps, props.field]);
|
|
3247
|
+
var _c = useGridPopoverHook(props, save), popoverWrapper = _c.popoverWrapper, triggerSave = _c.triggerSave;
|
|
3248
|
+
return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_a = formProps.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: formProps.units, inputProps: {
|
|
3244
3249
|
style: { width: "100%" },
|
|
3245
3250
|
placeholder: formProps.placeholder,
|
|
3246
3251
|
onKeyDown: function (e) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
@@ -3263,5 +3268,5 @@ var GridSubComponentTextArea = function (props) {
|
|
|
3263
3268
|
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 }) })));
|
|
3264
3269
|
};
|
|
3265
3270
|
|
|
3266
|
-
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericMultiEditCellClass, Grid, GridCell, GridContext, GridContextProvider, GridFormDropDown, GridFormEditBearing, GridFormMessage, GridFormMultiSelect, GridFormPopoutMenu, GridFormTextArea, GridFormTextInput, GridHeaderSelect, GridIcon, GridLoadableCell, GridPopoutEditMultiSelect, GridPopoverEditBearing, GridPopoverEditBearingCorrection, GridPopoverEditDropDown, GridPopoverMenu, GridPopoverMessage, GridPopoverTextArea, GridPopoverTextInput, GridRenderPopoutMenuCell, GridRendererGenericCell, GridSubComponentTextArea, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuItem, MenuRadioGroup, SubMenu, TextAreaInput, TextInputFormatted, UpdatingContext, UpdatingContextProvider, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
|
|
3271
|
+
export { ComponentLoadingWrapper, ControlledMenu, FocusableItem, GenericCellEditorComponent, GenericCellEditorComponentFr, 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, Menu, MenuButton, MenuDivider, MenuGroup, MenuHeader, MenuItem, MenuRadioGroup, SubMenu, TextAreaInput, TextInputFormatted, UpdatingContext, UpdatingContextProvider, bearingCorrectionValueFormatter, bearingNumberParser, bearingStringValidator, bearingValueFormatter, convertDDToDMS, hasParentClass, isFloat, isNotEmpty, useGridPopoverHook, useMenuState, usePostSortRowsHook, wait };
|
|
3267
3272
|
//# sourceMappingURL=step-ag-grid.esm.js.map
|