awing-library 2.1.2-dev.526 → 2.1.2-dev.527
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/AWING/DataForm/container.d.ts.map +1 -1
- package/dist/AWING/DataForm/container.js +7 -0
- package/dist/AWING/DataForm/container.test.js +3 -3
- package/dist/AWING/DataForm/interface.d.ts +5 -0
- package/dist/AWING/DataForm/interface.d.ts.map +1 -1
- package/dist/AWING/DataForm2/containerOptimized.test.js +2 -2
- package/dist/AWING/DataInput/components/LazyAutocompleteInput.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/AWING/DataForm/container.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/AWING/DataForm/container.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,2CAkQzE"}
|
|
@@ -80,6 +80,13 @@ function DataForm(props) {
|
|
|
80
80
|
if (oldValue && oldValue[fieldName] === newValue) delete newFieldsToUpdate[fieldName];
|
|
81
81
|
else if (newFieldsToUpdate[fieldName] !== newValue) newFieldsToUpdate[fieldName] = newValue;
|
|
82
82
|
newValidation[fieldName] = valid;
|
|
83
|
+
if (props.fieldDependencies && props.fieldDependencies[fieldName]) {
|
|
84
|
+
const dependentFields = props.fieldDependencies[fieldName];
|
|
85
|
+
dependentFields.forEach((depField)=>{
|
|
86
|
+
delete newFieldsToUpdate[depField];
|
|
87
|
+
newValidation[depField] = void 0;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
83
90
|
let field = fields.find((x)=>x.fieldName === fieldName);
|
|
84
91
|
if (field) {
|
|
85
92
|
if (field.customeFieldChange) {
|
|
@@ -6,7 +6,7 @@ import { fireEvent, render, screen } from "@testing-library/react";
|
|
|
6
6
|
import { Constants } from "../../Commons/Constant.js";
|
|
7
7
|
import container from "./container.js";
|
|
8
8
|
var __webpack_modules__ = {
|
|
9
|
-
"
|
|
9
|
+
"../DataInput": function(module) {
|
|
10
10
|
module.exports = __WEBPACK_EXTERNAL_MODULE__DataInput_index_js_c7933a4f__;
|
|
11
11
|
},
|
|
12
12
|
"../helper": function(module) {
|
|
@@ -23,7 +23,7 @@ function __webpack_require__(moduleId) {
|
|
|
23
23
|
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
24
24
|
return module.exports;
|
|
25
25
|
}
|
|
26
|
-
var index_js_ = __webpack_require__("
|
|
26
|
+
var index_js_ = __webpack_require__("../DataInput");
|
|
27
27
|
jest.mock('../DataInput', ()=>({
|
|
28
28
|
__esModule: true,
|
|
29
29
|
default: jest.fn(),
|
|
@@ -91,7 +91,7 @@ jest.mock('@mui/material', ()=>({
|
|
|
91
91
|
children: children
|
|
92
92
|
})
|
|
93
93
|
}));
|
|
94
|
-
const mockInputFactory = __webpack_require__("
|
|
94
|
+
const mockInputFactory = __webpack_require__("../DataInput")["default"];
|
|
95
95
|
const mockCalculateValue = __webpack_require__("../helper").calculateValue;
|
|
96
96
|
const mockConvertFormulaToBinaryTree = __webpack_require__("../helper").convertFormulaToBinaryTree;
|
|
97
97
|
const mockReplaceFieldsValue = __webpack_require__("../helper").replaceFieldsValue;
|
|
@@ -23,6 +23,11 @@ export type DataFormProps<T extends object> = {
|
|
|
23
23
|
onFormValid?(isValid: boolean): void;
|
|
24
24
|
onValidateForm?(obj: Partial<T>): boolean;
|
|
25
25
|
fieldPermissions?: FieldPermissions<T>;
|
|
26
|
+
/**
|
|
27
|
+
* Định nghĩa các field phụ thuộc:
|
|
28
|
+
* Khi một field thay đổi, các field trong mảng tương ứng sẽ được tự động reset giá trị.
|
|
29
|
+
*/
|
|
30
|
+
fieldDependencies?: Partial<Record<keyof T, string[]>>;
|
|
26
31
|
};
|
|
27
32
|
export type FieldPermissions<T> = {
|
|
28
33
|
[K in keyof T]?: boolean | FieldPermissions<T[K]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/AWING/DataForm/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9E;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtE;;OAEG;IACH,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/AWING/DataForm/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9E;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtE;;OAEG;IACH,WAAW,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpD,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { act, fireEvent, render, screen, waitFor } from "@testing-library/react"
|
|
|
5
5
|
import containerOptimized from "./containerOptimized.js";
|
|
6
6
|
import { createFormStateManager } from "./formStateManager.js";
|
|
7
7
|
var __webpack_modules__ = {
|
|
8
|
-
"
|
|
8
|
+
"../DataInput": function(module) {
|
|
9
9
|
module.exports = __WEBPACK_EXTERNAL_MODULE__DataInput_index_js_c7933a4f__;
|
|
10
10
|
}
|
|
11
11
|
};
|
|
@@ -98,7 +98,7 @@ jest.mock('@mui/material', ()=>({
|
|
|
98
98
|
children: children
|
|
99
99
|
})
|
|
100
100
|
}));
|
|
101
|
-
const mockInputFactory = __webpack_require__("
|
|
101
|
+
const mockInputFactory = __webpack_require__("../DataInput")["default"];
|
|
102
102
|
describe('DataForm Optimized - Performance Tests', ()=>{
|
|
103
103
|
let inputRenderCounts = {};
|
|
104
104
|
const mockFields = [
|
|
@@ -41,7 +41,7 @@ const LazyAutocompleteInput_LazyAutocompleteInput = (fieldDefinition)=>{
|
|
|
41
41
|
getOptionKey: (option)=>String(option.value ?? ''),
|
|
42
42
|
disableClearable: !!disableClearable,
|
|
43
43
|
getOptionDisabled: (option)=>Boolean(option?.disabled),
|
|
44
|
-
noOptionsText: t('Common.NoOptions'),
|
|
44
|
+
noOptionsText: fetched ? t('Common.NoOptions') : t('Common.Loading'),
|
|
45
45
|
loadingText: t('Common.Loading'),
|
|
46
46
|
onChange: (_e, value)=>{
|
|
47
47
|
const newValue = Array.isArray(value) ? value.map((x)=>x) : value;
|