@next-libs/cmdb-instances 6.48.0 → 6.49.0
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/cjs/attribute-form-control-url/AttributeFormControlUrl.js +8 -23
- package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +3 -43
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +6 -45
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/cmdb-url-link/CmdbUrlLink.js +0 -11
- package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/cjs/components/index.js +0 -4
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/instance-format/index.js +0 -15
- package/dist/cjs/components/instance-format/index.js.map +1 -1
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js +33 -92
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js +0 -3
- package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js +0 -2
- package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectDetail.js +0 -2
- package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectList.js +0 -2
- package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectRef.js +0 -2
- package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/cjs/data-providers/index.js +0 -10
- package/dist/cjs/data-providers/index.js.map +1 -1
- package/dist/cjs/float-display-brick/FloatDisplayBrick.js +0 -7
- package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/cjs/i18n/constants.js +0 -1
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/index.js +0 -7
- package/dist/cjs/i18n/index.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +0 -2
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +0 -2
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/index.js +0 -29
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js +4 -25
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +42 -124
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js +4 -19
- package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +4 -11
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/cjs/instance-detail/constants/index.js.map +1 -1
- package/dist/cjs/instance-list/IconButton.js +0 -18
- package/dist/cjs/instance-list/IconButton.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +47 -212
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list/constants.js +0 -7
- package/dist/cjs/instance-list/constants.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js +8 -32
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js +12 -133
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearchCondition.js +3 -45
- package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +0 -24
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +0 -10
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/DynamicSearch.js +4 -44
- package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +30 -151
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js +0 -15
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/cjs/instance-list-table/constants.js +0 -2
- package/dist/cjs/instance-list-table/constants.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js +1 -2
- package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/index.js +0 -16
- package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js +0 -2
- package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/cjs/instance-list-table/index.js +0 -12
- package/dist/cjs/instance-list-table/index.js.map +1 -1
- package/dist/cjs/instance-list-table/utils.js +0 -24
- package/dist/cjs/instance-list-table/utils.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js +27 -99
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/cjs/model-attribute-form/constants.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +13 -94
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/cjs/model-relation-form/ModelRelationForm.js +0 -18
- package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/cjs/processors.js +2 -21
- package/dist/cjs/processors.js.map +1 -1
- package/dist/cjs/struct-components/AddStruct.js +4 -15
- package/dist/cjs/struct-components/AddStruct.js.map +1 -1
- package/dist/cjs/struct-components/AddStructModal.js +0 -48
- package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
- package/dist/cjs/struct-components/StructTable.js +2 -32
- package/dist/cjs/struct-components/StructTable.js.map +1 -1
- package/dist/cjs/struct-components/index.js +0 -8
- package/dist/cjs/struct-components/index.js.map +1 -1
- package/dist/cjs/struct-components/interfaces.js +0 -1
- package/dist/cjs/struct-components/interfaces.js.map +1 -1
- package/dist/cjs/struct-components/mockData.js.map +1 -1
- package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js +8 -18
- package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +3 -35
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +4 -32
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/cmdb-url-link/CmdbUrlLink.js +0 -3
- package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/instance-format/index.js +0 -5
- package/dist/esm/components/instance-format/index.js.map +1 -1
- package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js +19 -74
- package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/esm/data-providers/index.js.map +1 -1
- package/dist/esm/float-display-brick/FloatDisplayBrick.js +0 -1
- package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/esm/i18n/constants.js +0 -1
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/index.js +2 -1
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance-attribute-form/InstanceAttributeForm.js +4 -10
- package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +36 -111
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js +4 -10
- package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/esm/instance-detail/constants/index.js.map +1 -1
- package/dist/esm/instance-list/IconButton.js +0 -8
- package/dist/esm/instance-list/IconButton.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +41 -182
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list/constants.js +0 -2
- package/dist/esm/instance-list/constants.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js +8 -20
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js +10 -119
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearchCondition.js +1 -31
- package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +0 -16
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +0 -3
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/DynamicSearch.js +0 -34
- package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +23 -138
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js +0 -7
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/instance-list-table/constants.js +0 -2
- package/dist/esm/instance-list-table/constants.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js +1 -1
- package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/esm/instance-list-table/index.js.map +1 -1
- package/dist/esm/instance-list-table/utils.js +0 -15
- package/dist/esm/instance-list-table/utils.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +19 -92
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/esm/model-attribute-form/constants.js.map +1 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +27 -102
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/esm/model-relation-form/ModelRelationForm.js +0 -10
- package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/esm/processors.js +2 -7
- package/dist/esm/processors.js.map +1 -1
- package/dist/esm/struct-components/AddStruct.js +4 -9
- package/dist/esm/struct-components/AddStruct.js.map +1 -1
- package/dist/esm/struct-components/AddStructModal.js +0 -36
- package/dist/esm/struct-components/AddStructModal.js.map +1 -1
- package/dist/esm/struct-components/StructTable.js +2 -26
- package/dist/esm/struct-components/StructTable.js.map +1 -1
- package/dist/esm/struct-components/index.js.map +1 -1
- package/dist/esm/struct-components/interfaces.js +0 -1
- package/dist/esm/struct-components/interfaces.js.map +1 -1
- package/dist/esm/struct-components/mockData.js.map +1 -1
- package/package.json +9 -9
- package/CHANGELOG.md +0 -3687
|
@@ -15,14 +15,12 @@ export function ModelRelationForm(props) {
|
|
|
15
15
|
var selectedInstanceListTemp = [];
|
|
16
16
|
var [selectedInstanceList, setSelectedInstanceList] = useState(props.instanceListData || []);
|
|
17
17
|
var fieldIds = oppositeModelData.attrList.map(attr => attr.id);
|
|
18
|
-
|
|
19
18
|
var computeFields = () => {
|
|
20
19
|
// TODO(Cyril): compute custom fields
|
|
21
20
|
return {
|
|
22
21
|
"*": true
|
|
23
22
|
};
|
|
24
23
|
};
|
|
25
|
-
|
|
26
24
|
var openSelectInstanceModel = /*#__PURE__*/function () {
|
|
27
25
|
var _ref = _asyncToGenerator(function* () {
|
|
28
26
|
var instanceListData = yield InstanceApi_postSearch(oppositeModelData.objectId, {
|
|
@@ -33,22 +31,18 @@ export function ModelRelationForm(props) {
|
|
|
33
31
|
setModalInstanceListData(instanceListData);
|
|
34
32
|
setVisible(true);
|
|
35
33
|
});
|
|
36
|
-
|
|
37
34
|
return function openSelectInstanceModel() {
|
|
38
35
|
return _ref.apply(this, arguments);
|
|
39
36
|
};
|
|
40
37
|
}();
|
|
41
|
-
|
|
42
38
|
var handleOk = () => {
|
|
43
39
|
setVisible(false);
|
|
44
40
|
setSelectedInstanceList(selectedInstanceListTemp);
|
|
45
41
|
props.onChange(selectedInstanceListTemp.map(instanceData => instanceData.instanceId));
|
|
46
42
|
};
|
|
47
|
-
|
|
48
43
|
var handleCancel = () => {
|
|
49
44
|
setVisible(false);
|
|
50
45
|
};
|
|
51
|
-
|
|
52
46
|
var handlePaginationChange = /*#__PURE__*/function () {
|
|
53
47
|
var _ref2 = _asyncToGenerator(function* (event) {
|
|
54
48
|
var instanceListData = yield InstanceApi_postSearch(oppositeModelData.objectId, {
|
|
@@ -58,16 +52,13 @@ export function ModelRelationForm(props) {
|
|
|
58
52
|
});
|
|
59
53
|
setModalInstanceListData(instanceListData);
|
|
60
54
|
});
|
|
61
|
-
|
|
62
55
|
return function handlePaginationChange(_x) {
|
|
63
56
|
return _ref2.apply(this, arguments);
|
|
64
57
|
};
|
|
65
58
|
}();
|
|
66
|
-
|
|
67
59
|
var handleSelectionChange = event => {
|
|
68
60
|
selectedInstanceListTemp = event.selectedItems;
|
|
69
61
|
};
|
|
70
|
-
|
|
71
62
|
var renderTable = selectedInstanceList => {
|
|
72
63
|
var columns = oppositeModelData.attrList.filter(attr => !["struct", "structs"].includes(attr.value.type)).slice(0, 7).map(attr => ({
|
|
73
64
|
title: attr.name,
|
|
@@ -83,7 +74,6 @@ export function ModelRelationForm(props) {
|
|
|
83
74
|
}
|
|
84
75
|
});
|
|
85
76
|
};
|
|
86
|
-
|
|
87
77
|
return /*#__PURE__*/React.createElement("div", {
|
|
88
78
|
className: styles.modelRelationFormWrapper
|
|
89
79
|
}, /*#__PURE__*/React.createElement(Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelRelationForm.js","names":["React","useState","Modal","Table","i18n","NS_LIBS_CMDB_INSTANCES","K","InstanceApi_postSearch","InstanceListTable","styles","ModelRelationForm","props","console","warn","oppositeModelData","modelMap","relation","right_object_id","visible","setVisible","modalInstanceListData","setModalInstanceListData","selectedInstanceListTemp","selectedInstanceList","setSelectedInstanceList","instanceListData","fieldIds","attrList","map","attr","id","computeFields","openSelectInstanceModel","objectId","page","page_size","fields","handleOk","onChange","instanceData","instanceId","handleCancel","handlePaginationChange","event","pageSize","handleSelectionChange","selectedItems","renderTable","columns","filter","includes","value","type","slice","title","name","key","dataIndex","x","modelRelationFormWrapper","t","ITEM_ADD_IN_BATCHES","right_description","ADD"],"sources":["../../../src/model-relation-form/ModelRelationForm.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Modal, Table } from \"antd\";\nimport { ColumnProps } from \"antd/lib/table\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchResponseBody,\n InstanceApi_postSearch,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table/InstanceListTable\";\n\nimport styles from \"./model-relation-form.module.css\";\n\nimport { ModifiedModelObjectRelation } from \"@next-libs/cmdb-utils\";\n\nexport interface ModelRelationFormProps {\n modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n relation: Partial<ModifiedModelObjectRelation>;\n instanceListData: any[];\n value?: string[];\n onChange?: (event: any) => void;\n}\n\nexport function ModelRelationForm(\n props: ModelRelationFormProps\n): React.ReactElement {\n // eslint-disable-next-line no-console\n console.warn(\n \"deprecated component `ModelRelationForm`, please use `CmdbInstancesSelectPanel` instead\"\n );\n\n const oppositeModelData = props.modelMap[props.relation.right_object_id];\n\n const [visible, setVisible] = useState(false);\n const [\n modalInstanceListData,\n setModalInstanceListData,\n ] = useState<InstanceApi_PostSearchResponseBody>();\n\n let selectedInstanceListTemp: any[] = [];\n const [selectedInstanceList, setSelectedInstanceList] = useState(\n props.instanceListData || []\n );\n\n const fieldIds = oppositeModelData.attrList.map((attr) => attr.id);\n\n const computeFields = () => {\n // TODO(Cyril): compute custom fields\n return {\n \"*\": true,\n };\n };\n\n const openSelectInstanceModel = async () => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: 1,\n page_size: 10,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n setVisible(true);\n };\n\n const handleOk = () => {\n setVisible(false);\n setSelectedInstanceList(selectedInstanceListTemp);\n props.onChange(\n selectedInstanceListTemp.map((instanceData) => instanceData.instanceId)\n );\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n const handlePaginationChange = async (event: {\n page: number;\n pageSize: number;\n }) => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: event.page,\n page_size: event.pageSize,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n };\n\n const handleSelectionChange = (event: { selectedItems: any[] }) => {\n selectedInstanceListTemp = event.selectedItems;\n };\n\n const renderTable = (selectedInstanceList: any[]) => {\n const columns: ColumnProps<any>[] = oppositeModelData.attrList\n .filter((attr) => ![\"struct\", \"structs\"].includes(attr.value.type))\n .slice(0, 7)\n .map((attr) => ({\n title: attr.name,\n key: attr.id,\n dataIndex: attr.id,\n }));\n\n return (\n <Table\n dataSource={selectedInstanceList}\n columns={columns}\n pagination={false}\n scroll={{ x: \"max-content\" }}\n />\n );\n };\n\n return (\n <div className={styles.modelRelationFormWrapper}>\n <Modal\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ITEM_ADD_IN_BATCHES}`, {\n name: props.relation.right_description,\n })}\n visible={visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n >\n <InstanceListTable\n idObjectMap={props.modelMap}\n modelData={oppositeModelData}\n fieldIds={fieldIds}\n instanceListData={modalInstanceListData}\n onSelectionChange={handleSelectionChange}\n onPaginationChange={handlePaginationChange}\n ></InstanceListTable>\n </Modal>\n <a onClick={openSelectInstanceModel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </a>\n {renderTable(selectedInstanceList)}\n </div>\n );\n}\n"],"mappings":";AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"ModelRelationForm.js","names":["React","useState","Modal","Table","i18n","NS_LIBS_CMDB_INSTANCES","K","InstanceApi_postSearch","InstanceListTable","styles","ModelRelationForm","props","console","warn","oppositeModelData","modelMap","relation","right_object_id","visible","setVisible","modalInstanceListData","setModalInstanceListData","selectedInstanceListTemp","selectedInstanceList","setSelectedInstanceList","instanceListData","fieldIds","attrList","map","attr","id","computeFields","openSelectInstanceModel","objectId","page","page_size","fields","handleOk","onChange","instanceData","instanceId","handleCancel","handlePaginationChange","event","pageSize","handleSelectionChange","selectedItems","renderTable","columns","filter","includes","value","type","slice","title","name","key","dataIndex","x","modelRelationFormWrapper","t","ITEM_ADD_IN_BATCHES","right_description","ADD"],"sources":["../../../src/model-relation-form/ModelRelationForm.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Modal, Table } from \"antd\";\nimport { ColumnProps } from \"antd/lib/table\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchResponseBody,\n InstanceApi_postSearch,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table/InstanceListTable\";\n\nimport styles from \"./model-relation-form.module.css\";\n\nimport { ModifiedModelObjectRelation } from \"@next-libs/cmdb-utils\";\n\nexport interface ModelRelationFormProps {\n modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n relation: Partial<ModifiedModelObjectRelation>;\n instanceListData: any[];\n value?: string[];\n onChange?: (event: any) => void;\n}\n\nexport function ModelRelationForm(\n props: ModelRelationFormProps\n): React.ReactElement {\n // eslint-disable-next-line no-console\n console.warn(\n \"deprecated component `ModelRelationForm`, please use `CmdbInstancesSelectPanel` instead\"\n );\n\n const oppositeModelData = props.modelMap[props.relation.right_object_id];\n\n const [visible, setVisible] = useState(false);\n const [\n modalInstanceListData,\n setModalInstanceListData,\n ] = useState<InstanceApi_PostSearchResponseBody>();\n\n let selectedInstanceListTemp: any[] = [];\n const [selectedInstanceList, setSelectedInstanceList] = useState(\n props.instanceListData || []\n );\n\n const fieldIds = oppositeModelData.attrList.map((attr) => attr.id);\n\n const computeFields = () => {\n // TODO(Cyril): compute custom fields\n return {\n \"*\": true,\n };\n };\n\n const openSelectInstanceModel = async () => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: 1,\n page_size: 10,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n setVisible(true);\n };\n\n const handleOk = () => {\n setVisible(false);\n setSelectedInstanceList(selectedInstanceListTemp);\n props.onChange(\n selectedInstanceListTemp.map((instanceData) => instanceData.instanceId)\n );\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n const handlePaginationChange = async (event: {\n page: number;\n pageSize: number;\n }) => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: event.page,\n page_size: event.pageSize,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n };\n\n const handleSelectionChange = (event: { selectedItems: any[] }) => {\n selectedInstanceListTemp = event.selectedItems;\n };\n\n const renderTable = (selectedInstanceList: any[]) => {\n const columns: ColumnProps<any>[] = oppositeModelData.attrList\n .filter((attr) => ![\"struct\", \"structs\"].includes(attr.value.type))\n .slice(0, 7)\n .map((attr) => ({\n title: attr.name,\n key: attr.id,\n dataIndex: attr.id,\n }));\n\n return (\n <Table\n dataSource={selectedInstanceList}\n columns={columns}\n pagination={false}\n scroll={{ x: \"max-content\" }}\n />\n );\n };\n\n return (\n <div className={styles.modelRelationFormWrapper}>\n <Modal\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ITEM_ADD_IN_BATCHES}`, {\n name: props.relation.right_description,\n })}\n visible={visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n >\n <InstanceListTable\n idObjectMap={props.modelMap}\n modelData={oppositeModelData}\n fieldIds={fieldIds}\n instanceListData={modalInstanceListData}\n onSelectionChange={handleSelectionChange}\n onPaginationChange={handlePaginationChange}\n ></InstanceListTable>\n </Modal>\n <a onClick={openSelectInstanceModel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </a>\n {renderTable(selectedInstanceList)}\n </div>\n );\n}\n"],"mappings":"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"}
|
package/dist/esm/processors.js
CHANGED
|
@@ -6,17 +6,16 @@ import { clusterMap } from "./instance-list-table/constants";
|
|
|
6
6
|
var featureFlags = process.env.NODE_ENV === "test" ? {
|
|
7
7
|
"cmdb-advance-search-with-quote": true
|
|
8
8
|
} : getRuntime().getFeatureFlags();
|
|
9
|
-
export var ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;
|
|
9
|
+
export var ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;
|
|
10
|
+
// featureFlags["cmdb-advance-search-with-quote"];
|
|
10
11
|
|
|
11
12
|
export var processAttrValueWithQuote = (attrValue, resultArray) => {
|
|
12
13
|
var quoteIndex = attrValue.indexOf('"');
|
|
13
14
|
var nextQuoteIndex = attrValue.indexOf('"', quoteIndex + 1);
|
|
14
|
-
|
|
15
15
|
if (nextQuoteIndex == -1 || quoteIndex === -1) {
|
|
16
16
|
if (attrValue.length) {
|
|
17
17
|
resultArray = [...resultArray, ...attrValue.split(" ")];
|
|
18
18
|
}
|
|
19
|
-
|
|
20
19
|
return uniq(compact(resultArray));
|
|
21
20
|
} else if (nextQuoteIndex != -1) {
|
|
22
21
|
if (quoteIndex !== 0) {
|
|
@@ -33,13 +32,11 @@ export var computeDateFormat = (type, value) => {
|
|
|
33
32
|
var dateFormat = "YYYY-MM-DD";
|
|
34
33
|
var dateTimeFormat = "YYYY-MM-DD HH:mm:ss";
|
|
35
34
|
var format;
|
|
36
|
-
|
|
37
35
|
if (type === FormControlTypeEnum.DATETIME) {
|
|
38
36
|
format = dateTimeFormat;
|
|
39
37
|
} else {
|
|
40
38
|
format = dateFormat;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
40
|
return {
|
|
44
41
|
value: value ? moment(value, format) : null,
|
|
45
42
|
format
|
|
@@ -47,7 +44,6 @@ export var computeDateFormat = (type, value) => {
|
|
|
47
44
|
};
|
|
48
45
|
export var changeQueryWithCustomRules = (objectId, attrId, q) => {
|
|
49
46
|
var modifiedQuery = q;
|
|
50
|
-
|
|
51
47
|
if (objectId === "CLUSTER" && attrId === "type") {
|
|
52
48
|
var operator = Object.keys(modifiedQuery["type"])[0];
|
|
53
49
|
var value = Object.values(modifiedQuery["type"])[0];
|
|
@@ -57,7 +53,6 @@ export var changeQueryWithCustomRules = (objectId, attrId, q) => {
|
|
|
57
53
|
}
|
|
58
54
|
};
|
|
59
55
|
}
|
|
60
|
-
|
|
61
56
|
return modifiedQuery;
|
|
62
57
|
};
|
|
63
58
|
//# sourceMappingURL=processors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processors.js","names":["getRuntime","uniq","compact","moment","FormControlTypeEnum","clusterMap","featureFlags","process","env","NODE_ENV","getFeatureFlags","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","attrValue","resultArray","quoteIndex","indexOf","nextQuoteIndex","length","split","slice","push","computeDateFormat","type","value","dateFormat","dateTimeFormat","format","DATETIME","changeQueryWithCustomRules","objectId","attrId","q","modifiedQuery","operator","Object","keys","values"],"sources":["../../src/processors.ts"],"sourcesContent":["import { getRuntime } from \"@next-core/brick-kit\";\nimport { uniq, compact } from \"lodash\";\nimport moment, { Moment } from \"moment\";\nimport { Query } from \"@next-libs/cmdb-utils\";\n\nimport { FormControlTypeEnum } from \"./model-attribute-form-control/ModelAttributeFormControl\";\nimport { clusterMap } from \"./instance-list-table/constants\";\n\nconst featureFlags =\n process.env.NODE_ENV === \"test\"\n ? { \"cmdb-advance-search-with-quote\": true }\n : getRuntime().getFeatureFlags();\nexport const ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;\n// featureFlags[\"cmdb-advance-search-with-quote\"];\n\nexport const processAttrValueWithQuote = (\n attrValue: string,\n resultArray: any\n): any => {\n const quoteIndex = attrValue.indexOf('\"');\n const nextQuoteIndex = attrValue.indexOf('\"', quoteIndex + 1);\n if (nextQuoteIndex == -1 || quoteIndex === -1) {\n if (attrValue.length) {\n resultArray = [...resultArray, ...attrValue.split(\" \")];\n }\n return uniq(compact(resultArray));\n } else if (nextQuoteIndex != -1) {\n if (quoteIndex !== 0) {\n resultArray = [\n ...resultArray,\n ...attrValue.slice(0, quoteIndex).split(\" \"),\n ];\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n } else {\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n }\n }\n};\n\nexport const computeDateFormat = (\n type: string,\n value: any\n): { format: string; value: Moment | null } => {\n const dateFormat = \"YYYY-MM-DD\";\n const dateTimeFormat = \"YYYY-MM-DD HH:mm:ss\";\n let format;\n if (type === FormControlTypeEnum.DATETIME) {\n format = dateTimeFormat;\n } else {\n format = dateFormat;\n }\n return {\n value: value ? moment(value, format) : null,\n format,\n };\n};\n\nexport const changeQueryWithCustomRules = (\n objectId: string,\n attrId: string,\n q: Query\n): Query => {\n let modifiedQuery = q;\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n const operator = Object.keys(modifiedQuery[\"type\"])[0];\n const value = Object.values(modifiedQuery[\"type\"])[0];\n modifiedQuery = {\n type: {\n [operator]: clusterMap[value],\n },\n };\n }\n return modifiedQuery;\n};\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"processors.js","names":["getRuntime","uniq","compact","moment","FormControlTypeEnum","clusterMap","featureFlags","process","env","NODE_ENV","getFeatureFlags","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","attrValue","resultArray","quoteIndex","indexOf","nextQuoteIndex","length","split","slice","push","computeDateFormat","type","value","dateFormat","dateTimeFormat","format","DATETIME","changeQueryWithCustomRules","objectId","attrId","q","modifiedQuery","operator","Object","keys","values"],"sources":["../../src/processors.ts"],"sourcesContent":["import { getRuntime } from \"@next-core/brick-kit\";\nimport { uniq, compact } from \"lodash\";\nimport moment, { Moment } from \"moment\";\nimport { Query } from \"@next-libs/cmdb-utils\";\n\nimport { FormControlTypeEnum } from \"./model-attribute-form-control/ModelAttributeFormControl\";\nimport { clusterMap } from \"./instance-list-table/constants\";\n\nconst featureFlags =\n process.env.NODE_ENV === \"test\"\n ? { \"cmdb-advance-search-with-quote\": true }\n : getRuntime().getFeatureFlags();\nexport const ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;\n// featureFlags[\"cmdb-advance-search-with-quote\"];\n\nexport const processAttrValueWithQuote = (\n attrValue: string,\n resultArray: any\n): any => {\n const quoteIndex = attrValue.indexOf('\"');\n const nextQuoteIndex = attrValue.indexOf('\"', quoteIndex + 1);\n if (nextQuoteIndex == -1 || quoteIndex === -1) {\n if (attrValue.length) {\n resultArray = [...resultArray, ...attrValue.split(\" \")];\n }\n return uniq(compact(resultArray));\n } else if (nextQuoteIndex != -1) {\n if (quoteIndex !== 0) {\n resultArray = [\n ...resultArray,\n ...attrValue.slice(0, quoteIndex).split(\" \"),\n ];\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n } else {\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n }\n }\n};\n\nexport const computeDateFormat = (\n type: string,\n value: any\n): { format: string; value: Moment | null } => {\n const dateFormat = \"YYYY-MM-DD\";\n const dateTimeFormat = \"YYYY-MM-DD HH:mm:ss\";\n let format;\n if (type === FormControlTypeEnum.DATETIME) {\n format = dateTimeFormat;\n } else {\n format = dateFormat;\n }\n return {\n value: value ? moment(value, format) : null,\n format,\n };\n};\n\nexport const changeQueryWithCustomRules = (\n objectId: string,\n attrId: string,\n q: Query\n): Query => {\n let modifiedQuery = q;\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n const operator = Object.keys(modifiedQuery[\"type\"])[0];\n const value = Object.values(modifiedQuery[\"type\"])[0];\n modifiedQuery = {\n type: {\n [operator]: clusterMap[value],\n },\n };\n }\n return modifiedQuery;\n};\n"],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ import { isArray, isEmpty } from "lodash";
|
|
|
9
9
|
export class AddStruct extends React.Component {
|
|
10
10
|
constructor(props) {
|
|
11
11
|
super(props);
|
|
12
|
-
|
|
13
12
|
_defineProperty(this, "handleEditStruct", formData => {
|
|
14
13
|
var {
|
|
15
14
|
isLegacy
|
|
@@ -20,7 +19,6 @@ export class AddStruct extends React.Component {
|
|
|
20
19
|
});
|
|
21
20
|
this.props.handleStoreFunction(output);
|
|
22
21
|
});
|
|
23
|
-
|
|
24
22
|
_defineProperty(this, "handleAddStruct", formData => {
|
|
25
23
|
var {
|
|
26
24
|
isLegacy,
|
|
@@ -29,25 +27,22 @@ export class AddStruct extends React.Component {
|
|
|
29
27
|
this.props.handleStoreFunction(isLegacy ? formData : isArray(structData) ? [...structData, formData] : [formData]);
|
|
30
28
|
this.handleCloseModal();
|
|
31
29
|
});
|
|
32
|
-
|
|
33
30
|
_defineProperty(this, "handleCloseModal", () => {
|
|
34
31
|
this.setState({
|
|
35
32
|
showModal: false
|
|
36
33
|
});
|
|
37
34
|
});
|
|
38
|
-
|
|
39
35
|
_defineProperty(this, "handleOpenAddModal", () => {
|
|
40
36
|
this.setState({
|
|
41
37
|
showModal: true
|
|
42
38
|
});
|
|
43
39
|
});
|
|
44
|
-
|
|
45
40
|
this.state = {
|
|
46
41
|
structData: props.structData,
|
|
47
42
|
showModal: false
|
|
48
43
|
};
|
|
49
|
-
}
|
|
50
|
-
|
|
44
|
+
}
|
|
45
|
+
// 编辑结构体
|
|
51
46
|
|
|
52
47
|
render() {
|
|
53
48
|
var {
|
|
@@ -65,7 +60,8 @@ export class AddStruct extends React.Component {
|
|
|
65
60
|
type: "link",
|
|
66
61
|
disabled: isLegacy && !isEmpty(structData) || attribute.readonly === "true" && !this.props.isCreate,
|
|
67
62
|
onClick: this.handleOpenAddModal
|
|
68
|
-
}, i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.ADD))), /*#__PURE__*/React.createElement(AddStructModal
|
|
63
|
+
}, i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.ADD))), /*#__PURE__*/React.createElement(AddStructModal
|
|
64
|
+
// 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填
|
|
69
65
|
, {
|
|
70
66
|
structData: {},
|
|
71
67
|
attribute: attribute,
|
|
@@ -80,6 +76,5 @@ export class AddStruct extends React.Component {
|
|
|
80
76
|
handleStoreFunction: this.handleEditStruct
|
|
81
77
|
}));
|
|
82
78
|
}
|
|
83
|
-
|
|
84
79
|
}
|
|
85
80
|
//# sourceMappingURL=AddStruct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStruct.js","names":["React","Button","i18n","NS_LIBS_CMDB_INSTANCES","K","StructTable","AddStructModal","isArray","isEmpty","AddStruct","Component","constructor","props","formData","isLegacy","output","Array","setState","showModal","handleStoreFunction","structData","handleCloseModal","state","render","attribute","className","readonly","isCreate","handleOpenAddModal","t","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n };\n }\n // 编辑结构体\n handleEditStruct = (formData: any) => {\n const { isLegacy } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n this.props.handleStoreFunction(output);\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"AddStruct.js","names":["React","Button","i18n","NS_LIBS_CMDB_INSTANCES","K","StructTable","AddStructModal","isArray","isEmpty","AddStruct","Component","constructor","props","formData","isLegacy","output","Array","setState","showModal","handleStoreFunction","structData","handleCloseModal","state","render","attribute","className","readonly","isCreate","handleOpenAddModal","t","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n };\n }\n // 编辑结构体\n handleEditStruct = (formData: any) => {\n const { isLegacy } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n this.props.handleStoreFunction(output);\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAyB,OAAO;AAC5C,SAASC,MAAM,QAAQ,MAAM;AAC7B,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,sBAAsB,EAAEC,CAAC,QAAQ,mBAAmB;AAC7D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,OAAO,EAAEC,OAAO,QAAQ,QAAQ;AAkBzC,OAAO,MAAMC,SAAS,SAAST,KAAK,CAACU,SAAS,CAAiC;EAC7EC,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAAC,0CAOKC,QAAa,IAAK;MACpC,IAAM;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACF,KAAK;MAC/B,IAAMG,MAAM,GAAGD,QAAQ,GACnBE,KAAK,CAACT,OAAO,CAACM,QAAQ,CAAC,GACrBA,QAAQ,CAAC,CAAC,CAAC,GACXA,QAAQ,GACVA,QAAQ;MACZ,IAAI,CAACI,QAAQ,CAAC;QAAEC,SAAS,EAAE;MAAM,CAAC,CAAC;MACnC,IAAI,CAACN,KAAK,CAACO,mBAAmB,CAACJ,MAAM,CAAC;IACxC,CAAC;IAAA,yCAEkBF,QAAa,IAAK;MACnC,IAAM;QAAEC,QAAQ;QAAEM;MAAW,CAAC,GAAG,IAAI,CAACR,KAAK;MAC3C,IAAI,CAACA,KAAK,CAACO,mBAAmB,CAC5BL,QAAQ,GACJD,QAAQ,GACRN,OAAO,CAACa,UAAU,CAAC,GACnB,CAAC,GAAGA,UAAU,EAAEP,QAAQ,CAAC,GACzB,CAACA,QAAQ,CAAC,CACf;MACD,IAAI,CAACQ,gBAAgB,EAAE;IACzB,CAAC;IAAA,0CACkB,MAAM;MACvB,IAAI,CAACJ,QAAQ,CAAC;QACZC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC;IAAA,4CACoB,MAAM;MACzB,IAAI,CAACD,QAAQ,CAAC;QAAEC,SAAS,EAAE;MAAK,CAAC,CAAC;IACpC,CAAC;IAnCC,IAAI,CAACI,KAAK,GAAG;MACXF,UAAU,EAAER,KAAK,CAACQ,UAAU;MAC5BF,SAAS,EAAE;IACb,CAAC;EACH;EACA;;EA+BAK,MAAM,GAAG;IACP,IAAM;MAAEH,UAAU;MAAEI,SAAS;MAAEV,QAAQ;MAAEW;IAAU,CAAC,GAAG,IAAI,CAACb,KAAK;IACjE,IAAM;MAAEM;IAAU,CAAC,GAAG,IAAI,CAACI,KAAK;IAChC,oBACE;MAAK,SAAS,EAAEG;IAAU,gBAExB,oBAAC,MAAM;MACL,IAAI,EAAC,MAAM;MACX,QAAQ,EACLX,QAAQ,IAAI,CAACN,OAAO,CAACY,UAAU,CAAC,IAChCI,SAAS,CAACE,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAACd,KAAK,CAACe,QAC/C;MACD,OAAO,EAAE,IAAI,CAACC;IAAmB,GAEhC1B,IAAI,CAAC2B,CAAC,WAAI1B,sBAAsB,cAAIC,CAAC,CAAC0B,GAAG,EAAG,CACtC,eACT,oBAAC;IACC;IAAA;MACA,UAAU,EAAE,CAAC,CAAE;MACf,SAAS,EAAEN,SAAuB;MAClC,OAAO,EAAEN,SAAU;MACnB,mBAAmB,EAAGL,QAAa,IACjC,IAAI,CAACkB,eAAe,CAAClB,QAAQ,CAC9B;MACD,oBAAoB,EAAE,IAAI,CAACQ;IAAiB,EAC5C,eACF,oBAAC,WAAW;MACV,UAAU,EAAED,UAAW;MACvB,SAAS,EAAEI,SAAuB;MAClC,UAAU,EACR,IAAI,CAACZ,KAAK,CAACY,SAAS,CAACE,QAAQ,KAAK,OAAO,IAAI,IAAI,CAACd,KAAK,CAACe,QACzD;MACD,QAAQ,EAAEb,QAAS;MACnB,mBAAmB,EAAE,IAAI,CAACkB;IAAiB,EAC3C,CACE;EAEV;AACF"}
|
|
@@ -22,31 +22,23 @@ export function AddStructModal(props) {
|
|
|
22
22
|
var [form] = Form.useForm();
|
|
23
23
|
var structValue = reduce(structData, (pre, value, key) => {
|
|
24
24
|
var _structDefineMap$key;
|
|
25
|
-
|
|
26
25
|
var calcValue;
|
|
27
|
-
|
|
28
26
|
switch ((_structDefineMap$key = structDefineMap[key]) === null || _structDefineMap$key === void 0 ? void 0 : _structDefineMap$key.type) {
|
|
29
27
|
case StructDefineType.DATE:
|
|
30
28
|
case StructDefineType.DATETIME:
|
|
31
29
|
calcValue = value && moment(value);
|
|
32
30
|
break;
|
|
33
|
-
|
|
34
31
|
case StructDefineType.JSON:
|
|
35
32
|
calcValue = isString(value) || !value ? value || "" : JSON.stringify(value, null, 2);
|
|
36
33
|
break;
|
|
37
|
-
|
|
38
34
|
default:
|
|
39
35
|
calcValue = value;
|
|
40
36
|
}
|
|
41
|
-
|
|
42
37
|
pre[key] = calcValue;
|
|
43
38
|
return pre;
|
|
44
39
|
}, {});
|
|
45
|
-
|
|
46
40
|
var hasRegex = regex => !isNil(regex) && regex !== "";
|
|
47
|
-
|
|
48
41
|
var hasValue = value => !isNil(value) && value !== "";
|
|
49
|
-
|
|
50
42
|
var handleJsonValidate = (err, define) => {
|
|
51
43
|
var errors = [];
|
|
52
44
|
err.some(v => v.type === "error") && errors.push(i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.NOT_MEET_JSON)));
|
|
@@ -56,7 +48,6 @@ export function AddStructModal(props) {
|
|
|
56
48
|
errors
|
|
57
49
|
}]);
|
|
58
50
|
};
|
|
59
|
-
|
|
60
51
|
var getFormType = define => {
|
|
61
52
|
switch (define.type) {
|
|
62
53
|
case StructDefineType.INTEGER:
|
|
@@ -71,7 +62,6 @@ export function AddStructModal(props) {
|
|
|
71
62
|
}) : ""
|
|
72
63
|
});
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
case StructDefineType.FLOAT:
|
|
76
66
|
{
|
|
77
67
|
return /*#__PURE__*/React.createElement(InputNumber, {
|
|
@@ -80,7 +70,6 @@ export function AddStructModal(props) {
|
|
|
80
70
|
}
|
|
81
71
|
});
|
|
82
72
|
}
|
|
83
|
-
|
|
84
73
|
case StructDefineType.BOOLEAN:
|
|
85
74
|
{
|
|
86
75
|
return /*#__PURE__*/React.createElement(Radio.Group, null, boolOptions.map(item => /*#__PURE__*/React.createElement(Radio, {
|
|
@@ -88,7 +77,6 @@ export function AddStructModal(props) {
|
|
|
88
77
|
key: item.text
|
|
89
78
|
}, item.text)));
|
|
90
79
|
}
|
|
91
|
-
|
|
92
80
|
case StructDefineType.ARR:
|
|
93
81
|
{
|
|
94
82
|
return /*#__PURE__*/React.createElement(Select, {
|
|
@@ -101,13 +89,11 @@ export function AddStructModal(props) {
|
|
|
101
89
|
}) : ""
|
|
102
90
|
});
|
|
103
91
|
}
|
|
104
|
-
|
|
105
92
|
case StructDefineType.ENUM:
|
|
106
93
|
{
|
|
107
94
|
var {
|
|
108
95
|
regex
|
|
109
96
|
} = define;
|
|
110
|
-
|
|
111
97
|
if (regex.length < 6) {
|
|
112
98
|
return /*#__PURE__*/React.createElement(Radio.Group, null, regex.map(item => /*#__PURE__*/React.createElement(Radio, {
|
|
113
99
|
value: item,
|
|
@@ -124,7 +110,6 @@ export function AddStructModal(props) {
|
|
|
124
110
|
}, item)));
|
|
125
111
|
}
|
|
126
112
|
}
|
|
127
|
-
|
|
128
113
|
case StructDefineType.ENUMS:
|
|
129
114
|
{
|
|
130
115
|
return /*#__PURE__*/React.createElement(Select, {
|
|
@@ -137,7 +122,6 @@ export function AddStructModal(props) {
|
|
|
137
122
|
key: item
|
|
138
123
|
}, item)));
|
|
139
124
|
}
|
|
140
|
-
|
|
141
125
|
case StructDefineType.DATE:
|
|
142
126
|
case StructDefineType.DATETIME:
|
|
143
127
|
{
|
|
@@ -145,20 +129,16 @@ export function AddStructModal(props) {
|
|
|
145
129
|
showTime: define.type === "datetime"
|
|
146
130
|
});
|
|
147
131
|
}
|
|
148
|
-
|
|
149
132
|
case StructDefineType.IP:
|
|
150
133
|
{
|
|
151
134
|
return /*#__PURE__*/React.createElement(Input, null);
|
|
152
135
|
}
|
|
153
|
-
|
|
154
136
|
case StructDefineType.JSON:
|
|
155
137
|
{
|
|
156
138
|
var jsonSchema;
|
|
157
|
-
|
|
158
139
|
if (hasRegex(define.regex)) {
|
|
159
140
|
jsonSchema = JSON.parse(define.regex);
|
|
160
141
|
}
|
|
161
|
-
|
|
162
142
|
return /*#__PURE__*/React.createElement(CodeEditor, _extends({
|
|
163
143
|
mode: "json",
|
|
164
144
|
maxLines: "Infinity",
|
|
@@ -174,7 +154,6 @@ export function AddStructModal(props) {
|
|
|
174
154
|
theme: "tomorrow"
|
|
175
155
|
}));
|
|
176
156
|
}
|
|
177
|
-
|
|
178
157
|
case StructDefineType.STRING:
|
|
179
158
|
default:
|
|
180
159
|
{
|
|
@@ -186,10 +165,8 @@ export function AddStructModal(props) {
|
|
|
186
165
|
}
|
|
187
166
|
}
|
|
188
167
|
};
|
|
189
|
-
|
|
190
168
|
var getFormRules = define => {
|
|
191
169
|
var rules = [];
|
|
192
|
-
|
|
193
170
|
switch (define.type) {
|
|
194
171
|
case StructDefineType.STRING:
|
|
195
172
|
case StructDefineType.IP:
|
|
@@ -202,7 +179,6 @@ export function AddStructModal(props) {
|
|
|
202
179
|
});
|
|
203
180
|
break;
|
|
204
181
|
}
|
|
205
|
-
|
|
206
182
|
case StructDefineType.ARR:
|
|
207
183
|
{
|
|
208
184
|
var regex = new RegExp(define.regex);
|
|
@@ -216,11 +192,9 @@ export function AddStructModal(props) {
|
|
|
216
192
|
});
|
|
217
193
|
break;
|
|
218
194
|
}
|
|
219
|
-
|
|
220
195
|
case StructDefineType.INTEGER:
|
|
221
196
|
{
|
|
222
197
|
var _regex = new RegExp(define.regex);
|
|
223
|
-
|
|
224
198
|
hasRegex(define.regex) && rules.push({
|
|
225
199
|
validator: (rule, value, cb) => {
|
|
226
200
|
!hasValue(value) || _regex.test(value) ? cb() : cb(rule.message);
|
|
@@ -232,10 +206,8 @@ export function AddStructModal(props) {
|
|
|
232
206
|
break;
|
|
233
207
|
}
|
|
234
208
|
}
|
|
235
|
-
|
|
236
209
|
return rules;
|
|
237
210
|
};
|
|
238
|
-
|
|
239
211
|
var handleStore = /*#__PURE__*/function () {
|
|
240
212
|
var _ref = _asyncToGenerator(function* () {
|
|
241
213
|
// 校验JSON类型
|
|
@@ -244,43 +216,35 @@ export function AddStructModal(props) {
|
|
|
244
216
|
var values = yield form.validateFields();
|
|
245
217
|
var newValues = reduce(values, (pre, value, key) => {
|
|
246
218
|
var _structDefineMap$key2;
|
|
247
|
-
|
|
248
219
|
var realValue;
|
|
249
|
-
|
|
250
220
|
switch ((_structDefineMap$key2 = structDefineMap[key]) === null || _structDefineMap$key2 === void 0 ? void 0 : _structDefineMap$key2.type) {
|
|
251
221
|
case StructDefineType.DATE:
|
|
252
222
|
{
|
|
253
223
|
realValue = value === null || value === void 0 ? void 0 : value.format("YYYY-MM-DD");
|
|
254
224
|
break;
|
|
255
225
|
}
|
|
256
|
-
|
|
257
226
|
case StructDefineType.DATETIME:
|
|
258
227
|
{
|
|
259
228
|
realValue = value === null || value === void 0 ? void 0 : value.format("YYYY-MM-DD HH:mm:ss");
|
|
260
229
|
break;
|
|
261
230
|
}
|
|
262
|
-
|
|
263
231
|
default:
|
|
264
232
|
realValue = value;
|
|
265
233
|
}
|
|
266
|
-
|
|
267
234
|
pre[key] = realValue;
|
|
268
235
|
return pre;
|
|
269
236
|
}, {});
|
|
270
237
|
handleStoreFunction(newValues);
|
|
271
238
|
form.resetFields();
|
|
272
239
|
});
|
|
273
|
-
|
|
274
240
|
return function handleStore() {
|
|
275
241
|
return _ref.apply(this, arguments);
|
|
276
242
|
};
|
|
277
243
|
}();
|
|
278
|
-
|
|
279
244
|
var handleCloseModal = () => {
|
|
280
245
|
handleCancelFunction();
|
|
281
246
|
form.resetFields();
|
|
282
247
|
};
|
|
283
|
-
|
|
284
248
|
return /*#__PURE__*/React.createElement(Modal, {
|
|
285
249
|
visible: visible,
|
|
286
250
|
onOk: handleStore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStructModal.js","names":["React","DatePicker","Input","InputNumber","Modal","Radio","Select","Form","StructDefineType","boolOptions","i18n","K","NS_LIBS_CMDB_INSTANCES","moment","keyBy","reduce","isString","isNil","CodeEditor","AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","form","useForm","structValue","pre","key","calcValue","type","DATE","DATETIME","JSON","stringify","hasRegex","regex","hasValue","handleJsonValidate","err","define","errors","some","v","push","t","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","width","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","map","item","text","ARR","ENUM","length","ENUMS","IP","jsonSchema","parse","STRING","getFormRules","rules","pattern","message","NOT_MEET_REGEX_DETAIL","RegExp","validator","rule","cb","every","test","handleStore","hasErrors","getFieldsError","values","validateFields","newValues","realValue","format","resetFields","handleCloseModal","CONFIRM","CANCEL"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Modal,\n Radio,\n Select,\n Form,\n} from \"antd\";\nimport { Attribute, Structkey, StructDefineType } from \"./interfaces\";\nimport { boolOptions } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport moment from \"moment\";\nimport { keyBy, reduce, isString, isNil } from \"lodash\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\n\nexport interface AddStructModalProps {\n structData?: any;\n attribute: Attribute;\n handleStoreFunction: any;\n handleCancelFunction: () => void;\n visible: boolean;\n}\n\nexport function AddStructModal(props: AddStructModalProps): React.ReactElement {\n const {\n attribute,\n visible,\n structData,\n handleStoreFunction,\n handleCancelFunction,\n } = props;\n const structDefine = attribute.value.struct_define;\n const structDefineMap = keyBy(structDefine, \"id\");\n const [form] = Form.useForm();\n\n const structValue = reduce(\n structData,\n (pre: any, value, key) => {\n let calcValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE:\n case StructDefineType.DATETIME:\n calcValue = value && moment(value);\n break;\n case StructDefineType.JSON:\n calcValue =\n isString(value) || !value\n ? value || \"\"\n : JSON.stringify(value, null, 2);\n break;\n default:\n calcValue = value;\n }\n pre[key] = calcValue;\n return pre;\n },\n {}\n );\n\n const hasRegex = (regex: any): boolean => !isNil(regex) && regex !== \"\";\n const hasValue = (value: any): boolean => !isNil(value) && value !== \"\";\n\n const handleJsonValidate = (err: any, define: Structkey) => {\n const errors: string[] = [];\n err.some((v: any) => v.type === \"error\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`));\n err.some((v: any) => v.type === \"warning\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n form.setFields([\n {\n name: define.id,\n errors,\n },\n ]);\n };\n\n const getFormType = (define: Structkey) => {\n switch (define.type) {\n case StructDefineType.INTEGER: {\n return (\n <InputNumber\n style={{ width: \"100%\" }}\n precision={0}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.FLOAT: {\n return <InputNumber style={{ width: \"100%\" }} />;\n }\n case StructDefineType.BOOLEAN: {\n return (\n <Radio.Group>\n {boolOptions.map((item) => (\n <Radio value={item.id} key={item.text}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n case StructDefineType.ARR: {\n return (\n <Select\n mode=\"tags\"\n style={{ width: \"100%\" }}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.ENUM: {\n const { regex } = define;\n if (regex.length < 6) {\n return (\n <Radio.Group>\n {regex.map((item: string) => (\n <Radio value={item} key={item}>\n {item}\n </Radio>\n ))}\n </Radio.Group>\n );\n } else {\n return (\n <Select style={{ width: \"100%\" }}>\n {regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n }\n case StructDefineType.ENUMS: {\n return (\n <Select mode=\"multiple\" style={{ width: \"100%\" }}>\n {define.regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n case StructDefineType.DATE:\n case StructDefineType.DATETIME: {\n return <DatePicker showTime={define.type === \"datetime\"} />;\n }\n case StructDefineType.IP: {\n return <Input />;\n }\n case StructDefineType.JSON: {\n let jsonSchema: any;\n if (hasRegex(define.regex)) {\n jsonSchema = JSON.parse(define.regex);\n }\n return (\n <CodeEditor\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n onValidate={(err: any) => handleJsonValidate(err, define)}\n {...(jsonSchema ? { jsonSchema } : {})}\n theme=\"tomorrow\"\n />\n );\n }\n case StructDefineType.STRING:\n default: {\n return (\n <Input\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n }\n };\n\n const getFormRules = (define: Structkey) => {\n const rules = [];\n switch (define.type) {\n case StructDefineType.STRING:\n case StructDefineType.IP: {\n hasRegex(define.regex) &&\n rules.push({\n pattern: define.regex,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${\n define.type === \"ip\"\n ? K.NOT_MEET_REGEX\n : K.NOT_MEET_REGEX_DETAIL\n }`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.ARR: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n (value ?? []).every((item: any) => regex.test(item))\n ? cb()\n : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.INTEGER: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n !hasValue(value) || regex.test(value) ? cb() : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n }\n return rules;\n };\n\n const handleStore = async () => {\n // 校验JSON类型\n const hasErrors = !form.getFieldsError().every((v) => !v.errors.length);\n if (hasErrors) return;\n const values = await form.validateFields();\n const newValues = reduce(\n values,\n (pre: any, value, key) => {\n let realValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE: {\n realValue = value?.format(\"YYYY-MM-DD\");\n break;\n }\n case StructDefineType.DATETIME: {\n realValue = value?.format(\"YYYY-MM-DD HH:mm:ss\");\n break;\n }\n default:\n realValue = value;\n }\n pre[key] = realValue;\n return pre;\n },\n {}\n );\n handleStoreFunction(newValues);\n form.resetFields();\n };\n\n const handleCloseModal = () => {\n handleCancelFunction();\n form.resetFields();\n };\n\n return (\n <Modal\n visible={visible}\n onOk={handleStore}\n onCancel={handleCloseModal}\n okButtonProps={{ id: \"okBtn\" }}\n okText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n cancelText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n cancelButtonProps={{ id: \"cancelBtn\" }}\n destroyOnClose={true}\n >\n <Form form={form} layout={\"vertical\"} initialValues={structValue}>\n {structDefine.map((define) => {\n return (\n <Form.Item\n key={define.id}\n name={define.id}\n label={define.name + \":\"}\n rules={getFormRules(define)}\n >\n {getFormType(define)}\n </Form.Item>\n );\n })}\n </Form>\n </Modal>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddStructModal.js","names":["React","DatePicker","Input","InputNumber","Modal","Radio","Select","Form","StructDefineType","boolOptions","i18n","K","NS_LIBS_CMDB_INSTANCES","moment","keyBy","reduce","isString","isNil","CodeEditor","AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","form","useForm","structValue","pre","key","calcValue","type","DATE","DATETIME","JSON","stringify","hasRegex","regex","hasValue","handleJsonValidate","err","define","errors","some","v","push","t","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","width","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","map","item","text","ARR","ENUM","length","ENUMS","IP","jsonSchema","parse","STRING","getFormRules","rules","pattern","message","NOT_MEET_REGEX_DETAIL","RegExp","validator","rule","cb","every","test","handleStore","hasErrors","getFieldsError","values","validateFields","newValues","realValue","format","resetFields","handleCloseModal","CONFIRM","CANCEL"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Modal,\n Radio,\n Select,\n Form,\n} from \"antd\";\nimport { Attribute, Structkey, StructDefineType } from \"./interfaces\";\nimport { boolOptions } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport moment from \"moment\";\nimport { keyBy, reduce, isString, isNil } from \"lodash\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\n\nexport interface AddStructModalProps {\n structData?: any;\n attribute: Attribute;\n handleStoreFunction: any;\n handleCancelFunction: () => void;\n visible: boolean;\n}\n\nexport function AddStructModal(props: AddStructModalProps): React.ReactElement {\n const {\n attribute,\n visible,\n structData,\n handleStoreFunction,\n handleCancelFunction,\n } = props;\n const structDefine = attribute.value.struct_define;\n const structDefineMap = keyBy(structDefine, \"id\");\n const [form] = Form.useForm();\n\n const structValue = reduce(\n structData,\n (pre: any, value, key) => {\n let calcValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE:\n case StructDefineType.DATETIME:\n calcValue = value && moment(value);\n break;\n case StructDefineType.JSON:\n calcValue =\n isString(value) || !value\n ? value || \"\"\n : JSON.stringify(value, null, 2);\n break;\n default:\n calcValue = value;\n }\n pre[key] = calcValue;\n return pre;\n },\n {}\n );\n\n const hasRegex = (regex: any): boolean => !isNil(regex) && regex !== \"\";\n const hasValue = (value: any): boolean => !isNil(value) && value !== \"\";\n\n const handleJsonValidate = (err: any, define: Structkey) => {\n const errors: string[] = [];\n err.some((v: any) => v.type === \"error\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`));\n err.some((v: any) => v.type === \"warning\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n form.setFields([\n {\n name: define.id,\n errors,\n },\n ]);\n };\n\n const getFormType = (define: Structkey) => {\n switch (define.type) {\n case StructDefineType.INTEGER: {\n return (\n <InputNumber\n style={{ width: \"100%\" }}\n precision={0}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.FLOAT: {\n return <InputNumber style={{ width: \"100%\" }} />;\n }\n case StructDefineType.BOOLEAN: {\n return (\n <Radio.Group>\n {boolOptions.map((item) => (\n <Radio value={item.id} key={item.text}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n case StructDefineType.ARR: {\n return (\n <Select\n mode=\"tags\"\n style={{ width: \"100%\" }}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.ENUM: {\n const { regex } = define;\n if (regex.length < 6) {\n return (\n <Radio.Group>\n {regex.map((item: string) => (\n <Radio value={item} key={item}>\n {item}\n </Radio>\n ))}\n </Radio.Group>\n );\n } else {\n return (\n <Select style={{ width: \"100%\" }}>\n {regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n }\n case StructDefineType.ENUMS: {\n return (\n <Select mode=\"multiple\" style={{ width: \"100%\" }}>\n {define.regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n case StructDefineType.DATE:\n case StructDefineType.DATETIME: {\n return <DatePicker showTime={define.type === \"datetime\"} />;\n }\n case StructDefineType.IP: {\n return <Input />;\n }\n case StructDefineType.JSON: {\n let jsonSchema: any;\n if (hasRegex(define.regex)) {\n jsonSchema = JSON.parse(define.regex);\n }\n return (\n <CodeEditor\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n onValidate={(err: any) => handleJsonValidate(err, define)}\n {...(jsonSchema ? { jsonSchema } : {})}\n theme=\"tomorrow\"\n />\n );\n }\n case StructDefineType.STRING:\n default: {\n return (\n <Input\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n }\n };\n\n const getFormRules = (define: Structkey) => {\n const rules = [];\n switch (define.type) {\n case StructDefineType.STRING:\n case StructDefineType.IP: {\n hasRegex(define.regex) &&\n rules.push({\n pattern: define.regex,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${\n define.type === \"ip\"\n ? K.NOT_MEET_REGEX\n : K.NOT_MEET_REGEX_DETAIL\n }`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.ARR: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n (value ?? []).every((item: any) => regex.test(item))\n ? cb()\n : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.INTEGER: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n !hasValue(value) || regex.test(value) ? cb() : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n }\n return rules;\n };\n\n const handleStore = async () => {\n // 校验JSON类型\n const hasErrors = !form.getFieldsError().every((v) => !v.errors.length);\n if (hasErrors) return;\n const values = await form.validateFields();\n const newValues = reduce(\n values,\n (pre: any, value, key) => {\n let realValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE: {\n realValue = value?.format(\"YYYY-MM-DD\");\n break;\n }\n case StructDefineType.DATETIME: {\n realValue = value?.format(\"YYYY-MM-DD HH:mm:ss\");\n break;\n }\n default:\n realValue = value;\n }\n pre[key] = realValue;\n return pre;\n },\n {}\n );\n handleStoreFunction(newValues);\n form.resetFields();\n };\n\n const handleCloseModal = () => {\n handleCancelFunction();\n form.resetFields();\n };\n\n return (\n <Modal\n visible={visible}\n onOk={handleStore}\n onCancel={handleCloseModal}\n okButtonProps={{ id: \"okBtn\" }}\n okText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n cancelText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n cancelButtonProps={{ id: \"cancelBtn\" }}\n destroyOnClose={true}\n >\n <Form form={form} layout={\"vertical\"} initialValues={structValue}>\n {structDefine.map((define) => {\n return (\n <Form.Item\n key={define.id}\n name={define.id}\n label={define.name + \":\"}\n rules={getFormRules(define)}\n >\n {getFormType(define)}\n </Form.Item>\n );\n })}\n </Form>\n </Modal>\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,UAAU,EACVC,KAAK,EACLC,WAAW,EACXC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,IAAI,QACC,MAAM;AACb,SAA+BC,gBAAgB,QAAQ,cAAc;AACrE,SAASC,WAAW,QAAQ,2DAA2D;AACvF,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,QAAQ,QAAQ;AACvD,SAASC,UAAU,QAAQ,mCAAmC;AAU9D,OAAO,SAASC,cAAc,CAACC,KAA0B,EAAsB;EAC7E,IAAM;IACJC,SAAS;IACTC,OAAO;IACPC,UAAU;IACVC,mBAAmB;IACnBC;EACF,CAAC,GAAGL,KAAK;EACT,IAAMM,YAAY,GAAGL,SAAS,CAACM,KAAK,CAACC,aAAa;EAClD,IAAMC,eAAe,GAAGf,KAAK,CAACY,YAAY,EAAE,IAAI,CAAC;EACjD,IAAM,CAACI,IAAI,CAAC,GAAGvB,IAAI,CAACwB,OAAO,EAAE;EAE7B,IAAMC,WAAW,GAAGjB,MAAM,CACxBQ,UAAU,EACV,CAACU,GAAQ,EAAEN,KAAK,EAAEO,GAAG,KAAK;IAAA;IACxB,IAAIC,SAAS;IACb,gCAAQN,eAAe,CAACK,GAAG,CAAC,yDAApB,qBAAsBE,IAAI;MAChC,KAAK5B,gBAAgB,CAAC6B,IAAI;MAC1B,KAAK7B,gBAAgB,CAAC8B,QAAQ;QAC5BH,SAAS,GAAGR,KAAK,IAAId,MAAM,CAACc,KAAK,CAAC;QAClC;MACF,KAAKnB,gBAAgB,CAAC+B,IAAI;QACxBJ,SAAS,GACPnB,QAAQ,CAACW,KAAK,CAAC,IAAI,CAACA,KAAK,GACrBA,KAAK,IAAI,EAAE,GACXY,IAAI,CAACC,SAAS,CAACb,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC;MACF;QACEQ,SAAS,GAAGR,KAAK;IAAC;IAEtBM,GAAG,CAACC,GAAG,CAAC,GAAGC,SAAS;IACpB,OAAOF,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EAED,IAAMQ,QAAQ,GAAIC,KAAU,IAAc,CAACzB,KAAK,CAACyB,KAAK,CAAC,IAAIA,KAAK,KAAK,EAAE;EACvE,IAAMC,QAAQ,GAAIhB,KAAU,IAAc,CAACV,KAAK,CAACU,KAAK,CAAC,IAAIA,KAAK,KAAK,EAAE;EAEvE,IAAMiB,kBAAkB,GAAG,CAACC,GAAQ,EAAEC,MAAiB,KAAK;IAC1D,IAAMC,MAAgB,GAAG,EAAE;IAC3BF,GAAG,CAACG,IAAI,CAAEC,CAAM,IAAKA,CAAC,CAACb,IAAI,KAAK,OAAO,CAAC,IACtCW,MAAM,CAACG,IAAI,CAACxC,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACyC,aAAa,EAAG,CAAC;IACrEP,GAAG,CAACG,IAAI,CAAEC,CAAM,IAAKA,CAAC,CAACb,IAAI,KAAK,SAAS,CAAC,IACxCW,MAAM,CAACG,IAAI,CAACxC,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAAC0C,cAAc,EAAG,CAAC;IACtEvB,IAAI,CAACwB,SAAS,CAAC,CACb;MACEC,IAAI,EAAET,MAAM,CAACU,EAAE;MACfT;IACF,CAAC,CACF,CAAC;EACJ,CAAC;EAED,IAAMU,WAAW,GAAIX,MAAiB,IAAK;IACzC,QAAQA,MAAM,CAACV,IAAI;MACjB,KAAK5B,gBAAgB,CAACkD,OAAO;QAAE;UAC7B,oBACE,oBAAC,WAAW;YACV,KAAK,EAAE;cAAEC,KAAK,EAAE;YAAO,CAAE;YACzB,SAAS,EAAE,CAAE;YACb,WAAW,EACTlB,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,GAClBhC,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACiD,gBAAgB,GAAI;cACxDC,MAAM,EAAEf,MAAM,CAACJ;YACjB,CAAC,CAAC,GACF;UACL,EACD;QAEN;MACA,KAAKlC,gBAAgB,CAACsD,KAAK;QAAE;UAC3B,oBAAO,oBAAC,WAAW;YAAC,KAAK,EAAE;cAAEH,KAAK,EAAE;YAAO;UAAE,EAAG;QAClD;MACA,KAAKnD,gBAAgB,CAACuD,OAAO;QAAE;UAC7B,oBACE,oBAAC,KAAK,CAAC,KAAK,QACTtD,WAAW,CAACuD,GAAG,CAAEC,IAAI,iBACpB,oBAAC,KAAK;YAAC,KAAK,EAAEA,IAAI,CAACT,EAAG;YAAC,GAAG,EAAES,IAAI,CAACC;UAAK,GACnCD,IAAI,CAACC,IAAI,CAEb,CAAC,CACU;QAElB;MACA,KAAK1D,gBAAgB,CAAC2D,GAAG;QAAE;UACzB,oBACE,oBAAC,MAAM;YACL,IAAI,EAAC,MAAM;YACX,KAAK,EAAE;cAAER,KAAK,EAAE;YAAO,CAAE;YACzB,WAAW,EACTlB,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,GAClBhC,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACiD,gBAAgB,GAAI;cACxDC,MAAM,EAAEf,MAAM,CAACJ;YACjB,CAAC,CAAC,GACF;UACL,EACD;QAEN;MACA,KAAKlC,gBAAgB,CAAC4D,IAAI;QAAE;UAC1B,IAAM;YAAE1B;UAAM,CAAC,GAAGI,MAAM;UACxB,IAAIJ,KAAK,CAAC2B,MAAM,GAAG,CAAC,EAAE;YACpB,oBACE,oBAAC,KAAK,CAAC,KAAK,QACT3B,KAAK,CAACsB,GAAG,CAAEC,IAAY,iBACtB,oBAAC,KAAK;cAAC,KAAK,EAAEA,IAAK;cAAC,GAAG,EAAEA;YAAK,GAC3BA,IAAI,CAER,CAAC,CACU;UAElB,CAAC,MAAM;YACL,oBACE,oBAAC,MAAM;cAAC,KAAK,EAAE;gBAAEN,KAAK,EAAE;cAAO;YAAE,GAC9BjB,KAAK,CAACsB,GAAG,CAAEC,IAAY,iBACtB,oBAAC,MAAM,CAAC,MAAM;cAAC,KAAK,EAAEA,IAAK;cAAC,GAAG,EAAEA;YAAK,GACnCA,IAAI,CAER,CAAC,CACK;UAEb;QACF;MACA,KAAKzD,gBAAgB,CAAC8D,KAAK;QAAE;UAC3B,oBACE,oBAAC,MAAM;YAAC,IAAI,EAAC,UAAU;YAAC,KAAK,EAAE;cAAEX,KAAK,EAAE;YAAO;UAAE,GAC9Cb,MAAM,CAACJ,KAAK,CAACsB,GAAG,CAAEC,IAAY,iBAC7B,oBAAC,MAAM,CAAC,MAAM;YAAC,KAAK,EAAEA,IAAK;YAAC,GAAG,EAAEA;UAAK,GACnCA,IAAI,CAER,CAAC,CACK;QAEb;MACA,KAAKzD,gBAAgB,CAAC6B,IAAI;MAC1B,KAAK7B,gBAAgB,CAAC8B,QAAQ;QAAE;UAC9B,oBAAO,oBAAC,UAAU;YAAC,QAAQ,EAAEQ,MAAM,CAACV,IAAI,KAAK;UAAW,EAAG;QAC7D;MACA,KAAK5B,gBAAgB,CAAC+D,EAAE;QAAE;UACxB,oBAAO,oBAAC,KAAK,OAAG;QAClB;MACA,KAAK/D,gBAAgB,CAAC+B,IAAI;QAAE;UAC1B,IAAIiC,UAAe;UACnB,IAAI/B,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,EAAE;YAC1B8B,UAAU,GAAGjC,IAAI,CAACkC,KAAK,CAAC3B,MAAM,CAACJ,KAAK,CAAC;UACvC;UACA,oBACE,oBAAC,UAAU;YACT,IAAI,EAAE,MAAO;YACb,QAAQ,EAAE,UAAW;YACrB,mBAAmB,EAAE,IAAK;YAC1B,QAAQ,EAAE,CAAE;YACZ,eAAe,EAAE,IAAK;YACtB,eAAe,EAAE,KAAM;YACvB,sBAAsB,EAAE,OAAQ;YAChC,UAAU,EAAGG,GAAQ,IAAKD,kBAAkB,CAACC,GAAG,EAAEC,MAAM;UAAE,GACrD0B,UAAU,GAAG;YAAEA;UAAW,CAAC,GAAG,CAAC,CAAC;YACrC,KAAK,EAAC;UAAU,GAChB;QAEN;MACA,KAAKhE,gBAAgB,CAACkE,MAAM;MAC5B;QAAS;UACP,oBACE,oBAAC,KAAK;YACJ,WAAW,EACTjC,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,GAClBhC,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACiD,gBAAgB,GAAI;cACxDC,MAAM,EAAEf,MAAM,CAACJ;YACjB,CAAC,CAAC,GACF;UACL,EACD;QAEN;IAAC;EAEL,CAAC;EAED,IAAMiC,YAAY,GAAI7B,MAAiB,IAAK;IAC1C,IAAM8B,KAAK,GAAG,EAAE;IAChB,QAAQ9B,MAAM,CAACV,IAAI;MACjB,KAAK5B,gBAAgB,CAACkE,MAAM;MAC5B,KAAKlE,gBAAgB,CAAC+D,EAAE;QAAE;UACxB9B,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,IACpBkC,KAAK,CAAC1B,IAAI,CAAC;YACT2B,OAAO,EAAE/B,MAAM,CAACJ,KAAK;YACrBoC,OAAO,EAAEpE,IAAI,CAACyC,CAAC,WACVvC,sBAAsB,cACvBkC,MAAM,CAACV,IAAI,KAAK,IAAI,GAChBzB,CAAC,CAAC0C,cAAc,GAChB1C,CAAC,CAACoE,qBAAqB,GAE7B;cACErC,KAAK,EAAEI,MAAM,CAACJ;YAChB,CAAC;UAEL,CAAC,CAAC;UACJ;QACF;MACA,KAAKlC,gBAAgB,CAAC2D,GAAG;QAAE;UACzB,IAAMzB,KAAK,GAAG,IAAIsC,MAAM,CAAClC,MAAM,CAACJ,KAAK,CAAC;UACtCD,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,IACpBkC,KAAK,CAAC1B,IAAI,CAAC;YACT+B,SAAS,EAAE,CAACC,IAAS,EAAEvD,KAAU,EAAEwD,EAAO,KAAK;cAC7C,CAACxD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAEyD,KAAK,CAAEnB,IAAS,IAAKvB,KAAK,CAAC2C,IAAI,CAACpB,IAAI,CAAC,CAAC,GAChDkB,EAAE,EAAE,GACJA,EAAE,CAACD,IAAI,CAACJ,OAAO,CAAC;YACtB,CAAC;YACDA,OAAO,EAAEpE,IAAI,CAACyC,CAAC,WACVvC,sBAAsB,cAAID,CAAC,CAACoE,qBAAqB,GACpD;cACErC,KAAK,EAAEI,MAAM,CAACJ;YAChB,CAAC;UAEL,CAAC,CAAC;UACJ;QACF;MACA,KAAKlC,gBAAgB,CAACkD,OAAO;QAAE;UAC7B,IAAMhB,MAAK,GAAG,IAAIsC,MAAM,CAAClC,MAAM,CAACJ,KAAK,CAAC;UACtCD,QAAQ,CAACK,MAAM,CAACJ,KAAK,CAAC,IACpBkC,KAAK,CAAC1B,IAAI,CAAC;YACT+B,SAAS,EAAE,CAACC,IAAS,EAAEvD,KAAU,EAAEwD,EAAO,KAAK;cAC7C,CAACxC,QAAQ,CAAChB,KAAK,CAAC,IAAIe,MAAK,CAAC2C,IAAI,CAAC1D,KAAK,CAAC,GAAGwD,EAAE,EAAE,GAAGA,EAAE,CAACD,IAAI,CAACJ,OAAO,CAAC;YACjE,CAAC;YACDA,OAAO,EAAEpE,IAAI,CAACyC,CAAC,WACVvC,sBAAsB,cAAID,CAAC,CAACoE,qBAAqB,GACpD;cACErC,KAAK,EAAEI,MAAM,CAACJ;YAChB,CAAC;UAEL,CAAC,CAAC;UACJ;QACF;IAAC;IAEH,OAAOkC,KAAK;EACd,CAAC;EAED,IAAMU,WAAW;IAAA,6BAAG,aAAY;MAC9B;MACA,IAAMC,SAAS,GAAG,CAACzD,IAAI,CAAC0D,cAAc,EAAE,CAACJ,KAAK,CAAEnC,CAAC,IAAK,CAACA,CAAC,CAACF,MAAM,CAACsB,MAAM,CAAC;MACvE,IAAIkB,SAAS,EAAE;MACf,IAAME,MAAM,SAAS3D,IAAI,CAAC4D,cAAc,EAAE;MAC1C,IAAMC,SAAS,GAAG5E,MAAM,CACtB0E,MAAM,EACN,CAACxD,GAAQ,EAAEN,KAAK,EAAEO,GAAG,KAAK;QAAA;QACxB,IAAI0D,SAAS;QACb,iCAAQ/D,eAAe,CAACK,GAAG,CAAC,0DAApB,sBAAsBE,IAAI;UAChC,KAAK5B,gBAAgB,CAAC6B,IAAI;YAAE;cAC1BuD,SAAS,GAAGjE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkE,MAAM,CAAC,YAAY,CAAC;cACvC;YACF;UACA,KAAKrF,gBAAgB,CAAC8B,QAAQ;YAAE;cAC9BsD,SAAS,GAAGjE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkE,MAAM,CAAC,qBAAqB,CAAC;cAChD;YACF;UACA;YACED,SAAS,GAAGjE,KAAK;QAAC;QAEtBM,GAAG,CAACC,GAAG,CAAC,GAAG0D,SAAS;QACpB,OAAO3D,GAAG;MACZ,CAAC,EACD,CAAC,CAAC,CACH;MACDT,mBAAmB,CAACmE,SAAS,CAAC;MAC9B7D,IAAI,CAACgE,WAAW,EAAE;IACpB,CAAC;IAAA,gBA5BKR,WAAW;MAAA;IAAA;EAAA,GA4BhB;EAED,IAAMS,gBAAgB,GAAG,MAAM;IAC7BtE,oBAAoB,EAAE;IACtBK,IAAI,CAACgE,WAAW,EAAE;EACpB,CAAC;EAED,oBACE,oBAAC,KAAK;IACJ,OAAO,EAAExE,OAAQ;IACjB,IAAI,EAAEgE,WAAY;IAClB,QAAQ,EAAES,gBAAiB;IAC3B,aAAa,EAAE;MAAEvC,EAAE,EAAE;IAAQ,CAAE;IAC/B,MAAM,EAAE9C,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACqF,OAAO,EAAI;IACzD,UAAU,EAAEtF,IAAI,CAACyC,CAAC,WAAIvC,sBAAsB,cAAID,CAAC,CAACsF,MAAM,EAAI;IAC5D,iBAAiB,EAAE;MAAEzC,EAAE,EAAE;IAAY,CAAE;IACvC,cAAc,EAAE;EAAK,gBAErB,oBAAC,IAAI;IAAC,IAAI,EAAE1B,IAAK;IAAC,MAAM,EAAE,UAAW;IAAC,aAAa,EAAEE;EAAY,GAC9DN,YAAY,CAACsC,GAAG,CAAElB,MAAM,IAAK;IAC5B,oBACE,oBAAC,IAAI,CAAC,IAAI;MACR,GAAG,EAAEA,MAAM,CAACU,EAAG;MACf,IAAI,EAAEV,MAAM,CAACU,EAAG;MAChB,KAAK,EAAEV,MAAM,CAACS,IAAI,GAAG,GAAI;MACzB,KAAK,EAAEoB,YAAY,CAAC7B,MAAM;IAAE,GAE3BW,WAAW,CAACX,MAAM,CAAC,CACV;EAEhB,CAAC,CAAC,CACG,CACD;AAEZ"}
|