Skip to content

Commit 492ce98

Browse files
author
Zhenfei
authored
feat: resourceTree获取resourceList支持自定义过滤 (#98)
1 parent 0c8961f commit 492ce98

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

packages/plugin-view-manager-pane/src/components/resourceTree/index.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,21 @@ import { AddFile } from '../addFile';
1414
const { Popup } = Overlay;
1515
const { Item } = Menu;
1616

17+
function filterResourceList(resourceList: IPublicModelResource[] | undefined, handler?: Function) {
18+
if (typeof handler === 'function') {
19+
return handler(resourceList);
20+
}
21+
22+
return resourceList;
23+
}
24+
1725
export function ResourcePaneContent(props: IPluginOptions) {
1826
const { workspace } = props.pluginContext || {};
1927
const [resourceList, setResourceList] = useState<IPublicModelResource[] | undefined>(
20-
workspace?.resourceList
28+
filterResourceList(workspace?.resourceList, props?.options?.filterResourceList)
2129
);
2230
workspace?.onResourceListChange(() => {
23-
setResourceList(workspace.resourceList);
31+
setResourceList(filterResourceList(workspace?.resourceList, props?.options?.filterResourceList));
2432
});
2533
return (
2634
<ResourceListTree

packages/plugin-view-manager-pane/src/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ export interface IOptions {
3232

3333
handleClose?: (force?: boolean) => void;
3434

35+
filterResourceList?: () => {};
36+
3537
showIconText?: boolean;
3638

3739
skeletonConfig?: IPublicTypeSkeletonConfig;
@@ -135,6 +137,11 @@ ViewManagerPane.meta = {
135137
type: 'function',
136138
description: '',
137139
},
140+
{
141+
key: 'filterResourceList',
142+
type: 'function',
143+
description: '',
144+
},
138145
{
139146
key: 'showIconText',
140147
type: 'boolean',

0 commit comments

Comments
 (0)