seeder-resources-view 1.3.8 → 1.3.9
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/index.esm.js +45 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +45 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18171,6 +18171,36 @@ const useDirectoryTree = _ref => {
|
|
|
18171
18171
|
});
|
|
18172
18172
|
}, []);
|
|
18173
18173
|
|
|
18174
|
+
// 刷新树数据
|
|
18175
|
+
const refreshTreeData = react.useCallback(async () => {
|
|
18176
|
+
try {
|
|
18177
|
+
const treeNodes = await fetchFolderData();
|
|
18178
|
+
|
|
18179
|
+
// 查找当前选中节点是否还在新数据中
|
|
18180
|
+
const currentKey = treeState.selectedKeys[0];
|
|
18181
|
+
let shouldUpdateContents = false;
|
|
18182
|
+
if (currentKey && treeNodes) {
|
|
18183
|
+
const foundNode = nodeUtils.findNode(treeNodes, currentKey);
|
|
18184
|
+
if (foundNode !== null && foundNode !== void 0 && foundNode[0]) {
|
|
18185
|
+
shouldUpdateContents = true;
|
|
18186
|
+
updateTreeState({
|
|
18187
|
+
contents: foundNode[0].contents || []
|
|
18188
|
+
});
|
|
18189
|
+
} else {
|
|
18190
|
+
// 如果当前选中节点不存在了,清除选中状态
|
|
18191
|
+
updateTreeState({
|
|
18192
|
+
selectedKeys: [],
|
|
18193
|
+
currentPath: '',
|
|
18194
|
+
contents: []
|
|
18195
|
+
});
|
|
18196
|
+
}
|
|
18197
|
+
}
|
|
18198
|
+
} catch (error) {
|
|
18199
|
+
handleError(error, 'REFRESH TREE DATA');
|
|
18200
|
+
return null;
|
|
18201
|
+
}
|
|
18202
|
+
}, [fetchFolderData, treeState.selectedKeys]);
|
|
18203
|
+
|
|
18174
18204
|
// 上传右侧文件或删除右侧文件 成功后的回调函数
|
|
18175
18205
|
const updateFileContents = react.useCallback(async () => {
|
|
18176
18206
|
// 找到当前选中的节点,更新当前节点的 contents
|
|
@@ -18235,7 +18265,10 @@ const useDirectoryTree = _ref => {
|
|
|
18235
18265
|
loading: treeState.loading,
|
|
18236
18266
|
originTreeData,
|
|
18237
18267
|
updateFileContents,
|
|
18238
|
-
removeFile
|
|
18268
|
+
removeFile,
|
|
18269
|
+
refreshTreeData,
|
|
18270
|
+
// 暴露刷新方法
|
|
18271
|
+
fetchFolderData: refreshTreeData // 也可以保留别名
|
|
18239
18272
|
};
|
|
18240
18273
|
};
|
|
18241
18274
|
|
|
@@ -18283,7 +18316,8 @@ const ResourcesView = _ref => {
|
|
|
18283
18316
|
withRootNode = true,
|
|
18284
18317
|
acceptFileTypes = "video/*,.mxf,application/mxf,video/mxf",
|
|
18285
18318
|
uploadTimeout = 60 * 60 * 1000,
|
|
18286
|
-
searchPlaceholder = "Search ..."
|
|
18319
|
+
searchPlaceholder = "Search ...",
|
|
18320
|
+
refreshSignal = 0 // 外部刷新信号,数值变化时触发刷新
|
|
18287
18321
|
} = _ref;
|
|
18288
18322
|
const {
|
|
18289
18323
|
message,
|
|
@@ -18310,7 +18344,8 @@ const ResourcesView = _ref => {
|
|
|
18310
18344
|
loading,
|
|
18311
18345
|
originTreeData,
|
|
18312
18346
|
updateFileContents,
|
|
18313
|
-
removeFile
|
|
18347
|
+
removeFile,
|
|
18348
|
+
refreshTreeData
|
|
18314
18349
|
} = useDirectoryTree({
|
|
18315
18350
|
getFolderData: mergedApiConfig.getFolderData,
|
|
18316
18351
|
createFolder: mergedApiConfig.createFolder,
|
|
@@ -18319,6 +18354,13 @@ const ResourcesView = _ref => {
|
|
|
18319
18354
|
batchOperations: mergedFeatures.batchOperations,
|
|
18320
18355
|
withRootNode
|
|
18321
18356
|
});
|
|
18357
|
+
|
|
18358
|
+
// 监听外部刷新信号变化
|
|
18359
|
+
react.useEffect(() => {
|
|
18360
|
+
if (refreshTreeData && refreshSignal > 0) {
|
|
18361
|
+
refreshTreeData();
|
|
18362
|
+
}
|
|
18363
|
+
}, [refreshSignal, refreshTreeData]);
|
|
18322
18364
|
const [showProgress, setShowProgress] = react.useState(false);
|
|
18323
18365
|
const [percent, setPercent] = react.useState(0);
|
|
18324
18366
|
const inputRef = react.useRef(null);
|