@linzjs/step-ag-grid 1.4.0 → 1.4.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/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export { GridRenderPopoutMenuCell } from "./src/components/gridRender/GridRender
16
16
  export { GridPopoutEditMultiSelect } from "./src/components/gridPopoverEdit/GridPopoutEditMultiSelect";
17
17
  export { GridPopoverMenu } from "./src/components/gridPopoverEdit/GridPopoverMenu";
18
18
  export { GridPopoverEditBearing } from "./src/components/gridPopoverEdit/GridPopoverEditBearing";
19
+ export { GridPopoverEditBearingCorrection } from "./src/components/gridPopoverEdit/GridPopoverEditBearing";
19
20
  export { GridPopoverEditDropDown } from "./src/components/gridPopoverEdit/GridPopoverEditDropDown";
20
21
  export { GridPopoverMessage } from "./src/components/gridPopoverEdit/GridPopoverMessage";
21
22
  export { GridPopoverTextArea } from "./src/components/gridPopoverEdit/GridPopoverTextArea";
package/dist/index.js CHANGED
@@ -693,15 +693,17 @@ var Grid = function (params) {
693
693
  /**
694
694
  * Ensure external selected items list is in sync with panel.
695
695
  */
696
- var synchroniseExternalStateToGridSelection = function (_a) {
696
+ var synchroniseExternalStateToGridSelection = React.useCallback(function (_a) {
697
697
  var api = _a.api;
698
+ if (!params.externalSelectedItems || !params.setExternalSelectedItems)
699
+ return;
698
700
  var selectedRows = api.getSelectedRows();
699
701
  // We don't want to update selected Items if it hasn't changed to prevent excess renders
700
702
  if (params.externalSelectedItems.length != selectedRows.length ||
701
703
  isNotEmpty(lodashEs.xorBy(selectedRows, params.externalSelectedItems, function (row) { return row.id; }))) {
702
704
  params.setExternalSelectedItems(__spreadArray([], selectedRows, true));
703
705
  }
704
- };
706
+ }, [params]);
705
707
  /**
706
708
  * Synchronise externally selected items to grid.
707
709
  * If new ids are selected scroll them into view.
@@ -709,6 +711,8 @@ var Grid = function (params) {
709
711
  var synchroniseExternallySelectedItemsToGrid = React.useCallback(function () {
710
712
  if (!gridReady())
711
713
  return;
714
+ if (!params.externalSelectedItems)
715
+ return;
712
716
  var selectedIds = params.externalSelectedItems.map(function (row) { return row.id; });
713
717
  var lastNewId = lodashEs.last(lodashEs.difference(selectedIds, lastSelectedIds.current));
714
718
  if (lastNewId != null)
@@ -823,7 +827,7 @@ var Grid = function (params) {
823
827
  }, [refreshSelectedRows]);
824
828
  return (jsxRuntime.jsxs("div", __assign({ "data-testid": params.dataTestId, className: clsx("Grid-container", "ag-theme-alpine", staleGrid && "Grid-sortIsStale") }, { children: [params.quickFilter && (jsxRuntime.jsx("div", __assign({ className: "Grid-quickFilter" }, { children: jsxRuntime.jsx("input", { "aria-label": "Search", className: "lui-margin-top-xxs lui-margin-bottom-xxs Grid-quickFilterBox", type: "text", placeholder: (_a = params.quickFilterPlaceholder) !== null && _a !== void 0 ? _a : "Search...", value: internalQuickFilter, onChange: function (event) {
825
829
  setInternalQuickFilter(event.target.value);
826
- } }) }))), jsxRuntime.jsx(agGridReact.AgGridReact, { getRowId: function (params) { return "".concat(params.data.id); }, suppressRowClickSelection: true, rowSelection: "multiple", suppressBrowserResizeObserver: true, colResizeDefault: "shift", onFirstDataRendered: sizeColumnsToFit, onGridSizeChanged: sizeColumnsToFit, suppressClickEdit: true, onCellKeyDown: onCellKeyDown, onCellClicked: onCellClicked, onCellDoubleClicked: onCellDoubleClick, onCellEditingStarted: refreshSelectedRows, onCellEditingStopped: onCellEditingStopped, columnDefs: columnDefs, rowData: params.rowData, noRowsOverlayComponent: noRowsOverlayComponent, onGridReady: onGridReady, onSortChanged: ensureSelectedRowIsVisible, postSortRows: postSortRows, onSelectionChanged: synchroniseExternalStateToGridSelection })] })));
830
+ } }) }))), jsxRuntime.jsx(agGridReact.AgGridReact, { getRowId: function (params) { return "".concat(params.data.id); }, suppressRowClickSelection: true, rowSelection: "multiple", suppressBrowserResizeObserver: true, colResizeDefault: "shift", onFirstDataRendered: sizeColumnsToFit, onGridSizeChanged: sizeColumnsToFit, suppressClickEdit: true, onCellKeyDown: onCellKeyDown, onCellClicked: onCellClicked, onCellDoubleClicked: onCellDoubleClick, onCellEditingStarted: refreshSelectedRows, onCellEditingStopped: onCellEditingStopped, domLayout: params.domLayout, columnDefs: columnDefs, rowData: params.rowData, noRowsOverlayComponent: noRowsOverlayComponent, onGridReady: onGridReady, onSortChanged: ensureSelectedRowIsVisible, postSortRows: postSortRows, onSelectionChanged: synchroniseExternalStateToGridSelection })] })));
827
831
  };
828
832
 
829
833
  var GenericMultiEditCellClass = function (props) {
@@ -3919,7 +3923,7 @@ var useGridPopoverHook = function (props, save) {
3919
3923
  return function () { };
3920
3924
  }, [handleScreenMouseDown, handleScreenMouseEvent, isOpen]);
3921
3925
  var popoverWrapper = React.useCallback(function (children) {
3922
- return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: anchorRef.current && (jsxRuntime.jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: true, unmountOnClose: true, anchorRef: anchorRef, menuClassName: "lui-menu", onClose: function (event) { return triggerSave(event.reason).then(); } }, { children: [saving && (jsxRuntime.jsx("div", { style: {
3926
+ return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: anchorRef.current && (jsxRuntime.jsxs(ControlledMenu, __assign({ state: isOpen ? "open" : "closed", portal: lodashEs.isEmpty(document.querySelectorAll(".PopoutWindowContainer")), unmountOnClose: true, anchorRef: anchorRef, menuClassName: "lui-menu", onClose: function (event) { return triggerSave(event.reason).then(); } }, { children: [saving && (jsxRuntime.jsx("div", { style: {
3923
3927
  position: "absolute",
3924
3928
  left: 0,
3925
3929
  top: 0,
@@ -4125,7 +4129,7 @@ var GridFormPopoutMenu = function (props) {
4125
4129
  }); }, [props.field, props.selectedRows, updatingCells]);
4126
4130
  var selectedRowCount = props.selectedRows.length;
4127
4131
  var filteredOptions = options === null || options === void 0 ? void 0 : options.filter(function (menuOption) {
4128
- return menuOption.label === MenuSeparator || selectedRowCount === 1 || menuOption.multiEdit;
4132
+ return menuOption.label === MenuSeparator || selectedRowCount === 1 || menuOption.supportsMultiEdit;
4129
4133
  });
4130
4134
  var popoverWrapper = useGridPopoverHook(props).popoverWrapper;
4131
4135
  return popoverWrapper(jsxRuntime.jsx(ComponentLoadingWrapper, __assign({ loading: !filteredOptions }, { children: jsxRuntime.jsx("div", __assign({ className: "Grid-popoverContainerList" }, { children: options === null || options === void 0 ? void 0 : options.map(function (item, index) {
@@ -4291,6 +4295,15 @@ var GridPopoverEditBearing = function (colDef) { return (__assign(__assign({}, G
4291
4295
  if (value < 0)
4292
4296
  return "Bearing must not be negative";
4293
4297
  return null;
4298
+ } })); };
4299
+ var GridPopoverEditBearingCorrection = function (colDef) { return (__assign(__assign({}, GridPopoverEditBearingLike(colDef)), { valueFormatter: bearingCorrectionValueFormatter, range: function (value) {
4300
+ if (value === null)
4301
+ return "Bearing is required";
4302
+ if (value >= 360)
4303
+ return "Bearing must be less than 360 degrees";
4304
+ if (value <= -180)
4305
+ return "Bearing must be greater then -180 degrees";
4306
+ return null;
4294
4307
  } })); };
4295
4308
 
4296
4309
  var MenuSeparatorString = "_____MENU_SEPARATOR_____";
@@ -4602,6 +4615,7 @@ exports.GridIcon = GridIcon;
4602
4615
  exports.GridLoadableCell = GridLoadableCell;
4603
4616
  exports.GridPopoutEditMultiSelect = GridPopoutEditMultiSelect;
4604
4617
  exports.GridPopoverEditBearing = GridPopoverEditBearing;
4618
+ exports.GridPopoverEditBearingCorrection = GridPopoverEditBearingCorrection;
4605
4619
  exports.GridPopoverEditDropDown = GridPopoverEditDropDown;
4606
4620
  exports.GridPopoverMenu = GridPopoverMenu;
4607
4621
  exports.GridPopoverMessage = GridPopoverMessage;