Skip to content

Commit 3d0020f

Browse files
committed
fixup: use action value for isChanged check, disable selectors when not in edit mode
1 parent def8ae9 commit 3d0020f

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

packages/compass-schema-validation/src/components/validation-editor.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,12 @@ export const ValidationEditor: React.FunctionComponent<
234234
>
235235
<div className={validationOptionsStyles}>
236236
<ActionSelector
237-
isEditable={isEditable}
237+
isEditable={isEditable && isEditingEnabled}
238238
validationActionChanged={validationActionChanged}
239239
validationAction={validationAction}
240240
/>
241241
<LevelSelector
242-
isEditable={isEditable}
242+
isEditable={isEditable && isEditingEnabled}
243243
validationLevelChanged={validationLevelChanged}
244244
validationLevel={validationLevel}
245245
/>

packages/compass-schema-validation/src/modules/validation.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ describe('validation module', function () {
4444
const validation = reducer(undefined, validationActionChanged('warn'));
4545

4646
expect(validation.validationAction).to.equal('warn');
47+
expect(validation.isChanged).to.equal(true);
4748
});
4849
});
4950

@@ -55,6 +56,7 @@ describe('validation module', function () {
5556
);
5657

5758
expect(validation.validationLevel).to.equal('moderate');
59+
expect(validation.isChanged).to.equal(true);
5860
});
5961
});
6062

packages/compass-schema-validation/src/modules/validation.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,13 @@ export default function reducer(
214214
) {
215215
return {
216216
...state,
217+
prevValidation: {
218+
...DEFAULT_VALIDATION,
219+
},
220+
...DEFAULT_VALIDATION,
217221
isChanged: false,
218222
error: null,
219223
syntaxError: null,
220-
...DEFAULT_VALIDATION,
221224
validator: action.validationTemplate,
222225
};
223226
}
@@ -283,7 +286,11 @@ export default function reducer(
283286
...state,
284287
validationAction: action.validationAction,
285288
isChanged: !isEqual(
286-
pick(state, ['validator', 'validationAction', 'validationLevel']),
289+
{
290+
validator: state.validator,
291+
validationAction: action.validationAction,
292+
validationLevel: state.validationLevel,
293+
},
287294
state.prevValidation
288295
),
289296
};
@@ -306,7 +313,11 @@ export default function reducer(
306313
...state,
307314
validationLevel: action.validationLevel,
308315
isChanged: !isEqual(
309-
pick(state, ['validator', 'validationAction', 'validationLevel']),
316+
{
317+
validator: state.validator,
318+
validationAction: state.validationAction,
319+
validationLevel: action.validationLevel,
320+
},
310321
state.prevValidation
311322
),
312323
};

0 commit comments

Comments
 (0)