Draw2D.js:如何从' Horizo​​ntalLayout'中获取JSON带有子标签以及如何恢复' Horizo​​ntalLayout'带有JSON的标签

时间:2017-12-27 09:21:18

标签: javascript jquery json draw2d-js

我是Draw2D.js的新手,我创建了' Horizo​​ntalLayout'有三个孩子的标签。并试图获得JSON的“Horizo​​ntalLayout”#39;有三个孩子的标签。

我的代码如下:

HTML:

<div id="gfx_holder" style="width: 3000px; height: 3000px; cursor: default"></div>

<pre id="json"
     style="overflow:auto; position:absolute; top:10px; right:10px; width:350; height:500; background:white; border:1px solid gray">
</pre>

JS:

var canvas = new draw2d.Canvas("gfx_holder");
var label1 = new draw2d.shape.basic.Label({text: "TEST123"});
var label2 = new draw2d.shape.basic.Label({text: "Label 2"});
var label3 = new draw2d.shape.basic.Label({text: "Label 3"});

var container1 = new draw2d.shape.layout.HorizontalLayout();
container1.add(label1);
container1.add(label2);
container1.add(label3);
container1.setGap(10);
container1.setStroke(2);

canvas.add(container1, 50, 10);

canvas.getCommandStack().addEventListener(function (e) {
    if (e.isPostChangeEvent()) {
        displayJSON(canvas);
    }
});

function displayJSON(canvas) {
       var writer = new draw2d.io.json.Writer();

       writer.marshal(canvas, function (json) {
       $("#json").text(JSON.stringify(json, null, 2));
   });
}

输出后生成的上述代码:

enter image description here

我通过调用displayJSON(canvas)方法获取JSON。但我只是让父母(HorizontalLayout)形状没有获得儿童标签。

我通过调用displayJSON(canvas)方法来了解JSON:

[
  {
    "type": "draw2d.shape.layout.HorizontalLayout",
    "id": "9c009d71-a2af-6c86-51c4-e9011c9a446d",
    "x": 198,
    "y": 122,
    "width": 184.390625,
    "height": 28,
    "alpha": 1,
    "angle": 0,
    "userData": {},
    "cssClass": "draw2d_shape_layout_HorizontalLayout",
    "ports": [],
    "bgColor": "none",
    "color": "#1B1B1B",
    "stroke": 2,
    "radius": 0,
    "dasharray": null,
    "gap": 10
  }
]

我希望通过JSON和子标签获得整个数字HorizontalLayout。 那么,我怎样才能得到它?之后如何从JSON显示Draw2d图?

0 个答案:

没有答案