Commit bb55b171 by zhaochengxiang

bug fix

parent 2ecb0e30
......@@ -360,6 +360,7 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
const [form] = Form.useForm()
const tableRef = React.useRef()
const selectablePropertyTypesRef = React.useRef()
const isEditing = (record) => record.modelType?.name === editingKey
......@@ -373,12 +374,6 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
}
}, [type])
const selectablePropertyTypes = React.useMemo(() => {
return (propertyTypes??[]).filter(item =>
(tableData??[]).map(_item => _item.modelType?.name).indexOf(item.modelType?.name)===-1 || item.modelType?.name === editingKey
)
}, [propertyTypes, tableData, editingKey])
const getPropertyTypes = () => {
setLoadingPropertyTypes(true)
dispatch({
......@@ -433,10 +428,11 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
await save()
if (
(selectablePropertyTypes??[]).length>0
&& (selectablePropertyTypes[0].supportedOperatorTypes??[]).length>0
&& (selectablePropertyTypes[0].supportedMetadataTypes??[]).length>0
(selectablePropertyTypesRef.current??[]).length>0
&& (selectablePropertyTypesRef.current[0].supportedOperatorTypes??[]).length>0
&& (selectablePropertyTypesRef.current[0].supportedMetadataTypes??[]).length>0
) {
const selectablePropertyTypes = [...selectablePropertyTypesRef.current??[]]
setTableData(prevTableData => {
return [...prevTableData??[], {
modelType: selectablePropertyTypes[0].modelType,
......@@ -460,7 +456,8 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
}
}
const onBatchDeleteClick = () => {
const onBatchDeleteClick = (e) => {
e.stopPropagation()
setTableData(prevTableData => {
let newTableData = [...prevTableData??[]];
newTableData = (newTableData??[]).filter(item => (selectedRows??[]).map(_item => _item.modelType?.name).indexOf(item?.modelType?.name)===-1);
......@@ -474,16 +471,16 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
setSelectedRows()
}
// const onRightEditClick = async (record) => {
// try {
// await save()
const onEditClick = async (record) => {
try {
await save()
// setEditingKey(record?.modelType?.name)
// setEditingModelKey(record?.modelType?.name)
// } catch(e) {
setEditingKey(record?.modelType?.name)
setEditingModelKey(record?.modelType?.name)
} catch(e) {
// }
// }
}
}
const onRightDeleteClick = (record) => {
if (isEditing(record)) {
......@@ -507,14 +504,14 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
const onValuesChange = (changedValues, allValues) => {
if (changedValues.hasOwnProperty('modelType')) {
setEditingModelKey(changedValues['modelType'])
const index = (selectablePropertyTypes??[]).findIndex(item => item.modelType?.name === changedValues['modelType'])
const index = (selectablePropertyTypesRef.current??[]).findIndex(item => item.modelType?.name === changedValues['modelType'])
if (index !== -1
&& (selectablePropertyTypes[index].supportedOperatorTypes??[]).length>0
&& (selectablePropertyTypes[index].supportedMetadataTypes??[]).length>0
&& (selectablePropertyTypesRef.current[index].supportedOperatorTypes??[]).length>0
&& (selectablePropertyTypesRef.current[index].supportedMetadataTypes??[]).length>0
) {
form?.setFieldsValue({
operatorType: selectablePropertyTypes[index].supportedOperatorTypes[0].id,
metadataType: selectablePropertyTypes[index].supportedMetadataTypes[0].name,
operatorType: selectablePropertyTypesRef.current[index].supportedOperatorTypes[0].id,
metadataType: selectablePropertyTypesRef.current[index].supportedMetadataTypes[0].name,
})
}
}
......@@ -560,11 +557,15 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
title: col.title,
editing: isEditing(record),
editingModelKey,
propertyTypes: selectablePropertyTypes,
propertyTypes: selectablePropertyTypesRef.current,
}),
}
})
selectablePropertyTypesRef.current = (propertyTypes??[]).filter(item =>
(tableData??[]).map(_item => _item.modelType?.name).indexOf(item.modelType?.name)===-1 || item.modelType?.name === editingKey
)
return (
<Spin spinning={loadingPropertyTypes}>
<div>
......@@ -588,6 +589,10 @@ const Strategy = React.forwardRef(function ({ type, task }, ref) {
setSelectedRows(selectedRows)
},
}}
onRowClick={(event, record) => {
event.stopPropagation()
onEditClick(record)
}}
pagination={false}
shouldRowContextMenu={(record) => {
return true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment