From 4da21458676b8d58d08341dc68c62356d775573a Mon Sep 17 00:00:00 2001 From: ilia Date: Sat, 29 Oct 2022 15:44:46 +0300 Subject: [PATCH] add return and serialize draws --- index.js | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/index.js b/index.js index fc3c8b6..e37cce6 100644 --- a/index.js +++ b/index.js @@ -35,7 +35,6 @@ function createCircle(circleData) { var point2 = new dwv.math.Point2D(circleData.center.x, circleData.center.y+circleData.radius) app.setTool('Draw'); var styles = app.getToolboxController().getSelectedTool().style - app.undo() var draw = circleFactory.create( [point1, point2], styles, @@ -75,16 +74,23 @@ function createDraws(drawsData) { function postCircles() { - console.log(app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children[0].children) - circlesAttrs = app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().getChildren()[0].children.filter(e => e.attrs.name == 'circle-group').map( + console.log(app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children) + circlesAttrs = app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().getChildren().filter(e => e.attrs.name == 'circle-group').map( (e) => { - console.log(e.children) - return e.children.filter((e) => e.attrs.name == 'shape').map(e => e.attrs) + console.log(e, "eeeeee") + return e.children.filter( + (ee) => { + console.log(e) + return ee.attrs.name == 'shape' + } + ).map(e => e.attrs) } ) - console.log(circlesAttrs) + circlesAttrs = circlesAttrs.concat(app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children[0].children.filter(e => e.attrs.name == 'circle-group').map((e) => { + return e.children.filter((e) => e.attrs.name == 'shape').map(e => e.attrs) + })) + //circleAttrs.concat(app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children[0]) return circlesAttrs.flat().map((e) => { - console.log(e) return { type: 'Circle', center: { @@ -97,6 +103,7 @@ function postCircles() { } function postRois() { + console.log(app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children) return app.getActiveLayerGroup().getActiveDrawLayer().getKonvaLayer().children.filter( e => e.attrs.name == 'roi-group' ).map(e => { @@ -143,7 +150,7 @@ function receiveMessage(event) createDraws(data) } else if (data.type == 'getDraws') { - window.postMessage({'type': 'returnDraws', data: postDraws()}) + parent.postMessage({'type': 'returnDraws', data: postDraws()}, "*") } } window.addEventListener("message", receiveMessage, false); @@ -165,10 +172,20 @@ app.loadURLs(['https://raw.githubusercontent.com/ivmartel/dwv/master/tests/data/ app.addEventListener('load', () => { app.setTool('Draw') - app.setDrawShape('Circle') - setTimeout(() => {app.setDrawShape('Roi'); console.log('circle')}, 3000) - setTimeout(() => {console.log(postDraws())}, 6000) - + createCircle({ + type: 'Circle', + center: { + x: 10, y: 100 + }, + radius: 100 + }) + app.setDrawShape('Roi') + setTimeout(() => { + app.setDrawShape('Circle') + }, 3000) + setTimeout(() => { + console.log(postRois()) + }, 2000) }) app.addEventListener('slicechange', function () {