1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-28 16:17:02 +00:00

Feat ai op tip (#7270)

* feat: ai op tip

* feat: optimize code

---------

Co-authored-by: 杨国璇 <ygx@Hello-word.local>
This commit is contained in:
杨国璇
2024-12-27 17:45:28 +08:00
committed by GitHub
parent 58e9d1423f
commit 9d63b3cbfc
4 changed files with 23 additions and 14 deletions

View File

@@ -11,6 +11,7 @@ import { getCellValueByColumn, getColumnOptionNamesByIds, getColumnOptionNameByI
import tagsAPI from '../../tag/api';
import { getColumnByKey, getColumnOptions, getColumnOriginName } from '../utils/column';
import ObjectUtils from '../utils/object-utils';
import { NOT_DISPLAY_COLUMN_KEYS } from '../components/metadata-details/constants';
const MetadataDetailsContext = React.createContext(null);
@@ -56,7 +57,7 @@ export const MetadataDetailsProvider = ({ repoID, repoInfo, path, dirent, dirent
}, [record]);
const onChange = useCallback((fieldKey, newValue) => {
const field = getColumnByKey(originColumns, fieldKey);
const field = getColumnByKey(allColumnsRef.current, fieldKey);
const columnName = getColumnOriginName(field);
const recordId = getRecordIdFromRecord(record);
let update = { [columnName]: newValue };
@@ -74,7 +75,7 @@ export const MetadataDetailsProvider = ({ repoID, repoInfo, path, dirent, dirent
const errorMsg = Utils.getErrorMsg(error);
toaster.danger(errorMsg);
});
}, [repoID, record, originColumns]);
}, [repoID, record, allColumnsRef]);
const modifyColumnData = useCallback((fieldKey, newData) => {
let newColumns = originColumns.slice(0);
@@ -174,8 +175,9 @@ export const MetadataDetailsProvider = ({ repoID, repoInfo, path, dirent, dirent
metadataAPI.getRecord(repoID, { parentDir, fileName }).then(res => {
const { results, metadata } = res.data;
const record = Array.isArray(results) && results.length > 0 ? results[0] : {};
const columns = normalizeFields(metadata).map(field => new Column(field));
allColumnsRef.current = columns;
const allColumns = normalizeFields(metadata).map(field => new Column(field));
allColumnsRef.current = allColumns;
const columns = allColumns.filter(c => !NOT_DISPLAY_COLUMN_KEYS.includes(c.key));
setRecord(record);
setOriginColumns(columns);
setLoading(false);