@fctc/widget-logic 3.2.9 → 3.3.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.
package/dist/index.js CHANGED
@@ -5370,14 +5370,16 @@ var many2oneFieldController = (props) => {
5370
5370
  setDomainModal(domainObject);
5371
5371
  if (relation === "student.subject") (0, store_exports.setListSubject)(selectOptions);
5372
5372
  }, [selectOptions]);
5373
+ const parsedFormValues = (0, import_react16.useMemo)(
5374
+ () => JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {},
5375
+ [formValues, contextObject]
5376
+ );
5373
5377
  (0, import_react16.useEffect)(() => {
5378
+ const newDomain = (0, utils_exports.evalJSONDomain)(domain, parsedFormValues);
5374
5379
  setDomainObject(
5375
- (0, utils_exports.evalJSONDomain)(
5376
- domain,
5377
- JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {}
5378
- )
5380
+ (prev) => JSON.stringify(prev) === JSON.stringify(newDomain) ? prev : newDomain
5379
5381
  );
5380
- }, [domain]);
5382
+ }, [domain, parsedFormValues]);
5381
5383
  (0, import_react16.useEffect)(() => {
5382
5384
  if (!propValue && tempSelectedOption) {
5383
5385
  methods.setValue(name, null);
package/dist/index.mjs CHANGED
@@ -5451,14 +5451,16 @@ var many2oneFieldController = (props) => {
5451
5451
  setDomainModal(domainObject);
5452
5452
  if (relation === "student.subject") (0, store_exports.setListSubject)(selectOptions);
5453
5453
  }, [selectOptions]);
5454
+ const parsedFormValues = useMemo8(
5455
+ () => JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {},
5456
+ [formValues, contextObject]
5457
+ );
5454
5458
  useEffect10(() => {
5459
+ const newDomain = (0, utils_exports.evalJSONDomain)(domain, parsedFormValues);
5455
5460
  setDomainObject(
5456
- (0, utils_exports.evalJSONDomain)(
5457
- domain,
5458
- JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {}
5459
- )
5461
+ (prev) => JSON.stringify(prev) === JSON.stringify(newDomain) ? prev : newDomain
5460
5462
  );
5461
- }, [domain]);
5463
+ }, [domain, parsedFormValues]);
5462
5464
  useEffect10(() => {
5463
5465
  if (!propValue && tempSelectedOption) {
5464
5466
  methods.setValue(name, null);
package/dist/widget.js CHANGED
@@ -4615,14 +4615,16 @@ var many2oneFieldController = (props) => {
4615
4615
  setDomainModal(domainObject);
4616
4616
  if (relation === "student.subject") (0, store_exports.setListSubject)(selectOptions);
4617
4617
  }, [selectOptions]);
4618
+ const parsedFormValues = (0, import_react16.useMemo)(
4619
+ () => JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {},
4620
+ [formValues, contextObject]
4621
+ );
4618
4622
  (0, import_react16.useEffect)(() => {
4623
+ const newDomain = (0, utils_exports.evalJSONDomain)(domain, parsedFormValues);
4619
4624
  setDomainObject(
4620
- (0, utils_exports.evalJSONDomain)(
4621
- domain,
4622
- JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {}
4623
- )
4625
+ (prev) => JSON.stringify(prev) === JSON.stringify(newDomain) ? prev : newDomain
4624
4626
  );
4625
- }, [domain]);
4627
+ }, [domain, parsedFormValues]);
4626
4628
  (0, import_react16.useEffect)(() => {
4627
4629
  if (!propValue && tempSelectedOption) {
4628
4630
  methods.setValue(name, null);
package/dist/widget.mjs CHANGED
@@ -4673,14 +4673,16 @@ var many2oneFieldController = (props) => {
4673
4673
  setDomainModal(domainObject);
4674
4674
  if (relation === "student.subject") (0, store_exports.setListSubject)(selectOptions);
4675
4675
  }, [selectOptions]);
4676
+ const parsedFormValues = useMemo8(
4677
+ () => JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {},
4678
+ [formValues, contextObject]
4679
+ );
4676
4680
  useEffect10(() => {
4681
+ const newDomain = (0, utils_exports.evalJSONDomain)(domain, parsedFormValues);
4677
4682
  setDomainObject(
4678
- (0, utils_exports.evalJSONDomain)(
4679
- domain,
4680
- JSON.parse(JSON.stringify({ ...formValues, context: contextObject })) ?? {}
4681
- )
4683
+ (prev) => JSON.stringify(prev) === JSON.stringify(newDomain) ? prev : newDomain
4682
4684
  );
4683
- }, [domain]);
4685
+ }, [domain, parsedFormValues]);
4684
4686
  useEffect10(() => {
4685
4687
  if (!propValue && tempSelectedOption) {
4686
4688
  methods.setValue(name, null);
package/package.json CHANGED
@@ -1,94 +1,94 @@
1
- {
2
- "name": "@fctc/widget-logic",
3
- "version": "3.2.9",
4
- "types": "dist/index.d.ts",
5
- "main": "dist/index.cjs",
6
- "module": "dist/index.mjs",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "import": "./dist/index.mjs",
11
- "require": "./dist/index.cjs"
12
- },
13
- "./hooks": {
14
- "types": "./dist/hooks.d.ts",
15
- "import": "./dist/hooks.mjs",
16
- "require": "./dist/hooks.cjs"
17
- },
18
- "./widget": {
19
- "types": "./dist/widget.d.ts",
20
- "import": "./dist/widget.mjs",
21
- "require": "./dist/widget.cjs"
22
- },
23
- "./icons": {
24
- "types": "./dist/icons.d.ts",
25
- "import": "./dist/icons.mjs",
26
- "require": "./dist/icons.cjs"
27
- },
28
- "./utils": {
29
- "types": "./dist/utils.d.ts",
30
- "import": "./dist/utils.mjs",
31
- "require": "./dist/utils.cjs"
32
- },
33
- "./store": {
34
- "types": "./dist/store.d.ts",
35
- "import": "./dist/store.mjs",
36
- "require": "./dist/store.cjs"
37
- },
38
- "./config": {
39
- "types": "./dist/config.d.ts",
40
- "import": "./dist/config.mjs",
41
- "require": "./dist/config.cjs"
42
- },
43
- "./constants": {
44
- "types": "./dist/constants.d.ts",
45
- "import": "./dist/constants.mjs",
46
- "require": "./dist/constants.cjs"
47
- },
48
- "./environment": {
49
- "types": "./dist/environment.d.ts",
50
- "import": "./dist/environment.mjs",
51
- "require": "./dist/environment.cjs"
52
- },
53
- "./provider": {
54
- "types": "./dist/provider.d.ts",
55
- "import": "./dist/provider.mjs",
56
- "require": "./dist/provider.cjs"
57
- },
58
- "./services": {
59
- "types": "./dist/services.d.ts",
60
- "import": "./dist/services.mjs",
61
- "require": "./dist/services.cjs"
62
- },
63
- "./types": {
64
- "types": "./dist/types.d.ts",
65
- "import": "./dist/types.mjs",
66
- "require": "./dist/types.cjs"
67
- }
68
- },
69
- "files": [
70
- "dist"
71
- ],
72
- "scripts": {
73
- "build": "tsup",
74
- "test": "jest"
75
- },
76
- "dependencies": {
77
- "@fctc/interface-logic": "^2.9.0",
78
- "@headlessui/react": "^2.2.6",
79
- "@tanstack/react-query": "^5.84.0",
80
- "i18next": "^25.3.2",
81
- "i18next-browser-languagedetector": "^8.2.0",
82
- "react-i18next": "^15.6.1",
83
- "react-tooltip": "^5.29.1"
84
- },
85
- "devDependencies": {
86
- "@types/react": "^18.3.1",
87
- "jest": "^29.7.0",
88
- "react": "18.0.0",
89
- "tsup": "^8.0.0",
90
- "typescript": "^5.8.2"
91
- },
92
- "packageManager": "yarn@1.22.0",
93
- "peerDependencies": {}
94
- }
1
+ {
2
+ "name": "@fctc/widget-logic",
3
+ "version": "3.3.1",
4
+ "types": "dist/index.d.ts",
5
+ "main": "dist/index.cjs",
6
+ "module": "dist/index.mjs",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.mjs",
11
+ "require": "./dist/index.cjs"
12
+ },
13
+ "./hooks": {
14
+ "types": "./dist/hooks.d.ts",
15
+ "import": "./dist/hooks.mjs",
16
+ "require": "./dist/hooks.cjs"
17
+ },
18
+ "./widget": {
19
+ "types": "./dist/widget.d.ts",
20
+ "import": "./dist/widget.mjs",
21
+ "require": "./dist/widget.cjs"
22
+ },
23
+ "./icons": {
24
+ "types": "./dist/icons.d.ts",
25
+ "import": "./dist/icons.mjs",
26
+ "require": "./dist/icons.cjs"
27
+ },
28
+ "./utils": {
29
+ "types": "./dist/utils.d.ts",
30
+ "import": "./dist/utils.mjs",
31
+ "require": "./dist/utils.cjs"
32
+ },
33
+ "./store": {
34
+ "types": "./dist/store.d.ts",
35
+ "import": "./dist/store.mjs",
36
+ "require": "./dist/store.cjs"
37
+ },
38
+ "./config": {
39
+ "types": "./dist/config.d.ts",
40
+ "import": "./dist/config.mjs",
41
+ "require": "./dist/config.cjs"
42
+ },
43
+ "./constants": {
44
+ "types": "./dist/constants.d.ts",
45
+ "import": "./dist/constants.mjs",
46
+ "require": "./dist/constants.cjs"
47
+ },
48
+ "./environment": {
49
+ "types": "./dist/environment.d.ts",
50
+ "import": "./dist/environment.mjs",
51
+ "require": "./dist/environment.cjs"
52
+ },
53
+ "./provider": {
54
+ "types": "./dist/provider.d.ts",
55
+ "import": "./dist/provider.mjs",
56
+ "require": "./dist/provider.cjs"
57
+ },
58
+ "./services": {
59
+ "types": "./dist/services.d.ts",
60
+ "import": "./dist/services.mjs",
61
+ "require": "./dist/services.cjs"
62
+ },
63
+ "./types": {
64
+ "types": "./dist/types.d.ts",
65
+ "import": "./dist/types.mjs",
66
+ "require": "./dist/types.cjs"
67
+ }
68
+ },
69
+ "files": [
70
+ "dist"
71
+ ],
72
+ "scripts": {
73
+ "build": "tsup",
74
+ "test": "jest"
75
+ },
76
+ "dependencies": {
77
+ "@fctc/interface-logic": "^2.9.1",
78
+ "@headlessui/react": "^2.2.6",
79
+ "@tanstack/react-query": "^5.84.0",
80
+ "i18next": "^25.3.2",
81
+ "i18next-browser-languagedetector": "^8.2.0",
82
+ "react-i18next": "^15.6.1",
83
+ "react-tooltip": "^5.29.1"
84
+ },
85
+ "devDependencies": {
86
+ "@types/react": "^18.3.1",
87
+ "jest": "^29.7.0",
88
+ "react": "18.0.0",
89
+ "tsup": "^8.0.0",
90
+ "typescript": "^5.8.2"
91
+ },
92
+ "packageManager": "yarn@1.22.0",
93
+ "peerDependencies": {}
94
+ }