diff --git a/platform/example/src/component/AddStep.tsx b/platform/example/src/component/AddStep.tsx index 1b5d302..265af60 100644 --- a/platform/example/src/component/AddStep.tsx +++ b/platform/example/src/component/AddStep.tsx @@ -1,15 +1,17 @@ import {Dropdown, MenuProps, Space} from "antd"; import style from "@/component/layout/css/header.module.less"; import {DownOutlined} from "@ant-design/icons"; -import {menus, stepList, stepMap} from "@/component/step"; +import {stepMap} from "@/component/step"; import drapStore from "@/mobx/DrapStore"; +import Menus from "@/component/step/menus"; -console.log(stepList) -const items: MenuProps['items'] = [...menus]; +// console.log(stepList) +const items: MenuProps['items'] = [...Menus]; const onClick: MenuProps['onClick'] = ({ key }) => { // 给容器添加组件 // message.info(`Click on item ${key}`); + console.log(stepMap) const component = stepMap[key]; console.log(key,component) drapStore.addChildren(null,component.defaultDataFunc()) diff --git a/platform/example/src/component/CardItem.tsx b/platform/example/src/component/CardItem.tsx index 62377e9..a066907 100644 --- a/platform/example/src/component/CardItem.tsx +++ b/platform/example/src/component/CardItem.tsx @@ -7,6 +7,7 @@ import {stepMap} from "@/component/step"; import lodash from "lodash" // import AddStep from "./AddStep"; import {DownOutlined} from "@ant-design/icons"; +import AddStep from "@/component/AddStep"; let id = 0 export const getDropStoreId = (type?:string) =>{ const DropStore = { @@ -174,19 +175,20 @@ const CardItem = memo((props:CardItemProps) => { }), }),[data]) const step = stepMap[data.mold] - const StepComponent = step&&step.Menu.component; + const StepComponent = step&&step.component; const updateData = (data:string) =>{ props.data.data.content = data drapStore.updateState() } - // const addStepDom = ()=>{ - // return - // 新增步骤 - // - // - // } + const addStepDom = ()=>{ + return + 新增步骤 + + + + } return (
drag(drop(node))} > @@ -206,7 +208,7 @@ const CardItem = memo((props:CardItemProps) => { {props.children} {props.data.type===StepDragEnum.CONTAINER&&(
childrenDrop(node)} className={style.woodExampleChildren}> 拖动到此处或者 - {/*{addStepDom()}*/} + {addStepDom()}
)} diff --git a/platform/example/src/component/step/http/Edit.tsx b/platform/example/src/component/step/http/Edit.tsx index 44a661b..a9ee715 100644 --- a/platform/example/src/component/step/http/Edit.tsx +++ b/platform/example/src/component/step/http/Edit.tsx @@ -34,6 +34,7 @@ class HttpEditComponent extends Component { const content = Object.assign({ url:urlDefaultData },props.data) + console.log(1) this.state = { data:content } diff --git a/platform/example/src/component/step/http/index.tsx b/platform/example/src/component/step/http/index.tsx index 90aee93..a2185b4 100644 --- a/platform/example/src/component/step/http/index.tsx +++ b/platform/example/src/component/step/http/index.tsx @@ -2,7 +2,7 @@ import {Content, StepDragEnum, StepDragType} from "@/component/type"; import {getDropStoreId} from "@/component/CardItem"; import HttpEditComponent from "./Edit" import {StepComponentExport} from "@/component/step"; -const name = "HttpStepComponent" +const name = "HTTP" const tagStore = getDropStoreId("http") interface HttpInterface extends Content{ @@ -32,6 +32,7 @@ const defaultDataFunc = () =>{ originalIndex:store.id, children:[], parent:null, + destruction:()=>{}, data:data } return defaultData @@ -40,16 +41,11 @@ const defaultDataFunc = () =>{ -const headerStepOption = { -} const exportData:StepComponentExport = { - Menu:{ - label:"HTTP", - key:name, - options:headerStepOption, - component:HttpEditComponent - }, + + key:"HTTP", + component:HttpEditComponent, defaultDataFunc } export default exportData diff --git a/platform/example/src/component/step/http/menu.ts b/platform/example/src/component/step/http/menu.ts new file mode 100644 index 0000000..80a6cd4 --- /dev/null +++ b/platform/example/src/component/step/http/menu.ts @@ -0,0 +1,11 @@ +import {MenuItem} from "@/component/step"; +const name = "HTTP" +const headerStepOption = { + +} +const menu:MenuItem = { + label:"HTTP", + key:name, + options:headerStepOption +} +export default menu \ No newline at end of file diff --git a/platform/example/src/component/step/index.ts b/platform/example/src/component/step/index.ts index c8f405b..ab62b23 100644 --- a/platform/example/src/component/step/index.ts +++ b/platform/example/src/component/step/index.ts @@ -1,20 +1,19 @@ -import HttpStepComponent from "./http" -import LoopEditComponent from "./loop" +import Http from "./http" +import Loop from "./loop" import {ComponentClass} from "react" import {Content, StepDragType} from "@/component/type"; import {stepProps} from "@/component/step/type"; -interface Menu { +export interface MenuItem { label: string key: string options: {} - component: ComponentClass } export interface StepComponentExport { - Menu: Menu - + key: string + component: ComponentClass defaultDataFunc: () => StepDragType } @@ -23,15 +22,16 @@ interface stepMapType { } export const stepList = [ - HttpStepComponent, - LoopEditComponent + Http, + Loop ] -export const menus:Menu[] = stepList.map(step=>step.Menu) +// export const menus:Menu[] = stepList.map(step=>step.Menu) export const stepMap: stepMapType = {} stepList.forEach(step => { - stepMap[step.Menu.key] = step + stepMap[step.key] = step }) +console.log(stepMap) export default { stepList, stepMap diff --git a/platform/example/src/component/step/loop/index.tsx b/platform/example/src/component/step/loop/index.tsx index 3800f1b..26e9953 100644 --- a/platform/example/src/component/step/loop/index.tsx +++ b/platform/example/src/component/step/loop/index.tsx @@ -5,7 +5,7 @@ import {StepComponentExport} from "@/component/step"; import HttpEditComponent from "@/component/step/http/Edit"; import LoopEditComponent from "@/component/step/loop/Edit"; const tagStore = getDropStoreId("loop") -const name = "LoopStepComponent" +const name = "Loop" const LoopData:LoopInterface = { content: "", id:0, @@ -36,16 +36,10 @@ const defaultDataFunc = () =>{ } return defaultData } -const LoopStepOption = { -} const exportData:StepComponentExport = { - Menu:{ - label:"LOOP", - key:name, - options:LoopStepOption, - component:LoopEditComponent - }, + key:"LOOP", + component:LoopEditComponent, defaultDataFunc } export default exportData diff --git a/platform/example/src/component/step/loop/menu.ts b/platform/example/src/component/step/loop/menu.ts new file mode 100644 index 0000000..a2cb2a5 --- /dev/null +++ b/platform/example/src/component/step/loop/menu.ts @@ -0,0 +1,9 @@ +const name = "LOOP" +const LoopStepOption = {} +const menu = { + label: "LOOP", + key: name, + options: LoopStepOption + +} +export default menu \ No newline at end of file diff --git a/platform/example/src/component/step/menus.ts b/platform/example/src/component/step/menus.ts new file mode 100644 index 0000000..fa5a33f --- /dev/null +++ b/platform/example/src/component/step/menus.ts @@ -0,0 +1,9 @@ +import loopMenu from "@/component/step/loop/menu"; +import httpMenu from "@/component/step/http/menu"; + +const Menus = [ + loopMenu, + httpMenu +] + +export default Menus \ No newline at end of file diff --git a/platform/example/src/mobx/DrapStore.ts b/platform/example/src/mobx/DrapStore.ts index 43482e2..39b072c 100644 --- a/platform/example/src/mobx/DrapStore.ts +++ b/platform/example/src/mobx/DrapStore.ts @@ -65,7 +65,7 @@ class DrapStore { } @action addChildren(drop: StepDragType|null, dropNew: StepDragType) { - console.log(drop) + console.log(drop,dropNew) if(drop===null){ this.state.push(dropNew) this.updateState()