From 1624a57c4cc2a0507c7c248833368ca8ae44ac7a Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Sun, 6 Jul 2025 13:02:24 +0530 Subject: [PATCH 01/13] 4.1.0 --- 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 5a08d32..d2d9bab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.1.0-beta.1", + "version": "4.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.1.0-beta.1", + "version": "4.1.0", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index 698b224..3db386b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.1.0-beta.1", + "version": "4.1.0", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From a751a50a6c98a85835afe1de9f8ee65367846611 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 00:48:51 +0530 Subject: [PATCH 02/13] #115: adding options dependency --- src/constants/constants.ts | 1 + src/utils/DependencyUtil.tsx | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/constants/constants.ts b/src/constants/constants.ts index 51dfa66..431ce41 100644 --- a/src/constants/constants.ts +++ b/src/constants/constants.ts @@ -53,6 +53,7 @@ export const DEP_TYPE = { EQUALS: "equals", LOAD: "load", LOAD_OPTIONS: "loadOptions", + OPTIONS: "options", CHANGE: "change", VALIDATION: "validation", PROP_UPDATE: "propUpdate", diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index b77ddfa..c191a36 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -71,12 +71,14 @@ class DependencyUtil { }; // eslint-disable-next-line no-fallthrough case DEP_TYPE.LOAD: + case DEP_TYPE.OPTIONS: { - const url = dependency.url; - const labelKey = dependency?.labelKey; - const valueKey = dependency?.valueKey; - const responseKey = dependency.responseKey; - const queryParams = dependency.queryParams; + const config = form[formSection][field].config; + const url = dependency.url || config?.url; + const labelKey = dependency?.labelKey || config?.labelKey; + const valueKey = dependency?.valueKey || config?.valueKey; + const responseKey = dependency.responseKey || config?.responseKey; + const queryParams = dependency.queryParams || config?.queryParams; const pathParams = dependency.pathParams; form[formSection][ref][D_KEY].push({ section, @@ -274,6 +276,7 @@ class DependencyUtil { } break; case DEP_TYPE.LOAD: + case DEP_TYPE.OPTIONS: if (value && dep.url) { const field = dep.field; // reset options From 540d95783f2b45e18cc37ab784d96f92c958fb2b Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 00:49:47 +0530 Subject: [PATCH 03/13] 4.2.0-beta.123 --- 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 d2d9bab..bfd8efd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.1.0", + "version": "4.2.0-beta.123", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.1.0", + "version": "4.2.0-beta.123", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index 3db386b..c64abb6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.1.0", + "version": "4.2.0-beta.123", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From 2c947aeaf6e67dcec01595835aff0165e62a0580 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:24:39 +0530 Subject: [PATCH 04/13] feature-115: add url --- src/utils/DependencyUtil.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index c191a36..fe03feb 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -284,6 +284,7 @@ class DependencyUtil { metaform .getData( { + url: dep.url, requestType: dep.requestType ?? API_METHOD.GET, requestBody: dep.requestBody, requestBodyParams: dep.requestBodyParams, From baca594a028a29341aaa0579f03250085f72ecc6 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:24:49 +0530 Subject: [PATCH 05/13] 4.2.0-beta.124 --- 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 bfd8efd..595ef9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.123", + "version": "4.2.0-beta.124", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.123", + "version": "4.2.0-beta.124", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index c64abb6..51db4ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.123", + "version": "4.2.0-beta.124", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From 6041eb12aa1daff8c8a5dfe8b73b0e991c5a60d9 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:25:25 +0530 Subject: [PATCH 06/13] 4.2.0-beta.125 --- 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 595ef9a..6160831 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.124", + "version": "4.2.0-beta.125", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.124", + "version": "4.2.0-beta.125", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index 51db4ed..ad31028 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.124", + "version": "4.2.0-beta.125", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From cd200e7a7c4e45e17d544ef5a456376641f3e632 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:25:42 +0530 Subject: [PATCH 07/13] 4.2.0-beta.127 --- 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 6160831..73b1f28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.125", + "version": "4.2.0-beta.127", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.125", + "version": "4.2.0-beta.127", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index ad31028..2961727 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.125", + "version": "4.2.0-beta.127", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From c0f10ca438c8f95e958168ac11a44bc280bcbda8 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:40:02 +0530 Subject: [PATCH 08/13] feature-115: adding missing params --- src/utils/DependencyUtil.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index fe03feb..280340a 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -288,7 +288,10 @@ class DependencyUtil { requestType: dep.requestType ?? API_METHOD.GET, requestBody: dep.requestBody, requestBodyParams: dep.requestBodyParams, - queryParams: dep.queryParams + queryParams: dep.queryParams, + labelKey: dep.labelKey, + valueKey: dep.valueKey, + responseKey: dep.responseKey, }, value, section From 8181680be8d16500b549846ceac43d4588fee724 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:40:09 +0530 Subject: [PATCH 09/13] 4.2.0-beta.139 --- 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 73b1f28..f2ca663 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.127", + "version": "4.2.0-beta.139", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.127", + "version": "4.2.0-beta.139", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index 2961727..f8b9d31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.127", + "version": "4.2.0-beta.139", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From 134b1673eacfc080a7d51a1de48cabbbdf9fef6d Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:50:58 +0530 Subject: [PATCH 10/13] feature-115: reset dependent field val --- src/utils/DependencyUtil.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index 280340a..57eafcc 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -281,6 +281,7 @@ class DependencyUtil { const field = dep.field; // reset options metaform.setFieldOptions(dep.section, field, []); + metaform.setField(dep.section, field, ""); metaform .getData( { From 65271f7693cb4d308db344f7fa49aa6ec3860838 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Wed, 23 Jul 2025 01:51:21 +0530 Subject: [PATCH 11/13] 4.2.0-beta.140 --- 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 f2ca663..4882a79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.139", + "version": "4.2.0-beta.140", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.139", + "version": "4.2.0-beta.140", "license": "MIT", "dependencies": { "@emotion/react": "^11.10.6", diff --git a/package.json b/package.json index f8b9d31..5ca13c2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@manojadams/metaforms-core", - "version": "4.2.0-beta.139", + "version": "4.2.0-beta.140", "description": "React Library for rendering dynamic forms from json schema", "author": "manojadams", "license": "MIT", From 34f3a3e6183cf2593fd2979ee9f1221e73290a4e Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Sun, 27 Jul 2025 00:08:05 +0530 Subject: [PATCH 12/13] feature-115: add cascading loading with options field --- src/utils/DependencyUtil.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index 57eafcc..c28f9fd 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -301,6 +301,13 @@ class DependencyUtil { metaform.setFieldOptions(dep.section, field, results); resolved.next(); }) + .then(() => { + // cascade + const subfield = metaform.getField(dep.section, field); + this.handleDependencies(metaform, dep.section, field, subfield.value, false).then( + () => resolved.next() + ); + }) .catch(() => { resolved.next(); }); From c17488d3bc6d9442c4aee1b9827d7b876b5ed394 Mon Sep 17 00:00:00 2001 From: Manoj Baruah Date: Sun, 27 Jul 2025 00:12:07 +0530 Subject: [PATCH 13/13] feature-115: linting --- src/utils/DependencyUtil.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/utils/DependencyUtil.tsx b/src/utils/DependencyUtil.tsx index c28f9fd..1918003 100644 --- a/src/utils/DependencyUtil.tsx +++ b/src/utils/DependencyUtil.tsx @@ -292,7 +292,7 @@ class DependencyUtil { queryParams: dep.queryParams, labelKey: dep.labelKey, valueKey: dep.valueKey, - responseKey: dep.responseKey, + responseKey: dep.responseKey }, value, section @@ -304,9 +304,13 @@ class DependencyUtil { .then(() => { // cascade const subfield = metaform.getField(dep.section, field); - this.handleDependencies(metaform, dep.section, field, subfield.value, false).then( - () => resolved.next() - ); + this.handleDependencies( + metaform, + dep.section, + field, + subfield.value, + false + ).then(() => resolved.next()); }) .catch(() => { resolved.next();