From dd44f253cd419fb147a93d2a8a6522c32600ae6e Mon Sep 17 00:00:00 2001 From: "l.machalewski" Date: Tue, 3 Sep 2024 15:02:57 +0200 Subject: [PATCH 1/4] add isFormFieldValueUpdated function --- DOCS.md | 14 ++++++++++++++ lib/form-utils.ts | 10 ++++++++++ test/form-utils.spec.ts | 28 +++++++++++++++++++++++++++- 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/DOCS.md b/DOCS.md index 54e9f82..889b778 100644 --- a/DOCS.md +++ b/DOCS.md @@ -5,6 +5,8 @@

Indicates if passed value is Form object.

isFormFieldUpdated(ff1, ff2)boolean

Indicates if FormField's value or error has changed.

+
isFormFieldValueUpdated(ff1, ff2)boolean
+

Indicates if FormField's value has changed.

isFormField(field)boolean

Indicates if passed param is FormField object.

createFormField(val, [validators], [noValidate])FormField
@@ -56,6 +58,18 @@ | ff1 | FormField |

First FormField.

| | ff2 | FormField |

Second FormField.

| + + +## isFormFieldValueUpdated(ff1, ff2) ⇒ boolean +

Indicates if FormField's value has changed.

+ +**Kind**: global function + +| Param | Type | Description | +| --- | --- | --- | +| ff1 | FormField |

First FormField.

| +| ff2 | FormField |

Second FormField.

| + ## isFormField(field) ⇒ boolean diff --git a/lib/form-utils.ts b/lib/form-utils.ts index 06bdb7a..7f05c22 100644 --- a/lib/form-utils.ts +++ b/lib/form-utils.ts @@ -36,6 +36,16 @@ export function isFormFieldUpdated(ff1: FormField, ff2: FormField): boo return ff1.val !== ff2.val || ff1.err !== ff2.err } +/** + * Indicates if FormField's value has changed. + * @param {FormField} ff1 - First FormField. + * @param {FormField} ff2 - Second FormField. + * @returns {boolean} + */ +export function isFormFieldValueUpdated(ff1: FormField, ff2: FormField): boolean { + return ff1.val !== ff2.val +} + /** * Indicates if passed param is FormField object. * @param {any} field - Field to check. diff --git a/test/form-utils.spec.ts b/test/form-utils.spec.ts index da8de72..908875e 100644 --- a/test/form-utils.spec.ts +++ b/test/form-utils.spec.ts @@ -4,7 +4,7 @@ import { createFormField, createPasswordFormField, formFieldsToValues, isForm, - isFormField, + isFormField, isFormFieldValueUpdated, } from '../lib/form-utils' describe('form-utils', () => { @@ -118,4 +118,30 @@ describe('form-utils', () => { expect(formUpdated.field5.val).toBeTruthy() expect(formUpdated.field5.touched).toBeTruthy() }) + + it('should isFormFieldValueUpdated() return correct value', () => { + const formField1 = createFormField('') + const formField2 = createFormField('test') + const formField3 = createFormField(false) + const formField4 = createFormField(true) + const formField5 = createFormField(0) + const formField6 = createFormField(1) + const formField7 = createFormField({test: ''}) + const formField8 = createFormField({test: 'test'}) + const formField9 = createFormField('errorTest') + const formField10 = createFormField('errorTest') + formField10.err = 'error' + + expect(isFormFieldValueUpdated(formField1, formField1)).toBe(false) + expect(isFormFieldValueUpdated(formField3, formField3)).toBe(false) + expect(isFormFieldValueUpdated(formField5, formField5)).toBe(false) + expect(isFormFieldValueUpdated(formField7, formField7)).toBe(false) + + expect(isFormFieldValueUpdated(formField1, formField2)).toBe(true) + expect(isFormFieldValueUpdated(formField3, formField4)).toBe(true) + expect(isFormFieldValueUpdated(formField5, formField6)).toBe(true) + expect(isFormFieldValueUpdated(formField7, formField8)).toBe(true) + + expect(isFormFieldValueUpdated(formField9, formField10)).toBe(false) + }) }) From a4ef6865c706736070cd2c27f9300e5fe4c33428 Mon Sep 17 00:00:00 2001 From: "l.machalewski" Date: Tue, 3 Sep 2024 15:04:29 +0200 Subject: [PATCH 2/4] 1.0.11 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f801af1..7e8a83f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@currency-one/form-utils", - "version": "1.0.10", + "version": "1.0.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@currency-one/form-utils", - "version": "1.0.10", + "version": "1.0.11", "license": "MIT", "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/package.json b/package.json index 4f9b5cf..055f9f5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@currency-one/form-utils", - "version": "1.0.10", + "version": "1.0.11", "description": "Form utils", "keywords": [ "form-utils", From b7b98679851f0101d01a780c4f350ec26ff1cd5f Mon Sep 17 00:00:00 2001 From: "l.machalewski" Date: Tue, 3 Sep 2024 15:12:24 +0200 Subject: [PATCH 3/4] 1.0.12 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7e8a83f..a407ad6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@currency-one/form-utils", - "version": "1.0.11", + "version": "1.0.12", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@currency-one/form-utils", - "version": "1.0.11", + "version": "1.0.12", "license": "MIT", "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/package.json b/package.json index 055f9f5..b476267 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@currency-one/form-utils", - "version": "1.0.11", + "version": "1.0.12", "description": "Form utils", "keywords": [ "form-utils", From 4083c74c3631283414f788b772fd1765bd53bf3c Mon Sep 17 00:00:00 2001 From: "l.machalewski" Date: Tue, 3 Sep 2024 15:21:53 +0200 Subject: [PATCH 4/4] 1.0.13 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a407ad6..da51895 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@currency-one/form-utils", - "version": "1.0.12", + "version": "1.0.13", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@currency-one/form-utils", - "version": "1.0.12", + "version": "1.0.13", "license": "MIT", "devDependencies": { "@babel/cli": "^7.12.10", diff --git a/package.json b/package.json index b476267..f1282cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@currency-one/form-utils", - "version": "1.0.12", + "version": "1.0.13", "description": "Form utils", "keywords": [ "form-utils",