2021-12-05 00:39:20 +01:00
|
|
|
/* eslint-disable no-alert */
|
2021-12-05 17:33:09 +01:00
|
|
|
import $ from 'jquery';
|
2022-10-31 06:17:01 +01:00
|
|
|
import { Workspace, Line, Group, Elipse } from '../../src';
|
2021-12-05 00:39:20 +01:00
|
|
|
|
|
|
|
global.$ = $;
|
|
|
|
|
|
|
|
const basicTest = () => {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('150px', '150px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const group = new Group();
|
|
|
|
group.setSize(50, 50);
|
|
|
|
group.setPosition(25, 50);
|
|
|
|
group.setCoordSize(200, 200);
|
|
|
|
group.setCoordOrigin(0, 0);
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipse = new Elipse();
|
|
|
|
elipse.setSize(200, 200);
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
group.append(elipse);
|
|
|
|
|
|
|
|
let line = new Line();
|
|
|
|
line.setFrom(0, 0);
|
|
|
|
line.setTo(200, 200);
|
|
|
|
line.setStroke('blue');
|
|
|
|
group.append(line);
|
|
|
|
|
|
|
|
line = new Line();
|
|
|
|
line.setFrom(200, 0);
|
|
|
|
line.setTo(0, 200);
|
|
|
|
line.setStroke('blue');
|
|
|
|
group.append(line);
|
|
|
|
|
|
|
|
workspace.addItAsChildTo($('#groupBasicContainer'));
|
|
|
|
|
|
|
|
let xDir = 1;
|
|
|
|
let yDir = 1;
|
|
|
|
const executer = function () {
|
|
|
|
const y = group.getPosition().y + yDir;
|
|
|
|
const x = group.getPosition().x + xDir;
|
|
|
|
|
|
|
|
if (x < 0) {
|
|
|
|
xDir = 1;
|
|
|
|
} else if (x > 50) {
|
|
|
|
xDir = -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (y < 0) {
|
|
|
|
yDir = 1;
|
|
|
|
} else if (y > 50) {
|
|
|
|
yDir = -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Logger.logMsg("Moving group x,y:"+ x + "," + y);
|
|
|
|
group.setPosition(x, y);
|
|
|
|
};
|
2022-07-13 03:58:11 +02:00
|
|
|
// executer.periodical(100);
|
2021-12-05 00:39:20 +01:00
|
|
|
};
|
|
|
|
basicTest();
|
|
|
|
|
|
|
|
const eventTest = () => {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('150px', '150px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const groupAttributes = {
|
2022-07-13 03:58:11 +02:00
|
|
|
width: 50,
|
|
|
|
height: 50,
|
|
|
|
x: 25,
|
|
|
|
y: 50,
|
|
|
|
coordSize: '200 200',
|
|
|
|
coordOrigin: '0 0',
|
2021-12-05 00:39:20 +01:00
|
|
|
};
|
|
|
|
const group = new Group(groupAttributes);
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipseLeft = new Elipse();
|
|
|
|
elipseLeft.setSize(200, 200);
|
|
|
|
elipseLeft.setPosition(200, 0);
|
|
|
|
group.append(elipseLeft);
|
|
|
|
|
|
|
|
const elipseRight = new Elipse();
|
|
|
|
elipseRight.setSize(200, 200);
|
|
|
|
elipseRight.setPosition(0, 0);
|
|
|
|
group.append(elipseRight);
|
|
|
|
|
|
|
|
const listener = function listener() {
|
|
|
|
alert(`Click event on:${this.getType()}`);
|
|
|
|
};
|
|
|
|
|
|
|
|
group.addEvent('click', listener);
|
|
|
|
elipseLeft.addEvent('click', listener);
|
|
|
|
elipseRight.addEvent('click', listener);
|
|
|
|
|
|
|
|
workspace.addItAsChildTo($('#groupEventsContainer'));
|
|
|
|
};
|
|
|
|
eventTest();
|
|
|
|
|
|
|
|
const eventTest2 = () => {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('150px', '150px');
|
|
|
|
workspace.setCoordSize(200, 200);
|
|
|
|
|
|
|
|
const groupOuter = new Group();
|
|
|
|
groupOuter.setSize(50, 50);
|
|
|
|
groupOuter.setPosition(25, 25);
|
|
|
|
groupOuter.setCoordSize(100, 100);
|
|
|
|
groupOuter.setCoordOrigin(0, 0);
|
|
|
|
workspace.append(groupOuter);
|
|
|
|
|
|
|
|
const elipseOuter = new Elipse();
|
|
|
|
elipseOuter.setSize(200, 200);
|
|
|
|
elipseOuter.setPosition(100, 100);
|
|
|
|
elipseOuter.setFill('red');
|
|
|
|
groupOuter.append(elipseOuter);
|
|
|
|
|
|
|
|
let line = new Line();
|
|
|
|
line.setFrom(0, 0);
|
|
|
|
line.setTo(200, 200);
|
|
|
|
line.setStroke('red');
|
|
|
|
groupOuter.append(line);
|
|
|
|
|
|
|
|
line = new Line();
|
|
|
|
line.setFrom(200, 0);
|
|
|
|
line.setTo(0, 200);
|
|
|
|
line.setStroke('red');
|
|
|
|
groupOuter.append(line);
|
|
|
|
|
|
|
|
const groupInner = new Group();
|
|
|
|
groupInner.setSize(50, 50);
|
|
|
|
groupInner.setPosition(25, 25);
|
|
|
|
groupInner.setCoordSize(100, 100);
|
|
|
|
groupInner.setCoordOrigin(0, 0);
|
|
|
|
groupOuter.append(groupInner);
|
|
|
|
|
|
|
|
const elipse = new Elipse();
|
|
|
|
elipse.setSize(200, 200);
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
groupInner.append(elipse);
|
|
|
|
|
|
|
|
line = new Line();
|
|
|
|
line.setFrom(0, 0);
|
|
|
|
line.setTo(200, 200);
|
|
|
|
line.setStroke('blue');
|
|
|
|
groupInner.append(line);
|
|
|
|
|
|
|
|
line = new Line();
|
|
|
|
line.setFrom(200, 0);
|
|
|
|
line.setTo(0, 200);
|
|
|
|
line.setStroke('blue');
|
|
|
|
groupInner.append(line);
|
|
|
|
|
|
|
|
workspace.addItAsChildTo($('#groupNestedContainer'));
|
|
|
|
};
|
|
|
|
eventTest2();
|
|
|
|
|
|
|
|
const workspaceCoordSizeSample = () => {
|
|
|
|
function groupSampleBuilder(width, height) {
|
|
|
|
// Group with CoordSize(50,50);
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('100px', '100px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const elipseOuter = new Elipse();
|
|
|
|
elipseOuter.setPosition(50, 50);
|
|
|
|
elipseOuter.setSize(50, 50);
|
|
|
|
workspace.append(elipseOuter);
|
|
|
|
|
|
|
|
const group = new Group();
|
|
|
|
group.setSize(50, 50);
|
|
|
|
group.setCoordSize(width, height);
|
|
|
|
group.setPosition(25, 25);
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipseInner = new Elipse();
|
|
|
|
elipseInner.setPosition(50, 50);
|
|
|
|
elipseInner.setSize(50, 50);
|
|
|
|
elipseInner.setFill('red');
|
|
|
|
group.append(elipseInner);
|
|
|
|
|
|
|
|
return workspace;
|
|
|
|
}
|
|
|
|
|
|
|
|
const sample100x100 = groupSampleBuilder(100, 100);
|
|
|
|
sample100x100.addItAsChildTo($('#coordsizeExample100x100'));
|
|
|
|
|
|
|
|
const sample100x200 = groupSampleBuilder(100, 200);
|
|
|
|
sample100x200.addItAsChildTo($('#coordsizeExample100x200'));
|
|
|
|
|
|
|
|
const sample200x100 = groupSampleBuilder(200, 100);
|
|
|
|
sample200x100.addItAsChildTo($('#coordsizeExample200x100'));
|
|
|
|
};
|
|
|
|
workspaceCoordSizeSample();
|
|
|
|
|
|
|
|
const workspaceCoordOriginSample = () => {
|
|
|
|
function groupSampleBuilder(x, y) {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('100px', '100px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const elipseOuter = new Elipse();
|
|
|
|
elipseOuter.setPosition(50, 50);
|
|
|
|
elipseOuter.setSize(50, 50);
|
|
|
|
workspace.append(elipseOuter);
|
|
|
|
|
|
|
|
const group = new Group();
|
|
|
|
group.setSize(50, 50);
|
|
|
|
group.setCoordSize(100, 100);
|
|
|
|
group.setCoordOrigin(x, y);
|
|
|
|
group.setPosition(25, 25);
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipseInner = new Elipse();
|
|
|
|
elipseInner.setPosition(50, 50);
|
|
|
|
elipseInner.setSize(50, 50);
|
|
|
|
elipseInner.setFill('red');
|
|
|
|
group.append(elipseInner);
|
|
|
|
|
|
|
|
return workspace;
|
|
|
|
}
|
|
|
|
|
|
|
|
const sample0x0 = groupSampleBuilder(0, 0);
|
|
|
|
sample0x0.addItAsChildTo($('#coordOriginExample0x0'));
|
|
|
|
|
|
|
|
const sample100x200 = groupSampleBuilder(0, 50);
|
|
|
|
sample100x200.addItAsChildTo($('#coordOriginExample0x50'));
|
|
|
|
|
|
|
|
const sample200x100 = groupSampleBuilder(50, 0);
|
|
|
|
sample200x100.addItAsChildTo($('#coordOriginExample50x0'));
|
|
|
|
};
|
|
|
|
workspaceCoordOriginSample();
|
|
|
|
|
|
|
|
const groupVisibilitySample = () => {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('100px', '100px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const group = new Group();
|
|
|
|
group.setSize(100, 100);
|
|
|
|
group.setPosition(0, 0);
|
|
|
|
group.setCoordSize(100, 100);
|
|
|
|
group.addEvent('mouseover', () => {
|
|
|
|
alert('Mouse Over Group');
|
|
|
|
});
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipseOuter = new Elipse();
|
|
|
|
elipseOuter.setPosition(50, 50);
|
|
|
|
elipseOuter.setSize(50, 50);
|
|
|
|
group.addEvent('mouseover', () => {
|
|
|
|
alert('Mouse Over elipseOuter');
|
|
|
|
});
|
|
|
|
group.append(elipseOuter);
|
|
|
|
|
|
|
|
const elipseInner = new Elipse();
|
|
|
|
elipseInner.setPosition(50, 50);
|
|
|
|
elipseInner.setSize(25, 25);
|
|
|
|
elipseInner.setFill('red');
|
|
|
|
group.append(elipseInner);
|
|
|
|
|
|
|
|
let isVisible = true;
|
|
|
|
const executer = function () {
|
|
|
|
isVisible = !isVisible;
|
|
|
|
group.setVisibility(isVisible);
|
|
|
|
};
|
2022-07-13 03:58:11 +02:00
|
|
|
// executer.periodical(100);
|
2021-12-05 00:39:20 +01:00
|
|
|
workspace.addItAsChildTo($('#visibilityExample'));
|
|
|
|
};
|
|
|
|
groupVisibilitySample();
|
|
|
|
|
|
|
|
const groupVisibilitySample2 = () => {
|
|
|
|
const workspace = new Workspace();
|
|
|
|
workspace.setSize('100px', '100px');
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
|
|
|
|
const group = new Group();
|
|
|
|
group.setSize(100, 100);
|
|
|
|
group.setPosition(0, 0);
|
|
|
|
group.setCoordSize(100, 100);
|
|
|
|
workspace.append(group);
|
|
|
|
|
|
|
|
const elipseOuter = new Elipse();
|
|
|
|
elipseOuter.setPosition(50, 50);
|
|
|
|
elipseOuter.setSize(50, 50);
|
|
|
|
group.append(elipseOuter);
|
|
|
|
|
|
|
|
const elipseInner = new Elipse();
|
|
|
|
elipseInner.setPosition(50, 50);
|
|
|
|
elipseInner.setSize(25, 25);
|
|
|
|
elipseInner.setFill('red');
|
|
|
|
group.append(elipseInner);
|
|
|
|
|
|
|
|
let width = 10;
|
|
|
|
let height = 10;
|
|
|
|
const executer = function () {
|
|
|
|
width = (width + 10) % 100;
|
|
|
|
height = (height + 10) % 100;
|
|
|
|
group.setCoordSize(width, height);
|
|
|
|
};
|
2022-07-13 03:58:11 +02:00
|
|
|
// executer.periodical(100);
|
2021-12-05 00:39:20 +01:00
|
|
|
workspace.addItAsChildTo($('#scaleStrokeExample'));
|
|
|
|
};
|
|
|
|
groupVisibilitySample2();
|