@linzjs/step-ag-grid 6.1.0 → 6.1.1

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.
@@ -3094,14 +3094,16 @@ var GridFormDropDown = function (props) {
3094
3094
  var optionsInitialising = useRef(false);
3095
3095
  var _d = useState(null), options = _d[0], setOptions = _d[1];
3096
3096
  var subComponentIsValid = useRef(false);
3097
- var _e = useState(), subSelectedValue = _e[0], setSubSelectedValue = _e[1];
3097
+ var subComponentInitialValue = useRef(null);
3098
+ var _e = useState(null), subSelectedValue = _e[0], setSubSelectedValue = _e[1];
3098
3099
  var _f = useState(null), selectedSubComponent = _f[0], setSelectedSubComponent = _f[1];
3099
3100
  var selectItemHandler = useCallback(function (value, subComponentValue) { return __awaiter(void 0, void 0, void 0, function () {
3100
3101
  var hasChanged;
3101
3102
  return __generator(this, function (_a) {
3102
3103
  switch (_a.label) {
3103
3104
  case 0:
3104
- hasChanged = selectedRows.some(function (row) { return row[field] !== value; });
3105
+ hasChanged = selectedRows.some(function (row) { return row[field] !== value; }) ||
3106
+ (subComponentValue !== undefined && subComponentInitialValue.current !== JSON.stringify(subComponentValue));
3105
3107
  if (!hasChanged) return [3 /*break*/, 3];
3106
3108
  if (!props.onSelectedItem) return [3 /*break*/, 2];
3107
3109
  return [4 /*yield*/, props.onSelectedItem({ selectedRows: selectedRows, value: value, subComponentValue: subComponentValue })];
@@ -3277,15 +3279,10 @@ var GridFormDropDown = function (props) {
3277
3279
  var _a;
3278
3280
  return item.value === MenuSeparatorString ? (jsx(MenuDivider, {}, "$$divider_".concat(index))) : item.value === MenuHeaderString ? (jsx(MenuHeader, { children: item.label }, "$$header_".concat(index))) : filteredValues.includes(item.value) ? null : (jsxs("div", { children: [jsxs(MenuItem, __assign({ disabled: !!item.disabled, title: item.disabled && typeof item.disabled !== "boolean" ? item.disabled : "", value: item.value, onClick: function (e) {
3279
3281
  if (item.subComponent) {
3280
- if (selectedSubComponent === item) {
3281
- // toggle selection off
3282
- setSelectedSubComponent(null);
3283
- subComponentIsValid.current = true;
3284
- }
3285
- else {
3286
- // toggle selection on
3287
- setSelectedSubComponent(item);
3288
- }
3282
+ // toggle selection
3283
+ setSelectedSubComponent(selectedSubComponent === item ? null : item);
3284
+ subComponentIsValid.current = true;
3285
+ subComponentInitialValue.current = null;
3289
3286
  e.keepOpen = true;
3290
3287
  }
3291
3288
  else {
@@ -3300,6 +3297,10 @@ var GridFormDropDown = function (props) {
3300
3297
  value: subSelectedValue,
3301
3298
  setValue: function (value) {
3302
3299
  setSubSelectedValue(value);
3300
+ if (subComponentInitialValue.current === null) {
3301
+ // copy the default value of the sub-component so we can change detect on save
3302
+ subComponentInitialValue.current = JSON.stringify(value);
3303
+ }
3303
3304
  },
3304
3305
  setValid: function (valid) {
3305
3306
  subComponentIsValid.current = valid;