@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.
@@ -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: string;
11
+ formatted?: string;
13
12
  }
14
13
  export declare const TextInputFormatted: (props: LuiTextInputProps) => JSX.Element;
@@ -8,5 +8,6 @@ export interface IFormTestRow {
8
8
  nameType: string;
9
9
  numba: string;
10
10
  plan: string;
11
+ distance: number | null;
11
12
  }
12
13
  export declare const FormTest: <RowType extends GridBaseRow>(props: GridFormProps<RowType>) => JSX.Element;
@@ -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
- var types = ["number", "undefined", "boolean", "string"];
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 })), props.icon] })), 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] })))] })));
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, _b;
3206
+ var _a;
3205
3207
  var formProps = props.formProps;
3206
- var _c = useState((_a = props.value) !== null && _a !== void 0 ? _a : ""), value = _c[0], setValue = _c[1];
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
- if (formProps.required && value.length == 0) {
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 && value.length > 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(value);
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
- if (props.value === (value !== null && value !== void 0 ? value : ""))
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, value)];
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] = value); });
3242
+ selectedRows.forEach(function (row) { return (row[field] = trimmedValue); });
3238
3243
  return [2 /*return*/, true];
3239
3244
  }
3240
3245
  });
3241
- }); }, [invalid, props.value, props.field, value, formProps]);
3242
- var _d = useGridPopoverHook(props, save), popoverWrapper = _d.popoverWrapper, triggerSave = _d.triggerSave;
3243
- return popoverWrapper(jsx("div", __assign({ style: { display: "flex", flexDirection: "row", width: (_b = formProps.width) !== null && _b !== void 0 ? _b : 240 }, className: "FormTest" }, { children: jsx(TextInputFormatted, { value: value, onChange: function (e) { return setValue(e.target.value); }, error: invalid(), formatted: "", inputProps: {
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