Add object list component
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { Component, ReactNode } from "react";
|
||||
import { DetailsList } from "@Component/DetailsList/DetailsList";
|
||||
|
||||
class ObjectList extends Component {
|
||||
public render(): ReactNode {
|
||||
return <DetailsList
|
||||
items={[
|
||||
{key: "1", name: "Object 01", behaviors: [{name: "B1"}, {name: "B2"}], label: [{name: "L1"}, {name: "L2"}]},
|
||||
{key: "2", name: "New Object", behaviors: [{name: "M1"}], label: [{name: "L1"}]},
|
||||
{key: "3", name: "Range 01", behaviors: [], label: []},
|
||||
{key: "4", name: "Cube", behaviors: [{name: "AA1"}], label: []},
|
||||
{key: "5", name: "Custom Object", behaviors: [{name: "B1"}], label: [{name: "Q1"}, {name: "L2"}]}
|
||||
]}
|
||||
columns={[
|
||||
{
|
||||
key: "name",
|
||||
render: (name) => <span>{name}</span>
|
||||
}, {
|
||||
key: "behaviors",
|
||||
render: (behaviors) => <span>{(behaviors as Record<"name", string>[]).map(r => r.name).join(", ")}</span>
|
||||
}, {
|
||||
key: "label",
|
||||
render: (label) => <span>{(label as Record<"name", string>[]).map(r => r.name).join(", ")}</span>
|
||||
}
|
||||
]}
|
||||
/>
|
||||
}
|
||||
}
|
||||
|
||||
export { ObjectList };
|
||||
@@ -2,6 +2,7 @@ import { ReactNode, Component, FunctionComponent } from "react";
|
||||
import { Theme } from "@Component/Theme/Theme";
|
||||
import { Localization } from "@Component/Localization/Localization";
|
||||
import { RenderView } from "./RenderView/RenderView";
|
||||
import { ObjectList } from "./ObjectList/ObjectList";
|
||||
|
||||
interface IPanelInfo {
|
||||
nameKey: string;
|
||||
@@ -15,6 +16,7 @@ interface IPanelInfo {
|
||||
|
||||
type PanelId = ""
|
||||
| "RenderView" // 主渲染器
|
||||
| "ObjectList" // 对象列表
|
||||
;
|
||||
|
||||
const PanelInfoMap = new Map<PanelId, IPanelInfo>();
|
||||
@@ -22,6 +24,10 @@ PanelInfoMap.set("RenderView", {
|
||||
nameKey: "Panel.Title.Render.View", introKay: "Panel.Info.Render.View",
|
||||
class: RenderView, hidePadding: true, hideScrollBar: true, isDeepDark: true
|
||||
});
|
||||
PanelInfoMap.set("ObjectList", {
|
||||
nameKey: "Panel.Title.Object.List.View", introKay: "Panel.Info.Object.List.View",
|
||||
class: ObjectList, hidePadding: true
|
||||
})
|
||||
|
||||
function getPanelById(panelId: PanelId): ReactNode {
|
||||
switch (panelId) {
|
||||
|
||||
Reference in New Issue
Block a user