@servicetitan/form-state 23.0.3 → 23.1.0

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.
@@ -65,6 +65,7 @@ declare type RecursivePartialObject<T> = {
65
65
  export declare function setFormStateValues<T extends ValidatableMapOrArray>(formState: FormState<T>, data: RecursivePartial<FormStateShape<T>>, triggerValidation?: boolean): FormState<T>;
66
66
  export declare function commitFormState<T extends ValidatableMapOrArray>(formState: FormState<T>): void;
67
67
  export declare function camelCaseToTitleCase(value: string): string;
68
+ export declare const isFieldStateChanged: <T>(fieldState: FieldState<T>) => boolean;
68
69
  export declare function isFormStateChanged<T extends ValidatableMapOrArray>(formState: FormState<T>): import("mobx").IComputedValue<boolean>;
69
70
  export {};
70
71
  //# sourceMappingURL=form-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-helpers.d.ts","sourceRoot":"","sources":["../src/form-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-helpers.d.ts","sourceRoot":"","sources":["../src/form-helpers.ts"],"names":[],"mappings":"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"}
@@ -212,19 +212,22 @@ export function camelCaseToTitleCase(value) {
212
212
  const regexp = /[A-Z](?=[A-Z][a-z])|[^A-Z](?=[A-Z])|[A-Za-z](?=[^A-Za-z])/g;
213
213
  return value.replace(regexp, '$& ');
214
214
  }
215
+ export const isFieldStateChanged = (fieldState) => {
216
+ const isValueChanged = () => {
217
+ if (fieldState instanceof InputFieldState) {
218
+ if (fieldState._initValue === undefined && fieldState.value === '') {
219
+ return false;
220
+ }
221
+ }
222
+ return !comparer.structural(fieldState._initValue, fieldState.value);
223
+ };
224
+ return !!fieldState.dirty && isValueChanged();
225
+ };
215
226
  export function isFormStateChanged(formState) {
216
227
  return computed(() => {
217
228
  let isChanged = false;
218
229
  traverseFormState(true, formState, undefined, (_0, field) => {
219
- const isValueChanged = () => {
220
- if (field instanceof InputFieldState) {
221
- if (field._initValue === undefined && field.value === '') {
222
- return false;
223
- }
224
- }
225
- return !comparer.structural(field._initValue, field.value);
226
- };
227
- isChanged = isChanged || (field.dirty === true && isValueChanged());
230
+ isChanged = isChanged || isFieldStateChanged(field);
228
231
  });
229
232
  return isChanged;
230
233
  });
@@ -1 +1 @@
1
- {"version":3,"file":"form-helpers.js","sourceRoot":"","sources":["../src/form-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-helpers.js","sourceRoot":"","sources":["../src/form-helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/form-state",
3
- "version": "23.0.3",
3
+ "version": "23.1.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  "src"
16
16
  ],
17
17
  "devDependencies": {
18
- "@servicetitan/data-query": "^23.0.3",
18
+ "@servicetitan/data-query": "^23.1.0",
19
19
  "@servicetitan/design-system": ">=12.4.1",
20
20
  "@types/debounce": "~1.2.1",
21
21
  "@types/react": "~17.0.38",
@@ -25,7 +25,7 @@
25
25
  "react": "^17.0.2"
26
26
  },
27
27
  "peerDependencies": {
28
- "@servicetitan/data-query": "^23.0.3",
28
+ "@servicetitan/data-query": "^23.1.0",
29
29
  "@servicetitan/design-system": ">=12.4.1",
30
30
  "formstate": "^2.1.0",
31
31
  "mobx": "^6.6.0",
@@ -41,5 +41,5 @@
41
41
  "cli": {
42
42
  "webpack": false
43
43
  },
44
- "gitHead": "ea48b63b80127226d0fc4278e64997e37a39f4a7"
44
+ "gitHead": "324df330df88e759a0d4e840e60a47007dcda6d2"
45
45
  }
@@ -6,6 +6,8 @@ import {
6
6
  InputFieldState,
7
7
  traverseFormState,
8
8
  setFormStateValues,
9
+ isFieldStateChanged,
10
+ isFormStateChanged,
9
11
  } from '../form-helpers';
10
12
 
11
13
  const getFormState = () =>
@@ -227,3 +229,103 @@ test('commitFormState', () => {
227
229
  expect(form.$.field.value).toBe(newFieldValue);
228
230
  expect(form.$.subForm.$.subField.value).toBe(newSubFieldValue);
229
231
  });
232
+
233
+ describe('isFieldStateChanged', () => {
234
+ let fieldState: FieldState<any>;
235
+ const exec = () => isFieldStateChanged(fieldState);
236
+ describe('InputFieldState', () => {
237
+ beforeEach(() => {
238
+ fieldState = new InputFieldState(undefined);
239
+ });
240
+
241
+ it('should return false if value is empty string', () => {
242
+ fieldState.value = '';
243
+ expect(exec()).toBe(false);
244
+ });
245
+
246
+ it('should return false if value empty string and state is dirty', () => {
247
+ fieldState.onChange('');
248
+ expect(exec()).toBe(false);
249
+ });
250
+
251
+ it('should return false if value changed but state not dirty', () => {
252
+ fieldState.value = '1';
253
+ expect(exec()).toBe(false);
254
+ });
255
+
256
+ it('should return true if value changed and state is dirty', () => {
257
+ fieldState.onChange('1');
258
+ expect(exec()).toBe(true);
259
+ });
260
+ });
261
+
262
+ describe('FieldState', () => {
263
+ beforeEach(() => {
264
+ fieldState = new FieldState<any>(undefined);
265
+ });
266
+
267
+ it('should return true if value changed', () => {
268
+ fieldState.onChange('');
269
+ expect(exec()).toBe(true);
270
+ });
271
+
272
+ it('should return false if value changed but not dirty', () => {
273
+ fieldState.value = '1';
274
+ expect(exec()).toBe(false);
275
+ });
276
+
277
+ it('should return true if value changed and state is dirty', () => {
278
+ fieldState.onChange('1');
279
+ expect(exec()).toBe(true);
280
+ });
281
+ });
282
+
283
+ describe('FieldState Object', () => {
284
+ beforeEach(() => {
285
+ fieldState = new FieldState<{ a: number }>({ a: 1 });
286
+ });
287
+
288
+ it('should compare structurally and return false if object equal', () => {
289
+ fieldState.onChange({ a: 1 });
290
+ expect(exec()).toBe(false);
291
+ });
292
+
293
+ it('should compare structurally and return true if object not equal', () => {
294
+ fieldState.onChange({ a: 2 });
295
+ expect(exec()).toBe(true);
296
+ });
297
+
298
+ it('should return false if object equal but not dirty', () => {
299
+ fieldState.value = { a: 1 };
300
+ expect(exec()).toBe(false);
301
+ });
302
+ });
303
+ });
304
+
305
+ describe('isFormStateChanged', () => {
306
+ let formState: ReturnType<typeof getFormState>;
307
+
308
+ const exec = () => isFormStateChanged(formState).get();
309
+ beforeEach(() => {
310
+ formState = getFormState();
311
+ });
312
+
313
+ it('should return false if nothing changed', () => {
314
+ expect(exec()).toBe(false);
315
+ });
316
+
317
+ it('should return true if field is changed', () => {
318
+ formState.$.field.onChange(123);
319
+ expect(exec()).toBe(true);
320
+ });
321
+
322
+ it('should return false if changed but value is the same', () => {
323
+ formState.$.field.onChange(formState.$.field.value);
324
+ expect(exec()).toBe(false);
325
+ });
326
+
327
+ it('should return true if sub form field is changed', () => {
328
+ formState.$.subForm.$.subField.onChange(123);
329
+ expect(exec()).toBe(true);
330
+ });
331
+ });
@@ -240,19 +240,23 @@ export function camelCaseToTitleCase(value: string) {
240
240
  return value.replace(regexp, '$& ');
241
241
  }
242
242
 
243
+ export const isFieldStateChanged = <T>(fieldState: FieldState<T>) => {
244
+ const isValueChanged = () => {
245
+ if (fieldState instanceof InputFieldState) {
246
+ if ((fieldState as any)._initValue === undefined && fieldState.value === '') {
247
+ return false;
248
+ }
249
+ }
250
+ return !comparer.structural((fieldState as any)._initValue, fieldState.value);
251
+ };
252
+ return !!fieldState.dirty && isValueChanged();
253
+ };
254
+
243
255
  export function isFormStateChanged<T extends ValidatableMapOrArray>(formState: FormState<T>) {
244
256
  return computed(() => {
245
257
  let isChanged = false;
246
258
  traverseFormState(true, formState, undefined, (_0: string, field: FieldState<any>) => {
247
- const isValueChanged = () => {
248
- if (field instanceof InputFieldState) {
249
- if ((field as any)._initValue === undefined && field.value === '') {
250
- return false;
251
- }
252
- }
253
- return !comparer.structural((field as any)._initValue, field.value);
254
- };
255
- isChanged = isChanged || (field.dirty === true && isValueChanged());
259
+ isChanged = isChanged || isFieldStateChanged(field);
256
260
  });
257
261
  return isChanged;
258
262
  });