awing-library 2.1.136-beta → 2.1.136
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/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
- package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
- package/lib/ACM-AXN/Campaign/Container.js +52 -54
- package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +6 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -42
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +317 -104
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +8 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +23 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +69 -124
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
- package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
- package/lib/ACM-AXN/Campaign/Enum.js +30 -10
- package/lib/ACM-AXN/Campaign/Types.d.ts +55 -6
- package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -0
- package/lib/ACM-AXN/Campaign/Utils.js +60 -2
- package/lib/ACM-AXN/Campaign/index.js +2 -2
- package/lib/ACM-AXN/CampaignPlan/Container.js +5 -7
- package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
- package/lib/ACM-AXN/CampaignPlan/Filter.js +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
- package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
- package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
- package/lib/ACM-AXN/Common/Constant.js +2 -0
- package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
- package/lib/ACM-AXN/Common/Enum.js +19 -4
- package/lib/ACM-AXN/Common/Types.d.ts +5 -0
- package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
- package/lib/ACM-AXN/GeoFencing/component.js +7 -7
- package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
- package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
- package/lib/ACM-AXN/Page/Constant.js +2 -0
- package/lib/ACM-AXN/Page/Container.js +3 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +10 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
- package/lib/ACM-AXN/Page/Types.d.ts +3 -0
- package/lib/ACM-AXN/Page/enums.d.ts +5 -0
- package/lib/ACM-AXN/Page/enums.js +7 -1
- package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
- package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
- package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
- package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
- package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
- package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
- package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
- package/lib/ACM-AXN/Statistics/Enums.js +1 -0
- package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
- package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
- package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
- package/lib/ACM-AXN/Template/Container.js +2 -2
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -39
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
- package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
- package/lib/ACM-AXN/Template/Import.js +2 -2
- package/lib/ACM-AXN/Template/Types.d.ts +9 -9
- package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
- package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
- package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
- package/lib/ACM-AXN/ViewTemplate/common.js +48 -9
- package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
- package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
- package/lib/ACM-AXN/index.d.ts +1 -0
- package/lib/ACM-AXN/index.js +1 -0
- package/lib/AWING/AsyncAutocomplete/index.js +2 -2
- package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
- package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
- package/lib/AWING/Chart/BarLineComponent.js +20 -25
- package/lib/AWING/Chart/PieComponent.d.ts +3 -4
- package/lib/AWING/Chart/PieComponent.js +16 -16
- package/lib/AWING/Chart/Styles.js +51 -16
- package/lib/AWING/DataForm/DataInput.js +104 -22
- package/lib/AWING/DataForm/interface.d.ts +2 -0
- package/lib/AWING/DataGrid/index.js +8 -13
- package/lib/AWING/DateRangePicker/component.js +56 -30
- package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
- package/lib/AWING/DateRangePicker/configDate.js +12 -12
- package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
- package/lib/AWING/Form/useForm.js +3 -2
- package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
- package/lib/AWING/GoogleMap/GGMap.js +256 -0
- package/lib/AWING/GoogleMap/index.d.ts +4 -0
- package/lib/AWING/GoogleMap/index.js +41 -0
- package/lib/AWING/GoogleMap/interface.d.ts +21 -0
- package/lib/AWING/GoogleMap/interface.js +2 -0
- package/lib/AWING/GoogleMap/utils.d.ts +25 -0
- package/lib/AWING/GoogleMap/utils.js +135 -0
- package/lib/AWING/GroupTable/GroupTable.js +4 -5
- package/lib/AWING/GroupTable/component.d.ts +1 -0
- package/lib/AWING/GroupTable/component.js +2 -2
- package/lib/AWING/NumberFormat/index.d.ts +3 -1
- package/lib/AWING/NumberFormat/index.js +2 -2
- package/lib/AWING/PageManagement/PageManagement.js +4 -3
- package/lib/AWING/Pagination/index.js +11 -3
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +1 -0
- package/lib/AWING/ultis/validation.js +25 -6
- package/lib/Commons/Components/ClassicDrawer.js +5 -4
- package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
- package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
- package/lib/Commons/Hooks/usePath.js +3 -3
- package/lib/Utils/Helpers.d.ts +3 -2
- package/lib/Utils/Helpers.js +48 -8
- package/lib/i18n.js +18 -2
- package/lib/translate/en/translation.json +137 -73
- package/lib/translate/id/translation.json +893 -0
- package/lib/translate/ja/translation.json +893 -0
- package/lib/translate/phl/translation.json +893 -0
- package/lib/translate/th/translation.json +893 -0
- package/lib/translate/vi/translation.json +97 -33
- package/package.json +131 -126
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
|
@@ -17,16 +17,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
18
|
var material_1 = require("@mui/material");
|
|
19
19
|
var styles_1 = require("@mui/styles");
|
|
20
|
-
var
|
|
21
|
-
var VideoField_1 = __importDefault(require("./VideoField"));
|
|
22
|
-
var MonacoEditor_1 = __importDefault(require("./MonacoEditor"));
|
|
23
|
-
var common_1 = require("../../../common");
|
|
24
|
-
var constant_1 = require("../../../constant");
|
|
25
|
-
var Enum_1 = require("../../../Enum");
|
|
20
|
+
var validation_1 = require("../../../../../AWING/ultis/validation");
|
|
26
21
|
var react_1 = require("react");
|
|
27
22
|
var react_i18next_1 = require("react-i18next");
|
|
28
|
-
var
|
|
29
|
-
var
|
|
23
|
+
var Enum_1 = require("../../../Enum");
|
|
24
|
+
var ImageField_1 = __importDefault(require("./ImageField"));
|
|
25
|
+
var MonacoEditor_1 = __importDefault(require("./MonacoEditor"));
|
|
26
|
+
var Utils_1 = require("./Utils");
|
|
27
|
+
var VideoField_1 = __importDefault(require("./VideoField"));
|
|
30
28
|
var useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
31
29
|
paper: {
|
|
32
30
|
padding: '16px',
|
|
@@ -65,6 +63,7 @@ function BasicField(props) {
|
|
|
65
63
|
register = hookControl.register, errors = hookControl.formState.errors, getValues = hookControl.getValues, setFormValue = hookControl.setFormValue;
|
|
66
64
|
(0, react_1.useEffect)(function () {
|
|
67
65
|
var isNotSubField = fieldPath.split('.').length === 3;
|
|
66
|
+
var timeOut;
|
|
68
67
|
if (isNotSubField) {
|
|
69
68
|
if (fieldType === Enum_1.TYPE_FIELD_TEMPLATE.CHECKBOX) {
|
|
70
69
|
if (defaultValue === 'true' &&
|
|
@@ -77,13 +76,17 @@ function BasicField(props) {
|
|
|
77
76
|
}
|
|
78
77
|
else {
|
|
79
78
|
if (defaultValue && !fieldValue) {
|
|
80
|
-
setTimeout(function () {
|
|
79
|
+
timeOut = setTimeout(function () {
|
|
81
80
|
setFormValue(fieldPath, defaultValue);
|
|
82
81
|
onChange(fieldPath);
|
|
83
82
|
}, 0);
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
85
|
}
|
|
86
|
+
return function () {
|
|
87
|
+
if (timeOut)
|
|
88
|
+
clearTimeout(timeOut);
|
|
89
|
+
};
|
|
87
90
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
91
|
}, []);
|
|
89
92
|
var handleChange = function (newValue) {
|
|
@@ -93,8 +96,8 @@ function BasicField(props) {
|
|
|
93
96
|
if (scriptValidate) {
|
|
94
97
|
onChangeValidateProcess(Enum_1.VALIDATE_PROCESS_CODE.NOT_VALIDATE);
|
|
95
98
|
}
|
|
96
|
-
runValidate(scriptValidate || '', fields, pagePath, onNotifyError, onChangeViewValid, onChangeValidateProcess, configs);
|
|
97
|
-
runAutoField(scriptAutoField || '', fields, fieldPath, pagePath, function (needUpdateFieldPath, newValue) {
|
|
99
|
+
(0, Utils_1.runValidate)(scriptValidate || '', fields, pagePath, onNotifyError, onChangeViewValid, onChangeValidateProcess, configs);
|
|
100
|
+
(0, Utils_1.runAutoField)(scriptAutoField || '', fields, fieldPath, pagePath, function (needUpdateFieldPath, newValue) {
|
|
98
101
|
setFormValue(needUpdateFieldPath, newValue);
|
|
99
102
|
onChange(needUpdateFieldPath);
|
|
100
103
|
}, configs);
|
|
@@ -102,12 +105,15 @@ function BasicField(props) {
|
|
|
102
105
|
var renderField = function () {
|
|
103
106
|
// const isError = !!getValueByPath(/*errors*/ {}, fieldPath)
|
|
104
107
|
var isError = errors.includes(fieldPath);
|
|
105
|
-
var field = register(fieldPath, __assign({ required: isRequired }, fieldType === Enum_1.TYPE_FIELD_TEMPLATE.URL && {
|
|
106
|
-
onValidate:
|
|
108
|
+
var field = register(fieldPath, __assign(__assign({ required: isRequired }, fieldType === Enum_1.TYPE_FIELD_TEMPLATE.URL && {
|
|
109
|
+
onValidate: validation_1.urlValid
|
|
110
|
+
}), fieldType === Enum_1.TYPE_FIELD_TEMPLATE.COLOR && {
|
|
111
|
+
onValidate: validation_1.colorValid
|
|
107
112
|
}));
|
|
113
|
+
// onChangeViewValid(isError)
|
|
108
114
|
switch (fieldType) {
|
|
115
|
+
// return renderNumberField(field, isError)
|
|
109
116
|
case Enum_1.TYPE_FIELD_TEMPLATE.TEXT_FIELD_NUMBER:
|
|
110
|
-
return renderTextField(field, isError);
|
|
111
117
|
case Enum_1.TYPE_FIELD_TEMPLATE.TEXT_FIELD:
|
|
112
118
|
case Enum_1.TYPE_FIELD_TEMPLATE.URL:
|
|
113
119
|
return renderTextField(field, isError);
|
|
@@ -128,42 +134,35 @@ function BasicField(props) {
|
|
|
128
134
|
default:
|
|
129
135
|
return null;
|
|
130
136
|
}
|
|
131
|
-
// return (
|
|
132
|
-
// <Controller
|
|
133
|
-
// name={fieldPath}
|
|
134
|
-
// {...register(fieldPath, { required: isRequired })}
|
|
135
|
-
// ref={null}
|
|
136
|
-
// control={control}
|
|
137
|
-
// render={({ field }) => {
|
|
138
|
-
// switch (fieldType) {
|
|
139
|
-
// case TYPE_FIELD_TEMPLATE.TEXT_FIELD_NUMBER:
|
|
140
|
-
// return renderTextField(field, isError)
|
|
141
|
-
// case TYPE_FIELD_TEMPLATE.TEXT_FIELD:
|
|
142
|
-
// return renderTextField(field, isError)
|
|
143
|
-
// case TYPE_FIELD_TEMPLATE.TEXTAREA:
|
|
144
|
-
// return renderTextField(field, isError)
|
|
145
|
-
// case TYPE_FIELD_TEMPLATE.DROPDOWN_LIST:
|
|
146
|
-
// return renderDropdownListField(field, isError)
|
|
147
|
-
// case TYPE_FIELD_TEMPLATE.CHECKBOX:
|
|
148
|
-
// return renderCheckboxField(field)
|
|
149
|
-
// case TYPE_FIELD_TEMPLATE.COLOR:
|
|
150
|
-
// return renderColorField(field, isError)
|
|
151
|
-
// case TYPE_FIELD_TEMPLATE.IMAGE:
|
|
152
|
-
// return renderImageOrVideoField(isError)
|
|
153
|
-
// case TYPE_FIELD_TEMPLATE.VIDEO:
|
|
154
|
-
// return renderImageOrVideoField(isError)
|
|
155
|
-
// case TYPE_FIELD_TEMPLATE.HTML:
|
|
156
|
-
// return renderHTMLField()
|
|
157
|
-
// default:
|
|
158
|
-
// return null
|
|
159
|
-
// }
|
|
160
|
-
// }}
|
|
161
|
-
// ></Controller>
|
|
162
|
-
// )
|
|
163
137
|
};
|
|
138
|
+
// const renderNumberField = React.useCallback((field: any, isError: boolean) => {
|
|
139
|
+
// return (
|
|
140
|
+
// <NumberFormat
|
|
141
|
+
// {...field}
|
|
142
|
+
// inputProps={{ min: 0 }}
|
|
143
|
+
// className={classes.text}
|
|
144
|
+
// required={isRequired}
|
|
145
|
+
// min={0}
|
|
146
|
+
// fullWidth
|
|
147
|
+
// variant="standard"
|
|
148
|
+
// label={labelName || fieldName}
|
|
149
|
+
// onChange={(e) => {
|
|
150
|
+
// let newValue = Number(e.target.value)
|
|
151
|
+
// console.log('newValue', newValue)
|
|
152
|
+
// handleChange(newValue)
|
|
153
|
+
// }}
|
|
154
|
+
// error={isError}
|
|
155
|
+
// helperText={isError ? t('Common.Required') : ''}
|
|
156
|
+
// />
|
|
157
|
+
// )
|
|
158
|
+
// // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
159
|
+
// }, [classes, fieldName, isRequired, labelName, t])
|
|
164
160
|
var renderTextField = function (field, isError) {
|
|
165
161
|
return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, field, { className: classes.text, required: isRequired, fullWidth: true }, (fieldType === Enum_1.TYPE_FIELD_TEMPLATE.TEXT_FIELD_NUMBER
|
|
166
|
-
? {
|
|
162
|
+
? { inputProps: {
|
|
163
|
+
min: 0,
|
|
164
|
+
type: 'number',
|
|
165
|
+
} }
|
|
167
166
|
: {}), (fieldType === Enum_1.TYPE_FIELD_TEMPLATE.TEXTAREA
|
|
168
167
|
? { multiline: true, rows: 4 }
|
|
169
168
|
: {}), { variant: "standard", label: labelName || fieldName, onChange: function (e) {
|
|
@@ -240,116 +239,3 @@ function BasicField(props) {
|
|
|
240
239
|
return renderField();
|
|
241
240
|
}
|
|
242
241
|
exports.default = BasicField;
|
|
243
|
-
var getValidationParams = function (templateDatas, pagePath, configs) {
|
|
244
|
-
var fields = templateDatas.map(function (dt) {
|
|
245
|
-
// Convert all video, image link
|
|
246
|
-
var fieldValue = dt.fieldValue;
|
|
247
|
-
if ([
|
|
248
|
-
Enum_1.TYPE_FIELD_TEMPLATE.IMAGE,
|
|
249
|
-
Enum_1.TYPE_FIELD_TEMPLATE.VIDEO,
|
|
250
|
-
Enum_1.TYPE_FIELD_TEMPLATE.OBJECT,
|
|
251
|
-
Enum_1.TYPE_FIELD_TEMPLATE.LIST,
|
|
252
|
-
].includes(dt.fieldType)) {
|
|
253
|
-
var jsonValue = JSON.stringify(fieldValue);
|
|
254
|
-
if (jsonValue.includes(constant_1.ACM_TEMPLATE_PATH)) {
|
|
255
|
-
jsonValue = jsonValue.replaceAll('/' + constant_1.ACM_TEMPLATE_PATH, "".concat(configs.TEMPLATE_FILE_PATH, "/").concat(dt.templateId));
|
|
256
|
-
}
|
|
257
|
-
if (jsonValue.includes(configs.FILE_RELATIVE_PATH || '')) {
|
|
258
|
-
jsonValue = jsonValue.replaceAll(configs.FILE_RELATIVE_PATH || '', pagePath);
|
|
259
|
-
}
|
|
260
|
-
fieldValue = JSON.parse(jsonValue);
|
|
261
|
-
}
|
|
262
|
-
return __assign(__assign({}, dt), { fieldValue: fieldValue });
|
|
263
|
-
});
|
|
264
|
-
return [fields];
|
|
265
|
-
};
|
|
266
|
-
var runValidate = debounce(function (scriptValidate, fields, pagePath, notifyError, changeViewValidStatus, changeViewValidProcess, configs) {
|
|
267
|
-
if (scriptValidate) {
|
|
268
|
-
changeViewValidProcess(Enum_1.VALIDATE_PROCESS_CODE.VALIDATING);
|
|
269
|
-
var params = getValidationParams(fields, pagePath, configs);
|
|
270
|
-
(0, common_1.runScript)(
|
|
271
|
-
// getValidationParams(fields, pagePath, configs),
|
|
272
|
-
params, scriptValidate).then(function (result) {
|
|
273
|
-
if (result) {
|
|
274
|
-
var fieldsError_1 = [];
|
|
275
|
-
var newAnswer = result.map(function (validInfo) {
|
|
276
|
-
var _a;
|
|
277
|
-
if (validInfo.code === Enum_1.VALID_TEMPLATE_CODE.SUCCESS) {
|
|
278
|
-
return true;
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
var displayName = ((_a = fields.find(function (dt) {
|
|
282
|
-
return validInfo.fieldName === dt.fieldName;
|
|
283
|
-
})) === null || _a === void 0 ? void 0 : _a.labelName) || validInfo.fieldName;
|
|
284
|
-
fieldsError_1.push("".concat(displayName).concat(validInfo.errorMessage
|
|
285
|
-
? ": ".concat(validInfo.errorMessage)
|
|
286
|
-
: ''));
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
if (fieldsError_1.length > 0) {
|
|
291
|
-
notifyError(fieldsError_1.toString());
|
|
292
|
-
}
|
|
293
|
-
changeViewValidStatus(newAnswer.length === 0 || !newAnswer.includes(false));
|
|
294
|
-
}
|
|
295
|
-
changeViewValidProcess(Enum_1.VALIDATE_PROCESS_CODE.VALIDATED);
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
}, constant_1.DELAY_TIME_RUN_SCRIPT);
|
|
299
|
-
var getAutoFieldParams = function (templateDatas, fieldPath, pagePath, configs) {
|
|
300
|
-
var fields = templateDatas.map(function (dt) {
|
|
301
|
-
// Convert all video, image link
|
|
302
|
-
var fieldValue = dt.fieldValue;
|
|
303
|
-
if ([
|
|
304
|
-
Enum_1.TYPE_FIELD_TEMPLATE.IMAGE,
|
|
305
|
-
Enum_1.TYPE_FIELD_TEMPLATE.VIDEO,
|
|
306
|
-
Enum_1.TYPE_FIELD_TEMPLATE.OBJECT,
|
|
307
|
-
Enum_1.TYPE_FIELD_TEMPLATE.LIST,
|
|
308
|
-
].includes(dt.fieldType)) {
|
|
309
|
-
var jsonValue = JSON.stringify(fieldValue);
|
|
310
|
-
if (jsonValue.includes(constant_1.ACM_TEMPLATE_PATH)) {
|
|
311
|
-
jsonValue = jsonValue.replaceAll('/' + constant_1.ACM_TEMPLATE_PATH, "".concat(configs.TEMPLATE_FILE_PATH, "/").concat(dt.templateId));
|
|
312
|
-
}
|
|
313
|
-
if (jsonValue.includes(configs.FILE_RELATIVE_PATH || '')) {
|
|
314
|
-
jsonValue = jsonValue.replaceAll(configs.FILE_RELATIVE_PATH || '', pagePath);
|
|
315
|
-
}
|
|
316
|
-
fieldValue = JSON.parse(jsonValue);
|
|
317
|
-
}
|
|
318
|
-
return __assign(__assign({}, dt), { fieldValue: fieldValue });
|
|
319
|
-
});
|
|
320
|
-
var keys = fieldPath.split('.');
|
|
321
|
-
var fieldChange = fields[Number(keys[1])];
|
|
322
|
-
return [fields, __assign(__assign({}, fieldChange), { changePath: fieldPath })];
|
|
323
|
-
};
|
|
324
|
-
var runAutoField = debounce(function (scriptAutoField, fields, fieldPath, pagePath, updateNewValue, configs) {
|
|
325
|
-
if (scriptAutoField) {
|
|
326
|
-
(0, common_1.runScript)(getAutoFieldParams(fields, fieldPath, pagePath, configs), scriptAutoField).then(function (result) {
|
|
327
|
-
if (result) {
|
|
328
|
-
result === null || result === void 0 ? void 0 : result.map(function (r) {
|
|
329
|
-
var _a;
|
|
330
|
-
var idx = fields.findIndex(function (f) { return f.fieldName === r.fieldName; });
|
|
331
|
-
if ([
|
|
332
|
-
Enum_1.TYPE_FIELD_TEMPLATE.IMAGE,
|
|
333
|
-
Enum_1.TYPE_FIELD_TEMPLATE.VIDEO,
|
|
334
|
-
Enum_1.TYPE_FIELD_TEMPLATE.OBJECT,
|
|
335
|
-
Enum_1.TYPE_FIELD_TEMPLATE.LIST,
|
|
336
|
-
].includes(fields[idx].fieldType)) {
|
|
337
|
-
var jsonValue = JSON.stringify(r.newValue);
|
|
338
|
-
if (jsonValue.includes(pagePath)) {
|
|
339
|
-
jsonValue = jsonValue.replaceAll(pagePath, configs.FILE_RELATIVE_PATH || '');
|
|
340
|
-
}
|
|
341
|
-
if (configs.TEMPLATE_FILE_PATH &&
|
|
342
|
-
jsonValue.includes(configs.TEMPLATE_FILE_PATH)) {
|
|
343
|
-
var templatePath = "".concat(configs.TEMPLATE_FILE_PATH, "/").concat((_a = fields === null || fields === void 0 ? void 0 : fields[0]) === null || _a === void 0 ? void 0 : _a.templateId);
|
|
344
|
-
jsonValue = jsonValue.replaceAll(templatePath, "\"/".concat(constant_1.ACM_TEMPLATE_PATH));
|
|
345
|
-
}
|
|
346
|
-
r.newValue = JSON.parse(jsonValue);
|
|
347
|
-
}
|
|
348
|
-
var needUpdateFieldPath = "templateDatas.".concat(idx, ".fieldValue");
|
|
349
|
-
updateNewValue(needUpdateFieldPath, r.newValue);
|
|
350
|
-
return r;
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
}, constant_1.DELAY_TIME_RUN_SCRIPT);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Configs } from
|
|
1
|
+
import { Configs } from './interface';
|
|
2
2
|
export declare const fillConfigs: (input: any) => any;
|
|
3
3
|
export declare const isJSON: (value: any) => boolean;
|
|
4
4
|
export declare const getValueByPath: (object: any, path: string) => any;
|
|
5
|
+
export declare const runScriptSandBox: (params: any[], script: string) => Promise<any>;
|
|
5
6
|
export declare const runScript: (params: any[], script: string) => Promise<unknown>;
|
|
6
7
|
export declare const convertRelativeLink: (link: string, pagePath: string, templateId: string, configs: Configs) => string;
|
|
7
8
|
export declare const generateRandomInteger: (max: number) => number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateRandomInteger = exports.convertRelativeLink = exports.runScript = exports.getValueByPath = exports.isJSON = exports.fillConfigs = void 0;
|
|
3
|
+
exports.generateRandomInteger = exports.convertRelativeLink = exports.runScript = exports.runScriptSandBox = exports.getValueByPath = exports.isJSON = exports.fillConfigs = void 0;
|
|
4
4
|
var Enum_1 = require("./Enum");
|
|
5
5
|
var constant_1 = require("./constant");
|
|
6
6
|
var fillConfigs = function (input) {
|
|
@@ -15,12 +15,12 @@ var fillConfigs = function (input) {
|
|
|
15
15
|
};
|
|
16
16
|
exports.fillConfigs = fillConfigs;
|
|
17
17
|
var isJSON = function (value) {
|
|
18
|
-
if (typeof value !==
|
|
18
|
+
if (typeof value !== 'string')
|
|
19
19
|
return false;
|
|
20
20
|
try {
|
|
21
21
|
var result = JSON.parse(value);
|
|
22
22
|
var type = Object.prototype.toString.call(result);
|
|
23
|
-
return type ===
|
|
23
|
+
return type === '[object Object]' || type === '[object Array]';
|
|
24
24
|
}
|
|
25
25
|
catch (err) {
|
|
26
26
|
return false;
|
|
@@ -28,14 +28,52 @@ var isJSON = function (value) {
|
|
|
28
28
|
};
|
|
29
29
|
exports.isJSON = isJSON;
|
|
30
30
|
var getValueByPath = function (object, path) {
|
|
31
|
-
var keys = path.split(
|
|
31
|
+
var keys = path.split('.');
|
|
32
32
|
var result = object;
|
|
33
33
|
for (var i = 0; i < keys.length; i++) {
|
|
34
|
-
result = (result === null || result === void 0 ? void 0 : result[keys[i]]) ||
|
|
34
|
+
result = (result === null || result === void 0 ? void 0 : result[keys[i]]) || '';
|
|
35
35
|
}
|
|
36
36
|
return result;
|
|
37
37
|
};
|
|
38
38
|
exports.getValueByPath = getValueByPath;
|
|
39
|
+
var runScriptSandBox = function (params, script) {
|
|
40
|
+
try {
|
|
41
|
+
var sandboxUrl = window.REACT_APP_API_ENDPOINT + '/api/Sandbox';
|
|
42
|
+
return fetch(sandboxUrl, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: {
|
|
45
|
+
'Content-Type': 'application/json-patch+json',
|
|
46
|
+
Accept: 'text/plain',
|
|
47
|
+
},
|
|
48
|
+
body: JSON.stringify({
|
|
49
|
+
jsCode: "\n const fn = (function func() {\n ".concat(script, "\n })();\n return fn(").concat(Array.from(params).map(function (i) { return JSON.stringify(i); }), ");\n ").trim(),
|
|
50
|
+
sandboxType: 0,
|
|
51
|
+
}).trim(),
|
|
52
|
+
credentials: 'include',
|
|
53
|
+
})
|
|
54
|
+
.then(function (r) { return r.json(); })
|
|
55
|
+
.then(function (r) { return JSON.parse(r.jsResult); });
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error('Error running script:', error);
|
|
59
|
+
return Promise.resolve([]);
|
|
60
|
+
}
|
|
61
|
+
// return new Promise((resolve, reject) => {
|
|
62
|
+
// try {
|
|
63
|
+
// // eslint-disable-next-line
|
|
64
|
+
// var scriptFunction = new Function(script)()
|
|
65
|
+
// } catch (error) {
|
|
66
|
+
// scriptFunction = (...params: any[]) => {
|
|
67
|
+
// return new Promise((resolve, reject) => resolve([]))
|
|
68
|
+
// }
|
|
69
|
+
// }
|
|
70
|
+
// scriptFunction(...params).then((result: any[]) => {
|
|
71
|
+
// console.log('Script result:', result)
|
|
72
|
+
// resolve(result)
|
|
73
|
+
// })
|
|
74
|
+
// })
|
|
75
|
+
};
|
|
76
|
+
exports.runScriptSandBox = runScriptSandBox;
|
|
39
77
|
var runScript = function (params, script) {
|
|
40
78
|
return new Promise(function (resolve, reject) {
|
|
41
79
|
try {
|
|
@@ -58,12 +96,13 @@ var runScript = function (params, script) {
|
|
|
58
96
|
};
|
|
59
97
|
exports.runScript = runScript;
|
|
60
98
|
var convertRelativeLink = function (link, pagePath, templateId, configs) {
|
|
61
|
-
var isTemplatePath =
|
|
99
|
+
var isTemplatePath = link === null || link === void 0 ? void 0 : link.includes(constant_1.ACM_TEMPLATE_PATH);
|
|
62
100
|
if (isTemplatePath) {
|
|
63
|
-
return "".concat(configs.TEMPLATE_FILE_PATH, "/").concat(templateId, "/").concat(link.split(
|
|
101
|
+
return "".concat(configs.TEMPLATE_FILE_PATH, "/").concat(templateId, "/").concat(link.split('/')[link.split('/').length - 1]);
|
|
64
102
|
}
|
|
65
|
-
return link
|
|
66
|
-
|
|
103
|
+
return (link === null || link === void 0 ? void 0 : link.includes(constant_1.ACM_PAGE_PATH))
|
|
104
|
+
? "".concat(pagePath, "/").concat(link.split('/')[link.split('/').length - 1]) || ''
|
|
105
|
+
: link;
|
|
67
106
|
};
|
|
68
107
|
exports.convertRelativeLink = convertRelativeLink;
|
|
69
108
|
var generateRandomInteger = function (max) {
|
|
@@ -60,10 +60,6 @@ function ViewTemplate(_a) {
|
|
|
60
60
|
control: control,
|
|
61
61
|
name: "templateDatas",
|
|
62
62
|
}).fields;
|
|
63
|
-
// const { fields } = useFieldArray({
|
|
64
|
-
// control,
|
|
65
|
-
// name: "templateDatas",
|
|
66
|
-
// });
|
|
67
63
|
(0, react_1.useEffect)(function () {
|
|
68
64
|
var language = localStorage.getItem("i18nextLng");
|
|
69
65
|
i18n_1.default.changeLanguage(language || "vi");
|
|
@@ -89,7 +85,7 @@ function ViewTemplate(_a) {
|
|
|
89
85
|
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 4, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: enablePreview ? 8 : 12, children: [templateLabelName && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", style: {
|
|
90
86
|
fontWeight: "bold",
|
|
91
87
|
textTransform: "uppercase",
|
|
92
|
-
}, children: templateLabelName })), fields && renderFields(fields, false), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { id: "advance-option", style: {
|
|
88
|
+
}, children: templateLabelName })), fields && renderFields(fields, false), enablePreview && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { id: "advance-option", style: {
|
|
93
89
|
display: "flex",
|
|
94
90
|
flexDirection: "row",
|
|
95
91
|
justifyContent: "space-between",
|
|
@@ -97,7 +93,13 @@ function ViewTemplate(_a) {
|
|
|
97
93
|
cursor: "pointer",
|
|
98
94
|
}, onClick: function () {
|
|
99
95
|
setAdvanceOptionExpand(!advanceOptionExpand);
|
|
100
|
-
}, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { style: { fontWeight: "bold" }, children: t("ViewTemplate.AdvanceOption") }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { children: advanceOptionExpand ? ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandLess, {})) : ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {})) })] }),
|
|
96
|
+
}, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { style: { fontWeight: "bold" }, children: t("ViewTemplate.AdvanceOption") }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { children: advanceOptionExpand ? ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandLess, {})) : ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {})) })] }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, sx: {
|
|
97
|
+
transition: "all 3s",
|
|
98
|
+
}, style: advanceOptionExpand ? {
|
|
99
|
+
display: "block",
|
|
100
|
+
} : {
|
|
101
|
+
display: "none",
|
|
102
|
+
}, children: [fields && advanceFields.length > 0 && renderFields(fields, true), (0, jsx_runtime_1.jsx)(Event_1.default, __assign({}, props))] })] }))] }), enablePreview && ((0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 4, children: [(0, jsx_runtime_1.jsx)(Preview_1.default, { domainId: domainId || "", validStatus: validStatus, configs: CONFIGS, pagePath: pagePath, templateDatas: templateDatas }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", children: t("ViewTemplate.PreviewLoadingNote") })] }))] }));
|
|
101
103
|
}
|
|
102
104
|
exports.default = ViewTemplate;
|
|
103
105
|
var getChilds = function (fields, fieldInfo) {
|
|
@@ -117,21 +119,18 @@ var addChilds = function (fields, fieldInfo) {
|
|
|
117
119
|
}
|
|
118
120
|
return result;
|
|
119
121
|
};
|
|
120
|
-
var convertToTreeData = function (data) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
});
|
|
136
|
-
return treeData;
|
|
137
|
-
};
|
|
122
|
+
var convertToTreeData = function (data) { return data
|
|
123
|
+
.map(function (item) { return addChilds(data, item); })
|
|
124
|
+
.filter(function (item) { return !item.fieldName.includes("."); })
|
|
125
|
+
.map(function (item) {
|
|
126
|
+
if ([Enum_1.TYPE_FIELD_TEMPLATE.LIST, Enum_1.TYPE_FIELD_TEMPLATE.OBJECT].includes(item.fieldType)) {
|
|
127
|
+
return __assign(__assign({}, item), { fieldValue: item.fieldValue && (0, common_1.isJSON)(item.fieldValue)
|
|
128
|
+
? JSON.parse(item.fieldValue)
|
|
129
|
+
: item.fieldType === Enum_1.TYPE_FIELD_TEMPLATE.LIST
|
|
130
|
+
? []
|
|
131
|
+
: {} });
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
return item;
|
|
135
|
+
}
|
|
136
|
+
}); };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { IWizardTemplate } from '../Types';
|
|
2
|
+
import { Directory, TemplateType, IWizardTemplate } from '../Types';
|
|
3
3
|
interface PropsPageTemplate {
|
|
4
4
|
pageCodeValue: number;
|
|
5
|
+
directories: Directory[];
|
|
6
|
+
templateTypes: TemplateType[];
|
|
5
7
|
wizardTemplates: IWizardTemplate[];
|
|
6
8
|
onConfirmExit: () => void;
|
|
7
9
|
onChange: (wizardNew: object) => void;
|
|
@@ -19,55 +19,45 @@ var react_1 = require("react");
|
|
|
19
19
|
var react_i18next_1 = require("react-i18next");
|
|
20
20
|
var Add_1 = __importDefault(require("@mui/icons-material/Add"));
|
|
21
21
|
var material_1 = require("@mui/material");
|
|
22
|
-
var Hooks_1 = __importDefault(require("../Hooks"));
|
|
23
22
|
var RowTemplate_1 = __importDefault(require("./RowTemplate"));
|
|
24
23
|
var AWING_1 = require("../../../AWING");
|
|
25
24
|
var enums_1 = require("../../../ACM-AXN/Page/enums");
|
|
26
25
|
var Utils_1 = require("../Utils");
|
|
27
26
|
function PageTemplate(props) {
|
|
28
|
-
var pageCodeValue = props.pageCodeValue, wizardTemplates = props.wizardTemplates, onChange = props.onChange, onConfirmExit = props.onConfirmExit, _a = props.onUpdateWizardLogin, onUpdateWizardLogin = _a === void 0 ? function () { return null; } : _a;
|
|
27
|
+
var pageCodeValue = props.pageCodeValue, wizardTemplates = props.wizardTemplates, templateTypes = props.templateTypes, directories = props.directories, onChange = props.onChange, onConfirmExit = props.onConfirmExit, _a = props.onUpdateWizardLogin, onUpdateWizardLogin = _a === void 0 ? function () { return null; } : _a;
|
|
29
28
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
30
|
-
var service = (0, Hooks_1.default)().service;
|
|
31
29
|
var isPageCodeLogin = pageCodeValue === enums_1.PageCode.Lgn;
|
|
32
30
|
var pageCode = pageCodeValue === enums_1.PageCode.Lgn ? Utils_1.CPageCode.LGN : Utils_1.CPageCode.WLC;
|
|
33
31
|
var _b = (0, react_1.useState)(true), loadingDirectory = _b[0], setLoadingDirectories = _b[1];
|
|
34
32
|
var _c = (0, react_1.useState)(true), loadingtemplateTypes = _c[0], setLoadingTemplateTypes = _c[1];
|
|
35
33
|
// DATA => Tên Thư Mục
|
|
36
|
-
var _d = (0, react_1.useState)([]),
|
|
34
|
+
var _d = (0, react_1.useState)([]), pageDirectories = _d[0], setPageDirectories = _d[1];
|
|
37
35
|
// DATA => Kiểu template
|
|
38
|
-
var _e = (0, react_1.useState)([]),
|
|
39
|
-
(0, react_1.
|
|
40
|
-
|
|
41
|
-
.templatesGetDirectories()
|
|
42
|
-
.then(function (directories_) {
|
|
36
|
+
var _e = (0, react_1.useState)([]), pageTemplateTypes = _e[0], setPageTemplateTypes = _e[1];
|
|
37
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
38
|
+
if (directories.length > 0) {
|
|
43
39
|
// CALL API => DATA => Tên Thư Mục
|
|
44
|
-
var systemDirectoryIndex =
|
|
40
|
+
var systemDirectoryIndex = directories === null || directories === void 0 ? void 0 : directories.findIndex(function (directory) {
|
|
45
41
|
return directory.parentDirectoryId ===
|
|
46
42
|
Utils_1.ROOT_DIRECTORY.SYSTEM_DIRECTORY.toString();
|
|
47
43
|
});
|
|
48
44
|
if (systemDirectoryIndex !== -1) {
|
|
49
|
-
|
|
45
|
+
directories[systemDirectoryIndex].name = 'SYSTEM TEMPLATE';
|
|
50
46
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
setLoadingDirectories(false);
|
|
55
|
-
});
|
|
47
|
+
setPageDirectories(directories);
|
|
48
|
+
loadingDirectory && setLoadingDirectories(false);
|
|
49
|
+
}
|
|
56
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
|
-
}, []);
|
|
58
|
-
(0, react_1.
|
|
59
|
-
|
|
60
|
-
.
|
|
61
|
-
.then(function (templateTypes_) {
|
|
62
|
-
setTemplateTypes(templateTypes_.filter(function (itemTemplate) {
|
|
51
|
+
}, [directories.length]);
|
|
52
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
53
|
+
if (templateTypes.length > 0) {
|
|
54
|
+
setPageTemplateTypes(templateTypes.filter(function (itemTemplate) {
|
|
63
55
|
return itemTemplate.templateTypeCode === pageCode;
|
|
64
56
|
}));
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
setLoadingTemplateTypes(false);
|
|
68
|
-
});
|
|
57
|
+
loadingtemplateTypes && setLoadingTemplateTypes(false);
|
|
58
|
+
}
|
|
69
59
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
70
|
-
}, [
|
|
60
|
+
}, [templateTypes.length]);
|
|
71
61
|
var handleChangeRowTemplate = function (fieldValue, sortOrder) {
|
|
72
62
|
var _a;
|
|
73
63
|
onConfirmExit();
|
|
@@ -93,6 +83,6 @@ function PageTemplate(props) {
|
|
|
93
83
|
? t('Wizard.LoginTemplate')
|
|
94
84
|
: t('Wizard.WelcomeTemplate') }), isPageCodeLogin && ((0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", "aria-label": "button-add", title: t('Common.Add'), "data-testid": "button-add", onClick: function () {
|
|
95
85
|
return onUpdateWizardLogin(Utils_1.TYPE_LOGIN_TEMPLATE.ADD);
|
|
96
|
-
}, children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }))] }), loadingDirectory || loadingtemplateTypes ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: wizardTemplates.map(function (template, idx) { return ((0, jsx_runtime_1.jsx)(RowTemplate_1.default, { template: template, pageCode: pageCode, directories:
|
|
86
|
+
}, children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }))] }), loadingDirectory || loadingtemplateTypes ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: wizardTemplates.map(function (template, idx) { return ((0, jsx_runtime_1.jsx)(RowTemplate_1.default, { template: template, pageCode: pageCode, directories: pageDirectories, templateTypes: pageTemplateTypes, onChangeRow: handleChangeRowTemplate, onUpdateWizardLogin: onUpdateWizardLogin, disabledIconDelete: wizardTemplates.length === 1 }, idx)); }) }))] }));
|
|
97
87
|
}
|
|
98
88
|
exports.default = (0, react_1.memo)(PageTemplate);
|
|
@@ -47,7 +47,7 @@ function RowTemplate(props) {
|
|
|
47
47
|
}, [template]);
|
|
48
48
|
(0, react_1.useEffect)(function () {
|
|
49
49
|
if (wizardTemplate === null || wizardTemplate === void 0 ? void 0 : wizardTemplate.directoryId) {
|
|
50
|
-
setIsLoadingParameter(true);
|
|
50
|
+
!isLoadingParameter && setIsLoadingParameter(true);
|
|
51
51
|
service
|
|
52
52
|
.templatesGetByDirectoryId(wizardTemplate.directoryId)
|
|
53
53
|
.then(function (template_) {
|
|
@@ -49,6 +49,22 @@ function CreateOrEdit() {
|
|
|
49
49
|
}), wizardData = _c[0], setWizardData = _c[1];
|
|
50
50
|
// Nhóm Wizard
|
|
51
51
|
var _d = (0, react_1.useState)([]), wizardGroup = _d[0], setWizardGroup = _d[1];
|
|
52
|
+
// DATA => Kiểu template
|
|
53
|
+
var _e = (0, react_1.useState)([]), templateTypes = _e[0], setTemplateTypes = _e[1];
|
|
54
|
+
// DATA => Tên Thư Mục
|
|
55
|
+
var _f = (0, react_1.useState)([]), directories = _f[0], setDirectories = _f[1];
|
|
56
|
+
(0, react_1.useEffect)(function () {
|
|
57
|
+
if (!templateTypes.length) {
|
|
58
|
+
service.templateTypesGet().then(setTemplateTypes);
|
|
59
|
+
}
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
}, [templateTypes.length]);
|
|
62
|
+
(0, react_1.useEffect)(function () {
|
|
63
|
+
if (!directories.length) {
|
|
64
|
+
service.templatesGetDirectories().then(setDirectories);
|
|
65
|
+
}
|
|
66
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
|
+
}, [directories.length]);
|
|
52
68
|
(0, react_1.useEffect)(function () {
|
|
53
69
|
if (id) {
|
|
54
70
|
setLoading(true);
|
|
@@ -125,7 +141,7 @@ function CreateOrEdit() {
|
|
|
125
141
|
hasValidData((wizardData === null || wizardData === void 0 ? void 0 : wizardData.wizardWelcomeTemplates) || []));
|
|
126
142
|
};
|
|
127
143
|
return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: id ? t('Common.Edit') : t('Common.Create'), onSubmit: handleSubmit, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, disableButtonSubmit: !(isDisable() && confirmExit), children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FormInformationBasic_1.default, { wizardData: wizardData, wizardGroup: wizardGroup, onChange: handleChange, onConfirmExit: handleConfirmExit }), TEMPLATES.map(function (value) {
|
|
128
|
-
return ((0, jsx_runtime_1.jsx)(PageTemplate_1.default, { pageCodeValue: value, onChange: handleChange, onConfirmExit: handleConfirmExit, wizardTemplates: value === enums_1.PageCode.Lgn
|
|
144
|
+
return ((0, jsx_runtime_1.jsx)(PageTemplate_1.default, { pageCodeValue: value, onChange: handleChange, directories: directories, templateTypes: templateTypes, onConfirmExit: handleConfirmExit, wizardTemplates: value === enums_1.PageCode.Lgn
|
|
129
145
|
? (wizardData === null || wizardData === void 0 ? void 0 : wizardData.wizardLoginTemplates) || []
|
|
130
146
|
: (wizardData === null || wizardData === void 0 ? void 0 : wizardData.wizardWelcomeTemplates) ||
|
|
131
147
|
[], onUpdateWizardLogin: handleUpdateWizardLoginTemplate }, value));
|
package/lib/ACM-AXN/index.d.ts
CHANGED
package/lib/ACM-AXN/index.js
CHANGED
|
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./PlaceFilter"), exports);
|
|
18
18
|
__exportStar(require("./Permission"), exports);
|
|
19
|
+
__exportStar(require("./Template"), exports);
|
|
@@ -33,7 +33,7 @@ var Autocomplete_1 = __importDefault(require("@mui/material/Autocomplete"));
|
|
|
33
33
|
var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
|
|
34
34
|
var CheckBoxOutlineBlank_1 = __importDefault(require("@mui/icons-material/CheckBoxOutlineBlank"));
|
|
35
35
|
var CheckBox_1 = __importDefault(require("@mui/icons-material/CheckBox"));
|
|
36
|
-
var
|
|
36
|
+
var lodash_1 = require("lodash");
|
|
37
37
|
function AsyncAutocomplete(props) {
|
|
38
38
|
var _a;
|
|
39
39
|
var multiple = props.multiple, _b = props.value, value = _b === void 0 ? null : _b, onChange = props.onChange, fetchData = props.fetchData, getOptionValue = props.getOptionValue, getOptionLabel = props.getOptionLabel, readOnly = props.readOnly, TextFieldProps = props.TextFieldProps, renderOption = props.renderOption;
|
|
@@ -41,7 +41,7 @@ function AsyncAutocomplete(props) {
|
|
|
41
41
|
var _d = react_2.default.useState([]), options = _d[0], setOptions = _d[1];
|
|
42
42
|
var _e = react_2.default.useState(false), loading = _e[0], setLoading = _e[1];
|
|
43
43
|
var fetch = react_2.default.useMemo(function () {
|
|
44
|
-
return (0,
|
|
44
|
+
return (0, lodash_1.debounce)(function (input, callback) {
|
|
45
45
|
setLoading(true);
|
|
46
46
|
fetchData(input)
|
|
47
47
|
.then(function (response) {
|