123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- import { nanoid } from "nanoid";
- import { CompArcObj } from "../../components/CompUI/basicUI/Arc";
- import { CompCardObj } from "../../components/CompUI/basicUI/Container";
- import { CompCurveObj } from "../../components/CompUI/basicUI/Curve";
- import { CompEllipseObj } from "../../components/CompUI/basicUI/Ellipse";
- import { CompGroupObj } from "../../components/CompUI/basicUI/Group";
- import { CompImageObj } from "../../components/CompUI/basicUI/Image2";
- import { CompLineObj } from "../../components/CompUI/basicUI/Line";
- import { CompMapObj } from "../../components/CompUI/basicUI/Map";
- import { CompPageObj } from "../../components/CompUI/basicUI/Page";
- import { CompPolygonObj } from "../../components/CompUI/basicUI/Polygon";
- import { CompPolygonNormalObj } from "../../components/CompUI/basicUI/PolygonNormal";
- import { CompRectObj } from "../../components/CompUI/basicUI/Rectage";
- import { CompTextObj } from "../../components/CompUI/basicUI/Text";
- import { CompTriangleObj } from "../../components/CompUI/basicUI/Triangle";
- import { CompVideoObj } from "../../components/CompUI/basicUI/Video";
- import { CompWeb3DObj } from "../../components/CompUI/basicUI/Web3D";
- import { HistoryController } from "../../controllers/ReactCtrl/history";
- import { ICompKeys } from "../../typings";
- import { DesignComp, DesignCompObj } from "./DesignComp";
- import { CompCardListObj } from "../../components/CompUI/customUI/Cards/CardList";
- import { CompCover2Obj, createCompCover2 } from "../../components/CompUI/customUI/Covers/Cover2";
- const history = new HistoryController();
- export function createObj( data:any, init = true) :DesignComp {
- const compKey = data.compKey as ICompKeys
- let obj :any = null;
- switch(compKey) {
- case "Container":
- obj = new CompCardObj();
- break;
- case "Image":
- obj = new CompImageObj();
- break;
- case "Text":
- obj = new CompTextObj();
- break;
- case "Group":
- obj = new CompGroupObj();
- break;
- case "Page":
- obj = new CompPageObj();
- break;
- case "Video":
- obj = new CompVideoObj();
- break;
- case "Web3D":
- obj = new CompWeb3DObj();
- break;
- case "Rectage":
- obj = new CompRectObj();
- break;
- case "Line":
- obj = new CompLineObj();
- break;
- case "Arc":
- obj = new CompArcObj();
- break;
- case "Ellipse":
- obj = new CompEllipseObj();
- break;
- case "Triangle":
- obj = new CompTriangleObj();
- break;
- case "Polygon":
- obj = new CompPolygonObj();
- break;
- case "PolygonNormal":
- obj = new CompPolygonNormalObj();
- break;
- case "Curve":
- obj = new CompCurveObj();
- break;
- case "Map":
- obj = new CompMapObj();
- break;
- case "CardList":
- obj = new CompCardListObj();
- break;
- case "Cover2":
- obj = new CompCover2Obj();
- if (!init) {
- obj = createCompCover2();
- }
- break;
- }
- if (obj) {
- obj.compKey = compKey;
- obj.value.setHistory( history );
- obj.layout.setHistory(history);
- obj.layout.background.setHistory(history);
- obj.layout.border.setHistory(history);
- obj.children.setHistory(history);
- if (init) obj.fromJson(data);
- if (compKey == "CardList") {
- obj.children.list = data.children.list;
- }
- return obj;
- }
- //兼容老数据
- if (compKey == "Cover") {
- console.log( data );
- debugger;
- }
- return data;
- }
- export function cloneObj(o: DesignComp ) {
- const data = o.toJson();
- data.id = nanoid();
- const obj = createObj({compKey: o.compKey}, false)
- obj.fromJson(data);
-
- return obj;
- }
- export {history};
|