in hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx [176:284]
render(_: never, records: any, index: number) {
if (index === vertexTypeEditIndex) {
const originalName = vertexTypeStore.checkedReusableData!
.vertexlabel_conflicts[index].entity.name;
const changedName = vertexTypeStore.editedCheckedReusableData!
.vertexlabel_conflicts[index].entity.name;
const isChanged = changedName !== originalName;
return (
<div>
<span
className="metadata-properties-manipulation"
style={{
marginRight: 16,
color: isChanged ? '#2b65ff' : '#999'
}}
onClick={() => {
if (
!isChanged ||
!vertexTypeStore.validateReuseData(
'vertexType',
originalName,
changedName
)
) {
return;
}
vertexTypeStore.mutateReuseData(
'vertexType',
originalName,
changedName
);
setVertexTypeEditIndex(null);
vertexTypeStore.mutateReusableVertexTypeChangeIndexes(index);
}}
>
{t('addition.common.save')}
</span>
<span
className="metadata-properties-manipulation"
onClick={() => {
vertexTypeStore.resetValidateReuseErrorMessage('vertexType');
setVertexTypeEditIndex(null);
vertexTypeStore.resetEditedReusableVertexTypeName(index);
}}
>
{t('addition.common.cancel')}
</span>
</div>
);
}
return (
<div>
<span
className="metadata-properties-manipulation"
style={{
marginRight: 16,
color: vertexTypeEditIndex === null ? '#2b65ff' : '#999'
}}
onClick={() => {
if (vertexTypeEditIndex !== null) {
return;
}
setVertexTypeEditIndex(index);
}}
>
{t('addition.operate.rename')}
</span>
<span
className="metadata-properties-manipulation"
style={{
color: vertexTypeEditIndex === null ? '#2b65ff' : '#999'
}}
onClick={() => {
if (vertexTypeEditIndex !== null) {
return;
}
setPropertyEditIndex(null);
// remove selected status of the property in <Transfer />
const newSelectedList = [...selectedList].filter(
(property) =>
property !==
vertexTypeStore.editedCheckedReusableData!
.vertexlabel_conflicts[index].entity.name
);
mutateSelectedList(newSelectedList);
// notice: useState hooks cannot sync updated state value, so the length is still 1
if (selectedList.length === 1) {
setCurrentStatus(1);
// remove edit status after return previous
vertexTypeStore.clearReusableNameChangeIndexes();
return;
}
vertexTypeStore.deleteReuseData('vertexlabel_conflicts', index);
}}
>
{t('addition.common.del')}
</span>
</div>
);
}