mirror of
https://bitbucket.org/wisemapping/wisemapping-frontend.git
synced 2024-11-26 08:04:56 +01:00
Chage Rect to Class format
This commit is contained in:
parent
63f8ad7555
commit
4a93d43e83
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
334
packages/web2d/src/components/ElementClass.js
Normal file
334
packages/web2d/src/components/ElementClass.js
Normal file
@ -0,0 +1,334 @@
|
|||||||
|
/*
|
||||||
|
* Copyright [2021] [wisemapping]
|
||||||
|
*
|
||||||
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
* "powered by wisemapping" text requirement on every single page;
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the license at
|
||||||
|
*
|
||||||
|
* http://www.wisemapping.org/license
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
import CoreJS from '@wisemapping/core-js';
|
||||||
|
|
||||||
|
const core = CoreJS();
|
||||||
|
|
||||||
|
class ElementClass {
|
||||||
|
constructor(peer, attributes) {
|
||||||
|
this.peer = peer;
|
||||||
|
if (peer == null) {
|
||||||
|
throw new Error('Element peer can not be null');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (core.Function.$defined(attributes)) {
|
||||||
|
this._initialize(attributes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_initialize(attributes) {
|
||||||
|
const batchExecute = {};
|
||||||
|
|
||||||
|
// Collect arguments ...
|
||||||
|
for (const key in attributes) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(attributes, key)) {
|
||||||
|
const funcName = this._attributeNameToFuncName(key, 'set');
|
||||||
|
let funcArgs = batchExecute[funcName];
|
||||||
|
if (!core.Function.$defined(funcArgs)) {
|
||||||
|
funcArgs = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const signature = Element._propertyNameToSignature[key];
|
||||||
|
const argPositions = signature[1];
|
||||||
|
|
||||||
|
if (argPositions !== Element._SIGNATURE_MULTIPLE_ARGUMENTS) {
|
||||||
|
funcArgs[argPositions] = attributes[key];
|
||||||
|
} else {
|
||||||
|
funcArgs = attributes[key].split(' ');
|
||||||
|
}
|
||||||
|
batchExecute[funcName] = funcArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call functions ...
|
||||||
|
// eslint-disable-next-line guard-for-in
|
||||||
|
for (const key in batchExecute) {
|
||||||
|
const func = this[key];
|
||||||
|
if (!core.Function.$defined(func)) {
|
||||||
|
throw new Error(`Could not find function: ${key}`);
|
||||||
|
}
|
||||||
|
func.apply(this, batchExecute[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setSize(width, height) {
|
||||||
|
this.peer.setSize(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
setPosition(cx, cy) {
|
||||||
|
this.peer.setPosition(cx, cy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows the registration of event listeners on the event target.
|
||||||
|
* type
|
||||||
|
* A string representing the event type to listen for.
|
||||||
|
* listener
|
||||||
|
* The object that receives a notification when an event of the
|
||||||
|
* specified type occurs. This must be an object implementing the
|
||||||
|
* EventListener interface, or simply a function in JavaScript.
|
||||||
|
*
|
||||||
|
* The following events types are supported:
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
addEvent(type, listener) {
|
||||||
|
this.peer.addEvent(type, listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
trigger(type, event) {
|
||||||
|
this.peer.trigger(type, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
cloneEvents(from) {
|
||||||
|
this.peer.cloneEvents(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Allows the removal of event listeners from the event target.
|
||||||
|
*
|
||||||
|
* Parameters:
|
||||||
|
* type
|
||||||
|
* A string representing the event type being registered.
|
||||||
|
* listener
|
||||||
|
* The listener parameter takes an interface implemented by
|
||||||
|
* the user which contains the methods to be called when the event occurs.
|
||||||
|
* This interace will be invoked passing an event as argument and
|
||||||
|
* the 'this' referece in the function will be the element.
|
||||||
|
*/
|
||||||
|
removeEvent(type, listener) {
|
||||||
|
this.peer.removeEvent(type, listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* /*
|
||||||
|
* Returns element type name.
|
||||||
|
*/
|
||||||
|
// eslint-disable-next-line class-methods-use-this
|
||||||
|
getType() {
|
||||||
|
throw new Error(
|
||||||
|
'Not implemeneted yet. This method must be implemented by all the inherited objects.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Todo: Doc
|
||||||
|
*/
|
||||||
|
getFill() {
|
||||||
|
return this.peer.getFill();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to define the fill element color and element opacity.
|
||||||
|
* color: Fill color
|
||||||
|
* opacity: Opacity of the fill. It must be less than 1.
|
||||||
|
*/
|
||||||
|
setFill(color, opacity) {
|
||||||
|
this.peer.setFill(color, opacity);
|
||||||
|
}
|
||||||
|
|
||||||
|
getPosition() {
|
||||||
|
return this.peer.getPosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
getNativePosition() {
|
||||||
|
return this.peer.getNativePosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defines the element stroke properties.
|
||||||
|
* width: stroke width
|
||||||
|
* style: "solid|dot|dash|dashdot|longdash".
|
||||||
|
* color: stroke color
|
||||||
|
* opacity: stroke visibility
|
||||||
|
*/
|
||||||
|
setStroke(width, style, color, opacity) {
|
||||||
|
if (
|
||||||
|
style != null
|
||||||
|
&& style !== undefined
|
||||||
|
&& style !== 'dash'
|
||||||
|
&& style !== 'dot'
|
||||||
|
&& style !== 'solid'
|
||||||
|
&& style !== 'longdash'
|
||||||
|
&& style !== 'dashdot'
|
||||||
|
) {
|
||||||
|
throw new Error(`Unsupported stroke style: '${style}'`);
|
||||||
|
}
|
||||||
|
this.peer.setStroke(width, style, color, opacity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line class-methods-use-this
|
||||||
|
_attributeNameToFuncName(attributeKey, prefix) {
|
||||||
|
const signature = Element._propertyNameToSignature[attributeKey];
|
||||||
|
if (!core.Function.$defined(signature)) {
|
||||||
|
throw new Error(`Unsupported attribute: ${attributeKey}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const firstLetter = signature[0].charAt(0);
|
||||||
|
return prefix + firstLetter.toUpperCase() + signature[0].substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* All element properties can be setted using either a method
|
||||||
|
* invocation or attribute invocation.
|
||||||
|
* key: size, width, height, position, x, y, stroke, strokeWidth, strokeStyle,
|
||||||
|
* strokeColor, strokeOpacity,
|
||||||
|
* fill, fillColor, fillOpacity, coordSize, coordSizeWidth, coordSizeHeight,
|
||||||
|
* coordOrigin, coordOriginX, coordOrigiY
|
||||||
|
*/
|
||||||
|
setAttribute(key, value) {
|
||||||
|
const funcName = this._attributeNameToFuncName(key, 'set');
|
||||||
|
|
||||||
|
const signature = Element._propertyNameToSignature[key];
|
||||||
|
if (signature == null) {
|
||||||
|
throw new Error(`Could not find the signature for:${key}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parse arguments ..
|
||||||
|
const argPositions = signature[1];
|
||||||
|
let args = [];
|
||||||
|
if (argPositions !== this._SIGNATURE_MULTIPLE_ARGUMENTS) {
|
||||||
|
args[argPositions] = value;
|
||||||
|
} else {
|
||||||
|
const strValue = String(value);
|
||||||
|
args = strValue.split(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Look up method ...
|
||||||
|
const setter = this[funcName];
|
||||||
|
if (setter == null) {
|
||||||
|
throw new Error(`Could not find the function name:${funcName}`);
|
||||||
|
}
|
||||||
|
setter.apply(this, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
getAttribute(key) {
|
||||||
|
const funcName = this._attributeNameToFuncName(key, 'get');
|
||||||
|
|
||||||
|
const signature = Element._propertyNameToSignature[key];
|
||||||
|
if (signature == null) {
|
||||||
|
throw new Error(`Could not find the signature for:${key}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const getter = this[funcName];
|
||||||
|
if (getter == null) {
|
||||||
|
throw new Error(`Could not find the function name:${funcName}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const getterResult = getter.apply(this, []);
|
||||||
|
const attibuteName = signature[2];
|
||||||
|
if (!core.Function.$defined(attibuteName)) {
|
||||||
|
throw new Error(`Could not find attribute mapping for:${key}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = getterResult[attibuteName];
|
||||||
|
if (!core.Function.$defined(result)) {
|
||||||
|
throw new Error(`Could not find attribute with name:${attibuteName}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the element opacity.
|
||||||
|
* Parameters:
|
||||||
|
* opacity: A value between 0 and 1.
|
||||||
|
*/
|
||||||
|
setOpacity(opacity) {
|
||||||
|
this.peer.setStroke(null, null, null, opacity);
|
||||||
|
this.peer.setFill(null, opacity);
|
||||||
|
}
|
||||||
|
|
||||||
|
setVisibility(isVisible) {
|
||||||
|
this.peer.setVisibility(isVisible);
|
||||||
|
}
|
||||||
|
|
||||||
|
isVisible() {
|
||||||
|
return this.peer.isVisible();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move the element to the front
|
||||||
|
*/
|
||||||
|
moveToFront() {
|
||||||
|
this.peer.moveToFront();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move the element to the back
|
||||||
|
*/
|
||||||
|
moveToBack() {
|
||||||
|
this.peer.moveToBack();
|
||||||
|
}
|
||||||
|
|
||||||
|
getStroke() {
|
||||||
|
return this.peer.getStroke();
|
||||||
|
}
|
||||||
|
|
||||||
|
setCursor(type) {
|
||||||
|
this.peer.setCursor(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
getParent() {
|
||||||
|
return this.peer.getParent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Element._SIGNATURE_MULTIPLE_ARGUMENTS = -1;
|
||||||
|
Element._supportedEvents = [
|
||||||
|
'click',
|
||||||
|
'dblclick',
|
||||||
|
'mousemove',
|
||||||
|
'mouseout',
|
||||||
|
'mouseover',
|
||||||
|
'mousedown',
|
||||||
|
'mouseup',
|
||||||
|
];
|
||||||
|
Element._propertyNameToSignature = {
|
||||||
|
// Format: [attribute name, argument position on setter, attribute name on getter]
|
||||||
|
size: ['size', -1],
|
||||||
|
width: ['size', 0, 'width'],
|
||||||
|
height: ['size', 1, 'height'],
|
||||||
|
|
||||||
|
position: ['position', -1],
|
||||||
|
x: ['position', 0, 'x'],
|
||||||
|
y: ['position', 1, 'y'],
|
||||||
|
|
||||||
|
stroke: ['stroke', -1],
|
||||||
|
strokeWidth: ['stroke', 0, 'width'],
|
||||||
|
strokeStyle: ['stroke', 1, 'style'],
|
||||||
|
strokeColor: ['stroke', 2, 'color'],
|
||||||
|
strokeOpacity: ['stroke', 3, 'opacity'],
|
||||||
|
|
||||||
|
fill: ['fill', -1],
|
||||||
|
fillColor: ['fill', 0, 'color'],
|
||||||
|
fillOpacity: ['fill', 1, 'opacity'],
|
||||||
|
|
||||||
|
coordSize: ['coordSize', -1],
|
||||||
|
coordSizeWidth: ['coordSize', 0, 'width'],
|
||||||
|
coordSizeHeight: ['coordSize', 1, 'height'],
|
||||||
|
|
||||||
|
coordOrigin: ['coordOrigin', -1],
|
||||||
|
coordOriginX: ['coordOrigin', 0, 'x'],
|
||||||
|
coordOriginY: ['coordOrigin', 1, 'y'],
|
||||||
|
|
||||||
|
visibility: ['visibility', 0],
|
||||||
|
opacity: ['opacity', 0],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ElementClass;
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
@ -18,66 +18,66 @@
|
|||||||
import Toolkit from './Toolkit';
|
import Toolkit from './Toolkit';
|
||||||
import TransformUtil from './peer/utils/TransformUtils';
|
import TransformUtil from './peer/utils/TransformUtils';
|
||||||
|
|
||||||
const Font = new Class({
|
class Font {
|
||||||
initialize(fontFamily, textPeer) {
|
constructor(fontFamily, textPeer) {
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
const tools = Toolkit; // Used as of the defined object.
|
const tools = Toolkit; // Used as of the defined object.
|
||||||
const font = `tools.create${fontFamily}Font();`;
|
const font = `tools.create${fontFamily}Font();`;
|
||||||
// eslint-disable-next-line no-eval
|
// eslint-disable-next-line no-eval
|
||||||
this.peer = eval(font);
|
this.peer = eval(font);
|
||||||
this._textPeer = textPeer;
|
this._textPeer = textPeer;
|
||||||
},
|
}
|
||||||
|
|
||||||
getHtmlSize() {
|
getHtmlSize() {
|
||||||
const scale = TransformUtil.workoutScale(this._textPeer);
|
const scale = TransformUtil.workoutScale(this._textPeer);
|
||||||
return this.peer.getHtmlSize(scale);
|
return this.peer.getHtmlSize(scale);
|
||||||
},
|
}
|
||||||
|
|
||||||
getGraphSize() {
|
getGraphSize() {
|
||||||
const scale = TransformUtil.workoutScale(this._textPeer);
|
const scale = TransformUtil.workoutScale(this._textPeer);
|
||||||
return this.peer.getGraphSize(scale);
|
return this.peer.getGraphSize(scale);
|
||||||
},
|
}
|
||||||
|
|
||||||
getFontScale() {
|
getFontScale() {
|
||||||
return TransformUtil.workoutScale(this._textPeer).height;
|
return TransformUtil.workoutScale(this._textPeer).height;
|
||||||
},
|
}
|
||||||
|
|
||||||
getSize() {
|
getSize() {
|
||||||
return this.peer.getSize();
|
return this.peer.getSize();
|
||||||
},
|
}
|
||||||
|
|
||||||
getStyle() {
|
getStyle() {
|
||||||
return this.peer.getStyle();
|
return this.peer.getStyle();
|
||||||
},
|
}
|
||||||
|
|
||||||
getWeight() {
|
getWeight() {
|
||||||
return this.peer.getWeight();
|
return this.peer.getWeight();
|
||||||
},
|
}
|
||||||
|
|
||||||
getFontFamily() {
|
getFontFamily() {
|
||||||
return this.peer.getFontFamily();
|
return this.peer.getFontFamily();
|
||||||
},
|
}
|
||||||
|
|
||||||
setSize(size) {
|
setSize(size) {
|
||||||
return this.peer.setSize(size);
|
return this.peer.setSize(size);
|
||||||
},
|
}
|
||||||
|
|
||||||
setStyle(style) {
|
setStyle(style) {
|
||||||
return this.peer.setStyle(style);
|
return this.peer.setStyle(style);
|
||||||
},
|
}
|
||||||
|
|
||||||
setWeight(weight) {
|
setWeight(weight) {
|
||||||
return this.peer.setWeight(weight);
|
return this.peer.setWeight(weight);
|
||||||
},
|
}
|
||||||
|
|
||||||
getFont() {
|
getFont() {
|
||||||
return this.peer.getFont();
|
return this.peer.getFont();
|
||||||
},
|
}
|
||||||
|
|
||||||
getWidthMargin() {
|
getWidthMargin() {
|
||||||
return this.peer.getWidthMargin();
|
return this.peer.getWidthMargin();
|
||||||
},
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
Font.ARIAL = 'Arial';
|
Font.ARIAL = 'Arial';
|
||||||
Font.TIMES = 'Times';
|
Font.TIMES = 'Times';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
@ -15,7 +15,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
import Element from './Element';
|
import ElementClass from './ElementClass';
|
||||||
import Toolkit from './Toolkit';
|
import Toolkit from './Toolkit';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,9 +24,10 @@ import Toolkit from './Toolkit';
|
|||||||
* arc = "<length>"
|
* arc = "<length>"
|
||||||
* For rounded rectangles, radius of the ellipse used to round off the corners of the rectangle.
|
* For rounded rectangles, radius of the ellipse used to round off the corners of the rectangle.
|
||||||
*/
|
*/
|
||||||
const Rect = new Class({
|
class Rect extends ElementClass {
|
||||||
Extends: Element,
|
|
||||||
initialize(arc, attributes) {
|
constructor(arc, attributes) {
|
||||||
|
|
||||||
if (arc && arc > 1) {
|
if (arc && arc > 1) {
|
||||||
throw new Error('Arc must be 0<=arc<=1');
|
throw new Error('Arc must be 0<=arc<=1');
|
||||||
}
|
}
|
||||||
@ -45,16 +46,16 @@ const Rect = new Class({
|
|||||||
defaultAttributes[key] = attributes[key];
|
defaultAttributes[key] = attributes[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.parent(peer, defaultAttributes);
|
super(peer, defaultAttributes);
|
||||||
},
|
}
|
||||||
|
|
||||||
getType() {
|
getType() {
|
||||||
return 'Rect';
|
return 'Rect';
|
||||||
},
|
}
|
||||||
|
|
||||||
getSize() {
|
getSize() {
|
||||||
return this.peer.getSize();
|
return this.peer.getSize();
|
||||||
},
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
export default Rect;
|
export default Rect;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
@ -30,51 +30,66 @@ import TimesFont from './peer/svg/TimesFont';
|
|||||||
import VerdanaFont from './peer/svg/VerdanaFont';
|
import VerdanaFont from './peer/svg/VerdanaFont';
|
||||||
import TahomaFont from './peer/svg/TahomaFont';
|
import TahomaFont from './peer/svg/TahomaFont';
|
||||||
|
|
||||||
const Toolkit = {
|
class Toolkit {
|
||||||
init() {
|
static init() {
|
||||||
},
|
|
||||||
createWorkspace(element) {
|
}
|
||||||
|
|
||||||
|
static createWorkspace(element) {
|
||||||
return new WorkspacePeer(element);
|
return new WorkspacePeer(element);
|
||||||
},
|
}
|
||||||
createGroup() {
|
|
||||||
|
static createGroup() {
|
||||||
return new GroupPeer();
|
return new GroupPeer();
|
||||||
},
|
}
|
||||||
createElipse() {
|
|
||||||
|
static createElipse() {
|
||||||
return new ElipsePeer();
|
return new ElipsePeer();
|
||||||
},
|
}
|
||||||
createLine() {
|
|
||||||
|
static createLine() {
|
||||||
return new LinePeer();
|
return new LinePeer();
|
||||||
},
|
}
|
||||||
createPolyLine() {
|
|
||||||
|
static createPolyLine() {
|
||||||
return new PolyLinePeer();
|
return new PolyLinePeer();
|
||||||
},
|
}
|
||||||
createCurvedLine() {
|
|
||||||
|
static createCurvedLine() {
|
||||||
return new CurvedLinePeer();
|
return new CurvedLinePeer();
|
||||||
},
|
}
|
||||||
createArrow() {
|
|
||||||
|
static createArrow() {
|
||||||
return new ArrowPeer();
|
return new ArrowPeer();
|
||||||
},
|
}
|
||||||
createText(Font) {
|
|
||||||
|
static createText(Font) {
|
||||||
return new TextPeer(Font);
|
return new TextPeer(Font);
|
||||||
},
|
}
|
||||||
createImage() {
|
|
||||||
|
static createImage() {
|
||||||
return new ImagePeer();
|
return new ImagePeer();
|
||||||
},
|
}
|
||||||
createRect(arc) {
|
|
||||||
|
static createRect(arc) {
|
||||||
return new RectPeer(arc);
|
return new RectPeer(arc);
|
||||||
},
|
}
|
||||||
createArialFont() {
|
|
||||||
|
static reateArialFont() {
|
||||||
return new ArialFont();
|
return new ArialFont();
|
||||||
},
|
}
|
||||||
createTimesFont() {
|
|
||||||
|
static createTimesFont() {
|
||||||
return new TimesFont();
|
return new TimesFont();
|
||||||
},
|
}
|
||||||
createVerdanaFont() {
|
|
||||||
|
static createVerdanaFont() {
|
||||||
return new VerdanaFont();
|
return new VerdanaFont();
|
||||||
},
|
}
|
||||||
createTahomaFont() {
|
|
||||||
|
static createTahomaFont() {
|
||||||
return new TahomaFont();
|
return new TahomaFont();
|
||||||
},
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
export default Toolkit;
|
export default Toolkit;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright [2015] [wisemapping]
|
* Copyright [2021] [wisemapping]
|
||||||
*
|
*
|
||||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
Loading…
Reference in New Issue
Block a user