29413 lines
1.3 MiB
29413 lines
1.3 MiB
/*!
|
|
* DevExpress Diagram (dx-diagram)
|
|
* Version: 0.1.49
|
|
* Build date: Mon Dec 09 2019
|
|
*
|
|
* Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED
|
|
* Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs
|
|
*/
|
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
module.exports = factory();
|
|
else if(typeof define === 'function' && define.amd)
|
|
define([], factory);
|
|
else if(typeof exports === 'object')
|
|
exports["diagram"] = factory();
|
|
else
|
|
root["DevExpress"] = root["DevExpress"] || {}, root["DevExpress"]["diagram"] = factory();
|
|
})(window, function() {
|
|
return /******/ (function(modules) { // webpackBootstrap
|
|
/******/ // The module cache
|
|
/******/ var installedModules = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/
|
|
/******/ // Check if module is in cache
|
|
/******/ if(installedModules[moduleId]) {
|
|
/******/ return installedModules[moduleId].exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = installedModules[moduleId] = {
|
|
/******/ i: moduleId,
|
|
/******/ l: false,
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Flag the module as loaded
|
|
/******/ module.l = true;
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = modules;
|
|
/******/
|
|
/******/ // expose the module cache
|
|
/******/ __webpack_require__.c = installedModules;
|
|
/******/
|
|
/******/ // define getter function for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
/******/ }
|
|
/******/ };
|
|
/******/
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = function(exports) {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/
|
|
/******/ // create a fake namespace object
|
|
/******/ // mode & 1: value is a module id, require it
|
|
/******/ // mode & 2: merge all properties of value into the ns
|
|
/******/ // mode & 4: return value when already ns object
|
|
/******/ // mode & 8|1: behave like require
|
|
/******/ __webpack_require__.t = function(value, mode) {
|
|
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
/******/ if(mode & 8) return value;
|
|
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
/******/ var ns = Object.create(null);
|
|
/******/ __webpack_require__.r(ns);
|
|
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
/******/ return ns;
|
|
/******/ };
|
|
/******/
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function getDefault() { return module['default']; } :
|
|
/******/ function getModuleExports() { return module; };
|
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/
|
|
/******/ // Object.prototype.hasOwnProperty.call
|
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
/******/
|
|
/******/ // __webpack_public_path__
|
|
/******/ __webpack_require__.p = "";
|
|
/******/
|
|
/******/
|
|
/******/ // Load entry module and return exports
|
|
/******/ return __webpack_require__(__webpack_require__.s = 8);
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ([
|
|
/* 0 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Size = /** @class */ (function () {
|
|
function Size(width, height) {
|
|
this.width = width;
|
|
this.height = height;
|
|
}
|
|
Size.prototype.clone = function () { return new Size(this.width, this.height); };
|
|
Size.prototype.toString = function () { return JSON.stringify(this); };
|
|
Size.prototype.offset = function (offsetX, offsetY) {
|
|
if (offsetX === void 0) { offsetX = 0; }
|
|
if (offsetY === void 0) { offsetY = 0; }
|
|
return new Size(Math.max(0, this.width + offsetX), Math.max(0, this.height + offsetY));
|
|
};
|
|
Size.prototype.multiply = function (multiplierW, multiplierH) {
|
|
if (multiplierW === void 0) { multiplierW = 1; }
|
|
if (multiplierH === void 0) { multiplierH = multiplierW; }
|
|
return new Size(this.width * multiplierW, this.height * multiplierH);
|
|
};
|
|
Size.prototype.equals = function (size) {
|
|
return size.width === this.width && size.height === this.height;
|
|
};
|
|
Size.prototype.transform = function (func) {
|
|
return new Size(func(this.width), func(this.height));
|
|
};
|
|
return Size;
|
|
}());
|
|
exports.Size = Size;
|
|
var Point = /** @class */ (function () {
|
|
function Point(x, y) {
|
|
this.x = x;
|
|
this.y = y;
|
|
}
|
|
Point.prototype.clone = function () { return new Point(this.x, this.y); };
|
|
Point.prototype.toString = function () { return JSON.stringify(this); };
|
|
Point.prototype.offset = function (offsetX, offsetY) {
|
|
if (offsetX === void 0) { offsetX = 0; }
|
|
if (offsetY === void 0) { offsetY = 0; }
|
|
return new Point(this.x + offsetX, this.y + offsetY);
|
|
};
|
|
Point.prototype.multiply = function (multiplierX, multiplierY) {
|
|
if (multiplierX === void 0) { multiplierX = 1; }
|
|
if (multiplierY === void 0) { multiplierY = multiplierX; }
|
|
return new Point(this.x * multiplierX, this.y * multiplierY);
|
|
};
|
|
Point.prototype.equals = function (pt) {
|
|
return pt.x === this.x && pt.y === this.y;
|
|
};
|
|
Point.prototype.transform = function (func) {
|
|
return new Point(func(this.x), func(this.y));
|
|
};
|
|
Point.empty = function () {
|
|
return new Point(0, 0);
|
|
};
|
|
Point.plus = function (a, b) {
|
|
return new Point(a.x + b.x, a.y + b.y);
|
|
};
|
|
Point.minus = function (a, b) {
|
|
return new Point(a.x - b.x, a.y - b.y);
|
|
};
|
|
return Point;
|
|
}());
|
|
exports.Point = Point;
|
|
var Offset = /** @class */ (function () {
|
|
function Offset(left, top, right, bottom) {
|
|
this.left = left;
|
|
this.top = top;
|
|
this.right = right;
|
|
this.bottom = bottom;
|
|
}
|
|
Object.defineProperty(Offset.prototype, "horizontal", {
|
|
get: function () { return this.left + this.right; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Offset.prototype, "vertical", {
|
|
get: function () { return this.top + this.bottom; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Offset.prototype.clone = function () { return new Offset(this.left, this.top, this.right, this.bottom); };
|
|
Offset.prototype.transform = function (func) {
|
|
return new Offset(func(this.left), func(this.top), func(this.right), func(this.bottom));
|
|
};
|
|
Offset.prototype.offset = function (offset, increase) {
|
|
var clone = this.clone();
|
|
if (increase) {
|
|
clone.left += offset.left;
|
|
clone.right += offset.right;
|
|
clone.top += offset.top;
|
|
clone.bottom += offset.bottom;
|
|
}
|
|
else {
|
|
clone.left -= offset.left;
|
|
clone.right -= offset.right;
|
|
clone.top -= offset.top;
|
|
clone.bottom -= offset.bottom;
|
|
}
|
|
return clone;
|
|
};
|
|
Offset.prototype.multiply = function (multiplierX, multiplierY) {
|
|
if (multiplierX === void 0) { multiplierX = 1; }
|
|
if (multiplierY === void 0) { multiplierY = multiplierX; }
|
|
return new Offset(this.left * multiplierX, this.top * multiplierY, this.right * multiplierX, this.bottom * multiplierY);
|
|
};
|
|
Offset.prototype.isEmpty = function () {
|
|
return this.left === 0 && this.right === 0 && this.top === 0 && this.bottom === 0;
|
|
};
|
|
Offset.prototype.equals = function (offset) {
|
|
return this.left === offset.left && this.top === offset.top && this.right === offset.right && this.bottom === offset.bottom;
|
|
};
|
|
Offset.prototype.toString = function () {
|
|
return "left: " + this.left + " top: " + this.top + " right: " + this.right + " bottom: " + this.bottom;
|
|
};
|
|
Offset.empty = function () {
|
|
return new Offset(0, 0, 0, 0);
|
|
};
|
|
Offset.fromNumber = function (offset) {
|
|
return new Offset(offset, offset, offset, offset);
|
|
};
|
|
Offset.fromSide = function (horizontal, vertical) {
|
|
return new Offset(horizontal, vertical, horizontal, vertical);
|
|
};
|
|
return Offset;
|
|
}());
|
|
exports.Offset = Offset;
|
|
var Rectangle = /** @class */ (function () {
|
|
function Rectangle(position, size) {
|
|
this.position = position;
|
|
this.size = size;
|
|
}
|
|
Object.defineProperty(Rectangle.prototype, "left", {
|
|
get: function () {
|
|
return this.position.x;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "top", {
|
|
get: function () {
|
|
return this.position.y;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "right", {
|
|
get: function () {
|
|
return this.position.x + this.size.width;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "bottom", {
|
|
get: function () {
|
|
return this.position.y + this.size.height;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "center", {
|
|
get: function () {
|
|
return new Point(this.position.x + this.size.width / 2, this.position.y + this.size.height / 2);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "width", {
|
|
get: function () {
|
|
return this.size.width;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Rectangle.prototype, "height", {
|
|
get: function () {
|
|
return this.size.height;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Rectangle.prototype.clone = function () { return new Rectangle(this.position.clone(), this.size.clone()); };
|
|
Rectangle.prototype.toString = function () { return JSON.stringify(this); };
|
|
Rectangle.prototype.contains = function (point) {
|
|
return this.left <= point.x && point.x <= this.right &&
|
|
this.top <= point.y && point.y <= this.bottom;
|
|
};
|
|
Rectangle.prototype.intersectX = function (rect) {
|
|
if (this.left > rect.right || rect.left > this.right)
|
|
return false;
|
|
return true;
|
|
};
|
|
Rectangle.prototype.intersectY = function (rect) {
|
|
if (this.top > rect.bottom || rect.top > this.bottom)
|
|
return false;
|
|
return true;
|
|
};
|
|
Rectangle.prototype.intersect = function (rect) {
|
|
return this.intersectX(rect) && this.intersectY(rect);
|
|
};
|
|
Rectangle.prototype.inflate = function (deltaX, deltaY) {
|
|
deltaY = deltaY === undefined ? deltaX : deltaY;
|
|
return new Rectangle(this.position.offset(-deltaX, -deltaY), this.size.offset(2 * deltaX, 2 * deltaY));
|
|
};
|
|
Rectangle.prototype.resize = function (deltaX, deltaY) {
|
|
return new Rectangle(this.position, this.size.offset(deltaX, deltaY));
|
|
};
|
|
Rectangle.prototype.offset = function (offsetX, offsetY) {
|
|
return new Rectangle(this.position.offset(offsetX, offsetY), this.size);
|
|
};
|
|
Rectangle.prototype.multiply = function (multiplier) {
|
|
return new Rectangle(this.position.multiply(multiplier), this.size.multiply(multiplier));
|
|
};
|
|
Rectangle.prototype.equals = function (rect) {
|
|
return this.left === rect.left && this.top === rect.top && this.width === rect.width && this.height === rect.height;
|
|
};
|
|
Rectangle.prototype.transform = function (func) {
|
|
return new Rectangle(this.position.transform(func), this.size.transform(func));
|
|
};
|
|
Rectangle.create = function (x, y, width, height) {
|
|
return new Rectangle(new Point(x, y), new Size(width, height));
|
|
};
|
|
Rectangle.createByPoints = function (point1, point2) {
|
|
return Rectangle.createByPositions(point1.x, point1.y, point2.x, point2.y);
|
|
};
|
|
Rectangle.createByPositions = function (x1, y1, x2, y2) {
|
|
var x = Math.min(x1, x2);
|
|
var y = Math.min(y1, y2);
|
|
var width = Math.abs(x2 - x1);
|
|
var height = Math.abs(y2 - y1);
|
|
return Rectangle.create(x, y, width, height);
|
|
};
|
|
return Rectangle;
|
|
}());
|
|
exports.Rectangle = Rectangle;
|
|
var Segment = /** @class */ (function () {
|
|
function Segment(startPoint, endPoint) {
|
|
this.startPoint = startPoint;
|
|
this.endPoint = endPoint;
|
|
}
|
|
Object.defineProperty(Segment.prototype, "distance", {
|
|
get: function () {
|
|
return GeometryUtils.getDistance(this.startPoint, this.endPoint);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Segment.prototype.intersect = function (segment) {
|
|
if (this.startPoint.equals(segment.startPoint) || this.endPoint.equals(segment.startPoint) ||
|
|
this.startPoint.equals(segment.endPoint) || this.endPoint.equals(segment.endPoint))
|
|
return true;
|
|
return this.intersectCore(segment) && segment.intersectCore(this);
|
|
};
|
|
Segment.prototype.intersectRect = function (rectangle) {
|
|
var ltPt = rectangle.position, lbPt = new Point(rectangle.left, rectangle.bottom), rtPt = new Point(rectangle.right, rectangle.top), rbPt = new Point(rectangle.right, rectangle.bottom);
|
|
return rectangle.contains(this.startPoint) || rectangle.contains(this.endPoint) ||
|
|
this.intersect(new Segment(ltPt, lbPt)) || this.intersect(new Segment(lbPt, rbPt)) ||
|
|
this.intersect(new Segment(rbPt, rtPt)) || this.intersect(new Segment(rtPt, ltPt));
|
|
};
|
|
Segment.prototype.intersectCore = function (segment) {
|
|
if (this.startPoint.x === this.endPoint.x) {
|
|
if (this.startPoint.x - segment.endPoint.x !== 0)
|
|
return (this.startPoint.x - segment.startPoint.x) / (this.startPoint.x - segment.endPoint.x) <= 0;
|
|
if (segment.endPoint.y - this.endPoint.y !== 0)
|
|
return (segment.endPoint.y - this.startPoint.y) / (segment.endPoint.y - this.endPoint.y) <= 0;
|
|
}
|
|
if (this.startPoint.y === this.endPoint.y) {
|
|
if (this.startPoint.y - segment.endPoint.y !== 0)
|
|
return (this.startPoint.y - segment.startPoint.y) / (this.startPoint.y - segment.endPoint.y) <= 0;
|
|
if (segment.endPoint.x - this.endPoint.x !== 0)
|
|
return (segment.endPoint.x - this.startPoint.x) / (segment.endPoint.x - this.endPoint.x) <= 0;
|
|
}
|
|
var tg = (this.endPoint.y - this.startPoint.y) / (this.endPoint.x - this.startPoint.x);
|
|
var y1 = this.startPoint.y + (segment.startPoint.x - this.startPoint.x) * tg;
|
|
var y2 = this.startPoint.y + (segment.endPoint.x - this.startPoint.x) * tg;
|
|
var dy1 = segment.startPoint.y - y1;
|
|
var dy2 = segment.endPoint.y - y2;
|
|
if (dy1 === 0 && dy2 === 0) {
|
|
return (this.startPoint.y - y1) / (this.endPoint.y - y1) <= 0 ||
|
|
(this.startPoint.y - y2) / (this.endPoint.y - y2) <= 0;
|
|
}
|
|
return dy1 === 0 || dy2 === 0 || dy1 / dy2 < 0;
|
|
};
|
|
Segment.create = function (x1, y1, x2, y2) {
|
|
return new Segment(new Point(x1, y1), new Point(x2, y2));
|
|
};
|
|
Segment.createByPoints = function (point1, point2) {
|
|
return Segment.create(point1.x, point1.y, point2.x, point2.y);
|
|
};
|
|
return Segment;
|
|
}());
|
|
exports.Segment = Segment;
|
|
var EventDispatcher = /** @class */ (function () {
|
|
function EventDispatcher() {
|
|
this.listeners = [];
|
|
}
|
|
EventDispatcher.prototype.add = function (listener) {
|
|
if (!listener)
|
|
throw new Error("Not Implemented");
|
|
if (!this.hasEventListener(listener))
|
|
this.listeners.push(listener);
|
|
};
|
|
EventDispatcher.prototype.remove = function (listener) {
|
|
for (var i = 0, currentListener; currentListener = this.listeners[i]; i++) {
|
|
if (currentListener === listener) {
|
|
this.listeners.splice(i, 1);
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
EventDispatcher.prototype.raise = function (funcName) {
|
|
var args = [];
|
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
args[_i - 1] = arguments[_i];
|
|
}
|
|
for (var i = 0, listener; listener = this.listeners[i]; i++) {
|
|
listener[funcName].apply(listener, args);
|
|
}
|
|
};
|
|
EventDispatcher.prototype.raise1 = function (action) {
|
|
for (var i = 0, listener; listener = this.listeners[i]; i++) {
|
|
action(listener);
|
|
}
|
|
};
|
|
EventDispatcher.prototype.hasEventListener = function (listener) {
|
|
for (var i = 0, l = this.listeners.length; i < l; i++)
|
|
if (this.listeners[i] === listener)
|
|
return true;
|
|
return false;
|
|
};
|
|
return EventDispatcher;
|
|
}());
|
|
exports.EventDispatcher = EventDispatcher;
|
|
var Utils = /** @class */ (function () {
|
|
function Utils() {
|
|
}
|
|
//http://workservices01/OpenWiki/ow.asp?ASPxRichEdit_BinarySearch#preview
|
|
// BINARY INDEX
|
|
// Input array [4, 8, 10]
|
|
// find binaryIndexOf normedBinaryIndexOf
|
|
// (-inf, 3] -1 -1
|
|
// 4 0 0
|
|
// [5, 7] -2 0
|
|
// 8 1 1
|
|
// 9 -3 1
|
|
// 10 2 2
|
|
// [11, +inf) -4 2
|
|
// case array.length == 0, then return -1
|
|
// don't touch default value = -2! In some case binaryIndexOf call as ([], ()=>.., 0, [].length - 1)
|
|
Utils.binaryIndexOf = function (array, comparer, minIndex, maxIndex) {
|
|
if (minIndex === void 0) { minIndex = 0; }
|
|
if (maxIndex === void 0) { maxIndex = -2; }
|
|
var findFromZeroPosition = minIndex == 0;
|
|
if (maxIndex == -2)
|
|
maxIndex = array.length - 1;
|
|
while (minIndex <= maxIndex) {
|
|
var currentIndex = (minIndex + ((maxIndex - minIndex) >> 1));
|
|
var compare = comparer(array[currentIndex]);
|
|
if (compare < 0)
|
|
minIndex = currentIndex + 1;
|
|
else if (compare > 0)
|
|
maxIndex = currentIndex - 1;
|
|
else
|
|
return currentIndex;
|
|
}
|
|
return findFromZeroPosition ? ~minIndex : -1;
|
|
};
|
|
Utils.normedBinaryIndexOf = function (array, comparer, minIndex, maxIndex) {
|
|
if (minIndex === void 0) { minIndex = 0; }
|
|
if (maxIndex === void 0) { maxIndex = -2; }
|
|
var index = Utils.binaryIndexOf(array, comparer, minIndex, maxIndex);
|
|
return Utils.binaryIndexNormalizator(index);
|
|
};
|
|
Utils.binaryIndexNormalizator = function (index) {
|
|
return index < 0 ? ~index - 1 : index;
|
|
};
|
|
return Utils;
|
|
}());
|
|
exports.Utils = Utils;
|
|
var GeometryUtils = /** @class */ (function () {
|
|
function GeometryUtils() {
|
|
}
|
|
GeometryUtils.getCommonRectangle = function (rects) {
|
|
if (!rects.length)
|
|
return Rectangle.create(0, 0, 0, 0);
|
|
var minX = Number.MAX_VALUE;
|
|
var maxX = -Number.MAX_VALUE;
|
|
var minY = Number.MAX_VALUE;
|
|
var maxY = -Number.MAX_VALUE;
|
|
rects.forEach(function (rect) {
|
|
minX = Math.min(minX, rect.left);
|
|
maxX = Math.max(maxX, rect.right);
|
|
minY = Math.min(minY, rect.top);
|
|
maxY = Math.max(maxY, rect.bottom);
|
|
});
|
|
return Rectangle.create(minX, minY, maxX - minX, maxY - minY);
|
|
};
|
|
GeometryUtils.findFreeSpace = function (rects, size, exact, targetRect) {
|
|
var xs = [targetRect ? targetRect.left : 0], xshash;
|
|
var ys = [targetRect ? targetRect.top : 0];
|
|
rects.forEach(function (r) {
|
|
xs.push(r.left);
|
|
xs.push(r.right);
|
|
ys.push(r.top);
|
|
ys.push(r.bottom);
|
|
});
|
|
xs = xs.sort(function (a, b) { return a - b; }).reduce(function (acc, v, index) { return (xs[index - 1] !== v && acc.push(v) && acc) || acc; }, []); // magic for distinct
|
|
ys = ys.sort(function (a, b) { return a - b; }).reduce(function (acc, v, index) { return (ys[index - 1] !== v && acc.push(v) && acc) || acc; }, []);
|
|
var matrix = ys.map(function (y) { return xs.map(function (x, i) { return xs[i + 1] - x; }); });
|
|
var _loop_1 = function (i, rect) {
|
|
var xi0 = Utils.binaryIndexOf(xs, function (a) { return a - rect.left; });
|
|
var xi1 = Utils.binaryIndexOf(xs, function (a) { return a - rect.right; });
|
|
var yi0 = Utils.binaryIndexOf(ys, function (a) { return a - rect.top; });
|
|
var yi1 = Utils.binaryIndexOf(ys, function (a) { return a - rect.bottom; });
|
|
for (var y = yi0; y < yi1; y++)
|
|
for (var x = xi0; x < xi1; x++)
|
|
matrix[y][x] *= -1;
|
|
};
|
|
for (var i = 0, rect = void 0; rect = rects[i]; i++) {
|
|
_loop_1(i, rect);
|
|
}
|
|
for (var yi = 0; yi < ys.length; yi++) {
|
|
for (var xi = 0; xi < xs.length - 1; xi++) {
|
|
var checkResult = this.checkRect(matrix, ys, xs, yi, xi, size, exact);
|
|
if (checkResult > 0)
|
|
xi = checkResult;
|
|
else if (checkResult === 0)
|
|
return new Point(xs[xi], ys[yi]);
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
GeometryUtils.checkRect = function (matrix, ys, xs, yimin, ximin, size, exact) {
|
|
var height = 0;
|
|
var width = 0;
|
|
var ximax = xs.length - 2;
|
|
for (var yi = yimin; yi < ys.length; yi++) {
|
|
height = ys[yi + 1] - ys[yimin];
|
|
for (var xi = ximin; xi <= ximax; xi++) {
|
|
if (matrix[yi][xi] < 0)
|
|
return xi === 0 ? -1 : xi; // move left?
|
|
width = xs[xi + 1] - xs[ximin];
|
|
if (size.width <= width || (!exact && xi === xs.length - 2 && size.width / 2 <= width)) {
|
|
if (size.height <= height || (!exact && yi === ys.length - 2 && size.height / 2 <= height))
|
|
return 0;
|
|
ximax = xi;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
GeometryUtils.getArrowPoints = function (point, directionPoint, arrowHeight, arrowWidth) {
|
|
if (point.x === directionPoint.x && point.y === directionPoint.y)
|
|
return { point1: point.clone(), point2: point.clone() };
|
|
var catX = directionPoint.x - point.x;
|
|
var catY = directionPoint.y - point.y;
|
|
var hypotenuse = Math.sqrt(Math.pow(catX, 2) + Math.pow(catY, 2));
|
|
var cos = catX / hypotenuse;
|
|
var sin = catY / hypotenuse;
|
|
var x1 = point.x + arrowHeight * cos + arrowWidth * sin;
|
|
var y1 = point.y + arrowHeight * sin - arrowWidth * cos;
|
|
var x2 = point.x + arrowHeight * cos - arrowWidth * sin;
|
|
var y2 = point.y + arrowHeight * sin + arrowWidth * cos;
|
|
return { point1: new Point(x1, y1), point2: new Point(x2, y2) };
|
|
};
|
|
GeometryUtils.removeUnnecessaryLinePoints = function (points, removeCallback, checkCallback) {
|
|
if (checkCallback === void 0) { checkCallback = (function (pt) { return pt !== undefined; }); }
|
|
this.removeDuplicatedPoints(points, removeCallback, checkCallback);
|
|
this.removeOneLinePoints(points, removeCallback, checkCallback);
|
|
this.removeBackwardPoints(points, removeCallback, checkCallback);
|
|
};
|
|
GeometryUtils.removeBackwardPoints = function (points, removeCallback, checkCallback) {
|
|
if (checkCallback === void 0) { checkCallback = (function (pt) { return pt !== undefined; }); }
|
|
var index = 0;
|
|
var point;
|
|
while (point = points[index]) {
|
|
if (points.length <= 2)
|
|
break;
|
|
var nextPoint = this.getNextPoint(points, index, true, checkCallback);
|
|
var prevPoint = this.getNextPoint(points, index, false, checkCallback);
|
|
if (prevPoint && nextPoint) {
|
|
if (point.x == prevPoint.x && point.x == nextPoint.x) {
|
|
if ((point.y > prevPoint.y && point.y > nextPoint.y) ||
|
|
(point.y < prevPoint.y && point.y < nextPoint.y)) {
|
|
if (removeCallback(points[index], index))
|
|
continue;
|
|
}
|
|
}
|
|
if (point.y == prevPoint.y && point.y == nextPoint.y) {
|
|
if ((point.x > prevPoint.x && point.x > nextPoint.x) ||
|
|
(point.x < prevPoint.x && point.x < nextPoint.x)) {
|
|
if (removeCallback(points[index], index))
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
index++;
|
|
}
|
|
};
|
|
GeometryUtils.removeOneLinePoints = function (points, removeCallback, checkCallback) {
|
|
if (checkCallback === void 0) { checkCallback = (function (pt) { return pt !== undefined; }); }
|
|
var index = 0;
|
|
var point;
|
|
while (point = points[index]) {
|
|
if (points.length <= 2)
|
|
break;
|
|
var nextPoint = this.getNextPoint(points, index, true, checkCallback);
|
|
var prevPoint = this.getNextPoint(points, index, false, checkCallback);
|
|
if (prevPoint && nextPoint) {
|
|
if ((point.x == prevPoint.x && point.x == nextPoint.x) ||
|
|
(point.y == prevPoint.y && point.y == nextPoint.y)) {
|
|
if (removeCallback(points[index], index))
|
|
continue;
|
|
}
|
|
var tg = (nextPoint.y - prevPoint.y) / (nextPoint.x - prevPoint.x);
|
|
if (nextPoint.y - points[index].y == (nextPoint.x - points[index].x) * tg) {
|
|
if (removeCallback(points[index], index))
|
|
continue;
|
|
}
|
|
}
|
|
index++;
|
|
}
|
|
};
|
|
GeometryUtils.removeDuplicatedPoints = function (points, removeCallback, checkCallback) {
|
|
if (checkCallback === void 0) { checkCallback = (function (pt) { return pt !== undefined; }); }
|
|
var index = 0;
|
|
var point;
|
|
while (point = points[index]) {
|
|
if (points.length <= 2)
|
|
break;
|
|
var nextPoint = this.getNextPoint(points, index, true, checkCallback);
|
|
if (nextPoint) {
|
|
if (point.x == nextPoint.x && point.y == nextPoint.y) {
|
|
var indexToRemove = index + 1;
|
|
if (indexToRemove === points.length - 1)
|
|
indexToRemove--;
|
|
if (removeCallback(points[indexToRemove], indexToRemove))
|
|
continue;
|
|
}
|
|
}
|
|
index++;
|
|
}
|
|
};
|
|
GeometryUtils.getNextPoint = function (points, index, direction, checkCallback) {
|
|
var result;
|
|
var newIndex = index + (direction ? 1 : -1);
|
|
while (result = points[newIndex]) {
|
|
if (checkCallback(result))
|
|
return result;
|
|
newIndex = newIndex + (direction ? 1 : -1);
|
|
}
|
|
};
|
|
GeometryUtils.getDistance = function (a, b) {
|
|
return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));
|
|
};
|
|
GeometryUtils.getPathLength = function (points) {
|
|
var length = 0;
|
|
var prevPt;
|
|
points.forEach(function (pt) {
|
|
if (prevPt !== undefined) {
|
|
var lineLength = GeometryUtils.getDistance(pt, prevPt);
|
|
length += lineLength;
|
|
}
|
|
prevPt = pt;
|
|
});
|
|
return length;
|
|
};
|
|
GeometryUtils.getPathPointByPosition = function (points, relativePosition) {
|
|
if (!points.length)
|
|
throw new Error("Invalid points");
|
|
if (0 > relativePosition || relativePosition > 1)
|
|
throw new Error("Invalid relative position");
|
|
var length = this.getPathLength(points);
|
|
if (points.length <= 2 && length === 0)
|
|
return points[0];
|
|
var targetLength = length * relativePosition;
|
|
var currentLength = 0;
|
|
for (var i = 1; i < points.length; i++) {
|
|
var lineLength = GeometryUtils.getDistance(points[i], points[i - 1]);
|
|
if (currentLength + lineLength >= targetLength) {
|
|
var delta = targetLength - currentLength;
|
|
var cos = (points[i].x - points[i - 1].x) / lineLength;
|
|
var sin = (points[i].y - points[i - 1].y) / lineLength;
|
|
return new Point(points[i - 1].x + cos * delta, points[i - 1].y + sin * delta);
|
|
}
|
|
currentLength += lineLength;
|
|
}
|
|
;
|
|
return points[points.length - 1];
|
|
};
|
|
GeometryUtils.getLineAngle = function (beginPoint, endPoint) {
|
|
return Math.atan2(endPoint.y - beginPoint.y, endPoint.x - beginPoint.x);
|
|
};
|
|
GeometryUtils.getTriangleBeginAngle = function (beginPoint, endPoint, point) {
|
|
var lineAngle = this.getLineAngle(beginPoint, endPoint);
|
|
var beginPointAngle = this.getLineAngle(beginPoint, point);
|
|
return Math.abs(beginPointAngle - lineAngle);
|
|
};
|
|
GeometryUtils.getTriangleEndAngle = function (beginPoint, endPoint, point) {
|
|
var lineAngle = this.getLineAngle(beginPoint, endPoint);
|
|
var endPointAngle = this.getLineAngle(point, endPoint);
|
|
return Math.abs(lineAngle - endPointAngle);
|
|
};
|
|
GeometryUtils.getPathPointByPoint = function (points, point) {
|
|
if (!points.length)
|
|
throw new Error("Invalid points");
|
|
if (points.length === 1)
|
|
return points[0];
|
|
var distance = Number.MAX_VALUE;
|
|
var result;
|
|
for (var i = 1; i < points.length; i++) {
|
|
var beginPoint = points[i - 1];
|
|
var endPoint = points[i];
|
|
if (point.equals(beginPoint)) {
|
|
result = beginPoint.clone();
|
|
break;
|
|
}
|
|
if (point.equals(endPoint)) {
|
|
result = endPoint.clone();
|
|
break;
|
|
}
|
|
var beginAngle = this.getTriangleBeginAngle(beginPoint, endPoint, point);
|
|
var endAngle = this.getTriangleEndAngle(beginPoint, endPoint, point);
|
|
var beginDistance = GeometryUtils.getDistance(point, beginPoint);
|
|
var endDistance = GeometryUtils.getDistance(point, endPoint);
|
|
var orthOffset = beginDistance * Math.sin(beginAngle);
|
|
var currentDistance = void 0;
|
|
if (Math.PI / 2 <= beginAngle && beginAngle <= Math.PI * 3 / 2)
|
|
currentDistance = beginDistance;
|
|
else if (Math.PI / 2 <= endAngle && endAngle <= Math.PI * 3 / 2)
|
|
currentDistance = endDistance;
|
|
else
|
|
currentDistance = Math.abs(orthOffset);
|
|
if (currentDistance < distance) {
|
|
distance = currentDistance;
|
|
if (Math.PI / 2 <= beginAngle && beginAngle <= Math.PI * 3 / 2)
|
|
result = beginPoint.clone();
|
|
else if (Math.PI / 2 <= endAngle && endAngle <= Math.PI * 3 / 2)
|
|
result = endPoint.clone();
|
|
else {
|
|
var round = Math.fround || Math.round;
|
|
var lineAngle = this.getLineAngle(beginPoint, endPoint);
|
|
var offsetX = round(Math.abs(orthOffset * Math.sin(lineAngle)));
|
|
var offsetY = round(Math.abs(orthOffset * Math.cos(lineAngle)));
|
|
var isAbove = point.y - beginPoint.y < round((point.x - beginPoint.x) * Math.tan(lineAngle));
|
|
if (0 <= lineAngle && lineAngle <= Math.PI / 2) {
|
|
offsetX *= isAbove ? -1 : 1;
|
|
offsetY *= isAbove ? 1 : -1;
|
|
}
|
|
else if (Math.PI / 2 <= lineAngle && lineAngle <= Math.PI) {
|
|
offsetX *= isAbove ? 1 : -1;
|
|
offsetY *= isAbove ? 1 : -1;
|
|
}
|
|
else if (0 >= lineAngle && lineAngle >= -Math.PI / 2) {
|
|
offsetX *= isAbove ? 1 : -1;
|
|
offsetY *= isAbove ? 1 : -1;
|
|
}
|
|
else if (-Math.PI / 2 >= lineAngle && lineAngle >= -Math.PI) {
|
|
offsetX *= isAbove ? -1 : 1;
|
|
offsetY *= isAbove ? 1 : -1;
|
|
}
|
|
result = point.offset(offsetX, offsetY);
|
|
}
|
|
}
|
|
}
|
|
;
|
|
return result;
|
|
};
|
|
GeometryUtils.getPathPositionByPoint = function (points, point, maxPositionCount) {
|
|
if (maxPositionCount === void 0) { maxPositionCount = 100; }
|
|
point = this.getPathPointByPoint(points, point);
|
|
var length = this.getPathLength(points);
|
|
var currentLength = 0;
|
|
for (var i = 1; i < points.length; i++) {
|
|
var beginPoint = points[i - 1];
|
|
var endPoint = points[i];
|
|
var lineLength = GeometryUtils.getDistance(endPoint, beginPoint);
|
|
var angle = Math.atan((endPoint.y - beginPoint.y) / (endPoint.x - beginPoint.x));
|
|
var round = Math.fround || Math.round;
|
|
if ((point.x === endPoint.x && point.x === beginPoint.x) || (point.y === endPoint.y && point.y === beginPoint.y) ||
|
|
round(point.y - beginPoint.y) === round((point.x - beginPoint.x) * Math.tan(angle))) {
|
|
if (Math.sin(angle) !== 0)
|
|
currentLength += Math.abs((point.y - beginPoint.y) / Math.sin(angle));
|
|
else
|
|
currentLength += Math.abs(point.x - beginPoint.x);
|
|
return Math.round(currentLength * maxPositionCount / length) / maxPositionCount;
|
|
}
|
|
currentLength += lineLength;
|
|
}
|
|
;
|
|
return 1;
|
|
};
|
|
GeometryUtils.arePointsEqual = function (points1, points2) {
|
|
var count1 = points1.length;
|
|
var count2 = points2.length;
|
|
if (count1 != count2)
|
|
return false;
|
|
for (var i = 0; i < count1; i++)
|
|
if (!points1[i].equals(points2[i]))
|
|
return false;
|
|
return true;
|
|
};
|
|
return GeometryUtils;
|
|
}());
|
|
exports.GeometryUtils = GeometryUtils;
|
|
|
|
|
|
/***/ }),
|
|
/* 1 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeCategories = /** @class */ (function () {
|
|
function ShapeCategories() {
|
|
}
|
|
ShapeCategories.General = "general";
|
|
ShapeCategories.Flowchart = "flowchart";
|
|
ShapeCategories.OrgChart = "orgChart";
|
|
ShapeCategories.Containers = "containers";
|
|
ShapeCategories.Custom = "custom";
|
|
return ShapeCategories;
|
|
}());
|
|
exports.ShapeCategories = ShapeCategories;
|
|
var ShapeTypes = /** @class */ (function () {
|
|
function ShapeTypes() {
|
|
}
|
|
// Standard
|
|
ShapeTypes.Text = "text";
|
|
ShapeTypes.Rectangle = "rectangle";
|
|
ShapeTypes.Ellipse = "ellipse";
|
|
ShapeTypes.Cross = "cross";
|
|
ShapeTypes.Triangle = "triangle";
|
|
ShapeTypes.Diamond = "diamond";
|
|
ShapeTypes.Heart = "heart";
|
|
ShapeTypes.Pentagon = "pentagon";
|
|
ShapeTypes.Hexagon = "hexagon";
|
|
ShapeTypes.Octagon = "octagon";
|
|
ShapeTypes.Star = "star";
|
|
ShapeTypes.ArrowLeft = "arrowLeft";
|
|
ShapeTypes.ArrowTop = "arrowTop";
|
|
ShapeTypes.ArrowRight = "arrowRight";
|
|
ShapeTypes.ArrowBottom = "arrowBottom";
|
|
ShapeTypes.ArrowNorthSouth = "arrowNorthSouth";
|
|
ShapeTypes.ArrowEastWest = "arrowEastWest";
|
|
// Flowchart
|
|
ShapeTypes.Process = "process";
|
|
ShapeTypes.Decision = "decision";
|
|
ShapeTypes.Terminator = "terminator";
|
|
ShapeTypes.PredefinedProcess = "predefinedProcess";
|
|
ShapeTypes.Document = "document";
|
|
ShapeTypes.MultipleDocuments = "multipleDocuments";
|
|
ShapeTypes.ManualInput = "manualInput";
|
|
ShapeTypes.Preparation = "preparation";
|
|
ShapeTypes.Data = "data";
|
|
ShapeTypes.Database = "database";
|
|
ShapeTypes.HardDisk = "hardDisk";
|
|
ShapeTypes.InternalStorage = "internalStorage";
|
|
ShapeTypes.PaperTape = "paperTape";
|
|
ShapeTypes.ManualOperation = "manualOperation";
|
|
ShapeTypes.Delay = "delay";
|
|
ShapeTypes.StoredData = "storedData";
|
|
ShapeTypes.Display = "display";
|
|
ShapeTypes.Merge = "merge";
|
|
ShapeTypes.Or = "or";
|
|
ShapeTypes.SummingJunction = "summingJunction";
|
|
// Containers
|
|
ShapeTypes.VerticalContainer = "verticalContainer";
|
|
ShapeTypes.HorizontalContainer = "horizontalContainer";
|
|
// Shapes with images
|
|
ShapeTypes.CardWithImageOnLeft = "cardWithImageOnLeft";
|
|
ShapeTypes.CardWithImageOnTop = "cardWithImageOnTop";
|
|
ShapeTypes.CardWithImageOnRight = "cardWithImageOnRight";
|
|
return ShapeTypes;
|
|
}());
|
|
exports.ShapeTypes = ShapeTypes;
|
|
var ShapeType;
|
|
(function (ShapeType) {
|
|
ShapeType[ShapeType["text"] = 0] = "text";
|
|
ShapeType[ShapeType["rectangle"] = 1] = "rectangle";
|
|
ShapeType[ShapeType["ellipse"] = 2] = "ellipse";
|
|
ShapeType[ShapeType["cross"] = 3] = "cross";
|
|
ShapeType[ShapeType["triangle"] = 4] = "triangle";
|
|
ShapeType[ShapeType["diamond"] = 5] = "diamond";
|
|
ShapeType[ShapeType["heart"] = 6] = "heart";
|
|
ShapeType[ShapeType["pentagon"] = 7] = "pentagon";
|
|
ShapeType[ShapeType["hexagon"] = 8] = "hexagon";
|
|
ShapeType[ShapeType["octagon"] = 9] = "octagon";
|
|
ShapeType[ShapeType["star"] = 10] = "star";
|
|
ShapeType[ShapeType["arrowLeft"] = 11] = "arrowLeft";
|
|
ShapeType[ShapeType["arrowTop"] = 12] = "arrowTop";
|
|
ShapeType[ShapeType["arrowRight"] = 13] = "arrowRight";
|
|
ShapeType[ShapeType["arrowBottom"] = 14] = "arrowBottom";
|
|
ShapeType[ShapeType["arrowNorthSouth"] = 15] = "arrowNorthSouth";
|
|
ShapeType[ShapeType["arrowEastWest"] = 16] = "arrowEastWest";
|
|
// Flowchart
|
|
ShapeType[ShapeType["process"] = 17] = "process";
|
|
ShapeType[ShapeType["decision"] = 18] = "decision";
|
|
ShapeType[ShapeType["terminator"] = 19] = "terminator";
|
|
ShapeType[ShapeType["predefinedProcess"] = 20] = "predefinedProcess";
|
|
ShapeType[ShapeType["document"] = 21] = "document";
|
|
ShapeType[ShapeType["multipleDocuments"] = 22] = "multipleDocuments";
|
|
ShapeType[ShapeType["manualInput"] = 23] = "manualInput";
|
|
ShapeType[ShapeType["preparation"] = 24] = "preparation";
|
|
ShapeType[ShapeType["data"] = 25] = "data";
|
|
ShapeType[ShapeType["database"] = 26] = "database";
|
|
ShapeType[ShapeType["hardDisk"] = 27] = "hardDisk";
|
|
ShapeType[ShapeType["internalStorage"] = 28] = "internalStorage";
|
|
ShapeType[ShapeType["paperTape"] = 29] = "paperTape";
|
|
ShapeType[ShapeType["manualOperation"] = 30] = "manualOperation";
|
|
ShapeType[ShapeType["delay"] = 31] = "delay";
|
|
ShapeType[ShapeType["storedData"] = 32] = "storedData";
|
|
ShapeType[ShapeType["display"] = 33] = "display";
|
|
ShapeType[ShapeType["merge"] = 34] = "merge";
|
|
ShapeType[ShapeType["or"] = 35] = "or";
|
|
ShapeType[ShapeType["summingJunction"] = 36] = "summingJunction";
|
|
// Containers
|
|
ShapeType[ShapeType["verticalContainer"] = 37] = "verticalContainer";
|
|
ShapeType[ShapeType["horizontalContainer"] = 38] = "horizontalContainer";
|
|
// Shapes with images
|
|
ShapeType[ShapeType["cardWithImageOnLeft"] = 39] = "cardWithImageOnLeft";
|
|
ShapeType[ShapeType["cardWithImageOnTop"] = 40] = "cardWithImageOnTop";
|
|
ShapeType[ShapeType["cardWithImageOnRight"] = 41] = "cardWithImageOnRight";
|
|
})(ShapeType = exports.ShapeType || (exports.ShapeType = {}));
|
|
|
|
|
|
/***/ }),
|
|
/* 2 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var PathPrimitive = /** @class */ (function (_super) {
|
|
__extends(PathPrimitive, _super);
|
|
function PathPrimitive(commands, style, className, clipPathId, onApplyProperties) {
|
|
var _this = _super.call(this, style, className, clipPathId, onApplyProperties) || this;
|
|
_this.commands = commands;
|
|
return _this;
|
|
}
|
|
PathPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "path");
|
|
};
|
|
PathPrimitive.prototype.applyElementProperties = function (element) {
|
|
element.setAttribute("d", this.commands.map(function (c) { return c.toString(); }).join(" "));
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return PathPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.PathPrimitive = PathPrimitive;
|
|
var PathPrimitiveCommand = /** @class */ (function () {
|
|
function PathPrimitiveCommand() {
|
|
}
|
|
PathPrimitiveCommand.prototype.getUnitVaue = function (value) {
|
|
return typeof value === "number" ? UnitConverter_1.UnitConverter.twipsToPixels(value).toString() : value;
|
|
};
|
|
return PathPrimitiveCommand;
|
|
}());
|
|
exports.PathPrimitiveCommand = PathPrimitiveCommand;
|
|
var PathPrimitiveMoveToCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveMoveToCommand, _super);
|
|
function PathPrimitiveMoveToCommand(x, y) {
|
|
var _this = _super.call(this) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
return _this;
|
|
}
|
|
PathPrimitiveMoveToCommand.prototype.toString = function () {
|
|
return "M " + this.getUnitVaue(this.x) + " " + this.getUnitVaue(this.y);
|
|
};
|
|
return PathPrimitiveMoveToCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveMoveToCommand = PathPrimitiveMoveToCommand;
|
|
var PathPrimitiveLineToCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveLineToCommand, _super);
|
|
function PathPrimitiveLineToCommand(x, y) {
|
|
var _this = _super.call(this) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
return _this;
|
|
}
|
|
PathPrimitiveLineToCommand.prototype.toString = function () {
|
|
return "L " + this.getUnitVaue(this.x) + " " + this.getUnitVaue(this.y);
|
|
};
|
|
return PathPrimitiveLineToCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveLineToCommand = PathPrimitiveLineToCommand;
|
|
var PathPrimitiveCubicCurveToCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveCubicCurveToCommand, _super);
|
|
function PathPrimitiveCubicCurveToCommand(x1, y1, x2, y2, x3, y3) {
|
|
var _this = _super.call(this) || this;
|
|
_this.x1 = x1;
|
|
_this.y1 = y1;
|
|
_this.x2 = x2;
|
|
_this.y2 = y2;
|
|
_this.x3 = x3;
|
|
_this.y3 = y3;
|
|
return _this;
|
|
}
|
|
PathPrimitiveCubicCurveToCommand.prototype.toString = function () {
|
|
return "C " + this.getUnitVaue(this.x1) + " " + this.getUnitVaue(this.y1) + "," +
|
|
this.getUnitVaue(this.x2) + " " + this.getUnitVaue(this.y2) + "," +
|
|
this.getUnitVaue(this.x3) + " " + this.getUnitVaue(this.y3);
|
|
};
|
|
return PathPrimitiveCubicCurveToCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveCubicCurveToCommand = PathPrimitiveCubicCurveToCommand;
|
|
var PathPrimitiveQuadraticCurveToCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveQuadraticCurveToCommand, _super);
|
|
function PathPrimitiveQuadraticCurveToCommand(x1, y1, x2, y2) {
|
|
var _this = _super.call(this) || this;
|
|
_this.x1 = x1;
|
|
_this.y1 = y1;
|
|
_this.x2 = x2;
|
|
_this.y2 = y2;
|
|
return _this;
|
|
}
|
|
PathPrimitiveQuadraticCurveToCommand.prototype.toString = function () {
|
|
return "Q " + this.getUnitVaue(this.x1) + " " + this.getUnitVaue(this.y1) + "," +
|
|
this.getUnitVaue(this.x2) + " " + this.getUnitVaue(this.y2);
|
|
};
|
|
return PathPrimitiveQuadraticCurveToCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveQuadraticCurveToCommand = PathPrimitiveQuadraticCurveToCommand;
|
|
var PathPrimitiveArcToCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveArcToCommand, _super);
|
|
function PathPrimitiveArcToCommand(rx, ry, xAxisRotation, largeArcFlag, sweepFag, x, y) {
|
|
var _this = _super.call(this) || this;
|
|
_this.rx = rx;
|
|
_this.ry = ry;
|
|
_this.xAxisRotation = xAxisRotation;
|
|
_this.largeArcFlag = largeArcFlag;
|
|
_this.sweepFag = sweepFag;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
return _this;
|
|
}
|
|
PathPrimitiveArcToCommand.prototype.toString = function () {
|
|
return "A " + this.getUnitVaue(this.rx) + " " + this.getUnitVaue(this.ry) + " " +
|
|
this.getUnitVaue(this.xAxisRotation) + " " +
|
|
(this.largeArcFlag ? "1" : "0") + " " + (this.sweepFag ? "1" : "0") +
|
|
this.getUnitVaue(this.x) + "," + this.getUnitVaue(this.y);
|
|
};
|
|
return PathPrimitiveArcToCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveArcToCommand = PathPrimitiveArcToCommand;
|
|
var PathPrimitiveClosePathCommand = /** @class */ (function (_super) {
|
|
__extends(PathPrimitiveClosePathCommand, _super);
|
|
function PathPrimitiveClosePathCommand() {
|
|
return _super.call(this) || this;
|
|
}
|
|
PathPrimitiveClosePathCommand.prototype.toString = function () {
|
|
return "z";
|
|
};
|
|
return PathPrimitiveClosePathCommand;
|
|
}(PathPrimitiveCommand));
|
|
exports.PathPrimitiveClosePathCommand = PathPrimitiveClosePathCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 3 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem = /** @class */ (function () {
|
|
function HistoryItem() {
|
|
this.uniqueId = -1;
|
|
}
|
|
HistoryItem.prototype.changeModified = function () {
|
|
return true;
|
|
};
|
|
HistoryItem.prototype.getName = function () {
|
|
return this.constructor.name;
|
|
};
|
|
return HistoryItem;
|
|
}());
|
|
exports.HistoryItem = HistoryItem;
|
|
var CompositionHistoryItem = /** @class */ (function (_super) {
|
|
__extends(CompositionHistoryItem, _super);
|
|
function CompositionHistoryItem() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.historyItems = [];
|
|
return _this;
|
|
}
|
|
CompositionHistoryItem.prototype.changeModified = function () {
|
|
var item;
|
|
for (var i = 0; item = this.historyItems[i]; i++) {
|
|
if (item.changeModified())
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
CompositionHistoryItem.prototype.redo = function (manipulator) {
|
|
var item;
|
|
for (var i = 0; item = this.historyItems[i]; i++)
|
|
item.redo(manipulator);
|
|
};
|
|
CompositionHistoryItem.prototype.undo = function (manipulator) {
|
|
var item;
|
|
for (var i = this.historyItems.length - 1; item = this.historyItems[i]; i--)
|
|
item.undo(manipulator);
|
|
};
|
|
CompositionHistoryItem.prototype.add = function (historyItem) {
|
|
if (historyItem == null)
|
|
throw new Error("cannot be null");
|
|
this.historyItems.push(historyItem);
|
|
};
|
|
return CompositionHistoryItem;
|
|
}(HistoryItem));
|
|
exports.CompositionHistoryItem = CompositionHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 4 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Style_1 = __webpack_require__(27);
|
|
var ConnectionPointSide;
|
|
(function (ConnectionPointSide) {
|
|
ConnectionPointSide[ConnectionPointSide["Undefined"] = -1] = "Undefined";
|
|
ConnectionPointSide[ConnectionPointSide["North"] = 0] = "North";
|
|
ConnectionPointSide[ConnectionPointSide["East"] = 1] = "East";
|
|
ConnectionPointSide[ConnectionPointSide["South"] = 2] = "South";
|
|
ConnectionPointSide[ConnectionPointSide["West"] = 3] = "West";
|
|
})(ConnectionPointSide = exports.ConnectionPointSide || (exports.ConnectionPointSide = {}));
|
|
;
|
|
exports.DEFAULT_ZINDEX = 0;
|
|
var DiagramItem = /** @class */ (function () {
|
|
function DiagramItem() {
|
|
this.key = undefined;
|
|
this.dataKey = undefined;
|
|
this.attachedConnectors = [];
|
|
this.zIndex = exports.DEFAULT_ZINDEX;
|
|
this.locked = false;
|
|
this.container = undefined;
|
|
this.containerLocked = false;
|
|
this.style = new Style_1.Style();
|
|
this.styleText = new Style_1.StyleText();
|
|
}
|
|
DiagramItem.prototype.assign = function (item) {
|
|
item.key = this.key;
|
|
item.dataKey = this.dataKey;
|
|
item.locked = this.locked;
|
|
item.attachedConnectors = this.attachedConnectors.slice();
|
|
item.style = this.style.clone();
|
|
item.styleText = this.styleText.clone();
|
|
item.zIndex = this.zIndex;
|
|
item.container = this.container;
|
|
item.containerLocked = this.containerLocked;
|
|
};
|
|
DiagramItem.prototype.invalidatePrimitives = function () {
|
|
this.primitives && this.primitives.forEach(function (element) {
|
|
element.dispose();
|
|
});
|
|
delete this.primitives;
|
|
delete this.selectorPrimitives;
|
|
};
|
|
DiagramItem.prototype.getPrimitives = function () {
|
|
if (!this.primitives)
|
|
this.primitives = this.createPrimitives();
|
|
return this.primitives;
|
|
};
|
|
DiagramItem.prototype.getSelectorPrimitives = function () {
|
|
if (!this.selectorPrimitives)
|
|
this.selectorPrimitives = this.createSelectorPrimitives();
|
|
return this.selectorPrimitives;
|
|
};
|
|
DiagramItem.prototype.getConnectionPointPosition = function (index, targetPoint) {
|
|
return this.getConnectionPoint(index, targetPoint).toPoint();
|
|
};
|
|
DiagramItem.prototype.getConnectionPoint = function (index, targetPoint) {
|
|
if (index < 0 && targetPoint)
|
|
index = this.getNearestConnectionPoint(targetPoint);
|
|
var connectionPoints = this.getConnectionPoints();
|
|
return connectionPoints[index] || connectionPoints[0];
|
|
};
|
|
DiagramItem.prototype.getNearestConnectionPoint = function (targetPoint) {
|
|
var distance = Number.MAX_VALUE;
|
|
var result;
|
|
this.getConnectionPoints().forEach(function (pt, index) {
|
|
var ptDistance = Utils_1.GeometryUtils.getDistance(pt, targetPoint);
|
|
if (ptDistance < distance) {
|
|
distance = ptDistance;
|
|
result = index;
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
DiagramItem.prototype.getConnectionPointIndex = function (side) {
|
|
var points = this.getConnectionPoints();
|
|
return points.reduce(function (prevIndex, pt, index) {
|
|
if (side === ConnectionPointSide.North && pt.y < points[prevIndex].y)
|
|
return index;
|
|
if (side === ConnectionPointSide.South && pt.y > points[prevIndex].y)
|
|
return index;
|
|
if (side === ConnectionPointSide.West && pt.x < points[prevIndex].x)
|
|
return index;
|
|
if (side === ConnectionPointSide.East && pt.x > points[prevIndex].x)
|
|
return index;
|
|
return prevIndex;
|
|
}, 0);
|
|
};
|
|
DiagramItem.prototype.getConnectionPointSideByIndex = function (index, targetPoint) {
|
|
var point = this.getConnectionPoint(index, targetPoint);
|
|
return this.getConnectionPointSide(point, targetPoint);
|
|
};
|
|
DiagramItem.prototype.getConnectionPointIndexForSide = function (side) {
|
|
return side;
|
|
};
|
|
Object.defineProperty(DiagramItem.prototype, "enableText", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramItem.prototype, "allowEditText", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramItem.prototype, "enableChildren", {
|
|
get: function () { return false; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramItem.prototype, "isLocked", {
|
|
get: function () { return this.locked || this.containerLocked; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DiagramItem.prototype.intersectedByRect = function (rect) {
|
|
return this.rectangle.intersect(rect);
|
|
};
|
|
return DiagramItem;
|
|
}());
|
|
exports.DiagramItem = DiagramItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 5 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var LinePrimitive_1 = __webpack_require__(80);
|
|
var ConnectorPointsCalculator_1 = __webpack_require__(142);
|
|
var ConnectorPointsOrthogonalCalculator_1 = __webpack_require__(143);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var ConnectorTexts_1 = __webpack_require__(149);
|
|
var TextPrimitive_1 = __webpack_require__(64);
|
|
var Event_1 = __webpack_require__(10);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var NativeItem_1 = __webpack_require__(63);
|
|
var ConnectorPosition;
|
|
(function (ConnectorPosition) {
|
|
ConnectorPosition[ConnectorPosition["Begin"] = 0] = "Begin";
|
|
ConnectorPosition[ConnectorPosition["End"] = 1] = "End";
|
|
})(ConnectorPosition = exports.ConnectorPosition || (exports.ConnectorPosition = {}));
|
|
exports.CONNECTOR_DEFAULT_TEXT_POSITION = 0.5;
|
|
var Connector = /** @class */ (function (_super) {
|
|
__extends(Connector, _super);
|
|
function Connector(points) {
|
|
var _this = _super.call(this) || this;
|
|
_this.beginConnectionPointIndex = -1;
|
|
_this.endConnectionPointIndex = -1;
|
|
_this.properties = new ConnectorProperties_1.ConnectorProperties();
|
|
_this.points = points.map(function (pt) { return pt.clone(); });
|
|
if (points.length < 2)
|
|
throw Error("Points count should be greater than 1");
|
|
_this.texts = new ConnectorTexts_1.ConnectorTexts();
|
|
return _this;
|
|
}
|
|
Connector.prototype.assign = function (item) {
|
|
_super.prototype.assign.call(this, item);
|
|
item.beginItem = this.beginItem;
|
|
item.beginConnectionPointIndex = this.beginConnectionPointIndex;
|
|
item.endItem = this.endItem;
|
|
item.endConnectionPointIndex = this.endConnectionPointIndex;
|
|
item.properties = this.properties.clone();
|
|
item.texts = this.texts.clone();
|
|
};
|
|
Connector.prototype.clone = function () {
|
|
var clone = new Connector(this.points);
|
|
this.assign(clone);
|
|
return clone;
|
|
};
|
|
Connector.prototype.getRenderPoints = function (keepSkipped) {
|
|
if (keepSkipped === void 0) { keepSkipped = false; }
|
|
if (this.renderPoints === undefined) {
|
|
this.renderPoints = this.getCalculator().getPoints();
|
|
this.renderPointsWithoutSkipped = this.renderPoints.filter(function (pt) { return !pt.skipped; });
|
|
}
|
|
return keepSkipped ? this.renderPoints : this.renderPointsWithoutSkipped;
|
|
};
|
|
Connector.prototype.getText = function (position) {
|
|
if (position === void 0) { position = exports.CONNECTOR_DEFAULT_TEXT_POSITION; }
|
|
var textObj = this.texts.get(position);
|
|
return textObj ? textObj.value : "";
|
|
};
|
|
Connector.prototype.setText = function (text, position) {
|
|
if (position === void 0) { position = exports.CONNECTOR_DEFAULT_TEXT_POSITION; }
|
|
if (!text || text === "")
|
|
this.texts.remove(position);
|
|
else
|
|
this.texts.set(position, new ConnectorTexts_1.ConnectorText(position, text));
|
|
};
|
|
Connector.prototype.getTextPoint = function (position) {
|
|
var points = this.getRenderPoints();
|
|
return Utils_1.GeometryUtils.getPathPointByPosition(points, position);
|
|
};
|
|
Connector.prototype.getTextPositionByPoint = function (point) {
|
|
var points = this.getRenderPoints();
|
|
var length = Utils_1.GeometryUtils.getPathLength(points);
|
|
var pos = Utils_1.GeometryUtils.getPathPositionByPoint(points, point);
|
|
var minTextHeight = UnitConverter_1.UnitConverter.pointsToTwips(parseInt(this.styleText["font-size"]));
|
|
if (minTextHeight > pos * length)
|
|
return minTextHeight / length;
|
|
if (minTextHeight > length - pos * length)
|
|
return (length - minTextHeight) / length;
|
|
return pos;
|
|
};
|
|
Connector.prototype.getTextRectangle = function (position) {
|
|
return new Utils_1.Rectangle(this.getTextPoint(position), new Utils_1.Size(0, 0));
|
|
};
|
|
Connector.prototype.getCalculator = function () {
|
|
return (this.properties.lineOption === ConnectorProperties_1.ConnectorLineOption.Straight) ?
|
|
new ConnectorPointsCalculator_1.ConnectorPointsCalculator(this) :
|
|
new ConnectorPointsOrthogonalCalculator_1.ConnectorPointsOrthogonalCalculator(this);
|
|
};
|
|
Connector.prototype.invalidateRenderPoints = function () {
|
|
delete this.renderPoints;
|
|
delete this.renderPointsWithoutSkipped;
|
|
this.invalidatePrimitives();
|
|
};
|
|
Connector.prototype.createPrimitives = function () {
|
|
var _this = this;
|
|
var result = [];
|
|
var points = this.getRenderPoints();
|
|
points.forEach(function (pt, index) {
|
|
if (index > 0)
|
|
result.push(_this.createSegmentPrimitive(points[index - 1], pt, _this.style, null));
|
|
});
|
|
if (points.length > 1) {
|
|
if (this.properties.startLineEnding !== ConnectorProperties_1.ConnectorLineEnding.None)
|
|
result = result.concat(this.createLineEndingPrimitives(points[0], points[1]));
|
|
if (this.properties.endLineEnding !== ConnectorProperties_1.ConnectorLineEnding.None)
|
|
result = result.concat(this.createLineEndingPrimitives(points[points.length - 1], points[points.length - 2]));
|
|
}
|
|
return result.concat(this.createTextPrimitives());
|
|
};
|
|
Connector.prototype.createSelectorPrimitives = function () {
|
|
var _this = this;
|
|
var result = [];
|
|
var points = this.getRenderPoints();
|
|
points.forEach(function (pt, index) {
|
|
if (index > 0)
|
|
result.push(_this.createSegmentPrimitive(points[index - 1], pt, null, "selector"));
|
|
});
|
|
return result;
|
|
};
|
|
Connector.prototype.createTextPrimitives = function () {
|
|
var _this = this;
|
|
if (!this.enableText)
|
|
return [];
|
|
var result = [];
|
|
this.texts.forEach(function (textObj) {
|
|
var text = _this.getText(textObj.position);
|
|
if (text && text !== "") {
|
|
var pt = _this.getTextPoint(textObj.position);
|
|
result = result.concat([
|
|
new TextPrimitive_1.TextPrimitive(pt.x, pt.y, text, undefined, _this.styleText, true, null, CanvasManagerBase_1.PAGE_BG_TEXTFLOOR_FILTER_ID, false, function (el) {
|
|
Utils_2.RenderUtils.setElementEventData(el, Event_1.MouseEventElementType.ConnectorText, _this.key, textObj.position);
|
|
})
|
|
]);
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
Connector.prototype.createSegmentPrimitive = function (point1, point2, style, className) {
|
|
return new LinePrimitive_1.LinePrimitive(point1.x, point1.y, point2.x, point2.y, style, className);
|
|
};
|
|
Connector.prototype.createLineEndingPrimitives = function (point, directionPoint) {
|
|
var arrowHeight = Connector.arrowHeight;
|
|
if (point.x === directionPoint.x) {
|
|
var distance = Math.abs(point.y - directionPoint.y);
|
|
if (distance < arrowHeight)
|
|
arrowHeight = distance;
|
|
}
|
|
if (point.y === directionPoint.y) {
|
|
var distance = Math.abs(point.x - directionPoint.x);
|
|
if (distance < arrowHeight)
|
|
arrowHeight = distance;
|
|
}
|
|
var arrowPoints = Utils_1.GeometryUtils.getArrowPoints(point, directionPoint, arrowHeight, Connector.arrowWidth);
|
|
return [
|
|
new LinePrimitive_1.LinePrimitive(arrowPoints.point1.x, arrowPoints.point1.y, point.x, point.y, this.style),
|
|
new LinePrimitive_1.LinePrimitive(arrowPoints.point2.x, arrowPoints.point2.y, point.x, point.y, this.style)
|
|
];
|
|
};
|
|
Connector.prototype.getExtremeItem = function (position) {
|
|
if (position === ConnectorPosition.Begin)
|
|
return this.beginItem;
|
|
if (position === ConnectorPosition.End)
|
|
return this.endItem;
|
|
return null;
|
|
};
|
|
Connector.prototype.getExtremeConnectionPointIndex = function (position) {
|
|
if (position === ConnectorPosition.Begin)
|
|
return this.beginConnectionPointIndex;
|
|
if (position === ConnectorPosition.End)
|
|
return this.endConnectionPointIndex;
|
|
return -1;
|
|
};
|
|
Object.defineProperty(Connector.prototype, "rectangle", {
|
|
get: function () {
|
|
var points = this.getRenderPoints();
|
|
var xarr = points.map(function (p) { return p.x; });
|
|
var yarr = points.map(function (p) { return p.y; });
|
|
var minX = xarr.reduce(function (prev, cur) { return Math.min(prev, cur); }, Number.MAX_VALUE);
|
|
var maxX = xarr.reduce(function (prev, cur) { return Math.max(prev, cur); }, -Number.MAX_VALUE);
|
|
var minY = yarr.reduce(function (prev, cur) { return Math.min(prev, cur); }, Number.MAX_VALUE);
|
|
var maxY = yarr.reduce(function (prev, cur) { return Math.max(prev, cur); }, -Number.MAX_VALUE);
|
|
return Utils_1.Rectangle.create(minX, minY, maxX - minX, maxY - minY);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Connector.prototype.getMinX = function () {
|
|
var points = this.getRenderPoints();
|
|
var xarr = points.map(function (p) { return p.x; });
|
|
return xarr.reduce(function (prev, cur) { return Math.min(prev, cur); }, Number.MAX_VALUE);
|
|
};
|
|
Connector.prototype.getMinY = function () {
|
|
var points = this.getRenderPoints();
|
|
var yarr = points.map(function (p) { return p.y; });
|
|
return yarr.reduce(function (prev, cur) { return Math.min(prev, cur); }, Number.MAX_VALUE);
|
|
};
|
|
Connector.prototype.getConnectionPoints = function () {
|
|
return [];
|
|
};
|
|
Connector.prototype.getConnectionPointsForSelection = function () {
|
|
return [];
|
|
};
|
|
Connector.prototype.getConnectionPointSide = function (point, targetPoint) {
|
|
return DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
Connector.prototype.getConnectionPointForSelectionSide = function (point) {
|
|
return DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
Connector.prototype.getSegments = function () {
|
|
var points = this.getRenderPoints();
|
|
var result = [];
|
|
points.forEach(function (pt, index) {
|
|
if (index > 0)
|
|
result.push(Utils_1.Segment.createByPoints(points[index - 1], pt));
|
|
});
|
|
return result;
|
|
};
|
|
Connector.prototype.intersectedByRect = function (rect) {
|
|
var result = false;
|
|
this.getSegments().forEach(function (s) {
|
|
if (s.intersectRect(rect)) {
|
|
result = true;
|
|
return;
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
Connector.prototype.toNative = function () {
|
|
var item = new NativeItem_1.NativeConnector(this.key, this.dataKey);
|
|
item.fromKey = this.beginItem && this.beginItem.dataKey;
|
|
item.toKey = this.endItem && this.endItem.dataKey;
|
|
item.texts = this.texts.map(function (t) { return t; }).sort(function (a, b) { return a.position - b.position; }).map(function (a) { return a.value; });
|
|
return item;
|
|
};
|
|
Connector.arrowHeight = UnitConverter_1.UnitConverter.pixelsToTwips(8);
|
|
Connector.arrowWidth = UnitConverter_1.UnitConverter.pixelsToTwips(2);
|
|
Connector.minOffset = UnitConverter_1.UnitConverter.pixelsToTwips(18);
|
|
Connector.minTextHeight = UnitConverter_1.UnitConverter.pixelsToTwips(12);
|
|
return Connector;
|
|
}(DiagramItem_1.DiagramItem));
|
|
exports.Connector = Connector;
|
|
|
|
|
|
/***/ }),
|
|
/* 6 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MoveShapeHistoryItem_1 = __webpack_require__(130);
|
|
var AddConnectionHistoryItem_1 = __webpack_require__(37);
|
|
var MoveConnectorPointHistoryItem_1 = __webpack_require__(50);
|
|
var ModelResizeHistoryItem_1 = __webpack_require__(150);
|
|
var UpdatePositionsOnPageResizeHistoryItem_1 = __webpack_require__(151);
|
|
var Model_1 = __webpack_require__(19);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var DeleteConnectorPointHistoryItem_1 = __webpack_require__(152);
|
|
var ResizeShapeHistoryItem_1 = __webpack_require__(153);
|
|
var DeleteConnectionHistoryItem_1 = __webpack_require__(90);
|
|
var DeleteShapeHistoryItem_1 = __webpack_require__(91);
|
|
var DeleteConnectorHistoryItem_1 = __webpack_require__(154);
|
|
var SetSelectionHistoryItem_1 = __webpack_require__(44);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var AddShapeHistoryItem_1 = __webpack_require__(51);
|
|
var AddConnectorHistoryItem_1 = __webpack_require__(52);
|
|
var Graph_1 = __webpack_require__(53);
|
|
var Base_1 = __webpack_require__(17);
|
|
var InsertToContainerHistoryItem_1 = __webpack_require__(191);
|
|
var RemoveFromContainerHistoryItem_1 = __webpack_require__(192);
|
|
var ChangeShapeParametersHistoryItem_1 = __webpack_require__(102);
|
|
var ChangeStyleHistoryItem_1 = __webpack_require__(46);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var ChangeConnectorTextHistoryItem_1 = __webpack_require__(54);
|
|
var ChangeConnectorPropertyHistoryItem_1 = __webpack_require__(55);
|
|
var ChangeLockedHistoryItem_1 = __webpack_require__(104);
|
|
var ChangeContainerLockedHistoryItem_1 = __webpack_require__(193);
|
|
var GraphInfo_1 = __webpack_require__(194);
|
|
var Structures_1 = __webpack_require__(31);
|
|
var ModelUtils = /** @class */ (function () {
|
|
function ModelUtils() {
|
|
}
|
|
ModelUtils.setShapePosition = function (history, model, shape, newPosition) {
|
|
if (!shape.position.equals(newPosition))
|
|
history.addAndRedo(new MoveShapeHistoryItem_1.MoveShapeHistoryItem(shape.key, newPosition));
|
|
};
|
|
ModelUtils.setShapeSize = function (history, model, shape, newPosition, newSize) {
|
|
if (!shape.size.equals(newSize) || !shape.position.equals(newPosition))
|
|
history.addAndRedo(new ResizeShapeHistoryItem_1.ResizeShapeHistoryItem(shape.key, newPosition, newSize));
|
|
};
|
|
ModelUtils.setConnectorPoint = function (history, model, connector, pointIndex, newPosition) {
|
|
if (!connector.points[pointIndex].equals(newPosition))
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(connector.key, pointIndex, newPosition));
|
|
};
|
|
ModelUtils.updateConnectorAttachedPoints = function (history, model, connector) {
|
|
history.beginTransaction();
|
|
var beginContainer = connector.beginItem && model.findItemCollapsedContainer(connector.beginItem);
|
|
var beginAttachedToContainer = beginContainer && (!connector.endItem || !model.isContainerItem(beginContainer, connector.endItem));
|
|
var endContainer = connector.endItem && model.findItemCollapsedContainer(connector.endItem);
|
|
var endAttachedToContainer = endContainer && (!connector.beginItem || !model.isContainerItem(endContainer, connector.beginItem));
|
|
if (beginAttachedToContainer)
|
|
this.updateConnectorBeginPoint(history, connector, beginContainer, (endAttachedToContainer && endContainer) || connector.endItem, function (index) { return beginContainer.getConnectionPointIndexForItem(connector.beginItem, index); });
|
|
else
|
|
this.updateConnectorBeginPoint(history, connector, connector.beginItem, (endAttachedToContainer && endContainer) || connector.endItem);
|
|
if (endAttachedToContainer)
|
|
this.updateConnectorEndPoint(history, connector, endContainer, function (index) { return endContainer.getConnectionPointIndexForItem(connector.beginItem, index); });
|
|
else
|
|
this.updateConnectorEndPoint(history, connector, connector.endItem);
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.updateConnectorBeginPoint = function (history, connector, beginItem, endItem, getConnectionPointIndex) {
|
|
if (beginItem) {
|
|
var connectionPointIndex = getConnectionPointIndex !== undefined ?
|
|
getConnectionPointIndex(connector.beginConnectionPointIndex) : connector.beginConnectionPointIndex;
|
|
var targetPoint = connector.points[1];
|
|
if (endItem && connector.points.length === 2) {
|
|
if (connector.endConnectionPointIndex !== -1)
|
|
targetPoint = endItem.getConnectionPointPosition(connector.endConnectionPointIndex, Utils_1.Point.empty());
|
|
else
|
|
targetPoint = endItem.rectangle.center;
|
|
}
|
|
var pt = beginItem.getConnectionPointPosition(connectionPointIndex, targetPoint);
|
|
if (!connector.points[0].equals(pt))
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(connector.key, 0, pt));
|
|
}
|
|
};
|
|
ModelUtils.updateConnectorEndPoint = function (history, connector, endItem, getConnectionPointIndex) {
|
|
if (endItem) {
|
|
var connectionPointIndex = getConnectionPointIndex !== undefined ?
|
|
getConnectionPointIndex(connector.endConnectionPointIndex) : connector.endConnectionPointIndex;
|
|
var pt = endItem.getConnectionPointPosition(connectionPointIndex, connector.points[connector.points.length - 2]);
|
|
if (!connector.points[connector.points.length - 1].equals(pt))
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(connector.key, connector.points.length - 1, pt));
|
|
}
|
|
};
|
|
ModelUtils.updateContainerConnectorsAttachedPoints = function (history, model, rootContainer, container) {
|
|
var _this = this;
|
|
if (container === void 0) { container = rootContainer; }
|
|
history.beginTransaction();
|
|
var children = model.getChildren(container);
|
|
children.forEach(function (child) {
|
|
if (child instanceof Shape_1.Shape) {
|
|
child.attachedConnectors.forEach(function (connector) {
|
|
var beginItemInContainer = connector.beginItem && model.isContainerItem(container, connector.beginItem);
|
|
var endItemInContainer = connector.endItem && model.isContainerItem(container, connector.endItem);
|
|
if (beginItemInContainer && !endItemInContainer) {
|
|
var collapsedContainer = model.findItemTopCollapsedContainer(connector.beginItem);
|
|
var endCollapsedContainer = connector.endItem && model.findItemTopCollapsedContainer(connector.endItem);
|
|
if (!collapsedContainer)
|
|
_this.updateConnectorBeginPoint(history, connector, connector.beginItem, endCollapsedContainer || connector.endItem);
|
|
else {
|
|
_this.updateConnectorBeginPoint(history, connector, collapsedContainer, endCollapsedContainer || connector.endItem, function (index) { return rootContainer.getConnectionPointIndexForItem(connector.beginItem, index); });
|
|
}
|
|
}
|
|
if (endItemInContainer && !beginItemInContainer) {
|
|
var collapsedContainer = model.findItemTopCollapsedContainer(connector.endItem);
|
|
if (!collapsedContainer)
|
|
_this.updateConnectorEndPoint(history, connector, connector.endItem);
|
|
else {
|
|
_this.updateConnectorEndPoint(history, connector, collapsedContainer, function (index) { return rootContainer.getConnectionPointIndexForItem(connector.endItem, index); });
|
|
}
|
|
}
|
|
});
|
|
_this.updateContainerConnectorsAttachedPoints(history, model, rootContainer, child);
|
|
}
|
|
});
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.getConnectorsWithoutBeginItemInfo = function (model) {
|
|
var connectors = model.findConnectorsWithoutBeginItem();
|
|
return connectors.map(function (c) {
|
|
return {
|
|
connector: c,
|
|
point: c.points[0].clone()
|
|
};
|
|
});
|
|
};
|
|
ModelUtils.getConnectorsWithoutEndItemInfo = function (model) {
|
|
var connectors = model.findConnectorsWithoutEndItem();
|
|
return connectors.map(function (c) {
|
|
return {
|
|
connector: c,
|
|
point: c.points[c.points.length - 1].clone()
|
|
};
|
|
});
|
|
};
|
|
ModelUtils.updateShapeAttachedConnectors = function (history, model, shape) {
|
|
shape.attachedConnectors.forEach(function (connector) {
|
|
ModelUtils.removeConnectorIntermediatePoints(history, connector);
|
|
ModelUtils.updateConnectorAttachedPoints(history, model, connector);
|
|
});
|
|
};
|
|
ModelUtils.updateMovingShapeConnections = function (history, shape, beginPointsInfo, endPointsInfo, resetTargetCallback, updateTargetCallback) {
|
|
var _this = this;
|
|
resetTargetCallback();
|
|
beginPointsInfo.forEach(function (pi) {
|
|
var connectionPointIndex = _this.getMovingShapeConnectionPointIndex(shape, pi.point);
|
|
if (shape.rectangle.contains(pi.point) || connectionPointIndex > -1) {
|
|
updateTargetCallback(shape, connectionPointIndex);
|
|
if (connectionPointIndex !== pi.connector.beginConnectionPointIndex && pi.connector.beginItem)
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(pi.connector, Connector_1.ConnectorPosition.Begin));
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(pi.connector, shape, connectionPointIndex, Connector_1.ConnectorPosition.Begin));
|
|
}
|
|
else if (pi.connector.beginItem) {
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(pi.connector, Connector_1.ConnectorPosition.Begin));
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(pi.connector.key, 0, pi.point));
|
|
}
|
|
});
|
|
endPointsInfo.forEach(function (pi) {
|
|
var connectionPointIndex = _this.getMovingShapeConnectionPointIndex(shape, pi.point);
|
|
if (shape.rectangle.contains(pi.point) || connectionPointIndex > -1) {
|
|
updateTargetCallback(shape, connectionPointIndex);
|
|
if (connectionPointIndex !== pi.connector.endConnectionPointIndex && pi.connector.endItem)
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(pi.connector, Connector_1.ConnectorPosition.End));
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(pi.connector, shape, connectionPointIndex, Connector_1.ConnectorPosition.End));
|
|
}
|
|
else if (pi.connector.endItem) {
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(pi.connector, Connector_1.ConnectorPosition.End));
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(pi.connector.key, pi.connector.points.length - 1, pi.point));
|
|
}
|
|
});
|
|
};
|
|
ModelUtils.getMovingShapeConnectionPointIndex = function (shape, point) {
|
|
var _this = this;
|
|
var connectionPointIndex = -1;
|
|
shape.getConnectionPoints().forEach(function (pt, index) {
|
|
if (Utils_1.GeometryUtils.getDistance(point, pt) < _this.connectionPointActionSize)
|
|
connectionPointIndex = index;
|
|
});
|
|
return connectionPointIndex;
|
|
};
|
|
ModelUtils.removeUnnecessaryConnectorPoints = function (history, connector, exceptPoints, removeCallback) {
|
|
history.beginTransaction();
|
|
Utils_1.GeometryUtils.removeUnnecessaryLinePoints(connector.points, function (pt, index) {
|
|
var needRemove = true;
|
|
if (exceptPoints) {
|
|
exceptPoints.forEach(function (ept) {
|
|
if (ept && ept.equals(pt)) {
|
|
needRemove = false;
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
if (needRemove) {
|
|
history.addAndRedo(new DeleteConnectorPointHistoryItem_1.DeleteConnectorPointHistoryItem(connector.key, index));
|
|
if (removeCallback !== undefined)
|
|
removeCallback(index);
|
|
return true;
|
|
}
|
|
});
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.removeConnectorIntermediatePoints = function (history, connector) {
|
|
if (connector.properties.lineOption !== ConnectorProperties_1.ConnectorLineOption.Orthogonal || connector.points.length <= 2)
|
|
return;
|
|
history.beginTransaction();
|
|
var removePoints = false;
|
|
if (this.isShapeIntersectConnectorPointsLine(connector.beginItem, connector))
|
|
removePoints = true;
|
|
if (this.isShapeIntersectConnectorPointsLine(connector.endItem, connector))
|
|
removePoints = true;
|
|
if (removePoints) {
|
|
while (connector.points.length > 2) {
|
|
history.addAndRedo(new DeleteConnectorPointHistoryItem_1.DeleteConnectorPointHistoryItem(connector.key, 1));
|
|
}
|
|
}
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.isShapeIntersectConnectorPointsLine = function (shape, connector) {
|
|
if (!shape)
|
|
return false;
|
|
var offset = Connector_1.Connector.minOffset - UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
var rect = shape.rectangle.inflate(offset, offset);
|
|
var prevPt;
|
|
for (var i = 1; i < connector.points.length - 1; i++) {
|
|
if (prevPt !== undefined) {
|
|
if (prevPt.x === connector.points[i].x) {
|
|
if (rect.left <= prevPt.x && prevPt.x <= rect.right)
|
|
return true;
|
|
}
|
|
if (prevPt.y === connector.points[i].y) {
|
|
if (rect.top <= prevPt.y && prevPt.y <= rect.bottom)
|
|
return true;
|
|
}
|
|
}
|
|
prevPt = connector.points[i];
|
|
}
|
|
return false;
|
|
};
|
|
ModelUtils.getSnappedPos = function (model, gridSize, pos, isHorizontal) {
|
|
var snapOffset = isHorizontal ? model.snapStartPoint.x : model.snapStartPoint.y;
|
|
return Math.round((pos - snapOffset) / gridSize) * gridSize + snapOffset;
|
|
};
|
|
ModelUtils.tryUpdateModelSize = function (history, model, processPoints) {
|
|
var offset = history.modelManipulator.getModelSizeUpdateOffset();
|
|
if (!offset.isEmpty()) {
|
|
history.addAndRedo(new ModelResizeHistoryItem_1.ModelResizeHistoryItem(offset));
|
|
if (offset.left || offset.top) {
|
|
history.addAndRedo(new UpdatePositionsOnPageResizeHistoryItem_1.UpdatePositionsOnPageResizeHistoryItem(offset.left, offset.top));
|
|
if (processPoints !== undefined)
|
|
processPoints(offset.left, offset.top);
|
|
}
|
|
history.modelManipulator.raiseModelRectangleChanged(model.getRectangle(true));
|
|
}
|
|
};
|
|
ModelUtils.deleteItems = function (history, model, selection, items, deleteLocked) {
|
|
history.beginTransaction();
|
|
this.deleteItemsCore(history, model, items, deleteLocked);
|
|
this.tryUpdateModelSize(history, model);
|
|
history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(selection, []));
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.deleteItemsCore = function (history, model, items, deleteLocked) {
|
|
var _this = this;
|
|
items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
var children = model.getChildren(item);
|
|
if (children.length) {
|
|
children.forEach(function (child) {
|
|
history.addAndRedo(new RemoveFromContainerHistoryItem_1.RemoveFromContainerHistoryItem(child));
|
|
_this.updateAttachedConnectorsContainer(history, model, child);
|
|
});
|
|
_this.deleteItemsCore(history, model, children.filter(function (child) { return !child.locked || deleteLocked; }), deleteLocked);
|
|
}
|
|
if (model.findItem(item.key))
|
|
_this.deleteShape(history, item);
|
|
}
|
|
if (item instanceof Connector_1.Connector) {
|
|
if (model.findItem(item.key))
|
|
_this.deleteConnector(history, item);
|
|
}
|
|
});
|
|
};
|
|
ModelUtils.deleteShape = function (history, shape) {
|
|
while (shape.attachedConnectors.length > 0) {
|
|
var connector = shape.attachedConnectors[0];
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(connector, connector.beginItem === shape ? Connector_1.ConnectorPosition.Begin : Connector_1.ConnectorPosition.End));
|
|
}
|
|
history.addAndRedo(new DeleteShapeHistoryItem_1.DeleteShapeHistoryItem(shape.key));
|
|
};
|
|
ModelUtils.deleteConnector = function (history, connector) {
|
|
if (connector.beginItem)
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(connector, Connector_1.ConnectorPosition.Begin));
|
|
if (connector.endItem)
|
|
history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(connector, Connector_1.ConnectorPosition.End));
|
|
history.addAndRedo(new DeleteConnectorHistoryItem_1.DeleteConnectorHistoryItem(connector.key));
|
|
};
|
|
ModelUtils.deleteAllItems = function (history, model, selection) {
|
|
this.deleteItems(history, model, selection, model.items.slice(), true);
|
|
};
|
|
ModelUtils.deleteSelection = function (history, model, selection) {
|
|
this.deleteItems(history, model, selection, selection.getSelectedItems());
|
|
};
|
|
ModelUtils.changeChildrenContainerLocked = function (history, model, item, locked) {
|
|
var _this = this;
|
|
if (item instanceof Shape_1.Shape) {
|
|
var items = model.getChildren(item);
|
|
items.forEach(function (item) {
|
|
history.addAndRedo(new ChangeContainerLockedHistoryItem_1.ChangeContainerLockedHistoryItem(item, locked));
|
|
_this.changeChildrenContainerLocked(history, model, item, locked);
|
|
});
|
|
}
|
|
};
|
|
ModelUtils.changeSelectionLocked = function (history, model, selection, locked) {
|
|
var _this = this;
|
|
history.beginTransaction();
|
|
var items = selection.getSelectedItems(true);
|
|
items.forEach(function (item) {
|
|
history.addAndRedo(new ChangeLockedHistoryItem_1.ChangeLockedHistoryItem(item, locked));
|
|
_this.changeChildrenContainerLocked(history, model, item, locked);
|
|
});
|
|
history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(selection, selection.getKeys())); // Update canvas
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.copyStylesToItem = function (history, model, fromItem, newItemKey) {
|
|
var toItem = model.findItem(newItemKey);
|
|
fromItem.styleText.forEach(function (propertyName) {
|
|
if (fromItem.styleText[propertyName] !== toItem.styleText[propertyName])
|
|
history.addAndRedo(new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(newItemKey, propertyName, fromItem.styleText[propertyName]));
|
|
});
|
|
fromItem.style.forEach(function (propertyName) {
|
|
if (fromItem.style[propertyName] !== toItem.style[propertyName])
|
|
history.addAndRedo(new ChangeStyleHistoryItem_1.ChangeStyleHistoryItem(newItemKey, propertyName, fromItem.style[propertyName]));
|
|
});
|
|
};
|
|
// Cloning
|
|
ModelUtils.cloneShapeToOffset = function (history, model, shape, dx, dy) {
|
|
history.beginTransaction();
|
|
var newPosition = shape.position.offset(dx, dy);
|
|
var addHistoryItem = new AddShapeHistoryItem_1.AddShapeHistoryItem(shape.description.key, newPosition, shape.text);
|
|
history.addAndRedo(addHistoryItem);
|
|
var newKey = addHistoryItem.shapeKey;
|
|
history.addAndRedo(new ResizeShapeHistoryItem_1.ResizeShapeHistoryItem(newKey, newPosition, shape.size.clone()));
|
|
history.addAndRedo(new ChangeShapeParametersHistoryItem_1.ChangeShapeParametersHistoryItem(newKey, shape.parameters.clone()));
|
|
this.copyStylesToItem(history, model, shape, newKey);
|
|
history.endTransaction();
|
|
return newKey;
|
|
};
|
|
ModelUtils.cloneConnectorToOffset = function (history, model, connector, beginItemKey, endItemKey, dx, dy) {
|
|
history.beginTransaction();
|
|
var newPoints = connector.points.map(function (p) { return p.offset(dx, dy); });
|
|
var addHistoryItem = new AddConnectorHistoryItem_1.AddConnectorHistoryItem(newPoints);
|
|
history.addAndRedo(addHistoryItem);
|
|
var newKey = addHistoryItem.connectorKey;
|
|
var newConnector = model.findConnector(newKey);
|
|
connector.properties.forEach(function (propertyName) {
|
|
if (connector.properties[propertyName] !== newConnector.properties[propertyName])
|
|
history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(newKey, propertyName, connector.properties[propertyName]));
|
|
});
|
|
if (beginItemKey) {
|
|
var from = model.findShape(beginItemKey);
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(newConnector, from, connector.beginConnectionPointIndex, Connector_1.ConnectorPosition.Begin));
|
|
}
|
|
if (endItemKey) {
|
|
var to = model.findShape(endItemKey);
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(newConnector, to, connector.endConnectionPointIndex, Connector_1.ConnectorPosition.End));
|
|
}
|
|
var newTexts = connector.texts.clone();
|
|
newTexts.forEach(function (connectorText) {
|
|
history.addAndRedo(new ChangeConnectorTextHistoryItem_1.ChangeConnectorTextHistoryItem(newConnector, connectorText.position, connectorText.value));
|
|
});
|
|
this.copyStylesToItem(history, model, connector, newKey);
|
|
history.endTransaction();
|
|
return newKey;
|
|
};
|
|
ModelUtils.cloneSelectionToOffset = function (history, model, selection, dx, dy) {
|
|
var _this = this;
|
|
history.beginTransaction();
|
|
var newShapes = {};
|
|
var ids = [];
|
|
selection.getSelectedShapes().forEach(function (shape) {
|
|
var newKey = _this.cloneShapeToOffset(history, model, shape, dx, dy);
|
|
newShapes[shape.key] = newKey;
|
|
ids.push(newKey);
|
|
});
|
|
selection.getSelectedConnectors().forEach(function (connector) {
|
|
var beginItemKey = connector.beginItem ? newShapes[connector.beginItem.key] : null;
|
|
var endItemKey = connector.endItem ? newShapes[connector.endItem.key] : null;
|
|
var newKey = _this.cloneConnectorToOffset(history, model, connector, beginItemKey, endItemKey, dx, dy);
|
|
ids.push(newKey);
|
|
});
|
|
history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(selection, ids));
|
|
ModelUtils.tryUpdateModelSize(history, model);
|
|
history.endTransaction();
|
|
};
|
|
// Containers
|
|
ModelUtils.findContainerByEventKey = function (model, selection, key) {
|
|
var container = model.findContainer(key);
|
|
if (container)
|
|
return container;
|
|
else {
|
|
var shape = model.findShape(key);
|
|
if (shape && shape.container && !selection.hasKey(shape.key))
|
|
return shape.container;
|
|
}
|
|
};
|
|
ModelUtils.canInsertToContainer = function (model, item, container) {
|
|
if (item === container)
|
|
return false;
|
|
if (item instanceof Shape_1.Shape) {
|
|
if (model.findChild(item, container.key))
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
ModelUtils.canInsertSelectionToContainer = function (model, selection, container) {
|
|
var result = true;
|
|
selection.getSelectedItems().forEach(function (item) {
|
|
if (item === container) {
|
|
result = false;
|
|
return;
|
|
}
|
|
if (item instanceof Shape_1.Shape) {
|
|
if (model.findChild(item, container.key)) {
|
|
result = false;
|
|
return;
|
|
}
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
ModelUtils.insertToContainer = function (history, model, item, container) {
|
|
if (!container.enableChildren)
|
|
throw Error("Inpossible to add children to non-container shape.");
|
|
if (!this.canInsertToContainer(model, item, container))
|
|
return;
|
|
var oldContainer = item.container;
|
|
if (oldContainer !== container) {
|
|
history.beginTransaction();
|
|
if (oldContainer)
|
|
history.addAndRedo(new RemoveFromContainerHistoryItem_1.RemoveFromContainerHistoryItem(item));
|
|
history.addAndRedo(new InsertToContainerHistoryItem_1.InsertToContainerHistoryItem(item, container));
|
|
this.updateAttachedConnectorsContainer(history, model, item);
|
|
history.endTransaction();
|
|
}
|
|
};
|
|
ModelUtils.removeFromContainer = function (history, model, item) {
|
|
if (item.container) {
|
|
history.beginTransaction();
|
|
history.addAndRedo(new RemoveFromContainerHistoryItem_1.RemoveFromContainerHistoryItem(item));
|
|
this.updateAttachedConnectorsContainer(history, model, item);
|
|
history.endTransaction();
|
|
}
|
|
};
|
|
ModelUtils.insertSelectionToContainer = function (history, model, selection, container) {
|
|
var _this = this;
|
|
history.beginTransaction();
|
|
var selectedItems = selection.getSelectedItems();
|
|
var items = selectedItems.filter(function (item) { return !item.container || selectedItems.indexOf(item.container) === -1; });
|
|
items.forEach(function (item) {
|
|
_this.insertToContainer(history, model, item, container);
|
|
});
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.removeSelectionFromContainer = function (history, model, selection) {
|
|
var _this = this;
|
|
history.beginTransaction();
|
|
selection.getSelectedItems().forEach(function (item) {
|
|
if (item.container && !selection.hasKey(item.container.key)) {
|
|
history.addAndRedo(new RemoveFromContainerHistoryItem_1.RemoveFromContainerHistoryItem(item));
|
|
_this.updateAttachedConnectorsContainer(history, model, item);
|
|
}
|
|
});
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.getConnectorContainer = function (connector) {
|
|
if (connector.beginItem && connector.endItem && connector.beginItem.container === connector.endItem.container)
|
|
return connector.beginItem.container;
|
|
};
|
|
ModelUtils.updateAttachedConnectorsContainer = function (history, model, item) {
|
|
var _this = this;
|
|
history.beginTransaction();
|
|
item.attachedConnectors.forEach(function (connector) {
|
|
_this.updateConnectorContainer(history, model, connector);
|
|
});
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.updateConnectorContainer = function (history, model, connector) {
|
|
var container = this.getConnectorContainer(connector);
|
|
if (container) {
|
|
history.addAndRedo(new InsertToContainerHistoryItem_1.InsertToContainerHistoryItem(connector, container));
|
|
}
|
|
else if (connector.container) {
|
|
history.addAndRedo(new RemoveFromContainerHistoryItem_1.RemoveFromContainerHistoryItem(connector));
|
|
}
|
|
};
|
|
// Layout
|
|
ModelUtils.applyLayout = function (history, model, container, graph, layout, nonGraphItems, settings, snapToGrid, gridSize) {
|
|
history.beginTransaction();
|
|
var occupiedRectangles = this.getOccupiedRectangles(nonGraphItems, container);
|
|
layout = this.offsetLayoutToFreeSpace(layout, container && container.clientRectangle, occupiedRectangles, settings.columnSpacing);
|
|
if (snapToGrid)
|
|
this.adjustLayoutToSnapGrid(model, layout, gridSize);
|
|
if (container)
|
|
this.resizeContainerOnLayout(history, model, layout, container, settings.columnSpacing);
|
|
this.applyLayoutToNodes(history, model, layout, graph.edges.map(function (e) { return model.findConnector(e.key); }));
|
|
this.applyLayoutToConnectors(history, model, layout, graph.edges.map(function (e) { return model.findConnector(e.key); }));
|
|
history.endTransaction();
|
|
};
|
|
ModelUtils.getNonGraphItems = function (model, container, nodeKeyMap, shapes, connectors) {
|
|
var allItems = container ? model.getChildren(container) : model.items.filter(function (item) { return !item.container; });
|
|
return allItems.filter(function (item) {
|
|
if (item instanceof Connector_1.Connector) {
|
|
return (!item.beginItem || !nodeKeyMap[item.beginItem.key]) && (!item.endItem || !nodeKeyMap[item.endItem.key]) &&
|
|
connectors.indexOf(item) === -1;
|
|
}
|
|
if (item instanceof Shape_1.Shape) {
|
|
return !nodeKeyMap[item.key] &&
|
|
shapes.indexOf(item) === -1;
|
|
}
|
|
});
|
|
};
|
|
ModelUtils.getOccupiedRectangles = function (nonGraphItems, container) {
|
|
var occupiedRectangles = nonGraphItems.map(function (i) { return i.rectangle; });
|
|
if (container && occupiedRectangles.length) {
|
|
var rect = container.clientRectangle;
|
|
occupiedRectangles.push(Utils_1.Rectangle.create(rect.right, rect.top, 1, 1));
|
|
occupiedRectangles.push(Utils_1.Rectangle.create(rect.right, rect.bottom, 1, 1));
|
|
}
|
|
return occupiedRectangles;
|
|
};
|
|
ModelUtils.offsetLayoutToFreeSpace = function (layout, containerRect, occupiedRectangles, spacing) {
|
|
var graphItemRect = layout.getRectangle(true);
|
|
var freePoint = Utils_1.GeometryUtils.findFreeSpace(occupiedRectangles, graphItemRect.size.offset(spacing, spacing), false, containerRect);
|
|
if (freePoint) {
|
|
var x = freePoint.x + spacing;
|
|
var y = freePoint.y + spacing;
|
|
return layout.offsetNodes(x, y);
|
|
}
|
|
var maxX = occupiedRectangles && occupiedRectangles.length ?
|
|
occupiedRectangles.reduce(function (max, rect) { return rect.right > max ? rect.right : max; }, 0) :
|
|
(containerRect ? containerRect.left : 0);
|
|
var minY = containerRect ? containerRect.top : Math.max(0, graphItemRect.top);
|
|
return layout.offsetNodes(maxX + spacing, minY + spacing);
|
|
};
|
|
ModelUtils.resizeContainerOnLayout = function (history, model, layout, container, spacing) {
|
|
var rect = layout.getRectangle(true);
|
|
var width = container.rectangle.width;
|
|
if (container.rectangle.right < rect.right + spacing)
|
|
width += rect.right + spacing - container.rectangle.right;
|
|
var height = container.rectangle.height;
|
|
if (container.rectangle.bottom < rect.bottom + spacing)
|
|
height += rect.bottom + spacing - container.rectangle.bottom;
|
|
ModelUtils.setShapeSize(history, model, container, container.position, new Utils_1.Size(width, height));
|
|
};
|
|
ModelUtils.applyLayoutToNodes = function (history, model, layout, connectors) {
|
|
var _this = this;
|
|
var connectorsSet = connectors.reduce(function (acc, c) { return acc[c.key] = true && acc; }, {});
|
|
layout.forEachNode(function (nl, nk) {
|
|
var shape = model.findShape(nk);
|
|
_this.applyLayoutToNode(history, model, shape, nl.position, connectorsSet);
|
|
});
|
|
};
|
|
ModelUtils.applyLayoutToNode = function (history, model, shape, position, connectorsSet) {
|
|
var _this = this;
|
|
var delta = position.offset(-shape.position.x, -shape.position.y);
|
|
ModelUtils.setShapePosition(history, model, shape, position);
|
|
if (delta.x !== 0 || delta.y !== 0) {
|
|
shape.attachedConnectors
|
|
.filter(function (c) { return !connectorsSet[c.key]; })
|
|
.forEach(function (connector) {
|
|
ModelUtils.updateConnectorAttachedPoints(history, model, connector);
|
|
var beginPointIndex = connector.beginItem ? 1 : 0;
|
|
var endPointIndex = connector.endItem ? (connector.points.length - 2) : (connector.points.length - 1);
|
|
for (var i = beginPointIndex; i <= endPointIndex; i++)
|
|
history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(connector.key, i, connector.points[i].offset(delta.x, delta.y)));
|
|
});
|
|
model.getChildren(shape).forEach(function (child) {
|
|
if (child instanceof Shape_1.Shape) {
|
|
var childPosition = child.position.offset(delta.x, delta.y);
|
|
_this.applyLayoutToNode(history, model, child, childPosition, connectorsSet);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
ModelUtils.applyLayoutToConnectors = function (history, model, layout, connectors) {
|
|
var _this = this;
|
|
connectors.filter(function (c) { return c.beginItem && c.endItem; }).forEach(function (connector) {
|
|
var edgeLayout = layout.edgeToPosition[connector.key];
|
|
if (edgeLayout) {
|
|
var beginIndex = connector.beginItem.getConnectionPointIndexForSide(edgeLayout.beginIndex);
|
|
if (beginIndex !== connector.beginConnectionPointIndex)
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.SetConnectionPointIndexHistoryItem(connector, beginIndex, Connector_1.ConnectorPosition.Begin));
|
|
var endIndex = connector.endItem.getConnectionPointIndexForSide(edgeLayout.endIndex);
|
|
if (endIndex !== connector.endConnectionPointIndex)
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.SetConnectionPointIndexHistoryItem(connector, endIndex, Connector_1.ConnectorPosition.End));
|
|
}
|
|
_this.updateConnectorAttachedPoints(history, model, connector);
|
|
if (edgeLayout) {
|
|
while (connector.points.length > 2)
|
|
history.addAndRedo(new DeleteConnectorPointHistoryItem_1.DeleteConnectorPointHistoryItem(connector.key, 1));
|
|
}
|
|
});
|
|
};
|
|
ModelUtils.adjustLayoutToSnapGrid = function (model, layout, gridSize) {
|
|
var _this = this;
|
|
layout.nodeKeys.forEach(function (key) {
|
|
layout.nodeToLayout[key].position.x = _this.getSnappedPos(model, gridSize, layout.nodeToLayout[key].position.x, true);
|
|
layout.nodeToLayout[key].position.y = _this.getSnappedPos(model, gridSize, layout.nodeToLayout[key].position.y, false);
|
|
});
|
|
};
|
|
ModelUtils.getGraphInfoByItems = function (model, shapes, connectors) {
|
|
var itemsByContainerKey = {};
|
|
var items = [].concat(shapes).concat(connectors);
|
|
items.forEach(function (item) {
|
|
var containerKey = item.container && item.container.key;
|
|
if (!itemsByContainerKey[containerKey])
|
|
itemsByContainerKey[containerKey] = [];
|
|
itemsByContainerKey[containerKey].push(item);
|
|
});
|
|
var result = [];
|
|
for (var key in itemsByContainerKey) {
|
|
if (!itemsByContainerKey.hasOwnProperty(key))
|
|
continue;
|
|
var container = key && model.findContainer(key);
|
|
if (!container || container.expanded) {
|
|
var containerKey = container && container.key;
|
|
var graph = this.getGraphByItems(model, itemsByContainerKey[key], containerKey);
|
|
if (graph.nodes.length > 1)
|
|
result.push(new GraphInfo_1.GraphInfo(container, graph));
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
ModelUtils.getGraphByItems = function (model, items, containerKey) {
|
|
var _this = this;
|
|
var graph = new Graph_1.Graph([], []);
|
|
var knownIds = {};
|
|
items.forEach(function (item) {
|
|
_this.extendByConnectedComponents(item, graph, containerKey, knownIds);
|
|
});
|
|
graph.nodes = graph.nodes.sort(function (a, b) { return model.getItemIndex(model.findShape(a)) - model.getItemIndex(model.findShape(b)); });
|
|
return graph;
|
|
};
|
|
ModelUtils.extendByConnectedComponents = function (item, graph, containerKey, knownIds) {
|
|
var _this = this;
|
|
if (!item || item.locked || knownIds[item.key])
|
|
return;
|
|
knownIds[item.key] = true;
|
|
if (item instanceof Connector_1.Connector && (item.container && item.container.key) === containerKey &&
|
|
item.beginItem && !item.beginItem.locked && item.endItem && !item.endItem.locked &&
|
|
item.beginItem !== item.endItem) {
|
|
graph.addEdge(new Structures_1.Edge(item.key, item.beginItem && item.beginItem.key, item.endItem && item.endItem.key));
|
|
this.extendByConnectedComponents(item.beginItem, graph, containerKey, knownIds);
|
|
this.extendByConnectedComponents(item.endItem, graph, containerKey, knownIds);
|
|
}
|
|
else if (item instanceof Shape_1.Shape && (item.container && item.container.key) === containerKey) {
|
|
graph.addNode(item);
|
|
item.attachedConnectors.forEach(function (c) { return _this.extendByConnectedComponents(c, graph, containerKey, knownIds); });
|
|
}
|
|
};
|
|
// Units
|
|
ModelUtils.getlUnitValue = function (units, twipsValue) {
|
|
switch (units) {
|
|
case Model_1.DiagramUnit.Cm:
|
|
return UnitConverter_1.UnitConverter.twipsToCentimeters(twipsValue);
|
|
case Model_1.DiagramUnit.In:
|
|
return UnitConverter_1.UnitConverter.twipsToInches(twipsValue);
|
|
case Model_1.DiagramUnit.Px:
|
|
return UnitConverter_1.UnitConverter.twipsToPixels(twipsValue);
|
|
}
|
|
};
|
|
ModelUtils.getUnitText = function (units, unitItems, formatUnit, twipsValue, fractionDigits) {
|
|
if (fractionDigits === void 0) { fractionDigits = 2; }
|
|
var unitItemText = unitItems[units] ? " " + unitItems[units] : "";
|
|
var unitValue = this.getlUnitValue(units, twipsValue);
|
|
switch (units) {
|
|
case Model_1.DiagramUnit.Cm:
|
|
return formatUnit(+unitValue.toFixed(fractionDigits)) + unitItemText;
|
|
case Model_1.DiagramUnit.In:
|
|
return formatUnit(+unitValue.toFixed(fractionDigits)) + unitItemText;
|
|
case Model_1.DiagramUnit.Px:
|
|
return formatUnit(+unitValue.toFixed(0)) + unitItemText;
|
|
}
|
|
};
|
|
ModelUtils.getTwipsValue = function (units, value) {
|
|
switch (units) {
|
|
case Model_1.DiagramUnit.Cm:
|
|
return UnitConverter_1.UnitConverter.centimetersToTwips(value);
|
|
case Model_1.DiagramUnit.In:
|
|
return UnitConverter_1.UnitConverter.inchesToTwips(value);
|
|
case Model_1.DiagramUnit.Px:
|
|
return UnitConverter_1.UnitConverter.pixelsToTwips(value);
|
|
}
|
|
};
|
|
// Key generation
|
|
ModelUtils.getNextItemKey = function (keys, checkKey, baseKey) {
|
|
if (!keys.length && baseKey === undefined)
|
|
return "0";
|
|
for (var i = keys.length - 1; i >= 0; i--) {
|
|
baseKey = baseKey || keys[i];
|
|
if (baseKey !== undefined && baseKey !== null)
|
|
break;
|
|
}
|
|
var key = this.generateNextItemKey(baseKey || "0");
|
|
while (!checkKey(key)) {
|
|
key = this.generateNextItemKey(key);
|
|
}
|
|
return key;
|
|
};
|
|
ModelUtils.generateNextItemKey = function (key) {
|
|
for (var i = key.length - 1; i >= 0; i--) {
|
|
if (!this.isDigit(key[i])) {
|
|
if (i === key.length - 1)
|
|
key = key + "0";
|
|
break;
|
|
}
|
|
var code = key.charCodeAt(i);
|
|
var char = String.fromCharCode(code + 1);
|
|
if (char > "9") {
|
|
char = "0";
|
|
if (i === 0 || !this.isDigit(key[i - 1]))
|
|
char = "1" + char;
|
|
}
|
|
key = key.substr(0, i) + char + key.substr(i + 1);
|
|
if (char !== "0" && char !== "10")
|
|
break;
|
|
else if (char === "10")
|
|
i--;
|
|
}
|
|
return key;
|
|
};
|
|
ModelUtils.isDigit = function (char) {
|
|
return "0" <= char && char <= "9";
|
|
};
|
|
ModelUtils.getGuidItemKey = function () {
|
|
return Base_1.CreateGuid();
|
|
};
|
|
ModelUtils.connectionPointActionSize = UnitConverter_1.UnitConverter.pixelsToTwips(8);
|
|
return ModelUtils;
|
|
}());
|
|
exports.ModelUtils = ModelUtils;
|
|
|
|
|
|
/***/ }),
|
|
/* 7 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CommandBase_1 = __webpack_require__(196);
|
|
var CommandStates_1 = __webpack_require__(197);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase = /** @class */ (function (_super) {
|
|
__extends(SimpleCommandBase, _super);
|
|
function SimpleCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
SimpleCommandBase.prototype.getState = function () {
|
|
return new CommandStates_1.SimpleCommandState(this.isEnabled(), this.getValue(), this.getDefaultValue(), this.getItems(), this.isVisible());
|
|
};
|
|
SimpleCommandBase.prototype.isVisible = function () {
|
|
return true;
|
|
};
|
|
SimpleCommandBase.prototype.isEnabled = function () {
|
|
return !this.control.settings.readOnly || this.isEnabledInReadOnlyMode();
|
|
};
|
|
SimpleCommandBase.prototype.isEnabledInReadOnlyMode = function () {
|
|
return false;
|
|
};
|
|
SimpleCommandBase.prototype.getValue = function () {
|
|
return undefined;
|
|
};
|
|
SimpleCommandBase.prototype.getDefaultValue = function () {
|
|
return undefined;
|
|
};
|
|
SimpleCommandBase.prototype.getItems = function () {
|
|
return undefined;
|
|
};
|
|
SimpleCommandBase.prototype.getModelUnit = function (value) {
|
|
return ModelUtils_1.ModelUtils.getlUnitValue(this.control.model.units, value);
|
|
};
|
|
SimpleCommandBase.prototype.getModelUnitText = function (value) {
|
|
return ModelUtils_1.ModelUtils.getUnitText(this.control.model.units, this.control.settings.unitItems, this.control.settings.formatUnit, value);
|
|
};
|
|
SimpleCommandBase.prototype.getModelUnitTwipsValue = function (value) {
|
|
return ModelUtils_1.ModelUtils.getTwipsValue(this.control.model.units, value);
|
|
};
|
|
SimpleCommandBase.prototype.getViewUnit = function (value) {
|
|
return ModelUtils_1.ModelUtils.getlUnitValue(this.control.settings.viewUnits, value);
|
|
};
|
|
SimpleCommandBase.prototype.getViewUnitText = function (value) {
|
|
return ModelUtils_1.ModelUtils.getUnitText(this.control.settings.viewUnits, this.control.settings.unitItems, this.control.settings.formatUnit, value);
|
|
};
|
|
SimpleCommandBase.prototype.getViewUnitTwipsValue = function (value) {
|
|
return ModelUtils_1.ModelUtils.getTwipsValue(this.control.settings.viewUnits, value);
|
|
};
|
|
return SimpleCommandBase;
|
|
}(CommandBase_1.CommandBase));
|
|
exports.SimpleCommandBase = SimpleCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 8 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CommandManager_1 = __webpack_require__(48);
|
|
exports.DiagramCommand = CommandManager_1.DiagramCommand;
|
|
var Diagram_1 = __webpack_require__(262);
|
|
exports.DiagramControl = Diagram_1.DiagramControl;
|
|
var Utils_1 = __webpack_require__(0);
|
|
exports.EventDispatcher = Utils_1.EventDispatcher;
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
exports.ShapeTypes = ShapeTypes_1.ShapeTypes;
|
|
exports.ShapeCategories = ShapeTypes_1.ShapeCategories;
|
|
exports.ShapeType = ShapeTypes_1.ShapeType;
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
exports.UnitConverter = UnitConverter_1.UnitConverter;
|
|
var Browser_1 = __webpack_require__(23);
|
|
exports.Browser = Browser_1.Browser;
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
exports.AutoZoomMode = DiagramSettings_1.AutoZoomMode;
|
|
var DataLayoutParameters_1 = __webpack_require__(114);
|
|
exports.DataLayoutType = DataLayoutParameters_1.DataLayoutType;
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
exports.DataLayoutOrientation = LayoutSettings_1.DataLayoutOrientation;
|
|
__webpack_require__(306);
|
|
var Model_1 = __webpack_require__(19);
|
|
exports.DiagramUnit = Model_1.DiagramUnit;
|
|
exports.PageOrientation = Model_1.PageOrientation;
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
exports.ConnectorLineEnding = ConnectorProperties_1.ConnectorLineEnding;
|
|
exports.ConnectorLineOption = ConnectorProperties_1.ConnectorLineOption;
|
|
var Color_1 = __webpack_require__(38);
|
|
exports.ColorHelper = Color_1.ColorHelper;
|
|
var NativeItem_1 = __webpack_require__(63);
|
|
exports.NativeShape = NativeItem_1.NativeShape;
|
|
exports.NativeConnector = NativeItem_1.NativeConnector;
|
|
|
|
|
|
/***/ }),
|
|
/* 9 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var TextPrimitive_1 = __webpack_require__(64);
|
|
var ClipPathPrimitive_1 = __webpack_require__(41);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
exports.ShapeDefaultDimension = 1440;
|
|
exports.ShapeDefaultSize = new Utils_1.Size(exports.ShapeDefaultDimension, exports.ShapeDefaultDimension);
|
|
var ShapeDescription = /** @class */ (function () {
|
|
function ShapeDescription(title, defaultText, defaultSize, defaultImageUrl) {
|
|
if (defaultSize === void 0) { defaultSize = exports.ShapeDefaultSize.clone(); }
|
|
this.title = title;
|
|
this.defaultText = defaultText;
|
|
this.defaultSize = defaultSize;
|
|
this.defaultImageUrl = defaultImageUrl;
|
|
this.connectionPoints = this.createConnectionPoints();
|
|
this.connectionPointsWhileSelected = this.createConnectionPointsForSelection();
|
|
}
|
|
Object.defineProperty(ShapeDescription.prototype, "enableText", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ShapeDescription.prototype, "allowEditText", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ShapeDescription.prototype, "enableImage", {
|
|
get: function () { return false; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ShapeDescription.prototype, "allowEditImage", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ShapeDescription.prototype, "enableChildren", {
|
|
get: function () { return false; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ShapeDescription.prototype.getConnectionPoints = function () {
|
|
return this.connectionPoints;
|
|
};
|
|
ShapeDescription.prototype.createConnectionPoints = function () {
|
|
return [
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.5, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.5, DiagramItem_1.ConnectionPointSide.West)
|
|
];
|
|
};
|
|
ShapeDescription.prototype.getConnectionPointsForSelection = function () {
|
|
return this.connectionPointsWhileSelected;
|
|
};
|
|
ShapeDescription.prototype.createConnectionPointsForSelection = function () {
|
|
return [
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.5, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.5, DiagramItem_1.ConnectionPointSide.West)
|
|
];
|
|
};
|
|
ShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
};
|
|
ShapeDescription.prototype.getConnectionPointIndexForItem = function (item, connectionPointIndex) {
|
|
return connectionPointIndex;
|
|
};
|
|
ShapeDescription.prototype.getConnectionPointIndexForSide = function (side) {
|
|
return side;
|
|
};
|
|
ShapeDescription.prototype.createParameters = function (parameters) {
|
|
};
|
|
ShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
};
|
|
ShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
throw Error("Not implemented");
|
|
};
|
|
ShapeDescription.prototype.changeParameterValue = function (parameters, key, change) {
|
|
var p = parameters.get(key);
|
|
p.value = change(p);
|
|
};
|
|
ShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [];
|
|
};
|
|
ShapeDescription.prototype.getExpandedSize = function (size, expandedSize) {
|
|
return size;
|
|
};
|
|
ShapeDescription.prototype.getCollapsedSize = function (size) {
|
|
return size;
|
|
};
|
|
ShapeDescription.prototype.getToolboxHeightToWidthRatio = function (width, height) {
|
|
return height / width;
|
|
};
|
|
ShapeDescription.prototype.allowResizeHorizontally = function (shape) {
|
|
return true;
|
|
};
|
|
ShapeDescription.prototype.allowResizeVertically = function (shape) {
|
|
return true;
|
|
};
|
|
ShapeDescription.prototype.createPrimitives = function (shape, forToolbox) {
|
|
var primitives = [];
|
|
primitives = primitives.concat(this.createShapePrimitives(shape, forToolbox));
|
|
if (this.enableImage)
|
|
primitives = primitives.concat(this.createImagePrimitives(shape, forToolbox));
|
|
if (this.enableText)
|
|
primitives = primitives.concat(this.createTextPrimitives(shape, forToolbox));
|
|
return primitives;
|
|
};
|
|
ShapeDescription.prototype.createImagePrimitives = function (shape, forToolbox) {
|
|
return [];
|
|
};
|
|
ShapeDescription.prototype.createTextPrimitives = function (shape, forToolbox) {
|
|
if (shape.text === undefined || shape.text === "")
|
|
return [];
|
|
var rect = this.getTextRectangle(shape.rectangle, shape.parameters);
|
|
var clipPathId = !forToolbox && Utils_2.RenderUtils.generateSvgElementId("clipText");
|
|
var textPoint = this.getTextPosition(rect, shape.styleText["text-anchor"]);
|
|
return [
|
|
new TextPrimitive_1.TextPrimitive(textPoint.x, textPoint.y, shape.text, rect.width, shape.styleText, false, clipPathId, undefined, this.getTextRotated()),
|
|
new ClipPathPrimitive_1.ClipPathPrimitive(clipPathId, [new RectaglePrimitive_1.RectanglePrimitive(rect.left, rect.top, rect.width, rect.height)]),
|
|
];
|
|
};
|
|
ShapeDescription.prototype.getTextRotated = function () {
|
|
return false;
|
|
};
|
|
ShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
return rect;
|
|
};
|
|
ShapeDescription.prototype.getClientRectangle = function (rect) {
|
|
return rect;
|
|
};
|
|
ShapeDescription.prototype.getTextEditRectangle = function (rect, parameters) {
|
|
return this.getTextRectangle(rect, parameters);
|
|
};
|
|
ShapeDescription.prototype.createSelectorPrimitives = function (shape) {
|
|
return [
|
|
new RectaglePrimitive_1.RectanglePrimitive(shape.position.x, shape.position.y, shape.size.width, shape.size.height, null, "selector")
|
|
];
|
|
};
|
|
ShapeDescription.prototype.getTextPosition = function (rect, textAnchor) {
|
|
var result = new Utils_1.Point(rect.left, rect.top + rect.height / 2);
|
|
if (!textAnchor || textAnchor === "middle")
|
|
result.x = rect.left + rect.width / 2;
|
|
else if (textAnchor === "end")
|
|
result.x = rect.left + rect.width - ShapeDescription.textSpacing;
|
|
else if (textAnchor === "start")
|
|
result.x = rect.left + ShapeDescription.textSpacing;
|
|
return result;
|
|
};
|
|
ShapeDescription.textSpacing = UnitConverter_1.UnitConverter.pixelsToTwips(2);
|
|
return ShapeDescription;
|
|
}());
|
|
exports.ShapeDescription = ShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 10 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseButton;
|
|
(function (MouseButton) {
|
|
MouseButton[MouseButton["None"] = 0] = "None";
|
|
MouseButton[MouseButton["Left"] = 1] = "Left";
|
|
MouseButton[MouseButton["Right"] = 2] = "Right";
|
|
MouseButton[MouseButton["Middle"] = 4] = "Middle";
|
|
})(MouseButton = exports.MouseButton || (exports.MouseButton = {}));
|
|
var MouseEventElementType;
|
|
(function (MouseEventElementType) {
|
|
MouseEventElementType[MouseEventElementType["Background"] = 0] = "Background";
|
|
MouseEventElementType[MouseEventElementType["Document"] = 1] = "Document";
|
|
MouseEventElementType[MouseEventElementType["Undefined"] = 2] = "Undefined";
|
|
MouseEventElementType[MouseEventElementType["Connector"] = 3] = "Connector";
|
|
MouseEventElementType[MouseEventElementType["ConnectorPoint"] = 4] = "ConnectorPoint";
|
|
MouseEventElementType[MouseEventElementType["ConnectorSide"] = 5] = "ConnectorSide";
|
|
MouseEventElementType[MouseEventElementType["ConnectorOrthogonalSide"] = 6] = "ConnectorOrthogonalSide";
|
|
MouseEventElementType[MouseEventElementType["ConnectorText"] = 7] = "ConnectorText";
|
|
MouseEventElementType[MouseEventElementType["Shape"] = 8] = "Shape";
|
|
MouseEventElementType[MouseEventElementType["ShapeResizeBox"] = 9] = "ShapeResizeBox";
|
|
MouseEventElementType[MouseEventElementType["ShapeParameterBox"] = 10] = "ShapeParameterBox";
|
|
MouseEventElementType[MouseEventElementType["SelectionRect"] = 11] = "SelectionRect";
|
|
MouseEventElementType[MouseEventElementType["ShapeConnectionPoint"] = 12] = "ShapeConnectionPoint";
|
|
MouseEventElementType[MouseEventElementType["ShapeExpandButton"] = 13] = "ShapeExpandButton";
|
|
})(MouseEventElementType = exports.MouseEventElementType || (exports.MouseEventElementType = {}));
|
|
var MouseEventSource = /** @class */ (function () {
|
|
function MouseEventSource(type, key, value) {
|
|
this.type = type;
|
|
this.key = key;
|
|
this.value = value;
|
|
}
|
|
return MouseEventSource;
|
|
}());
|
|
exports.MouseEventSource = MouseEventSource;
|
|
var ResizeEventSource;
|
|
(function (ResizeEventSource) {
|
|
ResizeEventSource[ResizeEventSource["Undefined"] = 0] = "Undefined";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_NW"] = 1] = "ResizeBox_NW";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_NE"] = 2] = "ResizeBox_NE";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_SE"] = 3] = "ResizeBox_SE";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_SW"] = 4] = "ResizeBox_SW";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_N"] = 5] = "ResizeBox_N";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_E"] = 6] = "ResizeBox_E";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_S"] = 7] = "ResizeBox_S";
|
|
ResizeEventSource[ResizeEventSource["ResizeBox_W"] = 8] = "ResizeBox_W";
|
|
})(ResizeEventSource = exports.ResizeEventSource || (exports.ResizeEventSource = {}));
|
|
var DiagramEvent = /** @class */ (function () {
|
|
function DiagramEvent(modifiers) {
|
|
this.modifiers = modifiers;
|
|
}
|
|
return DiagramEvent;
|
|
}());
|
|
exports.DiagramEvent = DiagramEvent;
|
|
var DiagramFocusEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramFocusEvent, _super);
|
|
function DiagramFocusEvent(inputText) {
|
|
var _this = _super.call(this, KeyCode_1.ModifierKey.None) || this;
|
|
_this.inputText = inputText;
|
|
return _this;
|
|
}
|
|
return DiagramFocusEvent;
|
|
}(DiagramEvent));
|
|
exports.DiagramFocusEvent = DiagramFocusEvent;
|
|
var DiagramMouseEventTouch = /** @class */ (function () {
|
|
function DiagramMouseEventTouch(offsetPoint, modelPoint) {
|
|
this.offsetPoint = offsetPoint;
|
|
this.modelPoint = modelPoint;
|
|
}
|
|
return DiagramMouseEventTouch;
|
|
}());
|
|
exports.DiagramMouseEventTouch = DiagramMouseEventTouch;
|
|
var DiagramMouseEventBase = /** @class */ (function (_super) {
|
|
__extends(DiagramMouseEventBase, _super);
|
|
function DiagramMouseEventBase(modifiers, offsetPoint, modelPoint, source) {
|
|
var _this = _super.call(this, modifiers) || this;
|
|
_this.offsetPoint = offsetPoint;
|
|
_this.modelPoint = modelPoint;
|
|
_this.source = source;
|
|
return _this;
|
|
}
|
|
return DiagramMouseEventBase;
|
|
}(DiagramEvent));
|
|
exports.DiagramMouseEventBase = DiagramMouseEventBase;
|
|
var DiagramMouseEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramMouseEvent, _super);
|
|
function DiagramMouseEvent(modifiers, button, offsetPoint, modelPoint, source, touches) {
|
|
if (touches === void 0) { touches = []; }
|
|
var _this = _super.call(this, modifiers, offsetPoint, modelPoint, source) || this;
|
|
_this.button = button;
|
|
_this.touches = touches;
|
|
_this.scrollX = 0;
|
|
_this.scrollY = 0;
|
|
return _this;
|
|
}
|
|
return DiagramMouseEvent;
|
|
}(DiagramMouseEventBase));
|
|
exports.DiagramMouseEvent = DiagramMouseEvent;
|
|
var DiagramWheelEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramWheelEvent, _super);
|
|
function DiagramWheelEvent(modifiers, deltaX, deltaY, offsetPoint, modelPoint, source) {
|
|
var _this = _super.call(this, modifiers, offsetPoint, modelPoint, source) || this;
|
|
_this.deltaX = deltaX;
|
|
_this.deltaY = deltaY;
|
|
return _this;
|
|
}
|
|
return DiagramWheelEvent;
|
|
}(DiagramMouseEventBase));
|
|
exports.DiagramWheelEvent = DiagramWheelEvent;
|
|
var DiagramContextMenuEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramContextMenuEvent, _super);
|
|
function DiagramContextMenuEvent(modifiers, eventPoint, modelPoint) {
|
|
var _this = _super.call(this, modifiers) || this;
|
|
_this.eventPoint = eventPoint;
|
|
_this.modelPoint = modelPoint;
|
|
return _this;
|
|
}
|
|
return DiagramContextMenuEvent;
|
|
}(DiagramEvent));
|
|
exports.DiagramContextMenuEvent = DiagramContextMenuEvent;
|
|
var DiagramKeyboardEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramKeyboardEvent, _super);
|
|
function DiagramKeyboardEvent(modifiers, keyCode, inputText) {
|
|
var _this = _super.call(this, modifiers) || this;
|
|
_this.keyCode = keyCode;
|
|
_this.inputText = inputText;
|
|
return _this;
|
|
}
|
|
DiagramKeyboardEvent.prototype.getShortcutCode = function () {
|
|
return this.modifiers | this.keyCode;
|
|
};
|
|
return DiagramKeyboardEvent;
|
|
}(DiagramEvent));
|
|
exports.DiagramKeyboardEvent = DiagramKeyboardEvent;
|
|
var DiagramClipboardEvent = /** @class */ (function (_super) {
|
|
__extends(DiagramClipboardEvent, _super);
|
|
function DiagramClipboardEvent(clipboardData) {
|
|
var _this = _super.call(this, KeyCode_1.ModifierKey.None) || this;
|
|
_this.clipboardData = clipboardData;
|
|
return _this;
|
|
}
|
|
return DiagramClipboardEvent;
|
|
}(DiagramEvent));
|
|
exports.DiagramClipboardEvent = DiagramClipboardEvent;
|
|
|
|
|
|
/***/ }),
|
|
/* 11 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
var ImageInfo_1 = __webpack_require__(40);
|
|
var NativeItem_1 = __webpack_require__(63);
|
|
var Shape = /** @class */ (function (_super) {
|
|
__extends(Shape, _super);
|
|
function Shape(description, position) {
|
|
var _this = _super.call(this) || this;
|
|
_this.description = description;
|
|
// Containers
|
|
_this.childKeys = [];
|
|
_this.expanded = true;
|
|
_this.expandedSize = undefined;
|
|
if (!description)
|
|
throw Error("Shape type is incorrect");
|
|
_this.position = position.clone();
|
|
_this.size = description.defaultSize.clone();
|
|
_this.text = description.defaultText;
|
|
_this.image = new ImageInfo_1.ImageInfo(description.defaultImageUrl);
|
|
_this.parameters = new ShapeParameters_1.ShapeParameters();
|
|
description.createParameters(_this.parameters);
|
|
return _this;
|
|
}
|
|
Shape.prototype.assign = function (item) {
|
|
_super.prototype.assign.call(this, item);
|
|
item.size = this.size.clone();
|
|
item.text = this.text;
|
|
item.image = this.image.clone();
|
|
item.parameters = this.parameters.clone();
|
|
item.childKeys = this.childKeys.slice();
|
|
item.expanded = this.expanded;
|
|
if (this.expandedSize)
|
|
item.expandedSize = this.expandedSize.clone();
|
|
};
|
|
Shape.prototype.clone = function () {
|
|
var clone = new Shape(this.description, this.position.clone());
|
|
this.assign(clone);
|
|
return clone;
|
|
};
|
|
Object.defineProperty(Shape.prototype, "enableText", {
|
|
get: function () { return this.description.enableText; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "allowEditText", {
|
|
get: function () { return this.description.allowEditText; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "enableChildren", {
|
|
get: function () { return this.description.enableChildren; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "enableImage", {
|
|
get: function () { return this.description.enableImage; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "allowEditImage", {
|
|
get: function () { return this.description.allowEditImage; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Shape.prototype.createPrimitives = function () {
|
|
return this.description.createPrimitives(this);
|
|
};
|
|
Shape.prototype.createSelectorPrimitives = function () {
|
|
return this.description.createSelectorPrimitives(this);
|
|
};
|
|
Shape.prototype.normalizeX = function (x) {
|
|
return Math.max(this.position.x, Math.min(x, this.position.x + this.size.width));
|
|
};
|
|
Shape.prototype.normalizeY = function (y) {
|
|
return Math.max(this.position.y, Math.min(y, this.position.y + this.size.height));
|
|
};
|
|
Shape.prototype.getConnectionPoints = function () {
|
|
var _this = this;
|
|
var result = this.description.getConnectionPoints().map(function (pt) {
|
|
var point = new ConnectionPoint_1.ConnectionPoint(_this.position.x + pt.x * _this.size.width, _this.position.y + pt.y * _this.size.height, pt.side);
|
|
_this.description.processConnectionPoint(_this, point);
|
|
return point;
|
|
});
|
|
return result;
|
|
};
|
|
Shape.prototype.getConnectionPointsForSelection = function () {
|
|
var _this = this;
|
|
var result = this.description.getConnectionPointsForSelection().map(function (pt) {
|
|
var point = new ConnectionPoint_1.ConnectionPoint(_this.position.x + pt.x * _this.size.width, _this.position.y + pt.y * _this.size.height, pt.side);
|
|
return point;
|
|
});
|
|
return result;
|
|
};
|
|
Shape.prototype.getConnectionPointSide = function (point, targetPoint) {
|
|
if (point.side !== DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return point.side;
|
|
return this.getConnectionPointSideByGeometry(point);
|
|
};
|
|
Shape.prototype.getConnectionPointForSelectionSide = function (point) {
|
|
if (point.side !== DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return point.side;
|
|
return this.getConnectionPointSideByGeometry(point);
|
|
};
|
|
Shape.prototype.getConnectionPointSideByGeometry = function (point) {
|
|
var pt = point.offset(-this.position.x, -this.position.y).multiply(1 / this.size.width, 1 / this.size.height);
|
|
if (pt.x >= pt.y && (pt.x > 0 || pt.y > 0)) {
|
|
if (pt.x < 0.5 || (1 - pt.x) >= pt.y)
|
|
return DiagramItem_1.ConnectionPointSide.North;
|
|
return DiagramItem_1.ConnectionPointSide.East;
|
|
}
|
|
else {
|
|
if (pt.x > 0.5 || (1 - pt.x) <= pt.y)
|
|
return DiagramItem_1.ConnectionPointSide.South;
|
|
return DiagramItem_1.ConnectionPointSide.West;
|
|
}
|
|
};
|
|
Shape.prototype.getConnectionPointIndexForItem = function (item, connectionPointIndex) {
|
|
return this.description.getConnectionPointIndexForItem(item, connectionPointIndex);
|
|
};
|
|
Shape.prototype.getConnectionPointIndexForSide = function (side) {
|
|
return this.description.getConnectionPointIndexForSide(side);
|
|
};
|
|
Shape.prototype.toggleExpandedSize = function () {
|
|
if (!this.expanded) {
|
|
this.expandedSize = this.size.clone();
|
|
this.size = this.getCollapsedSize();
|
|
}
|
|
else {
|
|
this.size = this.getExpandedSize();
|
|
this.expandedSize = undefined;
|
|
}
|
|
};
|
|
Shape.prototype.getExpandedSize = function () {
|
|
return this.description.getExpandedSize(this.size, this.expandedSize);
|
|
};
|
|
Shape.prototype.getCollapsedSize = function () {
|
|
return this.description.getCollapsedSize(this.size);
|
|
};
|
|
Shape.prototype.getToolboxHeightToWidthRatio = function () {
|
|
return this.description.getToolboxHeightToWidthRatio(this.size.width, this.size.height);
|
|
};
|
|
Object.defineProperty(Shape.prototype, "allowResizeHorizontally", {
|
|
get: function () {
|
|
return this.description.allowResizeHorizontally(this);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "allowResizeVertically", {
|
|
get: function () {
|
|
return this.description.allowResizeVertically(this);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "rectangle", {
|
|
get: function () {
|
|
return new Utils_1.Rectangle(this.position, this.size);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "clientRectangle", {
|
|
get: function () {
|
|
return this.description.getClientRectangle(this.rectangle);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "textRectangle", {
|
|
get: function () {
|
|
return this.description.getTextRectangle(this.rectangle, this.parameters);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(Shape.prototype, "textEditRectangle", {
|
|
get: function () {
|
|
return this.description.getTextEditRectangle(this.rectangle, this.parameters);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Shape.prototype.toNative = function () {
|
|
var item = new NativeItem_1.NativeShape(this.key, this.dataKey);
|
|
item.type = this.description.key;
|
|
item.text = this.text;
|
|
return item;
|
|
};
|
|
Shape.lineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(2);
|
|
return Shape;
|
|
}(DiagramItem_1.DiagramItem));
|
|
exports.Shape = Shape;
|
|
|
|
|
|
/***/ }),
|
|
/* 12 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var Evt_1 = __webpack_require__(39);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Base_1 = __webpack_require__(17);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var Browser_1 = __webpack_require__(23);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var TouchUIHelper_1 = __webpack_require__(62);
|
|
var CanvasItemsManager_1 = __webpack_require__(82);
|
|
var ScrollView_1 = __webpack_require__(134);
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
var InputManager_1 = __webpack_require__(135);
|
|
var CanvasPageManager_1 = __webpack_require__(136);
|
|
var CanvasViewManager_1 = __webpack_require__(138);
|
|
var CanvasSelectionManager_1 = __webpack_require__(87);
|
|
var ScrollController_1 = __webpack_require__(141);
|
|
exports.svgNS = "http://www.w3.org/2000/svg";
|
|
var PADDING_NORMALIZATION_TIMEOUT = 500, READONLY_CSSCLASS = "dxdi-read-only";
|
|
exports.LONG_TOUCH_TIMEOUT = 500, exports.DBL_CLICK_TIMEOUT = 500;
|
|
var RenderManager = /** @class */ (function () {
|
|
function RenderManager(parent, events, settings) {
|
|
this.moveLocked = false;
|
|
this.normalizationRequired = false;
|
|
this.lastClickElement = undefined;
|
|
this.longTouchTimer = undefined;
|
|
this.dblTouchTimer = undefined;
|
|
var mainElement = RenderManager.createMainElement(parent);
|
|
var svgElement = RenderManager.createSvgElement(mainElement);
|
|
this.scroll = settings.scrollView || new ScrollView_1.NativeScrollView(mainElement);
|
|
this.scroll.onScroll.add(this);
|
|
this.autoScroll = new ScrollController_1.AutoScrollController(this.scroll, mainElement);
|
|
this.view = new CanvasViewManager_1.CanvasViewManager(this.scroll, svgElement, settings.modelSize, settings.zoomLevel, settings.autoZoom, settings.simpleView, settings.rectangle);
|
|
this.input = new InputManager_1.InputManager(parent, mainElement, this.view, events, settings.zoomLevel);
|
|
this.items = new CanvasItemsManager_1.CanvasItemsManager(this.view.canvasElement, settings.zoomLevel);
|
|
this.page = new CanvasPageManager_1.CanvasPageManager(this.view.pageElement, settings);
|
|
this.selection = new CanvasSelectionManager_1.CanvasSelectionManager(this.view.canvasElement, settings.zoomLevel, settings.readOnly);
|
|
this.view.onViewChanged.add(this.page);
|
|
this.view.onViewChanged.add(this.items);
|
|
this.view.onViewChanged.add(this.selection);
|
|
this.view.onViewChanged.add(this.input);
|
|
this.attachEvents(svgElement);
|
|
this.mainElement = mainElement;
|
|
this.svgElement = svgElement;
|
|
this.events = events;
|
|
}
|
|
RenderManager.prototype.dispose = function () {
|
|
this.detachEvents(this.svgElement);
|
|
this.scroll.dispose();
|
|
this.input.dispose();
|
|
};
|
|
RenderManager.prototype.replaceParent = function (parent) {
|
|
if (this.mainElement && this.mainElement.parentNode !== parent)
|
|
parent.appendChild(this.mainElement);
|
|
this.input.replaceParent(parent);
|
|
};
|
|
RenderManager.prototype.update = function (saveScrollPosition) {
|
|
this.view.update({ horizontal: !saveScrollPosition, vertical: !saveScrollPosition });
|
|
this.page.redraw();
|
|
};
|
|
RenderManager.prototype.clear = function () {
|
|
this.items.clear();
|
|
this.selection.clear();
|
|
};
|
|
RenderManager.prototype.attachEvents = function (svgElement) {
|
|
this.onMouseDownHandler = this.onMouseDown.bind(this);
|
|
this.onMouseEnterHandler = this.onMouseEnter.bind(this);
|
|
this.onMouseLeaveHandler = this.onMouseLeave.bind(this);
|
|
this.onMouseWheelHandler = this.onMouseWheel.bind(this);
|
|
this.onMouseDblClickHandler = this.onMouseDblClick.bind(this);
|
|
this.onContextMenuHandler = this.onContextMenu.bind(this);
|
|
this.onMouseMoveHandler = this.onMouseMove.bind(this);
|
|
this.onMouseUpHandler = this.onMouseUp.bind(this);
|
|
this.onWindowResizelHandler = this.onWindowResize.bind(this);
|
|
this.onMouseClickHandler = this.onMouseClick.bind(this);
|
|
svgElement.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseDownEventName, this.onMouseDownHandler);
|
|
svgElement.addEventListener("mouseenter", this.onMouseEnterHandler);
|
|
svgElement.addEventListener("mouseleave", this.onMouseLeaveHandler);
|
|
svgElement.addEventListener("wheel", this.onMouseWheelHandler);
|
|
svgElement.addEventListener("dblclick", this.onMouseDblClickHandler);
|
|
svgElement.addEventListener("click", this.onMouseClickHandler);
|
|
svgElement.addEventListener("contextmenu", this.onContextMenuHandler);
|
|
document.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseMoveEventName, this.onMouseMoveHandler);
|
|
document.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseUpEventName, this.onMouseUpHandler);
|
|
window.addEventListener("resize", this.onWindowResizelHandler);
|
|
};
|
|
RenderManager.prototype.detachEvents = function (svgElement) {
|
|
svgElement.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseDownEventName, this.onMouseDownHandler);
|
|
svgElement.removeEventListener("mouseenter", this.onMouseEnterHandler);
|
|
svgElement.removeEventListener("mouseleave", this.onMouseLeaveHandler);
|
|
svgElement.removeEventListener("wheel", this.onMouseWheelHandler);
|
|
svgElement.removeEventListener("dblclick", this.onMouseDblClickHandler);
|
|
svgElement.removeEventListener("contextmenu", this.onContextMenuHandler);
|
|
svgElement.removeEventListener("click", this.onMouseClickHandler);
|
|
document.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseMoveEventName, this.onMouseMoveHandler);
|
|
document.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseUpEventName, this.onMouseUpHandler);
|
|
window.removeEventListener("resize", this.onWindowResizelHandler);
|
|
};
|
|
RenderManager.prototype.onMouseDown = function (evt) {
|
|
var _this = this;
|
|
this.lockMouseMove();
|
|
this.input.lockFocus();
|
|
this.autoScroll.onMouseDown(evt);
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onMouseDown(e); });
|
|
this.input.captureFocus();
|
|
if (Browser_1.Browser.TouchUI)
|
|
this.processTouchDown(evt);
|
|
var srcElement = Evt_1.Evt.GetEventSource(evt);
|
|
var tagName = srcElement && srcElement.tagName;
|
|
if (Browser_1.Browser.TouchUI || tagName.toLowerCase() === "img" || tagName.toLowerCase() === "image") // prevent dragging
|
|
return Evt_1.Evt.PreventEventAndBubble(evt);
|
|
};
|
|
RenderManager.prototype.onMouseMove = function (evt) {
|
|
var _this = this;
|
|
if (this.moveLocked)
|
|
return;
|
|
this.tryFinishNormalization(evt);
|
|
this.autoScroll.onMouseMove(evt, function () { return _this.onMouseMoveCore(evt); });
|
|
this.onMouseMoveCore(evt);
|
|
Browser_1.Browser.IE && this.lockMouseMove();
|
|
if (Browser_1.Browser.TouchUI) {
|
|
this.processTouchMove(evt);
|
|
return Evt_1.Evt.PreventEventAndBubble(evt);
|
|
}
|
|
};
|
|
RenderManager.prototype.onMouseMoveCore = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt, Browser_1.Browser.TouchUI), function (e) { return _this.events.onMouseMove(e); });
|
|
};
|
|
RenderManager.prototype.onMouseUp = function (evt) {
|
|
var _this = this;
|
|
this.lockMouseMove();
|
|
this.tryFinishNormalization(evt);
|
|
var needCaptureFocus = Base_1.GetIsParent(this.mainElement, Evt_1.Evt.GetEventSource(evt));
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onMouseUp(e); });
|
|
this.autoScroll.onMouseUp(evt);
|
|
if (needCaptureFocus)
|
|
this.input.captureFocus();
|
|
if (Browser_1.Browser.TouchUI)
|
|
this.processTouchUp(evt);
|
|
};
|
|
RenderManager.prototype.onMouseEnter = function (evt) {
|
|
var _this = this;
|
|
this.autoScroll.onMouseEnter(evt);
|
|
this.tryFinishNormalization(evt);
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onMouseEnter(e); });
|
|
};
|
|
RenderManager.prototype.onMouseLeave = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onMouseLeave(e); });
|
|
};
|
|
RenderManager.prototype.onMouseDblClick = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onDblClick(e); });
|
|
};
|
|
RenderManager.prototype.onMouseClick = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onClick(e); });
|
|
};
|
|
RenderManager.prototype.onContextMenu = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramContextMenuEvent(evt), function (e) { return _this.events.onContextMenu(e); });
|
|
this.input.captureFocus();
|
|
return Evt_1.Evt.PreventEventAndBubble(evt);
|
|
};
|
|
RenderManager.prototype.processTouchDown = function (evt) {
|
|
var _this = this;
|
|
this.resetLongTouch();
|
|
this.longTouchTimer = setTimeout(function () {
|
|
Utils_2.raiseEvent(evt, _this.createDiagramMouseEvent(evt), function (e) { return _this.events.onLongTouch(e); });
|
|
_this.resetLongTouch();
|
|
_this.resetDblClick();
|
|
}, exports.LONG_TOUCH_TIMEOUT);
|
|
};
|
|
RenderManager.prototype.processTouchMove = function (evt) {
|
|
this.resetLongTouch();
|
|
this.resetDblClick();
|
|
};
|
|
RenderManager.prototype.processTouchUp = function (evt) {
|
|
var _this = this;
|
|
if (this.longTouchTimer !== undefined) {
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onClick(e); });
|
|
var element = Evt_1.Evt.GetEventSource(evt);
|
|
if (this.dblTouchTimer !== undefined && this.lastClickElement === element) {
|
|
Utils_2.raiseEvent(evt, this.createDiagramMouseEvent(evt), function (e) { return _this.events.onDblClick(e); });
|
|
this.resetDblClick();
|
|
}
|
|
else {
|
|
this.resetDblClick();
|
|
this.dblTouchTimer = setTimeout(function () { return _this.dblTouchTimer = undefined; }, exports.DBL_CLICK_TIMEOUT);
|
|
}
|
|
this.lastClickElement = element;
|
|
}
|
|
this.resetLongTouch();
|
|
};
|
|
RenderManager.prototype.resetLongTouch = function () {
|
|
if (this.longTouchTimer !== undefined)
|
|
clearTimeout(this.longTouchTimer);
|
|
this.longTouchTimer = undefined;
|
|
};
|
|
RenderManager.prototype.resetDblClick = function () {
|
|
if (this.dblTouchTimer !== undefined)
|
|
clearTimeout(this.dblTouchTimer);
|
|
this.dblTouchTimer = undefined;
|
|
};
|
|
RenderManager.prototype.onWindowResize = function () {
|
|
var resetTo = { horizontal: false, vertical: false };
|
|
if (this.view.autoZoom !== DiagramSettings_1.AutoZoomMode.Disabled) {
|
|
resetTo.horizontal = true;
|
|
resetTo.vertical = true;
|
|
}
|
|
else
|
|
resetTo = this.view.checkFitToCanvas();
|
|
this.view.update(resetTo);
|
|
};
|
|
RenderManager.prototype.onMouseWheel = function (evt) {
|
|
var _this = this;
|
|
Utils_2.raiseEvent(evt, this.createDiagramWheelEvent(evt), function (e) { return _this.events.onMouseWheel(e); });
|
|
};
|
|
RenderManager.prototype.notifyModelSizeChanged = function (size, offset) {
|
|
this.view.notifyModelSizeChanged(size, offset);
|
|
};
|
|
RenderManager.prototype.notifyModelRectangleChanged = function (rectangle) {
|
|
this.view.notifyModelRectangleChanged(rectangle);
|
|
};
|
|
RenderManager.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
Base_1.ToggleElementClassName(this.mainElement, READONLY_CSSCLASS, readOnly);
|
|
};
|
|
RenderManager.prototype.notifyDragStart = function (itemKeys) { };
|
|
RenderManager.prototype.notifyDragEnd = function (itemKeys) { };
|
|
RenderManager.prototype.notifyDragScrollStart = function () {
|
|
this.autoScroll.onDragScrollStart();
|
|
};
|
|
RenderManager.prototype.notifyDragScrollEnd = function () {
|
|
this.autoScroll.onDragScrollEnd();
|
|
};
|
|
RenderManager.prototype.createDiagramMouseEvent = function (evt, findEventSourceByPosition) {
|
|
var modifiers = KeyCode_1.getKeyModifiers(evt);
|
|
var button = isLeftButtonPressed(evt) ? Event_1.MouseButton.Left : Event_1.MouseButton.Right;
|
|
var offsetPoint = this.getOffsetPointByEvent(evt);
|
|
var modelPoint = this.getModelPoint(offsetPoint);
|
|
var eventSource = this.getEventSource(evt, findEventSourceByPosition);
|
|
var touches = this.createDiagramMouseEventTouches(evt);
|
|
return new Event_1.DiagramMouseEvent(modifiers, button, offsetPoint, modelPoint, eventSource, touches);
|
|
};
|
|
RenderManager.prototype.createDiagramMouseEventTouches = function (evt) {
|
|
var touches = [];
|
|
if (evt["touches"]) {
|
|
for (var i = 0; i < evt["touches"].length; i++) {
|
|
var x = evt["touches"][i].clientX;
|
|
var y = evt["touches"][i].clientY;
|
|
var offsetPoint = this.getOffsetPointByEventPoint(x, y);
|
|
var modelPoint = this.getModelPoint(offsetPoint);
|
|
touches.push(new Event_1.DiagramMouseEventTouch(offsetPoint, modelPoint));
|
|
}
|
|
}
|
|
return touches;
|
|
};
|
|
RenderManager.prototype.createDiagramContextMenuEvent = function (evt, findEventSourceByPosition) {
|
|
var modifiers = KeyCode_1.getKeyModifiers(evt);
|
|
var eventPoint = new Utils_1.Point(evt.pageX, evt.pageY);
|
|
var offsetPoint = this.getOffsetPointByEvent(evt);
|
|
var modelPoint = this.getModelPoint(offsetPoint);
|
|
return new Event_1.DiagramContextMenuEvent(modifiers, eventPoint, modelPoint);
|
|
};
|
|
RenderManager.prototype.createDiagramWheelEvent = function (evt) {
|
|
var modifiers = KeyCode_1.getKeyModifiers(evt);
|
|
var offsetPoint = this.getOffsetPointByEvent(evt);
|
|
var modelPoint = this.view.getModelPoint(offsetPoint);
|
|
var eventSource = this.getEventSource(evt);
|
|
return new Event_1.DiagramWheelEvent(modifiers, evt.deltaX, evt.deltaY, offsetPoint, modelPoint, eventSource);
|
|
};
|
|
RenderManager.prototype.getEventSource = function (evt, findByPosition) {
|
|
var element = Evt_1.Evt.GetEventSource(evt, findByPosition);
|
|
while (element && !this.isDocumentContainer(element)) {
|
|
var src_1 = Utils_2.RenderUtils.getElementEventData(element);
|
|
if (src_1 !== undefined)
|
|
return src_1;
|
|
element = element.parentNode;
|
|
}
|
|
var src = new Event_1.MouseEventSource();
|
|
if (element && this.isDocumentContainer(element))
|
|
src.type = Event_1.MouseEventElementType.Background;
|
|
return src;
|
|
};
|
|
RenderManager.prototype.isDocumentContainer = function (element) {
|
|
return Base_1.ElementHasCssClass(element, "dxdi-control");
|
|
};
|
|
RenderManager.prototype.lockMouseMove = function () {
|
|
var _this = this;
|
|
this.moveLocked = true;
|
|
setTimeout(function () { return _this.moveLocked = false; }, 10); // because chrome raises 2 events on click: buttonDown and move.
|
|
};
|
|
RenderManager.prototype.getModelPoint = function (offsetPoint) {
|
|
return this.view.getModelPoint(offsetPoint);
|
|
};
|
|
RenderManager.prototype.getOffsetPointByEvent = function (evt) {
|
|
var clientX = Evt_1.Evt.GetEventX(evt);
|
|
var clientY = Evt_1.Evt.GetEventY(evt);
|
|
return this.getOffsetPointByEventPoint(clientX, clientY);
|
|
};
|
|
RenderManager.prototype.getOffsetPointByEventPoint = function (clientX, clientY) {
|
|
var mainElementX = Base_1.GetAbsolutePositionX(this.mainElement);
|
|
var mainElementY = Base_1.GetAbsolutePositionY(this.mainElement);
|
|
return new Utils_1.Point(clientX - mainElementX, clientY - mainElementY);
|
|
};
|
|
RenderManager.prototype.getModelPointByEventPoint = function (clientX, clientY) {
|
|
var offsetPoint = this.getOffsetPointByEventPoint(clientX, clientY);
|
|
return this.view.getModelPoint(offsetPoint);
|
|
};
|
|
RenderManager.prototype.getEventPointByModelPoint = function (point) {
|
|
var pos = this.view.getAbsolutePoint(point);
|
|
return new Utils_1.Point(Base_1.GetAbsolutePositionX(this.mainElement) + pos.x, Base_1.GetAbsolutePositionY(this.mainElement) + pos.y);
|
|
};
|
|
RenderManager.prototype.notifyScrollChanged = function () {
|
|
var _this = this;
|
|
if (!this.normalizationRequired) {
|
|
setTimeout(function () {
|
|
_this.normalizationRequired = true;
|
|
}, PADDING_NORMALIZATION_TIMEOUT);
|
|
}
|
|
};
|
|
RenderManager.prototype.tryFinishNormalization = function (evt) {
|
|
if (!this.normalizationRequired)
|
|
return;
|
|
if (!Evt_1.Evt.IsLeftButtonPressed(evt)) {
|
|
this.normalizationRequired = false;
|
|
//this.view.tryNormalizePaddings();
|
|
}
|
|
};
|
|
RenderManager.createSvgElement = function (parent, forExport) {
|
|
if (forExport === void 0) { forExport = false; }
|
|
var svgElement = document.createElementNS(exports.svgNS, "svg");
|
|
svgElement.className.baseVal = "dxdi-canvas" + (forExport ? " export" : "");
|
|
parent && parent.appendChild(svgElement);
|
|
return svgElement;
|
|
};
|
|
RenderManager.createMainElement = function (parent) {
|
|
var element = document.createElement("div");
|
|
element.setAttribute("class", "dxdi-control");
|
|
parent.appendChild(element);
|
|
return element;
|
|
};
|
|
return RenderManager;
|
|
}());
|
|
exports.RenderManager = RenderManager;
|
|
function isLeftButtonPressed(evt) {
|
|
return !Browser_1.Browser.MSTouchUI ? Evt_1.Evt.IsLeftButtonPressed(evt) : evt.button != 2;
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 13 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RichEditUnit;
|
|
(function (RichEditUnit) {
|
|
RichEditUnit[RichEditUnit["Centimeter"] = 0] = "Centimeter";
|
|
RichEditUnit[RichEditUnit["Inch"] = 1] = "Inch";
|
|
})(RichEditUnit = exports.RichEditUnit || (exports.RichEditUnit = {}));
|
|
var UnitConverter = /** @class */ (function () {
|
|
function UnitConverter() {
|
|
}
|
|
UnitConverter.getConverter = function (unit) {
|
|
switch (unit) {
|
|
case RichEditUnit.Centimeter: return new UIUnitConverterCentimeter();
|
|
case RichEditUnit.Inch: return new UIUnitConverterInch();
|
|
default: throw new Error();
|
|
}
|
|
};
|
|
// LAYOUT - PIXELS
|
|
// MODEL - TWIPS
|
|
// FORMS - CENTIMETERS / INCHES
|
|
// FONT - POINTS
|
|
// BORDER WIDTH ON UI - POINTS
|
|
// TO TWIPS (round and no round version)
|
|
UnitConverter.pixelsToTwips = function (value) {
|
|
return Math.round(UnitConverter.pixelsToTwipsF(value));
|
|
};
|
|
UnitConverter.inchesToTwips = function (value) {
|
|
return Math.round(UnitConverter.inchesToTwipsF(value));
|
|
};
|
|
UnitConverter.pointsToTwips = function (value) {
|
|
return Math.round(UnitConverter.pointsToTwipsF(value));
|
|
};
|
|
UnitConverter.picasToTwips = function (value) {
|
|
return Math.round(value * 1440 / UnitConverter.PICAS_PER_INCH);
|
|
};
|
|
UnitConverter.centimetersToTwips = function (value) {
|
|
return Math.round(UnitConverter.centimetersToTwipsF(value));
|
|
};
|
|
UnitConverter.pixelsToTwipsF = function (value) {
|
|
return value * 1440 / UnitConverter.DPI;
|
|
};
|
|
UnitConverter.inchesToTwipsF = function (value) {
|
|
return value * 1440;
|
|
};
|
|
UnitConverter.pointsToTwipsF = function (value) {
|
|
return value * 20;
|
|
};
|
|
UnitConverter.centimetersToTwipsF = function (value) {
|
|
return value * 1440 / UnitConverter.CENTIMETERS_PER_INCH;
|
|
};
|
|
UnitConverter.modelUnitsToDegrees = function (value) {
|
|
return value / 60000;
|
|
};
|
|
UnitConverter.modelUnitsToRadians = function (value) {
|
|
return value / 60000 * Math.PI / 180;
|
|
};
|
|
UnitConverter.degreesToModelUnits = function (value) {
|
|
return value * 60000;
|
|
};
|
|
UnitConverter.radiansToModelUnits = function (value) {
|
|
return value * 60000 / Math.PI * 180;
|
|
};
|
|
UnitConverter.radiansToDegrees = function (value) {
|
|
return value / Math.PI * 180;
|
|
};
|
|
UnitConverter.fdToModelUnits = function (value) {
|
|
return Math.round(value * 1875 / 2048);
|
|
};
|
|
UnitConverter.emuToTwips = function (val) {
|
|
return val / 635;
|
|
};
|
|
// TO PIXELS (round)
|
|
UnitConverter.twipsToPixels = function (value) {
|
|
return Math.round(UnitConverter.twipsToPixelsF(value));
|
|
};
|
|
UnitConverter.inchesToPixels = function (value) {
|
|
return Math.round(UnitConverter.DPI * value);
|
|
};
|
|
UnitConverter.centimeterToPixel = function (value) {
|
|
return Math.round(value / (UnitConverter.CENTIMETERS_PER_INCH / UnitConverter.DPI));
|
|
};
|
|
UnitConverter.pointsToPixels = function (value) {
|
|
return Math.round(value * UnitConverter.DPI / 72);
|
|
};
|
|
// TO PIXELS (no round)
|
|
UnitConverter.pointsToPixelsF = function (value) {
|
|
return value * UnitConverter.DPI / 72;
|
|
};
|
|
UnitConverter.twipsToPixelsF = function (value) {
|
|
return value * UnitConverter.DPI / 1440;
|
|
};
|
|
// TO POINTS (round)
|
|
UnitConverter.pixelsToPoints = function (value) {
|
|
return Math.round(value * 72 / UnitConverter.DPI);
|
|
};
|
|
UnitConverter.twipsToPoints = function (value) {
|
|
return Math.round(this.twipsToPointsF(value));
|
|
};
|
|
// TO POINTS (no round)
|
|
UnitConverter.twipsToPointsF = function (value) {
|
|
return value / 20;
|
|
};
|
|
// TO INCHES (no round)
|
|
UnitConverter.twipsToInches = function (value) {
|
|
return value / 1440;
|
|
};
|
|
UnitConverter.pixelsToInches = function (value) {
|
|
return value / UnitConverter.DPI;
|
|
};
|
|
// TO CENTIMETERS (no round)
|
|
UnitConverter.twipsToCentimeters = function (value) {
|
|
return value * UnitConverter.CENTIMETERS_PER_INCH / 1440;
|
|
};
|
|
UnitConverter.pixelToCentimeters = function (value) {
|
|
return value * UnitConverter.CENTIMETERS_PER_INCH / UnitConverter.DPI;
|
|
};
|
|
// ANOTHER
|
|
UnitConverter.hundredthsOfMillimeterToModelUnits = function (value) {
|
|
return 15 * value / 127;
|
|
};
|
|
UnitConverter.twipsToEmu = function (val) {
|
|
return val * 635;
|
|
};
|
|
UnitConverter.twipsToDegree = function (value) {
|
|
return value / 60000;
|
|
};
|
|
UnitConverter.DPI = 96;
|
|
UnitConverter.CENTIMETERS_PER_INCH = 2.54;
|
|
UnitConverter.PICAS_PER_INCH = 6;
|
|
return UnitConverter;
|
|
}());
|
|
exports.UnitConverter = UnitConverter;
|
|
var UIUnitConverterCentimeter = /** @class */ (function (_super) {
|
|
__extends(UIUnitConverterCentimeter, _super);
|
|
function UIUnitConverterCentimeter() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
UIUnitConverterCentimeter.prototype.getUnits = function () {
|
|
return RichEditUnit.Centimeter;
|
|
};
|
|
UIUnitConverterCentimeter.prototype.twipsToUI = function (value) {
|
|
return UnitConverter.twipsToCentimeters(value);
|
|
};
|
|
UIUnitConverterCentimeter.prototype.UIToTwips = function (value) {
|
|
return UnitConverter.centimetersToTwips(value);
|
|
};
|
|
return UIUnitConverterCentimeter;
|
|
}(UnitConverter));
|
|
exports.UIUnitConverterCentimeter = UIUnitConverterCentimeter;
|
|
var UIUnitConverterInch = /** @class */ (function (_super) {
|
|
__extends(UIUnitConverterInch, _super);
|
|
function UIUnitConverterInch() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
UIUnitConverterInch.prototype.getUnits = function () {
|
|
return RichEditUnit.Inch;
|
|
};
|
|
UIUnitConverterInch.prototype.twipsToUI = function (value) {
|
|
return UnitConverter.twipsToInches(value);
|
|
};
|
|
UIUnitConverterInch.prototype.UIToTwips = function (value) {
|
|
return UnitConverter.inchesToTwips(value);
|
|
};
|
|
return UIUnitConverterInch;
|
|
}(UnitConverter));
|
|
exports.UIUnitConverterInch = UIUnitConverterInch;
|
|
|
|
|
|
/***/ }),
|
|
/* 14 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var RectangleShapeDescription = /** @class */ (function (_super) {
|
|
__extends(RectangleShapeDescription, _super);
|
|
function RectangleShapeDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Rectangle"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.75); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(RectangleShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Rectangle; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
RectangleShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, width = _a.width, height = _a.height;
|
|
return [
|
|
new RectaglePrimitive_1.RectanglePrimitive(left, top, width, height, shape.style),
|
|
];
|
|
};
|
|
return RectangleShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.RectangleShapeDescription = RectangleShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 15 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var __1 = __webpack_require__(8);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Base_1 = __webpack_require__(17);
|
|
var Browser_1 = __webpack_require__(23);
|
|
var RenderUtils = /** @class */ (function () {
|
|
function RenderUtils() {
|
|
}
|
|
RenderUtils.updateSvgElementSize = function (svgElement, width, height, forExport) {
|
|
svgElement.style.width = width + "px";
|
|
svgElement.style.height = height + "px";
|
|
svgElement.setAttribute("viewBox", "0 0 " + width + " " + height);
|
|
if (forExport) {
|
|
svgElement.setAttribute("width", width.toString());
|
|
svgElement.setAttribute("height", height.toString());
|
|
}
|
|
};
|
|
RenderUtils.removeContent = function (element) {
|
|
while (element.firstChild)
|
|
element.removeChild(element.firstChild);
|
|
};
|
|
RenderUtils.setElementEventData = function (element, type, key, value) {
|
|
if (type === Event_1.MouseEventElementType.Undefined)
|
|
return;
|
|
element.setAttribute("data-type", type.toString());
|
|
if (key !== undefined)
|
|
element.setAttribute("data-key", key.toString());
|
|
if (value !== undefined)
|
|
element.setAttribute("data-value", value.toString());
|
|
};
|
|
RenderUtils.getElementEventData = function (element) {
|
|
if (element.getAttribute && element.getAttribute("data-type")) {
|
|
return new Event_1.MouseEventSource(parseInt(element.getAttribute("data-type")), element.getAttribute("data-key"), element.getAttribute("data-value"));
|
|
}
|
|
var className = element.getAttribute && element.getAttribute("class");
|
|
if (className === "dxdi-page" || className === "dxdi-main")
|
|
return new Event_1.MouseEventSource(Event_1.MouseEventElementType.Document);
|
|
};
|
|
RenderUtils.getHtmlElementStylePropertyName = function (propertyName) {
|
|
switch (propertyName) {
|
|
case "fill":
|
|
return "color";
|
|
case "text-anchor":
|
|
return "text-align";
|
|
}
|
|
return propertyName;
|
|
};
|
|
RenderUtils.getStylePropertyValue = function (propertyName, propertyValue, reverseTextAnchor) {
|
|
if (reverseTextAnchor === void 0) { reverseTextAnchor = false; }
|
|
if (propertyName === "text-anchor" && reverseTextAnchor) {
|
|
if (propertyValue === "start")
|
|
return "end";
|
|
if (propertyValue === "end")
|
|
return "start";
|
|
}
|
|
return propertyValue;
|
|
};
|
|
RenderUtils.applyStyleToElement = function (style, element, reverseTextAnchor) {
|
|
var _this = this;
|
|
if (reverseTextAnchor === void 0) { reverseTextAnchor = false; }
|
|
var defaultStyle = style.getDefaultInstance();
|
|
style.forEach(function (propertyName) {
|
|
var propertyValue = style[propertyName];
|
|
var elPropertyName = (element instanceof HTMLElement) ? _this.getHtmlElementStylePropertyName(propertyName) : propertyName;
|
|
if (propertyValue !== undefined && propertyValue !== "" && propertyValue !== defaultStyle[propertyName])
|
|
element.style.setProperty(elPropertyName, _this.getStylePropertyValue(propertyName, propertyValue, reverseTextAnchor));
|
|
else
|
|
element.style.setProperty(elPropertyName, "");
|
|
});
|
|
};
|
|
RenderUtils.generateSvgElementId = function (prefix) {
|
|
return prefix + "_" + Base_1.CreateGuid();
|
|
};
|
|
RenderUtils.getSvgTextRectangle = function (textEl, lineWidth) {
|
|
if (lineWidth === void 0) { lineWidth = 0; }
|
|
var bBox;
|
|
try {
|
|
bBox = textEl.getBBox();
|
|
}
|
|
catch (_a) { } // TODO make measure in another way because of FF error
|
|
if (bBox) {
|
|
var x = __1.UnitConverter.pixelsToTwips(Math.round(bBox.x)) - lineWidth;
|
|
var y = __1.UnitConverter.pixelsToTwips(Math.round(bBox.y)) - lineWidth;
|
|
var width = __1.UnitConverter.pixelsToTwips(Math.round(bBox.width)) + 2 * lineWidth;
|
|
var height = __1.UnitConverter.pixelsToTwips(Math.round(bBox.height)) + 2 * lineWidth;
|
|
return Utils_1.Rectangle.create(x, y, width, height);
|
|
}
|
|
return Utils_1.Rectangle.create(0, 0, 0, 0);
|
|
};
|
|
RenderUtils.getUrlPathById = function (id) {
|
|
if (Browser_1.Browser.Safari)
|
|
return "url(" + location.protocol + "//" + location.host + location.pathname + "#" + id + ")";
|
|
return "url(#" + id + ")";
|
|
};
|
|
return RenderUtils;
|
|
}());
|
|
exports.RenderUtils = RenderUtils;
|
|
function raiseEvent(evt, _evt, raiseFunc) {
|
|
raiseFunc(_evt);
|
|
if (_evt.preventDefault)
|
|
evt.preventDefault();
|
|
}
|
|
exports.raiseEvent = raiseEvent;
|
|
|
|
|
|
/***/ }),
|
|
/* 16 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModifierKey;
|
|
(function (ModifierKey) {
|
|
ModifierKey[ModifierKey["None"] = 0] = "None";
|
|
ModifierKey[ModifierKey["Ctrl"] = 65536] = "Ctrl";
|
|
ModifierKey[ModifierKey["Shift"] = 262144] = "Shift";
|
|
ModifierKey[ModifierKey["Alt"] = 1048576] = "Alt";
|
|
ModifierKey[ModifierKey["Meta"] = 16777216] = "Meta";
|
|
})(ModifierKey = exports.ModifierKey || (exports.ModifierKey = {}));
|
|
var KeyCode;
|
|
(function (KeyCode) {
|
|
KeyCode[KeyCode["Backspace"] = 8] = "Backspace";
|
|
KeyCode[KeyCode["Tab"] = 9] = "Tab";
|
|
KeyCode[KeyCode["Enter"] = 13] = "Enter";
|
|
KeyCode[KeyCode["Pause"] = 19] = "Pause";
|
|
KeyCode[KeyCode["CapsLock"] = 20] = "CapsLock";
|
|
KeyCode[KeyCode["Esc"] = 27] = "Esc";
|
|
KeyCode[KeyCode["Space"] = 32] = "Space";
|
|
KeyCode[KeyCode["PageUp"] = 33] = "PageUp";
|
|
KeyCode[KeyCode["PageDown"] = 34] = "PageDown";
|
|
KeyCode[KeyCode["End"] = 35] = "End";
|
|
KeyCode[KeyCode["Home"] = 36] = "Home";
|
|
KeyCode[KeyCode["Left"] = 37] = "Left";
|
|
KeyCode[KeyCode["Up"] = 38] = "Up";
|
|
KeyCode[KeyCode["Right"] = 39] = "Right";
|
|
KeyCode[KeyCode["Down"] = 40] = "Down";
|
|
KeyCode[KeyCode["Insert"] = 45] = "Insert";
|
|
KeyCode[KeyCode["Delete"] = 46] = "Delete";
|
|
KeyCode[KeyCode["Key_0"] = 48] = "Key_0";
|
|
KeyCode[KeyCode["Key_1"] = 49] = "Key_1";
|
|
KeyCode[KeyCode["Key_2"] = 50] = "Key_2";
|
|
KeyCode[KeyCode["Key_3"] = 51] = "Key_3";
|
|
KeyCode[KeyCode["Key_4"] = 52] = "Key_4";
|
|
KeyCode[KeyCode["Key_5"] = 53] = "Key_5";
|
|
KeyCode[KeyCode["Key_6"] = 54] = "Key_6";
|
|
KeyCode[KeyCode["Key_7"] = 55] = "Key_7";
|
|
KeyCode[KeyCode["Key_8"] = 56] = "Key_8";
|
|
KeyCode[KeyCode["Key_9"] = 57] = "Key_9";
|
|
KeyCode[KeyCode["Key_a"] = 65] = "Key_a";
|
|
KeyCode[KeyCode["Key_b"] = 66] = "Key_b";
|
|
KeyCode[KeyCode["Key_c"] = 67] = "Key_c";
|
|
KeyCode[KeyCode["Key_d"] = 68] = "Key_d";
|
|
KeyCode[KeyCode["Key_e"] = 69] = "Key_e";
|
|
KeyCode[KeyCode["Key_f"] = 70] = "Key_f";
|
|
KeyCode[KeyCode["Key_g"] = 71] = "Key_g";
|
|
KeyCode[KeyCode["Key_h"] = 72] = "Key_h";
|
|
KeyCode[KeyCode["Key_i"] = 73] = "Key_i";
|
|
KeyCode[KeyCode["Key_j"] = 74] = "Key_j";
|
|
KeyCode[KeyCode["Key_k"] = 75] = "Key_k";
|
|
KeyCode[KeyCode["Key_l"] = 76] = "Key_l";
|
|
KeyCode[KeyCode["Key_m"] = 77] = "Key_m";
|
|
KeyCode[KeyCode["Key_n"] = 78] = "Key_n";
|
|
KeyCode[KeyCode["Key_o"] = 79] = "Key_o";
|
|
KeyCode[KeyCode["Key_p"] = 80] = "Key_p";
|
|
KeyCode[KeyCode["Key_q"] = 81] = "Key_q";
|
|
KeyCode[KeyCode["Key_r"] = 82] = "Key_r";
|
|
KeyCode[KeyCode["Key_s"] = 83] = "Key_s";
|
|
KeyCode[KeyCode["Key_t"] = 84] = "Key_t";
|
|
KeyCode[KeyCode["Key_u"] = 85] = "Key_u";
|
|
KeyCode[KeyCode["Key_v"] = 86] = "Key_v";
|
|
KeyCode[KeyCode["Key_w"] = 87] = "Key_w";
|
|
KeyCode[KeyCode["Key_x"] = 88] = "Key_x";
|
|
KeyCode[KeyCode["Key_y"] = 89] = "Key_y";
|
|
KeyCode[KeyCode["Key_z"] = 90] = "Key_z";
|
|
KeyCode[KeyCode["Windows"] = 91] = "Windows";
|
|
KeyCode[KeyCode["ContextMenu"] = 93] = "ContextMenu";
|
|
KeyCode[KeyCode["Numpad_0"] = 96] = "Numpad_0";
|
|
KeyCode[KeyCode["Numpad_1"] = 97] = "Numpad_1";
|
|
KeyCode[KeyCode["Numpad_2"] = 98] = "Numpad_2";
|
|
KeyCode[KeyCode["Numpad_3"] = 99] = "Numpad_3";
|
|
KeyCode[KeyCode["Numpad_4"] = 100] = "Numpad_4";
|
|
KeyCode[KeyCode["Numpad_5"] = 101] = "Numpad_5";
|
|
KeyCode[KeyCode["Numpad_6"] = 102] = "Numpad_6";
|
|
KeyCode[KeyCode["Numpad_7"] = 103] = "Numpad_7";
|
|
KeyCode[KeyCode["Numpad_8"] = 104] = "Numpad_8";
|
|
KeyCode[KeyCode["Numpad_9"] = 105] = "Numpad_9";
|
|
KeyCode[KeyCode["Multiply"] = 106] = "Multiply";
|
|
KeyCode[KeyCode["Add"] = 107] = "Add";
|
|
KeyCode[KeyCode["Subtract"] = 109] = "Subtract";
|
|
KeyCode[KeyCode["Decimal"] = 110] = "Decimal";
|
|
KeyCode[KeyCode["Divide"] = 111] = "Divide";
|
|
KeyCode[KeyCode["F1"] = 112] = "F1";
|
|
KeyCode[KeyCode["F2"] = 113] = "F2";
|
|
KeyCode[KeyCode["F3"] = 114] = "F3";
|
|
KeyCode[KeyCode["F4"] = 115] = "F4";
|
|
KeyCode[KeyCode["F5"] = 116] = "F5";
|
|
KeyCode[KeyCode["F6"] = 117] = "F6";
|
|
KeyCode[KeyCode["F7"] = 118] = "F7";
|
|
KeyCode[KeyCode["F8"] = 119] = "F8";
|
|
KeyCode[KeyCode["F9"] = 120] = "F9";
|
|
KeyCode[KeyCode["F10"] = 121] = "F10";
|
|
KeyCode[KeyCode["F11"] = 122] = "F11";
|
|
KeyCode[KeyCode["F12"] = 123] = "F12";
|
|
KeyCode[KeyCode["NumLock"] = 144] = "NumLock";
|
|
KeyCode[KeyCode["ScrollLock"] = 145] = "ScrollLock";
|
|
KeyCode[KeyCode["Semicolon"] = 186] = "Semicolon";
|
|
KeyCode[KeyCode["Equals"] = 187] = "Equals";
|
|
KeyCode[KeyCode["Comma"] = 188] = "Comma";
|
|
KeyCode[KeyCode["Dash"] = 189] = "Dash";
|
|
KeyCode[KeyCode["Period"] = 190] = "Period";
|
|
KeyCode[KeyCode["ForwardSlash"] = 191] = "ForwardSlash";
|
|
KeyCode[KeyCode["GraveAccent"] = 192] = "GraveAccent";
|
|
KeyCode[KeyCode["OpenBracket"] = 219] = "OpenBracket";
|
|
KeyCode[KeyCode["BackSlash"] = 220] = "BackSlash";
|
|
KeyCode[KeyCode["CloseBracket"] = 221] = "CloseBracket";
|
|
KeyCode[KeyCode["SingleQuote"] = 222] = "SingleQuote";
|
|
})(KeyCode = exports.KeyCode || (exports.KeyCode = {}));
|
|
function getKeyModifiers(evt) {
|
|
var result = 0;
|
|
if (evt.altKey)
|
|
result |= ModifierKey.Alt;
|
|
if (evt.ctrlKey)
|
|
result |= ModifierKey.Ctrl;
|
|
if (evt.shiftKey)
|
|
result |= ModifierKey.Shift;
|
|
if (evt.metaKey)
|
|
result |= ModifierKey.Meta;
|
|
return result;
|
|
}
|
|
exports.getKeyModifiers = getKeyModifiers;
|
|
|
|
|
|
/***/ }),
|
|
/* 17 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Browser_1 = __webpack_require__(23);
|
|
var Data_1 = __webpack_require__(81);
|
|
var Str_1 = __webpack_require__(132);
|
|
var Attr_1 = __webpack_require__(133);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var Evt_1 = __webpack_require__(39);
|
|
function IsExists(obj) {
|
|
return (typeof (obj) != "undefined") && (obj != null);
|
|
}
|
|
exports.IsExists = IsExists;
|
|
function IsNumber(str) {
|
|
return !isNaN(parseFloat(str)) && isFinite(str);
|
|
}
|
|
exports.IsNumber = IsNumber;
|
|
;
|
|
function SetStyles(element, styles, makeImportant) {
|
|
if (IsExists(styles.cssText))
|
|
element.style.cssText = styles.cssText;
|
|
if (IsExists(styles.className))
|
|
element.className = styles.className;
|
|
for (var property in styles) {
|
|
if (!styles.hasOwnProperty(property))
|
|
continue;
|
|
var value = styles[property];
|
|
switch (property) {
|
|
case "cssText":
|
|
case "className":
|
|
break;
|
|
case "float":
|
|
SetElementFloat(element, value);
|
|
break;
|
|
case "opacity":
|
|
SetElementOpacity(element, value);
|
|
break;
|
|
case "zIndex":
|
|
SetStylesCore(element, property, value, makeImportant);
|
|
break;
|
|
/*jshint -W086 */
|
|
case "fontWeight":
|
|
if (Browser_1.Browser.IE && Browser_1.Browser.Version < 9 && typeof (styles[property]) == "number")
|
|
value = styles[property].toString();
|
|
default:
|
|
SetStylesCore(element, property, value + (typeof (value) == "number" ? "px" : ""), makeImportant);
|
|
/*jshint +W086 */
|
|
}
|
|
}
|
|
}
|
|
exports.SetStyles = SetStyles;
|
|
;
|
|
function SetStylesCore(element, property, value, makeImportant) {
|
|
if (makeImportant) {
|
|
var index = property.search("[A-Z]");
|
|
if (index != -1)
|
|
property = property.replace(property.charAt(index), "-" + property.charAt(index).toLowerCase());
|
|
if (element.style.setProperty)
|
|
element.style.setProperty(property, value, "important");
|
|
else
|
|
element.style.cssText += ";" + property + ":" + value + "!important";
|
|
}
|
|
else
|
|
element.style[property] = value;
|
|
}
|
|
exports.SetStylesCore = SetStylesCore;
|
|
function GetDocumentScrollTop() {
|
|
var isScrollBodyIE = Browser_1.Browser.IE && GetCurrentStyle(document.body).overflow == "hidden" && document.body.scrollTop > 0;
|
|
if (Browser_1.Browser.WebKitFamily || Browser_1.Browser.Edge || isScrollBodyIE) {
|
|
if (Browser_1.Browser.MacOSMobilePlatform) //B157267
|
|
return window.pageYOffset;
|
|
if (Browser_1.Browser.WebKitFamily)
|
|
return document.documentElement.scrollTop || document.body.scrollTop;
|
|
return document.body.scrollTop;
|
|
}
|
|
else
|
|
return document.documentElement.scrollTop;
|
|
}
|
|
exports.GetDocumentScrollTop = GetDocumentScrollTop;
|
|
function CloneObject(srcObject) {
|
|
if (typeof (srcObject) != 'object' || srcObject == null)
|
|
return srcObject;
|
|
var newObject = {};
|
|
/* jshint ignore:start */
|
|
for (var i in srcObject)
|
|
newObject[i] = srcObject[i];
|
|
/* jshint ignore:end */
|
|
return newObject;
|
|
}
|
|
exports.CloneObject = CloneObject;
|
|
function GetCurrentStyle(element) {
|
|
if (element.currentStyle)
|
|
return element.currentStyle;
|
|
else if (document.defaultView && document.defaultView.getComputedStyle) {
|
|
var result = document.defaultView.getComputedStyle(element, null);
|
|
if (!result && Browser_1.Browser.Firefox && window.frameElement) {
|
|
var changes = [];
|
|
var curElement = window.frameElement;
|
|
while (!(result = document.defaultView.getComputedStyle(element, null))) {
|
|
changes.push([curElement, curElement.style.display]);
|
|
SetStylesCore(curElement, "display", "block", true);
|
|
curElement = curElement.tagName == "BODY" ? curElement.ownerDocument.defaultView.frameElement : curElement.parentNode;
|
|
}
|
|
result = CloneObject(result);
|
|
for (var ch, i = 0; ch = changes[i]; i++)
|
|
SetStylesCore(ch[0], "display", ch[1], false);
|
|
document.body.offsetWidth; //T334387
|
|
}
|
|
return result;
|
|
}
|
|
return window.getComputedStyle(element, null);
|
|
}
|
|
exports.GetCurrentStyle = GetCurrentStyle;
|
|
function GetDocumentScrollLeft() {
|
|
var isScrollBodyIE = Browser_1.Browser.IE && GetCurrentStyle(document.body).overflow == "hidden" && document.body.scrollLeft > 0;
|
|
if (Browser_1.Browser.Edge || isScrollBodyIE)
|
|
return document.body ? document.body.scrollLeft : document.documentElement.scrollLeft;
|
|
if (Browser_1.Browser.WebKitFamily)
|
|
return document.documentElement.scrollLeft || document.body.scrollLeft;
|
|
return document.documentElement.scrollLeft;
|
|
}
|
|
exports.GetDocumentScrollLeft = GetDocumentScrollLeft;
|
|
exports.focusedElement = null;
|
|
function GetFocusedElement() {
|
|
var activeElement = GetActiveElement();
|
|
return activeElement ? activeElement : exports.focusedElement;
|
|
}
|
|
exports.GetFocusedElement = GetFocusedElement;
|
|
function GetActiveElement() {
|
|
try {
|
|
return document.activeElement;
|
|
}
|
|
catch (e) {
|
|
return null;
|
|
}
|
|
}
|
|
exports.GetActiveElement = GetActiveElement;
|
|
;
|
|
function focusCore(element, selectAction) {
|
|
try {
|
|
element.focus();
|
|
if (Browser_1.Browser.IE && document.activeElement != element)
|
|
element.focus();
|
|
// Q339238
|
|
if (selectAction) {
|
|
var currentSelection = Selection.GetInfo(element);
|
|
// apply selection only if there is no selection present already
|
|
if (currentSelection.startPos == currentSelection.endPos) {
|
|
switch (selectAction) {
|
|
case "start":
|
|
Selection.SetCaretPosition(element, 0);
|
|
break;
|
|
case "all":
|
|
Selection.Set(element);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (e) {
|
|
}
|
|
}
|
|
function SetFocus(element, selectAction) {
|
|
if (Browser_1.Browser.MacOSMobilePlatform) // Q471191
|
|
focusCore(element, selectAction);
|
|
else {
|
|
window.setTimeout(function () {
|
|
focusCore(element, selectAction);
|
|
}, 100);
|
|
}
|
|
}
|
|
exports.SetFocus = SetFocus;
|
|
function GetIsParent(parentElement, element) {
|
|
if (!parentElement || !element)
|
|
return false;
|
|
while (element) {
|
|
if (element === parentElement)
|
|
return true;
|
|
if (element.tagName === "BODY")
|
|
return false;
|
|
element = element.parentNode;
|
|
}
|
|
return false;
|
|
}
|
|
exports.GetIsParent = GetIsParent;
|
|
function ElementContainsCssClass(element, className) {
|
|
//B187659
|
|
try {
|
|
if (!element.className)
|
|
return false;
|
|
return element.className.indexOf(className) != -1;
|
|
}
|
|
catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
exports.ElementContainsCssClass = ElementContainsCssClass;
|
|
function AddClassNameToElement(element, className) {
|
|
if (!element || typeof (className) !== "string")
|
|
return;
|
|
className = className.trim();
|
|
if (!ElementHasCssClass(element, className) && className !== "")
|
|
element.className = (element.className === "") ? className : element.className + " " + className;
|
|
}
|
|
exports.AddClassNameToElement = AddClassNameToElement;
|
|
function ElementHasCssClass(element, className) {
|
|
//B220674
|
|
try {
|
|
var elementClasses;
|
|
var classList = element.classList;
|
|
if (!classList) {
|
|
if (!element.className)
|
|
return false;
|
|
elementClasses = element.className.split(" ");
|
|
}
|
|
var classNames = className.split(" ");
|
|
for (var i = classNames.length - 1; i >= 0; i--) {
|
|
if (classList) {
|
|
if (!classList.contains(classNames[i]))
|
|
return false;
|
|
continue;
|
|
}
|
|
if (Data_1.Data.ArrayIndexOf(elementClasses, classNames[i]) < 0)
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
exports.ElementHasCssClass = ElementHasCssClass;
|
|
function RemoveClassNameFromElement(element, className) {
|
|
if (!element)
|
|
return;
|
|
var updClassName = " " + element.className + " ";
|
|
var newClassName = updClassName.replace(" " + className + " ", " ");
|
|
if (updClassName.length != newClassName.length)
|
|
element.className = Str_1.Str.Trim(newClassName);
|
|
}
|
|
exports.RemoveClassNameFromElement = RemoveClassNameFromElement;
|
|
function ToggleElementClassName(element, className, toggle) {
|
|
if (!element)
|
|
return;
|
|
if (toggle === false || (toggle === undefined && ElementHasCssClass(element, className)))
|
|
RemoveClassNameFromElement(element, className);
|
|
else if (toggle === true || (toggle === undefined && !ElementHasCssClass(element, className)))
|
|
AddClassNameToElement(element, className);
|
|
}
|
|
exports.ToggleElementClassName = ToggleElementClassName;
|
|
function GetAbsolutePositionY(element) {
|
|
if (Browser_1.Browser.IE)
|
|
return getAbsolutePositionY_IE(element);
|
|
else if (Browser_1.Browser.Firefox && Browser_1.Browser.Version >= 3)
|
|
return getAbsolutePositionY_FF3(element);
|
|
else if (Browser_1.Browser.Opera)
|
|
return getAbsolutePositionY_Opera(element);
|
|
else if (Browser_1.Browser.NetscapeFamily && (!Browser_1.Browser.Firefox || Browser_1.Browser.Version < 3))
|
|
return getAbsolutePositionY_NS(element);
|
|
else if (Browser_1.Browser.WebKitFamily || Browser_1.Browser.Edge)
|
|
return getAbsolutePositionY_FF3(element);
|
|
else
|
|
return getAbsolutePositionY_Other(element);
|
|
}
|
|
exports.GetAbsolutePositionY = GetAbsolutePositionY;
|
|
function getAbsolutePositionY_Opera(curEl) {
|
|
var isFirstCycle = true;
|
|
if (curEl && curEl.tagName == "TR" && curEl.cells.length > 0)
|
|
curEl = curEl.cells[0];
|
|
var pos = getAbsoluteScrollOffset_OperaFF(curEl, false);
|
|
while (curEl != null) {
|
|
pos += curEl.offsetTop;
|
|
if (!isFirstCycle)
|
|
pos -= curEl.scrollTop;
|
|
curEl = curEl.offsetParent;
|
|
isFirstCycle = false;
|
|
}
|
|
pos += document.body.scrollTop;
|
|
return pos;
|
|
}
|
|
function getAbsolutePositionY_IE(element) {
|
|
if (element == null || Browser_1.Browser.IE && element.parentNode == null)
|
|
return 0; // B96664
|
|
return element.getBoundingClientRect().top + GetDocumentScrollTop();
|
|
}
|
|
function getAbsolutePositionY_FF3(element) {
|
|
if (element == null)
|
|
return 0;
|
|
var y = element.getBoundingClientRect().top + GetDocumentScrollTop();
|
|
return Math.round(y);
|
|
}
|
|
function getAbsolutePositionY_NS(curEl) {
|
|
var pos = getAbsoluteScrollOffset_OperaFF(curEl, false);
|
|
var isFirstCycle = true;
|
|
while (curEl != null) {
|
|
pos += curEl.offsetTop;
|
|
if (!isFirstCycle && curEl.offsetParent != null)
|
|
pos -= curEl.scrollTop;
|
|
if (!isFirstCycle && Browser_1.Browser.Firefox) {
|
|
var style = GetCurrentStyle(curEl);
|
|
if (curEl.tagName == "DIV" && style.overflow != "visible")
|
|
pos += PxToInt(style.borderTopWidth);
|
|
}
|
|
isFirstCycle = false;
|
|
curEl = curEl.offsetParent;
|
|
}
|
|
return pos;
|
|
}
|
|
function getAbsolutePositionY_Other(curEl) {
|
|
var pos = 0;
|
|
var isFirstCycle = true;
|
|
while (curEl != null) {
|
|
pos += curEl.offsetTop;
|
|
if (!isFirstCycle && curEl.offsetParent != null)
|
|
pos -= curEl.scrollTop;
|
|
isFirstCycle = false;
|
|
curEl = curEl.offsetParent;
|
|
}
|
|
return pos;
|
|
}
|
|
function getAbsoluteScrollOffset_OperaFF(curEl, isX) {
|
|
var pos = 0;
|
|
var isFirstCycle = true;
|
|
while (curEl != null) {
|
|
if (curEl.tagName == "BODY")
|
|
break;
|
|
var style = GetCurrentStyle(curEl);
|
|
if (style.position == "absolute")
|
|
break;
|
|
if (!isFirstCycle && curEl.tagName == "DIV" && (style.position == "" || style.position == "static"))
|
|
pos -= isX ? curEl.scrollLeft : curEl.scrollTop;
|
|
curEl = curEl.parentNode;
|
|
isFirstCycle = false;
|
|
}
|
|
return pos;
|
|
}
|
|
function PxToInt(px) {
|
|
return pxToNumber(px, parseInt);
|
|
}
|
|
exports.PxToInt = PxToInt;
|
|
;
|
|
function PxToFloat(px) {
|
|
return pxToNumber(px, parseFloat);
|
|
}
|
|
exports.PxToFloat = PxToFloat;
|
|
;
|
|
function pxToNumber(px, parseFunction) {
|
|
var result = 0;
|
|
if (px != null && px != "") {
|
|
try {
|
|
var indexOfPx = px.indexOf("px");
|
|
if (indexOfPx > -1)
|
|
result = parseFunction(px.substr(0, indexOfPx));
|
|
}
|
|
catch (e) { }
|
|
}
|
|
return result;
|
|
}
|
|
//function GetAbsolutePositionX(element: HTMLElement): number;
|
|
function GetAbsolutePositionX(element) {
|
|
if (Browser_1.Browser.IE)
|
|
return getAbsolutePositionX_IE(element);
|
|
else if (Browser_1.Browser.Firefox && Browser_1.Browser.Version >= 3)
|
|
return getAbsolutePositionX_FF3(element);
|
|
else if (Browser_1.Browser.Opera)
|
|
return getAbsolutePositionX_Opera(element);
|
|
else if (Browser_1.Browser.NetscapeFamily && (!Browser_1.Browser.Firefox || Browser_1.Browser.Version < 3))
|
|
return getAbsolutePositionX_NS(element);
|
|
else if (Browser_1.Browser.WebKitFamily || Browser_1.Browser.Edge)
|
|
return getAbsolutePositionX_FF3(element);
|
|
else
|
|
return getAbsolutePositionX_Other(element);
|
|
}
|
|
exports.GetAbsolutePositionX = GetAbsolutePositionX;
|
|
function getAbsolutePositionX_Opera(curEl) {
|
|
var isFirstCycle = true;
|
|
var pos = getAbsoluteScrollOffset_OperaFF(curEl, true);
|
|
while (curEl != null) {
|
|
pos += curEl.offsetLeft;
|
|
if (!isFirstCycle)
|
|
pos -= curEl.scrollLeft;
|
|
curEl = curEl.offsetParent;
|
|
isFirstCycle = false;
|
|
}
|
|
pos += document.body.scrollLeft;
|
|
return pos;
|
|
}
|
|
function getAbsolutePositionX_IE(element) {
|
|
if (element == null || Browser_1.Browser.IE && element.parentNode == null)
|
|
return 0; // B96664
|
|
return element.getBoundingClientRect().left + GetDocumentScrollLeft();
|
|
}
|
|
function getAbsolutePositionX_FF3(element) {
|
|
if (element == null)
|
|
return 0;
|
|
var x = element.getBoundingClientRect().left + GetDocumentScrollLeft();
|
|
return Math.round(x);
|
|
}
|
|
function getAbsolutePositionX_NS(curEl) {
|
|
var pos = getAbsoluteScrollOffset_OperaFF(curEl, true);
|
|
var isFirstCycle = true;
|
|
while (curEl != null) {
|
|
pos += curEl.offsetLeft;
|
|
if (!isFirstCycle && curEl.offsetParent != null)
|
|
pos -= curEl.scrollLeft;
|
|
if (!isFirstCycle && Browser_1.Browser.Firefox) {
|
|
var style = GetCurrentStyle(curEl);
|
|
if (curEl.tagName == "DIV" && style.overflow != "visible")
|
|
pos += PxToInt(style.borderLeftWidth);
|
|
}
|
|
isFirstCycle = false;
|
|
curEl = curEl.offsetParent;
|
|
}
|
|
return pos;
|
|
}
|
|
function getAbsolutePositionX_Other(curEl) {
|
|
var pos = 0;
|
|
var isFirstCycle = true;
|
|
while (curEl != null) {
|
|
pos += curEl.offsetLeft;
|
|
if (!isFirstCycle && curEl.offsetParent != null)
|
|
pos -= curEl.scrollLeft;
|
|
isFirstCycle = false;
|
|
curEl = curEl.offsetParent;
|
|
}
|
|
return pos;
|
|
}
|
|
function SetAbsoluteX(element, x) {
|
|
element.style.left = prepareClientPosForElement(x, element, true) + "px";
|
|
}
|
|
exports.SetAbsoluteX = SetAbsoluteX;
|
|
;
|
|
function SetAbsoluteY(element, y) {
|
|
element.style.top = prepareClientPosForElement(y, element, false) + "px";
|
|
}
|
|
exports.SetAbsoluteY = SetAbsoluteY;
|
|
;
|
|
function prepareClientPosForElement(pos, element, isX) {
|
|
pos -= getPositionElementOffset(element, isX);
|
|
return pos;
|
|
}
|
|
;
|
|
function getPositionElementOffset(element, isX) {
|
|
var div = createElementMock(element);
|
|
if (div.style.position == "static")
|
|
div.style.position = "absolute";
|
|
element.parentNode.appendChild(div);
|
|
var realPos = isX ? GetAbsolutePositionX(div) : GetAbsolutePositionY(div);
|
|
element.parentNode.removeChild(div);
|
|
return Math.round(realPos);
|
|
}
|
|
;
|
|
function createElementMock(element) {
|
|
var div = document.createElement('DIV');
|
|
div.style.top = "0px";
|
|
div.style.left = "0px";
|
|
div.style.visibility = "hidden";
|
|
div.style.position = GetCurrentStyle(element).position;
|
|
return div;
|
|
}
|
|
function IsPercentageSize(size) {
|
|
return size && size.indexOf('%') != -1;
|
|
}
|
|
exports.IsPercentageSize = IsPercentageSize;
|
|
;
|
|
function GetChildNodes(parent, predicate) {
|
|
return RetrieveByPredicate(parent.childNodes, predicate);
|
|
}
|
|
exports.GetChildNodes = GetChildNodes;
|
|
;
|
|
function GetNodes(parent, predicate) {
|
|
var c = parent.all || parent.getElementsByTagName('*');
|
|
return RetrieveByPredicate(c, predicate);
|
|
}
|
|
exports.GetNodes = GetNodes;
|
|
;
|
|
function RetrieveByPredicate(scourceCollection, predicate) {
|
|
var result = [];
|
|
for (var i = 0; i < scourceCollection.length; i++) {
|
|
var element = scourceCollection[i];
|
|
if (!predicate || predicate(element))
|
|
result.push(element);
|
|
}
|
|
return result;
|
|
}
|
|
exports.RetrieveByPredicate = RetrieveByPredicate;
|
|
;
|
|
function GetChildNodesByClassName(parent, className) {
|
|
if (!parent)
|
|
return [];
|
|
if (parent.querySelectorAll) {
|
|
var children = parent.querySelectorAll('.' + className);
|
|
return nodeListToArray(children, function (element) {
|
|
return element.parentNode === parent;
|
|
});
|
|
}
|
|
return GetChildNodes(parent, function (elem) { return elem.className && ElementHasCssClass(elem, className); });
|
|
}
|
|
exports.GetChildNodesByClassName = GetChildNodesByClassName;
|
|
function nodeListToArray(nodeList, filter) {
|
|
var result = [];
|
|
for (var i = 0, element; element = nodeList[i]; i++) {
|
|
if (filter && !filter(element))
|
|
continue;
|
|
result.push(element);
|
|
}
|
|
return result;
|
|
}
|
|
function GetNodesByClassName(parent, className) {
|
|
if (parent.querySelectorAll) {
|
|
var children = parent.querySelectorAll('.' + className);
|
|
return nodeListToArray(children, null);
|
|
}
|
|
return GetNodes(parent, function (elem) { return elem.className && ElementHasCssClass(elem, className); });
|
|
}
|
|
exports.GetNodesByClassName = GetNodesByClassName;
|
|
function GetParentByClassName(element, className) {
|
|
while (element != null) {
|
|
if (element.tagName == "BODY" || element.nodeName == "#document")
|
|
return null;
|
|
if (ElementContainsCssClass(element, className))
|
|
return element;
|
|
element = element.parentNode;
|
|
}
|
|
return null;
|
|
}
|
|
exports.GetParentByClassName = GetParentByClassName;
|
|
function GetParentByTagName(element, tagName) {
|
|
tagName = tagName.toUpperCase();
|
|
while (element) {
|
|
if (element.tagName === "BODY")
|
|
return null;
|
|
if (element.tagName === tagName)
|
|
return element;
|
|
element = element.parentNode;
|
|
}
|
|
return null;
|
|
}
|
|
exports.GetParentByTagName = GetParentByTagName;
|
|
var html2PlainTextFilter = null;
|
|
function setInnerHtmlInternal(el, trustedHtmlString) {
|
|
el.innerHTML = trustedHtmlString;
|
|
}
|
|
exports.setInnerHtmlInternal = setInnerHtmlInternal;
|
|
function SetElementDisplay(element, value, checkCurrentStyle, makeInline) {
|
|
if (!element)
|
|
return;
|
|
if (typeof (value) === "string")
|
|
element.style.display = value;
|
|
else if (!value)
|
|
element.style.display = "none";
|
|
else {
|
|
element.style.display = "";
|
|
if (checkCurrentStyle && GetCurrentStyle(element).display === "none") {
|
|
var displayAddon = makeInline ? "inline-" : "";
|
|
switch (element.tagName) {
|
|
case "TABLE": {
|
|
element.style.display = displayAddon + "table";
|
|
break;
|
|
}
|
|
default: {
|
|
element.style.display = displayAddon + "block";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
exports.SetElementDisplay = SetElementDisplay;
|
|
function GetInnerText(container) {
|
|
if (Browser_1.Browser.Safari && Browser_1.Browser.MajorVersion <= 5) {
|
|
var filter = getHtml2PlainTextFilter();
|
|
setInnerHtmlInternal(filter, container.innerHTML);
|
|
SetElementDisplay(filter, true, false, false);
|
|
var innerText = filter.innerText;
|
|
SetElementDisplay(filter, false, false, false);
|
|
return innerText;
|
|
}
|
|
else if (Browser_1.Browser.NetscapeFamily || Browser_1.Browser.WebKitFamily || (Browser_1.Browser.IE && Browser_1.Browser.Version >= 9) || Browser_1.Browser.Edge) {
|
|
return container.textContent;
|
|
}
|
|
else
|
|
return container.innerText;
|
|
}
|
|
exports.GetInnerText = GetInnerText;
|
|
function getHtml2PlainTextFilter() {
|
|
if (html2PlainTextFilter == null) {
|
|
html2PlainTextFilter = document.createElement("DIV");
|
|
html2PlainTextFilter.style.width = "0";
|
|
html2PlainTextFilter.style.height = "0";
|
|
html2PlainTextFilter.style.overflow = "visible";
|
|
SetElementDisplay(html2PlainTextFilter, false, false, false);
|
|
document.body.appendChild(html2PlainTextFilter);
|
|
}
|
|
return html2PlainTextFilter;
|
|
}
|
|
var verticalScrollBarWidth;
|
|
function GetVerticalScrollBarWidth() {
|
|
if (typeof (verticalScrollBarWidth) == "undefined") {
|
|
var container = document.createElement("DIV");
|
|
container.style.cssText = "position: absolute; top: 0px; left: 0px; visibility: hidden; width: 200px; height: 150px; overflow: hidden; box-sizing: content-box";
|
|
document.body.appendChild(container);
|
|
var child = document.createElement("P");
|
|
container.appendChild(child);
|
|
child.style.cssText = "width: 100%; height: 200px;";
|
|
var widthWithoutScrollBar = child.offsetWidth;
|
|
container.style.overflow = "scroll";
|
|
var widthWithScrollBar = child.offsetWidth;
|
|
if (widthWithoutScrollBar == widthWithScrollBar)
|
|
widthWithScrollBar = container.clientWidth;
|
|
verticalScrollBarWidth = widthWithoutScrollBar - widthWithScrollBar;
|
|
document.body.removeChild(container);
|
|
}
|
|
return verticalScrollBarWidth;
|
|
}
|
|
exports.GetVerticalScrollBarWidth = GetVerticalScrollBarWidth;
|
|
function GetHorizontalBordersWidth(element, style) {
|
|
if (!IsExists(style))
|
|
style = (Browser_1.Browser.IE && window.getComputedStyle) ? window.getComputedStyle(element) : GetCurrentStyle(element);
|
|
var res = 0;
|
|
if (style.borderLeftStyle != "none")
|
|
res += PxToFloat(style.borderLeftWidth);
|
|
if (style.borderRightStyle != "none")
|
|
res += PxToFloat(style.borderRightWidth);
|
|
return res;
|
|
}
|
|
exports.GetHorizontalBordersWidth = GetHorizontalBordersWidth;
|
|
function GetVerticalBordersWidth(element, style) {
|
|
if (!IsExists(style))
|
|
style = (Browser_1.Browser.IE && Browser_1.Browser.MajorVersion != 9 && window.getComputedStyle) ? window.getComputedStyle(element) : GetCurrentStyle(element);
|
|
var res = 0;
|
|
if (style.borderTopStyle != "none")
|
|
res += PxToFloat(style.borderTopWidth);
|
|
if (style.borderBottomStyle != "none")
|
|
res += PxToFloat(style.borderBottomWidth);
|
|
return res;
|
|
}
|
|
exports.GetVerticalBordersWidth = GetVerticalBordersWidth;
|
|
function SetElementVisibility(element, value) {
|
|
if (!element)
|
|
return;
|
|
if (typeof (value) === "string")
|
|
element.style.visibility = value;
|
|
else
|
|
element.style.visibility = value ? "visible" : "hidden";
|
|
}
|
|
exports.SetElementVisibility = SetElementVisibility;
|
|
;
|
|
function SetElementFloat(element, value) {
|
|
if (IsExists(element.style.cssFloat))
|
|
element.style.cssFloat = value;
|
|
else if (IsExists(element.style.styleFloat))
|
|
element.style.styleFloat = value;
|
|
else
|
|
Attr_1.Attr.SetAttribute(element.style, "float", value);
|
|
}
|
|
exports.SetElementFloat = SetElementFloat;
|
|
;
|
|
function SetElementOpacity(element, value) {
|
|
var useOpacityStyle = !Browser_1.Browser.IE || Browser_1.Browser.Version > 8;
|
|
if (useOpacityStyle) {
|
|
element.style.opacity = value;
|
|
}
|
|
else {
|
|
if (typeof (element.filters) === "object" && element.filters["DXImageTransform.Microsoft.Alpha"])
|
|
element.filters.item("DXImageTransform.Microsoft.Alpha").Opacity = value * 100;
|
|
else
|
|
element.style.filter = "alpha(opacity=" + (value * 100) + ")";
|
|
}
|
|
}
|
|
exports.SetElementOpacity = SetElementOpacity;
|
|
function CreateGuid() {
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
var r = Math.random() * 16 | 0; // trunc fractional part
|
|
var v = c == 'x' ? r : r & 0x3 | 0x8;
|
|
return v.toString(16);
|
|
});
|
|
}
|
|
exports.CreateGuid = CreateGuid;
|
|
function IsUrlContainsClientScript(url) {
|
|
return url.toLowerCase().indexOf("javascript:") !== -1;
|
|
}
|
|
exports.IsUrlContainsClientScript = IsUrlContainsClientScript;
|
|
function IsExistsElement(element) {
|
|
return element && IsValidElement(element);
|
|
}
|
|
exports.IsExistsElement = IsExistsElement;
|
|
function IsValidElement(element) {
|
|
if (!element)
|
|
return false;
|
|
if (!(Browser_1.Browser.Firefox && Browser_1.Browser.Version < 4)) {
|
|
if (element.ownerDocument && element.ownerDocument.body && element.ownerDocument.body.compareDocumentPosition)
|
|
return element.ownerDocument.body.compareDocumentPosition(element) % 2 === 0;
|
|
}
|
|
if (!Browser_1.Browser.Opera && !(Browser_1.Browser.IE && Browser_1.Browser.Version < 9) && element.offsetParent && element.parentNode.tagName)
|
|
return true;
|
|
while (element != null) {
|
|
if (element.tagName == "BODY")
|
|
return true;
|
|
element = element.parentNode;
|
|
}
|
|
return false;
|
|
}
|
|
exports.IsValidElement = IsValidElement;
|
|
function IsInteractiveControl(element) {
|
|
return Data_1.Data.ArrayIndexOf(["A", "INPUT", "SELECT", "OPTION", "TEXTAREA", "BUTTON", "IFRAME"], element.tagName) > -1;
|
|
}
|
|
exports.IsInteractiveControl = IsInteractiveControl;
|
|
function IsActionElement(element) {
|
|
if (!IsExistsElement(element))
|
|
return false;
|
|
var tabIndex = parseInt(Attr_1.Attr.GetAttribute(element, Attr_1.Attr.GetTabIndexAttributeName()));
|
|
var hasTabIndex = !isNaN(tabIndex);
|
|
var hasNonNegativeTabIndex = hasTabIndex && tabIndex > -1;
|
|
var hasNegativeTabIndex = hasTabIndex && tabIndex < 0;
|
|
var tagName = element.tagName;
|
|
var focusableElementTags = ["BUTTON", "SELECT", "TEXTAREA", "OPTION", "IFRAME"];
|
|
var isFocusableCore = IsFocusable(element);
|
|
var isFocusableTag = focusableElementTags.indexOf(tagName) !== -1;
|
|
var isFocusableLink = tagName === "A" && (!!element.href || hasNonNegativeTabIndex);
|
|
var isFocusableInput = tagName === "INPUT" && element.type.toLowerCase() !== "hidden";
|
|
var isFocusableByTabIndex = tagName !== "INPUT" && hasNonNegativeTabIndex;
|
|
var isEditableDiv = tagName == "DIV" && element.contentEditable === "true";
|
|
return isFocusableCore && !hasNegativeTabIndex && (isFocusableTag || isFocusableLink || isFocusableInput || isFocusableByTabIndex || isEditableDiv);
|
|
}
|
|
exports.IsActionElement = IsActionElement;
|
|
function IsFocusable(element, skipContainerVisibilityCheck) {
|
|
if (skipContainerVisibilityCheck === void 0) { skipContainerVisibilityCheck = function () { return false; }; }
|
|
var current = element;
|
|
while (current && current.nodeType == 1) {
|
|
if (current == element || !skipContainerVisibilityCheck(current)) {
|
|
var tagName = current.tagName.toUpperCase();
|
|
if (tagName == "BODY")
|
|
return true;
|
|
var disabledElementTags = ["INPUT", "BUTTON", "TEXTAREA", "SELECT", "OPTION"];
|
|
if (disabledElementTags.indexOf(tagName) !== -1 && current.disabled || !GetElementDisplay(current, false) || !GetElementVisibility(current, false))
|
|
return false;
|
|
}
|
|
current = current.parentNode;
|
|
}
|
|
return true;
|
|
}
|
|
exports.IsFocusable = IsFocusable;
|
|
function GetElementDisplay(element, isCurrentStyle) {
|
|
if (isCurrentStyle)
|
|
return GetCurrentStyle(element).display != "none";
|
|
return element.style.display != "none";
|
|
}
|
|
exports.GetElementDisplay = GetElementDisplay;
|
|
function GetElementVisibility(element, isCurrentStyle) {
|
|
if (isCurrentStyle)
|
|
return GetCurrentStyle(element).visibility != "hidden";
|
|
return element.style.visibility != "hidden";
|
|
}
|
|
exports.GetElementVisibility = GetElementVisibility;
|
|
function GetClearClientHeight(element) {
|
|
return element.offsetHeight - GetTopBottomBordersAndPaddingsSummaryValue(element);
|
|
}
|
|
exports.GetClearClientHeight = GetClearClientHeight;
|
|
function GetTopBottomBordersAndPaddingsSummaryValue(element, currentStyle) {
|
|
return GetTopBottomPaddings(element, currentStyle) + GetVerticalBordersWidth(element, currentStyle);
|
|
}
|
|
exports.GetTopBottomBordersAndPaddingsSummaryValue = GetTopBottomBordersAndPaddingsSummaryValue;
|
|
;
|
|
function GetTopBottomPaddings(element, style) {
|
|
var currentStyle = style ? style : GetCurrentStyle(element);
|
|
return PxToInt(currentStyle.paddingTop) + PxToInt(currentStyle.paddingBottom);
|
|
}
|
|
exports.GetTopBottomPaddings = GetTopBottomPaddings;
|
|
;
|
|
function ParseShortcutString(shortcutString) {
|
|
if (!shortcutString)
|
|
return 0;
|
|
var isCtrlKey = false;
|
|
var isShiftKey = false;
|
|
var isAltKey = false;
|
|
var isMetaKey = false;
|
|
var keyCode = null;
|
|
var shcKeys = shortcutString.toString().split("+");
|
|
if (shcKeys.length > 0) {
|
|
for (var i = 0; i < shcKeys.length; i++) {
|
|
var key = Str_1.Str.Trim(shcKeys[i].toUpperCase());
|
|
switch (key) {
|
|
case "CONTROL":
|
|
case "CONTROLKEY":
|
|
case "CTRL":
|
|
isCtrlKey = true;
|
|
break;
|
|
case "SHIFT":
|
|
case "SHIFTKEY":
|
|
isShiftKey = true;
|
|
break;
|
|
case "ALT":
|
|
isAltKey = true;
|
|
break;
|
|
case "CMD":
|
|
isMetaKey = true;
|
|
break;
|
|
case "F1":
|
|
keyCode = KeyCode_1.KeyCode.F1;
|
|
break;
|
|
case "F2":
|
|
keyCode = KeyCode_1.KeyCode.F2;
|
|
break;
|
|
case "F3":
|
|
keyCode = KeyCode_1.KeyCode.F3;
|
|
break;
|
|
case "F4":
|
|
keyCode = KeyCode_1.KeyCode.F4;
|
|
break;
|
|
case "F5":
|
|
keyCode = KeyCode_1.KeyCode.F5;
|
|
break;
|
|
case "F6":
|
|
keyCode = KeyCode_1.KeyCode.F6;
|
|
break;
|
|
case "F7":
|
|
keyCode = KeyCode_1.KeyCode.F7;
|
|
break;
|
|
case "F8":
|
|
keyCode = KeyCode_1.KeyCode.F8;
|
|
break;
|
|
case "F9":
|
|
keyCode = KeyCode_1.KeyCode.F9;
|
|
break;
|
|
case "F10":
|
|
keyCode = KeyCode_1.KeyCode.F10;
|
|
break;
|
|
case "F11":
|
|
keyCode = KeyCode_1.KeyCode.F11;
|
|
break;
|
|
case "F12":
|
|
keyCode = KeyCode_1.KeyCode.F12;
|
|
break;
|
|
case "RETURN":
|
|
case "ENTER":
|
|
keyCode = KeyCode_1.KeyCode.Enter;
|
|
break;
|
|
case "HOME":
|
|
keyCode = KeyCode_1.KeyCode.Home;
|
|
break;
|
|
case "END":
|
|
keyCode = KeyCode_1.KeyCode.End;
|
|
break;
|
|
case "LEFT":
|
|
keyCode = KeyCode_1.KeyCode.Left;
|
|
break;
|
|
case "RIGHT":
|
|
keyCode = KeyCode_1.KeyCode.Right;
|
|
break;
|
|
case "UP":
|
|
keyCode = KeyCode_1.KeyCode.Up;
|
|
break;
|
|
case "DOWN":
|
|
keyCode = KeyCode_1.KeyCode.Down;
|
|
break;
|
|
case "PAGEUP":
|
|
keyCode = KeyCode_1.KeyCode.PageUp;
|
|
break;
|
|
case "PAGEDOWN":
|
|
keyCode = KeyCode_1.KeyCode.PageDown;
|
|
break;
|
|
case "SPACE":
|
|
keyCode = KeyCode_1.KeyCode.Space;
|
|
break;
|
|
case "TAB":
|
|
keyCode = KeyCode_1.KeyCode.Tab;
|
|
break;
|
|
case "BACKSPACE":
|
|
case "BACK":
|
|
keyCode = KeyCode_1.KeyCode.Backspace;
|
|
break;
|
|
case "CONTEXT":
|
|
keyCode = KeyCode_1.KeyCode.ContextMenu;
|
|
break;
|
|
case "ESCAPE":
|
|
case "ESC":
|
|
keyCode = KeyCode_1.KeyCode.Esc;
|
|
break;
|
|
case "DELETE":
|
|
case "DEL":
|
|
keyCode = KeyCode_1.KeyCode.Delete;
|
|
break;
|
|
case "INSERT":
|
|
case "INS":
|
|
keyCode = KeyCode_1.KeyCode.Insert;
|
|
break;
|
|
case "PLUS":
|
|
keyCode = "+".charCodeAt(0);
|
|
break;
|
|
default:
|
|
keyCode = key.charCodeAt(0);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
ShowErrorAlert("Invalid shortcut");
|
|
return GetShortcutCode(keyCode, isCtrlKey, isShiftKey, isAltKey, isMetaKey);
|
|
}
|
|
exports.ParseShortcutString = ParseShortcutString;
|
|
function ShowErrorAlert(message) {
|
|
message = Str_1.Str.DecodeHtmlViaTextArea(message);
|
|
if (IsExists(message) && message !== "")
|
|
alert(message);
|
|
}
|
|
exports.ShowErrorAlert = ShowErrorAlert;
|
|
;
|
|
function GetShortcutCode(keyCode, isCtrlKey, isShiftKey, isAltKey, isMetaKey) {
|
|
var value = keyCode;
|
|
value |= isCtrlKey ? KeyCode_1.ModifierKey.Ctrl : 0;
|
|
value |= isShiftKey ? KeyCode_1.ModifierKey.Shift : 0;
|
|
value |= isAltKey ? KeyCode_1.ModifierKey.Alt : 0;
|
|
value |= isMetaKey ? KeyCode_1.ModifierKey.Meta : 0;
|
|
return value;
|
|
}
|
|
exports.GetShortcutCode = GetShortcutCode;
|
|
;
|
|
function GetShortcutCodeByEvent(evt) {
|
|
return GetShortcutCode(Evt_1.Evt.GetKeyCode(evt), evt.ctrlKey, evt.shiftKey, evt.altKey, Browser_1.Browser.MacOSPlatform ? evt.metaKey : false);
|
|
}
|
|
exports.GetShortcutCodeByEvent = GetShortcutCodeByEvent;
|
|
;
|
|
|
|
|
|
/***/ }),
|
|
/* 18 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var SvgPrimitive = /** @class */ (function () {
|
|
function SvgPrimitive(style, className, clipPathId, onApplyProperties) {
|
|
this.style = style;
|
|
this.className = className;
|
|
this.clipPathId = clipPathId;
|
|
this.onApplyProperties = onApplyProperties;
|
|
this.children = [];
|
|
}
|
|
SvgPrimitive.prototype.createElement = function () {
|
|
var el = this.createMainElement();
|
|
this.createChildElements(el);
|
|
return el;
|
|
};
|
|
SvgPrimitive.prototype.createChildElements = function (parent) {
|
|
for (var i = 0; i < this.children.length; i++)
|
|
parent.appendChild(this.children[i].createElement());
|
|
};
|
|
SvgPrimitive.prototype.applyElementProperties = function (element) {
|
|
this.applyElementStyleProperties(element);
|
|
if (this.className)
|
|
element.setAttribute("class", this.className);
|
|
if (typeof this.clipPathId === "string") {
|
|
if (this.clipPathId)
|
|
element.setAttribute("clip-path", Utils_1.RenderUtils.getUrlPathById(this.clipPathId));
|
|
else
|
|
element.removeAttribute("clip-path");
|
|
}
|
|
if (this.onApplyProperties)
|
|
this.onApplyProperties(element);
|
|
this.applyChildrenProperties(element);
|
|
};
|
|
SvgPrimitive.prototype.applyChildrenProperties = function (element) {
|
|
for (var i = 0; i < this.children.length; i++)
|
|
this.children[i].applyElementProperties(element.childNodes[i]);
|
|
};
|
|
SvgPrimitive.prototype.applyElementStyleProperties = function (element) {
|
|
this.applyElementStylePropertiesCore(element);
|
|
};
|
|
SvgPrimitive.prototype.applyElementStylePropertiesCore = function (element, reverseTextAnchor) {
|
|
if (reverseTextAnchor === void 0) { reverseTextAnchor = false; }
|
|
if (this.style)
|
|
Utils_1.RenderUtils.applyStyleToElement(this.style, element, reverseTextAnchor);
|
|
};
|
|
SvgPrimitive.prototype.setUnitAttribute = function (element, key, value) {
|
|
if (value === undefined || value === null)
|
|
return;
|
|
var valueStr = typeof value === "number" ? UnitConverter_1.UnitConverter.twipsToPixels(value).toString() : value;
|
|
element.setAttribute(key, valueStr);
|
|
};
|
|
SvgPrimitive.prototype.dispose = function () {
|
|
if (this.children)
|
|
this.children.forEach(function (primitive) { return primitive.dispose(); });
|
|
};
|
|
return SvgPrimitive;
|
|
}());
|
|
exports.SvgPrimitive = SvgPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 19 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var ImageCache_1 = __webpack_require__(49);
|
|
var Color_1 = __webpack_require__(38);
|
|
var DiagramUnit;
|
|
(function (DiagramUnit) {
|
|
DiagramUnit[DiagramUnit["In"] = 0] = "In";
|
|
DiagramUnit[DiagramUnit["Cm"] = 1] = "Cm";
|
|
DiagramUnit[DiagramUnit["Px"] = 2] = "Px";
|
|
})(DiagramUnit = exports.DiagramUnit || (exports.DiagramUnit = {}));
|
|
var PageOrientation;
|
|
(function (PageOrientation) {
|
|
PageOrientation[PageOrientation["Portrait"] = 0] = "Portrait";
|
|
PageOrientation[PageOrientation["Landscape"] = 1] = "Landscape";
|
|
})(PageOrientation = exports.PageOrientation || (exports.PageOrientation = {}));
|
|
var DiagramModel = /** @class */ (function () {
|
|
function DiagramModel(pageSize) {
|
|
if (pageSize === void 0) { pageSize = new Utils_1.Size(8391, 11906); }
|
|
this.items = [];
|
|
this.itemIndexByKey = {};
|
|
this.pageSize = new Utils_1.Size(8391, 11906);
|
|
this.pageLandscape = false;
|
|
this.pageColor = DiagramModel.defaultPageColor;
|
|
this.units = DiagramUnit.In;
|
|
this.snapStartPoint = new Utils_1.Point(0, 0);
|
|
this.pageSize = pageSize;
|
|
this.size = this.pageSize.clone();
|
|
this.rectangle = new Utils_1.Rectangle(new Utils_1.Point(0, 0), new Utils_1.Size(0, 0));
|
|
}
|
|
Object.defineProperty(DiagramModel.prototype, "pageWidth", {
|
|
get: function () {
|
|
return this.pageLandscape ? this.pageSize.height : this.pageSize.width;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramModel.prototype, "pageHeight", {
|
|
get: function () {
|
|
return this.pageLandscape ? this.pageSize.width : this.pageSize.height;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DiagramModel.prototype.getRectangle = function (forceUpdate) {
|
|
if (forceUpdate)
|
|
this.rectangle = Utils_1.GeometryUtils.getCommonRectangle(this.items.map(function (i) { return i.rectangle; }));
|
|
return this.rectangle;
|
|
};
|
|
DiagramModel.getRectangle = function (items) {
|
|
return Utils_1.GeometryUtils.getCommonRectangle(items.map(function (i) { return i.rectangle; }));
|
|
};
|
|
DiagramModel.prototype.pushItem = function (item) {
|
|
var index = this.items.push(item);
|
|
this.itemIndexByKey[item.key] = index - 1;
|
|
if (item instanceof Shape_1.Shape && !item.image.isEmpty)
|
|
this.cacheShapeImage(item);
|
|
};
|
|
DiagramModel.prototype.removeItem = function (item) {
|
|
var index = this.getItemIndex(item);
|
|
delete this.itemIndexByKey[item.key];
|
|
this.items.splice(index, 1);
|
|
this.updateIndicesHash(index);
|
|
};
|
|
DiagramModel.prototype.updateIndicesHash = function (startIndex) {
|
|
for (var i = startIndex; i < this.items.length; i++)
|
|
this.itemIndexByKey[this.items[i].key] = i;
|
|
};
|
|
DiagramModel.prototype.getItemIndex = function (item) {
|
|
return this.itemIndexByKey[item.key];
|
|
};
|
|
DiagramModel.prototype.findShape = function (key) {
|
|
var shape = this.findItem(key);
|
|
return shape instanceof Shape_1.Shape ? shape : undefined;
|
|
};
|
|
DiagramModel.prototype.findShapesCore = function (callback) {
|
|
var shapes;
|
|
shapes = [];
|
|
this.items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
if (callback(item)) {
|
|
shapes.push(item);
|
|
return;
|
|
}
|
|
}
|
|
});
|
|
return shapes;
|
|
};
|
|
DiagramModel.prototype.findShapeCore = function (callback) {
|
|
var shape;
|
|
this.items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
if (callback(item)) {
|
|
shape = item;
|
|
return;
|
|
}
|
|
}
|
|
});
|
|
return shape;
|
|
};
|
|
DiagramModel.prototype.findShapeAtPosition = function (position) {
|
|
return this.findShapeCore(function (shape) { return shape.position.equals(position); });
|
|
};
|
|
DiagramModel.prototype.findShapeByDataKey = function (key) {
|
|
return this.findShapeCore(function (shape) { return shape.dataKey === key; });
|
|
};
|
|
DiagramModel.prototype.findShapesByImageUrl = function (imageUrl) {
|
|
return this.findShapesCore(function (shape) { return shape.image.url === imageUrl; });
|
|
};
|
|
DiagramModel.prototype.cacheShapeImage = function (shape) {
|
|
var cacheImageInfo = ImageCache_1.ImageCache.instance.createUnloadedInfoByShapeImageInfo(shape.image);
|
|
if (cacheImageInfo.isLoaded)
|
|
shape.image.loadBase64Content(cacheImageInfo.base64);
|
|
};
|
|
DiagramModel.prototype.loadAllImages = function (imageLoader) {
|
|
ImageCache_1.ImageCache.instance.loadAllImages(imageLoader);
|
|
};
|
|
DiagramModel.prototype.findContainer = function (key) {
|
|
var shape = this.findShape(key);
|
|
return shape && shape.enableChildren ? shape : undefined;
|
|
};
|
|
DiagramModel.prototype.getChildren = function (container) {
|
|
var _this = this;
|
|
return container.childKeys.map(function (key) { return _this.findItem(key); }).filter(function (item) { return item; });
|
|
};
|
|
DiagramModel.prototype.findChild = function (container, key, recursive) {
|
|
var _this = this;
|
|
if (recursive === void 0) { recursive = true; }
|
|
var result;
|
|
container.childKeys.forEach(function (childKey) {
|
|
if (result)
|
|
return;
|
|
var child = _this.findItem(childKey);
|
|
if (childKey === key) {
|
|
result = child;
|
|
return;
|
|
}
|
|
if (recursive && child instanceof Shape_1.Shape) {
|
|
result = _this.findChild(child, key, recursive);
|
|
if (result)
|
|
return;
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
DiagramModel.prototype.findItemContainerCore = function (item, callback) {
|
|
var container = item.container;
|
|
while (container) {
|
|
if (!callback || callback(container))
|
|
break;
|
|
container = container.container;
|
|
}
|
|
return container;
|
|
};
|
|
DiagramModel.prototype.findItemContainer = function (item) {
|
|
return this.findItemContainerCore(item);
|
|
};
|
|
DiagramModel.prototype.findItemCollapsedContainer = function (item) {
|
|
return this.findItemContainerCore(item, function (c) { return !c.expanded; });
|
|
};
|
|
DiagramModel.prototype.findItemTopCollapsedContainer = function (item) {
|
|
var container = item.container;
|
|
var collapsedContainer;
|
|
while (container) {
|
|
if (!container.expanded)
|
|
collapsedContainer = container;
|
|
container = container.container;
|
|
}
|
|
return collapsedContainer;
|
|
};
|
|
DiagramModel.prototype.isContainerItem = function (container, item) {
|
|
return this.findItemContainerCore(item, function (c) { return c.key === container.key; }) !== undefined;
|
|
};
|
|
DiagramModel.prototype.findConnector = function (key) {
|
|
var connector = this.findItem(key);
|
|
return connector instanceof Connector_1.Connector ? connector : undefined;
|
|
};
|
|
DiagramModel.prototype.findConnectorCore = function (callback) {
|
|
var connector;
|
|
this.items.forEach(function (item) {
|
|
if (item instanceof Connector_1.Connector) {
|
|
if (callback(item)) {
|
|
connector = item;
|
|
return;
|
|
}
|
|
}
|
|
});
|
|
return connector;
|
|
};
|
|
DiagramModel.prototype.findConnectorAtPoints = function (points) {
|
|
return this.findConnectorCore(function (connector) { return Utils_1.GeometryUtils.arePointsEqual(connector.points, points); });
|
|
};
|
|
DiagramModel.prototype.findConnectorByDataKey = function (key) {
|
|
return this.findConnectorCore(function (connector) { return connector.dataKey === key; });
|
|
};
|
|
DiagramModel.prototype.findConnectorsCore = function (callback) {
|
|
var result = [];
|
|
this.items.forEach(function (item) {
|
|
if (item instanceof Connector_1.Connector) {
|
|
if (callback(item)) {
|
|
result.push(item);
|
|
return;
|
|
}
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
DiagramModel.prototype.findConnectorsWithoutBeginItem = function () {
|
|
return this.findConnectorsCore(function (connector) { return !connector.beginItem; });
|
|
};
|
|
DiagramModel.prototype.findConnectorsWithoutEndItem = function () {
|
|
return this.findConnectorsCore(function (connector) { return !connector.endItem; });
|
|
};
|
|
DiagramModel.prototype.findItem = function (key) {
|
|
return this.items[this.itemIndexByKey[key]];
|
|
};
|
|
DiagramModel.isIntersectedItems = function (item1, item2) {
|
|
var result = false;
|
|
if (item1 instanceof Shape_1.Shape)
|
|
result = item2.intersectedByRect(item1.rectangle);
|
|
else if (item1 instanceof Connector_1.Connector) {
|
|
item1.getSegments().forEach(function (s1) {
|
|
if (item2 instanceof Shape_1.Shape)
|
|
result = result || s1.intersectRect(item2.rectangle);
|
|
else if (item2 instanceof Connector_1.Connector) {
|
|
item2.getSegments().forEach(function (s2) {
|
|
result = result || s1.intersect(s2);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
return result;
|
|
};
|
|
DiagramModel.prototype.getIntersectItems = function (item) {
|
|
var result = [];
|
|
this.items.forEach(function (i) {
|
|
if (i.container !== item.container)
|
|
return;
|
|
if (item !== i && (!(i instanceof Connector_1.Connector) || item.attachedConnectors.indexOf(i) === -1) &&
|
|
DiagramModel.isIntersectedItems(i, item))
|
|
result.push(i);
|
|
});
|
|
return result;
|
|
};
|
|
DiagramModel.prototype.getIntersectItemsMinZIndex = function (item) {
|
|
var items = this.getIntersectItems(item);
|
|
return items.map(function (i) { return i.zIndex; }).reduce(function (prev, cur) { return Math.min(prev, cur); }, Number.MAX_VALUE);
|
|
};
|
|
DiagramModel.prototype.getIntersectItemsMaxZIndex = function (item) {
|
|
var items = this.getIntersectItems(item);
|
|
return items.map(function (i) { return i.zIndex; }).reduce(function (prev, cur) { return Math.max(prev, cur); }, -Number.MAX_VALUE);
|
|
};
|
|
DiagramModel.prototype.iterateItems = function (callback) {
|
|
this.items.forEach(callback);
|
|
};
|
|
DiagramModel.prototype.invalidateItems = function () {
|
|
this.iterateItems(function (item) {
|
|
item.invalidatePrimitives();
|
|
if (item instanceof Connector_1.Connector)
|
|
item.invalidateRenderPoints();
|
|
});
|
|
};
|
|
DiagramModel.prototype.getNextKey = function (baseKey) {
|
|
var _this = this;
|
|
return ModelUtils_1.ModelUtils.getNextItemKey(this.items.map(function (item) { return item.key; }), function (key) { return _this.itemIndexByKey[key] === undefined; }, baseKey);
|
|
};
|
|
DiagramModel.defaultPageColor = Color_1.ColorHelper.LIGHT_COLOR;
|
|
return DiagramModel;
|
|
}());
|
|
exports.DiagramModel = DiagramModel;
|
|
|
|
|
|
/***/ }),
|
|
/* 20 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var RectanglePrimitive = /** @class */ (function (_super) {
|
|
__extends(RectanglePrimitive, _super);
|
|
function RectanglePrimitive(x, y, width, height, style, className, clipPathId, onApplyProperties) {
|
|
var _this = _super.call(this, style, className, clipPathId, onApplyProperties) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
return _this;
|
|
}
|
|
RectanglePrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "rect");
|
|
};
|
|
RectanglePrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
this.setUnitAttribute(element, "width", this.width);
|
|
this.setUnitAttribute(element, "height", this.height);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return RectanglePrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.RectanglePrimitive = RectanglePrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 21 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeParameterPoint = /** @class */ (function () {
|
|
function ShapeParameterPoint(key, point) {
|
|
this.key = key;
|
|
this.point = point;
|
|
}
|
|
return ShapeParameterPoint;
|
|
}());
|
|
exports.ShapeParameterPoint = ShapeParameterPoint;
|
|
|
|
|
|
/***/ }),
|
|
/* 22 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Connector_1 = __webpack_require__(5);
|
|
var LayoutSettings = /** @class */ (function () {
|
|
function LayoutSettings(gridSize) {
|
|
this.orientation = DataLayoutOrientation.Vertical;
|
|
this.direction = LogicalDirectionKind.Forward;
|
|
this.componentSpacing = (gridSize && gridSize * 2 > 720) ? gridSize * 2 : 720;
|
|
this.columnSpacing = (gridSize && gridSize * 2 > Connector_1.Connector.minOffset) ? gridSize * 2 : Connector_1.Connector.minOffset;
|
|
this.layerSpacing = this.columnSpacing * 2;
|
|
}
|
|
return LayoutSettings;
|
|
}());
|
|
exports.LayoutSettings = LayoutSettings;
|
|
var TreeLayoutSettings = /** @class */ (function (_super) {
|
|
__extends(TreeLayoutSettings, _super);
|
|
function TreeLayoutSettings(gridSize) {
|
|
var _this = _super.call(this, gridSize) || this;
|
|
_this.alignment = Alignment.Center;
|
|
_this.subTreeColumnSpacing = _this.componentSpacing / 2;
|
|
return _this;
|
|
}
|
|
return TreeLayoutSettings;
|
|
}(LayoutSettings));
|
|
exports.TreeLayoutSettings = TreeLayoutSettings;
|
|
var LogicalDirectionKind;
|
|
(function (LogicalDirectionKind) {
|
|
LogicalDirectionKind[LogicalDirectionKind["Backward"] = 0] = "Backward";
|
|
LogicalDirectionKind[LogicalDirectionKind["Forward"] = 1] = "Forward";
|
|
})(LogicalDirectionKind = exports.LogicalDirectionKind || (exports.LogicalDirectionKind = {}));
|
|
var DataLayoutOrientation;
|
|
(function (DataLayoutOrientation) {
|
|
DataLayoutOrientation[DataLayoutOrientation["Horizontal"] = 0] = "Horizontal";
|
|
DataLayoutOrientation[DataLayoutOrientation["Vertical"] = 1] = "Vertical";
|
|
})(DataLayoutOrientation = exports.DataLayoutOrientation || (exports.DataLayoutOrientation = {}));
|
|
var Alignment;
|
|
(function (Alignment) {
|
|
Alignment[Alignment["Left"] = 0] = "Left";
|
|
Alignment[Alignment["Center"] = 1] = "Center";
|
|
})(Alignment = exports.Alignment || (exports.Alignment = {}));
|
|
|
|
|
|
/***/ }),
|
|
/* 23 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Browser = /** @class */ (function () {
|
|
function Browser() {
|
|
}
|
|
Browser.IdentUserAgent = function (userAgent, ignoreDocumentMode) {
|
|
if (ignoreDocumentMode === void 0) { ignoreDocumentMode = false; }
|
|
var browserTypesOrderedList = ["Mozilla", "IE", "Firefox", "Netscape", "Safari", "Chrome", "Opera", "Opera10", "Edge"];
|
|
var defaultBrowserType = "IE";
|
|
var defaultPlatform = "Win";
|
|
var defaultVersions = { Safari: 2, Chrome: 0.1, Mozilla: 1.9, Netscape: 8, Firefox: 2, Opera: 9, IE: 6, Edge: 12 };
|
|
if (!userAgent || userAgent.length == 0) {
|
|
Browser.fillUserAgentInfo(browserTypesOrderedList, defaultBrowserType, defaultVersions[defaultBrowserType], defaultPlatform);
|
|
return;
|
|
}
|
|
userAgent = userAgent.toLowerCase();
|
|
Browser.indentPlatformMajorVersion(userAgent);
|
|
try {
|
|
var platformIdentStrings = {
|
|
"Windows": "Win",
|
|
"Macintosh": "Mac",
|
|
"Mac OS": "Mac",
|
|
"Mac_PowerPC": "Mac",
|
|
"cpu os": "MacMobile",
|
|
"cpu iphone os": "MacMobile",
|
|
"Android": "Android",
|
|
"!Windows Phone": "WinPhone",
|
|
"!WPDesktop": "WinPhone",
|
|
"!ZuneWP": "WinPhone"
|
|
};
|
|
var optSlashOrSpace = "(?:/|\\s*)?";
|
|
var versionString = "(\\d+)(?:\\.((?:\\d+?[1-9])|\\d)0*?)?";
|
|
var optVersion = "(?:" + versionString + ")?";
|
|
var patterns = {
|
|
Safari: "applewebkit(?:.*?(?:version/" + versionString + "[\\.\\w\\d]*?(?:\\s+mobile\/\\S*)?\\s+safari))?",
|
|
Chrome: "(?:chrome|crios)(?!frame)" + optSlashOrSpace + optVersion,
|
|
Mozilla: "mozilla(?:.*rv:" + optVersion + ".*Gecko)?",
|
|
Netscape: "(?:netscape|navigator)\\d*/?\\s*" + optVersion,
|
|
Firefox: "firefox" + optSlashOrSpace + optVersion,
|
|
Opera: "(?:opera|\sopr)" + optSlashOrSpace + optVersion,
|
|
Opera10: "opera.*\\s*version" + optSlashOrSpace + optVersion,
|
|
IE: "msie\\s*" + optVersion,
|
|
Edge: "edge" + optSlashOrSpace + optVersion
|
|
};
|
|
var browserType;
|
|
var version = -1;
|
|
for (var i = 0; i < browserTypesOrderedList.length; i++) {
|
|
var browserTypeCandidate = browserTypesOrderedList[i];
|
|
var regExp = new RegExp(patterns[browserTypeCandidate], "i");
|
|
if (regExp.compile)
|
|
regExp.compile(patterns[browserTypeCandidate], "i");
|
|
var matches = regExp.exec(userAgent);
|
|
if (matches && matches.index >= 0) {
|
|
if (browserType == "IE" && version >= 11 && browserTypeCandidate == "Safari") // WinPhone8.1 update
|
|
continue;
|
|
browserType = browserTypeCandidate;
|
|
if (browserType == "Opera10")
|
|
browserType = "Opera";
|
|
var tridentPattern = "trident" + optSlashOrSpace + optVersion;
|
|
version = Browser.GetBrowserVersion(userAgent, matches, tridentPattern, Browser.getIECompatibleVersionString());
|
|
if (browserType == "Mozilla" && version >= 11)
|
|
browserType = "IE";
|
|
}
|
|
}
|
|
if (!browserType)
|
|
browserType = defaultBrowserType;
|
|
var browserVersionDetected = version != -1;
|
|
if (!browserVersionDetected)
|
|
version = defaultVersions[browserType];
|
|
var platform;
|
|
var minOccurenceIndex = Number.MAX_VALUE;
|
|
for (var identStr in platformIdentStrings) {
|
|
if (!platformIdentStrings.hasOwnProperty(identStr))
|
|
continue;
|
|
var importantIdent = identStr.substr(0, 1) == "!";
|
|
var occurenceIndex = userAgent.indexOf((importantIdent ? identStr.substr(1) : identStr).toLowerCase());
|
|
if (occurenceIndex >= 0 && (occurenceIndex < minOccurenceIndex || importantIdent)) {
|
|
minOccurenceIndex = importantIdent ? 0 : occurenceIndex;
|
|
platform = platformIdentStrings[identStr];
|
|
}
|
|
}
|
|
var samsungPattern = "SM-[A-Z]";
|
|
var m = userAgent.toUpperCase().match(samsungPattern);
|
|
var isSamsungAndroidDevice = m && m.length > 0;
|
|
if (platform == "WinPhone" && version < 9)
|
|
version = Math.floor(Browser.getVersionFromTrident(userAgent, "trident" + optSlashOrSpace + optVersion));
|
|
if (!ignoreDocumentMode && browserType == "IE" && version > 7 && document.documentMode < version)
|
|
version = document.documentMode;
|
|
if (platform == "WinPhone")
|
|
version = Math.max(9, version);
|
|
if (!platform)
|
|
platform = defaultPlatform;
|
|
if (platform == platformIdentStrings["cpu os"] && !browserVersionDetected) // Terra browser
|
|
version = 4;
|
|
Browser.fillUserAgentInfo(browserTypesOrderedList, browserType, version, platform, isSamsungAndroidDevice);
|
|
}
|
|
catch (e) {
|
|
Browser.fillUserAgentInfo(browserTypesOrderedList, defaultBrowserType, defaultVersions[defaultBrowserType], defaultPlatform);
|
|
}
|
|
};
|
|
Browser.GetBrowserVersion = function (userAgent, matches, tridentPattern, ieCompatibleVersionString) {
|
|
var version = Browser.getVersionFromMatches(matches);
|
|
if (ieCompatibleVersionString) {
|
|
var versionFromTrident = Browser.getVersionFromTrident(userAgent, tridentPattern);
|
|
if (ieCompatibleVersionString === "edge" || parseInt(ieCompatibleVersionString) === versionFromTrident)
|
|
return versionFromTrident;
|
|
}
|
|
return version;
|
|
};
|
|
Browser.getIECompatibleVersionString = function () {
|
|
if (document.compatible) {
|
|
for (var i = 0; i < document.compatible.length; i++)
|
|
if (document.compatible[i].userAgent === "IE" && document.compatible[i].version)
|
|
return document.compatible[i].version.toLowerCase();
|
|
}
|
|
return "";
|
|
};
|
|
Browser.isTouchEnabled = function () {
|
|
return ("ontouchstart" in window) ||
|
|
(navigator["maxTouchPoints"] > 0) ||
|
|
(navigator["msMaxTouchPoints"] > 0);
|
|
};
|
|
Browser.fillUserAgentInfo = function (browserTypesOrderedList, browserType, version, platform, isSamsungAndroidDevice) {
|
|
if (isSamsungAndroidDevice === void 0) { isSamsungAndroidDevice = false; }
|
|
for (var i = 0; i < browserTypesOrderedList.length; i++) {
|
|
var type = browserTypesOrderedList[i];
|
|
Browser[type] = type == browserType;
|
|
}
|
|
Browser.Version = Math.floor(10.0 * version) / 10.0;
|
|
Browser.MajorVersion = Math.floor(Browser.Version);
|
|
Browser.WindowsPlatform = platform == "Win" || platform == "WinPhone";
|
|
Browser.MacOSPlatform = platform == "Mac";
|
|
Browser.MacOSMobilePlatform = platform == "MacMobile" || (platform == "Mac" && Browser.isTouchEnabled());
|
|
Browser.AndroidMobilePlatform = platform == "Android";
|
|
Browser.WindowsPhonePlatform = platform == "WinPhone";
|
|
Browser.WebKitFamily = Browser.Safari || Browser.Chrome || Browser.Opera && Browser.MajorVersion >= 15;
|
|
Browser.NetscapeFamily = Browser.Netscape || Browser.Mozilla || Browser.Firefox;
|
|
Browser.HardwareAcceleration = (Browser.IE && Browser.MajorVersion >= 9) || (Browser.Firefox && Browser.MajorVersion >= 4) ||
|
|
(Browser.AndroidMobilePlatform && Browser.Chrome) || (Browser.Chrome && Browser.MajorVersion >= 37) ||
|
|
(Browser.Safari && !Browser.WindowsPlatform) || Browser.Edge || (Browser.Opera && Browser.MajorVersion >= 46);
|
|
Browser.WebKitTouchUI = Browser.MacOSMobilePlatform || Browser.AndroidMobilePlatform;
|
|
var isIETouchUI = Browser.IE && Browser.MajorVersion > 9 && Browser.WindowsPlatform && Browser.UserAgent.toLowerCase().indexOf("touch") >= 0;
|
|
Browser.MSTouchUI = isIETouchUI || (Browser.Edge && !!window.navigator.maxTouchPoints);
|
|
Browser.TouchUI = Browser.WebKitTouchUI || Browser.MSTouchUI;
|
|
Browser.MobileUI = Browser.WebKitTouchUI || Browser.WindowsPhonePlatform;
|
|
Browser.AndroidDefaultBrowser = Browser.AndroidMobilePlatform && !Browser.Chrome;
|
|
Browser.AndroidChromeBrowser = Browser.AndroidMobilePlatform && Browser.Chrome;
|
|
if (isSamsungAndroidDevice)
|
|
Browser.SamsungAndroidDevice = isSamsungAndroidDevice;
|
|
if (Browser.MSTouchUI) {
|
|
var isARMArchitecture = Browser.UserAgent.toLowerCase().indexOf("arm;") > -1;
|
|
Browser.VirtualKeyboardSupported = isARMArchitecture || Browser.WindowsPhonePlatform;
|
|
}
|
|
else {
|
|
Browser.VirtualKeyboardSupported = Browser.WebKitTouchUI;
|
|
}
|
|
Browser.fillDocumentElementBrowserTypeClassNames(browserTypesOrderedList);
|
|
};
|
|
Browser.indentPlatformMajorVersion = function (userAgent) {
|
|
var regex = /(?:(?:windows nt|macintosh|mac os|cpu os|cpu iphone os|android|windows phone|linux) )(\d+)(?:[-0-9_.])*/;
|
|
var matches = regex.exec(userAgent);
|
|
if (matches)
|
|
Browser.PlaformMajorVersion = matches[1];
|
|
};
|
|
Browser.prototype.GetBrowserVersion = function (userAgent, matches, tridentPattern, ieCompatibleVersionString) {
|
|
var version = Browser.getVersionFromMatches(matches);
|
|
if (ieCompatibleVersionString) {
|
|
var versionFromTrident = Browser.getVersionFromTrident(userAgent, tridentPattern);
|
|
if (ieCompatibleVersionString === "edge" || parseInt(ieCompatibleVersionString) === versionFromTrident)
|
|
return versionFromTrident;
|
|
}
|
|
return version;
|
|
};
|
|
Browser.getVersionFromMatches = function (matches) {
|
|
var result = -1;
|
|
var versionStr = "";
|
|
if (matches[1]) {
|
|
versionStr += matches[1];
|
|
if (matches[2])
|
|
versionStr += "." + matches[2];
|
|
}
|
|
if (versionStr != "") {
|
|
result = parseFloat(versionStr);
|
|
if (isNaN(result))
|
|
result = -1;
|
|
}
|
|
return result;
|
|
};
|
|
Browser.getVersionFromTrident = function (userAgent, tridentPattern) {
|
|
var tridentDiffFromVersion = 4;
|
|
var matches = new RegExp(tridentPattern, "i").exec(userAgent);
|
|
return Browser.getVersionFromMatches(matches) + tridentDiffFromVersion;
|
|
};
|
|
Browser.fillDocumentElementBrowserTypeClassNames = function (browserTypesOrderedList) {
|
|
var documentElementClassName = "";
|
|
var browserTypeslist = browserTypesOrderedList.concat(["WindowsPlatform", "MacOSPlatform", "MacOSMobilePlatform", "AndroidMobilePlatform",
|
|
"WindowsPhonePlatform", "WebKitFamily", "WebKitTouchUI", "MSTouchUI", "TouchUI", "AndroidDefaultBrowser"]);
|
|
for (var i = 0; i < browserTypeslist.length; i++) {
|
|
var type = browserTypeslist[i];
|
|
if (Browser[type])
|
|
documentElementClassName += "dx" + type + " ";
|
|
}
|
|
documentElementClassName += "dxBrowserVersion-" + Browser.MajorVersion;
|
|
if (document && document.documentElement) {
|
|
if (document.documentElement.className != "")
|
|
documentElementClassName = " " + documentElementClassName;
|
|
document.documentElement.className += documentElementClassName;
|
|
Browser.Info = documentElementClassName;
|
|
}
|
|
};
|
|
Browser.UserAgent = window.navigator.userAgent.toLowerCase();
|
|
Browser._foo = Browser.IdentUserAgent(Browser.UserAgent); // to init
|
|
return Browser;
|
|
}());
|
|
exports.Browser = Browser;
|
|
|
|
|
|
/***/ }),
|
|
/* 24 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorLineOption;
|
|
(function (ConnectorLineOption) {
|
|
ConnectorLineOption[ConnectorLineOption["Straight"] = 0] = "Straight";
|
|
ConnectorLineOption[ConnectorLineOption["Orthogonal"] = 1] = "Orthogonal";
|
|
})(ConnectorLineOption = exports.ConnectorLineOption || (exports.ConnectorLineOption = {}));
|
|
var ConnectorLineEnding;
|
|
(function (ConnectorLineEnding) {
|
|
ConnectorLineEnding[ConnectorLineEnding["None"] = 0] = "None";
|
|
ConnectorLineEnding[ConnectorLineEnding["Arrow"] = 1] = "Arrow";
|
|
})(ConnectorLineEnding = exports.ConnectorLineEnding || (exports.ConnectorLineEnding = {}));
|
|
exports.DEFAULT_CONNECTOR_LINEOPTION = ConnectorLineOption.Orthogonal;
|
|
exports.DEFAULT_CONNECTOR_STARTLINEENDING = ConnectorLineEnding.None;
|
|
exports.DEFAULT_CONNECTOR_ENDLINEENDING = ConnectorLineEnding.Arrow;
|
|
var ConnectorProperties = /** @class */ (function () {
|
|
function ConnectorProperties() {
|
|
this.lineOption = exports.DEFAULT_CONNECTOR_LINEOPTION;
|
|
this.startLineEnding = exports.DEFAULT_CONNECTOR_STARTLINEENDING;
|
|
this.endLineEnding = exports.DEFAULT_CONNECTOR_ENDLINEENDING;
|
|
}
|
|
ConnectorProperties.prototype.clone = function () {
|
|
var clone = new ConnectorProperties();
|
|
clone.lineOption = this.lineOption;
|
|
clone.startLineEnding = this.startLineEnding;
|
|
clone.endLineEnding = this.endLineEnding;
|
|
return clone;
|
|
};
|
|
ConnectorProperties.prototype.forEach = function (callback) {
|
|
for (var propertyName in this) {
|
|
if (this.hasOwnProperty(propertyName))
|
|
callback(propertyName);
|
|
}
|
|
};
|
|
ConnectorProperties.prototype.toObject = function () {
|
|
var result = {};
|
|
var modified = false;
|
|
if (this.lineOption !== exports.DEFAULT_CONNECTOR_LINEOPTION) {
|
|
result["lineOption"] = this.lineOption;
|
|
modified = true;
|
|
}
|
|
if (this.startLineEnding !== exports.DEFAULT_CONNECTOR_STARTLINEENDING) {
|
|
result["startLineEnding"] = this.startLineEnding;
|
|
modified = true;
|
|
}
|
|
if (this.endLineEnding !== exports.DEFAULT_CONNECTOR_ENDLINEENDING) {
|
|
result["endLineEnding"] = this.endLineEnding;
|
|
modified = true;
|
|
}
|
|
return modified ? result : null;
|
|
};
|
|
ConnectorProperties.prototype.fromObject = function (obj) {
|
|
if (typeof obj["lineOption"] === "number")
|
|
this.lineOption = obj["lineOption"];
|
|
if (typeof obj["startLineEnding"] === "number")
|
|
this.startLineEnding = obj["startLineEnding"];
|
|
if (typeof obj["endLineEnding"] === "number")
|
|
this.endLineEnding = obj["endLineEnding"];
|
|
};
|
|
return ConnectorProperties;
|
|
}());
|
|
exports.ConnectorProperties = ConnectorProperties;
|
|
|
|
|
|
/***/ }),
|
|
/* 25 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ProcessShapeDescription_1 = __webpack_require__(155);
|
|
var DecisionShapeDescription_1 = __webpack_require__(156);
|
|
var ManualInputShapeDescription_1 = __webpack_require__(157);
|
|
var DataShapeDescription_1 = __webpack_require__(158);
|
|
var TerminatorShapeDescription_1 = __webpack_require__(159);
|
|
var PredefinedProcessShapeDescription_1 = __webpack_require__(160);
|
|
var ArrowNorthSouthShapeDescription_1 = __webpack_require__(161);
|
|
var ArrowRightShapeDescription_1 = __webpack_require__(162);
|
|
var ArrowTopShapeDescription_1 = __webpack_require__(163);
|
|
var CrossShapeDescription_1 = __webpack_require__(164);
|
|
var DiamondShapeDescription_1 = __webpack_require__(92);
|
|
var EllipseShapeDescription_1 = __webpack_require__(67);
|
|
var HeartShapeDescription_1 = __webpack_require__(165);
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var TextShapeDescription_1 = __webpack_require__(93);
|
|
var PentagonShapeDescription_1 = __webpack_require__(94);
|
|
var HexagonShapeDescription_1 = __webpack_require__(95);
|
|
var OctagonShapeDescription_1 = __webpack_require__(166);
|
|
var StarShapeDescription_1 = __webpack_require__(167);
|
|
var ArrowBottomShapeDescription_1 = __webpack_require__(168);
|
|
var ArrowEastWestShapeDescription_1 = __webpack_require__(169);
|
|
var ArrowLeftShapeDescription_1 = __webpack_require__(170);
|
|
var TriangleShapeDescription_1 = __webpack_require__(96);
|
|
var DocumentShapeDescription_1 = __webpack_require__(97);
|
|
var MultipleDocumentsShapeDescription_1 = __webpack_require__(171);
|
|
var PreparationShapeDescription_1 = __webpack_require__(172);
|
|
var HardDiskShapeDescription_1 = __webpack_require__(173);
|
|
var DatabaseShapeDescription_1 = __webpack_require__(174);
|
|
var InternalStorageShapeDescription_1 = __webpack_require__(175);
|
|
var PaperTapeShapeDescription_1 = __webpack_require__(176);
|
|
var ManualOperationShapeDescription_1 = __webpack_require__(177);
|
|
var DelayShapeDescription_1 = __webpack_require__(178);
|
|
var StoredDataShapeDescription_1 = __webpack_require__(179);
|
|
var MergeShapeDescription_1 = __webpack_require__(180);
|
|
var DisplayShapeDescription_1 = __webpack_require__(181);
|
|
var OrShapeDescription_1 = __webpack_require__(182);
|
|
var SummingJunctionShapeDescription_1 = __webpack_require__(183);
|
|
var CustomShapeDescription_1 = __webpack_require__(184);
|
|
var VerticalContainerDescription_1 = __webpack_require__(185);
|
|
var HorizontalContainerDescription_1 = __webpack_require__(186);
|
|
var CardWithImageOnLeftDescription_1 = __webpack_require__(187);
|
|
var CardWithImageOnRightDescription_1 = __webpack_require__(189);
|
|
var CardWithImageOnTopDescription_1 = __webpack_require__(190);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ShapeDescriptionManager = /** @class */ (function () {
|
|
function ShapeDescriptionManager() {
|
|
}
|
|
ShapeDescriptionManager.get = function (type) {
|
|
return this.descriptions[type];
|
|
};
|
|
ShapeDescriptionManager.rectangle = function () {
|
|
return this.descriptions[ShapeTypes_1.ShapeTypes.Rectangle];
|
|
};
|
|
ShapeDescriptionManager.getTypesByCategory = function (category) {
|
|
return this.descriptionTypes[category];
|
|
};
|
|
ShapeDescriptionManager.getCategoryByType = function (type) {
|
|
return this.descriptionCategories[type];
|
|
};
|
|
ShapeDescriptionManager.getCategoryByDescription = function (description) {
|
|
return ShapeDescriptionManager.getCategoryByType(description.key);
|
|
};
|
|
ShapeDescriptionManager.register = function (description, category, type) {
|
|
if (type === void 0) { type = description.key; }
|
|
if (this.descriptions[type] !== undefined)
|
|
throw Error("Description key is duplicated");
|
|
this.descriptions[type] = description;
|
|
if (!this.descriptionTypes[category])
|
|
this.descriptionTypes[category] = [];
|
|
this.descriptionTypes[category].push(type);
|
|
this.descriptionCategories[type] = category;
|
|
};
|
|
ShapeDescriptionManager.registerCustomShape = function (shape) {
|
|
if (shape.type === undefined)
|
|
throw Error("Custom shape type is not defined");
|
|
if (this.descriptions[shape.type] !== undefined)
|
|
throw Error("Custom shape type is duplicated");
|
|
var baseDescription = shape.baseType && this.descriptions[shape.baseType];
|
|
this.register(new CustomShapeDescription_1.CustomShapeDescription(shape, baseDescription), shape.category || ShapeTypes_1.ShapeCategories.Custom);
|
|
};
|
|
ShapeDescriptionManager.unregisterCustomShape = function (shapeType) {
|
|
var description = this.descriptions[shapeType];
|
|
if (description instanceof CustomShapeDescription_1.CustomShapeDescription) {
|
|
var category = this.descriptionCategories[shapeType];
|
|
delete this.descriptions[shapeType];
|
|
delete this.descriptionCategories[shapeType];
|
|
var index = this.descriptionTypes[category].indexOf(shapeType);
|
|
this.descriptionTypes[category].splice(index, 1);
|
|
if (this.descriptionTypes[category].length === 0)
|
|
delete this.descriptionTypes[category];
|
|
}
|
|
};
|
|
ShapeDescriptionManager.descriptions = {};
|
|
ShapeDescriptionManager.descriptionTypes = {};
|
|
ShapeDescriptionManager.descriptionCategories = {};
|
|
return ShapeDescriptionManager;
|
|
}());
|
|
exports.ShapeDescriptionManager = ShapeDescriptionManager;
|
|
ShapeDescriptionManager.register(new TextShapeDescription_1.TextShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new RectangleShapeDescription_1.RectangleShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new EllipseShapeDescription_1.EllipseShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new CrossShapeDescription_1.CrossShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new TriangleShapeDescription_1.TriangleShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new DiamondShapeDescription_1.DiamondShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new HeartShapeDescription_1.HeartShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new PentagonShapeDescription_1.PentagonShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new HexagonShapeDescription_1.HexagonShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new OctagonShapeDescription_1.OctagonShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new StarShapeDescription_1.StarShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowTopShapeDescription_1.ArrowTopShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowBottomShapeDescription_1.ArrowBottomShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowLeftShapeDescription_1.ArrowLeftShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowRightShapeDescription_1.ArrowRightShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowNorthSouthShapeDescription_1.ArrowNorthSouthShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ArrowEastWestShapeDescription_1.ArrowEastWestShapeDescription(), ShapeTypes_1.ShapeCategories.General);
|
|
ShapeDescriptionManager.register(new ProcessShapeDescription_1.ProcessShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DecisionShapeDescription_1.DecisionShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new TerminatorShapeDescription_1.TerminatorShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new PredefinedProcessShapeDescription_1.PredefinedProcessShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DocumentShapeDescription_1.DocumentShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new MultipleDocumentsShapeDescription_1.MultipleDocumentsShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new ManualInputShapeDescription_1.ManualInputShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new PreparationShapeDescription_1.PreparationShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DataShapeDescription_1.DataShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DatabaseShapeDescription_1.DatabaseShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new HardDiskShapeDescription_1.HardDiskShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new InternalStorageShapeDescription_1.InternalStorageShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new PaperTapeShapeDescription_1.PaperTapeShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new ManualOperationShapeDescription_1.ManualOperationShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DelayShapeDescription_1.DelayShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new StoredDataShapeDescription_1.StoredDataShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new DisplayShapeDescription_1.DisplayShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new MergeShapeDescription_1.MergeShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new OrShapeDescription_1.OrShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new SummingJunctionShapeDescription_1.SummingJunctionShapeDescription(), ShapeTypes_1.ShapeCategories.Flowchart);
|
|
ShapeDescriptionManager.register(new CardWithImageOnLeftDescription_1.CardWithImageOnLeftDescription(), ShapeTypes_1.ShapeCategories.OrgChart);
|
|
ShapeDescriptionManager.register(new CardWithImageOnRightDescription_1.CardWithImageOnRightDescription(), ShapeTypes_1.ShapeCategories.OrgChart);
|
|
ShapeDescriptionManager.register(new CardWithImageOnTopDescription_1.CardWithImageOnTopDescription(), ShapeTypes_1.ShapeCategories.OrgChart);
|
|
ShapeDescriptionManager.register(new VerticalContainerDescription_1.VerticalContainerDescription(), ShapeTypes_1.ShapeCategories.Containers);
|
|
ShapeDescriptionManager.register(new HorizontalContainerDescription_1.HorizontalContainerDescription(), ShapeTypes_1.ShapeCategories.Containers);
|
|
|
|
|
|
/***/ }),
|
|
/* 26 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var Event_1 = __webpack_require__(10);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var MouseHandlerDraggingState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDraggingState, _super);
|
|
function MouseHandlerDraggingState(handler, history) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.history = history;
|
|
return _this;
|
|
}
|
|
MouseHandlerDraggingState.prototype.onMouseDown = function (evt) {
|
|
this.mouseDownPoint = evt.modelPoint.clone();
|
|
};
|
|
MouseHandlerDraggingState.prototype.onMouseMove = function (evt) {
|
|
if (evt.button !== Event_1.MouseButton.Left) {
|
|
this.cancelChanges();
|
|
this.handler.switchToDefaultState();
|
|
}
|
|
else if (!this.mouseDownPoint ||
|
|
Math.abs(this.mouseDownPoint.x - evt.modelPoint.x) > MouseHandlerDraggingState.dragStartLimit ||
|
|
Math.abs(this.mouseDownPoint.y - evt.modelPoint.y) > MouseHandlerDraggingState.dragStartLimit) {
|
|
this.onApplyChanges(evt);
|
|
if (!this.modified)
|
|
this.handler.raiseDragStart(this.getDraggingElementKeys());
|
|
this.modified = true;
|
|
this.mouseDownPoint = undefined;
|
|
}
|
|
};
|
|
MouseHandlerDraggingState.prototype.cancelChanges = function () {
|
|
this.history.undoTransaction();
|
|
if (this.modified)
|
|
this.handler.raiseDragEnd(this.getDraggingElementKeys());
|
|
this.modified = false;
|
|
};
|
|
MouseHandlerDraggingState.prototype.onMouseUp = function (evt) {
|
|
this.mouseDownPoint = undefined;
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
MouseHandlerDraggingState.prototype.start = function () {
|
|
this.history.beginTransaction();
|
|
};
|
|
MouseHandlerDraggingState.prototype.finish = function () {
|
|
if (this.modified) {
|
|
this.onFinishWithChanges();
|
|
this.modified = false;
|
|
this.history.endTransaction();
|
|
this.handler.raiseDragEnd(this.getDraggingElementKeys());
|
|
}
|
|
else
|
|
this.history.endTransaction();
|
|
};
|
|
MouseHandlerDraggingState.prototype.onFinishWithChanges = function () { };
|
|
MouseHandlerDraggingState.prototype.getSnappedPoint = function (evt, point) {
|
|
return this.handler.getSnappedPoint(evt, point);
|
|
};
|
|
MouseHandlerDraggingState.dragStartLimit = UnitConverter_1.UnitConverter.pixelsToTwips(4);
|
|
return MouseHandlerDraggingState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerCancellableState));
|
|
exports.MouseHandlerDraggingState = MouseHandlerDraggingState;
|
|
|
|
|
|
/***/ }),
|
|
/* 27 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Color_1 = __webpack_require__(38);
|
|
var Svg_1 = __webpack_require__(79);
|
|
var StyleBase = /** @class */ (function () {
|
|
function StyleBase() {
|
|
}
|
|
StyleBase.prototype.clone = function () {
|
|
var _this = this;
|
|
var style = this.createInstance();
|
|
this.forEach(function (propertyName) { style[propertyName] = _this[propertyName]; });
|
|
return style;
|
|
};
|
|
StyleBase.prototype.forEach = function (callback) {
|
|
for (var propertyName in this) {
|
|
if (this.hasOwnProperty(propertyName))
|
|
callback(propertyName);
|
|
}
|
|
};
|
|
StyleBase.prototype.toObject = function () {
|
|
var _this = this;
|
|
var result = {};
|
|
var modified = false;
|
|
var defaultStyle = this.getDefaultInstance();
|
|
this.forEach(function (key) {
|
|
if (_this[key] !== defaultStyle[key]) {
|
|
result[key] = _this[key];
|
|
modified = true;
|
|
}
|
|
});
|
|
return modified ? result : null;
|
|
};
|
|
StyleBase.prototype.fromObject = function (obj) {
|
|
for (var key in obj) {
|
|
if (obj.hasOwnProperty(key)) {
|
|
if (this[key] !== undefined) {
|
|
var value = Svg_1.isColorProperty(key) ? Color_1.ColorHelper.stringToHash(obj[key]) : obj[key];
|
|
this[key] = value;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
return StyleBase;
|
|
}());
|
|
exports.StyleBase = StyleBase;
|
|
var EmptyStyle = /** @class */ (function (_super) {
|
|
__extends(EmptyStyle, _super);
|
|
function EmptyStyle(styles) {
|
|
var _this = _super.call(this) || this;
|
|
if (styles)
|
|
Object.keys(styles).forEach(function (k) { return _this[k] = styles[k]; });
|
|
return _this;
|
|
}
|
|
EmptyStyle.prototype.createInstance = function () {
|
|
return new EmptyStyle();
|
|
};
|
|
EmptyStyle.prototype.getDefaultInstance = function () {
|
|
return Style.defaultInstace;
|
|
};
|
|
return EmptyStyle;
|
|
}(StyleBase));
|
|
exports.EmptyStyle = EmptyStyle;
|
|
var Style = /** @class */ (function (_super) {
|
|
__extends(Style, _super);
|
|
function Style() {
|
|
var _this = _super.call(this) || this;
|
|
// Default values must be the same with css
|
|
_this["fill"] = "#ffffff";
|
|
_this["stroke"] = "#000000";
|
|
return _this;
|
|
}
|
|
Style.prototype.createInstance = function () {
|
|
return new Style();
|
|
};
|
|
Style.prototype.getDefaultInstance = function () {
|
|
return Style.defaultInstace;
|
|
};
|
|
Style.defaultInstace = new Style();
|
|
return Style;
|
|
}(StyleBase));
|
|
exports.Style = Style;
|
|
var StyleText = /** @class */ (function (_super) {
|
|
__extends(StyleText, _super);
|
|
function StyleText() {
|
|
var _this = _super.call(this) || this;
|
|
// Default values must be the same with css
|
|
_this["fill"] = "#000000";
|
|
_this["font-family"] = "Arial";
|
|
_this["font-size"] = "10pt";
|
|
_this["font-weight"] = "";
|
|
_this["font-style"] = "";
|
|
_this["text-decoration"] = "";
|
|
_this["text-anchor"] = "middle";
|
|
return _this;
|
|
}
|
|
StyleText.prototype.createInstance = function () {
|
|
return new StyleText();
|
|
};
|
|
StyleText.prototype.getDefaultInstance = function () {
|
|
return StyleText.defaultInstace;
|
|
};
|
|
StyleText.defaultInstace = new StyleText();
|
|
return StyleText;
|
|
}(StyleBase));
|
|
exports.StyleText = StyleText;
|
|
|
|
|
|
/***/ }),
|
|
/* 28 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var GroupPrimitive = /** @class */ (function (_super) {
|
|
__extends(GroupPrimitive, _super);
|
|
function GroupPrimitive(children, className, zIndex, clipPathId, onApplyProperties, onBeforeDispose) {
|
|
var _this = _super.call(this, null, className, clipPathId, onApplyProperties) || this;
|
|
_this.zIndex = zIndex;
|
|
_this.onBeforeDispose = onBeforeDispose;
|
|
_this.children = children;
|
|
return _this;
|
|
}
|
|
GroupPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "g");
|
|
};
|
|
GroupPrimitive.prototype.applyElementProperties = function (element) {
|
|
if (this.zIndex || this.zIndex === 0)
|
|
element.style.setProperty("z-index", this.zIndex.toString());
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
GroupPrimitive.prototype.dispose = function () {
|
|
if (this.onBeforeDispose)
|
|
this.onBeforeDispose();
|
|
_super.prototype.dispose.call(this);
|
|
};
|
|
return GroupPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.GroupPrimitive = GroupPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 29 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeParameter = /** @class */ (function () {
|
|
function ShapeParameter(key, value) {
|
|
this.key = key;
|
|
this.value = value;
|
|
}
|
|
return ShapeParameter;
|
|
}());
|
|
exports.ShapeParameter = ShapeParameter;
|
|
var ShapeParameters = /** @class */ (function () {
|
|
function ShapeParameters() {
|
|
this.items = {};
|
|
}
|
|
ShapeParameters.prototype.add = function (parameter) {
|
|
this.items[parameter.key] = parameter;
|
|
};
|
|
ShapeParameters.prototype.addRange = function (parameters) {
|
|
for (var i = 0; i < parameters.length; i++)
|
|
this.add(parameters[i]);
|
|
};
|
|
ShapeParameters.prototype.get = function (key) {
|
|
return this.items[key];
|
|
};
|
|
ShapeParameters.prototype.forEach = function (callback) {
|
|
for (var key in this.items)
|
|
if (this.items.hasOwnProperty(key))
|
|
callback(this.items[key]);
|
|
};
|
|
ShapeParameters.prototype.clone = function () {
|
|
var result = new ShapeParameters();
|
|
this.forEach(function (p) { result.add(new ShapeParameter(p.key, p.value)); });
|
|
return result;
|
|
};
|
|
ShapeParameters.prototype.toObject = function () {
|
|
var result = {};
|
|
var modified = false;
|
|
this.forEach(function (p) {
|
|
result[p.key] = { 'value': p.value };
|
|
modified = true;
|
|
});
|
|
return modified ? result : null;
|
|
};
|
|
ShapeParameters.prototype.fromObject = function (obj) {
|
|
this.forEach(function (p) {
|
|
var paramObj = obj[p.key];
|
|
if (paramObj) {
|
|
if (typeof paramObj["value"] === "number")
|
|
p.value = paramObj["value"];
|
|
}
|
|
});
|
|
};
|
|
return ShapeParameters;
|
|
}());
|
|
exports.ShapeParameters = ShapeParameters;
|
|
|
|
|
|
/***/ }),
|
|
/* 30 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ConnectorRenderPoint = /** @class */ (function (_super) {
|
|
__extends(ConnectorRenderPoint, _super);
|
|
function ConnectorRenderPoint(x, y, pointIndex, skipped) {
|
|
if (pointIndex === void 0) { pointIndex = -1; }
|
|
if (skipped === void 0) { skipped = false; }
|
|
var _this = _super.call(this, x, y) || this;
|
|
_this.pointIndex = pointIndex;
|
|
_this.skipped = skipped;
|
|
return _this;
|
|
}
|
|
ConnectorRenderPoint.prototype.offset = function (offsetX, offsetY) {
|
|
if (offsetX === void 0) { offsetX = 0; }
|
|
if (offsetY === void 0) { offsetY = 0; }
|
|
return new ConnectorRenderPoint(this.x + offsetX, this.y + offsetY);
|
|
};
|
|
ConnectorRenderPoint.prototype.multiply = function (multiplierX, multiplierY) {
|
|
if (multiplierX === void 0) { multiplierX = 1; }
|
|
if (multiplierY === void 0) { multiplierY = multiplierX; }
|
|
return new ConnectorRenderPoint(this.x * multiplierX, this.y * multiplierY);
|
|
};
|
|
ConnectorRenderPoint.prototype.clone = function () { return new ConnectorRenderPoint(this.x, this.y, this.pointIndex); };
|
|
return ConnectorRenderPoint;
|
|
}(Utils_1.Point));
|
|
exports.ConnectorRenderPoint = ConnectorRenderPoint;
|
|
|
|
|
|
/***/ }),
|
|
/* 31 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Edge = /** @class */ (function () {
|
|
function Edge(key, from, to, weight) {
|
|
if (weight === void 0) { weight = 1; }
|
|
this.weight = weight;
|
|
this.key = key;
|
|
this.from = from;
|
|
this.to = to;
|
|
}
|
|
Edge.prototype.getHashKey = function () {
|
|
return this.from + "_" + this.to;
|
|
};
|
|
Edge.prototype.reverse = function () {
|
|
return new Edge(this.key, this.to, this.from, this.weight);
|
|
};
|
|
return Edge;
|
|
}());
|
|
exports.Edge = Edge;
|
|
var PositionInfo = /** @class */ (function () {
|
|
function PositionInfo(item, position) {
|
|
this.item = item;
|
|
this.position = position;
|
|
}
|
|
return PositionInfo;
|
|
}());
|
|
exports.PositionInfo = PositionInfo;
|
|
var ConnectionMode;
|
|
(function (ConnectionMode) {
|
|
ConnectionMode[ConnectionMode["Outgoing"] = 1] = "Outgoing";
|
|
ConnectionMode[ConnectionMode["Incoming"] = 2] = "Incoming";
|
|
ConnectionMode[ConnectionMode["OutgoingAndIncoming"] = 3] = "OutgoingAndIncoming";
|
|
})(ConnectionMode = exports.ConnectionMode || (exports.ConnectionMode = {}));
|
|
|
|
|
|
/***/ }),
|
|
/* 32 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseHandlerStateBase = /** @class */ (function () {
|
|
function MouseHandlerStateBase(handler) {
|
|
this.handler = handler;
|
|
}
|
|
MouseHandlerStateBase.prototype.start = function () { };
|
|
MouseHandlerStateBase.prototype.finish = function () { };
|
|
MouseHandlerStateBase.prototype.onMouseClick = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onMouseDblClick = function (_evt) {
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
MouseHandlerStateBase.prototype.onMouseDown = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onMouseUp = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onMouseMove = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onMouseWheel = function (_evt) { return false; };
|
|
MouseHandlerStateBase.prototype.onDragStart = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onDragEnd = function (_evt) { };
|
|
MouseHandlerStateBase.prototype.onShortcut = function (_shortcutCode) { return false; };
|
|
return MouseHandlerStateBase;
|
|
}());
|
|
exports.MouseHandlerStateBase = MouseHandlerStateBase;
|
|
var MouseHandlerCancellableState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerCancellableState, _super);
|
|
function MouseHandlerCancellableState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerCancellableState.prototype.onShortcut = function (code) {
|
|
if (code === KeyCode_1.KeyCode.Esc) {
|
|
this.cancelChanges();
|
|
this.handler.switchToDefaultState();
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
return MouseHandlerCancellableState;
|
|
}(MouseHandlerStateBase));
|
|
exports.MouseHandlerCancellableState = MouseHandlerCancellableState;
|
|
|
|
|
|
/***/ }),
|
|
/* 33 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var TextFilterPrimitive_1 = __webpack_require__(84);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
exports.PAGE_BG_TEXTFLOOR_FILTER_ID = "page-text-flood";
|
|
var CanvasManagerBase = /** @class */ (function () {
|
|
function CanvasManagerBase(actualZoom) {
|
|
this.elements = {};
|
|
this.actualZoom = actualZoom;
|
|
}
|
|
CanvasManagerBase.prototype.createAndChangePrimitivesElements = function (primitives, parent) {
|
|
var _this = this;
|
|
primitives.forEach(function (primitive) {
|
|
_this.createAndChangePrimitiveElement(primitive, parent);
|
|
});
|
|
};
|
|
CanvasManagerBase.prototype.changePrimitivesElements = function (primitives, parent) {
|
|
var _this = this;
|
|
primitives.forEach(function (primitive, index) {
|
|
var element = parent.childNodes[index];
|
|
_this.changePrimitiveElement(primitive, element);
|
|
});
|
|
};
|
|
CanvasManagerBase.prototype.createPrimitiveElement = function (primitive, parent, sibling) {
|
|
var element = primitive.createElement();
|
|
if (parent != null) {
|
|
if (sibling !== undefined)
|
|
parent.insertBefore(element, sibling);
|
|
else
|
|
parent.appendChild(element);
|
|
}
|
|
return element;
|
|
};
|
|
CanvasManagerBase.prototype.createAndChangePrimitiveElement = function (primitive, parent, sibling) {
|
|
var element = this.createPrimitiveElement(primitive, parent, sibling);
|
|
this.changePrimitiveElement(primitive, element);
|
|
return element;
|
|
};
|
|
CanvasManagerBase.prototype.changePrimitiveElement = function (primitive, element) {
|
|
primitive.applyElementProperties(element);
|
|
};
|
|
CanvasManagerBase.prototype.getOrCreateElement = function (key, primitive, parent, sibling) {
|
|
var element = (key && this.elements[key]) || (this.elements[key] = this.createPrimitiveElement(primitive, parent, sibling));
|
|
this.changePrimitiveElement(primitive, element);
|
|
return element;
|
|
};
|
|
CanvasManagerBase.prototype.createTextFloodFilter = function (key, parent, pageColor) {
|
|
this.getOrCreateElement(key, new TextFilterPrimitive_1.TextFloodFilterPrimitive(exports.PAGE_BG_TEXTFLOOR_FILTER_ID, pageColor), parent);
|
|
};
|
|
CanvasManagerBase.prototype.getAbsoluteSize = function (modelSize) {
|
|
return modelSize
|
|
.transform(UnitConverter_1.UnitConverter.twipsToPixelsF)
|
|
.multiply(this.actualZoom);
|
|
};
|
|
return CanvasManagerBase;
|
|
}());
|
|
exports.CanvasManagerBase = CanvasManagerBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 34 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectionPoint = /** @class */ (function (_super) {
|
|
__extends(ConnectionPoint, _super);
|
|
function ConnectionPoint(x, y, side) {
|
|
if (side === void 0) { side = DiagramItem_1.ConnectionPointSide.Undefined; }
|
|
var _this = _super.call(this, x, y) || this;
|
|
_this.side = side;
|
|
return _this;
|
|
}
|
|
ConnectionPoint.prototype.offset = function (offsetX, offsetY) {
|
|
if (offsetX === void 0) { offsetX = 0; }
|
|
if (offsetY === void 0) { offsetY = 0; }
|
|
return new ConnectionPoint(this.x + offsetX, this.y + offsetY);
|
|
};
|
|
ConnectionPoint.prototype.multiply = function (multiplierX, multiplierY) {
|
|
if (multiplierX === void 0) { multiplierX = 1; }
|
|
if (multiplierY === void 0) { multiplierY = multiplierX; }
|
|
return new ConnectionPoint(this.x * multiplierX, this.y * multiplierY);
|
|
};
|
|
ConnectionPoint.prototype.clone = function () { return new ConnectionPoint(this.x, this.y, this.side); };
|
|
ConnectionPoint.prototype.toPoint = function () { return new Utils_1.Point(this.x, this.y); };
|
|
return ConnectionPoint;
|
|
}(Utils_1.Point));
|
|
exports.ConnectionPoint = ConnectionPoint;
|
|
|
|
|
|
/***/ }),
|
|
/* 35 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var _1 = __webpack_require__(8);
|
|
var Model_1 = __webpack_require__(19);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var DiagramSettings = /** @class */ (function () {
|
|
function DiagramSettings() {
|
|
this.onZoomChanged = new _1.EventDispatcher();
|
|
this.onViewChanged = new _1.EventDispatcher();
|
|
this.onReadOnlyChanged = new _1.EventDispatcher();
|
|
this._zoomLevel = 1;
|
|
this._zoomLevelItems = [0.5, 0.75, 1, 1.25, 1.5, 2, 3];
|
|
this._simpleView = false;
|
|
this._fullscreen = false;
|
|
this._readOnly = false;
|
|
this._autoZoom = AutoZoomMode.Disabled;
|
|
this._snapToGrid = true;
|
|
this._showGrid = true;
|
|
this._gridSize = 180;
|
|
this._gridSizeItems = [90, 180, 360, 720];
|
|
this._pageSizeItems = [
|
|
{ size: new Utils_1.Size(12240, 15840), text: "US-Letter ({width} x {height})" },
|
|
{ size: new Utils_1.Size(12240, 20160), text: "US-Legal ({width} x {height})" },
|
|
{ size: new Utils_1.Size(15817, 24491), text: "US-Tabloid ({width} x {height})" },
|
|
{ size: new Utils_1.Size(47679, 67408), text: "A0 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(33676, 47679), text: "A1 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(23811, 33676), text: "A2 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(16838, 23811), text: "A3 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(11906, 16838), text: "A4 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(8391, 11906), text: "A5 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(5953, 8391), text: "A6 ({width} x {height})" },
|
|
{ size: new Utils_1.Size(4195, 5953), text: "A7 ({width} x {height})" }
|
|
];
|
|
this._viewUnits = Model_1.DiagramUnit.In;
|
|
this.unitItems = {};
|
|
this.formatUnit = function (value) { return value.toString(); };
|
|
this.unitItems[Model_1.DiagramUnit.In] = "in";
|
|
this.unitItems[Model_1.DiagramUnit.Cm] = "cm";
|
|
this.unitItems[Model_1.DiagramUnit.Px] = "px";
|
|
}
|
|
Object.defineProperty(DiagramSettings.prototype, "zoomLevel", {
|
|
get: function () { return this._zoomLevel; },
|
|
set: function (value) {
|
|
var _this = this;
|
|
value = DiagramSettings.correctZoomLevel(value);
|
|
if (value !== this._zoomLevel) {
|
|
this._zoomLevel = value;
|
|
this.onZoomChanged.raise1(function (listener) { return listener.notifyZoomChanged(value, _this._autoZoom); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "zoomLevelItems", {
|
|
get: function () { return this._zoomLevelItems; },
|
|
set: function (value) {
|
|
value = value.map(function (l) { return DiagramSettings.correctZoomLevel(l); });
|
|
if (value !== this._zoomLevelItems) {
|
|
this._zoomLevelItems = value;
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "autoZoom", {
|
|
get: function () { return this._autoZoom; },
|
|
set: function (value) {
|
|
var _this = this;
|
|
if (value !== this._autoZoom) {
|
|
this._autoZoom = value;
|
|
this.onZoomChanged.raise1(function (l) { return l.notifyZoomChanged(_this._zoomLevel, value); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "simpleView", {
|
|
get: function () { return this._simpleView; },
|
|
set: function (value) {
|
|
if (value !== this._simpleView) {
|
|
this._simpleView = value;
|
|
this.onViewChanged.raise1(function (listener) { return listener.notifyViewChanged(value); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "readOnly", {
|
|
get: function () { return this._readOnly; },
|
|
set: function (value) {
|
|
if (value !== this._readOnly) {
|
|
this._readOnly = value;
|
|
this.onReadOnlyChanged.raise1(function (listener) { return listener.notifyReadOnlyChanged(value); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "fullscreen", {
|
|
get: function () { return this._fullscreen; },
|
|
set: function (value) { this._fullscreen = value; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "snapToGrid", {
|
|
get: function () { return this._snapToGrid; },
|
|
set: function (value) { this._snapToGrid = value; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "showGrid", {
|
|
get: function () { return this._showGrid; },
|
|
set: function (value) {
|
|
var _this = this;
|
|
if (value !== this._showGrid) {
|
|
this._showGrid = value;
|
|
this.onViewChanged.raise1(function (l) { return l.notifyGridChanged(_this.showGrid, _this.gridSize); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "gridSize", {
|
|
get: function () { return this._gridSize; },
|
|
set: function (value) {
|
|
var _this = this;
|
|
if (value !== this._gridSize) {
|
|
this._gridSize = value;
|
|
this.onViewChanged.raise1(function (l) { return l.notifyGridChanged(_this.showGrid, _this.gridSize); });
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "gridSizeItems", {
|
|
get: function () { return this._gridSizeItems; },
|
|
set: function (value) {
|
|
if (value !== this._gridSizeItems) {
|
|
this._gridSizeItems = value;
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "pageSizeItems", {
|
|
get: function () { return this._pageSizeItems; },
|
|
set: function (value) {
|
|
if (value !== this._pageSizeItems) {
|
|
this._pageSizeItems = value;
|
|
}
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(DiagramSettings.prototype, "viewUnits", {
|
|
get: function () { return this._viewUnits; },
|
|
set: function (value) { this._viewUnits = value; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DiagramSettings.correctZoomLevel = function (level) {
|
|
return Math.min(10, Math.max(level, 0.01));
|
|
};
|
|
return DiagramSettings;
|
|
}());
|
|
exports.DiagramSettings = DiagramSettings;
|
|
var AutoZoomMode;
|
|
(function (AutoZoomMode) {
|
|
AutoZoomMode[AutoZoomMode["Disabled"] = 0] = "Disabled";
|
|
AutoZoomMode[AutoZoomMode["FitContent"] = 1] = "FitContent";
|
|
AutoZoomMode[AutoZoomMode["FitToWidth"] = 2] = "FitToWidth";
|
|
})(AutoZoomMode = exports.AutoZoomMode || (exports.AutoZoomMode = {}));
|
|
|
|
|
|
/***/ }),
|
|
/* 36 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStyleHistoryItemBase_1 = __webpack_require__(103);
|
|
var ChangeStyleTextHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeStyleTextHistoryItem, _super);
|
|
function ChangeStyleTextHistoryItem(itemKey, styleProperty, styleValue) {
|
|
return _super.call(this, itemKey, styleProperty, styleValue) || this;
|
|
}
|
|
ChangeStyleTextHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldStyleValue = item.styleText[this.styleProperty];
|
|
manipulator.changeStyleText(item, this.styleProperty, this.styleValue);
|
|
};
|
|
ChangeStyleTextHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeStyleText(item, this.styleProperty, this.oldStyleValue);
|
|
};
|
|
return ChangeStyleTextHistoryItem;
|
|
}(ChangeStyleHistoryItemBase_1.ChangeStyleHistoryItemBase));
|
|
exports.ChangeStyleTextHistoryItem = ChangeStyleTextHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 37 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var AddConnectionHistoryItem = /** @class */ (function (_super) {
|
|
__extends(AddConnectionHistoryItem, _super);
|
|
function AddConnectionHistoryItem(connector, item, connectionPointIndex, position) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connector.key;
|
|
_this.itemKey = item.key;
|
|
_this.connectionPointIndex = connectionPointIndex;
|
|
_this.position = position;
|
|
return _this;
|
|
}
|
|
AddConnectionHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.addConnection(connector, item, this.connectionPointIndex, this.position);
|
|
};
|
|
AddConnectionHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.deleteConnection(connector, this.position);
|
|
};
|
|
return AddConnectionHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.AddConnectionHistoryItem = AddConnectionHistoryItem;
|
|
var SetConnectionPointIndexHistoryItem = /** @class */ (function (_super) {
|
|
__extends(SetConnectionPointIndexHistoryItem, _super);
|
|
function SetConnectionPointIndexHistoryItem(connector, connectionPointIndex, position) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connector.key;
|
|
_this.connectionPointIndex = connectionPointIndex;
|
|
_this.position = position;
|
|
return _this;
|
|
}
|
|
SetConnectionPointIndexHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.oldConnectionPointIndex = this.position === Connector_1.ConnectorPosition.Begin ? connector.beginConnectionPointIndex : connector.endConnectionPointIndex;
|
|
manipulator.setConnectionPointIndex(connector, this.connectionPointIndex, this.position);
|
|
};
|
|
SetConnectionPointIndexHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.setConnectionPointIndex(connector, this.oldConnectionPointIndex, this.position);
|
|
};
|
|
return SetConnectionPointIndexHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.SetConnectionPointIndexHistoryItem = SetConnectionPointIndexHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 38 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var StringUtils_1 = __webpack_require__(131);
|
|
var ColorHelper = /** @class */ (function () {
|
|
function ColorHelper() {
|
|
}
|
|
ColorHelper.constructFromArgbNumber = function (alpha, red, green, blue) {
|
|
return (alpha << 24) | (red << 16) | (green << 8) | blue;
|
|
};
|
|
ColorHelper.getPredefinedColor = function (color) {
|
|
return ColorHelper.hashToColor(color, 0);
|
|
};
|
|
ColorHelper.isGray = function (color) {
|
|
var red = ColorHelper.getRed(color);
|
|
return red == ColorHelper.getGreen(color) && red == ColorHelper.getBlue(color);
|
|
};
|
|
ColorHelper.getAlpha = function (color) {
|
|
return (color >> 24) & 255;
|
|
};
|
|
ColorHelper.getRed = function (color) {
|
|
return (color >> 16) & 255;
|
|
};
|
|
ColorHelper.getGreen = function (color) {
|
|
return (color >> 8) & 255;
|
|
};
|
|
ColorHelper.getBlue = function (color) {
|
|
return color & 255;
|
|
};
|
|
ColorHelper.redPartToString = function (color) {
|
|
var redStr = ColorHelper.getRed(color).toString(16);
|
|
return redStr.length > 1 ? redStr : "0" + redStr;
|
|
};
|
|
ColorHelper.greenPartToString = function (color) {
|
|
var greenStr = ColorHelper.getGreen(color).toString(16);
|
|
return greenStr.length > 1 ? greenStr : "0" + greenStr;
|
|
};
|
|
ColorHelper.bluePartToString = function (color) {
|
|
var blueStr = ColorHelper.getBlue(color).toString(16);
|
|
return blueStr.length > 1 ? blueStr : "0" + blueStr;
|
|
};
|
|
ColorHelper.colorToHash = function (color) {
|
|
return "#" + ColorHelper.redPartToString(color) + ColorHelper.greenPartToString(color) + ColorHelper.bluePartToString(color);
|
|
};
|
|
// static anyToColor(value: any, defaultValue: number): number {
|
|
// if (typeof value === "number" && !isNaN(value))
|
|
// return value;
|
|
// if (typeof value === "string") {
|
|
// var intValue = parseInt(value);
|
|
// return !isNaN(intValue) && value == <any>intValue ? intValue : ColorHelper.hashToColor(value);
|
|
// }
|
|
// return defaultValue;
|
|
// }
|
|
ColorHelper.hashToColor = function (hash, alpha) {
|
|
if (alpha === void 0) { alpha = 255; }
|
|
hash = hash.charAt(0) == "#" ? hash.substr(1) : hash;
|
|
if (hash.length === 3)
|
|
hash = StringUtils_1.StringUtils.repeat(hash.charAt(0), 2) + StringUtils_1.StringUtils.repeat(hash.charAt(1), 2) + StringUtils_1.StringUtils.repeat(hash.charAt(2), 2);
|
|
return parseInt(hash, 16) | (alpha << 24);
|
|
};
|
|
ColorHelper.getActualForeColor = function (foreColor, backColor) {
|
|
if (foreColor == ColorHelper.AUTOMATIC_COLOR) {
|
|
var backColorIsLight = backColor == ColorHelper.AUTOMATIC_COLOR ||
|
|
backColor == ColorHelper.NO_COLOR ||
|
|
ColorHelper.calculateLumaY(backColor) >= ColorHelper.DEFAULT_BOUNDARY_LUMA;
|
|
foreColor = backColorIsLight ? ColorHelper.DARK_COLOR : ColorHelper.LIGHT_COLOR;
|
|
}
|
|
return ColorHelper.getCssString(foreColor, true);
|
|
};
|
|
ColorHelper.getCssString = function (color, isAutoColorTranslateToDark) {
|
|
if (color == ColorHelper.AUTOMATIC_COLOR)
|
|
return ColorHelper.colorToHash(isAutoColorTranslateToDark ? ColorHelper.DARK_COLOR : ColorHelper.LIGHT_COLOR);
|
|
return ColorHelper.getCssStringInternal(color);
|
|
};
|
|
ColorHelper.stringToHash = function (color) {
|
|
return this.colorToHash(this.stringToColor(color));
|
|
};
|
|
ColorHelper.stringToColor = function (color) {
|
|
var foreColorMatchesRGB = this.getRGBAByString(color);
|
|
var hashColor = "";
|
|
if (foreColorMatchesRGB) {
|
|
return ((foreColorMatchesRGB[0] & 255) << 16) | ((foreColorMatchesRGB[1] & 255) << 8) | (foreColorMatchesRGB[2] & 255) |
|
|
(((foreColorMatchesRGB.length > 3 ? foreColorMatchesRGB[3] : 255) & 255) << 24);
|
|
}
|
|
else {
|
|
if (/^#([0-9a-f]{6})$/i.test(color) || /^#([0-9a-f]{3})$/i.test(color))
|
|
hashColor = color;
|
|
else if (/^[a-z]+$/i.test(color))
|
|
hashColor = ColorHelper.colorNames[color.toLowerCase()];
|
|
}
|
|
if (hashColor)
|
|
return ColorHelper.hashToColor(hashColor);
|
|
return null;
|
|
};
|
|
ColorHelper.getRGBAByString = function (color) {
|
|
var matchesRGBA = color.replace(/ +/g, '').match(/(rgba?)|(\d+(\.\d+)?%?)|(\.\d+)/g);
|
|
if (matchesRGBA && matchesRGBA.length > 3) {
|
|
var i = 0, itm;
|
|
var result = [];
|
|
while (i < matchesRGBA.length - 1) {
|
|
itm = matchesRGBA[++i];
|
|
if (itm.indexOf('%') != -1)
|
|
itm = Math.round(parseFloat(itm) * 2.55);
|
|
else
|
|
itm = parseInt(itm);
|
|
if (itm < 0 || itm > 255)
|
|
return null;
|
|
result.push(itm);
|
|
}
|
|
if (color.indexOf('rgba') === 0) {
|
|
if (isNaN(result[3]) || result[3] < 0 || result[3] > 1)
|
|
return null;
|
|
else if (result[3] <= 1)
|
|
result[3] = Math.round(result[3] * 255);
|
|
}
|
|
else if (result[3])
|
|
return null;
|
|
return result;
|
|
}
|
|
return null;
|
|
};
|
|
ColorHelper.IsDarkColor = function (color) {
|
|
return ColorHelper.calculateLumaY(color) < ColorHelper.DEFAULT_BOUNDARY_LUMA;
|
|
};
|
|
ColorHelper.getCssStringInternal = function (color) {
|
|
var alpfa = ColorHelper.getAlpha(color);
|
|
switch (alpfa) {
|
|
case 0: return "transparent";
|
|
case 255: return ColorHelper.colorToHash(color);
|
|
default: return "rgba(" + ColorHelper.getRed(color) + "," + ColorHelper.getGreen(color) + "," + ColorHelper.getBlue(color) + "," + (alpfa / 255) + ")";
|
|
}
|
|
};
|
|
ColorHelper.isEmptyBgColor = function (color) {
|
|
return color === this.AUTOMATIC_COLOR || color === this.NO_COLOR;
|
|
};
|
|
ColorHelper.calculateLumaY = function (color) {
|
|
//ITU 601:
|
|
//Y' = 0.299 * R + 0.587 * G + 0.114 * B
|
|
//Word boundary: 60.762 (possible not very accurate). All tests based on MSWord results
|
|
//y = Y' * 65536
|
|
return ColorHelper.DEFAULT_BOUNDARY_LUMA_RED * ColorHelper.getRed(color) +
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA_GREEN * ColorHelper.getGreen(color) +
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA_BLUE * ColorHelper.getBlue(color);
|
|
};
|
|
ColorHelper.colorNames = {
|
|
aliceblue: '#f0f8ff', antiquewhite: '#faebd7', aqua: '#00ffff',
|
|
aquamarine: '#7fffd4', azure: '#f0ffff', beige: '#f5f5dc',
|
|
bisque: '#ffe4c4', black: '#000000', blanchedalmond: '#ffebcd',
|
|
blue: '#0000ff', blueviolet: '#8a2be2', brown: '#a52a2a',
|
|
burlywood: '#deb887', cadetblue: '#5f9ea0', chartreuse: '#7fff00',
|
|
chocolate: '#d2691e', coral: '#ff7f50', cornflowerblue: '#6495ed',
|
|
cornsilk: '#fff8dc', crimson: '#dc143c', cyan: '#00ffff',
|
|
darkblue: '#00008b', darkcyan: '#008b8b', darkgoldenrod: '#b8860b',
|
|
darkgray: '#a9a9a9', darkgreen: '#006400', darkkhaki: '#bdb76b',
|
|
darkmagenta: '#8b008b', darkolivegreen: '#556b2f', darkorange: '#ff8c00',
|
|
darkorchid: '#9932cc', darkred: '#8b0000', darksalmon: '#e9967a',
|
|
darkseagreen: '#8fbc8f', darkslateblue: '#483d8b', darkslategray: '#2f4f4f',
|
|
darkturquoise: '#00ced1', darkviolet: '#9400d3', deeppink: '#ff1493',
|
|
deepskyblue: '#00bfff', dimgray: '#696969', dodgerblue: '#1e90ff',
|
|
feldspar: '#d19275', firebrick: '#b22222', floralwhite: '#fffaf0',
|
|
forestgreen: '#228b22', fuchsia: '#ff00ff', gainsboro: '#dcdcdc',
|
|
ghostwhite: '#f8f8ff', gold: '#ffd700', goldenrod: '#daa520', gray: '#808080',
|
|
green: '#00ff00', /* in winFroms green = 008000 */ greenyellow: '#adff2f', honeydew: '#f0fff0', hotpink: '#ff69b4',
|
|
indianred: '#cd5c5c', indigo: '#4b0082', ivory: '#fffff0', khaki: '#f0e68c',
|
|
lavender: '#e6e6fa', lavenderblush: '#fff0f5', lawngreen: '#7cfc00',
|
|
lemonchiffon: '#fffacd', lightblue: '#add8e6', lightcoral: '#f08080',
|
|
lightcyan: '#e0ffff', lightgoldenrodyellow: '#fafad2', lightgray: '#d3d3d3',
|
|
lightgreen: '#90ee90', lightpink: '#ffb6c1', lightsalmon: '#ffa07a',
|
|
lightseagreen: '#20b2aa', lightskyblue: '#87cefa', lightslateblue: '#8470ff',
|
|
lightslategray: '#778899', lightsteelblue: '#b0c4de', lightyellow: '#ffffe0',
|
|
lime: '#00ff00', limegreen: '#32cd32', linen: '#faf0e6', magenta: '#ff00ff',
|
|
maroon: '#800000', mediumaquamarine: '#66cdaa', mediumblue: '#0000cd',
|
|
mediumorchid: '#ba55d3', mediumpurple: '#9370d8', mediumseagreen: '#3cb371',
|
|
mediumslateblue: '#7b68ee', mediumspringgreen: '#00fa9a', mediumturquoise: '#48d1cc',
|
|
mediumvioletred: '#c71585', midnightblue: '#191970', mintcream: '#f5fffa',
|
|
mistyrose: '#ffe4e1', moccasin: '#ffe4b5', navajowhite: '#ffdead', navy: '#000080',
|
|
oldlace: '#fdf5e6', olive: '#808000', olivedrab: '#6b8e23', orange: '#ffa500',
|
|
orangered: '#ff4500', orchid: '#da70d6', palegoldenrod: '#eee8aa', palegreen: '#98fb98',
|
|
paleturquoise: '#afeeee', palevioletred: '#d87093', papayawhip: '#ffefd5',
|
|
peachpuff: '#ffdab9', peru: '#cd853f', pink: '#ffc0cb', plum: '#dda0dd',
|
|
powderblue: '#b0e0e6', purple: '#800080', red: '#ff0000', rosybrown: '#bc8f8f',
|
|
royalblue: '#4169e1', saddlebrown: '#8b4513', salmon: '#fa8072', sandybrown: '#f4a460',
|
|
seagreen: '#2e8b57', seashell: '#fff5ee', sienna: '#a0522d', silver: '#c0c0c0',
|
|
skyblue: '#87ceeb', slateblue: '#6a5acd', slategray: '#708090', snow: '#fffafa',
|
|
springgreen: '#00ff7f', steelblue: '#4682b4', tan: '#d2b48c', teal: '#008080',
|
|
thistle: '#d8bfd8', tomato: '#ff6347', turquoise: '#40e0d0', violet: '#ee82ee',
|
|
violetred: '#d02090', wheat: '#f5deb3', white: '#ffffff', whitesmoke: '#f5f5f5',
|
|
yellow: '#ffff00', yellowgreen: '#9acd32', windowtext: '#000000'
|
|
};
|
|
//ITU 601:
|
|
//Y' = 0.299 * R + 0.587 * G + 0.114 * B
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA = 60.762 * 65536; // exeprimental value;
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA_RED = 0.299 * 65536;
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA_BLUE = 0.114 * 65536;
|
|
ColorHelper.DEFAULT_BOUNDARY_LUMA_GREEN = 0.587 * 65536;
|
|
ColorHelper.DARK_COLOR = -16777216; // FFFFFFFFFF000000
|
|
ColorHelper.LIGHT_COLOR = -1; // FFFFFFFFFFFFFFFF
|
|
ColorHelper.BLACK_COLOR = -16777216; // FFFFFFFFFF000000 // todo delete
|
|
// here need get color, that different from back color. (back color that table, paragraph, box back colors)
|
|
ColorHelper.AUTOMATIC_COLOR = 0; // for text color, text strikeout, text underline. Character back color don't affect fore color, bot paragraph - affect
|
|
ColorHelper.NO_COLOR = 16777215; // 00000000FFFFFF for back color
|
|
return ColorHelper;
|
|
}());
|
|
exports.ColorHelper = ColorHelper;
|
|
|
|
|
|
/***/ }),
|
|
/* 39 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Browser_1 = __webpack_require__(23);
|
|
var TouchUIHelper_1 = __webpack_require__(62);
|
|
var Base_1 = __webpack_require__(17);
|
|
var Evt = /** @class */ (function () {
|
|
function Evt() {
|
|
}
|
|
Evt.GetEvent = function (evt) {
|
|
return (typeof (event) != "undefined" && event != null && Browser_1.Browser.IE) ? event : evt;
|
|
};
|
|
Evt.AttachEventToElement = function (element, eventName, handler, onlyBubbling) {
|
|
if (onlyBubbling === void 0) { onlyBubbling = false; }
|
|
if (element.addEventListener)
|
|
element.addEventListener(eventName, handler, !onlyBubbling);
|
|
else
|
|
element.attachEvent("on" + eventName, handler);
|
|
};
|
|
Evt.AttachEventToDocument = function (eventName, handler) {
|
|
var attachingAllowed = TouchUIHelper_1.TouchUIHelper.onEventAttachingToDocument(eventName, handler);
|
|
if (attachingAllowed)
|
|
Evt.AttachEventToElement(document, eventName, handler);
|
|
};
|
|
Evt.PreventEvent = function (evt) {
|
|
if (evt.preventDefault)
|
|
evt.preventDefault();
|
|
else
|
|
evt.returnValue = false;
|
|
return false;
|
|
};
|
|
Evt.GetKeyCode = function (evt) {
|
|
return Browser_1.Browser.NetscapeFamily || Browser_1.Browser.Opera ? evt.which : evt.keyCode;
|
|
};
|
|
Evt.GetEventSource = function (evt, findByPosition) {
|
|
if (!Base_1.IsExists(evt))
|
|
return null;
|
|
if (findByPosition && document.elementFromPoint && Evt.GetEventX(evt) !== undefined && Evt.GetEventY(evt) !== undefined)
|
|
return document.elementFromPoint(Evt.GetEventX(evt), Evt.GetEventY(evt));
|
|
return evt.srcElement ? evt.srcElement : evt.target;
|
|
};
|
|
Evt.GetMouseWheelEventName = function () {
|
|
if (Browser_1.Browser.Safari)
|
|
return "mousewheel";
|
|
if (Browser_1.Browser.NetscapeFamily && Browser_1.Browser.MajorVersion < 17)
|
|
return "DOMMouseScroll";
|
|
return "wheel";
|
|
};
|
|
Evt.IsLeftButtonPressed = function (evt) {
|
|
if (TouchUIHelper_1.TouchUIHelper.isTouchEvent(evt))
|
|
return true;
|
|
evt = Evt.GetEvent(evt);
|
|
if (!evt)
|
|
return false;
|
|
if (Browser_1.Browser.IE && Browser_1.Browser.Version < 11) {
|
|
if (Browser_1.Browser.MSTouchUI)
|
|
return true;
|
|
return evt.button % 2 == 1; // B213431
|
|
}
|
|
else if (Browser_1.Browser.WebKitFamily) {
|
|
if (evt.type === "pointermove")
|
|
return evt.buttons === 1;
|
|
return evt.which == 1;
|
|
}
|
|
else if (Browser_1.Browser.NetscapeFamily || Browser_1.Browser.Edge || (Browser_1.Browser.IE && Browser_1.Browser.Version >= 11)) {
|
|
if (evt.type === TouchUIHelper_1.TouchUIHelper.touchMouseMoveEventName)
|
|
return evt.buttons === 1;
|
|
return evt.which == 1;
|
|
}
|
|
else if (Browser_1.Browser.Opera)
|
|
return evt.button == 0;
|
|
return true;
|
|
};
|
|
Evt.PreventEventAndBubble = function (evt) {
|
|
Evt.PreventEvent(evt);
|
|
if (evt.stopPropagation)
|
|
evt.stopPropagation();
|
|
evt.cancelBubble = true;
|
|
return false;
|
|
};
|
|
Evt.clientEventRequiresDocScrollCorrection = function () {
|
|
var isSafariVerLess3 = Browser_1.Browser.Safari && Browser_1.Browser.Version < 3, isMacOSMobileVerLess51 = Browser_1.Browser.MacOSMobilePlatform && Browser_1.Browser.Version < 5.1;
|
|
return Browser_1.Browser.AndroidDefaultBrowser || Browser_1.Browser.AndroidChromeBrowser || !(isSafariVerLess3 || isMacOSMobileVerLess51);
|
|
};
|
|
Evt.GetEventX = function (evt) {
|
|
if (TouchUIHelper_1.TouchUIHelper.isTouchEvent(evt))
|
|
return TouchUIHelper_1.TouchUIHelper.getEventX(evt);
|
|
return evt.clientX + (Evt.clientEventRequiresDocScrollCorrection() ? Base_1.GetDocumentScrollLeft() : 0);
|
|
};
|
|
Evt.GetEventY = function (evt) {
|
|
if (TouchUIHelper_1.TouchUIHelper.isTouchEvent(evt))
|
|
return TouchUIHelper_1.TouchUIHelper.getEventY(evt);
|
|
return evt.clientY + (Evt.clientEventRequiresDocScrollCorrection() ? Base_1.GetDocumentScrollTop() : 0);
|
|
};
|
|
Evt.CancelBubble = function (evt) {
|
|
evt.cancelBubble = true;
|
|
return false;
|
|
};
|
|
return Evt;
|
|
}());
|
|
exports.Evt = Evt;
|
|
|
|
|
|
/***/ }),
|
|
/* 40 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base64_1 = __webpack_require__(86);
|
|
var ImageInfo = /** @class */ (function () {
|
|
function ImageInfo(imageUrlOrBase64) {
|
|
this.url = undefined;
|
|
this.base64 = undefined;
|
|
if (imageUrlOrBase64) {
|
|
if (Base64_1.Base64Utils.checkPrependDataUrl(imageUrlOrBase64))
|
|
this.base64 = imageUrlOrBase64;
|
|
else
|
|
this.url = imageUrlOrBase64;
|
|
}
|
|
this.loadFailed = false;
|
|
}
|
|
ImageInfo.prototype.clone = function () {
|
|
var result = new ImageInfo();
|
|
result.url = this.url;
|
|
result.base64 = this.base64;
|
|
return result;
|
|
};
|
|
Object.defineProperty(ImageInfo.prototype, "isEmpty", {
|
|
get: function () { return this.url === undefined && this.base64 === undefined; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ImageInfo.prototype, "unableToLoad", {
|
|
get: function () { return this.loadFailed; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ImageInfo.prototype, "renderUrl", {
|
|
get: function () { return this.base64 || ""; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ImageInfo.prototype, "exportUrl", {
|
|
get: function () { return this.base64 ? this.base64 : this.url; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ImageInfo, "transparentOnePixelImage", {
|
|
get: function () { return this.transparentWhiteImage1_1; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ImageInfo.prototype.loadBase64Content = function (base64Content) {
|
|
this.base64 = Base64_1.Base64Utils.normalize(base64Content);
|
|
};
|
|
ImageInfo.prototype.setUnableToLoadFlag = function () {
|
|
this.loadFailed = true;
|
|
};
|
|
ImageInfo.transparentWhiteImage1_1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY/j///9/AAn7A/0FQ0XKAAAAAElFTkSuQmCC';
|
|
return ImageInfo;
|
|
}());
|
|
exports.ImageInfo = ImageInfo;
|
|
|
|
|
|
/***/ }),
|
|
/* 41 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var ClipPathPrimitive = /** @class */ (function (_super) {
|
|
__extends(ClipPathPrimitive, _super);
|
|
function ClipPathPrimitive(id, children) {
|
|
var _this = _super.call(this) || this;
|
|
_this.id = id;
|
|
_this.children = children;
|
|
return _this;
|
|
}
|
|
ClipPathPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "clipPath");
|
|
};
|
|
ClipPathPrimitive.prototype.applyElementProperties = function (element) {
|
|
if (this.id)
|
|
element.setAttribute("id", this.id);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return ClipPathPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.ClipPathPrimitive = ClipPathPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 42 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var EllipsePrimitive = /** @class */ (function (_super) {
|
|
__extends(EllipsePrimitive, _super);
|
|
function EllipsePrimitive(cx, cy, rx, ry, style, className) {
|
|
var _this = _super.call(this, style, className) || this;
|
|
_this.cx = cx;
|
|
_this.cy = cy;
|
|
_this.rx = rx;
|
|
_this.ry = ry;
|
|
return _this;
|
|
}
|
|
EllipsePrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "ellipse");
|
|
};
|
|
EllipsePrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "cx", this.cx);
|
|
this.setUnitAttribute(element, "cy", this.cy);
|
|
this.setUnitAttribute(element, "rx", this.rx);
|
|
this.setUnitAttribute(element, "ry", this.ry);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return EllipsePrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.EllipsePrimitive = EllipsePrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 43 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ConnectorPointsOrthogonalSideCalculatorBase = /** @class */ (function () {
|
|
function ConnectorPointsOrthogonalSideCalculatorBase(parent) {
|
|
this.parent = parent;
|
|
}
|
|
Object.defineProperty(ConnectorPointsOrthogonalSideCalculatorBase.prototype, "connector", {
|
|
get: function () { return this.parent.connector; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ConnectorPointsOrthogonalSideCalculatorBase.prototype, "beginRect", {
|
|
get: function () { return this.parent.beginRect; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ConnectorPointsOrthogonalSideCalculatorBase.prototype, "endRect", {
|
|
get: function () { return this.parent.endRect; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.getBeginOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
originPoint = this.getCorrectOriginPoint(originPoint, originRect);
|
|
if (targetSide !== DiagramItem_1.ConnectionPointSide.Undefined) {
|
|
if (this.isBeginEndSame())
|
|
return this.getSameShapeOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
else if (this.isBeginEndOverlappedPoints(originPoint, targetPoint))
|
|
return this.getOverlappedPointsOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
else if (this.isBeginEndOverlapped())
|
|
return this.getBeginOverlappedShapeOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
}
|
|
else if (this.isOriginRectContainsTargetPoint(originRect, targetPoint))
|
|
return this.getOverlappedPointsOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
if (this.isOnSidePoint(originPoint, targetPoint))
|
|
return this.getBeginOnSideOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
return this.getBeginOffSideOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.getEndOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
originPoint = this.getCorrectOriginPoint(originPoint, originRect);
|
|
if (targetSide !== DiagramItem_1.ConnectionPointSide.Undefined) {
|
|
if (this.isBeginEndSame())
|
|
return this.getSameShapeOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
else if (this.isBeginEndOverlappedPoints(targetPoint, originPoint))
|
|
return this.getOverlappedPointsOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
else if (this.isBeginEndOverlapped())
|
|
return this.getEndOverlappedShapeOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
}
|
|
else if (this.isOriginRectContainsTargetPoint(originRect, targetPoint))
|
|
return this.getOverlappedPointsOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
if (this.isOnSidePoint(originPoint, targetPoint))
|
|
return this.getEndOnSideOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
return this.getEndOffSideOffsetPoints(targetSide, originPoint, targetPoint, originRect);
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.getSide = function (originPoint, targetPoint) {
|
|
var diffX = Math.abs(targetPoint.x - originPoint.x);
|
|
var diffY = Math.abs(targetPoint.y - originPoint.y);
|
|
if (diffX > diffY) {
|
|
if (targetPoint.x > originPoint.x)
|
|
return DiagramItem_1.ConnectionPointSide.East;
|
|
else
|
|
return DiagramItem_1.ConnectionPointSide.West;
|
|
}
|
|
else {
|
|
if (targetPoint.y > originPoint.y)
|
|
return DiagramItem_1.ConnectionPointSide.South;
|
|
else
|
|
return DiagramItem_1.ConnectionPointSide.North;
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.getSideCalculator = function (originPoint, targetPoint) {
|
|
return this.parent.getSideCalculator(this.getSide(originPoint, targetPoint));
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.getMinOffset = function () {
|
|
return Connector_1.Connector.minOffset;
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isBeginEndSame = function () {
|
|
return this.connector.beginItem === this.connector.endItem;
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isBeginEndOverlapped = function () {
|
|
return this.beginRect && this.endRect && this.beginRect.intersect(this.endRect);
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isBeginEndOverlappedX = function () {
|
|
return this.beginRect && this.endRect && this.beginRect.intersectX(this.endRect);
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isBeginEndOverlappedY = function () {
|
|
return this.beginRect && this.endRect && this.beginRect.intersectY(this.endRect);
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isBeginEndOverlappedPoints = function (beginPoint, endPoint) {
|
|
return this.beginRect && this.endRect && (this.beginRect.contains(endPoint) || this.endRect.contains(beginPoint));
|
|
};
|
|
ConnectorPointsOrthogonalSideCalculatorBase.prototype.isOriginRectContainsTargetPoint = function (originRect, targetPoint) {
|
|
return originRect && originRect.contains(targetPoint);
|
|
};
|
|
return ConnectorPointsOrthogonalSideCalculatorBase;
|
|
}());
|
|
exports.ConnectorPointsOrthogonalSideCalculatorBase = ConnectorPointsOrthogonalSideCalculatorBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 44 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var SetSelectionHistoryItem = /** @class */ (function (_super) {
|
|
__extends(SetSelectionHistoryItem, _super);
|
|
function SetSelectionHistoryItem(selection, selectedKeys) {
|
|
var _this = _super.call(this) || this;
|
|
_this.selectedKeys = selectedKeys;
|
|
_this.selection = selection;
|
|
return _this;
|
|
}
|
|
SetSelectionHistoryItem.prototype.redo = function () {
|
|
this.oldSelection = this.selection.getKeys().slice(0);
|
|
this.selection.set(this.selectedKeys);
|
|
};
|
|
SetSelectionHistoryItem.prototype.undo = function () {
|
|
this.selection.set(this.oldSelection);
|
|
};
|
|
return SetSelectionHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.SetSelectionHistoryItem = SetSelectionHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 45 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var ImagePrimitive_1 = __webpack_require__(98);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var ClipPathPrimitive_1 = __webpack_require__(41);
|
|
var ShapeImageIndicator_1 = __webpack_require__(99);
|
|
exports.ShapeDefaultDimension = 1440;
|
|
exports.ShapeDefaultSize = new Utils_1.Size(exports.ShapeDefaultDimension, exports.ShapeDefaultDimension);
|
|
exports.SHAPE_IMAGE_CLASSNAMES = {
|
|
IMAGE: "dxdi-image",
|
|
IMAGE_PLACEHOLDER: "dxdi-image-placeholder",
|
|
LOADING_INDICATOR: "dxdi-spinner",
|
|
USER_PIC: "dxdi-user",
|
|
WARNING_MARK: "dxdi-warning"
|
|
};
|
|
var ShapeWithImageDescription = /** @class */ (function (_super) {
|
|
__extends(ShapeWithImageDescription, _super);
|
|
function ShapeWithImageDescription(title, defaultText, defaultSize, defaultImageUrl) {
|
|
if (defaultSize === void 0) { defaultSize = exports.ShapeDefaultSize.clone(); }
|
|
var _this = _super.call(this, title, defaultText, defaultSize, defaultImageUrl) || this;
|
|
_this.title = title;
|
|
_this.defaultText = defaultText;
|
|
_this.defaultSize = defaultSize;
|
|
_this.defaultImageUrl = defaultImageUrl;
|
|
_this.defaultIconSize = 480;
|
|
return _this;
|
|
}
|
|
Object.defineProperty(ShapeWithImageDescription.prototype, "enableImage", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ShapeWithImageDescription.getImageMargins = function (forToolbox) {
|
|
return UnitConverter_1.UnitConverter.pixelsToTwips(3);
|
|
};
|
|
ShapeWithImageDescription.prototype.createImagePrimitives = function (shape, forToolbox) {
|
|
if (!this.enableImage)
|
|
return [];
|
|
var rect = this.getImagePlacementRectangle(shape.rectangle, forToolbox);
|
|
if (forToolbox)
|
|
return this.createImagePlaceholder(rect);
|
|
var imagePrimitives = [];
|
|
if (shape.image.isEmpty || shape.image.unableToLoad)
|
|
imagePrimitives = imagePrimitives.concat(this.createEmptyImagePrimitives(rect, shape.image.unableToLoad));
|
|
else if (shape.image.renderUrl === "")
|
|
imagePrimitives = imagePrimitives.concat(this.createLoadingImagePrimitives(rect));
|
|
else
|
|
imagePrimitives = imagePrimitives.concat(this.createLoadedImagePrimitives(rect, shape.image.renderUrl));
|
|
if (shape.image.renderUrl === "") {
|
|
var clipPathId = Utils_2.RenderUtils.generateSvgElementId("clipImage");
|
|
return [
|
|
new GroupPrimitive_1.GroupPrimitive(imagePrimitives, exports.SHAPE_IMAGE_CLASSNAMES.IMAGE, undefined, clipPathId),
|
|
new ClipPathPrimitive_1.ClipPathPrimitive(clipPathId, [new RectaglePrimitive_1.RectanglePrimitive(rect.left, rect.top, rect.width, rect.height)])
|
|
];
|
|
}
|
|
else
|
|
return imagePrimitives;
|
|
};
|
|
ShapeWithImageDescription.prototype.createImagePlaceholder = function (rect) {
|
|
return [];
|
|
};
|
|
ShapeWithImageDescription.prototype.createLoadedImagePrimitives = function (rect, imageUrl) {
|
|
return [
|
|
new ImagePrimitive_1.ImagePrimitive(rect.left, rect.top, rect.width, rect.height, imageUrl, ShapeWithImageDescription.imageScalingRule, undefined, exports.SHAPE_IMAGE_CLASSNAMES.IMAGE)
|
|
];
|
|
};
|
|
ShapeWithImageDescription.prototype.createLoadingImagePrimitives = function (rect) {
|
|
var loadingRect = this.getIconPlacementRectangle(rect);
|
|
return [
|
|
ShapeImageIndicator_1.ShapeImageIndicator.createLoadingIndicatorPrimitives(loadingRect.left, loadingRect.top, this.defaultIconSize, UnitConverter_1.UnitConverter.pixelsToTwips(5), exports.SHAPE_IMAGE_CLASSNAMES.LOADING_INDICATOR)
|
|
];
|
|
};
|
|
ShapeWithImageDescription.prototype.createEmptyImagePrimitives = function (rect, showWarning) {
|
|
var loadingRect = this.getIconPlacementRectangle(rect);
|
|
var primitives = [];
|
|
primitives = primitives.concat(this.createEmptyImagePrimitive(loadingRect));
|
|
if (showWarning)
|
|
primitives = primitives.concat(this.createWarningPrimitive(loadingRect));
|
|
return primitives;
|
|
};
|
|
ShapeWithImageDescription.prototype.createEmptyImagePrimitive = function (rect) {
|
|
return new GroupPrimitive_1.GroupPrimitive([]);
|
|
};
|
|
ShapeWithImageDescription.prototype.createWarningPrimitive = function (rect) {
|
|
return new GroupPrimitive_1.GroupPrimitive([]);
|
|
};
|
|
ShapeWithImageDescription.prototype.getIconPlacementRectangle = function (rect) {
|
|
var iconRect = new Utils_1.Rectangle(new Utils_1.Point(rect.left, rect.top), new Utils_1.Size(this.defaultIconSize, this.defaultIconSize));
|
|
if (iconRect.width < rect.width)
|
|
iconRect.position.x = rect.left + (rect.width - iconRect.width) / 2;
|
|
if (iconRect.height < rect.height)
|
|
iconRect.position.y = rect.top + (rect.height - iconRect.height) / 2;
|
|
return iconRect;
|
|
};
|
|
ShapeWithImageDescription.prototype.getImagePlacementRectangle = function (rect, forToolbox) {
|
|
var imageSize = this.getImageSize(rect, forToolbox);
|
|
var imageRectangle = Utils_1.Rectangle.create(rect.left, rect.top, imageSize.width, imageSize.height);
|
|
var textBlockOffset = this.getTextBlockOffset(rect, forToolbox);
|
|
if (textBlockOffset.right > 0)
|
|
imageRectangle.position.x = rect.right - textBlockOffset.right - ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
else if (textBlockOffset.left > 0)
|
|
imageRectangle.position.x += ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
if (textBlockOffset.bottom > 0)
|
|
imageRectangle.position.y = rect.bottom - textBlockOffset.bottom - ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
else
|
|
imageRectangle.position.y += ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
if (textBlockOffset.top > 0 || textBlockOffset.bottom > 0)
|
|
imageRectangle.position.x = imageRectangle.left + (rect.width - imageRectangle.width) / 2;
|
|
return imageRectangle;
|
|
};
|
|
ShapeWithImageDescription.prototype.getImageSize = function (rect, forToolbox) {
|
|
var imageSize = this.getRawImageSize(rect, forToolbox);
|
|
return this.correctImageSize(imageSize);
|
|
};
|
|
ShapeWithImageDescription.prototype.getRawImageSize = function (rect, forToolbox) {
|
|
return new Utils_1.Size(0, 0);
|
|
};
|
|
ShapeWithImageDescription.prototype.correctImageSize = function (imageSize) {
|
|
imageSize.width = Math.max(imageSize.width, 0);
|
|
imageSize.height = Math.max(imageSize.height, 0);
|
|
return imageSize;
|
|
};
|
|
ShapeWithImageDescription.prototype.getTextBlockOffset = function (rect, forToolbox) {
|
|
return Utils_1.Offset.empty();
|
|
};
|
|
ShapeWithImageDescription.imageScalingRule = "xMidYMid meet";
|
|
return ShapeWithImageDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.ShapeWithImageDescription = ShapeWithImageDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 46 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStyleHistoryItemBase_1 = __webpack_require__(103);
|
|
var ChangeStyleHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeStyleHistoryItem, _super);
|
|
function ChangeStyleHistoryItem(itemKey, styleProperty, styleValue) {
|
|
return _super.call(this, itemKey, styleProperty, styleValue) || this;
|
|
}
|
|
ChangeStyleHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldStyleValue = item.style[this.styleProperty];
|
|
manipulator.changeStyle(item, this.styleProperty, this.styleValue);
|
|
};
|
|
ChangeStyleHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeStyle(item, this.styleProperty, this.oldStyleValue);
|
|
};
|
|
return ChangeStyleHistoryItem;
|
|
}(ChangeStyleHistoryItemBase_1.ChangeStyleHistoryItemBase));
|
|
exports.ChangeStyleHistoryItem = ChangeStyleHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 47 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ExportImportCommandBase = /** @class */ (function (_super) {
|
|
__extends(ExportImportCommandBase, _super);
|
|
function ExportImportCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ExportImportCommandBase.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
return ExportImportCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ExportImportCommandBase = ExportImportCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 48 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DeleteCommand_1 = __webpack_require__(129);
|
|
var UndoCommand_1 = __webpack_require__(198);
|
|
var RedoCommand_1 = __webpack_require__(199);
|
|
var ImportCommand_1 = __webpack_require__(200);
|
|
var ExportCommand_1 = __webpack_require__(201);
|
|
var ToggleFontBoldCommand_1 = __webpack_require__(202);
|
|
var ToggleFontItalicCommand_1 = __webpack_require__(203);
|
|
var ToggleFontUnderlineCommand_1 = __webpack_require__(204);
|
|
var ChangeFontNameCommand_1 = __webpack_require__(205);
|
|
var ChangeFontSizeCommand_1 = __webpack_require__(206);
|
|
var ChangeFontColorCommand_1 = __webpack_require__(207);
|
|
var ChangeFillColorCommand_1 = __webpack_require__(208);
|
|
var ChangeStrokeColorCommand_1 = __webpack_require__(209);
|
|
var ChangeTextAlignCommand_1 = __webpack_require__(210);
|
|
var ChangeConnectorLineEndingCommand_1 = __webpack_require__(211);
|
|
var ChangeConnectorLineOptionCommand_1 = __webpack_require__(212);
|
|
var SelectAllCommand_1 = __webpack_require__(213);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var AutoLayoutTreeVerticalCommand_1 = __webpack_require__(214);
|
|
var ChangeSnapToGridCommand_1 = __webpack_require__(217);
|
|
var ChangeGridSizeCommand_1 = __webpack_require__(218);
|
|
var ChangePageLandscapeCommand_1 = __webpack_require__(219);
|
|
var ChangePageSizeCommand_1 = __webpack_require__(221);
|
|
var ExportPngCommand_1 = __webpack_require__(223);
|
|
var ExportSvgCommand_1 = __webpack_require__(225);
|
|
var ExportJpgCommand_1 = __webpack_require__(226);
|
|
var CopySelectionCommand_1 = __webpack_require__(227);
|
|
var CutSelectionCommand_1 = __webpack_require__(228);
|
|
var PasteSelectionCommand_1 = __webpack_require__(229);
|
|
var ImportBPMNCommand_1 = __webpack_require__(232);
|
|
var SendToBackCommand_1 = __webpack_require__(235);
|
|
var BringToFrontCommand_1 = __webpack_require__(236);
|
|
var AutoLayoutLayeredHorizontalCommand_1 = __webpack_require__(237);
|
|
var MoveCommands_1 = __webpack_require__(238);
|
|
var ChangeZoomLevelCommand_1 = __webpack_require__(239);
|
|
var BindDocumentCommand_1 = __webpack_require__(240);
|
|
var UnbindDocumentCommand_1 = __webpack_require__(242);
|
|
var AutoLayoutTreeHorizontalCommand_1 = __webpack_require__(243);
|
|
var AutoLayoutLayeredVerticalCommand_1 = __webpack_require__(244);
|
|
var LockCommand_1 = __webpack_require__(245);
|
|
var UnlockCommand_1 = __webpack_require__(246);
|
|
var CloneCommand_1 = __webpack_require__(247);
|
|
var ChangeUnitsCommand_1 = __webpack_require__(248);
|
|
var ChangePageColorCommand_1 = __webpack_require__(250);
|
|
var ChangeShowGridCommand_1 = __webpack_require__(252);
|
|
var ToggleFullscreenCommand_1 = __webpack_require__(253);
|
|
var ToggleSimpleViewCommand_1 = __webpack_require__(254);
|
|
var ToggleReadOnlyCommand_1 = __webpack_require__(255);
|
|
var EditShapeImageCommand_1 = __webpack_require__(256);
|
|
var PasteSelectionInPosition_1 = __webpack_require__(257);
|
|
var ImportXMLCommand_1 = __webpack_require__(258);
|
|
var InsertShapeImageCommand_1 = __webpack_require__(260);
|
|
var DeleteShapeImageCommand_1 = __webpack_require__(261);
|
|
var DiagramCommand;
|
|
(function (DiagramCommand) {
|
|
DiagramCommand[DiagramCommand["Undo"] = 0] = "Undo";
|
|
DiagramCommand[DiagramCommand["Redo"] = 1] = "Redo";
|
|
DiagramCommand[DiagramCommand["Cut"] = 2] = "Cut";
|
|
DiagramCommand[DiagramCommand["Copy"] = 3] = "Copy";
|
|
DiagramCommand[DiagramCommand["Paste"] = 4] = "Paste";
|
|
DiagramCommand[DiagramCommand["PasteInPosition"] = 5] = "PasteInPosition";
|
|
DiagramCommand[DiagramCommand["SelectAll"] = 6] = "SelectAll";
|
|
DiagramCommand[DiagramCommand["Delete"] = 7] = "Delete";
|
|
DiagramCommand[DiagramCommand["Import"] = 8] = "Import";
|
|
DiagramCommand[DiagramCommand["ImportBPMN"] = 9] = "ImportBPMN";
|
|
DiagramCommand[DiagramCommand["Export"] = 10] = "Export";
|
|
DiagramCommand[DiagramCommand["ExportSvg"] = 11] = "ExportSvg";
|
|
DiagramCommand[DiagramCommand["ExportPng"] = 12] = "ExportPng";
|
|
DiagramCommand[DiagramCommand["ExportJpg"] = 13] = "ExportJpg";
|
|
DiagramCommand[DiagramCommand["BindDocument"] = 14] = "BindDocument";
|
|
DiagramCommand[DiagramCommand["UnbindDocument"] = 15] = "UnbindDocument";
|
|
DiagramCommand[DiagramCommand["Bold"] = 16] = "Bold";
|
|
DiagramCommand[DiagramCommand["Italic"] = 17] = "Italic";
|
|
DiagramCommand[DiagramCommand["Underline"] = 18] = "Underline";
|
|
DiagramCommand[DiagramCommand["FontName"] = 19] = "FontName";
|
|
DiagramCommand[DiagramCommand["FontSize"] = 20] = "FontSize";
|
|
DiagramCommand[DiagramCommand["FontColor"] = 21] = "FontColor";
|
|
DiagramCommand[DiagramCommand["FillColor"] = 22] = "FillColor";
|
|
DiagramCommand[DiagramCommand["StrokeColor"] = 23] = "StrokeColor";
|
|
DiagramCommand[DiagramCommand["TextLeftAlign"] = 24] = "TextLeftAlign";
|
|
DiagramCommand[DiagramCommand["TextCenterAlign"] = 25] = "TextCenterAlign";
|
|
DiagramCommand[DiagramCommand["TextRightAlign"] = 26] = "TextRightAlign";
|
|
DiagramCommand[DiagramCommand["ConnectorLineOption"] = 27] = "ConnectorLineOption";
|
|
DiagramCommand[DiagramCommand["ConnectorStartLineEnding"] = 28] = "ConnectorStartLineEnding";
|
|
DiagramCommand[DiagramCommand["ConnectorEndLineEnding"] = 29] = "ConnectorEndLineEnding";
|
|
DiagramCommand[DiagramCommand["BringToFront"] = 30] = "BringToFront";
|
|
DiagramCommand[DiagramCommand["SendToBack"] = 31] = "SendToBack";
|
|
DiagramCommand[DiagramCommand["MoveLeft"] = 32] = "MoveLeft";
|
|
DiagramCommand[DiagramCommand["MoveStepLeft"] = 33] = "MoveStepLeft";
|
|
DiagramCommand[DiagramCommand["MoveRight"] = 34] = "MoveRight";
|
|
DiagramCommand[DiagramCommand["MoveStepRight"] = 35] = "MoveStepRight";
|
|
DiagramCommand[DiagramCommand["MoveUp"] = 36] = "MoveUp";
|
|
DiagramCommand[DiagramCommand["MoveStepUp"] = 37] = "MoveStepUp";
|
|
DiagramCommand[DiagramCommand["MoveDown"] = 38] = "MoveDown";
|
|
DiagramCommand[DiagramCommand["MoveStepDown"] = 39] = "MoveStepDown";
|
|
DiagramCommand[DiagramCommand["CloneLeft"] = 40] = "CloneLeft";
|
|
DiagramCommand[DiagramCommand["CloneRight"] = 41] = "CloneRight";
|
|
DiagramCommand[DiagramCommand["CloneUp"] = 42] = "CloneUp";
|
|
DiagramCommand[DiagramCommand["CloneDown"] = 43] = "CloneDown";
|
|
DiagramCommand[DiagramCommand["AutoLayoutTree"] = 44] = "AutoLayoutTree";
|
|
DiagramCommand[DiagramCommand["AutoLayoutFlow"] = 45] = "AutoLayoutFlow";
|
|
DiagramCommand[DiagramCommand["AutoLayoutTreeVertical"] = 46] = "AutoLayoutTreeVertical";
|
|
DiagramCommand[DiagramCommand["AutoLayoutTreeHorizontal"] = 47] = "AutoLayoutTreeHorizontal";
|
|
DiagramCommand[DiagramCommand["AutoLayoutLayeredVertical"] = 48] = "AutoLayoutLayeredVertical";
|
|
DiagramCommand[DiagramCommand["AutoLayoutLayeredHorizontal"] = 49] = "AutoLayoutLayeredHorizontal";
|
|
DiagramCommand[DiagramCommand["Lock"] = 50] = "Lock";
|
|
DiagramCommand[DiagramCommand["Unlock"] = 51] = "Unlock";
|
|
DiagramCommand[DiagramCommand["Units"] = 52] = "Units";
|
|
DiagramCommand[DiagramCommand["ViewUnits"] = 53] = "ViewUnits";
|
|
DiagramCommand[DiagramCommand["PageSize"] = 54] = "PageSize";
|
|
DiagramCommand[DiagramCommand["PageLandscape"] = 55] = "PageLandscape";
|
|
DiagramCommand[DiagramCommand["PageColor"] = 56] = "PageColor";
|
|
DiagramCommand[DiagramCommand["GridSize"] = 57] = "GridSize";
|
|
DiagramCommand[DiagramCommand["ShowGrid"] = 58] = "ShowGrid";
|
|
DiagramCommand[DiagramCommand["SnapToGrid"] = 59] = "SnapToGrid";
|
|
DiagramCommand[DiagramCommand["ZoomLevel"] = 60] = "ZoomLevel";
|
|
DiagramCommand[DiagramCommand["Fullscreen"] = 61] = "Fullscreen";
|
|
DiagramCommand[DiagramCommand["ToggleSimpleView"] = 62] = "ToggleSimpleView";
|
|
DiagramCommand[DiagramCommand["ToggleReadOnly"] = 63] = "ToggleReadOnly";
|
|
DiagramCommand[DiagramCommand["EditShapeImage"] = 64] = "EditShapeImage";
|
|
DiagramCommand[DiagramCommand["FitToScreen"] = 65] = "FitToScreen";
|
|
DiagramCommand[DiagramCommand["SwitchAutoZoom"] = 66] = "SwitchAutoZoom";
|
|
DiagramCommand[DiagramCommand["ToggleAutoZoom"] = 67] = "ToggleAutoZoom";
|
|
DiagramCommand[DiagramCommand["FitToWidth"] = 68] = "FitToWidth";
|
|
DiagramCommand[DiagramCommand["ZoomLevelItems"] = 69] = "ZoomLevelItems";
|
|
DiagramCommand[DiagramCommand["GridSizeItems"] = 70] = "GridSizeItems";
|
|
DiagramCommand[DiagramCommand["PageSizeItems"] = 71] = "PageSizeItems";
|
|
DiagramCommand[DiagramCommand["ImportXML"] = 72] = "ImportXML";
|
|
DiagramCommand[DiagramCommand["InsertShapeImage"] = 73] = "InsertShapeImage";
|
|
DiagramCommand[DiagramCommand["DeleteShapeImage"] = 74] = "DeleteShapeImage";
|
|
})(DiagramCommand = exports.DiagramCommand || (exports.DiagramCommand = {}));
|
|
var CommandManager = /** @class */ (function () {
|
|
function CommandManager(control) {
|
|
this.commands = {};
|
|
this.shortcutsToCommand = {};
|
|
this.lastCommandsChain = [];
|
|
this.executingCommandsChain = [];
|
|
this.executingCommandCounter = 0;
|
|
this.isPublicApiCall = false;
|
|
this.createCommand(control, DiagramCommand.Undo, UndoCommand_1.UndoCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.KeyCode.Key_z, KeyCode_1.ModifierKey.Meta | KeyCode_1.KeyCode.Key_z);
|
|
this.createCommand(control, DiagramCommand.Redo, RedoCommand_1.RedoCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.KeyCode.Key_y, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Key_z, KeyCode_1.ModifierKey.Meta | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Key_z);
|
|
this.createCommand(control, DiagramCommand.Cut, CutSelectionCommand_1.CutSelectionCommand, KeyCode_1.KeyCode.Key_x | KeyCode_1.ModifierKey.Ctrl, KeyCode_1.KeyCode.Key_x | KeyCode_1.ModifierKey.Meta);
|
|
this.createCommand(control, DiagramCommand.Copy, CopySelectionCommand_1.CopySelectionCommand, KeyCode_1.KeyCode.Key_c | KeyCode_1.ModifierKey.Ctrl, KeyCode_1.KeyCode.Key_c | KeyCode_1.ModifierKey.Meta);
|
|
this.createCommand(control, DiagramCommand.Paste, PasteSelectionCommand_1.PasteSelectionCommand);
|
|
this.createCommand(control, DiagramCommand.PasteInPosition, PasteSelectionInPosition_1.PasteSelectionInPositionCommand);
|
|
this.createCommand(control, DiagramCommand.SelectAll, SelectAllCommand_1.SelectAllCommand, KeyCode_1.KeyCode.Key_a | KeyCode_1.ModifierKey.Ctrl, KeyCode_1.KeyCode.Key_a | KeyCode_1.ModifierKey.Meta);
|
|
this.createCommand(control, DiagramCommand.Delete, DeleteCommand_1.DeleteCommand, KeyCode_1.KeyCode.Delete, KeyCode_1.KeyCode.Backspace);
|
|
this.createCommand(control, DiagramCommand.Import, ImportCommand_1.ImportCommand);
|
|
this.createCommand(control, DiagramCommand.ImportBPMN, ImportBPMNCommand_1.ImportBPMNCommand);
|
|
this.createCommand(control, DiagramCommand.ImportXML, ImportXMLCommand_1.ImportXMLCommand);
|
|
this.createCommand(control, DiagramCommand.Export, ExportCommand_1.ExportCommand);
|
|
this.createCommand(control, DiagramCommand.ExportSvg, ExportSvgCommand_1.ExportSvgCommand);
|
|
this.createCommand(control, DiagramCommand.ExportPng, ExportPngCommand_1.ExportPngCommand);
|
|
this.createCommand(control, DiagramCommand.ExportJpg, ExportJpgCommand_1.ExportJpgCommand);
|
|
this.createCommand(control, DiagramCommand.BindDocument, BindDocumentCommand_1.BindDocumentCommand);
|
|
this.createCommand(control, DiagramCommand.UnbindDocument, UnbindDocumentCommand_1.UnbindDocumentCommand);
|
|
this.createCommand(control, DiagramCommand.Bold, ToggleFontBoldCommand_1.ToggleFontBoldCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.KeyCode.Key_b, KeyCode_1.ModifierKey.Meta | KeyCode_1.KeyCode.Key_b);
|
|
this.createCommand(control, DiagramCommand.Italic, ToggleFontItalicCommand_1.ToggleFontItalicCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.KeyCode.Key_i, KeyCode_1.ModifierKey.Meta | KeyCode_1.KeyCode.Key_i);
|
|
this.createCommand(control, DiagramCommand.Underline, ToggleFontUnderlineCommand_1.ToggleFontUnderlineCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.KeyCode.Key_u, KeyCode_1.ModifierKey.Meta | KeyCode_1.KeyCode.Key_u);
|
|
this.createCommand(control, DiagramCommand.FontName, ChangeFontNameCommand_1.ChangeFontNameCommand);
|
|
this.createCommand(control, DiagramCommand.FontSize, ChangeFontSizeCommand_1.ChangeFontSizeCommand);
|
|
this.createCommand(control, DiagramCommand.FontColor, ChangeFontColorCommand_1.ChangeFontColorCommand);
|
|
this.createCommand(control, DiagramCommand.FillColor, ChangeFillColorCommand_1.ChangeFillColorCommand);
|
|
this.createCommand(control, DiagramCommand.StrokeColor, ChangeStrokeColorCommand_1.ChangeStrokeColorCommand);
|
|
this.createCommand(control, DiagramCommand.TextLeftAlign, ChangeTextAlignCommand_1.TextLeftAlignCommand);
|
|
this.createCommand(control, DiagramCommand.TextCenterAlign, ChangeTextAlignCommand_1.TextCenterAlignCommand);
|
|
this.createCommand(control, DiagramCommand.TextRightAlign, ChangeTextAlignCommand_1.TextRightAlignCommand);
|
|
this.createCommand(control, DiagramCommand.ConnectorLineOption, ChangeConnectorLineOptionCommand_1.ChangeConnectorLineOptionCommand);
|
|
this.createCommand(control, DiagramCommand.ConnectorStartLineEnding, ChangeConnectorLineEndingCommand_1.ChangeConnectorStartLineEndingCommand);
|
|
this.createCommand(control, DiagramCommand.ConnectorEndLineEnding, ChangeConnectorLineEndingCommand_1.ChangeConnectorEndLineEndingCommand);
|
|
this.createCommand(control, DiagramCommand.BringToFront, BringToFrontCommand_1.BringToFrontCommand);
|
|
this.createCommand(control, DiagramCommand.SendToBack, SendToBackCommand_1.SendToBackCommand);
|
|
this.createCommand(control, DiagramCommand.MoveLeft, MoveCommands_1.MoveLeftCommand, KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Left);
|
|
this.createCommand(control, DiagramCommand.MoveStepLeft, MoveCommands_1.MoveStepLeftCommand, KeyCode_1.KeyCode.Left);
|
|
this.createCommand(control, DiagramCommand.MoveRight, MoveCommands_1.MoveRightCommand, KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Right);
|
|
this.createCommand(control, DiagramCommand.MoveStepRight, MoveCommands_1.MoveStepRightCommand, KeyCode_1.KeyCode.Right);
|
|
this.createCommand(control, DiagramCommand.MoveUp, MoveCommands_1.MoveUpCommand, KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Up);
|
|
this.createCommand(control, DiagramCommand.MoveStepUp, MoveCommands_1.MoveStepUpCommand, KeyCode_1.KeyCode.Up);
|
|
this.createCommand(control, DiagramCommand.MoveDown, MoveCommands_1.MoveDownCommand, KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Down);
|
|
this.createCommand(control, DiagramCommand.MoveStepDown, MoveCommands_1.MoveStepDownCommand, KeyCode_1.KeyCode.Down);
|
|
this.createCommand(control, DiagramCommand.CloneLeft, CloneCommand_1.CloneLeftCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Left);
|
|
this.createCommand(control, DiagramCommand.CloneRight, CloneCommand_1.CloneRightCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Right);
|
|
this.createCommand(control, DiagramCommand.CloneUp, CloneCommand_1.CloneUpCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Up);
|
|
this.createCommand(control, DiagramCommand.CloneDown, CloneCommand_1.CloneDownCommand, KeyCode_1.ModifierKey.Ctrl | KeyCode_1.ModifierKey.Shift | KeyCode_1.KeyCode.Down);
|
|
this.createCommand(control, DiagramCommand.Lock, LockCommand_1.LockCommand);
|
|
this.createCommand(control, DiagramCommand.Unlock, UnlockCommand_1.UnLockCommand);
|
|
this.createCommand(control, DiagramCommand.AutoLayoutTree, AutoLayoutTreeVerticalCommand_1.AutoLayoutTreeVerticalCommand); // TODO: remove after, need for BC
|
|
this.createCommand(control, DiagramCommand.AutoLayoutFlow, AutoLayoutLayeredHorizontalCommand_1.AutoLayoutLayeredHorizontalCommand); // TODO: remove after, need for BC
|
|
this.createCommand(control, DiagramCommand.Units, ChangeUnitsCommand_1.ChangeUnitsCommand);
|
|
this.createCommand(control, DiagramCommand.ViewUnits, ChangeUnitsCommand_1.ChangeViewUnitsCommand);
|
|
this.createCommand(control, DiagramCommand.PageSize, ChangePageSizeCommand_1.ChangePageSizeCommand);
|
|
this.createCommand(control, DiagramCommand.PageLandscape, ChangePageLandscapeCommand_1.ChangePageLandscapeCommand);
|
|
this.createCommand(control, DiagramCommand.PageColor, ChangePageColorCommand_1.ChangePageColorCommand);
|
|
this.createCommand(control, DiagramCommand.GridSize, ChangeGridSizeCommand_1.ChangeGridSizeCommand);
|
|
this.createCommand(control, DiagramCommand.ShowGrid, ChangeShowGridCommand_1.ChangeShowGridCommand);
|
|
this.createCommand(control, DiagramCommand.SnapToGrid, ChangeSnapToGridCommand_1.ChangeSnapToGridCommand);
|
|
this.createCommand(control, DiagramCommand.ZoomLevel, ChangeZoomLevelCommand_1.ChangeZoomLevelCommand);
|
|
this.createCommand(control, DiagramCommand.AutoLayoutTreeVertical, AutoLayoutTreeVerticalCommand_1.AutoLayoutTreeVerticalCommand);
|
|
this.createCommand(control, DiagramCommand.AutoLayoutTreeHorizontal, AutoLayoutTreeHorizontalCommand_1.AutoLayoutTreeHorizontalCommand); // Not Implemented
|
|
this.createCommand(control, DiagramCommand.AutoLayoutLayeredVertical, AutoLayoutLayeredVerticalCommand_1.AutoLayoutLayeredVerticalCommand);
|
|
this.createCommand(control, DiagramCommand.AutoLayoutLayeredHorizontal, AutoLayoutLayeredHorizontalCommand_1.AutoLayoutLayeredHorizontalCommand);
|
|
this.createCommand(control, DiagramCommand.Fullscreen, ToggleFullscreenCommand_1.ToggleFullscreenCommand, KeyCode_1.KeyCode.F11);
|
|
this.createCommand(control, DiagramCommand.ToggleSimpleView, ToggleSimpleViewCommand_1.ToggleSimpleViewCommand);
|
|
this.createCommand(control, DiagramCommand.ToggleReadOnly, ToggleReadOnlyCommand_1.ToggleReadOnlyCommand);
|
|
this.createCommand(control, DiagramCommand.InsertShapeImage, InsertShapeImageCommand_1.InsertShapeImageCommand);
|
|
this.createCommand(control, DiagramCommand.EditShapeImage, EditShapeImageCommand_1.EditShapeImageCommand);
|
|
this.createCommand(control, DiagramCommand.DeleteShapeImage, DeleteShapeImageCommand_1.DeleteShapeImageCommand);
|
|
this.createCommand(control, DiagramCommand.FitToScreen, ChangeZoomLevelCommand_1.FitToScreenCommand);
|
|
this.createCommand(control, DiagramCommand.FitToWidth, ChangeZoomLevelCommand_1.FitToWidthCommand);
|
|
this.createCommand(control, DiagramCommand.SwitchAutoZoom, ChangeZoomLevelCommand_1.SwitchAutoZoomCommand);
|
|
this.createCommand(control, DiagramCommand.ToggleAutoZoom, ChangeZoomLevelCommand_1.ToggleAutoZoomCommand);
|
|
this.createCommand(control, DiagramCommand.ZoomLevelItems, ChangeZoomLevelCommand_1.ChangeZoomLevelItemsCommand);
|
|
this.createCommand(control, DiagramCommand.GridSizeItems, ChangeGridSizeCommand_1.ChangeGridSizeItemsCommand);
|
|
this.createCommand(control, DiagramCommand.PageSizeItems, ChangePageSizeCommand_1.ChangePageSizeItemsCommand);
|
|
}
|
|
CommandManager.prototype.getCommand = function (key) {
|
|
return this.commands[key];
|
|
};
|
|
CommandManager.prototype.beforeExecuting = function (command) {
|
|
this.executingCommandsChain.push(command);
|
|
this.executingCommandCounter++;
|
|
};
|
|
CommandManager.prototype.afterExecuting = function () {
|
|
this.executingCommandCounter--;
|
|
if (this.executingCommandCounter === 0) {
|
|
this.lastCommandsChain = this.executingCommandsChain;
|
|
this.executingCommandsChain = [];
|
|
}
|
|
};
|
|
CommandManager.prototype.assertLastExecutedCommandsChain = function (checkLength) {
|
|
var types = [];
|
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
types[_i - 1] = arguments[_i];
|
|
}
|
|
if (checkLength && this.lastCommandsChain.length !== types.length)
|
|
return false;
|
|
for (var i = 0, type; type = types[i]; i++) {
|
|
if (!this.lastCommandsChain[i] || !(this.lastCommandsChain[i] instanceof type))
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
CommandManager.prototype.processShortcut = function (code) {
|
|
var command = this.shortcutsToCommand[code];
|
|
if (command)
|
|
return command.execute();
|
|
return false;
|
|
};
|
|
CommandManager.prototype.processPaste = function (clipboardData) {
|
|
var command = this.getCommand(DiagramCommand.Paste);
|
|
if (command && command.isEnabled())
|
|
command.performPaste(clipboardData);
|
|
return true;
|
|
};
|
|
// ISelectionChangesListener
|
|
CommandManager.prototype.notifySelectionChanged = function (_selection) {
|
|
this.lastCommandsChain = [];
|
|
};
|
|
CommandManager.prototype.notifyScrollPositionChanged = function () { };
|
|
CommandManager.prototype.createCommand = function (control, commandId, commandType) {
|
|
var shortcuts = [];
|
|
for (var _i = 3; _i < arguments.length; _i++) {
|
|
shortcuts[_i - 3] = arguments[_i];
|
|
}
|
|
this.commands[commandId] = new commandType(control);
|
|
for (var i = 0; i < shortcuts.length; i++) {
|
|
var shortcut = shortcuts[i];
|
|
if (typeof shortcut === "number")
|
|
this.shortcutsToCommand[shortcut] = this.commands[commandId];
|
|
}
|
|
};
|
|
return CommandManager;
|
|
}());
|
|
exports.CommandManager = CommandManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 49 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base64_1 = __webpack_require__(86);
|
|
var ImageInfo_1 = __webpack_require__(40);
|
|
var CacheImageInfo = /** @class */ (function () {
|
|
function CacheImageInfo(base64, actualId, imageUrl, referenceInfo, isLoaded) {
|
|
this._base64 = base64 !== undefined ? Base64_1.Base64Utils.normalize(base64) : undefined;
|
|
this.actualId = actualId;
|
|
this._referenceInfo = referenceInfo;
|
|
this._isLoaded = isLoaded !== undefined ? isLoaded : false;
|
|
this.imageUrl = imageUrl;
|
|
}
|
|
Object.defineProperty(CacheImageInfo.prototype, "isLoaded", {
|
|
get: function () { return this._referenceInfo ? this._referenceInfo._isLoaded : this._isLoaded; },
|
|
set: function (val) { this._isLoaded = val; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(CacheImageInfo.prototype, "base64", {
|
|
get: function () { return this._base64; },
|
|
set: function (val) { this._base64 = Base64_1.Base64Utils.normalize(val); },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(CacheImageInfo.prototype, "referenceInfo", {
|
|
get: function () { return this._referenceInfo; },
|
|
set: function (val) {
|
|
this._referenceInfo = val;
|
|
this._base64 = undefined;
|
|
this._isLoaded = undefined;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return CacheImageInfo;
|
|
}());
|
|
exports.CacheImageInfo = CacheImageInfo;
|
|
var ImageCache = /** @class */ (function () {
|
|
function ImageCache() {
|
|
this.emptyImageId = 0;
|
|
this.lastActualId = 0;
|
|
this.cache = [];
|
|
var emptyImage = this.createUnloadedInfoByBase64(ImageInfo_1.ImageInfo.transparentOnePixelImage);
|
|
emptyImage.isLoaded = true;
|
|
}
|
|
ImageCache.prototype.reset = function () {
|
|
this.cache.splice(1);
|
|
this.lastActualId = 1;
|
|
};
|
|
Object.defineProperty(ImageCache.prototype, "emptyImage", {
|
|
get: function () { return this.cache[this.emptyImageId]; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ImageCache.prototype.getImageData = function (id) {
|
|
return this.cache[id];
|
|
};
|
|
ImageCache.prototype.createUnloadedInfoByUrl = function (imageUrl) {
|
|
var info = this.findInfoByUrl(imageUrl);
|
|
if (info)
|
|
return info;
|
|
return this.registerImageData(new CacheImageInfo(undefined, this.getNextActualId(), imageUrl));
|
|
};
|
|
ImageCache.prototype.createUnloadedInfoByBase64 = function (base64) {
|
|
var info = this.findInfoByBase64(base64);
|
|
if (info)
|
|
return info;
|
|
return this.registerImageData(new CacheImageInfo(base64, this.getNextActualId()));
|
|
};
|
|
ImageCache.prototype.createUnloadedInfoByShapeImageInfo = function (imageInfo) {
|
|
var data = imageInfo.exportUrl;
|
|
return Base64_1.Base64Utils.checkPrependDataUrl(data) ?
|
|
this.createUnloadedInfoByBase64(data) :
|
|
this.createUnloadedInfoByUrl(data);
|
|
};
|
|
ImageCache.prototype.registerImageData = function (data) {
|
|
var existingData = this.cache[data.actualId];
|
|
if (!existingData)
|
|
existingData = data;
|
|
if (data.actualId !== undefined)
|
|
this.cache[data.actualId] = existingData;
|
|
return existingData;
|
|
};
|
|
ImageCache.prototype.loadAllImages = function (loader) {
|
|
var _this = this;
|
|
this.cache.forEach(function (cacheInfo) {
|
|
if (_this.emptyImageId != cacheInfo.actualId && !cacheInfo.isLoaded)
|
|
loader.load(cacheInfo);
|
|
});
|
|
};
|
|
ImageCache.prototype.finalizeLoading = function (existingInfo, loadedInfo) {
|
|
existingInfo.isLoaded = true;
|
|
if (existingInfo.referenceInfo)
|
|
return;
|
|
if (loadedInfo.base64) {
|
|
var base64_1 = Base64_1.Base64Utils.normalize(loadedInfo.base64);
|
|
this.cache.forEach(function (cacheElem) {
|
|
var isReference = cacheElem.base64 == base64_1 && cacheElem !== existingInfo && cacheElem.isLoaded;
|
|
if (isReference)
|
|
existingInfo.referenceInfo = cacheElem.referenceInfo ? cacheElem.referenceInfo : cacheElem;
|
|
return isReference;
|
|
});
|
|
existingInfo.base64 = base64_1;
|
|
}
|
|
};
|
|
ImageCache.prototype.getNextActualId = function () {
|
|
return this.lastActualId++;
|
|
};
|
|
ImageCache.prototype.findInfoByBase64 = function (base64) {
|
|
base64 = Base64_1.Base64Utils.normalize(base64);
|
|
return this.findInfoCore(function (cacheImageInfo) { return cacheImageInfo.base64 === base64; });
|
|
};
|
|
ImageCache.prototype.findInfoByUrl = function (imageUrl) {
|
|
return this.findInfoCore(function (cacheImageInfo) { return cacheImageInfo.imageUrl === imageUrl; });
|
|
};
|
|
ImageCache.prototype.findInfoCore = function (callback) {
|
|
var cacheInfo;
|
|
this.cache.forEach(function (item) {
|
|
if (callback(item))
|
|
cacheInfo = item;
|
|
});
|
|
return cacheInfo;
|
|
};
|
|
ImageCache.instance = new ImageCache();
|
|
return ImageCache;
|
|
}());
|
|
exports.ImageCache = ImageCache;
|
|
|
|
|
|
/***/ }),
|
|
/* 50 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var MoveConnectorPointHistoryItem = /** @class */ (function (_super) {
|
|
__extends(MoveConnectorPointHistoryItem, _super);
|
|
function MoveConnectorPointHistoryItem(connectorKey, pointIndex, point) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connectorKey;
|
|
_this.pointIndex = pointIndex;
|
|
_this.point = point;
|
|
return _this;
|
|
}
|
|
MoveConnectorPointHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.oldPoint = connector.points[this.pointIndex].clone();
|
|
manipulator.moveConnectorPoint(connector, this.pointIndex, this.point);
|
|
};
|
|
MoveConnectorPointHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.moveConnectorPoint(connector, this.pointIndex, this.oldPoint);
|
|
};
|
|
return MoveConnectorPointHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.MoveConnectorPointHistoryItem = MoveConnectorPointHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 51 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var AddShapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(AddShapeHistoryItem, _super);
|
|
function AddShapeHistoryItem(shapeType, position, text, dataKey) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeType = shapeType;
|
|
_this.position = position;
|
|
_this.text = text;
|
|
_this.dataKey = dataKey;
|
|
return _this;
|
|
}
|
|
AddShapeHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = new Shape_1.Shape(ShapeDescriptionManager_1.ShapeDescriptionManager.get(this.shapeType), this.position);
|
|
if (typeof this.text === "string")
|
|
shape.text = this.text;
|
|
if (this.dataKey !== undefined)
|
|
shape.dataKey = this.dataKey;
|
|
manipulator.addShape(shape, this.shapeKey);
|
|
this.shapeKey = shape.key;
|
|
};
|
|
AddShapeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.deleteShape(manipulator.model.findShape(this.shapeKey));
|
|
};
|
|
return AddShapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.AddShapeHistoryItem = AddShapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 52 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var AddConnectorHistoryItem = /** @class */ (function (_super) {
|
|
__extends(AddConnectorHistoryItem, _super);
|
|
function AddConnectorHistoryItem(points, dataKey) {
|
|
var _this = _super.call(this) || this;
|
|
_this.points = points;
|
|
_this.dataKey = dataKey;
|
|
return _this;
|
|
}
|
|
AddConnectorHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = new Connector_1.Connector(this.points);
|
|
if (this.dataKey !== undefined)
|
|
connector.dataKey = this.dataKey;
|
|
manipulator.addConnector(connector, this.connectorKey);
|
|
this.connectorKey = connector.key;
|
|
};
|
|
AddConnectorHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.deleteConnector(connector);
|
|
};
|
|
return AddConnectorHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.AddConnectorHistoryItem = AddConnectorHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 53 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Structures_1 = __webpack_require__(31);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ListUtils_1 = __webpack_require__(70);
|
|
var GraphBase = /** @class */ (function () {
|
|
function GraphBase(nodes, edges) {
|
|
this.nodeMap = {};
|
|
this.edgeMap = {};
|
|
this.nodes = [];
|
|
this.edges = [];
|
|
this.onInit();
|
|
nodes.forEach(this.addNode.bind(this));
|
|
edges.forEach(this.addEdge.bind(this));
|
|
}
|
|
Object.defineProperty(GraphBase.prototype, "items", {
|
|
get: function () {
|
|
return this.nodes.map(this.getNode.bind(this));
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
GraphBase.prototype.onInit = function () { };
|
|
GraphBase.prototype.addEdge = function (edge) {
|
|
this.edgeMap[edge.key] = edge;
|
|
this.edges.push(edge);
|
|
};
|
|
GraphBase.prototype.addNode = function (node) {
|
|
this.nodeMap[node.key] = node;
|
|
this.nodes.push(node.key);
|
|
};
|
|
GraphBase.prototype.getNode = function (key) {
|
|
return this.nodeMap[key];
|
|
};
|
|
GraphBase.prototype.getEdge = function (key) {
|
|
return this.edgeMap[key];
|
|
};
|
|
GraphBase.prototype.isEmpty = function () {
|
|
return !this.nodes.length && !this.edges.length;
|
|
};
|
|
GraphBase.prototype.getAdjacentEdges = function (nodeKey, connectionMode) {
|
|
if (connectionMode === void 0) { connectionMode = Structures_1.ConnectionMode.OutgoingAndIncoming; }
|
|
return this.edges.filter(function (e) {
|
|
return connectionMode & Structures_1.ConnectionMode.Incoming && e.to === nodeKey ||
|
|
connectionMode & Structures_1.ConnectionMode.Outgoing && e.from === nodeKey;
|
|
});
|
|
};
|
|
return GraphBase;
|
|
}());
|
|
var Graph = /** @class */ (function (_super) {
|
|
__extends(Graph, _super);
|
|
function Graph() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
Graph.prototype.cast = function (castNode, castEdge) {
|
|
var _this = this;
|
|
var newNodes = this.nodes.map(function (nk) { return castNode(_this.getNode(nk)); });
|
|
var newEdges = this.edges.map(function (e) { return castEdge ? castEdge(e) : e; });
|
|
return new Graph(newNodes, newEdges);
|
|
};
|
|
Graph.prototype.getConnectedComponents = function () {
|
|
var iterator = this.createIterator(Structures_1.ConnectionMode.OutgoingAndIncoming);
|
|
iterator.visitEachEdgeOnce = true;
|
|
var components = [];
|
|
var _loop_1 = function (i) {
|
|
var nodes = [];
|
|
var edges = [];
|
|
iterator.onNode = function (n) { return nodes.push(n); };
|
|
iterator.onEdge = function (e) { return edges.push(e); };
|
|
iterator.iterate(this_1.nodes[i]);
|
|
if (nodes.length)
|
|
components.push(new Graph(nodes, edges));
|
|
};
|
|
var this_1 = this;
|
|
for (var i = 0; i < this.nodes.length; i++) {
|
|
_loop_1(i);
|
|
}
|
|
return components;
|
|
};
|
|
Graph.prototype.createIterator = function (connectionMode) {
|
|
var iterator = new GraphIterator(this, connectionMode);
|
|
iterator.comparer = function (a, b) { return a.weight - b.weight; };
|
|
return iterator;
|
|
};
|
|
Graph.prototype.getSpanningGraph = function (rootKey, connectionMode, edgeWeightFunc) {
|
|
var _this = this;
|
|
if (edgeWeightFunc === void 0) { edgeWeightFunc = undefined; }
|
|
if (!this.nodes.length)
|
|
return new Graph([], []);
|
|
if (!edgeWeightFunc)
|
|
edgeWeightFunc = function (e) { return e.weight; };
|
|
var sortedAdjacentEdges = [];
|
|
var spanningTreeNodesSet = new ListUtils_1.HashSet();
|
|
var spanningTreeEdgesSet = new ListUtils_1.HashSet([], function (e) { return e.getHashKey(); });
|
|
this.addNodeToSpanningGraph(rootKey, connectionMode, sortedAdjacentEdges, spanningTreeNodesSet, spanningTreeEdgesSet, edgeWeightFunc);
|
|
while (sortedAdjacentEdges.length && spanningTreeNodesSet.length !== this.nodes.length) {
|
|
var minWeighedEdge = sortedAdjacentEdges.shift();
|
|
spanningTreeEdgesSet.tryPush(minWeighedEdge);
|
|
var node = spanningTreeNodesSet.contains(minWeighedEdge.from) ? minWeighedEdge.to : minWeighedEdge.from;
|
|
this.addNodeToSpanningGraph(node, connectionMode, sortedAdjacentEdges, spanningTreeNodesSet, spanningTreeEdgesSet, edgeWeightFunc);
|
|
sortedAdjacentEdges = sortedAdjacentEdges.filter(function (e) { return !spanningTreeNodesSet.contains(e.from) || !spanningTreeNodesSet.contains(e.to); });
|
|
}
|
|
return new Graph(spanningTreeNodesSet.list().map(function (nk) { return _this.getNode(nk); }), spanningTreeEdgesSet.list());
|
|
};
|
|
Graph.prototype.addNodeToSpanningGraph = function (nodeKey, connectionMode, adjacentEdges, spanningTreeNodesSet, spanningTreeEdgesSet, edgeWeightFunc) {
|
|
spanningTreeNodesSet.tryPush(nodeKey);
|
|
this.getAdjacentEdges(nodeKey, connectionMode)
|
|
.filter(function (e) { return !spanningTreeEdgesSet.contains(e); })
|
|
.forEach(function (e) {
|
|
var weight = edgeWeightFunc(e);
|
|
var pos = Utils_1.Utils.binaryIndexOf(adjacentEdges, function (a) { return a.weight - weight; });
|
|
pos = pos < 0 ? ~pos : pos;
|
|
while (pos < adjacentEdges.length && edgeWeightFunc(adjacentEdges[pos]) === weight)
|
|
pos++;
|
|
adjacentEdges.splice(pos, 0, new Structures_1.Edge(e.key, e.from, e.to, weight));
|
|
});
|
|
};
|
|
Graph.create = function (shapes, connectors) {
|
|
var nodes = shapes;
|
|
var edges = connectors
|
|
.filter(function (i) { return i.beginItem && i.endItem instanceof Shape_1.Shape && i.endItem && i.endItem instanceof Shape_1.Shape && i.beginItem !== i.endItem; }) // TBD: ShapeItem?
|
|
.map(function (i) { return new Structures_1.Edge(i.key, i.beginItem && i.beginItem.key, i.endItem && i.endItem.key); });
|
|
return new Graph(nodes, edges);
|
|
};
|
|
return Graph;
|
|
}(GraphBase));
|
|
exports.Graph = Graph;
|
|
var FastGraph = /** @class */ (function (_super) {
|
|
__extends(FastGraph, _super);
|
|
function FastGraph() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
FastGraph.prototype.onInit = function () {
|
|
this.parentToChildren = {};
|
|
this.childToParents = {};
|
|
};
|
|
FastGraph.prototype.addEdge = function (edge) {
|
|
_super.prototype.addEdge.call(this, edge);
|
|
(this.parentToChildren[edge.from] || (this.parentToChildren[edge.from] = [])).push(edge.to);
|
|
(this.childToParents[edge.to] || (this.childToParents[edge.to] = [])).push(edge.from);
|
|
};
|
|
FastGraph.prototype.getChildren = function (parent) {
|
|
return this.parentToChildren[parent] || [];
|
|
};
|
|
FastGraph.prototype.getParents = function (child) {
|
|
return this.childToParents[child] || [];
|
|
};
|
|
FastGraph.prototype.createIterator = function (connectionMode) {
|
|
return new GraphIterator(this, connectionMode);
|
|
};
|
|
return FastGraph;
|
|
}(GraphBase));
|
|
exports.FastGraph = FastGraph;
|
|
var GraphIterator = /** @class */ (function () {
|
|
function GraphIterator(graph, connectionMode) {
|
|
if (connectionMode === void 0) { connectionMode = Structures_1.ConnectionMode.OutgoingAndIncoming; }
|
|
this.graph = graph;
|
|
this.connectionMode = connectionMode;
|
|
this.visitEachEdgeOnce = true;
|
|
this.visitEachNodeOnce = true;
|
|
this.visitedNodes = {};
|
|
this.visitedEdges = {};
|
|
}
|
|
GraphIterator.prototype.iterate = function (nodeKey) {
|
|
if (!this.visitEachNodeOnce && !this.visitEachEdgeOnce && !this.skipNode)
|
|
throw "skipNode or visitEachNodeOnce or visitEachEdgeOnce must be set to avoid SOF";
|
|
this.iterateCore(nodeKey);
|
|
};
|
|
GraphIterator.prototype.iterateCore = function (nodeKey) {
|
|
var _this = this;
|
|
var node = this.graph.getNode(nodeKey);
|
|
if (!node || (this.skipNode && this.skipNode(node)) || (this.visitEachNodeOnce && this.isNodeVisited(nodeKey)))
|
|
return;
|
|
this.visitedNodes[nodeKey] = true;
|
|
this.onNode && this.onNode(node);
|
|
var edges = this.graph.getAdjacentEdges(nodeKey, this.connectionMode);
|
|
if (this.skipEdge)
|
|
edges = edges.filter(function (e) { return !_this.skipEdge(e); });
|
|
if (this.connectionMode & Structures_1.ConnectionMode.Outgoing) {
|
|
var outgoing = edges.filter(function (e) { return e.from === nodeKey; });
|
|
if (this.comparer)
|
|
outgoing.sort(this.comparer);
|
|
outgoing.forEach(function (e) {
|
|
if (_this.visitEachEdgeOnce && _this.visitedEdges[e.key])
|
|
return;
|
|
_this.visitedEdges[e.key] = true;
|
|
_this.onEdge && _this.onEdge(e, true);
|
|
_this.iterateCore(e.to);
|
|
_this.onAfterEdge && _this.onAfterEdge(e, true);
|
|
});
|
|
}
|
|
this.onAllEdges && this.onAllEdges(node, true);
|
|
if (this.connectionMode & Structures_1.ConnectionMode.Incoming) {
|
|
var incoming = edges.filter(function (e) { return e.to === nodeKey; });
|
|
if (this.comparer)
|
|
incoming.sort(this.comparer);
|
|
incoming.forEach(function (e) {
|
|
if (_this.visitEachEdgeOnce && _this.visitedEdges[e.key])
|
|
return;
|
|
_this.visitedEdges[e.key] = true;
|
|
_this.onEdge && _this.onEdge(e, false);
|
|
_this.iterateCore(e.from);
|
|
_this.onAfterEdge && _this.onAfterEdge(e, false);
|
|
});
|
|
}
|
|
this.onAllEdges && this.onAllEdges(node, false);
|
|
};
|
|
GraphIterator.prototype.isNodeVisited = function (nodeKey) {
|
|
return !!this.visitedNodes[nodeKey];
|
|
};
|
|
GraphIterator.prototype.isEdgeVisited = function (edgeKey) {
|
|
return !!this.visitedEdges[edgeKey];
|
|
};
|
|
return GraphIterator;
|
|
}());
|
|
exports.GraphIterator = GraphIterator;
|
|
|
|
|
|
/***/ }),
|
|
/* 54 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeConnectorTextHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorTextHistoryItem, _super);
|
|
function ChangeConnectorTextHistoryItem(connector, position, text) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connector.key;
|
|
_this.text = text;
|
|
_this.position = position;
|
|
return _this;
|
|
}
|
|
ChangeConnectorTextHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.oldText = connector.getText(this.position);
|
|
manipulator.changeConnectorText(connector, this.text, this.position);
|
|
};
|
|
ChangeConnectorTextHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.changeConnectorText(connector, this.oldText, this.position);
|
|
};
|
|
return ChangeConnectorTextHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeConnectorTextHistoryItem = ChangeConnectorTextHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 55 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeConnectorPropertyHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorPropertyHistoryItem, _super);
|
|
function ChangeConnectorPropertyHistoryItem(connectorKey, propertyName, value) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connectorKey;
|
|
_this.propertyName = propertyName;
|
|
_this.value = value;
|
|
return _this;
|
|
}
|
|
ChangeConnectorPropertyHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.oldValue = connector.properties[this.propertyName];
|
|
manipulator.changeConnectorProperty(connector, this.propertyName, this.value);
|
|
};
|
|
ChangeConnectorPropertyHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.changeConnectorProperty(connector, this.propertyName, this.oldValue);
|
|
};
|
|
return ChangeConnectorPropertyHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeConnectorPropertyHistoryItem = ChangeConnectorPropertyHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 56 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var NodeInfo = /** @class */ (function () {
|
|
function NodeInfo(key, margin, size, connectionPoints) {
|
|
if (connectionPoints === void 0) { connectionPoints = []; }
|
|
this.key = key;
|
|
this.margin = margin;
|
|
this.size = size;
|
|
this.connectionPoints = connectionPoints;
|
|
}
|
|
return NodeInfo;
|
|
}());
|
|
exports.NodeInfo = NodeInfo;
|
|
var NodeLayout = /** @class */ (function () {
|
|
function NodeLayout(info, position) {
|
|
this.info = info;
|
|
this.position = position;
|
|
}
|
|
Object.defineProperty(NodeLayout.prototype, "key", {
|
|
get: function () { return this.info.key; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(NodeLayout.prototype, "rectangle", {
|
|
get: function () {
|
|
return new Utils_1.Rectangle(this.position, this.info.size);
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return NodeLayout;
|
|
}());
|
|
exports.NodeLayout = NodeLayout;
|
|
var EdgeLayout = /** @class */ (function () {
|
|
function EdgeLayout(key, beginIndex, endIndex) {
|
|
this.key = key;
|
|
this.beginIndex = beginIndex;
|
|
this.endIndex = endIndex;
|
|
}
|
|
return EdgeLayout;
|
|
}());
|
|
exports.EdgeLayout = EdgeLayout;
|
|
var Margin = /** @class */ (function () {
|
|
function Margin(top, right, bottom, left) {
|
|
if (right === void 0) { right = top; }
|
|
if (bottom === void 0) { bottom = top; }
|
|
if (left === void 0) { left = top; }
|
|
this.top = top;
|
|
this.right = right;
|
|
this.bottom = bottom;
|
|
this.left = left;
|
|
}
|
|
Margin.empty = function () {
|
|
return new Margin(0);
|
|
};
|
|
return Margin;
|
|
}());
|
|
exports.Margin = Margin;
|
|
|
|
|
|
/***/ }),
|
|
/* 57 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Exporter = /** @class */ (function () {
|
|
function Exporter() {
|
|
}
|
|
Exporter.prototype.export = function (model) {
|
|
var obj = {
|
|
page: {},
|
|
connectors: [],
|
|
shapes: []
|
|
};
|
|
obj.page = {
|
|
"width": model.size.width,
|
|
"height": model.size.height,
|
|
"pageColor": model.pageColor,
|
|
"pageWidth": model.pageSize.width,
|
|
"pageHeight": model.pageSize.height,
|
|
"pageLandscape": model.pageLandscape,
|
|
"units": model.units
|
|
};
|
|
this.exportItemsCore(model.items, obj);
|
|
return JSON.stringify(obj);
|
|
};
|
|
Exporter.prototype.exportItems = function (items) {
|
|
var obj = {
|
|
connectors: [],
|
|
shapes: []
|
|
};
|
|
this.exportItemsCore(items, obj);
|
|
return JSON.stringify(obj);
|
|
};
|
|
Exporter.prototype.exportItemsCore = function (items, obj) {
|
|
var _this = this;
|
|
items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
obj.shapes.push(_this.exportShape(item));
|
|
}
|
|
else if (item instanceof Connector_1.Connector) {
|
|
var connectorObj = _this.exportConnector(item);
|
|
if (item.beginItem) {
|
|
connectorObj["beginItemKey"] = item.beginItem.key;
|
|
connectorObj["beginConnectionPointIndex"] = item.beginConnectionPointIndex;
|
|
}
|
|
if (item.endItem) {
|
|
connectorObj["endItemKey"] = item.endItem.key;
|
|
connectorObj["endConnectionPointIndex"] = item.endConnectionPointIndex;
|
|
}
|
|
obj.connectors.push(connectorObj);
|
|
}
|
|
});
|
|
};
|
|
Exporter.prototype.exportItem = function (item) {
|
|
return {
|
|
"key": item.key,
|
|
"dataKey": item.dataKey,
|
|
"locked": item.locked,
|
|
"zIndex": item.zIndex
|
|
};
|
|
};
|
|
Exporter.prototype.exportShape = function (shape) {
|
|
var result = this.exportItem(shape);
|
|
result["type"] = shape.description.key;
|
|
result["text"] = shape.text;
|
|
if (!shape.image.isEmpty)
|
|
result["imageUrl"] = shape.image.exportUrl;
|
|
result["x"] = shape.position.x;
|
|
result["y"] = shape.position.y;
|
|
result["width"] = shape.size.width;
|
|
result["height"] = shape.size.height;
|
|
var paramsObj = shape.parameters.toObject();
|
|
if (paramsObj)
|
|
result["parameters"] = paramsObj;
|
|
var styleObj = shape.style.toObject();
|
|
if (styleObj)
|
|
result["style"] = styleObj;
|
|
var styleTextObj = shape.styleText.toObject();
|
|
if (styleTextObj)
|
|
result["styleText"] = styleTextObj;
|
|
if (shape.childKeys.length)
|
|
result["childKeys"] = shape.childKeys.slice();
|
|
if (!shape.expanded)
|
|
result["expanded"] = false;
|
|
if (shape.expandedSize) {
|
|
result["expandedWidth"] = shape.expandedSize.width;
|
|
result["expandedHeight"] = shape.expandedSize.height;
|
|
}
|
|
return result;
|
|
};
|
|
Exporter.prototype.exportConnector = function (connector) {
|
|
var result = this.exportItem(connector);
|
|
result["points"] = connector.points.map(function (p) { return { "x": p.x, "y": p.y }; });
|
|
var textObj = connector.texts.toObject();
|
|
if (textObj)
|
|
result["texts"] = textObj;
|
|
var propsObj = connector.properties.toObject();
|
|
if (propsObj)
|
|
result["properties"] = propsObj;
|
|
var styleObj = connector.style.toObject();
|
|
if (styleObj)
|
|
result["style"] = styleObj;
|
|
var styleTextObj = connector.styleText.toObject();
|
|
if (styleTextObj)
|
|
result["styleText"] = styleTextObj;
|
|
return result;
|
|
};
|
|
// Images
|
|
Exporter.prototype.exportSvg = function (modelSize, pageColor, exportManager, callback) {
|
|
exportManager.exportSvgImage(modelSize, pageColor, callback);
|
|
};
|
|
Exporter.prototype.exportPng = function (modelSize, pageColor, exportManager, callback) {
|
|
exportManager.exportPngImage(modelSize, pageColor, callback);
|
|
};
|
|
Exporter.prototype.exportJpg = function (modelSize, pageColor, exportManager, callback) {
|
|
exportManager.exportJpgImage(modelSize, pageColor, callback);
|
|
};
|
|
return Exporter;
|
|
}());
|
|
exports.Exporter = Exporter;
|
|
|
|
|
|
/***/ }),
|
|
/* 58 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var StylePropertyCommandBase_1 = __webpack_require__(107);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var Style_1 = __webpack_require__(27);
|
|
var ToggleStyleTextPropertyCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleStyleTextPropertyCommand, _super);
|
|
function ToggleStyleTextPropertyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleStyleTextPropertyCommand.prototype.getValue = function () {
|
|
var value = this.control.selection.inputPosition.getStyleTextPropertyValue(this.getStyleProperty());
|
|
return value === this.getStylePropertyValue();
|
|
};
|
|
ToggleStyleTextPropertyCommand.prototype.executeCore = function (state) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var styleProperty = this.getStyleProperty();
|
|
var styleValue = state.value ? Style_1.StyleText.defaultInstace[styleProperty] : this.getStylePropertyValue();
|
|
var items = this.control.selection.getSelectedItems();
|
|
items.forEach(function (item) {
|
|
_this.control.history.addAndRedo(new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(item.key, styleProperty, styleValue));
|
|
});
|
|
this.control.selection.inputPosition.setStyleTextPropertyValue(this.getStyleProperty(), styleValue);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
ToggleStyleTextPropertyCommand.prototype.getStyleObj = function (item) {
|
|
return item.styleText;
|
|
};
|
|
ToggleStyleTextPropertyCommand.prototype.getDefaultStyleObj = function () {
|
|
return new Style_1.StyleText();
|
|
};
|
|
return ToggleStyleTextPropertyCommand;
|
|
}(StylePropertyCommandBase_1.StylePropertyCommandBase));
|
|
exports.ToggleStyleTextPropertyCommand = ToggleStyleTextPropertyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 59 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var AutoLayoutCommandBase = /** @class */ (function (_super) {
|
|
__extends(AutoLayoutCommandBase, _super);
|
|
function AutoLayoutCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
AutoLayoutCommandBase.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty();
|
|
};
|
|
AutoLayoutCommandBase.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var shapes = this.control.selection.getSelectedShapes(false, true);
|
|
var connectors = this.control.selection.getSelectedConnectors(false, true);
|
|
var graphInfo = ModelUtils_1.ModelUtils.getGraphInfoByItems(this.control.model, shapes, connectors);
|
|
var settings = this.createLayoutSettings();
|
|
graphInfo.forEach(function (info) {
|
|
var layout = _this.createLayout(settings, info.graph);
|
|
var nonGraphItems = ModelUtils_1.ModelUtils.getNonGraphItems(_this.control.model, info.container, layout.nodeToLayout, shapes, connectors);
|
|
ModelUtils_1.ModelUtils.applyLayout(_this.control.history, _this.control.model, info.container, info.graph, layout, nonGraphItems, settings, _this.control.settings.snapToGrid, _this.control.settings.gridSize);
|
|
});
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.control.history, this.control.model);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
return AutoLayoutCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.AutoLayoutCommandBase = AutoLayoutCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 60 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangePagePropertyCommand = /** @class */ (function (_super) {
|
|
__extends(ChangePagePropertyCommand, _super);
|
|
function ChangePagePropertyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangePagePropertyCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var items = this.createHistoryItems(parameter);
|
|
items.forEach(function (item) { _this.control.history.addAndRedo(item); });
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.control.history, this.control.model);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
ChangePagePropertyCommand.prototype.getItems = function () {
|
|
return null;
|
|
};
|
|
return ChangePagePropertyCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangePagePropertyCommand = ChangePagePropertyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 61 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var BaseBuilder_1 = __webpack_require__(112);
|
|
var Graph_1 = __webpack_require__(53);
|
|
var NodeLayout_1 = __webpack_require__(56);
|
|
var Structures_1 = __webpack_require__(31);
|
|
var ListUtils_1 = __webpack_require__(70);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var GraphLayout_1 = __webpack_require__(111);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var CycleRemover_1 = __webpack_require__(234);
|
|
var SugiyamaLayoutBuilder = /** @class */ (function (_super) {
|
|
__extends(SugiyamaLayoutBuilder, _super);
|
|
function SugiyamaLayoutBuilder() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
SugiyamaLayoutBuilder.prototype.build = function () {
|
|
var _this = this;
|
|
var offset = 0;
|
|
var layout = new GraphLayout_1.GraphLayout();
|
|
var nodeOrderer = new SugiyamaNodesOrderer();
|
|
this.graph.getConnectedComponents()
|
|
.forEach(function (component) {
|
|
var acyclicGraphInfo = CycleRemover_1.CycleRemover.removeCycles(component);
|
|
var layers = SugiyamaLayerDistributor.getLayers(acyclicGraphInfo.graph);
|
|
var orderedGraph = nodeOrderer.orderNodes(acyclicGraphInfo.graph, layers);
|
|
var removedEdges = Object.keys(acyclicGraphInfo.removedEdges).map(function (ek) { return component.getEdge(ek); });
|
|
var coordinatedGraph = nodeOrderer.assignAbsCoordinates(orderedGraph);
|
|
var componentLayout = _this.createInfoGraphLayout(coordinatedGraph, acyclicGraphInfo.reversedEdges, removedEdges);
|
|
layout.extend(_this.setComponentOffset(componentLayout, offset));
|
|
offset += _this.getComponentOffset(componentLayout);
|
|
});
|
|
return layout;
|
|
};
|
|
// Order Nodes
|
|
SugiyamaLayoutBuilder.prototype.createInfoGraphLayout = function (coordinatedGraph, reversedEdges, removedEdges) {
|
|
var _this = this;
|
|
var currentPosition = new Utils_1.Point(0, 0);
|
|
var items = coordinatedGraph.items;
|
|
var sortedLayers = new ListUtils_1.HashSet(items.map(function (n) { return n.layer; }).sort());
|
|
var absOffsetInfo = this.getAbsOffsetInfo(coordinatedGraph.items);
|
|
var positions = {};
|
|
var totalDepth = 0;
|
|
var leftEdge = Number.MAX_SAFE_INTEGER || Number.MAX_VALUE;
|
|
var rightEdge = Number.MIN_SAFE_INTEGER || Number.MAX_VALUE;
|
|
var _loop_1 = function (i) {
|
|
var layer = sortedLayers.item(i);
|
|
var maxDepthLayer = 0;
|
|
items
|
|
.filter(function (n) { return n.layer === layer; })
|
|
.sort(function (a, b) { return a.position - b.position; })
|
|
.forEach(function (n) {
|
|
var depthNodeSize = _this.getDepthNodeSize(n);
|
|
var directionOffset = _this.chooseDirectionValue(0, depthNodeSize);
|
|
var absPosition = _this.getAbsPosition(n.position, _this.getBreadthNodeSize(n), absOffsetInfo);
|
|
currentPosition = _this.setBreadth(currentPosition, absPosition);
|
|
var nodePosition = _this.setDepthOffset(currentPosition, -directionOffset);
|
|
positions[n.key] = nodePosition;
|
|
if (n.isDummy)
|
|
return;
|
|
var breadth = _this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal ? nodePosition.y : nodePosition.x;
|
|
leftEdge = Math.min(leftEdge, breadth);
|
|
rightEdge = Math.max(rightEdge, breadth + _this.getBreadthNodeSize(n));
|
|
maxDepthLayer = Math.max(maxDepthLayer, _this.getDepthNodeSize(n));
|
|
});
|
|
totalDepth += maxDepthLayer;
|
|
currentPosition = this_1.setBreadth(currentPosition, 0);
|
|
currentPosition = this_1.setDepthOffset(currentPosition, this_1.getDirectionValue(maxDepthLayer + this_1.settings.layerSpacing));
|
|
};
|
|
var this_1 = this;
|
|
for (var i = 0; i < sortedLayers.length; i++) {
|
|
_loop_1(i);
|
|
}
|
|
totalDepth += (sortedLayers.length - 1) * this.settings.layerSpacing;
|
|
var layout = new GraphLayout_1.GraphLayout();
|
|
this.createNodesLayout(coordinatedGraph, layout, leftEdge, totalDepth, positions);
|
|
this.createEdgesLayout(coordinatedGraph, layout, reversedEdges, removedEdges);
|
|
return layout;
|
|
//this.getDummyEdgesRoutes(infoGraph);
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.createNodesLayout = function (infoGraph, layout, leftEdge, totalDepth, positions) {
|
|
var _this = this;
|
|
var offset = this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical ?
|
|
new Utils_1.Point(-leftEdge, this.chooseDirectionValue(0, totalDepth)) :
|
|
new Utils_1.Point(this.chooseDirectionValue(0, totalDepth), -leftEdge);
|
|
infoGraph.items.forEach(function (n) {
|
|
if (!n.isDummy) {
|
|
var node = _this.graph.getNode(n.key);
|
|
layout.addNode(new NodeLayout_1.NodeLayout(node, positions[n.key].offset(offset.x, offset.y)));
|
|
}
|
|
});
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.createEdgesLayout = function (infoGraph, layout, reversedEdges, removedEdges) {
|
|
var DIRECT = this.getDirectEdgeLayout();
|
|
var TOP_TO_BOTTOM = this.getDiffLevelEdgeLayout(true);
|
|
var BOTTOM_TO_TOP = this.getDiffLevelEdgeLayout(false);
|
|
var TOP_TO_TOP = this.getSameLevelEdgeLayout(true);
|
|
var BOTTOM_TO_BOTTOM = this.getSameLevelEdgeLayout(false);
|
|
var occupied = {};
|
|
infoGraph.edges
|
|
.filter(function (e) { return !e.isDummy; })
|
|
.concat(removedEdges.map(function (e) { return new EdgeOnLayer(e.key, false, e.from, e.to); }))
|
|
.sort(function (a, b) {
|
|
return (infoGraph.getNode(a.originFrom).layer - infoGraph.getNode(b.originFrom).layer) ||
|
|
(infoGraph.getNode(a.to).layer - infoGraph.getNode(b.to).layer);
|
|
})
|
|
.forEach(function (e) {
|
|
var isReversed = reversedEdges[e.key];
|
|
var from = infoGraph.getNode(isReversed ? e.to : e.originFrom);
|
|
var to = infoGraph.getNode(isReversed ? e.originFrom : e.to);
|
|
if (to.layer - from.layer === 1)
|
|
layout.addEdge(new NodeLayout_1.EdgeLayout(e.key, DIRECT.from, DIRECT.to));
|
|
else {
|
|
var candidates_1 = [];
|
|
if (to.position - from.position >= 1) {
|
|
candidates_1.push(TOP_TO_BOTTOM);
|
|
candidates_1.push({ from: DIRECT.from, to: TOP_TO_BOTTOM.to });
|
|
candidates_1.push({ from: TOP_TO_BOTTOM.from, to: DIRECT.to });
|
|
}
|
|
else if (to.position - from.position <= -1) {
|
|
candidates_1.push(BOTTOM_TO_TOP);
|
|
candidates_1.push({ from: DIRECT.from, to: BOTTOM_TO_TOP.to });
|
|
candidates_1.push({ from: BOTTOM_TO_TOP.from, to: DIRECT.to });
|
|
}
|
|
else {
|
|
var oneliner = from.position === to.position && to.position === 0 ? [TOP_TO_TOP, BOTTOM_TO_BOTTOM] : [BOTTOM_TO_BOTTOM, TOP_TO_TOP];
|
|
oneliner.forEach(function (c) { return candidates_1.push(c); });
|
|
oneliner.forEach(function (c) {
|
|
candidates_1.push({ from: c.from, to: DIRECT.to });
|
|
candidates_1.push({ from: DIRECT.from, to: c.to });
|
|
});
|
|
}
|
|
candidates_1.push(DIRECT);
|
|
for (var i = 0, candidate = void 0; candidate = candidates_1[i]; i++) {
|
|
var fromKey = from.key + "_" + candidate.from;
|
|
var toKey = to.key + "_" + candidate.to;
|
|
if (occupied[fromKey] !== Connector_1.ConnectorPosition.End && occupied[toKey] !== Connector_1.ConnectorPosition.Begin) {
|
|
layout.addEdge(new NodeLayout_1.EdgeLayout(e.key, candidate.from, candidate.to));
|
|
occupied[fromKey] = Connector_1.ConnectorPosition.Begin;
|
|
occupied[toKey] = Connector_1.ConnectorPosition.End;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getDirectEdgeLayout = function () {
|
|
if (this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal)
|
|
return this.settings.direction === LayoutSettings_1.LogicalDirectionKind.Forward ? { from: 1, to: 3 } : { from: 3, to: 1 };
|
|
return this.settings.direction === LayoutSettings_1.LogicalDirectionKind.Forward ? { from: 2, to: 0 } : { from: 0, to: 2 };
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getDiffLevelEdgeLayout = function (topToBottom) {
|
|
if (this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal)
|
|
return topToBottom ? { from: 2, to: 0 } : { from: 0, to: 2 };
|
|
return topToBottom ? { from: 3, to: 1 } : { from: 1, to: 3 };
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getSameLevelEdgeLayout = function (topToBottom) {
|
|
if (this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal)
|
|
return topToBottom ? { from: 0, to: 0 } : { from: 2, to: 2 };
|
|
return topToBottom ? { from: 3, to: 3 } : { from: 1, to: 1 };
|
|
};
|
|
// private getDummyEdgesRoutes(infoGraph: FastGraph<NodeOnLayer, EdgeOnLayer>): {[nodeKey: string]: NodeOnLayer[]} {
|
|
// let resultRoutes: {[nodeKey: string]: NodeOnLayer[]} = {};
|
|
// let dummyEdgeRoutes: {[edgeHash: string]: NodeOnLayer[]} = {};
|
|
// infoGraph.edges
|
|
// .filter(e => !infoGraph.getNode(e.from).isDummy && infoGraph.getNode(e.to).isDummy)
|
|
// .forEach(rootEdge => {
|
|
// let edgeHash = rootEdge.getHashCode();
|
|
// dummyEdgeRoutes[edgeHash] = [];
|
|
// let iterator = infoGraph.createIterator(ConnectionMode.Outgoing);
|
|
// iterator.visitEachEdgeOnce = false;
|
|
// iterator.onNode = (n) => dummyEdgeRoutes[edgeHash].push(n);
|
|
// iterator.skipNode = (n) => !n.isDummy;
|
|
// iterator.skipEdge = (e) => false;
|
|
// iterator.onEdge = (e, out) => {
|
|
// if(!infoGraph.getNode(e.to).isDummy)
|
|
// resultRoutes[new EdgeOnLayer(e.key, e.isDummy, rootEdge.from, e.to).getHashCode()] = dummyEdgeRoutes[edgeHash];
|
|
// };
|
|
// iterator.iterate(rootEdge.to);
|
|
// });
|
|
// return resultRoutes;
|
|
// }
|
|
SugiyamaLayoutBuilder.prototype.getAbsOffsetInfo = function (nodesInfos) {
|
|
var _this = this;
|
|
var absOffsetMatrix = {};
|
|
var addCell = function (n, intAbsCoord) {
|
|
if (absOffsetMatrix[intAbsCoord] === undefined)
|
|
absOffsetMatrix[intAbsCoord] = _this.getBreadthNodeSize(n);
|
|
absOffsetMatrix[intAbsCoord] = Math.max(absOffsetMatrix[intAbsCoord], _this.getBreadthNodeSize(n));
|
|
};
|
|
nodesInfos.forEach(function (n) {
|
|
var intAbsCoord = trunc(n.position);
|
|
addCell(n, intAbsCoord);
|
|
if (absOffsetMatrix[intAbsCoord] % 1 !== 0)
|
|
addCell(n, intAbsCoord + 1);
|
|
});
|
|
var absOffsetInfo = {};
|
|
var leftOffset = 0;
|
|
Object.keys(absOffsetMatrix).sort().forEach(function (coord) {
|
|
absOffsetInfo[coord] = { leftOffset: leftOffset, width: absOffsetMatrix[coord] };
|
|
leftOffset += absOffsetMatrix[coord] + _this.settings.columnSpacing;
|
|
});
|
|
return absOffsetInfo;
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.setBreadth = function (position, breadthPosition) {
|
|
if (this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical)
|
|
return new Utils_1.Point(breadthPosition, position.y);
|
|
return new Utils_1.Point(position.x, breadthPosition);
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.setDepthOffset = function (position, offset) {
|
|
if (this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal)
|
|
return new Utils_1.Point(position.x + offset, position.y);
|
|
return new Utils_1.Point(position.x, position.y + offset);
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getAbsPosition = function (absCoordinate, itemSize, absoluteOffsetInfo) {
|
|
var intAbsCoord = trunc(absCoordinate);
|
|
var absLeftOffset = absoluteOffsetInfo[intAbsCoord].leftOffset;
|
|
var cellWidth = absoluteOffsetInfo[intAbsCoord].width;
|
|
if (absCoordinate % 1 === 0)
|
|
return absLeftOffset + (cellWidth - itemSize) / 2;
|
|
return absLeftOffset + cellWidth - (itemSize - this.settings.columnSpacing) / 2;
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getBreadthNodeSize = function (node) {
|
|
return node.isDummy ? 0 : this.getBreadthNodeSizeCore(this.graph.getNode(node.key));
|
|
};
|
|
SugiyamaLayoutBuilder.prototype.getDepthNodeSize = function (node) {
|
|
return node.isDummy ? 0 : this.getDepthNodeSizeCore(this.graph.getNode(node.key));
|
|
};
|
|
return SugiyamaLayoutBuilder;
|
|
}(BaseBuilder_1.LayoutBuilder));
|
|
exports.SugiyamaLayoutBuilder = SugiyamaLayoutBuilder;
|
|
var SugiyamaLayerDistributor = /** @class */ (function () {
|
|
function SugiyamaLayerDistributor() {
|
|
}
|
|
SugiyamaLayerDistributor.getLayers = function (acyclicGraph) {
|
|
var feasibleTree = this.getFeasibleTree(acyclicGraph);
|
|
return this.calcNodesLayers(feasibleTree);
|
|
};
|
|
SugiyamaLayerDistributor.getFeasibleTree = function (graph) {
|
|
var layers = this.initLayerAssignment(graph);
|
|
return graph.getSpanningGraph(graph.nodes[0], Structures_1.ConnectionMode.OutgoingAndIncoming, function (e) { return layers[e.to] - layers[e.from]; });
|
|
};
|
|
SugiyamaLayerDistributor.initLayerAssignment = function (graph) {
|
|
var layers = {};
|
|
var currentLayer = 0;
|
|
var actualAssignedNodes = {};
|
|
var assigningNodes = graph.nodes.filter(function (n) { return !graph.getAdjacentEdges(n, Structures_1.ConnectionMode.Incoming).length; });
|
|
var _loop_2 = function () {
|
|
assigningNodes.forEach(function (n) {
|
|
layers[n] = currentLayer;
|
|
actualAssignedNodes[n] = true;
|
|
});
|
|
Object.keys(actualAssignedNodes).forEach(function (n) {
|
|
if (graph.getAdjacentEdges(n, Structures_1.ConnectionMode.Outgoing).filter(function (e) { return layers[e.to] === undefined; }).length === 0)
|
|
delete actualAssignedNodes[n];
|
|
});
|
|
var assigningNodesSet = {};
|
|
Object.keys(actualAssignedNodes).forEach(function (n) {
|
|
graph.getAdjacentEdges(n, Structures_1.ConnectionMode.Outgoing)
|
|
.map(function (e) { return e.to; })
|
|
.filter(function (n) { return layers[n] === undefined && graph.getAdjacentEdges(n, Structures_1.ConnectionMode.Incoming).reduce(function (acc, e) { return acc && layers[e.from] !== undefined; }, true); })
|
|
.forEach(function (n) { return assigningNodesSet[n] = true; });
|
|
});
|
|
assigningNodes = Object.keys(assigningNodesSet);
|
|
currentLayer++;
|
|
};
|
|
while (assigningNodes.length) {
|
|
_loop_2();
|
|
}
|
|
return layers;
|
|
};
|
|
SugiyamaLayerDistributor.calcNodesLayers = function (graph) {
|
|
var layers = {};
|
|
var minLayer = Number.MAX_SAFE_INTEGER || Number.MAX_VALUE;
|
|
var currentLevel = 0;
|
|
var iterator = graph.createIterator(Structures_1.ConnectionMode.OutgoingAndIncoming);
|
|
iterator.visitEachEdgeOnce = false;
|
|
iterator.onNode = function (n) {
|
|
layers[n.key] = currentLevel;
|
|
minLayer = Math.min(minLayer, currentLevel);
|
|
};
|
|
iterator.skipNode = function (n) { return layers[n.key] !== undefined; };
|
|
iterator.skipEdge = function (e) { return layers[e.from] !== undefined && layers[e.to] !== undefined; };
|
|
iterator.onEdge = function (e, out) {
|
|
if (out)
|
|
currentLevel = layers[e.from] + 1;
|
|
else
|
|
currentLevel = layers[e.to] - 1;
|
|
};
|
|
iterator.iterate(graph.nodes[0]);
|
|
for (var key in layers) {
|
|
if (!layers.hasOwnProperty(key))
|
|
continue;
|
|
layers[key] -= minLayer;
|
|
}
|
|
return layers;
|
|
};
|
|
return SugiyamaLayerDistributor;
|
|
}());
|
|
exports.SugiyamaLayerDistributor = SugiyamaLayerDistributor;
|
|
var SugiyamaNodesOrderer = /** @class */ (function () {
|
|
function SugiyamaNodesOrderer() {
|
|
this.idCounter = -10000;
|
|
}
|
|
SugiyamaNodesOrderer.prototype.orderNodes = function (graph, layers) {
|
|
var maxIteration = 14; //magic number - http://www.graphviz.org/Documentation/TSE93.pdf PAGE (14)
|
|
var currentIteration = 1;
|
|
var graphInfo = this.initGraphInfo(graph, layers);
|
|
var nodeInfos = graphInfo.items;
|
|
var orderInfo = this.initOrder(nodeInfos);
|
|
var bestNodesPositions = this.getNodeToPositionMap(nodeInfos);
|
|
var bestCrossCount = this.getCrossCount(orderInfo, graphInfo);
|
|
var isParentToChildren = true;
|
|
while (currentIteration < maxIteration && bestCrossCount != 0) {
|
|
orderInfo = this.getNodesOrder(orderInfo, graphInfo, isParentToChildren);
|
|
var crossCount = this.getCrossCount(orderInfo, graphInfo);
|
|
if (crossCount < bestCrossCount) {
|
|
bestNodesPositions = this.getNodeToPositionMap(graphInfo.items);
|
|
bestCrossCount = crossCount;
|
|
}
|
|
isParentToChildren = !isParentToChildren;
|
|
currentIteration++;
|
|
}
|
|
//transpose() procedure doesn`t implement.
|
|
//http://www.graphviz.org/Documentation/TSE93.pdf PAGE(16)
|
|
graphInfo.items.forEach(function (n) { return n.position = bestNodesPositions[n.key]; });
|
|
return graphInfo;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getNodesOrder = function (current, graph, isParentToChildren) {
|
|
var _this = this;
|
|
var order = {};
|
|
var _loop_3 = function (layer) {
|
|
if (!current.hasOwnProperty(layer))
|
|
return "continue";
|
|
var nodePositions = {};
|
|
current[layer].forEach(function (ni) {
|
|
var adjacentNodesPositions = (isParentToChildren ? graph.getChildren(ni.key) : graph.getParents(ni.key))
|
|
.map(function (nk) { return graph.getNode(nk).position; });
|
|
nodePositions[ni.key] = _this.getNodePosition(adjacentNodesPositions);
|
|
});
|
|
order[layer] = this_2.sortNodes(nodePositions, graph);
|
|
};
|
|
var this_2 = this;
|
|
for (var layer in current) {
|
|
_loop_3(layer);
|
|
}
|
|
return order;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.sortNodes = function (nodePositions, graph) {
|
|
return Object.keys(nodePositions)
|
|
.sort(function (a, b) { return nodePositions[a] - nodePositions[b]; })
|
|
.map(function (nk, index) {
|
|
var node = graph.getNode(nk);
|
|
node.position = index;
|
|
return node;
|
|
});
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getNodePosition = function (adjacentNodesPositions) {
|
|
adjacentNodesPositions = adjacentNodesPositions.sort();
|
|
if (!adjacentNodesPositions.length)
|
|
return 0;
|
|
var medianIndex = Math.floor(adjacentNodesPositions.length / 2);
|
|
if (adjacentNodesPositions.length === 2 || adjacentNodesPositions.length % 2 === 1)
|
|
return adjacentNodesPositions[medianIndex];
|
|
var leftMedianPosition = adjacentNodesPositions[medianIndex - 1] - adjacentNodesPositions[0];
|
|
var rightMedianPosition = adjacentNodesPositions[adjacentNodesPositions.length - 1] - adjacentNodesPositions[medianIndex];
|
|
return Math.floor((adjacentNodesPositions[medianIndex - 1] * rightMedianPosition + adjacentNodesPositions[medianIndex] * leftMedianPosition) /
|
|
(leftMedianPosition + rightMedianPosition));
|
|
};
|
|
SugiyamaNodesOrderer.prototype.initOrder = function (nodeInfos) {
|
|
var result = {};
|
|
nodeInfos.forEach(function (ni) { return (result[ni.layer] || (result[ni.layer] = [])).push(ni); });
|
|
return result;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getCrossCount = function (orderInfo, graph) {
|
|
var count = 0;
|
|
var _loop_4 = function (layer) {
|
|
if (!orderInfo.hasOwnProperty(layer))
|
|
return "continue";
|
|
var viewedAdjacentNodesPositions = [];
|
|
orderInfo[layer].forEach(function (n) {
|
|
var positions = graph.getChildren(n.key).map(function (c) { return graph.getNode(c).position; });
|
|
positions.forEach(function (p) {
|
|
count += viewedAdjacentNodesPositions.filter(function (vp) { return p < vp; }).length;
|
|
});
|
|
viewedAdjacentNodesPositions.push.apply(viewedAdjacentNodesPositions, positions);
|
|
});
|
|
};
|
|
for (var layer in orderInfo) {
|
|
_loop_4(layer);
|
|
}
|
|
return count;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.initGraphInfo = function (graph, layers) {
|
|
var _this = this;
|
|
var countNodesOnLayer = {};
|
|
var nodesInfoMap = {};
|
|
var nodeInfos = [];
|
|
var edgeInfos = [];
|
|
graph.nodes.forEach(function (n) {
|
|
var layer = layers[n];
|
|
if (countNodesOnLayer[layer] === undefined)
|
|
countNodesOnLayer[layer] = 0;
|
|
var info = new NodeOnLayer(n, false, layer, countNodesOnLayer[layer]++);
|
|
nodesInfoMap[n] = info;
|
|
nodeInfos.push(info);
|
|
});
|
|
graph.edges.forEach(function (e) {
|
|
var span = layers[e.to] - layers[e.from];
|
|
if (span > 1) {
|
|
var prevNodeInfo = nodesInfoMap[e.from];
|
|
for (var delta = 1; delta < span; delta++) {
|
|
var dNodeInfo = new NodeOnLayer(_this.createDummyID(), true, layers[e.from] + delta, countNodesOnLayer[layers[e.from] + delta]++);
|
|
edgeInfos.push(new EdgeOnLayer(_this.createDummyID(), true, prevNodeInfo.key, dNodeInfo.key));
|
|
nodeInfos.push(dNodeInfo);
|
|
prevNodeInfo = dNodeInfo;
|
|
}
|
|
edgeInfos.push(new EdgeOnLayer(e.key, false, prevNodeInfo.key, nodesInfoMap[e.to].key, nodesInfoMap[e.from].key));
|
|
}
|
|
else
|
|
edgeInfos.push(new EdgeOnLayer(e.key, false, nodesInfoMap[e.from].key, nodesInfoMap[e.to].key));
|
|
});
|
|
return new Graph_1.FastGraph(nodeInfos, edgeInfos);
|
|
};
|
|
SugiyamaNodesOrderer.prototype.createDummyID = function () {
|
|
return "dummy_" + --this.idCounter;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getNodeToPositionMap = function (nodeInfos) {
|
|
return nodeInfos.reduce(function (acc, ni) {
|
|
acc[ni.key] = ni.position;
|
|
return acc;
|
|
}, {});
|
|
};
|
|
// absolute positioning
|
|
SugiyamaNodesOrderer.prototype.assignAbsCoordinates = function (graph) {
|
|
var absCoordinates = this.getAbsCoodinate(graph);
|
|
return new Graph_1.FastGraph(graph.items.map(function (n) { return new NodeOnLayer(n.key, n.isDummy, n.layer, absCoordinates[n.key]); }), graph.edges.slice(0));
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getAbsCoodinate = function (graph) {
|
|
var _this = this;
|
|
var orderInfo = graph.items.reduce(function (acc, n) {
|
|
acc[n.layer] = acc[n.layer] || [];
|
|
var pos = Utils_1.Utils.binaryIndexOf(acc[n.layer], function (ni) { return ni.position - n.position; });
|
|
acc[n.layer].splice(pos < 0 ? ~pos : pos, 0, n);
|
|
return acc;
|
|
}, {});
|
|
var medianPositions = [MedianAlignmentMode.TopLeft, MedianAlignmentMode.TopRight, MedianAlignmentMode.BottomLeft, MedianAlignmentMode.BottomRight]
|
|
.map(function (alignment) { return _this.getPositionByMedian(graph, alignment, orderInfo); });
|
|
var nodeToPosition = {};
|
|
graph.items.forEach(function (n) {
|
|
var posList = medianPositions.map(function (positions) { return positions[n.key]; }).sort();
|
|
nodeToPosition[n.key] = (posList[1] + posList[2]) / 2;
|
|
});
|
|
return nodeToPosition;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getPositionByMedian = function (graph, alignment, orderInfo) {
|
|
var nodeInfos = graph.items;
|
|
var positions = this.getNodeToPositionMap(nodeInfos);
|
|
var medians = this.getMedians(graph, nodeInfos, alignment);
|
|
medians = this.resolveMedianConflicts(graph, orderInfo, medians, alignment);
|
|
this.getSortedBlocks(graph, nodeInfos, medians, alignment)
|
|
.forEach(function (block) {
|
|
var maxPos = block.reduce(function (acc, n) { return positions[n.key] > acc ? positions[n.key] : acc; }, -2);
|
|
block.forEach(function (n) {
|
|
var delta = maxPos - positions[n.key];
|
|
if (delta > 0) {
|
|
orderInfo[n.layer]
|
|
.filter(function (ln) { return ln.position > n.position; })
|
|
.forEach(function (ln) { return positions[ln.key] += delta; });
|
|
}
|
|
positions[n.key] = maxPos;
|
|
});
|
|
});
|
|
return positions;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getSortedBlocks = function (graph, nodeInfos, medians, alignment) {
|
|
var blocks = [];
|
|
var isBottom = alignment === MedianAlignmentMode.BottomLeft || alignment === MedianAlignmentMode.BottomRight;
|
|
var allNodesInfo = new ListUtils_1.HashSet(nodeInfos.slice(0).sort(function (a, b) { return isBottom ? (a.layer - b.layer) : (b.layer - a.layer); }), function (n) { return n.key; });
|
|
while (allNodesInfo.length) {
|
|
var firstNode = allNodesInfo.item(0);
|
|
var block = this.getBlock(graph, firstNode, medians, alignment);
|
|
blocks.push(block);
|
|
block.forEach(function (n) { return allNodesInfo.remove(n); });
|
|
}
|
|
blocks.sort(function (x, y) {
|
|
var xMinNodeInfo = x.reduce(function (min, n) { return n.position < min.position ? n : min; }, x[0]);
|
|
var yOnMinXLayer = y.filter(function (n) { return n.layer == xMinNodeInfo.layer; })[0];
|
|
if (yOnMinXLayer)
|
|
return xMinNodeInfo.position - yOnMinXLayer.position;
|
|
var yMinNodeInfo = y.reduce(function (min, n) { return n.position < min.position ? n : min; }, y[0]);
|
|
var xOnMinXLayer = x.filter(function (n) { return n.layer == yMinNodeInfo.layer; })[0];
|
|
if (xOnMinXLayer)
|
|
return xOnMinXLayer.position - yMinNodeInfo.position;
|
|
return xMinNodeInfo.layer - yMinNodeInfo.layer;
|
|
});
|
|
return blocks;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getBlock = function (graph, root, medians, alignment) {
|
|
var block = [];
|
|
var median = null;
|
|
do {
|
|
if (median)
|
|
root = alignment === MedianAlignmentMode.TopLeft || alignment === MedianAlignmentMode.TopRight ? graph.getNode(median.from) : graph.getNode(median.to);
|
|
block.push(root);
|
|
median = medians[root.key];
|
|
} while (median);
|
|
return block;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.resolveMedianConflicts = function (graph, layers, medians, alignment) {
|
|
var _this = this;
|
|
var filteredMedians = {};
|
|
var _loop_5 = function (layer) {
|
|
var minPos = undefined, maxPos = undefined;
|
|
if (!layers.hasOwnProperty(layer))
|
|
return "continue";
|
|
var nodeInfos = layers[layer];
|
|
if (alignment === MedianAlignmentMode.TopRight || alignment === MedianAlignmentMode.BottomRight)
|
|
nodeInfos = nodeInfos.slice(0).sort(function (a, b) { return b.position - a.position; }); // sorted descending
|
|
nodeInfos.forEach(function (n) {
|
|
var median = medians[n.key];
|
|
if (!median)
|
|
filteredMedians[n.key] = null;
|
|
else {
|
|
var medianItemKey = alignment === MedianAlignmentMode.TopLeft || alignment === MedianAlignmentMode.TopRight ? median.from : median.to;
|
|
var medianPosition = graph.getNode(medianItemKey).position;
|
|
if (_this.checkMedianConfict(minPos, maxPos, medianPosition, alignment))
|
|
filteredMedians[n.key] = null;
|
|
else {
|
|
minPos = minPos === undefined ? medianPosition : Math.min(minPos, medianPosition);
|
|
maxPos = maxPos === undefined ? medianPosition : Math.max(maxPos, medianPosition);
|
|
filteredMedians[n.key] = median;
|
|
}
|
|
}
|
|
});
|
|
};
|
|
for (var layer in layers) {
|
|
_loop_5(layer);
|
|
}
|
|
return filteredMedians;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.checkMedianConfict = function (min, max, medianPosition, alignment) {
|
|
if (min === undefined || max === undefined)
|
|
return false;
|
|
if (alignment === MedianAlignmentMode.TopLeft || alignment === MedianAlignmentMode.BottomLeft)
|
|
return max >= medianPosition;
|
|
return min <= medianPosition;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getMedians = function (graph, nodeInfos, alignment) {
|
|
var _this = this;
|
|
var medians = {};
|
|
nodeInfos.forEach(function (n) {
|
|
var actualAdjacentEdges = _this.getActualAdjacentEdges(graph, n, alignment);
|
|
var medianPosition = _this.getMedianPosition(actualAdjacentEdges.length, alignment);
|
|
medians[n.key] = actualAdjacentEdges[medianPosition];
|
|
});
|
|
return medians;
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getMedianPosition = function (length, alignment) {
|
|
if (length === 0)
|
|
return -1;
|
|
if (length % 2 !== 0)
|
|
return Math.floor(length / 2);
|
|
if (alignment === MedianAlignmentMode.TopLeft || alignment === MedianAlignmentMode.BottomLeft)
|
|
return Math.floor(length / 2) - 1;
|
|
if (alignment === MedianAlignmentMode.TopRight || alignment === MedianAlignmentMode.BottomRight)
|
|
return Math.floor(length / 2);
|
|
throw new Error("Invalid Operation");
|
|
};
|
|
SugiyamaNodesOrderer.prototype.getActualAdjacentEdges = function (graph, node, alignment) {
|
|
if (alignment === MedianAlignmentMode.TopLeft || alignment === MedianAlignmentMode.TopRight)
|
|
return graph.getAdjacentEdges(node.key, Structures_1.ConnectionMode.Incoming).sort(function (a, b) { return graph.getNode(a.from).position - graph.getNode(b.from).position; });
|
|
return graph.getAdjacentEdges(node.key, Structures_1.ConnectionMode.Outgoing).sort(function (a, b) { return graph.getNode(a.to).position - graph.getNode(b.to).position; });
|
|
};
|
|
return SugiyamaNodesOrderer;
|
|
}());
|
|
exports.SugiyamaNodesOrderer = SugiyamaNodesOrderer;
|
|
var NodeOnLayer = /** @class */ (function () {
|
|
function NodeOnLayer(key, isDummy, layer, position) {
|
|
this.key = key;
|
|
this.isDummy = isDummy;
|
|
this.layer = layer;
|
|
this.position = position;
|
|
}
|
|
NodeOnLayer.prototype.getHashCode = function () {
|
|
return this.key.toString();
|
|
};
|
|
return NodeOnLayer;
|
|
}());
|
|
exports.NodeOnLayer = NodeOnLayer;
|
|
var EdgeOnLayer = /** @class */ (function () {
|
|
function EdgeOnLayer(key, isDummy, from, to, originFrom) {
|
|
this.key = key;
|
|
this.isDummy = isDummy;
|
|
this.from = from;
|
|
this.to = to;
|
|
this._originFrom = originFrom;
|
|
}
|
|
EdgeOnLayer.prototype.getHashCode = function () {
|
|
return this.from + "-" + this.to;
|
|
};
|
|
Object.defineProperty(EdgeOnLayer.prototype, "originFrom", {
|
|
get: function () {
|
|
return this._originFrom !== undefined ? this._originFrom : this.from;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return EdgeOnLayer;
|
|
}());
|
|
exports.EdgeOnLayer = EdgeOnLayer;
|
|
var MedianAlignmentMode;
|
|
(function (MedianAlignmentMode) {
|
|
MedianAlignmentMode[MedianAlignmentMode["TopLeft"] = 0] = "TopLeft";
|
|
MedianAlignmentMode[MedianAlignmentMode["TopRight"] = 1] = "TopRight";
|
|
MedianAlignmentMode[MedianAlignmentMode["BottomLeft"] = 2] = "BottomLeft";
|
|
MedianAlignmentMode[MedianAlignmentMode["BottomRight"] = 3] = "BottomRight";
|
|
})(MedianAlignmentMode || (MedianAlignmentMode = {}));
|
|
function trunc(val) {
|
|
if (Math.trunc)
|
|
return Math.trunc(val);
|
|
if (!isFinite(val))
|
|
return val;
|
|
return (val - val % 1) || (val < 0 ? -0 : val === 0 ? val : 0);
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 62 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Browser_1 = __webpack_require__(23);
|
|
var Base_1 = __webpack_require__(17);
|
|
var TouchUIHelper = /** @class */ (function () {
|
|
function TouchUIHelper() {
|
|
}
|
|
TouchUIHelper.onEventAttachingToDocument = function (eventName, func) {
|
|
if (Browser_1.Browser.MacOSMobilePlatform && TouchUIHelper.isTouchEventName(eventName)) {
|
|
if (!TouchUIHelper.documentTouchHandlers[eventName])
|
|
TouchUIHelper.documentTouchHandlers[eventName] = [];
|
|
TouchUIHelper.documentTouchHandlers[eventName].push(func);
|
|
return TouchUIHelper.documentEventAttachingAllowed;
|
|
}
|
|
return true;
|
|
};
|
|
TouchUIHelper.isTouchEventName = function (eventName) {
|
|
return Browser_1.Browser.WebKitTouchUI && (eventName.indexOf("touch") > -1 || eventName.indexOf("gesture") > -1);
|
|
};
|
|
TouchUIHelper.isTouchEvent = function (evt) {
|
|
if (!evt)
|
|
return false;
|
|
return Browser_1.Browser.WebKitTouchUI && Base_1.IsExists(evt.changedTouches);
|
|
};
|
|
TouchUIHelper.getEventX = function (evt) {
|
|
return Browser_1.Browser.IE ? evt.pageX : evt.changedTouches[0].pageX;
|
|
};
|
|
TouchUIHelper.getEventY = function (evt) {
|
|
return Browser_1.Browser.IE ? evt.pageY : evt.changedTouches[0].pageY;
|
|
};
|
|
TouchUIHelper.touchMouseDownEventName = Browser_1.Browser.WebKitTouchUI ? "touchstart" : (Browser_1.Browser.Edge && Browser_1.Browser.MSTouchUI && window.PointerEvent ? "pointerdown" : "mousedown");
|
|
TouchUIHelper.touchMouseUpEventName = Browser_1.Browser.WebKitTouchUI ? "touchend" : (Browser_1.Browser.Edge && Browser_1.Browser.MSTouchUI && window.PointerEvent ? "pointerup" : "mouseup");
|
|
TouchUIHelper.touchMouseMoveEventName = Browser_1.Browser.WebKitTouchUI ? "touchmove" : (Browser_1.Browser.Edge && Browser_1.Browser.MSTouchUI && window.PointerEvent ? "pointermove" : "mousemove");
|
|
TouchUIHelper.msTouchDraggableClassName = "dxMSTouchDraggable";
|
|
TouchUIHelper.documentTouchHandlers = {};
|
|
TouchUIHelper.documentEventAttachingAllowed = true;
|
|
return TouchUIHelper;
|
|
}());
|
|
exports.TouchUIHelper = TouchUIHelper;
|
|
//export class TouchUIHelper {
|
|
// isGesture: false;
|
|
// isMouseEventFromScrolling: false;
|
|
// isNativeScrollingAllowed: true;
|
|
// clickSensetivity: 10;
|
|
// documentTouchHandlers: {};
|
|
// documentEventAttachingAllowed: true;
|
|
// isTouchEvent(evt) {
|
|
// if (!evt)
|
|
// return false;
|
|
// return ASPx.Browser.WebKitTouchUI && ASPx.IsExists(evt.changedTouches);
|
|
// }
|
|
// getEventX(evt) {
|
|
// return ASPx.Browser.IE ? evt.pageX : evt.changedTouches[0].pageX;
|
|
// }
|
|
// getEventY (evt) {
|
|
// return ASPx.Browser.IE ? evt.pageY : evt.changedTouches[0].pageY;
|
|
// }
|
|
// getWebkitMajorVersion() {
|
|
// if (!this.webkitMajorVersion) {
|
|
// var regExp = new RegExp("applewebkit/(\\d+)", "i");
|
|
// var matches = regExp.exec(ASPx.Browser.UserAgent);
|
|
// if (matches && matches.index >= 1)
|
|
// this.webkitMajorVersion = matches[1];
|
|
// }
|
|
// return this.webkitMajorVersion;
|
|
// }
|
|
// getIsLandscapeOrientation() {
|
|
// if (ASPx.Browser.MacOSMobilePlatform || ASPx.Browser.AndroidMobilePlatform)
|
|
// return Math.abs(window.orientation) == 90;
|
|
// return ASPx.GetDocumentClientWidth() > ASPx.GetDocumentClientHeight();
|
|
// }
|
|
// nativeScrollingSupported() {
|
|
// var allowedSafariVersion = ASPx.Browser.Version >= 5.1 && ASPx.Browser.Version < 8; //T250059
|
|
// var allowedWebKitVersion = this.getWebkitMajorVersion() > 533 && (ASPx.Browser.Chrome || this.getWebkitMajorVersion() < 600);
|
|
// return (ASPx.Browser.MacOSMobilePlatform && (allowedSafariVersion || allowedWebKitVersion))
|
|
// || (ASPx.Browser.AndroidMobilePlatform && ASPx.Browser.PlaformMajorVersion >= 3) || (ASPx.Browser.MSTouchUI && (!ASPx.Browser.WindowsPhonePlatform || !ASPx.Browser.IE));
|
|
// }
|
|
// makeScrollableIfRequired(element, options) {
|
|
// if (ASPx.Browser.WebKitTouchUI && element) {
|
|
// var overflow = ASPx.GetCurrentStyle(element).overflow;
|
|
// if (element.tagName == "DIV" && overflow != "hidden" && overflow != "visible") {
|
|
// return this.MakeScrollable(element);
|
|
// }
|
|
// }
|
|
// }
|
|
// preventScrollOnEvent(evt) {
|
|
// }
|
|
// handleFastTapIfRequired(evt, action, preventCommonClickEvents) {
|
|
// if (ASPx.Browser.WebKitTouchUI && evt.type == 'touchstart' && action) {
|
|
// this.FastTapHelper.HandleFastTap(evt, action, preventCommonClickEvents);
|
|
// return true;
|
|
// }
|
|
// return false;
|
|
// }
|
|
// ensureDocumentSizesCorrect () {
|
|
// return (document.documentElement.clientWidth - document.documentElement.clientHeight) / (screen.width - screen.height) > 0;
|
|
// }
|
|
// ensureOrientationChanged(onOrientationChangedFunction) {
|
|
// if (ASPxClientUtils.iOSPlatform || this.ensureDocumentSizesCorrect())
|
|
// onOrientationChangedFunction();
|
|
// else {
|
|
// window.setTimeout(function () {
|
|
// this.ensureOrientationChanged(onOrientationChangedFunction);
|
|
// }.aspxBind(this), 100);
|
|
// }
|
|
// }
|
|
// onEventAttachingToDocument(eventName, func) {
|
|
// if (ASPx.Browser.MacOSMobilePlatform && this.isTouchEventName(eventName)) {
|
|
// if (!this.documentTouchHandlers[eventName])
|
|
// this.documentTouchHandlers[eventName] = [];
|
|
// this.documentTouchHandlers[eventName].push(func);
|
|
// return this.documentEventAttachingAllowed;
|
|
// }
|
|
// return true;
|
|
// }
|
|
// onEventDettachedFromDocument(eventName, func) {
|
|
// if (ASPx.Browser.MacOSMobilePlatform && this.isTouchEventName(eventName)) {
|
|
// var handlers = this.documentTouchHandlers[eventName];
|
|
// if (handlers)
|
|
// ASPx.Data.ArrayRemove(handlers, func);
|
|
// }
|
|
// }
|
|
// processDocumentTouchEventHandlers(proc) {
|
|
// var touchEventNames = ["touchstart", "touchend", "touchmove", "gesturestart", "gestureend"];
|
|
// for (var i = 0; i < touchEventNames.length; i++) {
|
|
// var eventName = touchEventNames[i];
|
|
// var handlers = this.documentTouchHandlers[eventName];
|
|
// if (handlers) {
|
|
// for (var j = 0; j < handlers.length; j++) {
|
|
// proc(eventName, handlers[j]);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// removeDocumentTouchEventHandlers() {
|
|
// if (ASPx.Browser.MacOSMobilePlatform) {
|
|
// this.documentEventAttachingAllowed = false;
|
|
// this.processDocumentTouchEventHandlers(ASPx.Evt.DetachEventFromDocumentCore);
|
|
// }
|
|
// }
|
|
// restoreDocumentTouchEventHandlers () {
|
|
// if (ASPx.Browser.MacOSMobilePlatform) {
|
|
// this.documentEventAttachingAllowed = true;
|
|
// this.processDocumentTouchEventHandlers(ASPx.Evt.AttachEventToDocumentCore);
|
|
// }
|
|
// }
|
|
// IsNativeScrolling() {
|
|
// return TouchUIHelper.nativeScrollingSupported() && TouchUIHelper.isNativeScrollingAllowed;
|
|
// }
|
|
// pointerEnabled: !!(window.PointerEvent || window.MSPointerEvent);
|
|
// pointerDownEventName: window.PointerEvent ? "pointerdown" : "MSPointerDown",
|
|
// pointerUpEventName: window.PointerEvent ? "pointerup" : "MSPointerUp",
|
|
// pointerCancelEventName: window.PointerEvent ? "pointercancel" : "MSPointerCancel",
|
|
// pointerMoveEventName: window.PointerEvent ? "pointermove" : "MSPointerMove",
|
|
// pointerOverEventName: window.PointerEvent ? "pointerover" : "MSPointerOver",
|
|
// pointerOutEventName: window.PointerEvent ? "pointerout" : "MSPointerOut",
|
|
// pointerType: {
|
|
// Touch: (ASPx.Browser.IE && ASPx.Browser.Version == 10) ? 2 : "touch",
|
|
// Pen: (ASPx.Browser.IE && ASPx.Browser.Version == 10) ? 3 : "pen",
|
|
// Mouse: (ASPx.Browser.IE && ASPx.Browser.Version == 10) ? 4 : "mouse"
|
|
// }
|
|
// msGestureEnabled: !!(window.PointerEvent || window.MSPointerEvent) && typeof (MSGesture) != "undefined";
|
|
// msTouchCreateGesturesWrapper(element, onTap) {
|
|
// if (!TouchUIHelper.msGestureEnabled)
|
|
// return;
|
|
// var gesture = new MSGesture();
|
|
// gesture.target = element;
|
|
// ASPx.Evt.AttachEventToElement(element, TouchUIHelper.pointerDownEventName, function (evt) {
|
|
// gesture.addPointer(evt.pointerId);
|
|
// });
|
|
// ASPx.Evt.AttachEventToElement(element, TouchUIHelper.pointerUpEventName, function (evt) {
|
|
// gesture.stop();
|
|
// });
|
|
// if (onTap)
|
|
// ASPx.Evt.AttachEventToElement(element, "MSGestureTap", onTap);
|
|
// return gesture;
|
|
// }
|
|
//}
|
|
|
|
|
|
/***/ }),
|
|
/* 63 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var NativeItem = /** @class */ (function () {
|
|
function NativeItem(id, key) {
|
|
this.id = id;
|
|
this.key = key;
|
|
}
|
|
return NativeItem;
|
|
}());
|
|
exports.NativeItem = NativeItem;
|
|
var NativeShape = /** @class */ (function (_super) {
|
|
__extends(NativeShape, _super);
|
|
function NativeShape() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
return NativeShape;
|
|
}(NativeItem));
|
|
exports.NativeShape = NativeShape;
|
|
var NativeConnector = /** @class */ (function (_super) {
|
|
__extends(NativeConnector, _super);
|
|
function NativeConnector() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
return NativeConnector;
|
|
}(NativeItem));
|
|
exports.NativeConnector = NativeConnector;
|
|
|
|
|
|
/***/ }),
|
|
/* 64 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var TextPrimitive = /** @class */ (function (_super) {
|
|
__extends(TextPrimitive, _super);
|
|
function TextPrimitive(x, y, text, width, style, reverseTextAhchor, clipPathId, filterId, rotated, onApplyProperties) {
|
|
var _this = _super.call(this, style, "", clipPathId, onApplyProperties) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.text = text;
|
|
_this.width = width;
|
|
_this.reverseTextAhchor = reverseTextAhchor;
|
|
_this.rotated = rotated;
|
|
_this.filterId = filterId;
|
|
_this.textSegmens = _this.text.split("\n").filter(function (s) { return s; });
|
|
return _this;
|
|
}
|
|
TextPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "text");
|
|
};
|
|
TextPrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
if (this.filterId)
|
|
element.setAttribute("filter", Utils_1.RenderUtils.getUrlPathById(this.filterId));
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
if (element.getAttribute("appliedText") !== this.text || element.getAttribute("appliedWidth") !== (this.width && this.width.toString())) {
|
|
this.createTSpanElements(element);
|
|
element.setAttribute("appliedText", this.text);
|
|
element.setAttribute("appliedWidth", (this.width && this.width.toString()));
|
|
}
|
|
else
|
|
this.prepareTSpanElements(element);
|
|
if (this.rotated) {
|
|
element.setAttribute("class", "rotated");
|
|
element.style.setProperty("transform-origin", (typeof this.x === "number" ? UnitConverter_1.UnitConverter.twipsToPixels(this.x) + "px" : this.x) + " " +
|
|
(typeof this.y === "number" ? UnitConverter_1.UnitConverter.twipsToPixels(this.y) + "px" : this.y));
|
|
}
|
|
};
|
|
TextPrimitive.prototype.createTSpanElements = function (element) {
|
|
var _this = this;
|
|
Utils_1.RenderUtils.removeContent(element);
|
|
this.textSegmens.forEach(function (txt, index) {
|
|
var tSpan = _this.createTSpanElement(element);
|
|
if (_this.width) {
|
|
var words = txt.split(" ");
|
|
var line = "", prevLine = "";
|
|
for (var i = 0; i < words.length; i++) {
|
|
line += (line.length ? " " : "") + words[i];
|
|
tSpan.textContent = line;
|
|
var lineWidth = Utils_1.RenderUtils.getSvgTextRectangle(element).width;
|
|
if (lineWidth >= _this.width && prevLine !== "") {
|
|
tSpan.textContent = prevLine;
|
|
prevLine = line = words[i];
|
|
tSpan = _this.createTSpanElement(element);
|
|
tSpan.textContent = line;
|
|
}
|
|
else {
|
|
prevLine = line;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
tSpan.textContent = txt;
|
|
}
|
|
});
|
|
var firstTSpan = element.firstChild;
|
|
if (firstTSpan)
|
|
this.prepareFirstTSpanElement(firstTSpan, element.childNodes.length);
|
|
};
|
|
TextPrimitive.prototype.createTSpanElement = function (parent) {
|
|
var tSpan = document.createElementNS(RenderManager_1.svgNS, "tspan");
|
|
parent.appendChild(tSpan);
|
|
this.prepareTSpanElement(tSpan);
|
|
return tSpan;
|
|
};
|
|
TextPrimitive.prototype.prepareTSpanElements = function (element) {
|
|
for (var i = 0; i < element.childNodes.length; i++) {
|
|
var tSpan = element.childNodes[i];
|
|
this.prepareTSpanElement(tSpan);
|
|
}
|
|
var firstTSpan = element.firstChild;
|
|
if (firstTSpan)
|
|
this.prepareFirstTSpanElement(firstTSpan, element.childNodes.length);
|
|
};
|
|
TextPrimitive.prototype.prepareTSpanElement = function (tSpan) {
|
|
this.setUnitAttribute(tSpan, "x", this.x);
|
|
tSpan.setAttribute("dy", "1.05em");
|
|
};
|
|
TextPrimitive.prototype.prepareFirstTSpanElement = function (tSpan, lineCount) {
|
|
var dy = -((lineCount - 1) / 2) + TextPrimitive.baselineCorrection;
|
|
tSpan.setAttribute("dy", dy.toFixed(2) + "em");
|
|
};
|
|
TextPrimitive.prototype.applyElementStyleProperties = function (element) {
|
|
this.applyElementStylePropertiesCore(element, this.reverseTextAhchor);
|
|
};
|
|
TextPrimitive.baselineCorrection = 0.35;
|
|
return TextPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.TextPrimitive = TextPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 65 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
exports.ArrowVerticalTriangleHeightParameterName = "th";
|
|
exports.ArrowVerticalLineWidthParameterName = "lw";
|
|
var ArrowVerticalShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowVerticalShapeDescription, _super);
|
|
function ArrowVerticalShapeDescription(title) {
|
|
return _super.call(this, title, "", new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 0.375, ShapeDescription_1.ShapeDefaultDimension)) || this;
|
|
}
|
|
ArrowVerticalShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.addRange([
|
|
new ShapeParameters_1.ShapeParameter(exports.ArrowVerticalTriangleHeightParameterName, Math.sqrt(Math.pow(this.defaultSize.width, 2) - Math.pow(this.defaultSize.width / 2, 2))),
|
|
new ShapeParameters_1.ShapeParameter(exports.ArrowVerticalLineWidthParameterName, this.defaultSize.width / 3)
|
|
]);
|
|
};
|
|
ArrowVerticalShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, exports.ArrowVerticalTriangleHeightParameterName, function (p) { return Math.max(0, Math.min(shape.size.height, p.value)); });
|
|
this.changeParameterValue(parameters, exports.ArrowVerticalLineWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.width, p.value)); });
|
|
};
|
|
ArrowVerticalShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var delta = (shape.size.width - shape.parameters.get(exports.ArrowVerticalLineWidthParameterName).value) / 2;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.x -= delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.x += delta;
|
|
};
|
|
return ArrowVerticalShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.ArrowVerticalShapeDescription = ArrowVerticalShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 66 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
exports.ArrowVerticalTriangleWidthParameterName = "tw";
|
|
exports.ArrowVerticalLineHeightParameterName = "lh";
|
|
var ArrowHorizontalShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowHorizontalShapeDescription, _super);
|
|
function ArrowHorizontalShapeDescription(title) {
|
|
return _super.call(this, title, "", new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.375)) || this;
|
|
}
|
|
ArrowHorizontalShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.addRange([
|
|
new ShapeParameters_1.ShapeParameter(exports.ArrowVerticalTriangleWidthParameterName, Math.sqrt(Math.pow(this.defaultSize.height, 2) - Math.pow(this.defaultSize.height / 2, 2))),
|
|
new ShapeParameters_1.ShapeParameter(exports.ArrowVerticalLineHeightParameterName, this.defaultSize.height / 3)
|
|
]);
|
|
};
|
|
ArrowHorizontalShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, exports.ArrowVerticalTriangleWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.width, p.value)); });
|
|
this.changeParameterValue(parameters, exports.ArrowVerticalLineHeightParameterName, function (p) { return Math.max(0, Math.min(shape.size.height, p.value)); });
|
|
};
|
|
ArrowHorizontalShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var delta = (shape.size.height - shape.parameters.get(exports.ArrowVerticalLineHeightParameterName).value) / 2;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.North)
|
|
point.y += delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.South)
|
|
point.y -= delta;
|
|
};
|
|
return ArrowHorizontalShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.ArrowHorizontalShapeDescription = ArrowHorizontalShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 67 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var EllipsePrimitive_1 = __webpack_require__(42);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var EllipseShapeDescription = /** @class */ (function (_super) {
|
|
__extends(EllipseShapeDescription, _super);
|
|
function EllipseShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Ellipse"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
return _super.call(this, title, defaultText, new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.75)) || this;
|
|
}
|
|
Object.defineProperty(EllipseShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Ellipse; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
EllipseShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var width = rect.width, height = rect.height;
|
|
var _a = rect.center, cx = _a.x, cy = _a.y;
|
|
return [
|
|
new EllipsePrimitive_1.EllipsePrimitive(cx, cy, width / 2, height / 2, shape.style),
|
|
];
|
|
};
|
|
return EllipseShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.EllipseShapeDescription = EllipseShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 68 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var PolygonShapeDescription = /** @class */ (function (_super) {
|
|
__extends(PolygonShapeDescription, _super);
|
|
function PolygonShapeDescription(title, defaultText) {
|
|
var _this = _super.call(this, title, defaultText) || this;
|
|
_this.defaultSize.height = _this.calculateHeight(ShapeDescription_1.ShapeDefaultDimension);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(PolygonShapeDescription.prototype, "angle", {
|
|
get: function () {
|
|
return Math.PI * (this.angleCount - 2) / this.angleCount;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return PolygonShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.PolygonShapeDescription = PolygonShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 69 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeWithImageDescription_1 = __webpack_require__(45);
|
|
var RoundedRectanglePrimitive_1 = __webpack_require__(188);
|
|
var __1 = __webpack_require__(8);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var ShapeImageIndicator_1 = __webpack_require__(99);
|
|
var CardBaseDescription = /** @class */ (function (_super) {
|
|
__extends(CardBaseDescription, _super);
|
|
function CardBaseDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Card Base"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, 26 / 46 * ShapeDescription_1.ShapeDefaultDimension); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
CardBaseDescription.getTextMargins = function () {
|
|
return ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins();
|
|
};
|
|
CardBaseDescription.prototype.createShapePrimitives = function (shape, forToolbox) {
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, width = _a.width, height = _a.height;
|
|
return [
|
|
new RoundedRectanglePrimitive_1.RoundedRectanglePrimitive(left, top, width, height, (forToolbox) ? 30 : 60, (forToolbox) ? 30 : 60, shape.style)
|
|
];
|
|
};
|
|
CardBaseDescription.prototype.createImagePlaceholder = function (rect) {
|
|
return [
|
|
new RoundedRectanglePrimitive_1.RoundedRectanglePrimitive(rect.left, rect.top, rect.width, rect.height, __1.UnitConverter.pixelsToTwips(2), __1.UnitConverter.pixelsToTwips(2), undefined, ShapeWithImageDescription_1.SHAPE_IMAGE_CLASSNAMES.IMAGE_PLACEHOLDER)
|
|
];
|
|
};
|
|
CardBaseDescription.prototype.createEmptyImagePrimitive = function (rect) {
|
|
return ShapeImageIndicator_1.ShapeImageIndicator.createUserIconPrimitives(rect.left, rect.top, this.defaultIconSize, __1.UnitConverter.pixelsToTwips(1), ShapeWithImageDescription_1.SHAPE_IMAGE_CLASSNAMES.USER_PIC);
|
|
};
|
|
CardBaseDescription.prototype.createWarningPrimitive = function (rect) {
|
|
return ShapeImageIndicator_1.ShapeImageIndicator.createWarningIconPrimitives(rect.left + this.defaultIconSize / 2, rect.top + this.defaultIconSize / 2, this.defaultIconSize / 2, ShapeWithImageDescription_1.SHAPE_IMAGE_CLASSNAMES.WARNING_MARK);
|
|
};
|
|
CardBaseDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var textRectangle = rect.clone();
|
|
var textBlockOffset = this.getTextBlockOffset(rect);
|
|
if (textBlockOffset.left > 0)
|
|
textRectangle.position.x = textRectangle.left + textBlockOffset.left + CardBaseDescription.getTextMargins();
|
|
if (textBlockOffset.top > 0)
|
|
textRectangle.position.y = textRectangle.top + textBlockOffset.top + CardBaseDescription.getTextMargins();
|
|
textRectangle.size.width = textRectangle.width - textBlockOffset.right - textBlockOffset.left - CardBaseDescription.getTextMargins() * 2;
|
|
textRectangle.size.height = textRectangle.height - textBlockOffset.bottom - textBlockOffset.top - CardBaseDescription.getTextMargins() * 2;
|
|
textRectangle.position.x += CardBaseDescription.getTextMargins();
|
|
textRectangle.position.y += CardBaseDescription.getTextMargins();
|
|
if (textBlockOffset.left > 0 || textBlockOffset.right > 0)
|
|
textRectangle.size.width = Math.max(textRectangle.width - CardBaseDescription.getTextMargins(), 0);
|
|
if (textBlockOffset.top > 0 || textBlockOffset.bottom > 0)
|
|
textRectangle.size.height = Math.max(textRectangle.height - CardBaseDescription.getTextMargins(), 0);
|
|
return textRectangle;
|
|
};
|
|
CardBaseDescription.prototype.createTextPrimitives = function (shape, forToolbox) {
|
|
if (forToolbox)
|
|
return this.createGraphicalTextRepresentation(shape.rectangle);
|
|
else
|
|
return _super.prototype.createTextPrimitives.call(this, shape, forToolbox);
|
|
};
|
|
CardBaseDescription.prototype.createGraphicalTextRepresentation = function (rect) {
|
|
var textRect = Utils_1.Rectangle.create(0, 0, 0, 0);
|
|
var textBlockOffset = this.getTextBlockOffset(rect, true);
|
|
if (textBlockOffset.left > 0 || textBlockOffset.right > 0) {
|
|
var horizontalShift = (textBlockOffset.left > 0) ? rect.width / 2 : 0;
|
|
textRect.position.x = rect.left + horizontalShift + 1.5 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
textRect.position.y = rect.top + 2.5 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
textRect.size.width = (textBlockOffset.left || textBlockOffset.right) - 2 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
textRect.size.height = rect.height - 4 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
}
|
|
else {
|
|
var verticalShift = (textBlockOffset.top > 0) ? rect.height / 2 : 0;
|
|
textRect.position.x = rect.left + rect.width / 2 - (rect.width / 2 + 1) / 2;
|
|
textRect.position.y = rect.top + verticalShift + 1.5 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
textRect.size.width = rect.width / 2 + 1;
|
|
textRect.size.height = (textBlockOffset.top || textBlockOffset.bottom) - 2 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(true);
|
|
}
|
|
return this.createTextRepresentationPrimitives(textRect);
|
|
};
|
|
CardBaseDescription.prototype.createTextRepresentationPrimitives = function (rect) {
|
|
var lineHeight = __1.UnitConverter.pixelsToTwips(__1.UnitConverter.twipsToPixels(rect.height / 3));
|
|
return [
|
|
new GroupPrimitive_1.GroupPrimitive([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.left, rect.top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.left + rect.width, rect.top)
|
|
]),
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.left, rect.top + lineHeight),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.left + rect.width, rect.top + lineHeight)
|
|
]),
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.left, rect.top + lineHeight * 2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.left + rect.width * 0.66, rect.top + lineHeight * 2)
|
|
])
|
|
], "dxdi-shape-text")
|
|
];
|
|
};
|
|
return CardBaseDescription;
|
|
}(ShapeWithImageDescription_1.ShapeWithImageDescription));
|
|
exports.CardBaseDescription = CardBaseDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 70 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HashSet = /** @class */ (function () {
|
|
function HashSet(list, getHashCode) {
|
|
if (list === void 0) { list = []; }
|
|
if (getHashCode === void 0) { getHashCode = function (item) { return item.toString(); }; }
|
|
var _this = this;
|
|
this.items = [];
|
|
this.map = {};
|
|
this.getHashCode = getHashCode;
|
|
list.forEach(function (i) { return _this.tryPush(i); });
|
|
}
|
|
HashSet.prototype.tryPush = function (item) {
|
|
var code = this.getHashCode(item);
|
|
if (this.map[code] === undefined) {
|
|
this.map[code] = this.items.push(item) - 1;
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
HashSet.prototype.contains = function (item) {
|
|
return this.map[this.getHashCode(item)] !== undefined;
|
|
};
|
|
HashSet.prototype.forEach = function (callback) {
|
|
this.items.forEach(callback);
|
|
};
|
|
HashSet.prototype.filter = function (predicate) {
|
|
return this.items.filter(predicate);
|
|
};
|
|
HashSet.prototype.list = function () {
|
|
return this.items.slice(0);
|
|
};
|
|
HashSet.prototype.item = function (index) {
|
|
return this.items[index];
|
|
};
|
|
HashSet.prototype.first = function () {
|
|
return this.items[0];
|
|
};
|
|
HashSet.prototype.remove = function (item) {
|
|
var code = this.getHashCode(item);
|
|
var index = this.map[code];
|
|
if (typeof index === "number") {
|
|
delete this.map[code];
|
|
this.items.splice(index, 1);
|
|
for (var i = index; i < this.items.length; i++)
|
|
this.map[this.getHashCode(this.items[i])]--;
|
|
}
|
|
else
|
|
throw "Item not found";
|
|
};
|
|
Object.defineProperty(HashSet.prototype, "length", {
|
|
get: function () { return this.items.length; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return HashSet;
|
|
}());
|
|
exports.HashSet = HashSet;
|
|
|
|
|
|
/***/ }),
|
|
/* 71 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ImportUtils = /** @class */ (function () {
|
|
function ImportUtils() {
|
|
}
|
|
ImportUtils.parseJSON = function (json) {
|
|
if (!json || json === "")
|
|
return {};
|
|
try {
|
|
return JSON.parse(json);
|
|
}
|
|
catch (_a) {
|
|
return {};
|
|
}
|
|
};
|
|
ImportUtils.createDocument = function (xml) {
|
|
var parser = new DOMParser();
|
|
return parser.parseFromString(xml, "application/xml");
|
|
};
|
|
return ImportUtils;
|
|
}());
|
|
exports.ImportUtils = ImportUtils;
|
|
|
|
|
|
/***/ }),
|
|
/* 72 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStylePropertyCommandBase_1 = __webpack_require__(108);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var Style_1 = __webpack_require__(27);
|
|
var ChangeStyleTextPropertyCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeStyleTextPropertyCommand, _super);
|
|
function ChangeStyleTextPropertyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeStyleTextPropertyCommand.prototype.getValue = function () {
|
|
return this.control.selection.inputPosition.getStyleTextPropertyValue(this.getStyleProperty());
|
|
};
|
|
ChangeStyleTextPropertyCommand.prototype.getStyleObj = function (item) {
|
|
return item.styleText;
|
|
};
|
|
ChangeStyleTextPropertyCommand.prototype.getDefaultStyleObj = function () {
|
|
return new Style_1.StyleText();
|
|
};
|
|
ChangeStyleTextPropertyCommand.prototype.createHistoryItem = function (item, styleProperty, styleValue) {
|
|
return new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(item.key, styleProperty, styleValue);
|
|
};
|
|
ChangeStyleTextPropertyCommand.prototype.updateInputPosition = function (value) {
|
|
this.control.selection.inputPosition.setStyleTextPropertyValue(this.getStyleProperty(), value);
|
|
};
|
|
return ChangeStyleTextPropertyCommand;
|
|
}(ChangeStylePropertyCommandBase_1.ChangeStylePropertyCommandBase));
|
|
exports.ChangeStyleTextPropertyCommand = ChangeStyleTextPropertyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 73 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Forest_1 = __webpack_require__(215);
|
|
var GraphLayout_1 = __webpack_require__(111);
|
|
var NodeLayout_1 = __webpack_require__(56);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var BaseBuilder_1 = __webpack_require__(112);
|
|
var Structures_1 = __webpack_require__(31);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var TreeLayoutBuilder = /** @class */ (function (_super) {
|
|
__extends(TreeLayoutBuilder, _super);
|
|
function TreeLayoutBuilder() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
TreeLayoutBuilder.prototype.build = function () {
|
|
var forest = Forest_1.Forest.create(this.graph);
|
|
var layouts = [];
|
|
for (var tree = void 0, i = 0; tree = forest.trees[i]; i++) {
|
|
var layout_1 = this.processTree(tree);
|
|
layouts.push(layout_1);
|
|
}
|
|
var offset = 0, layout = new GraphLayout_1.GraphLayout();
|
|
for (var layoutComponent = void 0, i = 0; layoutComponent = layouts[i]; i++) {
|
|
layout.extend(this.setComponentOffset(layoutComponent, offset));
|
|
offset += this.getComponentOffset(layoutComponent);
|
|
}
|
|
return layout;
|
|
};
|
|
TreeLayoutBuilder.prototype.processTree = function (tree) {
|
|
var layout = new GraphLayout_1.GraphLayout();
|
|
var rootLayout = new NodeLayout_1.NodeLayout(tree.root, new Utils_1.Point(tree.root.margin.left, tree.root.margin.top));
|
|
layout.addNode(rootLayout);
|
|
this.processChildren(rootLayout, tree, layout, 0);
|
|
if (this.settings.alignment === LayoutSettings_1.Alignment.Center)
|
|
this.processParents(layout, rootLayout, tree);
|
|
return layout;
|
|
};
|
|
TreeLayoutBuilder.prototype.processChildren = function (parent, tree, layout, nearbyPoint) {
|
|
var _this = this;
|
|
var children = tree.getChildren(parent.info);
|
|
var edges = this.graph.getAdjacentEdges(parent.key, Structures_1.ConnectionMode.Outgoing);
|
|
var distantPoint = nearbyPoint;
|
|
var prevSiblingLayout;
|
|
var _loop_1 = function (child, i) {
|
|
var nearbyMargin = this_1.isVertical() ? child.margin.left : child.margin.top;
|
|
if (prevSiblingLayout) {
|
|
var prevSiblingDistantPoint = this_1.getChangingCoordinateForLayer(prevSiblingLayout.position) + this_1.getSizeMeasurement(prevSiblingLayout.info.size);
|
|
var actualNearbyMargin = distantPoint - prevSiblingDistantPoint;
|
|
nearbyMargin = Math.max(0, nearbyMargin - actualNearbyMargin);
|
|
nearbyMargin += this_1.settings.columnSpacing;
|
|
}
|
|
var layerStartingPoint = this_1.isVertical() ? Math.max(parent.info.margin.bottom, child.margin.top) : Math.max(parent.info.margin.right, child.margin.left);
|
|
var nodePosition = this_1.isVertical() ?
|
|
new Utils_1.Point(distantPoint + nearbyMargin, parent.position.y + parent.info.size.height + layerStartingPoint + this_1.settings.layerSpacing) :
|
|
new Utils_1.Point(parent.position.x + parent.info.size.width + layerStartingPoint + this_1.settings.layerSpacing, distantPoint + nearbyMargin);
|
|
var childLayout = new NodeLayout_1.NodeLayout(child, nodePosition);
|
|
distantPoint = Math.max(this_1.getChangingCoordinateForLayer(childLayout.position) + this_1.getSizeMeasurement(childLayout.info.size), this_1.processChildren(childLayout, tree, layout, distantPoint));
|
|
layout.addNode(childLayout);
|
|
edges.filter(function (e) { return e.to === child.key; }).forEach(function (e) {
|
|
var beginIndex = _this.isVertical() ? DiagramItem_1.ConnectionPointSide.South : DiagramItem_1.ConnectionPointSide.East;
|
|
var endIndex = _this.isVertical() ? DiagramItem_1.ConnectionPointSide.North : DiagramItem_1.ConnectionPointSide.West;
|
|
layout.addEdge(new NodeLayout_1.EdgeLayout(e.key, beginIndex, endIndex));
|
|
});
|
|
prevSiblingLayout = childLayout;
|
|
};
|
|
var this_1 = this;
|
|
for (var child = void 0, i = 0; child = children[i]; i++) {
|
|
_loop_1(child, i);
|
|
}
|
|
return distantPoint + this.settings.subTreeColumnSpacing;
|
|
};
|
|
TreeLayoutBuilder.prototype.processParents = function (layout, parent, tree, parentNextSibling) {
|
|
var children = tree.getChildren(parent.info);
|
|
for (var child = void 0, i = children.length - 1; child = children[i]; i--)
|
|
this.processParents(layout, layout.nodeToLayout[child.key], tree, children[i + 1]);
|
|
if (children.length) {
|
|
var nearbyPoint = this.getChangingCoordinateForLayer(layout.nodeToLayout[children[0].key].position);
|
|
var distantPoint = this.getRectangleDistantEdge(layout.nodeToLayout[children[children.length - 1].key].rectangle);
|
|
var position = nearbyPoint + (distantPoint - nearbyPoint) / 2 - this.getSizeMeasurement(parent.info.size) / 2;
|
|
position = Math.max(this.getChangingCoordinateForLayer(parent.position), this.correctByMargin(position, parent, parentNextSibling && layout.nodeToLayout[parentNextSibling.key]));
|
|
if (this.isVertical())
|
|
parent.position.x = position;
|
|
else
|
|
parent.position.y = position;
|
|
}
|
|
};
|
|
TreeLayoutBuilder.prototype.getChangingCoordinateForLayer = function (point) {
|
|
return this.isVertical() ? point.x : point.y;
|
|
};
|
|
TreeLayoutBuilder.prototype.getRectangleDistantEdge = function (rectangle) {
|
|
return this.isVertical() ? rectangle.right : rectangle.bottom;
|
|
};
|
|
TreeLayoutBuilder.prototype.getSizeMeasurement = function (size) {
|
|
return this.isVertical() ? size.width : size.height;
|
|
};
|
|
TreeLayoutBuilder.prototype.correctByMargin = function (position, element, distant) {
|
|
if (distant) {
|
|
var distantPoint = this.isVertical() ? Math.max(distant.info.margin.left, element.info.margin.right) : Math.max(distant.info.margin.top, element.info.margin.bottom);
|
|
position = Math.min(position, this.getChangingCoordinateForLayer(distant.position) - distantPoint - this.getSizeMeasurement(element.info.size));
|
|
}
|
|
return position;
|
|
};
|
|
TreeLayoutBuilder.prototype.isVertical = function () {
|
|
return this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical;
|
|
};
|
|
return TreeLayoutBuilder;
|
|
}(BaseBuilder_1.LayoutBuilder));
|
|
exports.TreeLayoutBuilder = TreeLayoutBuilder;
|
|
|
|
|
|
/***/ }),
|
|
/* 74 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CanvasItemsManager_1 = __webpack_require__(82);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var CanvasExportManager_1 = __webpack_require__(224);
|
|
var ExportImportCommandBase_1 = __webpack_require__(47);
|
|
var Exporter_1 = __webpack_require__(57);
|
|
var ExportImageCommand = /** @class */ (function (_super) {
|
|
__extends(ExportImageCommand, _super);
|
|
function ExportImageCommand(control) {
|
|
var _this = _super.call(this, control) || this;
|
|
_this.exporter = new Exporter_1.Exporter();
|
|
return _this;
|
|
}
|
|
ExportImageCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
try {
|
|
var exportManager = this.getExportManager();
|
|
var exportFunc = this.getExportFunc();
|
|
exportFunc(this.control.model.size.clone(), this.control.model.pageColor, exportManager, function (url) {
|
|
parameter(url, _this.getExtension());
|
|
_this.tryDispose();
|
|
});
|
|
}
|
|
catch (e) {
|
|
this.tryDispose();
|
|
throw e;
|
|
}
|
|
return true;
|
|
};
|
|
ExportImageCommand.prototype.getExportManager = function () {
|
|
var itemsManager = (this.control.render && this.control.render.items) || this.createItemsManager();
|
|
return this.exportManager || (this.exportManager = new CanvasExportManager_1.CanvasExportManager(itemsManager.itemsContainer));
|
|
};
|
|
ExportImageCommand.prototype.createItemsManager = function () {
|
|
this.svgElement = RenderManager_1.RenderManager.createSvgElement(document.body, true);
|
|
var canvasManager = new CanvasItemsManager_1.CanvasItemsManager(this.svgElement, 1);
|
|
this.control.modelManipulator.onModelChanged.add(canvasManager);
|
|
this.control.modelManipulator.onLoad();
|
|
return canvasManager;
|
|
};
|
|
ExportImageCommand.prototype.tryDispose = function () {
|
|
if (this.svgElement) {
|
|
document.body.removeChild(this.svgElement);
|
|
delete this.svgElement;
|
|
this.exportManager = undefined;
|
|
}
|
|
};
|
|
return ExportImageCommand;
|
|
}(ExportImportCommandBase_1.ExportImportCommandBase));
|
|
exports.ExportImageCommand = ExportImageCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 75 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ClipboardCommand = /** @class */ (function (_super) {
|
|
__extends(ClipboardCommand, _super);
|
|
function ClipboardCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ClipboardCommand.prototype.setClipboardData = function (data) {
|
|
if (this.control.render)
|
|
this.control.render.input.setClipboardData(data);
|
|
ClipboardCommand.clipboardData = data;
|
|
};
|
|
ClipboardCommand.prototype.getClipboardData = function (callback) {
|
|
if (this.control.render && this.isPasteSupportedByBrowser())
|
|
this.control.render.input.getClipboardData(callback);
|
|
else
|
|
callback(ClipboardCommand.clipboardData);
|
|
};
|
|
ClipboardCommand.prototype.isPasteSupportedByBrowser = function () {
|
|
return this.control.render && this.control.render.input.isPasteSupportedByBrowser();
|
|
};
|
|
return ClipboardCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ClipboardCommand = ClipboardCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 76 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeZindexHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeZindexHistoryItem, _super);
|
|
function ChangeZindexHistoryItem(item, zIndex) {
|
|
var _this = _super.call(this) || this;
|
|
_this.itemKey = item.key;
|
|
_this.zIndex = zIndex;
|
|
return _this;
|
|
}
|
|
ChangeZindexHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldZIndex = item.zIndex;
|
|
manipulator.changeZIndex(item, this.zIndex);
|
|
};
|
|
ChangeZindexHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeZIndex(item, this.oldZIndex);
|
|
};
|
|
return ChangeZindexHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeZindexHistoryItem = ChangeZindexHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 77 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeShapeImageHistoryItem_1 = __webpack_require__(116);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var EditShapeImageCommandBase = /** @class */ (function (_super) {
|
|
__extends(EditShapeImageCommandBase, _super);
|
|
function EditShapeImageCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
EditShapeImageCommandBase.prototype.isEnabled = function () {
|
|
var selectedShape = this.getSelectedShape();
|
|
return _super.prototype.isEnabled.call(this) && selectedShape && !selectedShape.locked && selectedShape.enableImage && selectedShape.allowEditImage;
|
|
};
|
|
EditShapeImageCommandBase.prototype.getValue = function () {
|
|
var selectedShape = this.getSelectedShape();
|
|
var imageUrl = (selectedShape) ? selectedShape.image.exportUrl : undefined;
|
|
return imageUrl;
|
|
};
|
|
EditShapeImageCommandBase.prototype.getSelectedShape = function () {
|
|
var selectedShapes = this.control.selection.getSelectedShapes(true);
|
|
return (selectedShapes.length === 1) ? selectedShapes[0] : undefined;
|
|
};
|
|
EditShapeImageCommandBase.prototype.executeCore = function (state, parameter) {
|
|
this.control.history.beginTransaction();
|
|
var selectedUnlockedShapes = this.control.selection.getSelectedShapes(false);
|
|
this.control.history.addAndRedo(new ChangeShapeImageHistoryItem_1.ChangeShapeImageHistoryItem(selectedUnlockedShapes[0], parameter));
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
return EditShapeImageCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.EditShapeImageCommandBase = EditShapeImageCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 78 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerMoveShapeStateBase_1 = __webpack_require__(120);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseHandlerMoveClonedShapeState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveClonedShapeState, _super);
|
|
function MouseHandlerMoveClonedShapeState(handler, history, model, selection, visualizerManager, moveStartPoint) {
|
|
var _this = _super.call(this, handler, history, model, selection, visualizerManager) || this;
|
|
_this.moveStartPoint = moveStartPoint;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveClonedShapeState.prototype.onMouseDown = function (evt) {
|
|
var dx = this.moveStartPoint ? evt.modelPoint.x - this.moveStartPoint.x : 0;
|
|
var dy = this.moveStartPoint ? evt.modelPoint.y - this.moveStartPoint.y : 0;
|
|
ModelUtils_1.ModelUtils.cloneSelectionToOffset(this.history, this.model, this.selection, dx, dy);
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveClonedShapeState.isMoveClonedShapeEvent = function (evt) {
|
|
return evt.modifiers & KeyCode_1.ModifierKey.Ctrl && evt.modifiers & KeyCode_1.ModifierKey.Shift;
|
|
};
|
|
return MouseHandlerMoveClonedShapeState;
|
|
}(MouseHandlerMoveShapeStateBase_1.MouseHandlerMoveShapeStateBase));
|
|
exports.MouseHandlerMoveClonedShapeState = MouseHandlerMoveClonedShapeState;
|
|
|
|
|
|
/***/ }),
|
|
/* 79 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var COLOR_PROPERTIES = { "stroke": true, "fill": true };
|
|
function isColorProperty(propName) {
|
|
return COLOR_PROPERTIES[propName];
|
|
}
|
|
exports.isColorProperty = isColorProperty;
|
|
|
|
|
|
/***/ }),
|
|
/* 80 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var LinePrimitive = /** @class */ (function (_super) {
|
|
__extends(LinePrimitive, _super);
|
|
function LinePrimitive(x1, y1, x2, y2, style, className, clipPathId, onApplyProperties) {
|
|
var _this = _super.call(this, style, className, clipPathId, onApplyProperties) || this;
|
|
_this.x1 = x1;
|
|
_this.y1 = y1;
|
|
_this.x2 = x2;
|
|
_this.y2 = y2;
|
|
return _this;
|
|
}
|
|
LinePrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "line");
|
|
};
|
|
LinePrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "x1", this.x1);
|
|
this.setUnitAttribute(element, "y1", this.y1);
|
|
this.setUnitAttribute(element, "x2", this.x2);
|
|
this.setUnitAttribute(element, "y2", this.y2);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return LinePrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.LinePrimitive = LinePrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 81 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base_1 = __webpack_require__(17);
|
|
var Data = /** @class */ (function () {
|
|
function Data() {
|
|
}
|
|
Data.ArrayInsert = function (array, element, position) {
|
|
if (0 <= position && position < array.length) {
|
|
for (var i = array.length; i > position; i--)
|
|
array[i] = array[i - 1];
|
|
array[position] = element;
|
|
}
|
|
else
|
|
array.push(element);
|
|
};
|
|
Data.ArrayRemove = function (array, element) {
|
|
var index = Data.ArrayIndexOf(array, element);
|
|
if (index > -1)
|
|
Data.ArrayRemoveAt(array, index);
|
|
};
|
|
Data.ArrayRemoveAt = function (array, index) {
|
|
if (index >= 0 && index < array.length) {
|
|
for (var i = index; i < array.length - 1; i++)
|
|
array[i] = array[i + 1];
|
|
array.pop();
|
|
}
|
|
};
|
|
Data.ArrayClear = function (array) {
|
|
while (array.length > 0)
|
|
array.pop();
|
|
};
|
|
Data.ArrayIndexOf = function (array, element, comparer) {
|
|
if (!comparer) {
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (array[i] == element)
|
|
return i;
|
|
}
|
|
}
|
|
else {
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (comparer(array[i], element))
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
};
|
|
Data.ArrayContains = function (array, element) {
|
|
return Data.ArrayIndexOf(array, element) >= 0;
|
|
};
|
|
Data.ArrayEqual = function (array1, array2) {
|
|
var count1 = array1.length;
|
|
var count2 = array2.length;
|
|
if (count1 != count2)
|
|
return false;
|
|
for (var i = 0; i < count1; i++)
|
|
if (array1[i] != array2[i])
|
|
return false;
|
|
return true;
|
|
};
|
|
Data.ArraySame = function (array1, array2) {
|
|
if (array1.length !== array2.length)
|
|
return false;
|
|
return array1.every(function (elem) { return Data.ArrayContains(array2, elem); });
|
|
};
|
|
Data.ArrayGetIntegerEdgeValues = function (array) {
|
|
var arrayToSort = Data.CollectionToArray(array);
|
|
Data.ArrayIntegerAscendingSort(arrayToSort);
|
|
return {
|
|
start: arrayToSort[0],
|
|
end: arrayToSort[arrayToSort.length - 1]
|
|
};
|
|
};
|
|
Data.ArrayIntegerAscendingSort = function (array) {
|
|
Data.ArrayIntegerSort(array, false);
|
|
};
|
|
Data.ArrayIntegerSort = function (array, desc) {
|
|
array.sort(function (i1, i2) {
|
|
var res = 0;
|
|
if (i1 > i2)
|
|
res = 1;
|
|
else if (i1 < i2)
|
|
res = -1;
|
|
if (desc)
|
|
res *= -1;
|
|
return res;
|
|
});
|
|
};
|
|
Data.CollectionsUnionToArray = function (firstCollection, secondCollection) {
|
|
var result = [];
|
|
var firstCollectionLength = firstCollection.length;
|
|
var secondCollectionLength = secondCollection.length;
|
|
for (var i = 0; i < firstCollectionLength + secondCollectionLength; i++) {
|
|
if (i < firstCollectionLength)
|
|
result.push(firstCollection[i]);
|
|
else
|
|
result.push(secondCollection[i - firstCollectionLength]);
|
|
}
|
|
return result;
|
|
};
|
|
Data.CollectionToArray = function (collection) {
|
|
var array = [];
|
|
for (var i = 0; i < collection.length; i++)
|
|
array.push(collection[i]);
|
|
return array;
|
|
};
|
|
Data.CreateHashTableFromArray = function (array) {
|
|
var hash = [];
|
|
for (var i = 0; i < array.length; i++)
|
|
hash[array[i]] = 1;
|
|
return hash;
|
|
};
|
|
Data.CreateIndexHashTableFromArray = function (array) {
|
|
var hash = [];
|
|
for (var i = 0; i < array.length; i++)
|
|
hash[array[i]] = i;
|
|
return hash;
|
|
};
|
|
Data.ArrayToHash = function (array, getKeyFunc, getValueFunc) {
|
|
if (!(array instanceof Array))
|
|
return {};
|
|
return array.reduce(function (map, element, index) {
|
|
var key = getKeyFunc(element, index);
|
|
var value = getValueFunc(element, index);
|
|
map[key] = value;
|
|
return map;
|
|
}, {});
|
|
};
|
|
Data.Sum = function (array, getValueFunc) {
|
|
if (!(array instanceof Array))
|
|
return 0;
|
|
return array.reduce(function (prevValue, item) {
|
|
var value = getValueFunc ? getValueFunc(item) : item;
|
|
if (!Base_1.IsNumber(value))
|
|
value = 0;
|
|
return prevValue + value;
|
|
}, 0);
|
|
};
|
|
Data.Min = function (array, getValueFunc) { return Data.CalculateArrayMinMax(array, getValueFunc, false); };
|
|
;
|
|
Data.Max = function (array, getValueFunc) { return Data.CalculateArrayMinMax(array, getValueFunc, true); };
|
|
;
|
|
Data.NearestLeftBinarySearchComparer = function (array, index, value) {
|
|
var arrayElement = array[index];
|
|
var leftPoint = arrayElement < value;
|
|
var lastLeftPoint = leftPoint && index == array.length - 1;
|
|
var nearestLeftPoint = lastLeftPoint || (leftPoint && array[index + 1] >= value);
|
|
if (nearestLeftPoint)
|
|
return 0;
|
|
else
|
|
return arrayElement < value ? -1 : 1;
|
|
};
|
|
Data.ArrayBinarySearch = function (array, value, binarySearchComparer, startIndex, length) {
|
|
if (!binarySearchComparer)
|
|
binarySearchComparer = Data.defaultBinarySearchComparer;
|
|
if (!Base_1.IsExists(startIndex))
|
|
startIndex = 0;
|
|
if (!Base_1.IsExists(length))
|
|
length = array.length - startIndex;
|
|
var endIndex = (startIndex + length) - 1;
|
|
while (startIndex <= endIndex) {
|
|
var middle = (startIndex + ((endIndex - startIndex) >> 1));
|
|
var compareResult = binarySearchComparer(array, middle, value);
|
|
if (compareResult == 0)
|
|
return middle;
|
|
if (compareResult < 0)
|
|
startIndex = middle + 1;
|
|
else
|
|
endIndex = middle - 1;
|
|
}
|
|
return -(startIndex + 1);
|
|
};
|
|
Data.ArrayFlatten = function (arrayOfArrays) {
|
|
return [].concat.apply([], arrayOfArrays);
|
|
};
|
|
Data.GetDistinctArray = function (array) {
|
|
var resultArray = [];
|
|
for (var i = 0; i < array.length; i++) {
|
|
var currentEntry = array[i];
|
|
if (Data.ArrayIndexOf(resultArray, currentEntry) == -1) {
|
|
resultArray.push(currentEntry);
|
|
}
|
|
}
|
|
return resultArray;
|
|
};
|
|
Data.ForEach = function (arr, callback) {
|
|
if (Array.prototype.forEach) {
|
|
Array.prototype.forEach.call(arr, callback);
|
|
}
|
|
else {
|
|
for (var i = 0, len = arr.length; i < len; i++) {
|
|
callback(arr[i], i, arr);
|
|
}
|
|
}
|
|
};
|
|
Data.MergeHashTables = function (target, object) {
|
|
if (!object || typeof (object) == "string")
|
|
return target;
|
|
if (!target)
|
|
target = {};
|
|
for (var key in object)
|
|
if (key && !(key in target))
|
|
target[key] = object[key];
|
|
return target;
|
|
};
|
|
Data.Range = function (count, start) {
|
|
count = parseInt(count) || 0;
|
|
start = parseInt(start) || 0;
|
|
if (count < 0)
|
|
count = 0;
|
|
if (start < 0)
|
|
start = 0;
|
|
return Array.apply(null, Array(count)).map(function (_val, i) { return start + i; });
|
|
};
|
|
Data.CalculateArrayMinMax = function (array, getValueFunc, isMax) {
|
|
if (!(array instanceof Array))
|
|
return 0;
|
|
var startValue = isMax ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY;
|
|
return array.reduce(function (prevValue, item) {
|
|
var value = getValueFunc ? getValueFunc(item) : item;
|
|
if (!Base_1.IsNumber(value))
|
|
value = startValue;
|
|
var func = isMax ? Math.max : Math.min;
|
|
return func(value, prevValue);
|
|
}, startValue);
|
|
};
|
|
Data.defaultBinarySearchComparer = function (array, index, value) {
|
|
var arrayElement = array[index];
|
|
if (arrayElement == value)
|
|
return 0;
|
|
else
|
|
return arrayElement < value ? -1 : 1;
|
|
};
|
|
return Data;
|
|
}());
|
|
exports.Data = Data;
|
|
|
|
|
|
/***/ }),
|
|
/* 82 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelChange_1 = __webpack_require__(83);
|
|
var Event_1 = __webpack_require__(10);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var CanvasItemsManager = /** @class */ (function (_super) {
|
|
__extends(CanvasItemsManager, _super);
|
|
function CanvasItemsManager(viewElement, zoomLevel) {
|
|
var _this = _super.call(this, zoomLevel) || this;
|
|
_this.itemSelectorGroupContainers = {};
|
|
_this.itemSelectorElements = {};
|
|
_this.itemGroupContainers = {};
|
|
_this.itemElements = {};
|
|
_this.itemChildElements = {};
|
|
_this.pendingChanges = {};
|
|
_this.updatesLock = 0;
|
|
_this.initializeContainerElements(viewElement);
|
|
return _this;
|
|
}
|
|
CanvasItemsManager.prototype.initializeContainerElements = function (view) {
|
|
this.itemSelectorsContainer = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null), view);
|
|
this.itemsContainer = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null), view);
|
|
};
|
|
CanvasItemsManager.prototype.clear = function () {
|
|
Utils_1.RenderUtils.removeContent(this.itemSelectorsContainer);
|
|
Utils_1.RenderUtils.removeContent(this.itemsContainer);
|
|
this.itemSelectorGroupContainers = {};
|
|
this.itemSelectorElements = {};
|
|
this.itemGroupContainers = {};
|
|
this.itemElements = {};
|
|
this.itemChildElements = {};
|
|
};
|
|
CanvasItemsManager.prototype.beginUpdate = function () {
|
|
this.updatesLock++;
|
|
};
|
|
CanvasItemsManager.prototype.endUpdate = function () {
|
|
this.updatesLock--;
|
|
if (this.updatesLock === 0)
|
|
this.applyPendingChanges();
|
|
};
|
|
CanvasItemsManager.prototype.getPendingChanges = function () {
|
|
var _this = this;
|
|
return Object.keys(this.pendingChanges).map(function (key) { return _this.pendingChanges[key]; });
|
|
};
|
|
CanvasItemsManager.prototype.applyPendingChanges = function () {
|
|
var changes = this.getPendingChanges();
|
|
while (changes.length) {
|
|
var changesCount = changes.length;
|
|
this.applyPendingChangesCore(changes);
|
|
changes = this.getPendingChanges();
|
|
if (changesCount === changes.length)
|
|
break;
|
|
}
|
|
this.pendingChanges = {};
|
|
};
|
|
CanvasItemsManager.prototype.applyPendingChangesCore = function (changes) {
|
|
var _this = this;
|
|
changes.forEach(function (change) {
|
|
if (_this.applyChange(change))
|
|
delete _this.pendingChanges[change.item.key];
|
|
});
|
|
};
|
|
CanvasItemsManager.prototype.applyChange = function (change) {
|
|
var item = change.item;
|
|
var itemParent = this.getItemParent(item.zIndex, item.container && item.container.key);
|
|
if (!itemParent)
|
|
return false;
|
|
if (item instanceof Shape_1.Shape)
|
|
this.applyShapeChange(item, change.type);
|
|
else if (item instanceof Connector_1.Connector)
|
|
this.applyConnectorChange(item, change.type);
|
|
return true;
|
|
};
|
|
CanvasItemsManager.prototype.postponeChanges = function (changes) {
|
|
var _this = this;
|
|
changes.forEach(function (change) {
|
|
if (!_this.pendingChanges[change.key])
|
|
_this.pendingChanges[change.key] = change;
|
|
else {
|
|
if (change.type === ModelChange_1.ItemChangeType.Create || change.type === ModelChange_1.ItemChangeType.Remove)
|
|
_this.pendingChanges[change.key] = change;
|
|
else if (change.type === ModelChange_1.ItemChangeType.UpdateStructure) {
|
|
if (_this.pendingChanges[change.key].type === ModelChange_1.ItemChangeType.Update)
|
|
_this.pendingChanges[change.key] = change;
|
|
}
|
|
}
|
|
});
|
|
};
|
|
// Notifications
|
|
CanvasItemsManager.prototype.notifyModelChanged = function (changes) {
|
|
var _this = this;
|
|
if (this.updatesLock === 0) {
|
|
changes.forEach(function (change) {
|
|
_this.applyChange(change);
|
|
});
|
|
}
|
|
else
|
|
this.postponeChanges(changes);
|
|
};
|
|
CanvasItemsManager.prototype.notifyPageColorChanged = function (color) { };
|
|
CanvasItemsManager.prototype.notifyPageSizeChanged = function (pageSize, pageLandscape) { };
|
|
CanvasItemsManager.prototype.notifyDragStart = function (itemKeys) {
|
|
var _this = this;
|
|
itemKeys.forEach(function (itemKey) {
|
|
if (_this.itemElements[itemKey])
|
|
_this.itemElements[itemKey].style.pointerEvents = "none";
|
|
if (_this.itemChildElements[itemKey])
|
|
_this.itemChildElements[itemKey].style.pointerEvents = "none";
|
|
if (_this.itemSelectorElements[itemKey])
|
|
_this.itemSelectorElements[itemKey].style.display = "none";
|
|
});
|
|
};
|
|
CanvasItemsManager.prototype.notifyDragEnd = function (itemKeys) {
|
|
var _this = this;
|
|
itemKeys.forEach(function (itemKey) {
|
|
if (_this.itemElements[itemKey])
|
|
_this.itemElements[itemKey].style.pointerEvents = "";
|
|
if (_this.itemChildElements[itemKey])
|
|
_this.itemChildElements[itemKey].style.pointerEvents = "";
|
|
if (_this.itemSelectorElements[itemKey])
|
|
_this.itemSelectorElements[itemKey].style.display = "";
|
|
});
|
|
};
|
|
CanvasItemsManager.prototype.notifyDragScrollStart = function () { };
|
|
CanvasItemsManager.prototype.notifyDragScrollEnd = function () { };
|
|
CanvasItemsManager.prototype.notifyTextInputStart = function (item, text, position, size) {
|
|
var element = this.itemElements[item.key];
|
|
var className = element.getAttribute("class");
|
|
element.setAttribute("class", className + " text-input");
|
|
};
|
|
CanvasItemsManager.prototype.notifyTextInputEnd = function (item) {
|
|
var element = this.itemElements[item.key];
|
|
var className = element.getAttribute("class");
|
|
element.setAttribute("class", className.replace(" text-input", ""));
|
|
};
|
|
CanvasItemsManager.prototype.notifyActualZoomChanged = function (actualZoom) {
|
|
var scale = "scale(" + actualZoom + ")";
|
|
this.itemsContainer.setAttribute('transform', scale);
|
|
this.itemSelectorsContainer.setAttribute('transform', scale);
|
|
this.actualZoom = actualZoom;
|
|
};
|
|
CanvasItemsManager.prototype.notifyViewAdjusted = function (canvasOffset) { };
|
|
// Drawing
|
|
CanvasItemsManager.prototype.applyShapeChange = function (shape, type) {
|
|
var key = shape.key;
|
|
var containerKey = shape.container && shape.container.key;
|
|
var itemSelectorParent = this.getItemSelectorGroupContainer(shape.zIndex, containerKey);
|
|
var itemParent = this.getItemGroupContainer(shape.zIndex, containerKey);
|
|
var className = "shape";
|
|
if (shape.enableChildren)
|
|
className += " container";
|
|
switch (type) {
|
|
case ModelChange_1.ItemChangeType.Create:
|
|
this.itemSelectorElements[key] = this.createItemElements(key, shape.getSelectorPrimitives(), itemSelectorParent, className, Event_1.MouseEventElementType.Shape);
|
|
this.itemElements[key] = this.createItemElements(key, shape.getPrimitives(), itemParent, className, Event_1.MouseEventElementType.Shape);
|
|
if (shape.enableChildren) {
|
|
this.itemChildElements[key] = this.createItemElements(key, [], itemParent, "container-children", Event_1.MouseEventElementType.Undefined);
|
|
this.changeItemChildrenVisibility(this.itemChildElements[key], shape.expanded);
|
|
}
|
|
break;
|
|
case ModelChange_1.ItemChangeType.Remove:
|
|
this.removeItemElements(this.itemSelectorElements[key]);
|
|
delete this.itemSelectorElements[key];
|
|
this.removeItemElements(this.itemElements[key]);
|
|
delete this.itemElements[key];
|
|
if (this.itemChildElements[key]) {
|
|
this.removeItemElements(this.itemChildElements[key]);
|
|
delete this.itemChildElements[key];
|
|
delete this.itemGroupContainers[key];
|
|
delete this.itemSelectorGroupContainers[key];
|
|
}
|
|
break;
|
|
case ModelChange_1.ItemChangeType.UpdateStructure:
|
|
case ModelChange_1.ItemChangeType.Update:
|
|
this.changeItemElements(shape.getSelectorPrimitives(), this.itemSelectorElements[key], type === ModelChange_1.ItemChangeType.UpdateStructure);
|
|
this.changeItemElements(shape.getPrimitives(), this.itemElements[key], type === ModelChange_1.ItemChangeType.UpdateStructure);
|
|
if (this.itemChildElements[key]) {
|
|
this.changeItemChildrenVisibility(this.itemChildElements[key], shape.expanded);
|
|
}
|
|
if (itemSelectorParent !== (this.itemSelectorElements[key] && this.itemSelectorElements[key].parentNode))
|
|
this.moveItemElements(itemSelectorParent, this.itemSelectorElements[key]);
|
|
if (itemParent !== (this.itemElements[key] && this.itemElements[key].parentNode))
|
|
this.moveItemElements(itemParent, this.itemElements[key]);
|
|
if (this.itemChildElements[key] && (itemParent !== this.itemChildElements[key].parentNode))
|
|
this.moveItemElements(itemParent, this.itemChildElements[key]);
|
|
break;
|
|
}
|
|
};
|
|
CanvasItemsManager.prototype.applyConnectorChange = function (connector, type) {
|
|
var key = connector.key;
|
|
var containerKey = connector.container && connector.container.key;
|
|
var itemSelectorParent = this.getItemSelectorGroupContainer(connector.zIndex, containerKey);
|
|
var itemParent = this.getItemGroupContainer(connector.zIndex, containerKey);
|
|
var className = "connector";
|
|
switch (type) {
|
|
case ModelChange_1.ItemChangeType.Create:
|
|
this.itemSelectorElements[key] = this.createItemElements(key, connector.getSelectorPrimitives(), itemSelectorParent, className, Event_1.MouseEventElementType.Connector);
|
|
this.itemElements[key] = this.createItemElements(key, connector.getPrimitives(), itemParent, className, Event_1.MouseEventElementType.Connector);
|
|
break;
|
|
case ModelChange_1.ItemChangeType.Remove:
|
|
this.removeItemElements(this.itemSelectorElements[key]);
|
|
delete this.itemSelectorElements[key];
|
|
this.removeItemElements(this.itemElements[key]);
|
|
delete this.itemElements[key];
|
|
break;
|
|
case ModelChange_1.ItemChangeType.UpdateStructure:
|
|
case ModelChange_1.ItemChangeType.Update:
|
|
this.changeItemElements(connector.getSelectorPrimitives(), this.itemSelectorElements[key], type === ModelChange_1.ItemChangeType.UpdateStructure);
|
|
this.changeItemElements(connector.getPrimitives(), this.itemElements[key], type === ModelChange_1.ItemChangeType.UpdateStructure);
|
|
if (itemSelectorParent !== (this.itemSelectorElements[key] && this.itemSelectorElements[key].parentNode))
|
|
this.moveItemElements(itemSelectorParent, this.itemSelectorElements[key]);
|
|
if (itemParent !== (this.itemElements[key] && this.itemElements[key].parentNode))
|
|
this.moveItemElements(itemParent, this.itemElements[key]);
|
|
break;
|
|
}
|
|
};
|
|
CanvasItemsManager.prototype.createItemElements = function (key, primitives, parent, className, type) {
|
|
var gEl = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], className), parent);
|
|
Utils_1.RenderUtils.setElementEventData(gEl, type, key);
|
|
this.createAndChangePrimitivesElements(primitives, gEl);
|
|
return gEl;
|
|
};
|
|
CanvasItemsManager.prototype.changeItemElements = function (primitives, element, updateStructure) {
|
|
if (updateStructure === void 0) { updateStructure = false; }
|
|
if (updateStructure) {
|
|
Utils_1.RenderUtils.removeContent(element);
|
|
this.createAndChangePrimitivesElements(primitives, element);
|
|
}
|
|
else
|
|
this.changePrimitivesElements(primitives, element);
|
|
};
|
|
CanvasItemsManager.prototype.removeItemElements = function (element) {
|
|
if (element && element.parentNode)
|
|
element.parentNode.removeChild(element);
|
|
};
|
|
CanvasItemsManager.prototype.moveItemElements = function (parent, element, sibling) {
|
|
if (element && parent) {
|
|
if (sibling)
|
|
parent.insertBefore(element, sibling);
|
|
else
|
|
parent.appendChild(element);
|
|
}
|
|
};
|
|
CanvasItemsManager.prototype.changeItemChildrenVisibility = function (element, expanded) {
|
|
element.style.display = expanded ? "" : "none";
|
|
};
|
|
CanvasItemsManager.prototype.getItemGroupContainerKey = function (zIndex, parentContainerKey) {
|
|
return parentContainerKey !== undefined ? zIndex + "_" + parentContainerKey : zIndex.toString();
|
|
};
|
|
CanvasItemsManager.prototype.getItemGroupContainer = function (zIndex, parentContainerKey) {
|
|
var parent = parentContainerKey !== undefined ? this.getItemParent(zIndex, parentContainerKey) : this.itemsContainer;
|
|
var key = parentContainerKey || "Main";
|
|
if (this.itemGroupContainers[key] === undefined || this.itemGroupContainers[key][zIndex] === undefined) {
|
|
if (this.itemGroupContainers[key] === undefined)
|
|
this.itemGroupContainers[key] = [];
|
|
this.itemGroupContainers[key][zIndex] = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null, zIndex), parent, this.itemGroupContainers[key][zIndex + 1]);
|
|
}
|
|
return this.itemGroupContainers[key][zIndex];
|
|
};
|
|
CanvasItemsManager.prototype.getItemSelectorGroupContainer = function (zIndex, parentContainerKey) {
|
|
var parent = parentContainerKey !== undefined ? this.getItemSelectorParent(zIndex, parentContainerKey) : this.itemSelectorsContainer;
|
|
var key = parentContainerKey || "Main";
|
|
if (this.itemSelectorGroupContainers[key] === undefined || this.itemSelectorGroupContainers[key][zIndex] === undefined) {
|
|
if (this.itemSelectorGroupContainers[key] === undefined)
|
|
this.itemSelectorGroupContainers[key] = [];
|
|
this.itemSelectorGroupContainers[key][zIndex] = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null, zIndex), parent, this.itemSelectorGroupContainers[key][zIndex + 1]);
|
|
}
|
|
return this.itemSelectorGroupContainers[key][zIndex];
|
|
};
|
|
CanvasItemsManager.prototype.getItemParent = function (zIndex, parentContainerKey) {
|
|
return parentContainerKey !== undefined ?
|
|
this.itemChildElements[parentContainerKey] :
|
|
this.getItemGroupContainer(zIndex);
|
|
};
|
|
CanvasItemsManager.prototype.getItemSelectorParent = function (zIndex, parentContainerKey) {
|
|
return parentContainerKey !== undefined ?
|
|
this.itemChildElements[parentContainerKey] :
|
|
this.getItemSelectorGroupContainer(zIndex);
|
|
};
|
|
return CanvasItemsManager;
|
|
}(CanvasManagerBase_1.CanvasManagerBase));
|
|
exports.CanvasItemsManager = CanvasItemsManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 83 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ItemChangeType;
|
|
(function (ItemChangeType) {
|
|
ItemChangeType[ItemChangeType["Create"] = 0] = "Create";
|
|
ItemChangeType[ItemChangeType["Update"] = 1] = "Update";
|
|
ItemChangeType[ItemChangeType["UpdateStructure"] = 2] = "UpdateStructure";
|
|
ItemChangeType[ItemChangeType["Remove"] = 3] = "Remove";
|
|
})(ItemChangeType = exports.ItemChangeType || (exports.ItemChangeType = {}));
|
|
var ItemChange = /** @class */ (function () {
|
|
function ItemChange(item, type) {
|
|
this.item = item;
|
|
this.type = type;
|
|
}
|
|
Object.defineProperty(ItemChange.prototype, "key", {
|
|
get: function () { return this.item.key; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return ItemChange;
|
|
}());
|
|
exports.ItemChange = ItemChange;
|
|
|
|
|
|
/***/ }),
|
|
/* 84 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var FilterPrimitive_1 = __webpack_require__(85);
|
|
var Model_1 = __webpack_require__(19);
|
|
var __1 = __webpack_require__(8);
|
|
var TextFilterPrimitive = /** @class */ (function (_super) {
|
|
__extends(TextFilterPrimitive, _super);
|
|
function TextFilterPrimitive(id, x, y, width, height) {
|
|
if (x === void 0) { x = "-0.05"; }
|
|
if (y === void 0) { y = "-0.05"; }
|
|
if (width === void 0) { width = "1.1"; }
|
|
if (height === void 0) { height = "1.1"; }
|
|
var _this = _super.call(this, id, x, y, width, height) || this;
|
|
_this.id = id;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
return _this;
|
|
}
|
|
TextFilterPrimitive.prototype.createChildElements = function (parent) {
|
|
var feFlood = document.createElementNS(RenderManager_1.svgNS, "feFlood");
|
|
parent.appendChild(feFlood);
|
|
var feComposite = document.createElementNS(RenderManager_1.svgNS, "feComposite");
|
|
feComposite.setAttribute("in", "SourceGraphic");
|
|
feComposite.setAttribute("operator", "atop");
|
|
parent.appendChild(feComposite);
|
|
};
|
|
return TextFilterPrimitive;
|
|
}(FilterPrimitive_1.FilterPrimitive));
|
|
exports.TextFilterPrimitive = TextFilterPrimitive;
|
|
var TextFloodFilterPrimitive = /** @class */ (function (_super) {
|
|
__extends(TextFloodFilterPrimitive, _super);
|
|
function TextFloodFilterPrimitive(id, floodColor, x, y, width, height) {
|
|
if (x === void 0) { x = "-0.05"; }
|
|
if (y === void 0) { y = "-0.05"; }
|
|
if (width === void 0) { width = "1.1"; }
|
|
if (height === void 0) { height = "1.1"; }
|
|
var _this = _super.call(this, id, x, y, width, height) || this;
|
|
_this.id = id;
|
|
_this.floodColor = floodColor;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
return _this;
|
|
}
|
|
TextFloodFilterPrimitive.prototype.applyChildrenProperties = function (element) {
|
|
for (var child = void 0, i = 0; child = element.childNodes[i]; i++) {
|
|
if (child.nodeName && child.nodeName.toUpperCase() === "FEFLOOD") {
|
|
this.prepareFEFloodNode(child);
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
TextFloodFilterPrimitive.prototype.prepareFEFloodNode = function (node) {
|
|
var colorHash = __1.ColorHelper.colorToHash(this.floodColor);
|
|
node.setAttribute("flood-color", colorHash);
|
|
node.setAttribute("class", "text-filter-flood");
|
|
if (this.floodColor !== Model_1.DiagramModel.defaultPageColor)
|
|
node.style.setProperty("flood-color", colorHash);
|
|
};
|
|
return TextFloodFilterPrimitive;
|
|
}(TextFilterPrimitive));
|
|
exports.TextFloodFilterPrimitive = TextFloodFilterPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 85 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var FilterPrimitive = /** @class */ (function (_super) {
|
|
__extends(FilterPrimitive, _super);
|
|
function FilterPrimitive(id, x, y, width, height) {
|
|
var _this = _super.call(this) || this;
|
|
_this.id = id;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
return _this;
|
|
}
|
|
FilterPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "filter");
|
|
};
|
|
FilterPrimitive.prototype.applyElementProperties = function (element) {
|
|
if (this.id)
|
|
element.setAttribute("id", this.id);
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
this.setUnitAttribute(element, "width", this.width);
|
|
this.setUnitAttribute(element, "height", this.height);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return FilterPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.FilterPrimitive = FilterPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 86 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base64Utils = /** @class */ (function () {
|
|
function Base64Utils() {
|
|
}
|
|
Base64Utils.normalize = function (base64, mimeType) {
|
|
if (mimeType === void 0) { mimeType = "image/png"; }
|
|
if (!Base64Utils.checkPrependDataUrl(base64))
|
|
base64 = Base64Utils.prepend(base64, mimeType);
|
|
return base64;
|
|
};
|
|
Base64Utils.prepend = function (base64, mimeType) {
|
|
if (mimeType === void 0) { mimeType = "image/png"; }
|
|
return "data:" + mimeType + ";base64," + base64;
|
|
};
|
|
Base64Utils.checkPrependDataUrl = function (base64) {
|
|
return Base64Utils.dataUrl.test(base64);
|
|
};
|
|
Base64Utils.dataUrl = /data:(.*)(;(.*))?(;base64)?,/;
|
|
return Base64Utils;
|
|
}());
|
|
exports.Base64Utils = Base64Utils;
|
|
|
|
|
|
/***/ }),
|
|
/* 87 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var Event_1 = __webpack_require__(10);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var Utils_2 = __webpack_require__(0);
|
|
var ExtensionLinesVisualizer_1 = __webpack_require__(88);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var TextPrimitive_1 = __webpack_require__(64);
|
|
var MaskPrimitive_1 = __webpack_require__(140);
|
|
var TextFilterPrimitive_1 = __webpack_require__(84);
|
|
var EllipsePrimitive_1 = __webpack_require__(42);
|
|
var LinePrimitive_1 = __webpack_require__(80);
|
|
var __1 = __webpack_require__(8);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var MULTIPLE_SELECTION_KEY = "-1";
|
|
exports.SELECTION_ELEMENT_CLASSNAMES = {
|
|
SELECTION_RECTANGLE: "selection-rect",
|
|
CONNECTION_POINT: "connection-point",
|
|
ACTIVE: "active",
|
|
CONTAINER_TARGET: "container-target",
|
|
CONNECTION_TARGET: "connection-target",
|
|
EXTENSION_LINE: "extension-line",
|
|
CONNECTION_MARK: "connection-mark",
|
|
SELECTION_MARK: "selection-mark",
|
|
LOCKED_SELECTION_MARK: "locked-selection-mark",
|
|
ITEMS_SELECTION_RECT: "items-selection-rect",
|
|
CONNECTOR_MULTI_SELECTION: "connector-multi-selection",
|
|
CONNECTOR_SELECTION: "connector-selection",
|
|
CONNECTOR_POINT_MARK: "connector-point-mark",
|
|
CONNECTOR_SELECTION_MASK: "connector-selection-mask",
|
|
CONNECTOR_SIDE_MARK: "connector-side-mark",
|
|
ITEM_SELECTION_RECT: "item-selection-rect",
|
|
ITEM_MULTI_SELECTION: "item-multi-selection-rect"
|
|
};
|
|
var CanvasSelectionManager = /** @class */ (function (_super) {
|
|
__extends(CanvasSelectionManager, _super);
|
|
function CanvasSelectionManager(parent, zoomLevel, readOnly) {
|
|
var _this = _super.call(this, zoomLevel) || this;
|
|
_this.readOnly = readOnly;
|
|
_this.connectionPointElements = [];
|
|
_this.extensionLineElements = [];
|
|
_this.selectionMap = {};
|
|
_this.initializeContainerElements(parent);
|
|
return _this;
|
|
}
|
|
CanvasSelectionManager.prototype.initializeContainerElements = function (parent) {
|
|
this.itemSelectionContainer = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null), parent);
|
|
this.visualizersContainer = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null), parent);
|
|
this.selectionMarksContainer = this.createAndChangePrimitiveElement(new GroupPrimitive_1.GroupPrimitive([], null), parent);
|
|
};
|
|
CanvasSelectionManager.prototype.clear = function () {
|
|
Utils_1.RenderUtils.removeContent(this.itemSelectionContainer);
|
|
Utils_1.RenderUtils.removeContent(this.selectionMarksContainer);
|
|
Utils_1.RenderUtils.removeContent(this.visualizersContainer);
|
|
this.selectionRectElement = undefined;
|
|
this.resizeInfoElement = undefined;
|
|
this.connectionPointElements = [];
|
|
this.connectionTargetElement = undefined;
|
|
this.containerTargetElement = undefined;
|
|
this.extensionLineElements = [];
|
|
this.selectionMap = {};
|
|
};
|
|
CanvasSelectionManager.prototype.showSelectionRect = function (rect) {
|
|
var primitive = new RectaglePrimitive_1.RectanglePrimitive(rect.left, rect.top, rect.size.width, rect.size.height, null, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_RECTANGLE);
|
|
var rectEl = this.getSelectionRectElement(primitive);
|
|
this.changePrimitiveElement(primitive, rectEl);
|
|
};
|
|
CanvasSelectionManager.prototype.hideSelectionRect = function () {
|
|
if (this.selectionRectElement !== undefined)
|
|
this.selectionRectElement.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.getSelectionRectElement = function (primitive) {
|
|
if (this.selectionRectElement !== undefined)
|
|
this.selectionRectElement.style.display = "";
|
|
else
|
|
this.selectionRectElement = this.createPrimitiveElement(primitive, this.visualizersContainer);
|
|
return this.selectionRectElement;
|
|
};
|
|
CanvasSelectionManager.prototype.showResizeInfo = function (point, text) {
|
|
var rectPrimitive = new RectaglePrimitive_1.RectanglePrimitive(point.x, point.y, 0, 0);
|
|
var primitive = new GroupPrimitive_1.GroupPrimitive([
|
|
rectPrimitive,
|
|
new TextPrimitive_1.TextPrimitive(point.x, point.y, text)
|
|
], "resize-info");
|
|
var groupEl = this.getResizeInfoElement(primitive);
|
|
this.changePrimitiveElement(primitive, groupEl);
|
|
var textRect = Utils_1.RenderUtils.getSvgTextRectangle(groupEl.childNodes[1], CanvasSelectionManager.resizeInfoLineWidth)
|
|
.inflate(CanvasSelectionManager.resizeInfoTextOffset, CanvasSelectionManager.resizeInfoTextOffset);
|
|
rectPrimitive.x = textRect.left;
|
|
rectPrimitive.y = textRect.top;
|
|
rectPrimitive.width = textRect.width;
|
|
rectPrimitive.height = textRect.height;
|
|
this.changePrimitiveElement(primitive, groupEl);
|
|
};
|
|
CanvasSelectionManager.prototype.hideResizeInfo = function () {
|
|
if (this.resizeInfoElement !== undefined)
|
|
this.resizeInfoElement.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.getResizeInfoElement = function (primitive) {
|
|
if (this.resizeInfoElement !== undefined)
|
|
this.resizeInfoElement.style.display = "";
|
|
else
|
|
this.resizeInfoElement = this.createPrimitiveElement(primitive, this.visualizersContainer);
|
|
return this.resizeInfoElement;
|
|
};
|
|
CanvasSelectionManager.prototype.showConnectionPoint = function (index, point, side, key, value, active) {
|
|
this.showConnectionPointCore(index * 2, point.x, point.y, CanvasSelectionManager.connectionPointLargeSize, CanvasSelectionManager.connectionPointLargeSize, Event_1.MouseEventElementType.ShapeConnectionPoint, key, value, exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTION_POINT + " selector");
|
|
this.showConnectionPointCore(index * 2 + 1, point.x, point.y, CanvasSelectionManager.connectionPointSmallSize, CanvasSelectionManager.connectionPointSmallSize, Event_1.MouseEventElementType.ShapeConnectionPoint, key, value, exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTION_POINT + (active ? (" " + exports.SELECTION_ELEMENT_CLASSNAMES.ACTIVE) : ""));
|
|
};
|
|
CanvasSelectionManager.prototype.showConnectionPointCore = function (index, cx, cy, rx, ry, type, key, value, className) {
|
|
var primitive = new EllipsePrimitive_1.EllipsePrimitive(cx, cy, rx, ry, null, className);
|
|
var ellEl = this.getConnectionPointElement(primitive, index);
|
|
this.changePrimitiveElement(primitive, ellEl);
|
|
Utils_1.RenderUtils.setElementEventData(ellEl, type, key, value);
|
|
};
|
|
CanvasSelectionManager.prototype.hideConnectionPoints = function () {
|
|
for (var i = 0; i < this.connectionPointElements.length; i++)
|
|
this.connectionPointElements[i].style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.getConnectionPointElement = function (primitive, index) {
|
|
var ellEl = this.connectionPointElements[index];
|
|
if (ellEl !== undefined)
|
|
ellEl.style.display = "";
|
|
else {
|
|
ellEl = this.createPrimitiveElement(primitive, this.visualizersContainer);
|
|
this.connectionPointElements[index] = ellEl;
|
|
}
|
|
return ellEl;
|
|
};
|
|
CanvasSelectionManager.prototype.showContainerTarget = function (index, targetRect) {
|
|
var primitive = new RectaglePrimitive_1.RectanglePrimitive(targetRect.left, targetRect.top, targetRect.width, targetRect.height, null, exports.SELECTION_ELEMENT_CLASSNAMES.CONTAINER_TARGET);
|
|
var rectEl = this.getContainerTargetElement(primitive, index);
|
|
this.changePrimitiveElement(primitive, rectEl);
|
|
};
|
|
CanvasSelectionManager.prototype.hideContainerTarget = function () {
|
|
if (this.containerTargetElement)
|
|
this.containerTargetElement.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.getContainerTargetElement = function (primitive, index) {
|
|
if (this.containerTargetElement !== undefined)
|
|
this.containerTargetElement.style.display = "";
|
|
else {
|
|
this.containerTargetElement = this.createPrimitiveElement(primitive, this.itemSelectionContainer);
|
|
}
|
|
return this.containerTargetElement;
|
|
};
|
|
CanvasSelectionManager.prototype.showConnectionTarget = function (index, targetRect) {
|
|
var primitive = new RectaglePrimitive_1.RectanglePrimitive(targetRect.left, targetRect.top, targetRect.width, targetRect.height, null, exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTION_TARGET);
|
|
var rectEl = this.getConnectionTargetElement(primitive, index);
|
|
this.changePrimitiveElement(primitive, rectEl);
|
|
};
|
|
CanvasSelectionManager.prototype.hideConnectionTarget = function () {
|
|
if (this.connectionTargetElement)
|
|
this.connectionTargetElement.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.getConnectionTargetElement = function (primitive, index) {
|
|
if (this.connectionTargetElement !== undefined)
|
|
this.connectionTargetElement.style.display = "";
|
|
else {
|
|
this.connectionTargetElement = this.createPrimitiveElement(primitive, this.itemSelectionContainer);
|
|
}
|
|
return this.connectionTargetElement;
|
|
};
|
|
CanvasSelectionManager.prototype.showExtensionLine = function (index, type, startPoint, endPoint, text) {
|
|
var className = exports.SELECTION_ELEMENT_CLASSNAMES.EXTENSION_LINE;
|
|
if (type === ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterAfter || type === ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterBefore ||
|
|
type === ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterAbove || type === ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterBelow)
|
|
className += " center";
|
|
if (type === ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterToPageCenter || type === ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterToPageCenter ||
|
|
type === ExtensionLinesVisualizer_1.ExtensionLineType.LeftToPageCenter || type === ExtensionLinesVisualizer_1.ExtensionLineType.RightToPageCenter ||
|
|
type === ExtensionLinesVisualizer_1.ExtensionLineType.TopToPageCenter || type === ExtensionLinesVisualizer_1.ExtensionLineType.BottomToPageCenter)
|
|
className += " page";
|
|
var x1_1 = 0, y1_1 = 0, x1_2 = 0, y1_2 = 0, x2_1 = 0, y2_1 = 0, x2_2 = 0, y2_2 = 0;
|
|
if (startPoint.y === endPoint.y) {
|
|
x1_1 = startPoint.x;
|
|
y1_1 = startPoint.y - CanvasSelectionManager.extensionLineEndingSize;
|
|
x1_2 = startPoint.x;
|
|
y1_2 = startPoint.y + CanvasSelectionManager.extensionLineEndingSize;
|
|
x2_1 = endPoint.x;
|
|
y2_1 = startPoint.y - CanvasSelectionManager.extensionLineEndingSize;
|
|
x2_2 = endPoint.x;
|
|
y2_2 = startPoint.y + CanvasSelectionManager.extensionLineEndingSize;
|
|
}
|
|
else if (startPoint.x === endPoint.x) {
|
|
x1_1 = startPoint.x - CanvasSelectionManager.extensionLineEndingSize;
|
|
y1_1 = startPoint.y;
|
|
x1_2 = startPoint.x + CanvasSelectionManager.extensionLineEndingSize;
|
|
y1_2 = startPoint.y;
|
|
x2_1 = startPoint.x - CanvasSelectionManager.extensionLineEndingSize;
|
|
y2_1 = endPoint.y;
|
|
x2_2 = startPoint.x + CanvasSelectionManager.extensionLineEndingSize;
|
|
y2_2 = endPoint.y;
|
|
}
|
|
var linePrimitives = [
|
|
new LinePrimitive_1.LinePrimitive(startPoint.x, startPoint.y, endPoint.x, endPoint.y),
|
|
new LinePrimitive_1.LinePrimitive(x1_1, y1_1, x1_2, y1_2),
|
|
new LinePrimitive_1.LinePrimitive(x2_1, y2_1, x2_2, y2_2),
|
|
new TextPrimitive_1.TextPrimitive((endPoint.x + startPoint.x) / 2, (endPoint.y + startPoint.y) / 2, text, undefined, null, false, null, CanvasManagerBase_1.PAGE_BG_TEXTFLOOR_FILTER_ID, false, function (el) {
|
|
el.style.display = text && text !== "" ? "inherit" : "none";
|
|
})
|
|
];
|
|
var primitive = new GroupPrimitive_1.GroupPrimitive(linePrimitives, className);
|
|
var ellEl = this.getExtensionLineElement(primitive, index);
|
|
this.changePrimitiveElement(primitive, ellEl);
|
|
};
|
|
CanvasSelectionManager.prototype.hideExtensionLines = function () {
|
|
for (var i = 0; i < this.extensionLineElements.length; i++) {
|
|
if (this.extensionLineElements[i])
|
|
this.extensionLineElements[i].style.display = "none";
|
|
}
|
|
};
|
|
CanvasSelectionManager.prototype.getExtensionLineElement = function (primitive, index) {
|
|
var ellEl = this.extensionLineElements[index];
|
|
if (ellEl !== undefined)
|
|
ellEl.style.display = "";
|
|
else {
|
|
ellEl = this.createPrimitiveElement(primitive, this.visualizersContainer);
|
|
this.extensionLineElements[index] = (ellEl);
|
|
}
|
|
return ellEl;
|
|
};
|
|
CanvasSelectionManager.prototype.getOrCreateShapeSelection = function (shape, usedItems) {
|
|
var element = this.selectionMap[shape.key];
|
|
if (!element) {
|
|
element = new ShapeSelectionElement(this.itemSelectionContainer, this.selectionMarksContainer, this.actualZoom, this.readOnly, shape.key, shape.isLocked, shape.rectangle, shape.allowResizeHorizontally, shape.allowResizeVertically, shape.description.getParameterPoints(shape));
|
|
this.selectionMap[shape.key] = element;
|
|
}
|
|
usedItems && (usedItems[shape.key] = true);
|
|
return element;
|
|
};
|
|
CanvasSelectionManager.prototype.getOrCreateConnectorSelection = function (connector, usedItems) {
|
|
var element = this.selectionMap[connector.key];
|
|
if (!element) {
|
|
element = new ConnectorSelectionElement(this.itemSelectionContainer, this.selectionMarksContainer, this.actualZoom, this.readOnly, connector.key, connector.isLocked, connector.rectangle, connector.getRenderPoints(), connector.styleText, connector.enableText, connector.texts.map(function (t) {
|
|
return {
|
|
text: connector.getText(t.position),
|
|
point: connector.getTextPoint(t.position)
|
|
};
|
|
}), connector.points, connector.properties.lineOption);
|
|
this.selectionMap[connector.key] = element;
|
|
}
|
|
usedItems && (usedItems[connector.key] = true);
|
|
return element;
|
|
};
|
|
CanvasSelectionManager.prototype.getOrCreateMultipleSelection = function (usedItems) {
|
|
var element = this.selectionMap[MULTIPLE_SELECTION_KEY];
|
|
if (!element) {
|
|
element = new MultipleSelectionElement(this.itemSelectionContainer, this.selectionMarksContainer, this.actualZoom, this.readOnly);
|
|
this.selectionMap[MULTIPLE_SELECTION_KEY] = element;
|
|
}
|
|
usedItems[MULTIPLE_SELECTION_KEY] = true;
|
|
return element;
|
|
};
|
|
CanvasSelectionManager.prototype.getMultipleSelection = function () {
|
|
return this.selectionMap[MULTIPLE_SELECTION_KEY];
|
|
};
|
|
CanvasSelectionManager.prototype.updateShapeSelection = function (shape, multipleSelection) {
|
|
if (shape.key in this.selectionMap) {
|
|
var rect = shape.rectangle;
|
|
this.getOrCreateShapeSelection(shape)
|
|
.onModelChanged(shape.isLocked, rect, shape.allowResizeHorizontally, shape.allowResizeVertically, shape.description.getParameterPoints(shape));
|
|
multipleSelection && multipleSelection.onModelItemChanged(shape.key, rect);
|
|
}
|
|
};
|
|
CanvasSelectionManager.prototype.updateConnectorSelection = function (connector, multipleSelection) {
|
|
if (connector.key in this.selectionMap) {
|
|
var rect = connector.rectangle;
|
|
this.getOrCreateConnectorSelection(connector)
|
|
.onModelChanged(connector.isLocked, rect, connector.getRenderPoints(), connector.styleText, connector.enableText, connector.texts.map(function (t) {
|
|
return {
|
|
text: connector.getText(t.position),
|
|
point: connector.getTextPoint(t.position)
|
|
};
|
|
}), connector.points, connector.properties.lineOption);
|
|
multipleSelection && multipleSelection.onModelItemChanged(connector.key, rect);
|
|
}
|
|
};
|
|
CanvasSelectionManager.prototype.hideOutdatedSelection = function (updated) {
|
|
var _this = this;
|
|
Object.keys(this.selectionMap)
|
|
.filter(function (k) { return !updated[k]; })
|
|
.forEach(function (k) {
|
|
_this.selectionMap[k].destroy();
|
|
delete _this.selectionMap[k];
|
|
});
|
|
};
|
|
CanvasSelectionManager.prototype.notifySelectionChanged = function (selection) {
|
|
var _this = this;
|
|
var items = selection.getSelectedItems(true);
|
|
var changedItems = {};
|
|
var isMultipleSelection = items.length > 1;
|
|
var shapes = selection.getSelectedShapes(true);
|
|
var connectors = selection.getSelectedConnectors(true);
|
|
shapes.forEach(function (shape) { return _this.getOrCreateShapeSelection(shape, changedItems).onSelectionChanged(isMultipleSelection); });
|
|
connectors.forEach(function (connector) { return _this.getOrCreateConnectorSelection(connector, changedItems).onSelectionChanged(isMultipleSelection); });
|
|
if (isMultipleSelection)
|
|
this.getOrCreateMultipleSelection(changedItems).onSelectionChanged(!!shapes.length, items);
|
|
this.hideOutdatedSelection(changedItems);
|
|
};
|
|
CanvasSelectionManager.prototype.notifyModelChanged = function (changes) {
|
|
var _this = this;
|
|
var multipleSelection = this.getMultipleSelection();
|
|
changes.forEach(function (change) {
|
|
if (change.item instanceof Shape_1.Shape)
|
|
_this.updateShapeSelection(change.item, multipleSelection);
|
|
else if (change.item instanceof Connector_1.Connector)
|
|
_this.updateConnectorSelection(change.item, multipleSelection);
|
|
});
|
|
multipleSelection && multipleSelection.onModelChanged();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyPageColorChanged = function (color) { };
|
|
CanvasSelectionManager.prototype.notifyPageSizeChanged = function (pageSize, pageLandscape) { };
|
|
CanvasSelectionManager.prototype.notifyActualZoomChanged = function (actualZoom) {
|
|
var _this = this;
|
|
Object.keys(this.selectionMap).forEach(function (k) { return _this.selectionMap[k].notifyZoomChanged(actualZoom); });
|
|
this.actualZoom = actualZoom;
|
|
};
|
|
CanvasSelectionManager.prototype.notifyViewAdjusted = function (canvasOffset) { };
|
|
CanvasSelectionManager.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
var _this = this;
|
|
this.readOnly = readOnly;
|
|
Object.keys(this.selectionMap).forEach(function (k) { return _this.selectionMap[k].notifyReadOnlyChanged(readOnly); });
|
|
};
|
|
CanvasSelectionManager.prototype.notifySelectionRectShow = function (rect) {
|
|
this.showSelectionRect(rect.multiply(this.actualZoom));
|
|
};
|
|
CanvasSelectionManager.prototype.notifySelectionRectHide = function () {
|
|
this.hideSelectionRect();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyResizeInfoShow = function (point, text) {
|
|
this.showResizeInfo(point.multiply(this.actualZoom), text);
|
|
};
|
|
CanvasSelectionManager.prototype.notifyResizeInfoHide = function () {
|
|
this.hideResizeInfo();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyConnectionPointsShow = function (key, points, activePointIndex, showOutside) {
|
|
var _this = this;
|
|
this.hideConnectionPoints();
|
|
points.forEach(function (p, index) {
|
|
var point = p.point.multiply(_this.actualZoom);
|
|
if (showOutside) {
|
|
switch (p.side) {
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
point.y -= CanvasSelectionManager.connectionPointShift;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
point.y += CanvasSelectionManager.connectionPointShift;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
point.x += CanvasSelectionManager.connectionPointShift;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
point.x -= CanvasSelectionManager.connectionPointShift;
|
|
break;
|
|
}
|
|
}
|
|
_this.showConnectionPoint(index, point, p.side, key, index, index === activePointIndex);
|
|
});
|
|
};
|
|
CanvasSelectionManager.prototype.notifyConnectionPointsHide = function () {
|
|
this.hideConnectionPoints();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyConnectionTargetShow = function (key, targetRect) {
|
|
var rect = CanvasSelectionManager.correctShapeSelectionRect(targetRect.multiply(this.actualZoom), CanvasSelectionManager.connectionTargetBorderWidth, this.actualZoom);
|
|
this.showConnectionTarget(0, rect);
|
|
};
|
|
CanvasSelectionManager.prototype.notifyConnectionTargetHide = function () {
|
|
this.hideConnectionTarget();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyContainerTargetShow = function (key, targetRect) {
|
|
var rect = CanvasSelectionManager.correctShapeSelectionRect(targetRect.multiply(this.actualZoom), CanvasSelectionManager.connectionTargetBorderWidth, this.actualZoom);
|
|
this.showContainerTarget(0, rect);
|
|
};
|
|
CanvasSelectionManager.prototype.notifyContainerTargetHide = function () {
|
|
this.hideContainerTarget();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyExtensionLinesShow = function (lines) {
|
|
var _this = this;
|
|
this.hideExtensionLines();
|
|
lines.forEach(function (line, index) {
|
|
_this.showExtensionLine(index, line.type, line.segment.startPoint.multiply(_this.actualZoom), line.segment.endPoint.multiply(_this.actualZoom), line.text);
|
|
});
|
|
};
|
|
CanvasSelectionManager.prototype.notifyExtensionLinesHide = function () {
|
|
this.hideExtensionLines();
|
|
};
|
|
CanvasSelectionManager.prototype.notifyDragStart = function (itemKeys) {
|
|
this.selectionMarksContainer.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.notifyDragEnd = function (itemKeys) {
|
|
this.selectionMarksContainer.style.display = "";
|
|
};
|
|
CanvasSelectionManager.prototype.notifyDragScrollStart = function () { };
|
|
CanvasSelectionManager.prototype.notifyDragScrollEnd = function () { };
|
|
CanvasSelectionManager.prototype.notifyTextInputStart = function (item, text, position, size) {
|
|
this.visualizersContainer.style.display = "none";
|
|
};
|
|
CanvasSelectionManager.prototype.notifyTextInputEnd = function (item) {
|
|
this.visualizersContainer.style.display = "";
|
|
};
|
|
CanvasSelectionManager.correctShapeSelectionRect = function (rect, lineWidth, zoomLevel) {
|
|
var corr = Math.ceil(Shape_1.Shape.lineWidth / 2 * zoomLevel);
|
|
rect = rect.inflate(corr, corr);
|
|
var lwCorr = Math.floor(lineWidth / 2);
|
|
rect.position.x -= lwCorr;
|
|
rect.position.y -= lwCorr;
|
|
rect.size.width += lineWidth;
|
|
rect.size.height += lineWidth;
|
|
return rect;
|
|
};
|
|
CanvasSelectionManager.selectionMarkSize = UnitConverter_1.UnitConverter.pixelsToTwips(10);
|
|
CanvasSelectionManager.lockedSelectionMarkSize = UnitConverter_1.UnitConverter.pixelsToTwips(8);
|
|
CanvasSelectionManager.selectionRectLineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
CanvasSelectionManager.multiSelectionRectLineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
CanvasSelectionManager.connectionPointSmallSize = UnitConverter_1.UnitConverter.pixelsToTwips(5);
|
|
CanvasSelectionManager.connectionPointLargeSize = UnitConverter_1.UnitConverter.pixelsToTwips(12);
|
|
CanvasSelectionManager.connectionPointShift = UnitConverter_1.UnitConverter.pixelsToTwips(16);
|
|
CanvasSelectionManager.connectionTargetBorderWidth = UnitConverter_1.UnitConverter.pixelsToTwips(2);
|
|
CanvasSelectionManager.connectorSelectionLineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
CanvasSelectionManager.connectorSelectionWidth = UnitConverter_1.UnitConverter.pixelsToTwips(6);
|
|
CanvasSelectionManager.geomertyMarkSize = UnitConverter_1.UnitConverter.pixelsToTwips(8);
|
|
CanvasSelectionManager.connectorPointMarkSize = UnitConverter_1.UnitConverter.pixelsToTwips(6);
|
|
CanvasSelectionManager.connectorSideMarkSize = UnitConverter_1.UnitConverter.pixelsToTwips(6);
|
|
CanvasSelectionManager.extensionLineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
CanvasSelectionManager.extensionLineOffset = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
CanvasSelectionManager.extensionLineEndingSize = UnitConverter_1.UnitConverter.pixelsToTwips(6);
|
|
CanvasSelectionManager.resizeInfoOffset = UnitConverter_1.UnitConverter.pixelsToTwips(16);
|
|
CanvasSelectionManager.resizeInfoTextOffset = UnitConverter_1.UnitConverter.pixelsToTwips(2);
|
|
CanvasSelectionManager.resizeInfoLineWidth = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
return CanvasSelectionManager;
|
|
}(CanvasManagerBase_1.CanvasManagerBase));
|
|
exports.CanvasSelectionManager = CanvasSelectionManager;
|
|
var CanvasElement = /** @class */ (function () {
|
|
function CanvasElement(rectsContainer, marksContainer, key, zoomLevel, readOnly) {
|
|
this.rectsContainer = rectsContainer;
|
|
this.marksContainer = marksContainer;
|
|
this.key = key;
|
|
this.zoomLevel = zoomLevel;
|
|
this.readOnly = readOnly;
|
|
this.elements = {};
|
|
this.updatedElements = {};
|
|
}
|
|
CanvasElement.prototype.notifyZoomChanged = function (zoom) {
|
|
if (this.zoomLevel !== zoom) {
|
|
this.zoomLevel = zoom;
|
|
this.redraw();
|
|
}
|
|
};
|
|
CanvasElement.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
this.readOnly = readOnly;
|
|
this.redraw();
|
|
};
|
|
CanvasElement.prototype.destroy = function () {
|
|
var _this = this;
|
|
Object.keys(this.elements)
|
|
.forEach(function (key) {
|
|
_this.elements[key].parentNode.removeChild(_this.elements[key]);
|
|
delete _this.elements[key];
|
|
});
|
|
};
|
|
CanvasElement.prototype.redraw = function () {
|
|
var _this = this;
|
|
this.updatedElements = {};
|
|
this.redrawCore();
|
|
Object.keys(this.elements)
|
|
.filter(function (key) { return !_this.updatedElements[key]; })
|
|
.forEach(function (key) {
|
|
_this.elements[key].parentNode.removeChild(_this.elements[key]);
|
|
delete _this.elements[key];
|
|
});
|
|
this.updatedElements = {};
|
|
};
|
|
CanvasElement.prototype.drawSelectionMarks = function (rect, allowResizeHorizontally, allowResizeVertically) {
|
|
if (this.readOnly)
|
|
return;
|
|
var hasEWMarks = allowResizeHorizontally && rect.height > CanvasSelectionManager.selectionMarkSize * 3;
|
|
var hasNSMarks = allowResizeVertically && rect.width > CanvasSelectionManager.selectionMarkSize * 3;
|
|
var hasCornerMarks = allowResizeHorizontally || allowResizeVertically;
|
|
if (hasCornerMarks)
|
|
this.drawSelectionMark(0, new Utils_2.Point(rect.left, rect.top), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_NW, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasNSMarks && !__1.Browser.TouchUI)
|
|
this.drawSelectionMark(1, new Utils_2.Point(rect.left + rect.size.width / 2, rect.top), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_N, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasCornerMarks)
|
|
this.drawSelectionMark(2, new Utils_2.Point(rect.right, rect.top), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_NE, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasEWMarks && !__1.Browser.TouchUI)
|
|
this.drawSelectionMark(3, new Utils_2.Point(rect.right, rect.top + rect.size.height / 2), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_E, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasCornerMarks)
|
|
this.drawSelectionMark(4, new Utils_2.Point(rect.right, rect.bottom), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_SE, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasNSMarks && !__1.Browser.TouchUI)
|
|
this.drawSelectionMark(5, new Utils_2.Point(rect.left + rect.size.width / 2, rect.bottom), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_S, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasCornerMarks)
|
|
this.drawSelectionMark(6, new Utils_2.Point(rect.left, rect.bottom), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_SW, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
if (hasEWMarks && !__1.Browser.TouchUI)
|
|
this.drawSelectionMark(7, new Utils_2.Point(rect.left, rect.top + rect.size.height / 2), CanvasSelectionManager.selectionMarkSize, Event_1.MouseEventElementType.ShapeResizeBox, Event_1.ResizeEventSource.ResizeBox_W, exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK);
|
|
};
|
|
CanvasElement.prototype.drawSelectionMark = function (index, point, size, type, value, className) {
|
|
var _this = this;
|
|
this.getOrCreateElement("SM" + index, new RectaglePrimitive_1.RectanglePrimitive(point.x - size / 2, point.y - size / 2, size, size, null, className, undefined, function (el) {
|
|
Utils_1.RenderUtils.setElementEventData(el, type, _this.key, value);
|
|
}), this.marksContainer);
|
|
};
|
|
CanvasElement.prototype.drawSelectionRect = function (rectangle, type, className) {
|
|
var primitive = new RectaglePrimitive_1.RectanglePrimitive(rectangle.left, rectangle.top, rectangle.width, rectangle.height, null, className, undefined, function (el) {
|
|
Utils_1.RenderUtils.setElementEventData(el, type, "-1", -1);
|
|
});
|
|
this.getOrCreateElement("shapeSelection", primitive, this.rectsContainer);
|
|
};
|
|
CanvasElement.prototype.getOrCreateElement = function (cacheKey, primitive, container) {
|
|
var element = this.elements[cacheKey];
|
|
if (!element) {
|
|
element = primitive.createElement();
|
|
this.elements[cacheKey] = element;
|
|
container.appendChild(element);
|
|
}
|
|
this.updatedElements[cacheKey] = true;
|
|
primitive.applyElementProperties(element);
|
|
return element;
|
|
};
|
|
return CanvasElement;
|
|
}());
|
|
var ItemSelectionElement = /** @class */ (function (_super) {
|
|
__extends(ItemSelectionElement, _super);
|
|
function ItemSelectionElement(rectsContainer, marksContainer, key, zoomLevel, readOnly, isLocked, rectangle) {
|
|
var _this = _super.call(this, rectsContainer, marksContainer, key, zoomLevel, readOnly) || this;
|
|
_this.isLocked = isLocked;
|
|
_this.rectangle = rectangle;
|
|
return _this;
|
|
}
|
|
ItemSelectionElement.prototype.onSelectionChanged = function (isMultipleSelection) {
|
|
if (this.isMultipleSelection !== isMultipleSelection) {
|
|
this.isMultipleSelection = isMultipleSelection;
|
|
this.redraw();
|
|
}
|
|
};
|
|
ItemSelectionElement.prototype.redrawCore = function () {
|
|
var rect = this.rectangle.multiply(this.zoomLevel);
|
|
if (this.isLockedRender())
|
|
this.drawLockedSelection(rect);
|
|
else
|
|
this.drawUnlockedSelection(rect);
|
|
};
|
|
ItemSelectionElement.prototype.isLockedRender = function () {
|
|
return this.isLocked && !this.readOnly;
|
|
};
|
|
ItemSelectionElement.prototype.drawLockedSelection = function (rect) {
|
|
this.drawLockedSelectionMark(0, new Utils_2.Point(rect.left, rect.top), CanvasSelectionManager.lockedSelectionMarkSize, exports.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK);
|
|
this.drawLockedSelectionMark(1, new Utils_2.Point(rect.right, rect.top), CanvasSelectionManager.lockedSelectionMarkSize, exports.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK);
|
|
this.drawLockedSelectionMark(2, new Utils_2.Point(rect.right, rect.bottom), CanvasSelectionManager.lockedSelectionMarkSize, exports.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK);
|
|
this.drawLockedSelectionMark(3, new Utils_2.Point(rect.left, rect.bottom), CanvasSelectionManager.lockedSelectionMarkSize, exports.SELECTION_ELEMENT_CLASSNAMES.LOCKED_SELECTION_MARK);
|
|
};
|
|
ItemSelectionElement.prototype.drawLockedSelectionMark = function (index, point, size, className) {
|
|
var primitive = new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(point.x - size / 2, point.y - size / 2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(point.x + size / 2, point.y + size / 2),
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(point.x + size / 2, point.y - size / 2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(point.x - size / 2, point.y + size / 2)
|
|
], null, className);
|
|
this.getOrCreateElement("LSM" + index, primitive, this.marksContainer);
|
|
};
|
|
return ItemSelectionElement;
|
|
}(CanvasElement));
|
|
var MultipleSelectionElement = /** @class */ (function (_super) {
|
|
__extends(MultipleSelectionElement, _super);
|
|
function MultipleSelectionElement(rectsContainer, marksContainer, zoomLevel, readOnly) {
|
|
var _this = _super.call(this, rectsContainer, marksContainer, "-1", zoomLevel, readOnly) || this;
|
|
_this.items = {};
|
|
return _this;
|
|
}
|
|
MultipleSelectionElement.prototype.onModelItemChanged = function (itemKey, rectangle) {
|
|
if (itemKey in this.items)
|
|
this.items[itemKey] = rectangle;
|
|
};
|
|
MultipleSelectionElement.prototype.onModelChanged = function () {
|
|
this.redraw();
|
|
};
|
|
MultipleSelectionElement.prototype.onSelectionChanged = function (containsShapes, items) {
|
|
var _this = this;
|
|
this.containsShapes = containsShapes;
|
|
this.items = {};
|
|
items.forEach(function (i) { return _this.items[i.key] = i.rectangle; });
|
|
this.redraw();
|
|
};
|
|
MultipleSelectionElement.prototype.redrawCore = function () {
|
|
var _this = this;
|
|
var rectangle = Utils_2.GeometryUtils.getCommonRectangle(Object.keys(this.items).map(function (key) { return _this.items[key]; }));
|
|
var rect = CanvasSelectionManager.correctShapeSelectionRect(rectangle.multiply(this.zoomLevel), CanvasSelectionManager.selectionRectLineWidth, this.zoomLevel);
|
|
this.drawSelectionRect(rect, Event_1.MouseEventElementType.SelectionRect, exports.SELECTION_ELEMENT_CLASSNAMES.ITEMS_SELECTION_RECT);
|
|
if (this.containsShapes)
|
|
this.drawSelectionMarks(rect, true, true);
|
|
};
|
|
return MultipleSelectionElement;
|
|
}(CanvasElement));
|
|
var ShapeSelectionElement = /** @class */ (function (_super) {
|
|
__extends(ShapeSelectionElement, _super);
|
|
function ShapeSelectionElement(rectsContainer, marksContainer, zoomLevel, readOnly, key, isLocked, rectangle, allowResizeHorizontally, allowResizeVertically, shapeParameterPoints) {
|
|
var _this = _super.call(this, rectsContainer, marksContainer, key, zoomLevel, readOnly, isLocked, rectangle) || this;
|
|
_this.allowResizeHorizontally = allowResizeHorizontally;
|
|
_this.allowResizeVertically = allowResizeVertically;
|
|
_this.shapeParameterPoints = shapeParameterPoints;
|
|
return _this;
|
|
}
|
|
ShapeSelectionElement.prototype.onModelChanged = function (isLocked, rectangle, allowResizeHorizontally, allowResizeVertically, shapeParameterPoints) {
|
|
this.isLocked = isLocked;
|
|
this.rectangle = rectangle;
|
|
this.allowResizeHorizontally = allowResizeHorizontally;
|
|
this.allowResizeVertically = allowResizeVertically;
|
|
this.shapeParameterPoints = shapeParameterPoints;
|
|
this.redraw();
|
|
};
|
|
ShapeSelectionElement.prototype.drawUnlockedSelection = function (rect) {
|
|
var shapeRect = CanvasSelectionManager.correctShapeSelectionRect(rect, CanvasSelectionManager.selectionRectLineWidth, this.zoomLevel);
|
|
this.drawSelectionRect(shapeRect, Event_1.MouseEventElementType.SelectionRect, this.isMultipleSelection ? exports.SELECTION_ELEMENT_CLASSNAMES.ITEM_MULTI_SELECTION : exports.SELECTION_ELEMENT_CLASSNAMES.ITEM_SELECTION_RECT);
|
|
if (!this.isMultipleSelection)
|
|
this.drawSelectionMarks(rect, this.allowResizeHorizontally, this.allowResizeVertically);
|
|
this.drawShapeParameterPoints();
|
|
};
|
|
ShapeSelectionElement.prototype.drawShapeParameterPoints = function () {
|
|
var _this = this;
|
|
if (this.readOnly)
|
|
return;
|
|
this.shapeParameterPoints.forEach(function (pp, index) {
|
|
var point = pp.point.multiply(_this.zoomLevel);
|
|
_this.drawShapeParameterPoint(point, index, pp.key);
|
|
});
|
|
};
|
|
ShapeSelectionElement.prototype.drawShapeParameterPoint = function (point, index, pointKey) {
|
|
var _this = this;
|
|
var size = CanvasSelectionManager.geomertyMarkSize;
|
|
var primitive = new RectaglePrimitive_1.RectanglePrimitive(point.x - size / 2, point.y - size / 2, size, size, null, "geometry-mark", undefined, function (el) {
|
|
Utils_1.RenderUtils.setElementEventData(el, Event_1.MouseEventElementType.ShapeParameterBox, _this.key, pointKey);
|
|
});
|
|
this.getOrCreateElement("pp" + index.toString(), primitive, this.marksContainer);
|
|
};
|
|
return ShapeSelectionElement;
|
|
}(ItemSelectionElement));
|
|
var ConnectorSelectionElement = /** @class */ (function (_super) {
|
|
__extends(ConnectorSelectionElement, _super);
|
|
function ConnectorSelectionElement(rectsContainer, marksContainer, zoomLevel, readOnly, key, isLocked, rectangle, renderPoints, styleText, enableText, texts, points, lineType) {
|
|
var _this = _super.call(this, rectsContainer, marksContainer, key, zoomLevel, readOnly, isLocked, rectangle) || this;
|
|
_this.renderPoints = renderPoints;
|
|
_this.styleText = styleText;
|
|
_this.enableText = enableText;
|
|
_this.texts = texts;
|
|
_this.points = points;
|
|
_this.lineType = lineType;
|
|
return _this;
|
|
}
|
|
ConnectorSelectionElement.prototype.onModelChanged = function (isLocked, rectangle, renderPoints, styleText, enableText, texts, points, lineType) {
|
|
this.isLocked = isLocked;
|
|
this.rectangle = rectangle;
|
|
this.renderPoints = renderPoints;
|
|
this.styleText = styleText;
|
|
this.enableText = enableText;
|
|
this.texts = texts;
|
|
this.points = points;
|
|
this.lineType = lineType;
|
|
this.redraw();
|
|
};
|
|
ConnectorSelectionElement.prototype.drawUnlockedSelection = function (rect) {
|
|
this.drawConnectorSelection(this.isMultipleSelection ? exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_MULTI_SELECTION : exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_SELECTION);
|
|
if (!this.isMultipleSelection && !this.readOnly)
|
|
this.drawConnectorSelectionMarks();
|
|
};
|
|
ConnectorSelectionElement.prototype.drawConnectorSelection = function (className) {
|
|
var _this = this;
|
|
var points = this.renderPoints;
|
|
var pathCommands = [];
|
|
var prevPt, firstPt, lastPt;
|
|
var difX = 0, difY = 0;
|
|
points.forEach(function (pt) {
|
|
pt = pt.multiply(_this.zoomLevel);
|
|
if (prevPt === undefined) {
|
|
firstPt = pt;
|
|
pathCommands.push(new PathPrimitive_1.PathPrimitiveMoveToCommand(pt.x, pt.y));
|
|
}
|
|
else {
|
|
pathCommands.push(new PathPrimitive_1.PathPrimitiveLineToCommand(pt.x, pt.y));
|
|
difX = Math.max(difX, Math.abs(prevPt.x - pt.x));
|
|
difY = Math.max(difY, Math.abs(prevPt.y - pt.y));
|
|
}
|
|
prevPt = pt;
|
|
});
|
|
lastPt = prevPt;
|
|
if (difX < CanvasSelectionManager.connectorSelectionLineWidth || difY < CanvasSelectionManager.connectorSelectionLineWidth) {
|
|
// Increase mask size
|
|
var offsetX = difX < CanvasSelectionManager.connectorSelectionLineWidth ? CanvasSelectionManager.connectorSelectionLineWidth : 0;
|
|
var offsetY = (difY < CanvasSelectionManager.connectorSelectionLineWidth ? CanvasSelectionManager.connectorSelectionLineWidth : 0);
|
|
pathCommands.push(new PathPrimitive_1.PathPrimitiveLineToCommand(lastPt.x - offsetX, lastPt.y - offsetY));
|
|
}
|
|
var maskId = Utils_1.RenderUtils.generateSvgElementId("maskSel");
|
|
var cliPathId = Utils_1.RenderUtils.generateSvgElementId("clipSel");
|
|
var primitive = new GroupPrimitive_1.GroupPrimitive([
|
|
new PathPrimitive_1.PathPrimitive(pathCommands, null, className, cliPathId, function (el) {
|
|
el.setAttribute("mask", Utils_1.RenderUtils.getUrlPathById(maskId));
|
|
}),
|
|
new MaskPrimitive_1.MaskPrimitive(maskId, [
|
|
new RectaglePrimitive_1.RectanglePrimitive("0", "0", "100%", "100%", null, "background"),
|
|
new PathPrimitive_1.PathPrimitive(pathCommands),
|
|
new RectaglePrimitive_1.RectanglePrimitive(firstPt.x - CanvasSelectionManager.connectorSelectionWidth / 2, firstPt.y - CanvasSelectionManager.connectorSelectionWidth / 2, CanvasSelectionManager.connectorSelectionWidth, CanvasSelectionManager.connectorSelectionWidth),
|
|
new RectaglePrimitive_1.RectanglePrimitive(lastPt.x - CanvasSelectionManager.connectorSelectionWidth / 2, lastPt.y - CanvasSelectionManager.connectorSelectionWidth / 2, CanvasSelectionManager.connectorSelectionWidth, CanvasSelectionManager.connectorSelectionWidth),
|
|
new GroupPrimitive_1.GroupPrimitive([])
|
|
], exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_SELECTION_MASK, "-1000%", "-1000%", "2100%", "2100%")
|
|
]);
|
|
var csElement = this.getOrCreateElement("CS", primitive, this.rectsContainer);
|
|
this.drawConnectorTextsSelection(csElement, csElement.querySelector("g"), className, maskId);
|
|
};
|
|
ConnectorSelectionElement.prototype.drawConnectorTextsSelection = function (parent, maskParent, className, maskId) {
|
|
var _this = this;
|
|
var textRects = [];
|
|
if (maskParent && this.enableText) {
|
|
this.texts.forEach(function (textObj, index) {
|
|
if (textObj.text) {
|
|
var filterId = Utils_1.RenderUtils.generateSvgElementId("filterSel");
|
|
var textPrimitive = new GroupPrimitive_1.GroupPrimitive([
|
|
new TextPrimitive_1.TextPrimitive(textObj.point.x, textObj.point.y, textObj.text, undefined, _this.styleText, true, null, filterId),
|
|
new TextFilterPrimitive_1.TextFilterPrimitive(filterId)
|
|
]);
|
|
var gTextEl = _this.getOrCreateElement("FSE" + index, textPrimitive, maskParent);
|
|
var textEl = gTextEl.querySelector("text");
|
|
var textRect = Utils_1.RenderUtils.getSvgTextRectangle(textEl, CanvasSelectionManager.connectorSelectionLineWidth);
|
|
if (textRect)
|
|
textRects.push(textRect.multiply(_this.zoomLevel));
|
|
}
|
|
});
|
|
}
|
|
for (var i = 0; i < textRects.length; i++) {
|
|
var textRectPrimitive = new RectaglePrimitive_1.RectanglePrimitive(textRects[i].left, textRects[i].top, textRects[i].width, textRects[i].height, null, className + " text", null);
|
|
this.getOrCreateElement("TR" + i, textRectPrimitive, parent);
|
|
}
|
|
};
|
|
ConnectorSelectionElement.prototype.drawConnectorSelectionMarks = function () {
|
|
var _this = this;
|
|
var pointsCount = this.points.length - 1;
|
|
this.points.forEach(function (pt, index) {
|
|
var isEdgePoint = index === 0 || index === pointsCount;
|
|
var className = isEdgePoint ? exports.SELECTION_ELEMENT_CLASSNAMES.SELECTION_MARK : exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_POINT_MARK;
|
|
var markSize = isEdgePoint ? CanvasSelectionManager.selectionMarkSize : CanvasSelectionManager.connectorPointMarkSize;
|
|
if (isEdgePoint || _this.lineType === ConnectorProperties_1.ConnectorLineOption.Straight) {
|
|
_this.drawSelectionMark(index, pt.multiply(_this.zoomLevel), markSize, Event_1.MouseEventElementType.ConnectorPoint, index, className);
|
|
}
|
|
else {
|
|
_this.drawSelectionMark(index, pt.multiply(_this.zoomLevel), markSize, Event_1.MouseEventElementType.Undefined, -1, className + " disabled");
|
|
}
|
|
});
|
|
this.drawConnectorSideMarks();
|
|
};
|
|
ConnectorSelectionElement.prototype.drawConnectorSideMarks = function () {
|
|
var _this = this;
|
|
var type = (this.lineType === ConnectorProperties_1.ConnectorLineOption.Straight) ?
|
|
Event_1.MouseEventElementType.ConnectorSide : Event_1.MouseEventElementType.ConnectorOrthogonalSide;
|
|
var prevPt, prevPtIndex;
|
|
this.renderPoints.filter(function (rp) { return !rp.skipped; }).forEach(function (pt, index) {
|
|
if (pt.skipped)
|
|
return;
|
|
if (prevPt !== undefined) {
|
|
if (_this.canDrawConnectorSideMark(pt, prevPt)) {
|
|
var classNameSuffix = _this.lineType === ConnectorProperties_1.ConnectorLineOption.Orthogonal ?
|
|
(pt.x - prevPt.x === 0 ? "vertical" : "horizontal") : "";
|
|
_this.drawSelectionMark(_this.points.length + index - 1, new Utils_2.Point(prevPt.x + (pt.x - prevPt.x) / 2, prevPt.y + (pt.y - prevPt.y) / 2).multiply(_this.zoomLevel), CanvasSelectionManager.connectorSideMarkSize, type, prevPtIndex + "_" + index, exports.SELECTION_ELEMENT_CLASSNAMES.CONNECTOR_SIDE_MARK + " " + classNameSuffix);
|
|
}
|
|
}
|
|
prevPt = pt;
|
|
prevPtIndex = index;
|
|
});
|
|
};
|
|
ConnectorSelectionElement.prototype.canDrawConnectorSideMark = function (point1, point2) {
|
|
if (this.lineType === ConnectorProperties_1.ConnectorLineOption.Straight) {
|
|
var minSize = CanvasSelectionManager.selectionMarkSize + CanvasSelectionManager.connectorSideMarkSize;
|
|
return Utils_2.GeometryUtils.getDistance(point1, point2) > minSize;
|
|
}
|
|
if (this.lineType === ConnectorProperties_1.ConnectorLineOption.Orthogonal) {
|
|
return ((point1.x - point2.x === 0 || Math.abs(point1.x - point2.x) > Connector_1.Connector.minOffset) &&
|
|
(point1.y - point2.y === 0 || Math.abs(point1.y - point2.y) > Connector_1.Connector.minOffset));
|
|
}
|
|
return false;
|
|
};
|
|
return ConnectorSelectionElement;
|
|
}(ItemSelectionElement));
|
|
|
|
|
|
/***/ }),
|
|
/* 88 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ExtensionLineType;
|
|
(function (ExtensionLineType) {
|
|
ExtensionLineType[ExtensionLineType["LeftToLeftAbove"] = 0] = "LeftToLeftAbove";
|
|
ExtensionLineType[ExtensionLineType["LeftToLeftBelow"] = 1] = "LeftToLeftBelow";
|
|
ExtensionLineType[ExtensionLineType["RightToRightAbove"] = 2] = "RightToRightAbove";
|
|
ExtensionLineType[ExtensionLineType["RightToRightBelow"] = 3] = "RightToRightBelow";
|
|
ExtensionLineType[ExtensionLineType["LeftToRightAbove"] = 4] = "LeftToRightAbove";
|
|
ExtensionLineType[ExtensionLineType["LeftToRightBelow"] = 5] = "LeftToRightBelow";
|
|
ExtensionLineType[ExtensionLineType["RightToLeftAbove"] = 6] = "RightToLeftAbove";
|
|
ExtensionLineType[ExtensionLineType["RightToLeftBelow"] = 7] = "RightToLeftBelow";
|
|
ExtensionLineType[ExtensionLineType["TopToTopBefore"] = 8] = "TopToTopBefore";
|
|
ExtensionLineType[ExtensionLineType["TopToTopAfter"] = 9] = "TopToTopAfter";
|
|
ExtensionLineType[ExtensionLineType["BottomToBottomBefore"] = 10] = "BottomToBottomBefore";
|
|
ExtensionLineType[ExtensionLineType["BottomToBottomAfter"] = 11] = "BottomToBottomAfter";
|
|
ExtensionLineType[ExtensionLineType["TopToBottomBefore"] = 12] = "TopToBottomBefore";
|
|
ExtensionLineType[ExtensionLineType["TopToBottomAfter"] = 13] = "TopToBottomAfter";
|
|
ExtensionLineType[ExtensionLineType["BottomToTopBefore"] = 14] = "BottomToTopBefore";
|
|
ExtensionLineType[ExtensionLineType["BottomToTopAfter"] = 15] = "BottomToTopAfter";
|
|
ExtensionLineType[ExtensionLineType["HorizontalCenterAbove"] = 16] = "HorizontalCenterAbove";
|
|
ExtensionLineType[ExtensionLineType["HorizontalCenterBelow"] = 17] = "HorizontalCenterBelow";
|
|
ExtensionLineType[ExtensionLineType["VerticalCenterBefore"] = 18] = "VerticalCenterBefore";
|
|
ExtensionLineType[ExtensionLineType["VerticalCenterAfter"] = 19] = "VerticalCenterAfter";
|
|
ExtensionLineType[ExtensionLineType["VerticalCenterToPageCenter"] = 20] = "VerticalCenterToPageCenter";
|
|
ExtensionLineType[ExtensionLineType["HorizontalCenterToPageCenter"] = 21] = "HorizontalCenterToPageCenter";
|
|
ExtensionLineType[ExtensionLineType["LeftToPageCenter"] = 22] = "LeftToPageCenter";
|
|
ExtensionLineType[ExtensionLineType["RightToPageCenter"] = 23] = "RightToPageCenter";
|
|
ExtensionLineType[ExtensionLineType["TopToPageCenter"] = 24] = "TopToPageCenter";
|
|
ExtensionLineType[ExtensionLineType["BottomToPageCenter"] = 25] = "BottomToPageCenter";
|
|
})(ExtensionLineType = exports.ExtensionLineType || (exports.ExtensionLineType = {}));
|
|
var ExtensionLine = /** @class */ (function () {
|
|
function ExtensionLine(type, segment, text) {
|
|
this.type = type;
|
|
this.segment = segment;
|
|
this.text = text;
|
|
}
|
|
return ExtensionLine;
|
|
}());
|
|
exports.ExtensionLine = ExtensionLine;
|
|
var ExtensionLinesVisualizer = /** @class */ (function () {
|
|
function ExtensionLinesVisualizer(dispatcher) {
|
|
this.dispatcher = dispatcher;
|
|
this.lines = [];
|
|
this.lineIndexByType = {};
|
|
}
|
|
ExtensionLinesVisualizer.prototype.addSegment = function (type, segment, text) {
|
|
var curIndex = this.lineIndexByType[type];
|
|
if (curIndex === undefined) {
|
|
var line = new ExtensionLine(type, segment, text);
|
|
var index = this.lines.push(line);
|
|
this.lineIndexByType[line.type] = index - 1;
|
|
this.raiseShow();
|
|
}
|
|
else if (segment.distance < this.lines[curIndex].segment.distance) {
|
|
var line = new ExtensionLine(type, segment, text);
|
|
this.lines.splice(curIndex, 1, line);
|
|
this.raiseShow();
|
|
}
|
|
};
|
|
ExtensionLinesVisualizer.prototype.update = function () {
|
|
this.raiseShow();
|
|
};
|
|
ExtensionLinesVisualizer.prototype.reset = function () {
|
|
if (this.lines.length) {
|
|
this.lines = [];
|
|
this.lineIndexByType = {};
|
|
this.raiseHide();
|
|
}
|
|
};
|
|
ExtensionLinesVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifyExtensionLinesShow(_this.lines); });
|
|
};
|
|
ExtensionLinesVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifyExtensionLinesHide(); });
|
|
};
|
|
return ExtensionLinesVisualizer;
|
|
}());
|
|
exports.ExtensionLinesVisualizer = ExtensionLinesVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 89 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorPointsCalculatorBase = /** @class */ (function () {
|
|
function ConnectorPointsCalculatorBase(connector) {
|
|
this.connector = connector;
|
|
}
|
|
return ConnectorPointsCalculatorBase;
|
|
}());
|
|
exports.ConnectorPointsCalculatorBase = ConnectorPointsCalculatorBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 90 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var DeleteConnectionHistoryItem = /** @class */ (function (_super) {
|
|
__extends(DeleteConnectionHistoryItem, _super);
|
|
function DeleteConnectionHistoryItem(connector, position) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connector.key;
|
|
_this.position = position;
|
|
_this.itemKey = connector.getExtremeItem(_this.position).key;
|
|
return _this;
|
|
}
|
|
DeleteConnectionHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.oldConnectionPointIndex = this.position === Connector_1.ConnectorPosition.Begin ? connector.beginConnectionPointIndex : connector.endConnectionPointIndex;
|
|
manipulator.deleteConnection(connector, this.position);
|
|
};
|
|
DeleteConnectionHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.addConnection(connector, item, this.oldConnectionPointIndex, this.position);
|
|
};
|
|
return DeleteConnectionHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.DeleteConnectionHistoryItem = DeleteConnectionHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 91 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var DeleteShapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(DeleteShapeHistoryItem, _super);
|
|
function DeleteShapeHistoryItem(shapeKey) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = shapeKey;
|
|
return _this;
|
|
}
|
|
DeleteShapeHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
this.shape = shape.clone();
|
|
manipulator.deleteShape(shape);
|
|
};
|
|
DeleteShapeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.addShape(this.shape, this.shape.key);
|
|
};
|
|
return DeleteShapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.DeleteShapeHistoryItem = DeleteShapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 92 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var DiamondShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DiamondShapeDescription, _super);
|
|
function DiamondShapeDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Diamond"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = ShapeDescription_1.ShapeDefaultSize.clone(); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(DiamondShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Diamond; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DiamondShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom;
|
|
var _a = rect.center, cx = _a.x, cy = _a.y;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
return DiamondShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.DiamondShapeDescription = DiamondShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 93 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var TextShapeDescription = /** @class */ (function (_super) {
|
|
__extends(TextShapeDescription, _super);
|
|
function TextShapeDescription() {
|
|
return _super.call(this, "Text", "Text", new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.5)) || this;
|
|
}
|
|
Object.defineProperty(TextShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Text; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
TextShapeDescription.prototype.createShapePrimitives = function (shape, forToolbox) {
|
|
return [];
|
|
};
|
|
return TextShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.TextShapeDescription = TextShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 94 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PolygonShapeDescription_1 = __webpack_require__(68);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var PentagonShapeDescription = /** @class */ (function (_super) {
|
|
__extends(PentagonShapeDescription, _super);
|
|
function PentagonShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Pentagon"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
var _this = _super.call(this, title, defaultText) || this;
|
|
_this.defaultRatio = _this.defaultSize.height / _this.defaultSize.width;
|
|
return _this;
|
|
}
|
|
Object.defineProperty(PentagonShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Pentagon; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(PentagonShapeDescription.prototype, "angleCount", {
|
|
get: function () { return 5; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
PentagonShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var ratio = height / width / this.defaultRatio;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top + py;
|
|
var px = (height - py) / Math.tan(angle) / ratio;
|
|
var x1 = left + px;
|
|
var x2 = right - px;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, y),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, y),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
PentagonShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East || side === DiagramItem_1.ConnectionPointSide.West) {
|
|
var rect = shape.rectangle;
|
|
var top_1 = rect.top, width = rect.width, height = rect.height;
|
|
var ratio = height / width / this.defaultRatio;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top_1 + py;
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.y = y;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.y = y;
|
|
}
|
|
};
|
|
PentagonShapeDescription.prototype.calculateHeight = function (width) {
|
|
var angle = Math.PI - this.angle;
|
|
var h1 = width / 2 * Math.tan(angle / 2);
|
|
var side = width / 2 / Math.cos(angle / 2);
|
|
var h2 = side * Math.sin(angle);
|
|
return h1 + h2;
|
|
};
|
|
return PentagonShapeDescription;
|
|
}(PolygonShapeDescription_1.PolygonShapeDescription));
|
|
exports.PentagonShapeDescription = PentagonShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 95 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PolygonShapeDescription_1 = __webpack_require__(68);
|
|
var HexagonShapeDescription = /** @class */ (function (_super) {
|
|
__extends(HexagonShapeDescription, _super);
|
|
function HexagonShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Hexagon"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
return _super.call(this, title, defaultText) || this;
|
|
}
|
|
Object.defineProperty(HexagonShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Hexagon; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(HexagonShapeDescription.prototype, "angleCount", {
|
|
get: function () { return 6; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
HexagonShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var angle = Math.PI - this.angle;
|
|
var sideX = width / (1 + 2 * Math.cos(angle));
|
|
var x1 = left + (width - sideX) / 2;
|
|
var x2 = x1 + sideX;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
HexagonShapeDescription.prototype.calculateHeight = function (width) {
|
|
var angle = Math.PI - this.angle;
|
|
var sideX = width / (1 + 2 * Math.cos(angle));
|
|
return 2 * sideX * Math.sin(angle);
|
|
};
|
|
return HexagonShapeDescription;
|
|
}(PolygonShapeDescription_1.PolygonShapeDescription));
|
|
exports.HexagonShapeDescription = HexagonShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 96 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var TriangleShapeDescription = /** @class */ (function (_super) {
|
|
__extends(TriangleShapeDescription, _super);
|
|
function TriangleShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Triangle"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
var _this = _super.call(this, title, defaultText) || this;
|
|
_this.defaultSize.height = _this.calculateHeight(ShapeDescription_1.ShapeDefaultDimension);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(TriangleShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Triangle; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
TriangleShapeDescription.prototype.createConnectionPoints = function () {
|
|
return [
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(0.75, 0.5, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0.25, 0.5, DiagramItem_1.ConnectionPointSide.West)
|
|
];
|
|
};
|
|
TriangleShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.center.x, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
TriangleShapeDescription.prototype.calculateHeight = function (width) {
|
|
return Math.sqrt(Math.pow(width, 2) - Math.pow(width / 2, 2));
|
|
};
|
|
TriangleShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
return rect.resize(0, -rect.width * 0.25).offset(0, rect.width * 0.25);
|
|
};
|
|
return TriangleShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.TriangleShapeDescription = TriangleShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 97 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var DocumentShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DocumentShapeDescription, _super);
|
|
function DocumentShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Document"; }
|
|
if (defaultText === void 0) { defaultText = "Document"; }
|
|
return _super.call(this, title, defaultText) || this;
|
|
}
|
|
Object.defineProperty(DocumentShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Document; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DocumentShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
return this.createDocumentPrimitives(shape.rectangle, shape.style);
|
|
};
|
|
DocumentShapeDescription.prototype.createDocumentPrimitives = function (rect, style) {
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var dy = height * DocumentShapeDescription.curveOffsetRatio;
|
|
var primitives = [];
|
|
return primitives.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right - width * 0.25, bottom - 2 * dy, cx, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left + width * 0.25, bottom + dy, left, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], style)
|
|
]);
|
|
};
|
|
DocumentShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.South)
|
|
point.y -= shape.size.height * DocumentShapeDescription.curveOffsetRatio;
|
|
};
|
|
DocumentShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
return rect.resize(0, -rect.height * DocumentShapeDescription.curveOffsetRatio);
|
|
};
|
|
DocumentShapeDescription.curveOffsetRatio = 0.1;
|
|
return DocumentShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.DocumentShapeDescription = DocumentShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 98 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var ImagePrimitive = /** @class */ (function (_super) {
|
|
__extends(ImagePrimitive, _super);
|
|
function ImagePrimitive(x, y, width, height, url, preserveAspectRatio, style, className) {
|
|
if (preserveAspectRatio === void 0) { preserveAspectRatio = "none"; }
|
|
var _this = _super.call(this, style, className) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
_this.url = url;
|
|
_this.preserveAspectRatio = preserveAspectRatio;
|
|
return _this;
|
|
}
|
|
ImagePrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "image");
|
|
};
|
|
ImagePrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
this.setUnitAttribute(element, "width", this.width);
|
|
this.setUnitAttribute(element, "height", this.height);
|
|
this.setUnitAttribute(element, "href", this.url);
|
|
this.setUnitAttribute(element, "preserveAspectRatio", this.preserveAspectRatio);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return ImagePrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.ImagePrimitive = ImagePrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 99 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var EllipsePrimitive_1 = __webpack_require__(42);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var __1 = __webpack_require__(8);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var Browser_1 = __webpack_require__(23);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var ShapeImageIndicator = /** @class */ (function () {
|
|
function ShapeImageIndicator(x, y, size, borderThickness, className) {
|
|
this.x = x;
|
|
this.y = y;
|
|
this.size = size;
|
|
this.borderThickness = borderThickness;
|
|
this.className = className;
|
|
this.animationStarted = false;
|
|
}
|
|
ShapeImageIndicator.createLoadingIndicatorPrimitives = function (x, y, r, borderThickness, className) {
|
|
var indicator = new ShapeImageIndicator(x, y, r, borderThickness, className);
|
|
return indicator.createLoadingIndicatorPrimitive();
|
|
};
|
|
ShapeImageIndicator.createUserIconPrimitives = function (x, y, r, borderThickness, className) {
|
|
var indicator = new ShapeImageIndicator(x, y, r, borderThickness, className);
|
|
return indicator.createUserIconPrimitive();
|
|
};
|
|
ShapeImageIndicator.createWarningIconPrimitives = function (x, y, size, className) {
|
|
var indicator = new ShapeImageIndicator(x, y, size, undefined, className);
|
|
return indicator.createWarningIconPrimitive();
|
|
};
|
|
ShapeImageIndicator.prototype.rotate = function (element, centerX, centerY, timestamp) {
|
|
if (!this.animationStarted)
|
|
return;
|
|
var angle = (Math.round(timestamp) % 1080) / 3;
|
|
var transformAttributeValue = "rotate(" + angle + " " + centerX + " " + centerY + ")";
|
|
element.setAttribute("transform", transformAttributeValue);
|
|
this.animationRequestId = requestAnimationFrame(function (timestamp) {
|
|
this.rotate(element, centerX, centerY, timestamp);
|
|
}.bind(this));
|
|
};
|
|
ShapeImageIndicator.prototype.onApplyLoadingIndicatorElementProperties = function (element) {
|
|
var _a = [__1.UnitConverter.twipsToPixelsF(this.x + this.size / 2), __1.UnitConverter.twipsToPixelsF(this.y + this.size / 2)], centerX = _a[0], centerY = _a[1];
|
|
if (Browser_1.Browser.IE) {
|
|
this.animationRequestId = requestAnimationFrame(function (timestamp) {
|
|
this.rotate(element, centerX, centerY, timestamp);
|
|
}.bind(this));
|
|
this.animationStarted = true;
|
|
}
|
|
else {
|
|
element.style.setProperty("transform-origin", centerX + "px " + centerY + "px");
|
|
}
|
|
};
|
|
ShapeImageIndicator.prototype.center = function () {
|
|
return [__1.UnitConverter.twipsToPixelsF(this.x + this.size / 2), __1.UnitConverter.twipsToPixelsF(this.y + this.size / 2)];
|
|
};
|
|
ShapeImageIndicator.prototype.createLoadingIndicatorPrimitive = function () {
|
|
var _a = this.center(), centerX = _a[0], centerY = _a[1], radius = __1.UnitConverter.twipsToPixelsF(this.size / 2 - this.borderThickness / 2);
|
|
return new GroupPrimitive_1.GroupPrimitive([
|
|
new EllipsePrimitive_1.EllipsePrimitive(centerX + "", centerY + "", radius + "", radius + ""),
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand((centerX + radius) + "", centerY + ""),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand(radius + "", radius + "", 0, false, false, centerX + "", (centerY - radius) + "")
|
|
])
|
|
], this.className, undefined, undefined, this.onApplyLoadingIndicatorElementProperties.bind(this), this.onBeforeDispose.bind(this));
|
|
};
|
|
ShapeImageIndicator.prototype.createUserIconPrimitive = function () {
|
|
var _a = this.center(), centerX = _a[0], centerY = _a[1], radius = __1.UnitConverter.twipsToPixelsF(this.size / 2 - this.borderThickness / 2), sizeInPixels = __1.UnitConverter.twipsToPixelsF(this.size);
|
|
return new GroupPrimitive_1.GroupPrimitive([
|
|
new EllipsePrimitive_1.EllipsePrimitive(centerX + "", centerY + "", radius + "", radius + "", undefined, "dxdi-background"),
|
|
new EllipsePrimitive_1.EllipsePrimitive(centerX + "", centerY - sizeInPixels / 8 + "", sizeInPixels / 8 + "", sizeInPixels / 8 + ""),
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(centerX + "", centerY + sizeInPixels / 16 + ""),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(centerX + 0.1375 * sizeInPixels + "", centerY + sizeInPixels / 16 + "", centerX + sizeInPixels / 4 + "", centerY
|
|
+ 0.11875 * sizeInPixels + "", centerX + sizeInPixels / 4 + "", centerY + 0.1875 * sizeInPixels + ""),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(centerX + sizeInPixels / 4 + "", centerY + sizeInPixels / 4 + ""),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(centerX - sizeInPixels / 4 + "", centerY + sizeInPixels / 4 + ""),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(centerX - sizeInPixels / 4 + "", centerY + 0.1875 * sizeInPixels + ""),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(centerX - sizeInPixels / 4 + "", centerY + 0.11875 * sizeInPixels + "", centerX - 0.1375 * sizeInPixels + "", centerY
|
|
+ sizeInPixels / 16 + "", centerX + "", centerY + sizeInPixels / 16 + ""),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
])
|
|
], this.className);
|
|
};
|
|
ShapeImageIndicator.prototype.createWarningIconPrimitive = function () {
|
|
var _a = this.center(), centerX = _a[0], centerY = _a[1], radius = __1.UnitConverter.twipsToPixelsF(this.size / 2) - 1, exclamationLineWidth = __1.UnitConverter.twipsToPixelsF(this.size / 8);
|
|
return new GroupPrimitive_1.GroupPrimitive([
|
|
new EllipsePrimitive_1.EllipsePrimitive(centerX + "", centerY + "", radius + "", radius + ""),
|
|
new RectaglePrimitive_1.RectanglePrimitive(centerX - exclamationLineWidth / 2 + 0.5 + "", centerY + radius - __1.UnitConverter.twipsToPixelsF(this.size / 4) + "", exclamationLineWidth + "", exclamationLineWidth + ""),
|
|
new RectaglePrimitive_1.RectanglePrimitive(centerX - exclamationLineWidth / 2 + 0.5 + "", centerY - radius + __1.UnitConverter.twipsToPixelsF(this.size / 4) - exclamationLineWidth + "", exclamationLineWidth + "", radius + "")
|
|
], this.className);
|
|
};
|
|
ShapeImageIndicator.prototype.onBeforeDispose = function () {
|
|
if (this.animationRequestId)
|
|
cancelAnimationFrame(this.animationRequestId);
|
|
this.animationStarted = false;
|
|
};
|
|
return ShapeImageIndicator;
|
|
}());
|
|
exports.ShapeImageIndicator = ShapeImageIndicator;
|
|
|
|
|
|
/***/ }),
|
|
/* 100 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ImageCache_1 = __webpack_require__(49);
|
|
var ImageLoader = /** @class */ (function () {
|
|
function ImageLoader(loadedCallback) {
|
|
this.loadedCallback = loadedCallback;
|
|
}
|
|
ImageLoader.prototype.load = function (data) {
|
|
if (data.isLoaded) {
|
|
this.loadedCallback(data);
|
|
return;
|
|
}
|
|
this.loadInner(data);
|
|
};
|
|
ImageLoader.prototype.loadInner = function (data) {
|
|
var _this = this;
|
|
if (data.imageUrl)
|
|
this.loadPictureByUrl(data, function () { return _this.finalizeLoading(data, data); });
|
|
else if (data.base64)
|
|
this.loadPictureByBase64(data, function () { return _this.finalizeLoading(data, data); });
|
|
return data;
|
|
};
|
|
ImageLoader.prototype.finalizeLoading = function (loadedData, existingInfo) {
|
|
if (!existingInfo)
|
|
existingInfo = ImageCache_1.ImageCache.instance.getImageData(loadedData.actualId);
|
|
if (!existingInfo.isLoaded)
|
|
ImageCache_1.ImageCache.instance.finalizeLoading(existingInfo, loadedData);
|
|
this.loadedCallback(existingInfo);
|
|
};
|
|
ImageLoader.prototype.loadPictureByBase64 = function (data, imageLoaded) {
|
|
var img = new Image();
|
|
img.onload = function () {
|
|
imageLoaded(data);
|
|
};
|
|
img.src = data.base64;
|
|
};
|
|
ImageLoader.prototype.loadPictureByUrl = function (data, imageLoaded) {
|
|
var _this = this;
|
|
var xhr = new XMLHttpRequest();
|
|
try {
|
|
xhr.onload = function () {
|
|
var reader = new FileReader();
|
|
reader.onloadend = function () {
|
|
data.base64 = reader.result;
|
|
_this.loadPictureByBase64(data, function (data) { return imageLoaded(data); });
|
|
};
|
|
reader.readAsDataURL(xhr.response);
|
|
};
|
|
// Access to XMLHttpRequest at 'https://url.jpg' from origin 'http://myurl' has been blocked by CORS policy:
|
|
// No 'Access-Control-Allow-Origin' header is present on the requested resource.
|
|
xhr.onerror = function ( /*this: XMLHttpRequest*/) { return imageLoaded(data); };
|
|
xhr.onloadend = function () {
|
|
if (xhr.status === 404)
|
|
imageLoaded(data);
|
|
};
|
|
xhr.open('GET', data.imageUrl, true);
|
|
xhr.responseType = 'blob';
|
|
xhr.send();
|
|
}
|
|
catch (_a) { }
|
|
};
|
|
return ImageLoader;
|
|
}());
|
|
exports.ImageLoader = ImageLoader;
|
|
|
|
|
|
/***/ }),
|
|
/* 101 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var Event_1 = __webpack_require__(10);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ContainerDescription = /** @class */ (function (_super) {
|
|
__extends(ContainerDescription, _super);
|
|
function ContainerDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Container"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 2, ShapeDescription_1.ShapeDefaultDimension * 1.5); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(ContainerDescription.prototype, "enableChildren", {
|
|
get: function () { return true; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ContainerDescription.prototype.createConnectionPoints = function () {
|
|
return [
|
|
new ConnectionPoint_1.ConnectionPoint(0.25, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(0.75, 0, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.25, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.5, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.75, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(0.75, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0.25, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.75, DiagramItem_1.ConnectionPointSide.West),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.5, DiagramItem_1.ConnectionPointSide.West),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.25, DiagramItem_1.ConnectionPointSide.West)
|
|
];
|
|
};
|
|
ContainerDescription.prototype.getConnectionPointIndexForItem = function (item, connectionPointIndex) {
|
|
var shapeConnectionPoints = item.getConnectionPoints();
|
|
if (shapeConnectionPoints.length === 4)
|
|
return connectionPointIndex * 3 + 1;
|
|
return connectionPointIndex;
|
|
};
|
|
ContainerDescription.prototype.getConnectionPointIndexForSide = function (side) {
|
|
return side * 3 + 1;
|
|
};
|
|
ContainerDescription.prototype.createShapePrimitives = function (shape, forToolbox) {
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, width = _a.width, height = _a.height;
|
|
var primitives = [];
|
|
if (shape.expanded) {
|
|
primitives = primitives.concat([
|
|
new RectaglePrimitive_1.RectanglePrimitive(left, top, width, height, shape.style)
|
|
]);
|
|
}
|
|
return primitives.concat(this.createHeaderPrimitives(shape, forToolbox));
|
|
};
|
|
ContainerDescription.prototype.createExpandButtonPrimitives = function (shape, rect) {
|
|
var commands = [
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.left + rect.width * ((1 - ContainerDescription.expandButtonSignRatio) / 2), rect.center.y),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.left + rect.width * ((1 - ContainerDescription.expandButtonSignRatio) / 2 + ContainerDescription.expandButtonSignRatio), rect.center.y)
|
|
];
|
|
if (!shape.expanded) {
|
|
commands = commands.concat([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(rect.center.x, rect.top + rect.height * ((1 - ContainerDescription.expandButtonSignRatio) / 2)),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.center.x, rect.top + rect.height * ((1 - ContainerDescription.expandButtonSignRatio) / 2 + ContainerDescription.expandButtonSignRatio)),
|
|
]);
|
|
}
|
|
var buttonRect = rect.inflate(-rect.width * (1 - ContainerDescription.expandButtonRectRatio) / 2, -rect.height * (1 - ContainerDescription.expandButtonRectRatio) / 2);
|
|
return [
|
|
new GroupPrimitive_1.GroupPrimitive([
|
|
new RectaglePrimitive_1.RectanglePrimitive(buttonRect.left, buttonRect.top, buttonRect.width, buttonRect.height, shape.style),
|
|
new PathPrimitive_1.PathPrimitive(commands, shape.style)
|
|
], "shape-expand-btn", null, null, function (el) {
|
|
Utils_2.RenderUtils.setElementEventData(el, Event_1.MouseEventElementType.ShapeExpandButton, shape.key);
|
|
})
|
|
];
|
|
};
|
|
ContainerDescription.headerSize = 360;
|
|
ContainerDescription.headerToolboxSizeRatio = 0.2;
|
|
ContainerDescription.expandButtonRectRatio = 0.5;
|
|
ContainerDescription.expandButtonSignRatio = 0.3;
|
|
return ContainerDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.ContainerDescription = ContainerDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 102 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeShapeParametersHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeShapeParametersHistoryItem, _super);
|
|
function ChangeShapeParametersHistoryItem(shapeKey, parameters) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = shapeKey;
|
|
_this.parameters = parameters;
|
|
return _this;
|
|
}
|
|
ChangeShapeParametersHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
this.oldParameters = shape.parameters.clone();
|
|
manipulator.changeShapeParameters(shape, this.parameters);
|
|
};
|
|
ChangeShapeParametersHistoryItem.prototype.undo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.changeShapeParameters(shape, this.oldParameters);
|
|
};
|
|
return ChangeShapeParametersHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeShapeParametersHistoryItem = ChangeShapeParametersHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 103 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeStyleHistoryItemBase = /** @class */ (function (_super) {
|
|
__extends(ChangeStyleHistoryItemBase, _super);
|
|
function ChangeStyleHistoryItemBase(itemKey, styleProperty, styleValue) {
|
|
var _this = _super.call(this) || this;
|
|
_this.itemKey = itemKey;
|
|
_this.styleProperty = styleProperty;
|
|
_this.styleValue = styleValue;
|
|
return _this;
|
|
}
|
|
ChangeStyleHistoryItemBase.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldStyleValue = item.style[this.styleProperty];
|
|
manipulator.changeStyle(item, this.styleProperty, this.styleValue);
|
|
};
|
|
ChangeStyleHistoryItemBase.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeStyle(item, this.styleProperty, this.oldStyleValue);
|
|
};
|
|
return ChangeStyleHistoryItemBase;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeStyleHistoryItemBase = ChangeStyleHistoryItemBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 104 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeLockedHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeLockedHistoryItem, _super);
|
|
function ChangeLockedHistoryItem(item, locked) {
|
|
var _this = _super.call(this) || this;
|
|
_this.itemKey = item.key;
|
|
_this.locked = locked;
|
|
return _this;
|
|
}
|
|
ChangeLockedHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldLocked = item.locked;
|
|
manipulator.changeLocked(item, this.locked);
|
|
};
|
|
ChangeLockedHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeLocked(item, this.oldLocked);
|
|
};
|
|
return ChangeLockedHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeLockedHistoryItem = ChangeLockedHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 105 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ImageInfo_1 = __webpack_require__(40);
|
|
var ImporterBase_1 = __webpack_require__(106);
|
|
var ImportUtils_1 = __webpack_require__(71);
|
|
var __1 = __webpack_require__(8);
|
|
var Importer = /** @class */ (function (_super) {
|
|
__extends(Importer, _super);
|
|
function Importer(json) {
|
|
var _this = _super.call(this) || this;
|
|
_this.obj = ImportUtils_1.ImportUtils.parseJSON(json);
|
|
return _this;
|
|
}
|
|
Importer.prototype.getObject = function () {
|
|
return this.obj;
|
|
};
|
|
Importer.prototype.getPageObject = function (obj) {
|
|
return obj["page"];
|
|
};
|
|
Importer.prototype.getShapeObjects = function (obj) {
|
|
return obj["shapes"];
|
|
};
|
|
Importer.prototype.getConnectorObjects = function (obj) {
|
|
return obj["connectors"];
|
|
};
|
|
Importer.prototype.importPageSettings = function (model, pageObj) {
|
|
if (!pageObj)
|
|
return;
|
|
this.assert(pageObj["width"], "number");
|
|
this.assert(pageObj["height"], "number");
|
|
if (typeof pageObj["width"] === "number")
|
|
model.size.width = pageObj["width"];
|
|
if (typeof pageObj["height"] === "number")
|
|
model.size.height = pageObj["height"];
|
|
if (typeof pageObj["pageColor"] === "number")
|
|
model.pageColor = pageObj["pageColor"];
|
|
else if (typeof pageObj["pageColor"] === "string")
|
|
model.pageColor = __1.ColorHelper.stringToColor(pageObj["pageColor"]);
|
|
if (typeof pageObj["pageWidth"] === "number")
|
|
model.pageSize.width = pageObj["pageWidth"];
|
|
if (typeof pageObj["pageHeight"] === "number")
|
|
model.pageSize.height = pageObj["pageHeight"];
|
|
if (typeof pageObj["pageLandscape"] === "boolean")
|
|
model.pageLandscape = pageObj["pageLandscape"];
|
|
if (typeof pageObj["units"] === "number")
|
|
model.units = pageObj["units"];
|
|
};
|
|
Importer.prototype.importShape = function (shapeObj) {
|
|
this.assert(shapeObj["key"], "string");
|
|
this.assert(shapeObj["x"], "number");
|
|
this.assert(shapeObj["y"], "number");
|
|
this.assert(shapeObj["type"], "string");
|
|
var shapeType = shapeObj["type"];
|
|
var description = ShapeDescriptionManager_1.ShapeDescriptionManager.get(shapeType);
|
|
var position = new Utils_1.Point(shapeObj["x"], shapeObj["y"]);
|
|
var shape = new Shape_1.Shape(description || ShapeDescriptionManager_1.ShapeDescriptionManager.get(ShapeTypes_1.ShapeTypes.Rectangle), position);
|
|
shape.key = shapeObj["key"];
|
|
if (typeof shapeObj["dataKey"] === "string")
|
|
shape.dataKey = shapeObj["dataKey"];
|
|
if (typeof shapeObj["locked"] === "boolean")
|
|
shape.locked = shapeObj["locked"];
|
|
if (typeof shapeObj["width"] === "number")
|
|
shape.size.width = shapeObj["width"];
|
|
if (typeof shapeObj["height"] === "number")
|
|
shape.size.height = shapeObj["height"];
|
|
if (typeof shapeObj["text"] === "string")
|
|
shape.text = shapeObj["text"];
|
|
if (typeof shapeObj["imageUrl"] === "string")
|
|
shape.image = new ImageInfo_1.ImageInfo(shapeObj["imageUrl"]);
|
|
if (shapeObj["parameters"]) {
|
|
shape.parameters.fromObject(shapeObj["parameters"]);
|
|
shape.description.normalizeParameters(shape, shape.parameters);
|
|
}
|
|
if (shapeObj["style"])
|
|
shape.style.fromObject(shapeObj["style"]);
|
|
if (shapeObj["styleText"])
|
|
shape.styleText.fromObject(shapeObj["styleText"]);
|
|
if (typeof shapeObj["zIndex"] === "number")
|
|
shape.zIndex = shapeObj["zIndex"];
|
|
if (Array.isArray(shapeObj["childKeys"]))
|
|
shape.childKeys = shapeObj["childKeys"].slice();
|
|
if (typeof shapeObj["expanded"] === "boolean")
|
|
shape.expanded = shapeObj["expanded"];
|
|
if (typeof shapeObj["expandedWidth"] === "number" && typeof shapeObj["expandedHeight"] === "number")
|
|
shape.expandedSize = new Utils_1.Size(shapeObj["expandedWidth"], shapeObj["expandedHeight"]);
|
|
return shape;
|
|
};
|
|
Importer.prototype.importShapeChildren = function (shapeObj, shape) {
|
|
return [];
|
|
};
|
|
Importer.prototype.importConnector = function (connectorObj) {
|
|
var _this = this;
|
|
this.assert(connectorObj["key"], "string");
|
|
if (!Array.isArray(connectorObj["points"]))
|
|
throw Error("Invalid Format");
|
|
var points = connectorObj["points"].map(function (pt) {
|
|
_this.assert(pt["x"], "number");
|
|
_this.assert(pt["y"], "number");
|
|
return new Utils_1.Point(pt["x"], pt["y"]);
|
|
});
|
|
var connector = new Connector_1.Connector(points);
|
|
connector.key = connectorObj["key"];
|
|
if (typeof connectorObj["dataKey"] === "string")
|
|
connector.dataKey = connectorObj["dataKey"];
|
|
if (typeof connectorObj["locked"] === "boolean")
|
|
connector.locked = connectorObj["locked"];
|
|
connector.endConnectionPointIndex = typeof connectorObj["endConnectionPointIndex"] === "number" ? connectorObj["endConnectionPointIndex"] : -1;
|
|
connector.beginConnectionPointIndex = typeof connectorObj["beginConnectionPointIndex"] === "number" ? connectorObj["beginConnectionPointIndex"] : -1;
|
|
if (connectorObj["endItemKey"] !== undefined)
|
|
this.assert(connectorObj["endItemKey"], "string");
|
|
if (connectorObj["beginItemKey"] !== undefined)
|
|
this.assert(connectorObj["beginItemKey"], "string");
|
|
connector["endItemKey"] = connectorObj["endItemKey"];
|
|
connector["beginItemKey"] = connectorObj["beginItemKey"];
|
|
if (connectorObj["texts"])
|
|
connector.texts.fromObject(connectorObj["texts"]);
|
|
if (connectorObj["properties"])
|
|
connector.properties.fromObject(connectorObj["properties"]);
|
|
if (connectorObj["style"])
|
|
connector.style.fromObject(connectorObj["style"]);
|
|
if (connectorObj["styleText"])
|
|
connector.styleText.fromObject(connectorObj["styleText"]);
|
|
if (typeof connectorObj["zIndex"] === "number")
|
|
connector.zIndex = connectorObj["zIndex"];
|
|
return connector;
|
|
};
|
|
return Importer;
|
|
}(ImporterBase_1.ImporterBase));
|
|
exports.Importer = Importer;
|
|
|
|
|
|
/***/ }),
|
|
/* 106 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Model_1 = __webpack_require__(19);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var ImporterBase = /** @class */ (function () {
|
|
function ImporterBase() {
|
|
}
|
|
ImporterBase.prototype.import = function () {
|
|
var model = new Model_1.DiagramModel();
|
|
var obj = this.getObject();
|
|
this.importPageSettings(model, this.getPageObject(obj));
|
|
var shapes = this.importShapes(this.getShapeObjects(obj));
|
|
for (var i = 0; i < shapes.length; i++) {
|
|
var shape = shapes[i];
|
|
if (model.findItem(shape.key))
|
|
throw Error("Item key is duplicated");
|
|
model.pushItem(shape);
|
|
}
|
|
var connectors = this.importConnectors(this.getConnectorObjects(obj));
|
|
for (var i = 0; i < connectors.length; i++) {
|
|
var connector = connectors[i];
|
|
connector.endItem = model.findItem(connector["endItemKey"]) || undefined;
|
|
delete connector["endItemKey"];
|
|
connector.beginItem = model.findItem(connector["beginItemKey"]) || undefined;
|
|
delete connector["beginItemKey"];
|
|
if (model.findItem(connector.key))
|
|
throw Error("Item key is duplicated");
|
|
model.pushItem(connector);
|
|
this.updateConnections(connector);
|
|
}
|
|
model.items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
item.childKeys.forEach(function (childKey) {
|
|
var child = model.findItem(childKey);
|
|
if (child) {
|
|
child.container = item;
|
|
child.containerLocked = item.locked;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
return model;
|
|
};
|
|
ImporterBase.prototype.importItems = function (model) {
|
|
var result = [];
|
|
var obj = this.getObject();
|
|
var itemHash = {};
|
|
var shapes = this.importShapes(this.getShapeObjects(obj));
|
|
var key;
|
|
for (var i = 0; i < shapes.length; i++) {
|
|
var shape = shapes[i];
|
|
var oldKey = shape.key;
|
|
key = model.getNextKey(key);
|
|
shape.key = key;
|
|
itemHash[oldKey] = shape;
|
|
result.push(shape);
|
|
}
|
|
var connectors = this.importConnectors(this.getConnectorObjects(obj));
|
|
for (var i = 0; i < connectors.length; i++) {
|
|
var connector = connectors[i];
|
|
var oldKey = connector.key;
|
|
key = model.getNextKey(key);
|
|
connector.key = key;
|
|
itemHash[oldKey] = connector;
|
|
var endItemKey = connector["endItemKey"];
|
|
connector.endItem = itemHash[endItemKey];
|
|
delete connector["endItemKey"];
|
|
var beginItemKey = connector["beginItemKey"];
|
|
connector.beginItem = itemHash[beginItemKey];
|
|
delete connector["beginItemKey"];
|
|
result.push(connector);
|
|
this.updateConnections(connector);
|
|
}
|
|
result.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
item.childKeys.forEach(function (childKey) {
|
|
var child = itemHash[childKey];
|
|
if (child) {
|
|
child.container = item;
|
|
child.containerLocked = item.locked;
|
|
}
|
|
});
|
|
item.childKeys = item.childKeys
|
|
.map(function (childKey) { return itemHash[childKey] && itemHash[childKey].key; })
|
|
.filter(function (childKey) { return childKey; });
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
ImporterBase.prototype.importItemsData = function (model) {
|
|
var obj = this.getObject();
|
|
var shapes = this.importShapes(this.getShapeObjects(obj));
|
|
for (var i = 0; i < shapes.length; i++) {
|
|
var srcShape = shapes[i];
|
|
var destShape = void 0;
|
|
if (srcShape.dataKey !== undefined)
|
|
destShape = model.findShapeByDataKey(srcShape.dataKey);
|
|
if (!destShape)
|
|
destShape = model.findShape(srcShape.key);
|
|
if (destShape) {
|
|
destShape.dataKey = srcShape.dataKey;
|
|
destShape.locked = srcShape.locked;
|
|
destShape.position = srcShape.position.clone();
|
|
destShape.size = srcShape.size.clone();
|
|
destShape.parameters = srcShape.parameters.clone();
|
|
destShape.style = srcShape.style.clone();
|
|
destShape.styleText = srcShape.styleText.clone();
|
|
destShape.zIndex = srcShape.zIndex;
|
|
}
|
|
}
|
|
var connectors = this.importConnectors(this.getConnectorObjects(obj));
|
|
for (var i = 0; i < connectors.length; i++) {
|
|
var srcConnector = connectors[i];
|
|
var destConnector = void 0;
|
|
if (srcConnector.dataKey !== undefined)
|
|
destConnector = model.findConnectorByDataKey(srcConnector.dataKey);
|
|
if (!destConnector)
|
|
destConnector = model.findConnector(srcConnector.key);
|
|
if (destConnector) {
|
|
destConnector.dataKey = srcConnector.dataKey;
|
|
destConnector.locked = srcConnector.locked;
|
|
destConnector.points = srcConnector.points.slice();
|
|
destConnector.properties = srcConnector.properties.clone();
|
|
destConnector.style = srcConnector.style.clone();
|
|
destConnector.styleText = srcConnector.styleText.clone();
|
|
destConnector.zIndex = srcConnector.zIndex;
|
|
}
|
|
}
|
|
};
|
|
ImporterBase.prototype.importShapes = function (shapeObjs) {
|
|
var result = [];
|
|
if (!shapeObjs)
|
|
return result;
|
|
if (!Array.isArray(shapeObjs))
|
|
throw Error("Invalid Format");
|
|
for (var i = 0; i < shapeObjs.length; i++) {
|
|
var shapeObj = shapeObjs[i];
|
|
var shape = this.importShape(shapeObj);
|
|
result.push(shape);
|
|
result = result.concat(this.importShapeChildren(shapeObj, shape));
|
|
}
|
|
return result;
|
|
};
|
|
ImporterBase.prototype.importConnectors = function (connectorObjs) {
|
|
var result = [];
|
|
if (!connectorObjs)
|
|
return result;
|
|
if (!Array.isArray(connectorObjs))
|
|
throw Error("Invalid Format");
|
|
for (var i = 0; i < connectorObjs.length; i++) {
|
|
var shapeObj = connectorObjs[i];
|
|
result.push(this.importConnector(shapeObj));
|
|
}
|
|
return result;
|
|
};
|
|
ImporterBase.prototype.updateConnections = function (connector) {
|
|
if (connector.endItem) {
|
|
if (connector.endItem instanceof Shape_1.Shape) {
|
|
connector.endItem.attachedConnectors.push(connector);
|
|
connector.points[connector.points.length - 1] = connector.endItem.getConnectionPointPosition(connector.endConnectionPointIndex, connector.points[connector.points.length - 2]);
|
|
}
|
|
else {
|
|
connector.endItem = undefined;
|
|
connector.endConnectionPointIndex = -1;
|
|
}
|
|
}
|
|
if (connector.beginItem) {
|
|
if (connector.beginItem instanceof Shape_1.Shape) {
|
|
connector.beginItem.attachedConnectors.push(connector);
|
|
connector.points[0] = connector.beginItem.getConnectionPointPosition(connector.beginConnectionPointIndex, connector.points[1]);
|
|
}
|
|
else {
|
|
connector.beginItem = undefined;
|
|
connector.beginConnectionPointIndex = -1;
|
|
}
|
|
}
|
|
};
|
|
ImporterBase.prototype.assert = function (value, type) {
|
|
if (value === undefined)
|
|
throw Error("Invalid Format");
|
|
if (type !== undefined && typeof value !== type)
|
|
throw Error("Invalid Format");
|
|
};
|
|
return ImporterBase;
|
|
}());
|
|
exports.ImporterBase = ImporterBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 107 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var StylePropertyCommandBase = /** @class */ (function (_super) {
|
|
__extends(StylePropertyCommandBase, _super);
|
|
function StylePropertyCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
return StylePropertyCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.StylePropertyCommandBase = StylePropertyCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 108 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var StylePropertyCommandBase_1 = __webpack_require__(107);
|
|
var ChangeStylePropertyCommandBase = /** @class */ (function (_super) {
|
|
__extends(ChangeStylePropertyCommandBase, _super);
|
|
function ChangeStylePropertyCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeStylePropertyCommandBase.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var items = this.control.selection.getSelectedItems();
|
|
parameter = this.processParameter(parameter);
|
|
items.forEach(function (item) {
|
|
var styleProperty = _this.getStyleProperty();
|
|
_this.control.history.addAndRedo(_this.createHistoryItem(item, styleProperty, parameter));
|
|
});
|
|
this.updateInputPosition(parameter);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
ChangeStylePropertyCommandBase.prototype.getDefaultValue = function () {
|
|
return this.getDefaultStyleObj()[this.getStyleProperty()];
|
|
};
|
|
ChangeStylePropertyCommandBase.prototype.processParameter = function (parameter) {
|
|
return parameter;
|
|
};
|
|
return ChangeStylePropertyCommandBase;
|
|
}(StylePropertyCommandBase_1.StylePropertyCommandBase));
|
|
exports.ChangeStylePropertyCommandBase = ChangeStylePropertyCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 109 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStylePropertyCommandBase_1 = __webpack_require__(108);
|
|
var ChangeStyleHistoryItem_1 = __webpack_require__(46);
|
|
var Style_1 = __webpack_require__(27);
|
|
var ChangeStylePropertyCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeStylePropertyCommand, _super);
|
|
function ChangeStylePropertyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeStylePropertyCommand.prototype.getValue = function () {
|
|
return this.control.selection.inputPosition.getStylePropertyValue(this.getStyleProperty());
|
|
};
|
|
ChangeStylePropertyCommand.prototype.getStyleObj = function (item) {
|
|
return item.style;
|
|
};
|
|
ChangeStylePropertyCommand.prototype.getDefaultStyleObj = function () {
|
|
return new Style_1.Style();
|
|
};
|
|
ChangeStylePropertyCommand.prototype.createHistoryItem = function (item, styleProperty, styleValue) {
|
|
return new ChangeStyleHistoryItem_1.ChangeStyleHistoryItem(item.key, styleProperty, styleValue);
|
|
};
|
|
ChangeStylePropertyCommand.prototype.updateInputPosition = function (value) {
|
|
this.control.selection.inputPosition.setStylePropertyValue(this.getStyleProperty(), value);
|
|
};
|
|
return ChangeStylePropertyCommand;
|
|
}(ChangeStylePropertyCommandBase_1.ChangeStylePropertyCommandBase));
|
|
exports.ChangeStylePropertyCommand = ChangeStylePropertyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 110 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeConnectorPropertyHistoryItem_1 = __webpack_require__(55);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeConnectorPropertyCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorPropertyCommand, _super);
|
|
function ChangeConnectorPropertyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeConnectorPropertyCommand.prototype.getValue = function () {
|
|
return this.control.selection.inputPosition.getConnectorPropertyValue(this.getPropertyName());
|
|
};
|
|
ChangeConnectorPropertyCommand.prototype.getDefaultValue = function () {
|
|
return this.getPropertyDefaultValue();
|
|
};
|
|
ChangeConnectorPropertyCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var connectors = this.control.selection.getSelectedConnectors();
|
|
connectors.forEach(function (connector) {
|
|
var propertyName = _this.getPropertyName();
|
|
_this.control.history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(connector.key, propertyName, parameter));
|
|
});
|
|
this.control.selection.inputPosition.setConnectorPropertyValue(this.getPropertyName(), parameter);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
return ChangeConnectorPropertyCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeConnectorPropertyCommand = ChangeConnectorPropertyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 111 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var NodeLayout_1 = __webpack_require__(56);
|
|
var GraphLayout = /** @class */ (function () {
|
|
function GraphLayout() {
|
|
this.nodeKeys = [];
|
|
this.nodeToLayout = {};
|
|
this.edgeToPosition = {};
|
|
}
|
|
GraphLayout.prototype.forEachNode = function (callback) {
|
|
var _this = this;
|
|
this.nodeKeys.forEach(function (nk) { return callback(_this.nodeToLayout[nk], nk); });
|
|
};
|
|
GraphLayout.prototype.addNode = function (nodeLayout) {
|
|
if (this.nodeToLayout[nodeLayout.key])
|
|
throw Error("Node layout is already registered");
|
|
this.nodeKeys.push(nodeLayout.key);
|
|
this.nodeToLayout[nodeLayout.key] = nodeLayout;
|
|
};
|
|
GraphLayout.prototype.addEdge = function (edgeLayout) {
|
|
if (this.edgeToPosition[edgeLayout.key])
|
|
throw Error("Edge layout is already registered");
|
|
this.edgeToPosition[edgeLayout.key] = edgeLayout;
|
|
};
|
|
GraphLayout.prototype.getRectangle = function (includeMargins) {
|
|
var _this = this;
|
|
return Utils_1.GeometryUtils.getCommonRectangle(this.nodeKeys.map(function (nk) { return _this.nodeToLayout[nk].rectangle; }));
|
|
};
|
|
GraphLayout.prototype.offsetNodes = function (deltaX, deltaY) {
|
|
var _this = this;
|
|
if (deltaX === void 0) { deltaX = 0; }
|
|
if (deltaY === void 0) { deltaY = 0; }
|
|
var layout = new GraphLayout();
|
|
this.nodeKeys.forEach(function (nk) {
|
|
var nl = _this.nodeToLayout[nk];
|
|
layout.addNode(new NodeLayout_1.NodeLayout(nl.info, nl.position.offset(deltaX, deltaY)));
|
|
});
|
|
layout.copyEdges(this);
|
|
return layout;
|
|
};
|
|
GraphLayout.prototype.extend = function (layout) {
|
|
var _this = this;
|
|
layout.forEachNode(function (nl) { return _this.addNode(nl); });
|
|
this.copyEdges(layout);
|
|
};
|
|
GraphLayout.prototype.copyEdges = function (source) {
|
|
var _this = this;
|
|
Object.keys(source.edgeToPosition).forEach(function (e) {
|
|
var edge = source.edgeToPosition[e];
|
|
_this.addEdge(new NodeLayout_1.EdgeLayout(edge.key, edge.beginIndex, edge.endIndex));
|
|
});
|
|
};
|
|
return GraphLayout;
|
|
}());
|
|
exports.GraphLayout = GraphLayout;
|
|
|
|
|
|
/***/ }),
|
|
/* 112 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var LayoutBuilder = /** @class */ (function () {
|
|
function LayoutBuilder(settings, graph) {
|
|
this.settings = settings;
|
|
this.graph = graph;
|
|
}
|
|
LayoutBuilder.prototype.getBreadthNodeSizeCore = function (node) {
|
|
return this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical ?
|
|
(node.size.width + node.margin.left + node.margin.right) :
|
|
(node.size.height + node.margin.top + node.margin.bottom);
|
|
};
|
|
LayoutBuilder.prototype.getDepthNodeSizeCore = function (node) {
|
|
return this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Horizontal ?
|
|
(node.size.width + node.margin.left + node.margin.right) :
|
|
(node.size.height + node.margin.top + node.margin.bottom);
|
|
};
|
|
LayoutBuilder.prototype.chooseDirectionValue = function (near, far) {
|
|
return this.settings.direction === LayoutSettings_1.LogicalDirectionKind.Forward ? near : far;
|
|
};
|
|
LayoutBuilder.prototype.getDirectionValue = function (value) {
|
|
return this.settings.direction === LayoutSettings_1.LogicalDirectionKind.Forward ? value : -value;
|
|
};
|
|
LayoutBuilder.prototype.getComponentOffset = function (graphLayout) {
|
|
var rect = graphLayout.getRectangle(true);
|
|
var offset = this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical ? rect.width : rect.height;
|
|
return offset + this.settings.componentSpacing;
|
|
};
|
|
LayoutBuilder.prototype.setComponentOffset = function (graphLayout, offset) {
|
|
return this.settings.orientation === LayoutSettings_1.DataLayoutOrientation.Vertical ?
|
|
graphLayout.offsetNodes(offset) :
|
|
graphLayout.offsetNodes(0, offset);
|
|
};
|
|
return LayoutBuilder;
|
|
}());
|
|
exports.LayoutBuilder = LayoutBuilder;
|
|
|
|
|
|
/***/ }),
|
|
/* 113 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ClipboardCommand_1 = __webpack_require__(75);
|
|
var Importer_1 = __webpack_require__(105);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var ImportShapeHistoryItem_1 = __webpack_require__(230);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ImportConnectorHistoryItem_1 = __webpack_require__(231);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SetSelectionHistoryItem_1 = __webpack_require__(44);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var PasteSelectionCommandBase = /** @class */ (function (_super) {
|
|
__extends(PasteSelectionCommandBase, _super);
|
|
function PasteSelectionCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
PasteSelectionCommandBase.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && (this.isPasteSupportedByBrowser() || ClipboardCommand_1.ClipboardCommand.clipboardData !== undefined);
|
|
};
|
|
PasteSelectionCommandBase.prototype.isVisible = function () {
|
|
return this.isPasteSupportedByBrowser() || ClipboardCommand_1.ClipboardCommand.clipboardData !== undefined;
|
|
};
|
|
PasteSelectionCommandBase.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.getClipboardData(function (data) {
|
|
_this.performPaste(data, parameter);
|
|
});
|
|
return true;
|
|
};
|
|
PasteSelectionCommandBase.prototype.performPaste = function (data, parameter) {
|
|
this.control.beginUpdate(true);
|
|
this.control.history.beginTransaction();
|
|
var ids = [];
|
|
var importer = new Importer_1.Importer(data);
|
|
var items = importer.importItems(this.control.model);
|
|
this.calculateSelectionOffset(items, parameter);
|
|
for (var i = 0; i < items.length; i++) {
|
|
var item = items[i];
|
|
if (item instanceof Shape_1.Shape) {
|
|
item.position = this.getShapeNewPosition(item.position);
|
|
this.control.history.addAndRedo(new ImportShapeHistoryItem_1.ImportShapeHistoryItem(item));
|
|
}
|
|
else if (item instanceof Connector_1.Connector) {
|
|
this.changeConnectorPoints(item);
|
|
this.control.history.addAndRedo(new ImportConnectorHistoryItem_1.ImportConnectorHistoryItem(item));
|
|
}
|
|
var containerKey = item.container && item.container.key;
|
|
if (!containerKey || ids.indexOf(containerKey) === -1)
|
|
ids.push(item.key);
|
|
}
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.control.history, this.control.model);
|
|
this.control.history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(this.control.selection, ids));
|
|
this.control.history.endTransaction();
|
|
this.control.endUpdate(true);
|
|
};
|
|
PasteSelectionCommandBase.prototype.calculateSelectionOffset = function (items, position) { };
|
|
PasteSelectionCommandBase.getShapeNewPosition = function (model, position) {
|
|
while (model.findShapeAtPosition(position))
|
|
position = position.offset(PasteSelectionCommandBase.positionOffset, PasteSelectionCommandBase.positionOffset);
|
|
return position;
|
|
};
|
|
PasteSelectionCommandBase.changeConnectorPoints = function (model, connector) {
|
|
while (model.findConnectorAtPoints(connector.points)) {
|
|
connector.points.forEach(function (pt) {
|
|
pt.x += PasteSelectionCommandBase.positionOffset;
|
|
pt.y += PasteSelectionCommandBase.positionOffset;
|
|
});
|
|
}
|
|
};
|
|
PasteSelectionCommandBase.positionOffset = UnitConverter_1.UnitConverter.pixelsToTwips(10);
|
|
return PasteSelectionCommandBase;
|
|
}(ClipboardCommand_1.ClipboardCommand));
|
|
exports.PasteSelectionCommandBase = PasteSelectionCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 114 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var WideTree_1 = __webpack_require__(73);
|
|
var Sugiyama_1 = __webpack_require__(61);
|
|
var DataLayoutType;
|
|
(function (DataLayoutType) {
|
|
DataLayoutType[DataLayoutType["Tree"] = 0] = "Tree";
|
|
DataLayoutType[DataLayoutType["Sugiyama"] = 1] = "Sugiyama";
|
|
})(DataLayoutType = exports.DataLayoutType || (exports.DataLayoutType = {}));
|
|
var DataLayoutParameters = /** @class */ (function () {
|
|
function DataLayoutParameters(parameter) {
|
|
this.layoutType = parameter !== undefined && parameter.type || DataLayoutType.Tree;
|
|
this.layoutSettings = (this.layoutType === DataLayoutType.Sugiyama) ? new LayoutSettings_1.LayoutSettings() : new LayoutSettings_1.TreeLayoutSettings();
|
|
if (parameter !== undefined && parameter.orientation !== undefined)
|
|
this.layoutSettings.orientation = parameter.orientation;
|
|
}
|
|
DataLayoutParameters.prototype.getLayoutBuilder = function (graph) {
|
|
return (this.layoutType === DataLayoutType.Tree) ?
|
|
new WideTree_1.TreeLayoutBuilder(this.layoutSettings, graph) :
|
|
new Sugiyama_1.SugiyamaLayoutBuilder(this.layoutSettings, graph);
|
|
};
|
|
return DataLayoutParameters;
|
|
}());
|
|
exports.DataLayoutParameters = DataLayoutParameters;
|
|
|
|
|
|
/***/ }),
|
|
/* 115 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeLockedCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeLockedCommand, _super);
|
|
function ChangeLockedCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeLockedCommand.prototype.isEnabled = function () {
|
|
var _this = this;
|
|
var items = this.control.selection.getSelectedItems(true);
|
|
var enabled = false;
|
|
items.forEach(function (item) { if (item.locked !== _this.getLockState())
|
|
enabled = true; });
|
|
return _super.prototype.isEnabled.call(this) && enabled;
|
|
};
|
|
ChangeLockedCommand.prototype.executeCore = function (state, parameter) {
|
|
ModelUtils_1.ModelUtils.changeSelectionLocked(this.control.history, this.control.model, this.control.selection, this.getLockState());
|
|
return true;
|
|
};
|
|
return ChangeLockedCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeLockedCommand = ChangeLockedCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 116 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ImageInfo_1 = __webpack_require__(40);
|
|
var ChangeShapeImageHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeShapeImageHistoryItem, _super);
|
|
function ChangeShapeImageHistoryItem(item, imageUrl) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = item.key;
|
|
_this.imageUrl = imageUrl;
|
|
return _this;
|
|
}
|
|
ChangeShapeImageHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findShape(this.shapeKey);
|
|
this.oldImage = item.image;
|
|
manipulator.changeShapeImage(item, new ImageInfo_1.ImageInfo(this.imageUrl));
|
|
};
|
|
ChangeShapeImageHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.changeShapeImage(item, this.oldImage);
|
|
};
|
|
return ChangeShapeImageHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeShapeImageHistoryItem = ChangeShapeImageHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 117 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var MouseHandlerMoveConnectorPointState_1 = __webpack_require__(266);
|
|
var MouseHandlerResizeShapeState_1 = __webpack_require__(267);
|
|
var MouseHandlerMoveConnectorSideState_1 = __webpack_require__(268);
|
|
var MouseHandlerDragParameterPointState_1 = __webpack_require__(269);
|
|
var MouseHandlerCreateConnectorState_1 = __webpack_require__(270);
|
|
var MouseHandlerMoveConnectorOrthogonalSideState_1 = __webpack_require__(271);
|
|
var MouseHandlerToolboxDraggingState_1 = __webpack_require__(272);
|
|
var MouseHandlerMoveConnectorTextState_1 = __webpack_require__(273);
|
|
var MouseHandlerMoveClonedShapeState_1 = __webpack_require__(78);
|
|
var MouseHandlerDefaultStateBase_1 = __webpack_require__(121);
|
|
var MouseHandlerMoveShapeState_1 = __webpack_require__(279);
|
|
var MouseHandlerDefaultState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDefaultState, _super);
|
|
function MouseHandlerDefaultState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerDefaultState.prototype.finish = function () {
|
|
this.visualizerManager.resetConnectionPoints();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerDefaultState.prototype.onMouseDownCore = function (evt) {
|
|
if (evt.source.type === Event_1.MouseEventElementType.ConnectorText) {
|
|
var connectorKey = evt.source.key;
|
|
this.modifySelection(evt, connectorKey);
|
|
this.handler.switchState(new MouseHandlerMoveConnectorTextState_1.MouseHandlerMoveConnectorTextState(this.handler, this.history, this.model));
|
|
}
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ShapeResizeBox)
|
|
this.handler.switchState(new MouseHandlerResizeShapeState_1.MouseHandlerResizeShapeState(this.handler, this.history, this.model, this.selection, this.visualizerManager));
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ShapeParameterBox)
|
|
this.handler.switchState(new MouseHandlerDragParameterPointState_1.MouseHandlerDragParameterPointState(this.handler, this.history, this.model));
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ConnectorPoint)
|
|
this.handler.switchState(new MouseHandlerMoveConnectorPointState_1.MouseHandlerMoveConnectorPointState(this.handler, this.history, this.model, this.visualizerManager));
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ConnectorSide)
|
|
this.handler.switchState(new MouseHandlerMoveConnectorSideState_1.MouseHandlerMoveConnectorSideState(this.handler, this.history, this.model));
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ConnectorOrthogonalSide)
|
|
this.handler.switchState(new MouseHandlerMoveConnectorOrthogonalSideState_1.MouseHandlerMoveConnectorOrthogonalSideState(this.handler, this.history, this.model));
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ShapeConnectionPoint)
|
|
this.handler.switchState(new MouseHandlerCreateConnectorState_1.MouseHandlerCreateConnectorState(this.handler, this.history, this.model, this.visualizerManager, this.selection));
|
|
else
|
|
_super.prototype.onMouseDownCore.call(this, evt);
|
|
};
|
|
MouseHandlerDefaultState.prototype.onShapeMouseDown = function (evt) {
|
|
var shapeKey = evt.source.key;
|
|
if (MouseHandlerMoveClonedShapeState_1.MouseHandlerMoveClonedShapeState.isMoveClonedShapeEvent(evt)) {
|
|
this.selection.add(shapeKey);
|
|
this.handler.switchToMoveClonedShapeState();
|
|
}
|
|
else {
|
|
this.modifySelection(evt, shapeKey);
|
|
this.handler.switchState(new MouseHandlerMoveShapeState_1.MouseHandlerMoveShapeState(this.handler, this.history, this.model, this.selection, this.visualizerManager));
|
|
}
|
|
this.handler.state.onMouseDown(evt);
|
|
};
|
|
MouseHandlerDefaultState.prototype.onDragStart = function (evt) {
|
|
this.handler.switchState(new MouseHandlerToolboxDraggingState_1.MouseHandlerBeforeToolboxDraggingState(this.handler, this.history, this.model, this.selection, this.visualizerManager));
|
|
this.handler.state.onDragStart(evt);
|
|
};
|
|
MouseHandlerDefaultState.prototype.onMouseMoveCore = function (evt) {
|
|
this.updateConnectionsOnMouseMove(evt);
|
|
_super.prototype.onMouseMoveCore.call(this, evt);
|
|
};
|
|
MouseHandlerDefaultState.prototype.updateConnectionsOnMouseMove = function (evt) {
|
|
var item = this.model.findItem(evt.source.key);
|
|
this.visualizerManager.updateConnections(item, evt.source.type, evt.source.value);
|
|
};
|
|
MouseHandlerDefaultState.prototype.canDragObjectOnMouseDown = function (key) {
|
|
return true;
|
|
};
|
|
MouseHandlerDefaultState.prototype.canClearSelectionOnMouseDown = function () {
|
|
return false;
|
|
};
|
|
MouseHandlerDefaultState.prototype.processOnMouseMoveAfterLimit = function (evt) {
|
|
this.startSelection(evt);
|
|
};
|
|
MouseHandlerDefaultState.prototype.canSelectOnMouseUp = function (key) {
|
|
return true;
|
|
};
|
|
MouseHandlerDefaultState.prototype.canClearSelectionOnMouseUp = function () {
|
|
return true;
|
|
};
|
|
return MouseHandlerDefaultState;
|
|
}(MouseHandlerDefaultStateBase_1.MouseHandlerDefaultStateBase));
|
|
exports.MouseHandlerDefaultState = MouseHandlerDefaultState;
|
|
|
|
|
|
/***/ }),
|
|
/* 118 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Event_1 = __webpack_require__(10);
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var DeleteConnectionHistoryItem_1 = __webpack_require__(90);
|
|
var AddConnectionHistoryItem_1 = __webpack_require__(37);
|
|
var MoveConnectorPointHistoryItem_1 = __webpack_require__(50);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerMoveConnectorPointStateBase = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveConnectorPointStateBase, _super);
|
|
function MouseHandlerMoveConnectorPointStateBase(handler, history, model, visualizerManager) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
_this.visualizerManager = visualizerManager;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.finish = function () {
|
|
this.visualizerManager.resetConnectionTarget();
|
|
this.visualizerManager.resetConnectionPoints();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.onMouseMove = function (evt) {
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
if (this.connector) {
|
|
var item = this.connector.getExtremeItem(this.pointPosition);
|
|
this.visualizerManager.setConnectionTarget(item, evt.source.type);
|
|
var pointIndex = this.connector.getExtremeConnectionPointIndex(this.pointPosition);
|
|
if (!item && this.oppositeConnectionPointIndex !== -1)
|
|
item = this.model.findItem(evt.source.key);
|
|
this.visualizerManager.setConnectionPoints(item, evt.source.type, pointIndex, true);
|
|
}
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.onApplyChanges = function (evt) {
|
|
var point = this.getSnappedPoint(evt, evt.modelPoint);
|
|
if (this.pointPosition !== undefined) {
|
|
if (this.oppositePointPosition === undefined) {
|
|
this.oppositePointPosition = this.getOppositePointPosition();
|
|
this.oppositeItem = this.connector.getExtremeItem(this.oppositePointPosition);
|
|
this.oppositeConnectionPointIndex = this.connector.getExtremeConnectionPointIndex(this.oppositePointPosition);
|
|
}
|
|
var item = this.model.findItem(evt.source.key);
|
|
var connectionPointIndex = -1;
|
|
if (evt.source.type === Event_1.MouseEventElementType.ShapeConnectionPoint)
|
|
connectionPointIndex = parseInt(evt.source.value);
|
|
if (item && !item.isLocked && (evt.source.type === Event_1.MouseEventElementType.Shape || evt.source.type === Event_1.MouseEventElementType.ShapeConnectionPoint) &&
|
|
(this.connector.getExtremeItem(this.oppositePointPosition) !== item ||
|
|
(connectionPointIndex !== -1 && this.oppositeConnectionPointIndex !== -1 &&
|
|
connectionPointIndex !== this.oppositeConnectionPointIndex))) {
|
|
if (this.connector.getExtremeItem(this.pointPosition) !== item ||
|
|
this.connector.getExtremeConnectionPointIndex(this.pointPosition) !== connectionPointIndex) {
|
|
if (this.connector.getExtremeItem(this.pointPosition))
|
|
this.history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(this.connector, this.pointPosition));
|
|
this.history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(this.connector, item, connectionPointIndex, this.pointPosition));
|
|
if (this.oppositeItem)
|
|
this.updateOppositeItemConnectionPointIndex(connectionPointIndex);
|
|
}
|
|
point = item.getConnectionPointPosition(connectionPointIndex, this.connector.points[this.pointIndex + (this.pointPosition === Connector_1.ConnectorPosition.End ? -1 : 1)]);
|
|
this.visualizerManager.setConnectionPointIndex(connectionPointIndex);
|
|
}
|
|
else if (this.connector.getExtremeItem(this.pointPosition)) {
|
|
this.history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(this.connector, this.pointPosition));
|
|
if (this.oppositeItem)
|
|
this.updateOppositeItemConnectionPointIndex(this.oppositeConnectionPointIndex);
|
|
}
|
|
}
|
|
this.history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(this.connector.key, this.pointIndex, point));
|
|
ModelUtils_1.ModelUtils.updateConnectorAttachedPoints(this.history, this.model, this.connector);
|
|
this.handler.tryUpdateModelSize();
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.updateOppositeItemConnectionPointIndex = function (connectionPointIndex) {
|
|
this.history.addAndRedo(new DeleteConnectionHistoryItem_1.DeleteConnectionHistoryItem(this.connector, this.oppositePointPosition));
|
|
this.history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(this.connector, this.oppositeItem, connectionPointIndex === -1 ? -1 : this.oppositeConnectionPointIndex, this.oppositePointPosition));
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.onFinishWithChanges = function () {
|
|
ModelUtils_1.ModelUtils.updateConnectorContainer(this.history, this.model, this.connector);
|
|
ModelUtils_1.ModelUtils.removeUnnecessaryConnectorPoints(this.history, this.connector);
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.getDraggingElementKeys = function () {
|
|
return this.connector ? [this.connector.key] : [];
|
|
};
|
|
MouseHandlerMoveConnectorPointStateBase.prototype.getOppositePointPosition = function () {
|
|
return this.pointPosition === Connector_1.ConnectorPosition.Begin ? Connector_1.ConnectorPosition.End : Connector_1.ConnectorPosition.Begin;
|
|
};
|
|
return MouseHandlerMoveConnectorPointStateBase;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerMoveConnectorPointStateBase = MouseHandlerMoveConnectorPointStateBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 119 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var AddConnectorPointHistoryItem = /** @class */ (function (_super) {
|
|
__extends(AddConnectorPointHistoryItem, _super);
|
|
function AddConnectorPointHistoryItem(connectorKey, pointIndex, point) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connectorKey;
|
|
_this.pointIndex = pointIndex;
|
|
_this.point = point;
|
|
return _this;
|
|
}
|
|
AddConnectorPointHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.addConnectorPoint(connector, this.pointIndex, this.point.clone());
|
|
};
|
|
AddConnectorPointHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.deleteConnectorPoint(connector, this.pointIndex);
|
|
};
|
|
return AddConnectorPointHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.AddConnectorPointHistoryItem = AddConnectorPointHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 120 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Event_1 = __webpack_require__(10);
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerMoveShapeStateBase = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveShapeStateBase, _super);
|
|
function MouseHandlerMoveShapeStateBase(handler, history, model, selection, visualizerManager) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
_this.selection = selection;
|
|
_this.visualizerManager = visualizerManager;
|
|
_this.startScrollLeft = 0;
|
|
_this.startScrollTop = 0;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveShapeStateBase.prototype.finish = function () {
|
|
this.visualizerManager.resetExtensionLines();
|
|
this.visualizerManager.resetContainerTarget();
|
|
this.visualizerManager.resetConnectionTarget();
|
|
this.visualizerManager.resetConnectionPoints();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.onMouseDown = function (evt) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.shapes = this.selection.getSelectedShapes(false, true);
|
|
this.connectors = this.selection.getSelectedConnectors(false, true);
|
|
if (this.shapes.length === 0) {
|
|
this.handler.switchToDefaultState();
|
|
return;
|
|
}
|
|
this.startShapePositions = this.shapes.map(function (shape) { return shape.position.clone(); });
|
|
this.startConnectorPoints = this.connectors.map(function (c) { return c.points.map(function (p) { return p.clone(); }); });
|
|
this.connectorsWithoutBeginItemInfo = ModelUtils_1.ModelUtils.getConnectorsWithoutBeginItemInfo(this.model);
|
|
this.connectorsWithoutEndItemInfo = ModelUtils_1.ModelUtils.getConnectorsWithoutEndItemInfo(this.model);
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.onMouseMove = function (evt) {
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
this.visualizerManager.setExtensionLines(this.selection.getSelectedShapes(false, true));
|
|
var container = ModelUtils_1.ModelUtils.findContainerByEventKey(this.model, this.selection, evt.source.key);
|
|
if (container && ModelUtils_1.ModelUtils.canInsertSelectionToContainer(this.model, this.selection, container))
|
|
this.visualizerManager.setContainerTarget(container, evt.source.type);
|
|
else
|
|
this.visualizerManager.resetContainerTarget();
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.onApplyChanges = function (evt) {
|
|
var _this = this;
|
|
this.shapes.forEach(function (shape, index) {
|
|
var pos = _this.getPosition(evt, _this.startShapePositions[index]);
|
|
ModelUtils_1.ModelUtils.setShapePosition(_this.history, _this.model, shape, pos);
|
|
ModelUtils_1.ModelUtils.updateMovingShapeConnections(_this.history, shape, _this.connectorsWithoutBeginItemInfo, _this.connectorsWithoutEndItemInfo, function () {
|
|
_this.visualizerManager.resetConnectionTarget();
|
|
_this.visualizerManager.resetConnectionPoints();
|
|
}, function (shape, connectionPointIndex) {
|
|
_this.visualizerManager.setConnectionTarget(shape, Event_1.MouseEventElementType.Shape);
|
|
_this.visualizerManager.setConnectionPoints(shape, Event_1.MouseEventElementType.Shape, connectionPointIndex, true);
|
|
});
|
|
ModelUtils_1.ModelUtils.updateShapeAttachedConnectors(_this.history, _this.model, shape);
|
|
});
|
|
this.connectors.forEach(function (connector, index) {
|
|
var delta = _this.startShapePositions[0].offset(-_this.shapes[0].position.x, -_this.shapes[0].position.y);
|
|
if (delta.x !== 0 || delta.y !== 0) {
|
|
var startPtIndex = connector.beginItem ? 1 : 0;
|
|
var endPtIndex = connector.endItem ? (connector.points.length - 2) : (connector.points.length - 1);
|
|
for (var i = startPtIndex; i <= endPtIndex; i++)
|
|
ModelUtils_1.ModelUtils.setConnectorPoint(_this.history, _this.model, connector, i, _this.startConnectorPoints[index][i].offset(-delta.x, -delta.y));
|
|
}
|
|
});
|
|
var container = ModelUtils_1.ModelUtils.findContainerByEventKey(this.model, this.selection, evt.source.key);
|
|
if (container && ModelUtils_1.ModelUtils.canInsertSelectionToContainer(this.model, this.selection, container))
|
|
ModelUtils_1.ModelUtils.insertSelectionToContainer(this.history, this.model, this.selection, container);
|
|
else
|
|
ModelUtils_1.ModelUtils.removeSelectionFromContainer(this.history, this.model, this.selection);
|
|
this.handler.tryUpdateModelSize(function (offsetLeft, offsetTop) {
|
|
_this.connectorsWithoutBeginItemInfo.forEach(function (pi) {
|
|
pi.point.x += offsetLeft;
|
|
pi.point.y += offsetTop;
|
|
});
|
|
_this.connectorsWithoutEndItemInfo.forEach(function (pi) {
|
|
pi.point.x += offsetLeft;
|
|
pi.point.y += offsetTop;
|
|
});
|
|
});
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.getDraggingElementKeys = function () {
|
|
return this.shapes.map(function (shape) { return shape.key; });
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.getXPosition = function (evt, baseX) {
|
|
return baseX + evt.modelPoint.x - this.startPoint.x;
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.getYPosition = function (evt, baseY) {
|
|
return baseY + evt.modelPoint.y - this.startPoint.y;
|
|
};
|
|
MouseHandlerMoveShapeStateBase.prototype.getPosition = function (evt, basePoint) {
|
|
return new Utils_1.Point(this.handler.getSnappedPos(evt, this.getXPosition(evt, basePoint.x), true), this.handler.getSnappedPos(evt, this.getYPosition(evt, basePoint.y), false));
|
|
};
|
|
return MouseHandlerMoveShapeStateBase;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerMoveShapeStateBase = MouseHandlerMoveShapeStateBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 121 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var Event_1 = __webpack_require__(10);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseHandlerToggleShapeExpandedState_1 = __webpack_require__(275);
|
|
var MouseHandlerSelectionState_1 = __webpack_require__(277);
|
|
var MouseHandlerZoomOnWheelState_1 = __webpack_require__(278);
|
|
var MouseHandlerScrollingState_1 = __webpack_require__(122);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var MouseHandlerDefaultStateBase = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDefaultStateBase, _super);
|
|
function MouseHandlerDefaultStateBase(handler, history, selection, model, view, visualizerManager, settings, bars) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.history = history;
|
|
_this.selection = selection;
|
|
_this.model = model;
|
|
_this.view = view;
|
|
_this.visualizerManager = visualizerManager;
|
|
_this.settings = settings;
|
|
_this.bars = bars;
|
|
return _this;
|
|
}
|
|
MouseHandlerDefaultStateBase.prototype.onMouseDown = function (evt) {
|
|
this.onMouseDownCore(evt);
|
|
if (this.handler.state !== this)
|
|
this.handler.state.onMouseDown(evt);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseDownCore = function (evt) {
|
|
if (evt.modifiers === KeyCode_1.ModifierKey.Ctrl)
|
|
this.startScrolling(evt);
|
|
else if (evt.source.type === Event_1.MouseEventElementType.Shape && this.canDragObjectOnMouseDown(evt.source.key))
|
|
this.onShapeMouseDown(evt);
|
|
else if (evt.source.type === Event_1.MouseEventElementType.Connector && this.canDragObjectOnMouseDown(evt.source.key))
|
|
this.onConnectorMouseDown(evt);
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ShapeExpandButton)
|
|
this.onShapeExpandBtnMouseDown(evt);
|
|
else {
|
|
if (evt.source.type !== Event_1.MouseEventElementType.Shape &&
|
|
evt.source.type !== Event_1.MouseEventElementType.Connector &&
|
|
this.canClearSelectionOnMouseDown())
|
|
this.clearSelection();
|
|
this.startPoint = evt.modelPoint;
|
|
}
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseMove = function (evt) {
|
|
this.onMouseMoveCore(evt);
|
|
if (this.handler.state !== this) {
|
|
this.handler.state.onMouseDown(this.handler.mouseDownEvent);
|
|
this.handler.state.onMouseMove(evt);
|
|
}
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseMoveCore = function (evt) {
|
|
if (this.startPoint &&
|
|
(Math.abs(this.startPoint.x - evt.modelPoint.x) > MouseHandlerDefaultStateBase.startLimit ||
|
|
Math.abs(this.startPoint.y - evt.modelPoint.y) > MouseHandlerDefaultStateBase.startLimit)) {
|
|
this.processOnMouseMoveAfterLimit(evt);
|
|
this.startPoint = undefined;
|
|
}
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseUp = function (evt) {
|
|
this.onMouseUpCore(evt);
|
|
if (this.handler.state !== this)
|
|
this.handler.state.onMouseUp(evt);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseUpCore = function (evt) {
|
|
if (evt.source.type === Event_1.MouseEventElementType.Shape && this.canSelectOnMouseUp(evt.source.key))
|
|
this.modifySelection(evt, evt.source.key);
|
|
else if (evt.source.type === Event_1.MouseEventElementType.Connector && this.canSelectOnMouseUp(evt.source.key))
|
|
this.modifySelection(evt, evt.source.key);
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ShapeExpandButton && this.canSelectOnMouseUp(evt.source.key))
|
|
this.modifySelection(evt, evt.source.key);
|
|
else if (this.startPoint && this.canClearSelectionOnMouseUp())
|
|
this.clearSelection();
|
|
this.startPoint = undefined;
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onMouseWheel = function (evt) {
|
|
if (evt.modifiers & KeyCode_1.ModifierKey.Ctrl) {
|
|
this.handler.switchState(new MouseHandlerZoomOnWheelState_1.MouseHandlerZoomOnWheelState(this.handler, this.settings, this.view, this.bars));
|
|
this.handler.state.onMouseWheel(evt);
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onLongTouch = function (evt) {
|
|
this.modifySelection(evt, evt.source.key, true);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onConnectorMouseDown = function (evt) {
|
|
this.modifySelection(evt, evt.source.key);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onShapeMouseDown = function (evt) {
|
|
this.modifySelection(evt, evt.source.key);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.onShapeExpandBtnMouseDown = function (evt) {
|
|
this.modifySelection(evt, evt.source.key);
|
|
this.handler.switchState(new MouseHandlerToggleShapeExpandedState_1.MouseHandlerToggleShapeExpandedState(this.handler, this.history, this.model));
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.finish = function () {
|
|
this.startPoint = undefined;
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.startSelection = function (evt) {
|
|
this.handler.switchState(new MouseHandlerSelectionState_1.MouseHandlerSelectionState(this.handler, this.selection, this.visualizerManager));
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.startScrolling = function (evt) {
|
|
this.handler.switchState(new MouseHandlerScrollingState_1.MouseHandlerScrollingState(this.handler, this.view, this.selection));
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.modifySelection = function (evt, key, forceMultipleSelection) {
|
|
if (this.isMultipleSelectionModifier(evt) || forceMultipleSelection) {
|
|
if (this.selection.hasKey(key))
|
|
this.selection.remove(key);
|
|
else
|
|
this.selection.add(key);
|
|
}
|
|
else if (!this.selection.hasKey(key))
|
|
this.selection.set([key]);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.clearSelection = function () {
|
|
this.selection.set([]);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.inSelection = function (key) {
|
|
return this.selection.hasKey(key);
|
|
};
|
|
MouseHandlerDefaultStateBase.prototype.isMultipleSelectionModifier = function (evt) {
|
|
return evt.modifiers & KeyCode_1.ModifierKey.Ctrl || evt.modifiers & KeyCode_1.ModifierKey.Shift;
|
|
};
|
|
MouseHandlerDefaultStateBase.startLimit = UnitConverter_1.UnitConverter.pixelsToTwips(1);
|
|
return MouseHandlerDefaultStateBase;
|
|
}(MouseHandlerStateBase_1.MouseHandlerStateBase));
|
|
exports.MouseHandlerDefaultStateBase = MouseHandlerDefaultStateBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 122 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var Event_1 = __webpack_require__(10);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var MouseHandlerScrollingState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerScrollingState, _super);
|
|
function MouseHandlerScrollingState(handler, view, selection) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.view = view;
|
|
_this.selection = selection;
|
|
_this.lastOffset = new Utils_1.Point(0, 0);
|
|
return _this;
|
|
}
|
|
MouseHandlerScrollingState.prototype.onMouseDown = function (evt) {
|
|
evt.preventDefault = true;
|
|
this.startPoint = this.getPointByEvent(evt);
|
|
};
|
|
MouseHandlerScrollingState.prototype.onMouseMove = function (evt) {
|
|
if (evt.button !== Event_1.MouseButton.Left) {
|
|
this.handler.switchToDefaultState();
|
|
return;
|
|
}
|
|
var prevPoint = this.currentPoint || this.startPoint;
|
|
evt.preventDefault = true;
|
|
var point = this.getPointByEvent(evt);
|
|
var actualOffset = this.view.scrollBy(new Utils_1.Point(point.x - prevPoint.x, point.y - prevPoint.y));
|
|
this.lastOffset = this.lastOffset.offset(actualOffset.x, actualOffset.y);
|
|
this.currentPoint = point;
|
|
};
|
|
MouseHandlerScrollingState.prototype.onMouseUp = function (evt) {
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
MouseHandlerScrollingState.prototype.cancelChanges = function () {
|
|
if (this.currentPoint)
|
|
this.view.scrollBy(this.lastOffset.multiply(-1));
|
|
};
|
|
MouseHandlerScrollingState.prototype.start = function () {
|
|
this.handler.raiseDragScrollStart();
|
|
_super.prototype.start.call(this);
|
|
};
|
|
MouseHandlerScrollingState.prototype.finish = function () {
|
|
this.handler.raiseDragScrollEnd();
|
|
if (!this.currentPoint || !this.startPoint || this.currentPoint.equals(this.startPoint))
|
|
this.selection.set([]);
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerScrollingState.prototype.getPointByEvent = function (evt) {
|
|
return evt.offsetPoint;
|
|
};
|
|
return MouseHandlerScrollingState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerCancellableState));
|
|
exports.MouseHandlerScrollingState = MouseHandlerScrollingState;
|
|
|
|
|
|
/***/ }),
|
|
/* 123 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDefaultStateBase_1 = __webpack_require__(121);
|
|
var MouseHandlerDefaultReadOnlyState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDefaultReadOnlyState, _super);
|
|
function MouseHandlerDefaultReadOnlyState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerDefaultReadOnlyState.prototype.canDragObjectOnMouseDown = function (key) {
|
|
return false;
|
|
};
|
|
MouseHandlerDefaultReadOnlyState.prototype.canClearSelectionOnMouseDown = function () {
|
|
return false;
|
|
};
|
|
MouseHandlerDefaultReadOnlyState.prototype.processOnMouseMoveAfterLimit = function (evt) {
|
|
this.startSelection(evt);
|
|
};
|
|
MouseHandlerDefaultReadOnlyState.prototype.canSelectOnMouseUp = function (key) {
|
|
return true;
|
|
};
|
|
MouseHandlerDefaultReadOnlyState.prototype.canClearSelectionOnMouseUp = function () {
|
|
return true;
|
|
};
|
|
return MouseHandlerDefaultReadOnlyState;
|
|
}(MouseHandlerDefaultStateBase_1.MouseHandlerDefaultStateBase));
|
|
exports.MouseHandlerDefaultReadOnlyState = MouseHandlerDefaultReadOnlyState;
|
|
|
|
|
|
/***/ }),
|
|
/* 124 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var __1 = __webpack_require__(8);
|
|
var ContextMenuHandler = /** @class */ (function () {
|
|
function ContextMenuHandler() {
|
|
this.contextMenuVisible = false;
|
|
this.onVisibilityChanged = new __1.EventDispatcher();
|
|
}
|
|
ContextMenuHandler.prototype.onMouseDown = function (evt) { };
|
|
ContextMenuHandler.prototype.onMouseUp = function (evt) {
|
|
this.hideContextMenu();
|
|
};
|
|
ContextMenuHandler.prototype.onContextMenu = function (evt) {
|
|
this.showContextMenu(evt.eventPoint, evt.modelPoint);
|
|
};
|
|
ContextMenuHandler.prototype.onFocus = function (evt) { };
|
|
ContextMenuHandler.prototype.onBlur = function (evt) { };
|
|
ContextMenuHandler.prototype.onTextInputFocus = function (evt) { };
|
|
ContextMenuHandler.prototype.onTextInputBlur = function (evt) { };
|
|
ContextMenuHandler.prototype.onLongTouch = function (evt) { };
|
|
ContextMenuHandler.prototype.showContextMenu = function (eventPoint, modelPoint) {
|
|
this.onVisibilityChanged.raise1(function (l) { return l.notifyShowContextMenu(eventPoint, modelPoint); });
|
|
this.contextMenuVisible = true;
|
|
};
|
|
ContextMenuHandler.prototype.hideContextMenu = function () {
|
|
if (this.contextMenuVisible) {
|
|
this.onVisibilityChanged.raise1(function (l) { return l.notifyHideContextMenu(); });
|
|
this.contextMenuVisible = false;
|
|
}
|
|
};
|
|
ContextMenuHandler.prototype.notifyDragStart = function (itemKeys) { };
|
|
ContextMenuHandler.prototype.notifyDragEnd = function (itemKeys) { };
|
|
ContextMenuHandler.prototype.notifyDragScrollStart = function () { };
|
|
ContextMenuHandler.prototype.notifyDragScrollEnd = function () { };
|
|
return ContextMenuHandler;
|
|
}());
|
|
exports.ContextMenuHandler = ContextMenuHandler;
|
|
|
|
|
|
/***/ }),
|
|
/* 125 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectionTargetVisualizer_1 = __webpack_require__(287);
|
|
var ContainerTargetVisualizer_1 = __webpack_require__(288);
|
|
var ExtensionLinesVisualizer_1 = __webpack_require__(88);
|
|
var __1 = __webpack_require__(8);
|
|
var Model_1 = __webpack_require__(19);
|
|
var Event_1 = __webpack_require__(10);
|
|
var ConnectionPointsVisualizer_1 = __webpack_require__(289);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var CanvasSelectionManager_1 = __webpack_require__(87);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var ResizeInfoVisualizer_1 = __webpack_require__(290);
|
|
var SelectionRectVisualizer_1 = __webpack_require__(291);
|
|
var VisualizerManager = /** @class */ (function () {
|
|
function VisualizerManager(selection, model, eventManager, settings, readOnly) {
|
|
if (readOnly === void 0) { readOnly = settings.readOnly; }
|
|
this.selection = selection;
|
|
this.model = model;
|
|
this.eventManager = eventManager;
|
|
this.settings = settings;
|
|
this.readOnly = readOnly;
|
|
this.onVisualizersUpdate = new __1.EventDispatcher();
|
|
this.connectionPointsVisualizer = new ConnectionPointsVisualizer_1.ConnectionPointsVisualizer(this.onVisualizersUpdate);
|
|
this.connectionPointsVisualizer = new ConnectionPointsVisualizer_1.ConnectionPointsVisualizer(this.onVisualizersUpdate);
|
|
this.connectionTargetVisualizer = new ConnectionTargetVisualizer_1.ConnectionTargetVisualizer(this.onVisualizersUpdate);
|
|
this.containerTargetVisualizer = new ContainerTargetVisualizer_1.ContainerTargetVisualizer(this.onVisualizersUpdate);
|
|
this.extensionLinesVisualizer = new ExtensionLinesVisualizer_1.ExtensionLinesVisualizer(this.onVisualizersUpdate);
|
|
this.resizeInfoVisualizer = new ResizeInfoVisualizer_1.ResizeInfoVisualizer(this.onVisualizersUpdate);
|
|
this.selectionRectangleVisualizer = new SelectionRectVisualizer_1.SelectionRectVisualizer(this.onVisualizersUpdate);
|
|
}
|
|
VisualizerManager.prototype.initialize = function (model) {
|
|
this.model = model;
|
|
};
|
|
VisualizerManager.prototype.onMouseDown = function (evt) {
|
|
};
|
|
VisualizerManager.prototype.onMouseUp = function (evt) {
|
|
};
|
|
VisualizerManager.prototype.onMouseEnter = function (evt) {
|
|
};
|
|
VisualizerManager.prototype.onMouseLeave = function (evt) {
|
|
this.resetConnectionPoints();
|
|
this.resetConnectionTarget();
|
|
this.resetExtensionLines();
|
|
this.resetContainerTarget();
|
|
this.resetResizeInfo();
|
|
this.resetSelectionRectangle();
|
|
};
|
|
VisualizerManager.prototype.onBlur = function (evt) {
|
|
};
|
|
VisualizerManager.prototype.onFocus = function (evt) {
|
|
};
|
|
VisualizerManager.prototype.updateConnections = function (item, type, value) {
|
|
var pointIndex = -1;
|
|
if (value && type === Event_1.MouseEventElementType.ShapeConnectionPoint)
|
|
pointIndex = parseInt(value);
|
|
this.setConnectionPoints(item, type, pointIndex);
|
|
};
|
|
VisualizerManager.prototype.setConnectionPoints = function (item, type, pointIndex, preventShowOutside) {
|
|
if (!this.eventManager.isFocused())
|
|
return;
|
|
if (item && !item.isLocked && (type === Event_1.MouseEventElementType.Shape || type === Event_1.MouseEventElementType.ShapeResizeBox ||
|
|
type === Event_1.MouseEventElementType.ShapeConnectionPoint) && item !== undefined) {
|
|
var key = item.key;
|
|
var isSelected_1 = this.selection.hasKey(key);
|
|
var points = isSelected_1 ? item.getConnectionPointsForSelection() : item.getConnectionPoints();
|
|
this.connectionPointsVisualizer.setPoints(key, points.map(function (pt) { return new ConnectionPointsVisualizer_1.ConnectionPointInfo(pt, isSelected_1 ? item.getConnectionPointForSelectionSide(pt) : item.getConnectionPointSide(pt)); }), pointIndex, isSelected_1 && !preventShowOutside);
|
|
}
|
|
else
|
|
this.connectionPointsVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setConnectionPointIndex = function (index) {
|
|
this.connectionPointsVisualizer.setPointIndex(index);
|
|
};
|
|
VisualizerManager.prototype.updateConnectionPoints = function () {
|
|
var item = this.model.findItem(this.connectionPointsVisualizer.getKey());
|
|
if (item !== undefined)
|
|
this.connectionPointsVisualizer.update();
|
|
else
|
|
this.connectionPointsVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.resetConnectionPoints = function () {
|
|
this.connectionPointsVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setConnectionTarget = function (item, type) {
|
|
if (item && !item.isLocked && (type === Event_1.MouseEventElementType.Shape ||
|
|
type === Event_1.MouseEventElementType.ShapeConnectionPoint)) {
|
|
this.connectionTargetVisualizer.setTargetRect(item.key, item.rectangle);
|
|
}
|
|
else
|
|
this.connectionTargetVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.resetConnectionTarget = function () {
|
|
this.connectionTargetVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setContainerTarget = function (item, type) {
|
|
if (item && !item.isLocked && (type === Event_1.MouseEventElementType.Shape) && item.enableChildren)
|
|
this.containerTargetVisualizer.setTargetRect(item.key, item.rectangle);
|
|
else
|
|
this.containerTargetVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.resetContainerTarget = function () {
|
|
this.containerTargetVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setExtensionLines = function (items) {
|
|
var _this = this;
|
|
if (!this.eventManager.isFocused())
|
|
return;
|
|
this.extensionLinesVisualizer.reset();
|
|
var rect = Model_1.DiagramModel.getRectangle(items.filter(function (item) { return item; }));
|
|
this.addPageExtensionLines(rect);
|
|
this.model.items.forEach(function (item) {
|
|
if (items.indexOf(item) > -1)
|
|
return;
|
|
if (item instanceof Shape_1.Shape)
|
|
_this.addShapeExtensionLines(item, rect);
|
|
});
|
|
};
|
|
VisualizerManager.prototype.addPageExtensionLines = function (rect) {
|
|
var horPages = Math.round(this.model.size.width / this.model.pageWidth);
|
|
var verPages = Math.round(this.model.size.height / this.model.pageHeight);
|
|
for (var i = 0; i < horPages; i++) {
|
|
for (var j = 0; j < verPages; j++) {
|
|
var center = new Utils_1.Point(i * this.model.pageWidth + this.model.pageWidth / 2, j * this.model.pageHeight + this.model.pageHeight / 2);
|
|
if (Math.abs(rect.center.x - center.x) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.center.x, 0), new Utils_1.Point(rect.center.x, this.model.size.height));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterToPageCenter, segment, "");
|
|
}
|
|
if (Math.abs(rect.center.y - center.y) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(0, rect.center.y), new Utils_1.Point(this.model.size.width, rect.center.y));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterToPageCenter, segment, "");
|
|
}
|
|
if (Math.abs(rect.left - center.x) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.left, 0), new Utils_1.Point(rect.left, this.model.size.height));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.LeftToPageCenter, segment, "");
|
|
}
|
|
if (Math.abs(rect.top - center.y) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(0, rect.top), new Utils_1.Point(this.model.size.width, rect.top));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.TopToPageCenter, segment, "");
|
|
}
|
|
if (Math.abs(rect.right - center.x) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.right, 0), new Utils_1.Point(rect.right, this.model.size.height));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.RightToPageCenter, segment, "");
|
|
}
|
|
if (Math.abs(rect.bottom - center.y) < this.settings.gridSize / 2) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(0, rect.bottom), new Utils_1.Point(this.model.size.width, rect.bottom));
|
|
this.extensionLinesVisualizer.addSegment(ExtensionLinesVisualizer_1.ExtensionLineType.BottomToPageCenter, segment, "");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
VisualizerManager.prototype.addShapeExtensionLines = function (shape, rect) {
|
|
var sRect = shape.rectangle;
|
|
var lwCor = Shape_1.Shape.lineWidth - CanvasSelectionManager_1.CanvasSelectionManager.extensionLineWidth;
|
|
var showDistance = true;
|
|
var x1, y1, x2, y2;
|
|
if (rect.right < sRect.left) {
|
|
x1 = rect.right + lwCor + CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
x2 = sRect.left - CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
}
|
|
else if (rect.left > sRect.right) {
|
|
x1 = rect.left - CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
x2 = sRect.right + lwCor + CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
}
|
|
if (rect.bottom < sRect.top) {
|
|
y1 = rect.bottom + lwCor + CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
y2 = sRect.top - CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
}
|
|
else if (rect.top > sRect.bottom) {
|
|
y1 = rect.top - CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
y2 = sRect.bottom + lwCor + CanvasSelectionManager_1.CanvasSelectionManager.extensionLineOffset;
|
|
}
|
|
if (x1 != undefined && x2 !== undefined) {
|
|
if (rect.center.y === sRect.center.y) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(x1, rect.center.y), new Utils_1.Point(x2, sRect.center.y));
|
|
this.extensionLinesVisualizer.addSegment(x1 > x2 ? ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterAfter : ExtensionLinesVisualizer_1.ExtensionLineType.VerticalCenterBefore, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
showDistance = false;
|
|
}
|
|
if (rect.top === sRect.top) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(x1, rect.top), new Utils_1.Point(x2, sRect.top));
|
|
this.extensionLinesVisualizer.addSegment(x1 > x2 ? ExtensionLinesVisualizer_1.ExtensionLineType.TopToTopAfter : ExtensionLinesVisualizer_1.ExtensionLineType.TopToTopBefore, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.bottom === sRect.bottom) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(x1, rect.bottom + lwCor), new Utils_1.Point(x2, sRect.bottom + lwCor));
|
|
this.extensionLinesVisualizer.addSegment(x1 > x2 ? ExtensionLinesVisualizer_1.ExtensionLineType.BottomToBottomAfter : ExtensionLinesVisualizer_1.ExtensionLineType.BottomToBottomBefore, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.top === sRect.bottom) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(x1, rect.top), new Utils_1.Point(x2, sRect.bottom + lwCor));
|
|
this.extensionLinesVisualizer.addSegment(x1 > x2 ? ExtensionLinesVisualizer_1.ExtensionLineType.TopToBottomAfter : ExtensionLinesVisualizer_1.ExtensionLineType.TopToBottomBefore, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.bottom === sRect.top) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(x1, rect.bottom + lwCor), new Utils_1.Point(x2, sRect.top));
|
|
this.extensionLinesVisualizer.addSegment(x1 > x2 ? ExtensionLinesVisualizer_1.ExtensionLineType.BottomToTopAfter : ExtensionLinesVisualizer_1.ExtensionLineType.BottomToTopBefore, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
}
|
|
if (y1 != undefined && y2 !== undefined) {
|
|
if (rect.center.x === sRect.center.x) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.center.x, y1), new Utils_1.Point(sRect.center.x, y2));
|
|
this.extensionLinesVisualizer.addSegment(y1 > y2 ? ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterBelow : ExtensionLinesVisualizer_1.ExtensionLineType.HorizontalCenterAbove, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
showDistance = false;
|
|
}
|
|
if (rect.left === sRect.left) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.left, y1), new Utils_1.Point(sRect.left, y2));
|
|
this.extensionLinesVisualizer.addSegment(y1 > y2 ? ExtensionLinesVisualizer_1.ExtensionLineType.LeftToLeftBelow : ExtensionLinesVisualizer_1.ExtensionLineType.LeftToLeftAbove, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.right === sRect.right) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.right + lwCor, y1), new Utils_1.Point(sRect.right + lwCor, y2));
|
|
this.extensionLinesVisualizer.addSegment(y1 > y2 ? ExtensionLinesVisualizer_1.ExtensionLineType.RightToRightBelow : ExtensionLinesVisualizer_1.ExtensionLineType.RightToRightAbove, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.left === sRect.right) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.left, y1), new Utils_1.Point(sRect.right + lwCor, y2));
|
|
this.extensionLinesVisualizer.addSegment(y1 > y2 ? ExtensionLinesVisualizer_1.ExtensionLineType.LeftToRightBelow : ExtensionLinesVisualizer_1.ExtensionLineType.LeftToRightAbove, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
if (rect.right === sRect.left) {
|
|
var segment = new Utils_1.Segment(new Utils_1.Point(rect.right + lwCor, y1), new Utils_1.Point(sRect.left, y2));
|
|
this.extensionLinesVisualizer.addSegment(y1 > y2 ? ExtensionLinesVisualizer_1.ExtensionLineType.RightToLeftBelow : ExtensionLinesVisualizer_1.ExtensionLineType.RightToLeftAbove, segment, showDistance ? this.getViewUnitText(segment.distance) : "");
|
|
}
|
|
}
|
|
};
|
|
VisualizerManager.prototype.resetExtensionLines = function () {
|
|
this.extensionLinesVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setResizeInfo = function (items) {
|
|
var rect = Model_1.DiagramModel.getRectangle(items);
|
|
var point = new Utils_1.Point(rect.center.x, rect.bottom + CanvasSelectionManager_1.CanvasSelectionManager.resizeInfoOffset);
|
|
var text = this.getViewUnitText(rect.width) + " x " + this.getViewUnitText(rect.height);
|
|
this.resizeInfoVisualizer.set(point, text);
|
|
};
|
|
VisualizerManager.prototype.resetResizeInfo = function () {
|
|
this.resizeInfoVisualizer.reset();
|
|
};
|
|
VisualizerManager.prototype.setSelectionRectangle = function (rect) {
|
|
this.selectionRectangleVisualizer.setRectangle(rect);
|
|
};
|
|
VisualizerManager.prototype.resetSelectionRectangle = function () {
|
|
this.selectionRectangleVisualizer.reset();
|
|
};
|
|
// utils
|
|
VisualizerManager.prototype.getViewUnitText = function (value) {
|
|
return ModelUtils_1.ModelUtils.getUnitText(this.settings.viewUnits, this.settings.unitItems, this.settings.formatUnit, value);
|
|
};
|
|
VisualizerManager.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
this.readOnly = readOnly;
|
|
};
|
|
VisualizerManager.prototype.notifyDragStart = function (itemKeys) { };
|
|
VisualizerManager.prototype.notifyDragEnd = function (itemKeys) { };
|
|
VisualizerManager.prototype.notifyDragScrollStart = function () { };
|
|
VisualizerManager.prototype.notifyDragScrollEnd = function () { };
|
|
return VisualizerManager;
|
|
}());
|
|
exports.VisualizerManager = VisualizerManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 126 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var TargetVisualizerBase = /** @class */ (function () {
|
|
function TargetVisualizerBase(dispatcher) {
|
|
this.dispatcher = dispatcher;
|
|
}
|
|
TargetVisualizerBase.prototype.getKey = function () {
|
|
return this.key;
|
|
};
|
|
TargetVisualizerBase.prototype.setTargetRect = function (key, targetRect) {
|
|
if (this.key !== key) {
|
|
this.key = key;
|
|
this.targetRect = targetRect;
|
|
this.raiseShow();
|
|
}
|
|
};
|
|
TargetVisualizerBase.prototype.reset = function () {
|
|
if (this.key !== "-1") {
|
|
this.key = "-1";
|
|
this.targetRect = undefined;
|
|
this.raiseHide();
|
|
}
|
|
};
|
|
return TargetVisualizerBase;
|
|
}());
|
|
exports.TargetVisualizerBase = TargetVisualizerBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 127 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var BatchUpdatableObject = /** @class */ (function () {
|
|
function BatchUpdatableObject() {
|
|
this.suspendUpdateCount = 0;
|
|
this.occurredEvents = 0;
|
|
}
|
|
BatchUpdatableObject.prototype.beginUpdate = function () {
|
|
if (this.suspendUpdateCount === 0)
|
|
this.onUpdateLocked();
|
|
if (this.suspendUpdateCount < 0)
|
|
this.suspendUpdateCount--;
|
|
else
|
|
this.suspendUpdateCount++;
|
|
};
|
|
BatchUpdatableObject.prototype.endUpdate = function () {
|
|
if (this.suspendUpdateCount < 0)
|
|
this.suspendUpdateCount++;
|
|
else if (this.suspendUpdateCount > 0)
|
|
this.suspendUpdateCount--;
|
|
if (!this.isUpdateLocked()) {
|
|
var occurredEvents = this.occurredEvents;
|
|
this.occurredEvents = 0;
|
|
this.onUpdateUnlocked(occurredEvents);
|
|
}
|
|
};
|
|
BatchUpdatableObject.prototype.suspendUpdate = function () {
|
|
if (this.suspendUpdateCount > 0) {
|
|
this.suspendUpdateCount *= -1;
|
|
var occurredEvents = this.occurredEvents;
|
|
this.occurredEvents = 0;
|
|
this.onUpdateUnlocked(occurredEvents);
|
|
}
|
|
};
|
|
BatchUpdatableObject.prototype.continueUpdate = function () {
|
|
if (this.suspendUpdateCount < 0)
|
|
this.suspendUpdateCount *= -1;
|
|
};
|
|
BatchUpdatableObject.prototype.isUpdateLocked = function () {
|
|
return this.suspendUpdateCount > 0;
|
|
};
|
|
BatchUpdatableObject.prototype.onUpdateLocked = function () { };
|
|
BatchUpdatableObject.prototype.registerOccurredEvent = function (eventMask) {
|
|
this.occurredEvents |= eventMask;
|
|
};
|
|
return BatchUpdatableObject;
|
|
}());
|
|
exports.BatchUpdatableObject = BatchUpdatableObject;
|
|
|
|
|
|
/***/ }),
|
|
/* 128 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Evt_1 = __webpack_require__(39);
|
|
var Base_1 = __webpack_require__(17);
|
|
var TouchUIHelper_1 = __webpack_require__(62);
|
|
var __1 = __webpack_require__(8);
|
|
var DRAGGING_OFFSET = 4, TOOLBOX_CSSCLASS = "dxdi-toolbox", DRAG_CAPTURED_CSSCLASS = "dxdi-tb-drag-captured";
|
|
var Toolbox = /** @class */ (function () {
|
|
function Toolbox(parent, readonly, options) {
|
|
this.readonly = readonly;
|
|
this.options = options;
|
|
this.onDragOperation = new Utils_1.EventDispatcher();
|
|
if (!parent)
|
|
return;
|
|
this.mainElement = this.createMainElement(parent);
|
|
this.attachHandlers(this.mainElement);
|
|
}
|
|
Toolbox.prototype.dispose = function () {
|
|
this.detachHandlers(this.mainElement);
|
|
};
|
|
Toolbox.prototype.createMainElement = function (parent) {
|
|
var element = document.createElement("div");
|
|
element.setAttribute("class", TOOLBOX_CSSCLASS);
|
|
parent.appendChild(element);
|
|
return element;
|
|
};
|
|
Toolbox.prototype.attachHandlers = function (element) {
|
|
this.onMouseDownHandler = this.onMouseDown.bind(this);
|
|
this.onMouseMoveHandler = this.onMouseMove.bind(this);
|
|
this.onMouseUpHandler = this.onMouseUp.bind(this);
|
|
element.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseDownEventName, this.onMouseDownHandler);
|
|
document.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseMoveEventName, this.onMouseMoveHandler);
|
|
document.addEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseUpEventName, this.onMouseUpHandler);
|
|
};
|
|
Toolbox.prototype.detachHandlers = function (element) {
|
|
element.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseDownEventName, this.onMouseDownHandler);
|
|
document.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseMoveEventName, this.onMouseMoveHandler);
|
|
document.removeEventListener(TouchUIHelper_1.TouchUIHelper.touchMouseUpEventName, this.onMouseUpHandler);
|
|
};
|
|
Toolbox.prototype.render = function (filter) {
|
|
if (this.mainElement.childNodes)
|
|
this.mainElement.innerHTML = "";
|
|
var shapeTypes = filter ? this.options.shapeTypes.filter(filter) : this.options.shapeTypes;
|
|
if (shapeTypes.length)
|
|
this.createElements(this.mainElement, shapeTypes);
|
|
return !!shapeTypes.length;
|
|
};
|
|
Toolbox.prototype.createDraggingObject = function (srcElement) {
|
|
var shapeType = this.getDragShapeType(srcElement);
|
|
if (shapeType !== undefined) {
|
|
var evt = new DiagramDraggingEvent();
|
|
evt.data = shapeType;
|
|
return new ToolboxDraggingObject(evt);
|
|
}
|
|
return undefined;
|
|
};
|
|
Toolbox.prototype.getDragShapeType = function (element) {
|
|
while (element && !Base_1.ElementHasCssClass(element, TOOLBOX_CSSCLASS)) {
|
|
if (element.getAttribute("data-tb-type"))
|
|
return element.getAttribute("data-tb-type");
|
|
element = element.parentNode;
|
|
}
|
|
return undefined;
|
|
};
|
|
Toolbox.prototype.onMouseDown = function (evt) {
|
|
if (this.readonly)
|
|
return;
|
|
this.mouseDownPoint = new Utils_1.Point(Evt_1.Evt.GetEventX(evt), Evt_1.Evt.GetEventY(evt));
|
|
this.draggingObject = this.createDraggingObject(evt.target);
|
|
if (this.draggingObject) {
|
|
this.draggingObject.evt.onFinishDragging = this.finishDragging.bind(this);
|
|
this.draggingObject.evt.onCaptured = this.capture.bind(this);
|
|
this.onDragStart();
|
|
}
|
|
var srcElement = Evt_1.Evt.GetEventSource(evt);
|
|
var tagName = srcElement && srcElement.tagName;
|
|
if (__1.Browser.TouchUI || tagName.toLowerCase() === "img" || tagName.toLowerCase() === "image") // prevent dragging
|
|
return Evt_1.Evt.PreventEventAndBubble(evt);
|
|
};
|
|
Toolbox.prototype.onMouseMove = function (evt) {
|
|
if (!Evt_1.Evt.IsLeftButtonPressed(evt))
|
|
this.finishDragging();
|
|
else if (this.draggingObject) {
|
|
if (!this.draggingObject.element &&
|
|
(Math.abs(Evt_1.Evt.GetEventX(evt) - this.mouseDownPoint.x) > DRAGGING_OFFSET ||
|
|
Math.abs(Evt_1.Evt.GetEventY(evt) - this.mouseDownPoint.y) > DRAGGING_OFFSET)) {
|
|
this.draggingObject.element = this.createDraggingElement(this.draggingObject);
|
|
if (this.draggingObject.captured !== undefined)
|
|
this.capture(this.draggingObject.captured, true);
|
|
}
|
|
if (this.draggingObject.element)
|
|
this.updateDraggingElementPosition(evt);
|
|
}
|
|
if (__1.Browser.TouchUI)
|
|
return Evt_1.Evt.PreventEventAndBubble(evt);
|
|
};
|
|
Toolbox.prototype.onMouseUp = function (evt) {
|
|
this.finishDragging();
|
|
};
|
|
Toolbox.prototype.updateDraggingElementPosition = function (evt) {
|
|
var element = this.draggingObject.element;
|
|
var xPos = (Evt_1.Evt.GetEventX(evt) - element.offsetWidth / 2);
|
|
var yPos = (Evt_1.Evt.GetEventY(evt) - element.offsetHeight / 2);
|
|
Base_1.SetAbsoluteX(element, xPos);
|
|
Base_1.SetAbsoluteY(element, yPos);
|
|
};
|
|
Toolbox.prototype.finishDragging = function () {
|
|
if (this.draggingObject) {
|
|
this.onDragEnd();
|
|
var element = this.draggingObject.element;
|
|
if (element)
|
|
element.parentNode.removeChild(element);
|
|
delete this.draggingObject;
|
|
}
|
|
};
|
|
Toolbox.prototype.capture = function (captured, forced) {
|
|
if (this.draggingObject && (this.draggingObject.captured !== captured || forced)) {
|
|
this.draggingObject.captured = captured;
|
|
if (this.draggingObject.element)
|
|
Base_1.ToggleElementClassName(this.draggingObject.element, DRAG_CAPTURED_CSSCLASS, captured);
|
|
}
|
|
};
|
|
Toolbox.prototype.onDragEnd = function () {
|
|
this.onDragOperation.raise("notifyToolboxDragEnd");
|
|
};
|
|
Toolbox.prototype.onDragStart = function () {
|
|
this.onDragOperation.raise("notifyToolboxDragStart");
|
|
};
|
|
Toolbox.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
this.readonly = readOnly;
|
|
};
|
|
return Toolbox;
|
|
}());
|
|
exports.Toolbox = Toolbox;
|
|
var ToolboxDraggingObject = /** @class */ (function () {
|
|
function ToolboxDraggingObject(evt) {
|
|
this.evt = evt;
|
|
}
|
|
return ToolboxDraggingObject;
|
|
}());
|
|
exports.ToolboxDraggingObject = ToolboxDraggingObject;
|
|
var DiagramDraggingEvent = /** @class */ (function () {
|
|
function DiagramDraggingEvent() {
|
|
}
|
|
return DiagramDraggingEvent;
|
|
}());
|
|
exports.DiagramDraggingEvent = DiagramDraggingEvent;
|
|
|
|
|
|
/***/ }),
|
|
/* 129 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var DeleteCommand = /** @class */ (function (_super) {
|
|
__extends(DeleteCommand, _super);
|
|
function DeleteCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
DeleteCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty();
|
|
};
|
|
DeleteCommand.prototype.executeCore = function (state) {
|
|
ModelUtils_1.ModelUtils.deleteSelection(this.control.history, this.control.model, this.control.selection);
|
|
return true;
|
|
};
|
|
return DeleteCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.DeleteCommand = DeleteCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 130 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var MoveShapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(MoveShapeHistoryItem, _super);
|
|
function MoveShapeHistoryItem(shapeKey, position) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = shapeKey;
|
|
_this.position = position;
|
|
return _this;
|
|
}
|
|
MoveShapeHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
this.oldPosition = shape.position.clone();
|
|
manipulator.moveShape(shape, this.position);
|
|
};
|
|
MoveShapeHistoryItem.prototype.undo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.moveShape(shape, this.oldPosition);
|
|
};
|
|
return MoveShapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.MoveShapeHistoryItem = MoveShapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 131 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var StringUtils = /** @class */ (function () {
|
|
function StringUtils() {
|
|
}
|
|
// to compare with ignore case use ~StrUtils.strCompare
|
|
StringUtils.stringCompare = function (a, b) {
|
|
return ((a == b) ? 0 : ((a > b) ? 1 : -1));
|
|
};
|
|
StringUtils.stringHashCode = function (str) {
|
|
var hash = 0;
|
|
if (str.length === 0)
|
|
return hash;
|
|
var strLen = str.length;
|
|
for (var i = 0; i < strLen; i++) {
|
|
hash = ((hash << 5) - hash) + str.charCodeAt(i);
|
|
hash |= 0; // Convert to 32bit integer
|
|
}
|
|
return hash;
|
|
};
|
|
;
|
|
StringUtils.endsAt = function (str, template) {
|
|
var strInd = str.length - 1;
|
|
var tmplInd = template.length - 1;
|
|
var strStartInd = strInd - tmplInd;
|
|
if (strStartInd < 0)
|
|
return false;
|
|
for (; strInd >= strStartInd; strInd--, tmplInd--)
|
|
if (str[strInd] != template[tmplInd])
|
|
return false;
|
|
return true;
|
|
};
|
|
StringUtils.startsAt = function (str, template) {
|
|
return str.substr(0, template.length) == template;
|
|
};
|
|
StringUtils.stringInLowerCase = function (str) {
|
|
return str.toLowerCase() == str;
|
|
};
|
|
StringUtils.stringInUpperCase = function (str) {
|
|
return str.toUpperCase() == str;
|
|
};
|
|
StringUtils.inStringAtLeastOneSymbolInUpperCase = function (str) {
|
|
for (var i = 0, char; char = str[i]; i++)
|
|
if (StringUtils.stringInUpperCase(char) && !StringUtils.stringInLowerCase(char))
|
|
return true;
|
|
return false;
|
|
};
|
|
StringUtils.getSymbolFromEnd = function (text, posFromEnd) {
|
|
return text[text.length - posFromEnd];
|
|
};
|
|
StringUtils.stringTrim = function (str, trimChars) {
|
|
if (trimChars === void 0) { trimChars = ["\\s"]; }
|
|
var joinedChars = trimChars.join("");
|
|
return str.replace(new RegExp("(^[" + joinedChars + "]*)|([" + joinedChars + "]*$)", 'g'), '');
|
|
};
|
|
StringUtils.stringTrimStart = function (str) {
|
|
return str.replace(/(^\s*)/g, '');
|
|
};
|
|
StringUtils.stringTrimEnd = function (str, trimChar) {
|
|
if (trimChar === void 0) { trimChar = "\\s"; }
|
|
return str.replace(new RegExp(trimChar + "*$"), '');
|
|
};
|
|
//todo and test it
|
|
StringUtils.stringCustomTrim = function (str, trimChars) {
|
|
for (var _i = 0, trimChars_1 = trimChars; _i < trimChars_1.length; _i++) {
|
|
var template = trimChars_1[_i];
|
|
str = str.replace(new RegExp("(^" + template + "*)|(" + template + "*)$", "g"), '');
|
|
}
|
|
return str;
|
|
};
|
|
// mergeStringNTimes(" ", 1) = " "
|
|
// mergeStringNTimes(" ", 3) = " "
|
|
StringUtils.mergeStringNTimes = function (str, times) {
|
|
return new Array(times <= 0 ? 0 : times + 1).join(str);
|
|
};
|
|
StringUtils.getDecimalSeparator = function () {
|
|
return (1.1).toLocaleString().substr(1, 1);
|
|
};
|
|
StringUtils.strCompare = function (a, b, ignoreCase) {
|
|
if (ignoreCase === void 0) { ignoreCase = false; }
|
|
if (ignoreCase) {
|
|
a = a.toLowerCase();
|
|
b = b.toLowerCase();
|
|
}
|
|
return ((a == b) ? 0 : ((a > b) ? 1 : -1));
|
|
};
|
|
StringUtils.repeat = function (str, count) {
|
|
var result = "";
|
|
for (var i = 1; i <= count; i++)
|
|
result += str;
|
|
return result;
|
|
};
|
|
StringUtils.isNullOrEmpty = function (str) {
|
|
return !str || !str.length;
|
|
};
|
|
StringUtils.padLeft = function (str, totalWidth, paddingChar) {
|
|
return StringUtils.mergeStringNTimes(paddingChar, Math.max(0, totalWidth - str.length)) + str;
|
|
};
|
|
return StringUtils;
|
|
}());
|
|
exports.StringUtils = StringUtils;
|
|
|
|
|
|
/***/ }),
|
|
/* 132 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base_1 = __webpack_require__(17);
|
|
var Str = /** @class */ (function () {
|
|
function Str() {
|
|
}
|
|
Str.TrimStart = function (str) {
|
|
return Str.trimInternal(str, true, false);
|
|
};
|
|
Str.TrimEnd = function (str) {
|
|
return Str.trimInternal(str, false, true);
|
|
};
|
|
Str.Trim = function (str) {
|
|
return Str.trimInternal(str, true, true);
|
|
};
|
|
Str.EncodeHtml = function (html) {
|
|
return Str.ApplyReplacement(html, [
|
|
[/&/g, '&x;'], [/&/g, '&'],
|
|
[/"/g, '"x;'], [/"/g, '"'],
|
|
[/</g, '<x;'], [/</g, '<'],
|
|
[/>/g, '>x;'], [/>/g, '>']
|
|
]);
|
|
};
|
|
Str.trimInternal = function (source, trimStart, trimEnd) {
|
|
var len = source.length;
|
|
if (!len)
|
|
return source;
|
|
if (len < 0xBABA1) { // B181394
|
|
var result = source;
|
|
if (trimStart) {
|
|
result = result.replace(/^\s+/, "");
|
|
}
|
|
if (trimEnd) {
|
|
result = result.replace(/\s+$/, "");
|
|
}
|
|
return result;
|
|
}
|
|
else {
|
|
var start = 0;
|
|
if (trimEnd) {
|
|
while (len > 0 && Str.whiteSpaces[source.charCodeAt(len - 1)]) {
|
|
len--;
|
|
}
|
|
}
|
|
if (trimStart && len > 0) {
|
|
while (start < len && Str.whiteSpaces[source.charCodeAt(start)]) {
|
|
start++;
|
|
}
|
|
}
|
|
return source.substring(start, len);
|
|
}
|
|
};
|
|
Str.ApplyReplacement = function (text, replecementTable) {
|
|
//if (typeof (text) != "string")
|
|
// text = text.toString();
|
|
for (var i = 0; i < replecementTable.length; i++) {
|
|
var replacement = replecementTable[i];
|
|
text = text.replace(replacement[0], replacement[1]);
|
|
}
|
|
return text;
|
|
};
|
|
Str.DecodeHtmlViaTextArea = function (html) {
|
|
var textArea = document.createElement("TEXTAREA");
|
|
Base_1.setInnerHtmlInternal(textArea, html);
|
|
return textArea.value;
|
|
};
|
|
Str.whiteSpaces = {
|
|
0x0009: 1, 0x000a: 1, 0x000b: 1, 0x000c: 1, 0x000d: 1, 0x0020: 1, 0x0085: 1,
|
|
0x00a0: 1, 0x1680: 1, 0x180e: 1, 0x2000: 1, 0x2001: 1, 0x2002: 1, 0x2003: 1,
|
|
0x2004: 1, 0x2005: 1, 0x2006: 1, 0x2007: 1, 0x2008: 1, 0x2009: 1, 0x200a: 1,
|
|
0x200b: 1, 0x2028: 1, 0x2029: 1, 0x202f: 1, 0x205f: 1, 0x3000: 1
|
|
};
|
|
return Str;
|
|
}());
|
|
exports.Str = Str;
|
|
|
|
|
|
/***/ }),
|
|
/* 133 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Browser_1 = __webpack_require__(23);
|
|
var Attr = /** @class */ (function () {
|
|
function Attr() {
|
|
}
|
|
Attr.SetAttribute = function (obj, attrName, value) {
|
|
if (obj.setAttribute) {
|
|
if (Attr.isSourceResetRequired() && attrName.toLowerCase() === "src") // T481593
|
|
obj.setAttribute(attrName, "");
|
|
obj.setAttribute(attrName, value);
|
|
}
|
|
else if (obj.setProperty)
|
|
obj.setProperty(attrName, value, "");
|
|
};
|
|
Attr.GetAttribute = function (obj, attrName) {
|
|
if (obj.getAttribute)
|
|
return obj.getAttribute(attrName);
|
|
else if (obj.getPropertyValue) {
|
|
if (Browser_1.Browser.Firefox) { //T644613
|
|
try {
|
|
return obj.getPropertyValue(attrName);
|
|
}
|
|
catch (e) {
|
|
return obj[attrName];
|
|
}
|
|
}
|
|
return obj.getPropertyValue(attrName);
|
|
}
|
|
return null;
|
|
};
|
|
Attr.GetTabIndexAttributeName = function () {
|
|
return Browser_1.Browser.IE ? "tabIndex" : "tabindex";
|
|
};
|
|
Attr.ChangeStyleAttribute = function (obj, attrName, newValue) {
|
|
Attr.ChangeAttributeExtended(obj.style, attrName, obj, "saved" + attrName, newValue);
|
|
};
|
|
Attr.ChangeAttributeExtended = function (obj, attrName, savedObj, savedAttrName, newValue) {
|
|
Attr.SaveAttribute(obj, attrName, savedObj, savedAttrName);
|
|
Attr.SetAttribute(obj, attrName, newValue);
|
|
};
|
|
Attr.SaveAttribute = function (obj, attrName, savedObj, savedAttrName) {
|
|
if (!Attr.IsExistsAttribute(savedObj, savedAttrName)) {
|
|
var oldValue = Attr.IsExistsAttribute(obj, attrName) ? Attr.GetAttribute(obj, attrName) : Attr.EmptyObject;
|
|
Attr.SetAttribute(savedObj, savedAttrName, oldValue);
|
|
}
|
|
};
|
|
Attr.RestoreAttributeExtended = function (obj, attrName, savedObj, savedAttrName) {
|
|
if (Attr.IsExistsAttribute(savedObj, savedAttrName)) {
|
|
var oldValue = Attr.GetAttribute(savedObj, savedAttrName);
|
|
if (oldValue != Attr.EmptyObject)
|
|
Attr.SetAttribute(obj, attrName, oldValue);
|
|
else
|
|
Attr.RemoveAttribute(obj, attrName);
|
|
Attr.RemoveAttribute(savedObj, savedAttrName);
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
Attr.RemoveAttribute = function (obj, attrName) {
|
|
if (obj.removeAttribute)
|
|
obj.removeAttribute(attrName);
|
|
else if (obj.removeProperty)
|
|
obj.removeProperty(attrName);
|
|
};
|
|
Attr.IsExistsAttribute = function (obj, attrName) {
|
|
var value = Attr.GetAttribute(obj, attrName);
|
|
return (value != null) && (value !== "");
|
|
};
|
|
Attr.isSourceResetRequired = function () {
|
|
return Browser_1.Browser.IE && Browser_1.Browser.MajorVersion >= 11;
|
|
};
|
|
Attr.EmptyObject = {};
|
|
Attr.RestoreStyleAttribute = function (obj, attrName) {
|
|
return Attr.RestoreAttributeExtended(obj.style, attrName, obj, "saved" + attrName);
|
|
};
|
|
return Attr;
|
|
}());
|
|
exports.Attr = Attr;
|
|
|
|
|
|
/***/ }),
|
|
/* 134 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Base_1 = __webpack_require__(17);
|
|
var NativeScrollView = /** @class */ (function () {
|
|
function NativeScrollView(mainElement) {
|
|
this.onScroll = new Utils_1.EventDispatcher();
|
|
this.scrollBarWidth = Base_1.GetVerticalScrollBarWidth();
|
|
this.mainElement = mainElement;
|
|
this.attachEvents();
|
|
}
|
|
NativeScrollView.prototype.dispose = function () {
|
|
this.detachEvents();
|
|
};
|
|
NativeScrollView.prototype.attachEvents = function () {
|
|
var _this = this;
|
|
this.onScrollHandler = function () { return _this.onScroll.raise1(function (l) { return l.notifyScrollChanged(); }); };
|
|
this.mainElement.addEventListener("scroll", this.onScrollHandler);
|
|
};
|
|
NativeScrollView.prototype.detachEvents = function () {
|
|
this.mainElement.removeEventListener("scroll", this.onScrollHandler);
|
|
};
|
|
NativeScrollView.prototype.setScroll = function (left, top) {
|
|
this.mainElement.style.overflow = "scroll";
|
|
this.mainElement.scrollLeft = left;
|
|
this.mainElement.scrollTop = top;
|
|
this.mainElement.style.overflow = "";
|
|
};
|
|
NativeScrollView.prototype.offsetScroll = function (left, top) {
|
|
if (left)
|
|
this.mainElement.scrollLeft += left;
|
|
if (top)
|
|
this.mainElement.scrollTop += top;
|
|
};
|
|
NativeScrollView.prototype.getScroll = function () {
|
|
return new Utils_1.Point(this.mainElement.scrollLeft, this.mainElement.scrollTop);
|
|
};
|
|
NativeScrollView.prototype.getSize = function () {
|
|
var boundingRect = this.mainElement.getBoundingClientRect();
|
|
return new Utils_1.Size(Math.floor(boundingRect.width), Math.floor(boundingRect.height));
|
|
};
|
|
NativeScrollView.prototype.getScrollBarWidth = function () {
|
|
return this.scrollBarWidth;
|
|
};
|
|
NativeScrollView.prototype.getScrollSize = function () {
|
|
return new Utils_1.Size(this.mainElement.scrollWidth, this.mainElement.scrollHeight);
|
|
};
|
|
return NativeScrollView;
|
|
}());
|
|
exports.NativeScrollView = NativeScrollView;
|
|
|
|
|
|
/***/ }),
|
|
/* 135 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Base_1 = __webpack_require__(17);
|
|
var __1 = __webpack_require__(8);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var Event_1 = __webpack_require__(10);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Evt_1 = __webpack_require__(39);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var InputManager = /** @class */ (function () {
|
|
function InputManager(parent, mainElement, layoutPointResolver, eventManager, actualZoom) {
|
|
this.mainElement = mainElement;
|
|
this.layoutPointResolver = layoutPointResolver;
|
|
this.eventManager = eventManager;
|
|
this.actualZoom = actualZoom;
|
|
this.focused = false;
|
|
this.focusLocked = false;
|
|
this.createInputElements(parent);
|
|
}
|
|
InputManager.prototype.dispose = function () {
|
|
this.detachInputElementEvents();
|
|
this.detachTextInputElementEvents();
|
|
};
|
|
InputManager.prototype.isFocused = function () {
|
|
return this.focused;
|
|
};
|
|
InputManager.prototype.captureFocus = function (inputElement, selectAll) {
|
|
var element = inputElement || this.inputElement;
|
|
element.focus({
|
|
preventScroll: true
|
|
});
|
|
if (selectAll) {
|
|
window.setTimeout(function () {
|
|
if (window.getSelection) { // doesn't work in unit tests, see https://github.com/jsdom/jsdom/issues/317
|
|
var selection = window.getSelection();
|
|
var range = document.createRange();
|
|
range.selectNodeContents(element);
|
|
selection.removeAllRanges();
|
|
selection.addRange(range);
|
|
}
|
|
}, 100);
|
|
}
|
|
};
|
|
InputManager.prototype.setClipboardData = function (data) {
|
|
this.clipboardInputElement.value = data;
|
|
this.clipboardInputElement.focus({
|
|
preventScroll: true
|
|
});
|
|
this.clipboardInputElement.select();
|
|
document.execCommand('copy');
|
|
this.captureFocus();
|
|
};
|
|
InputManager.prototype.getClipboardData = function (callback) {
|
|
var _this = this;
|
|
if (navigator && navigator["clipboard"]) {
|
|
navigator["clipboard"].readText().then(function (clipText) {
|
|
callback(clipText);
|
|
_this.captureFocus();
|
|
}).catch(function () {
|
|
callback("");
|
|
_this.captureFocus();
|
|
});
|
|
}
|
|
else if (__1.Browser.IE) {
|
|
this.clipboardInputElement.value = "";
|
|
this.clipboardInputElement.focus({
|
|
preventScroll: true
|
|
});
|
|
this.clipboardInputElement.select();
|
|
document.execCommand('Paste');
|
|
callback(this.clipboardInputElement.value);
|
|
this.captureFocus();
|
|
}
|
|
};
|
|
InputManager.prototype.isPasteSupportedByBrowser = function () {
|
|
return __1.Browser.IE || (__1.Browser.WebKitFamily && navigator && navigator["clipboard"] !== undefined);
|
|
};
|
|
InputManager.prototype.createInputElements = function (parent) {
|
|
this.createInputElement(parent);
|
|
this.createTextInputElement(parent);
|
|
this.createClipboardInputElement(parent);
|
|
};
|
|
InputManager.prototype.setInputElementFocusHandlerMode = function () {
|
|
this.textInputElementContainer.setAttribute("class", "dxdi-text-input-container");
|
|
this.captureFocus();
|
|
};
|
|
InputManager.prototype.setInputElementTextInputMode = function (text, position, size, style, className) {
|
|
this.textInputElementContainer.setAttribute("class", "dxdi-text-input-container " + className);
|
|
this.textInputElement.innerText = text;
|
|
if (__1.Browser.Firefox && (!text || text === ""))
|
|
this.textInputElement.innerHTML = " ";
|
|
this.setTextInputElementBounds(position, size);
|
|
this.setTextInputElementStyle(style);
|
|
this.captureFocus(this.textInputElement, true);
|
|
};
|
|
InputManager.prototype.setTextInputElementBounds = function (position, size) {
|
|
var abs = this.layoutPointResolver.getAbsolutePoint(position);
|
|
size = size && size.transform(__1.UnitConverter.twipsToPixels);
|
|
Base_1.SetAbsoluteX(this.textInputElementContainer, Base_1.GetAbsolutePositionX(this.mainElement) + abs.x);
|
|
Base_1.SetAbsoluteY(this.textInputElementContainer, Base_1.GetAbsolutePositionY(this.mainElement) + abs.y);
|
|
this.textInputElementContainer.style.width = (size !== undefined) ? size.width + "px" : "0px";
|
|
this.textInputElementContainer.style.height = (size !== undefined) ? size.height + "px" : "0px";
|
|
this.textInputElementContainer.style.transform = "scale(" + this.actualZoom + ")";
|
|
this.textInputElement.style.width = (size !== undefined) ? size.width + "px" : "";
|
|
this.textInputElement.style.height = (size !== undefined) ? size.height + "px" : "auto";
|
|
};
|
|
InputManager.prototype.setTextInputElementStyle = function (style) {
|
|
Utils_1.RenderUtils.applyStyleToElement(style, this.textInputElement);
|
|
};
|
|
InputManager.prototype.createInputElement = function (parent) {
|
|
this.inputElement = document.createElement("textarea");
|
|
this.inputElement.readOnly = true;
|
|
this.inputElement.setAttribute("class", "dxdi-focus-input");
|
|
this.attachInputElementEvents();
|
|
parent.appendChild(this.inputElement);
|
|
};
|
|
InputManager.prototype.attachInputElementEvents = function () {
|
|
this.onInputBlurHandler = this.onInputBlur.bind(this);
|
|
this.onInputFocusHandler = this.onInputFocus.bind(this);
|
|
this.onInputKeyDownHandler = this.onInputKeyDown.bind(this);
|
|
this.onPasteHandler = this.onPaste.bind(this);
|
|
this.inputElement.addEventListener("blur", this.onInputBlurHandler);
|
|
this.inputElement.addEventListener("focus", this.onInputFocusHandler);
|
|
this.inputElement.addEventListener("keydown", this.onInputKeyDownHandler);
|
|
this.inputElement.addEventListener("paste", this.onPasteHandler);
|
|
};
|
|
InputManager.prototype.detachInputElementEvents = function () {
|
|
this.inputElement.removeEventListener("blur", this.onInputBlurHandler);
|
|
this.inputElement.removeEventListener("focus", this.onInputFocusHandler);
|
|
this.inputElement.removeEventListener("keydown", this.onInputKeyDownHandler);
|
|
this.inputElement.removeEventListener("paste", this.onPasteHandler);
|
|
};
|
|
InputManager.prototype.createTextInputElement = function (parent) {
|
|
this.textInputElementContainer = document.createElement("div");
|
|
this.textInputElementContainer.setAttribute("class", "dxdi-text-input-container");
|
|
parent.appendChild(this.textInputElementContainer);
|
|
this.textInputElement = document.createElement("div");
|
|
this.textInputElement.setAttribute("class", "dxdi-text-input");
|
|
this.textInputElement.setAttribute("contenteditable", "true");
|
|
this.attachTextInputElementEvents();
|
|
this.textInputElementContainer.appendChild(this.textInputElement);
|
|
};
|
|
InputManager.prototype.attachTextInputElementEvents = function () {
|
|
this.onTextInputBlurHandler = this.onTextInputBlur.bind(this);
|
|
this.onTextInputFocusHandler = this.onTextInputFocus.bind(this);
|
|
this.onTextInputKeyDownHandler = this.onTextInputKeyDown.bind(this);
|
|
this.textInputElement.addEventListener("blur", this.onTextInputBlurHandler);
|
|
this.textInputElement.addEventListener("focus", this.onTextInputFocusHandler);
|
|
this.textInputElement.addEventListener("keydown", this.onTextInputKeyDownHandler);
|
|
};
|
|
InputManager.prototype.detachTextInputElementEvents = function () {
|
|
this.textInputElement.removeEventListener("blur", this.onTextInputBlurHandler);
|
|
this.textInputElement.removeEventListener("focus", this.onTextInputFocusHandler);
|
|
this.textInputElement.removeEventListener("keydown", this.onTextInputKeyDownHandler);
|
|
};
|
|
InputManager.prototype.createClipboardInputElement = function (parent) {
|
|
this.clipboardInputElement = document.createElement("textarea");
|
|
this.clipboardInputElement.setAttribute("class", "dxdi-clipboard-input");
|
|
parent.appendChild(this.clipboardInputElement);
|
|
};
|
|
InputManager.prototype.blurControl = function () {
|
|
if (!this.focusLocked) {
|
|
this.focused = false;
|
|
Base_1.RemoveClassNameFromElement(this.mainElement, "focused");
|
|
}
|
|
};
|
|
InputManager.prototype.focusControl = function () {
|
|
this.focused = true;
|
|
this.focusLocked = false;
|
|
Base_1.AddClassNameToElement(this.mainElement, "focused");
|
|
};
|
|
InputManager.prototype.onInputBlur = function (evt) {
|
|
var _this = this;
|
|
this.blurControl();
|
|
Utils_1.raiseEvent(evt, this.getDiagramFocusEvent(evt), function (e) { return _this.eventManager.onBlur(e); });
|
|
};
|
|
InputManager.prototype.onInputFocus = function (evt) {
|
|
var _this = this;
|
|
this.focusControl();
|
|
Utils_1.raiseEvent(evt, this.getDiagramFocusEvent(evt), function (e) { return _this.eventManager.onFocus(e); });
|
|
};
|
|
InputManager.prototype.onInputKeyDown = function (evt) {
|
|
var _this = this;
|
|
Utils_1.raiseEvent(evt, this.getDiagramKeyboardEvent(evt), function (e) { return _this.eventManager.onKeyDown(e); });
|
|
};
|
|
InputManager.prototype.onTextInputBlur = function (evt) {
|
|
var _this = this;
|
|
this.blurControl();
|
|
Utils_1.raiseEvent(evt, this.getDiagramFocusEvent(evt), function (e) { return _this.eventManager.onTextInputBlur(e); });
|
|
};
|
|
InputManager.prototype.onTextInputFocus = function (evt) {
|
|
var _this = this;
|
|
this.focusControl();
|
|
Utils_1.raiseEvent(evt, this.getDiagramFocusEvent(evt), function (e) { return _this.eventManager.onTextInputFocus(e); });
|
|
};
|
|
InputManager.prototype.onTextInputKeyDown = function (evt) {
|
|
var _this = this;
|
|
Utils_1.raiseEvent(evt, this.getDiagramKeyboardEvent(evt), function (e) { return _this.eventManager.onTextInputKeyDown(e); });
|
|
};
|
|
InputManager.prototype.getDiagramKeyboardEvent = function (evt) {
|
|
return new Event_1.DiagramKeyboardEvent(KeyCode_1.getKeyModifiers(evt), Evt_1.Evt.GetKeyCode(evt), Evt_1.Evt.GetEventSource(evt).innerText); // TODO: check it
|
|
};
|
|
InputManager.prototype.lockFocus = function () {
|
|
var _this = this;
|
|
this.focusLocked = true;
|
|
setTimeout(function () { return _this.focusLocked = false; }, 10);
|
|
};
|
|
InputManager.prototype.replaceParent = function (parent) {
|
|
if (this.inputElement && this.inputElement.parentNode !== parent)
|
|
parent.appendChild(this.inputElement);
|
|
if (this.textInputElementContainer && this.textInputElementContainer.parentNode !== parent)
|
|
parent.appendChild(this.textInputElementContainer);
|
|
if (this.clipboardInputElement && this.clipboardInputElement.parentNode !== parent)
|
|
parent.appendChild(this.clipboardInputElement);
|
|
};
|
|
InputManager.prototype.getDiagramFocusEvent = function (evt) {
|
|
return new Event_1.DiagramFocusEvent(evt.target.innerText);
|
|
};
|
|
InputManager.prototype.onPaste = function (evt) {
|
|
var _this = this;
|
|
Utils_1.raiseEvent(evt, this.getDiagramClipboardEvent(evt), function (e) { return _this.eventManager.onPaste(e); });
|
|
};
|
|
InputManager.prototype.getDiagramClipboardEvent = function (evt) {
|
|
var clipboardData;
|
|
if (evt.clipboardData !== undefined)
|
|
clipboardData = evt.clipboardData.getData('text/plain');
|
|
else
|
|
clipboardData = window["clipboardData"].getData('Text');
|
|
return new Event_1.DiagramClipboardEvent(clipboardData);
|
|
};
|
|
InputManager.prototype.notifyViewAdjusted = function (canvasOffset) { };
|
|
InputManager.prototype.notifyActualZoomChanged = function (actualZoom) {
|
|
this.actualZoom = actualZoom;
|
|
};
|
|
InputManager.prototype.notifyTextInputStart = function (item, text, position, size) {
|
|
var className = "";
|
|
if (item instanceof Shape_1.Shape)
|
|
className = "shape-text";
|
|
else if (item instanceof Connector_1.Connector)
|
|
className = "connector-text";
|
|
this.setInputElementTextInputMode(text, position, size, item.styleText, className);
|
|
};
|
|
InputManager.prototype.notifyTextInputEnd = function (item) {
|
|
this.setInputElementFocusHandlerMode();
|
|
};
|
|
return InputManager;
|
|
}());
|
|
exports.InputManager = InputManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 136 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var __1 = __webpack_require__(8);
|
|
var Style_1 = __webpack_require__(27);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var PatternPrimitive_1 = __webpack_require__(137);
|
|
var ClipPathPrimitive_1 = __webpack_require__(41);
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var GRID_PAGES_LINEWIDTH = 2;
|
|
var CanvasPageManager = /** @class */ (function (_super) {
|
|
__extends(CanvasPageManager, _super);
|
|
function CanvasPageManager(parent, settings) {
|
|
var _this = _super.call(this, settings.zoomLevel) || this;
|
|
_this.snapPoint = new Utils_1.Point(0, 0);
|
|
_this.gridPatternId = Utils_2.RenderUtils.generateSvgElementId("gridPattern");
|
|
_this.pagesGridPatternId = Utils_2.RenderUtils.generateSvgElementId("pagesGridPattern");
|
|
_this.pagesGridClipId = Utils_2.RenderUtils.generateSvgElementId("pagesGridClip");
|
|
_this.pageColor = settings.pageColor;
|
|
_this.modelSize = settings.modelSize;
|
|
_this.simpleView = settings.simpleView;
|
|
_this.gridSize = settings.gridSize;
|
|
_this.gridVisible = settings.gridVisible;
|
|
_this.pageSize = settings.pageLandscape ? new Utils_1.Size(settings.pageSize.height, settings.pageSize.width) : settings.pageSize;
|
|
_this.canvasViewOffset = new Utils_1.Point(0, 0);
|
|
_this.initContainers(parent);
|
|
return _this;
|
|
}
|
|
CanvasPageManager.prototype.initContainers = function (parent) {
|
|
this.backgroundContainer = parent;
|
|
};
|
|
CanvasPageManager.prototype.redraw = function () {
|
|
this.redrawPage(this.pageColor);
|
|
this.redrawGrid();
|
|
};
|
|
CanvasPageManager.prototype.redrawPage = function (color) {
|
|
var style = new Style_1.Style();
|
|
style["fill"] = __1.ColorHelper.colorToHash(color);
|
|
this.getOrCreateElement("page-bg", new RectaglePrimitive_1.RectanglePrimitive(0, 0, "100%", "100%", style, "page"), this.backgroundContainer);
|
|
this.createTextFloodFilter("page-bg-textflood-filter", this.backgroundContainer, color);
|
|
};
|
|
CanvasPageManager.prototype.redrawGrid = function () {
|
|
this.updateGridElements(this.gridVisible, __1.UnitConverter.twipsToPixelsF(this.gridSize) * this.actualZoom);
|
|
this.updatePagesGridElements(this.simpleView, this.getAbsoluteSize(this.pageSize));
|
|
};
|
|
CanvasPageManager.prototype.getGridRectElement = function (primitive) {
|
|
if (this.gridRectElement === undefined)
|
|
this.gridRectElement = this.createPrimitiveElement(primitive, this.backgroundContainer);
|
|
return this.gridRectElement;
|
|
};
|
|
CanvasPageManager.prototype.getGridPatternElement = function (primitive) {
|
|
if (this.gridPatternElement === undefined)
|
|
this.gridPatternElement = this.createPrimitiveElement(primitive, this.backgroundContainer);
|
|
return this.gridPatternElement;
|
|
};
|
|
CanvasPageManager.prototype.updateGridElements = function (visible, absGridSize) {
|
|
var _this = this;
|
|
var gridRectPrimitive = new RectaglePrimitive_1.RectanglePrimitive("0", "0", "100%", "100%", null, "grid", null, function (element) {
|
|
element.style.setProperty("fill", Utils_2.RenderUtils.getUrlPathById(_this.gridPatternId));
|
|
});
|
|
var rectEl = this.getGridRectElement(gridRectPrimitive);
|
|
if (!visible)
|
|
rectEl.style.display = "none";
|
|
else {
|
|
rectEl.style.display = "";
|
|
this.changePrimitiveElement(gridRectPrimitive, rectEl);
|
|
var sizes = [0, 1, 2, 3, 4].map(function (i) { return Math.round(absGridSize * i); });
|
|
var outerPathCommands = [
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(sizes[4].toString(), "0"),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(sizes[4].toString(), sizes[4].toString()),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand("0", sizes[4].toString())
|
|
];
|
|
var innerPathCommands = [];
|
|
for (var i = 1; i <= 3; i++) {
|
|
innerPathCommands.push(new PathPrimitive_1.PathPrimitiveMoveToCommand(sizes[i].toString(), "0"));
|
|
innerPathCommands.push(new PathPrimitive_1.PathPrimitiveLineToCommand(sizes[i].toString(), sizes[4].toString()));
|
|
}
|
|
for (var i = 1; i <= 3; i++) {
|
|
innerPathCommands.push(new PathPrimitive_1.PathPrimitiveMoveToCommand("0", sizes[i].toString()));
|
|
innerPathCommands.push(new PathPrimitive_1.PathPrimitiveLineToCommand(sizes[4].toString(), sizes[i].toString()));
|
|
}
|
|
var commonSize = absGridSize * 4;
|
|
var canvasViewOffset = this.simpleView ? this.canvasViewOffset : Utils_1.Point.empty();
|
|
var gridPatternPrimitive = new PatternPrimitive_1.PatternPrimitive(this.gridPatternId, [
|
|
new PathPrimitive_1.PathPrimitive(outerPathCommands, null, "grid-outer-line"),
|
|
new PathPrimitive_1.PathPrimitive(innerPathCommands, null, "grid-inner-line")
|
|
], (((canvasViewOffset.x + this.snapPoint.x) % commonSize - commonSize) % commonSize).toString(), (((canvasViewOffset.y + this.snapPoint.y) % commonSize - commonSize) % commonSize).toString(), commonSize.toString(), commonSize.toString());
|
|
this.changePrimitiveElement(gridPatternPrimitive, this.getGridPatternElement(gridPatternPrimitive));
|
|
}
|
|
};
|
|
CanvasPageManager.prototype.getPagesGridRectElement = function (primitive) {
|
|
return this.getOrCreateElement("grid-pages-rect", primitive, this.backgroundContainer);
|
|
};
|
|
CanvasPageManager.prototype.getPagesGridClipPathElement = function (primitive) {
|
|
if (this.pagesGridClipPathElement === undefined)
|
|
this.pagesGridClipPathElement = this.createPrimitiveElement(primitive, this.backgroundContainer);
|
|
return this.pagesGridClipPathElement;
|
|
};
|
|
CanvasPageManager.prototype.getPagesGridPatternElement = function (primitive) {
|
|
if (this.pagesGridPatternElement === undefined)
|
|
this.pagesGridPatternElement = this.createPrimitiveElement(primitive, this.backgroundContainer);
|
|
return this.pagesGridPatternElement;
|
|
};
|
|
CanvasPageManager.prototype.updatePagesGridElements = function (simpleView, pageAbsSize) {
|
|
var _this = this;
|
|
var rectPrimitive = new RectaglePrimitive_1.RectanglePrimitive("0", "0", "100%", "100%", null, "grid-page", this.pagesGridClipId, function (element) {
|
|
element.style.setProperty("fill", Utils_2.RenderUtils.getUrlPathById(_this.pagesGridPatternId));
|
|
element.style.setProperty("display", simpleView ? "none" : "");
|
|
});
|
|
this.getPagesGridRectElement(rectPrimitive);
|
|
if (!simpleView) {
|
|
var modelSize = this.modelSize.multiply(this.actualZoom);
|
|
var pageGridPathCommands = [
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand((pageAbsSize.width - GRID_PAGES_LINEWIDTH / 2).toString(), "0"),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand((pageAbsSize.width - GRID_PAGES_LINEWIDTH / 2).toString(), (pageAbsSize.height - GRID_PAGES_LINEWIDTH / 2).toString()),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand("0", (pageAbsSize.height - GRID_PAGES_LINEWIDTH / 2).toString())
|
|
];
|
|
var pagesGridPatternPrimitive = new PatternPrimitive_1.PatternPrimitive(this.pagesGridPatternId, [
|
|
new PathPrimitive_1.PathPrimitive(pageGridPathCommands, null, "pages-grid-line")
|
|
], 0, 0, pageAbsSize.width.toString(), pageAbsSize.height.toString());
|
|
this.changePrimitiveElement(pagesGridPatternPrimitive, this.getPagesGridPatternElement(pagesGridPatternPrimitive));
|
|
var pagesGridClipPathPrimitive = new ClipPathPrimitive_1.ClipPathPrimitive(this.pagesGridClipId, [
|
|
new RectaglePrimitive_1.RectanglePrimitive(0, 0, (__1.UnitConverter.twipsToPixelsF(modelSize.width) - GRID_PAGES_LINEWIDTH * 2).toString(), (__1.UnitConverter.twipsToPixelsF(modelSize.height) - GRID_PAGES_LINEWIDTH * 2).toString())
|
|
]);
|
|
this.changePrimitiveElement(pagesGridClipPathPrimitive, this.getPagesGridClipPathElement(pagesGridClipPathPrimitive));
|
|
}
|
|
};
|
|
CanvasPageManager.prototype.notifyModelSizeChanged = function (size, offset) {
|
|
this.modelSize = size.clone();
|
|
this.redraw();
|
|
};
|
|
CanvasPageManager.prototype.notifyModelRectangleChanged = function (rectangle) { };
|
|
CanvasPageManager.prototype.notifySnapPointPositionChanged = function (point) {
|
|
this.snapPoint = point.transform(__1.UnitConverter.twipsToPixelsF);
|
|
this.redrawGrid();
|
|
};
|
|
CanvasPageManager.prototype.notifyPageColorChanged = function (color) {
|
|
this.pageColor = color;
|
|
this.redrawPage(this.pageColor);
|
|
};
|
|
CanvasPageManager.prototype.notifyModelChanged = function (changes) { };
|
|
CanvasPageManager.prototype.notifyPageSizeChanged = function (pageSize, pageLandscape) {
|
|
this.pageSize = pageLandscape ? new Utils_1.Size(pageSize.height, pageSize.width) : pageSize.clone();
|
|
this.redraw();
|
|
};
|
|
CanvasPageManager.prototype.notifyActualZoomChanged = function (actualZoom) {
|
|
this.actualZoom = actualZoom;
|
|
this.redraw();
|
|
};
|
|
CanvasPageManager.prototype.notifyViewAdjusted = function (canvasViewOffset) {
|
|
if (!this.canvasViewOffset.equals(canvasViewOffset)) {
|
|
this.canvasViewOffset = canvasViewOffset;
|
|
if (this.simpleView)
|
|
this.redraw();
|
|
}
|
|
};
|
|
CanvasPageManager.prototype.notifyViewChanged = function (simpleView) {
|
|
this.simpleView = simpleView;
|
|
this.redraw();
|
|
};
|
|
CanvasPageManager.prototype.notifyGridChanged = function (showGrid, gridSize) {
|
|
this.gridVisible = showGrid;
|
|
this.gridSize = gridSize;
|
|
this.redraw();
|
|
};
|
|
return CanvasPageManager;
|
|
}(CanvasManagerBase_1.CanvasManagerBase));
|
|
exports.CanvasPageManager = CanvasPageManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 137 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var PatternPrimitive = /** @class */ (function (_super) {
|
|
__extends(PatternPrimitive, _super);
|
|
function PatternPrimitive(id, children, x, y, width, height) {
|
|
var _this = _super.call(this) || this;
|
|
_this.id = id;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
_this.children = children;
|
|
return _this;
|
|
}
|
|
PatternPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "pattern");
|
|
};
|
|
PatternPrimitive.prototype.applyElementProperties = function (element) {
|
|
if (this.id)
|
|
element.setAttribute("id", this.id);
|
|
element.setAttribute("patternUnits", "userSpaceOnUse");
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
this.setUnitAttribute(element, "width", this.width);
|
|
this.setUnitAttribute(element, "height", this.height);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return PatternPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.PatternPrimitive = PatternPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 138 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var __1 = __webpack_require__(8);
|
|
var GroupPrimitive_1 = __webpack_require__(28);
|
|
var ClipPathPrimitive_1 = __webpack_require__(41);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var Utils_2 = __webpack_require__(15);
|
|
var ShadowFilterPrimitive_1 = __webpack_require__(139);
|
|
var Style_1 = __webpack_require__(27);
|
|
exports.CANVAS_MIN_PADDING = 12;
|
|
exports.CROP_OFFSET = 40;
|
|
var DRAG_SCROLL_CSSCLASS = "dxdi-drag-scroll", DRAG_ITEM_CSSCLASS = "dxdi-drag-item";
|
|
var CanvasViewManager = /** @class */ (function (_super) {
|
|
__extends(CanvasViewManager, _super);
|
|
function CanvasViewManager(scroll, svgElement, modelSize, fixedZoomLevel, autoZoom, simpleView, rectangle) {
|
|
var _this = _super.call(this, fixedZoomLevel) || this;
|
|
_this.scroll = scroll;
|
|
_this.svgElement = svgElement;
|
|
_this.paddings = new Utils_1.Offset(0, 0, 0, 0);
|
|
_this.crop = Utils_1.Offset.empty();
|
|
_this.lockAutoZoom = false;
|
|
_this.pageClipPathId = Utils_2.RenderUtils.generateSvgElementId("page-clip");
|
|
_this.pageShadowId = Utils_2.RenderUtils.generateSvgElementId("page-shadow");
|
|
_this.onViewChanged = new __1.EventDispatcher();
|
|
modelSize = modelSize.transform(__1.UnitConverter.twipsToPixelsF);
|
|
_this.modelSize = modelSize;
|
|
_this.simpleView = simpleView;
|
|
_this.fixedZoomLevel = fixedZoomLevel;
|
|
_this.autoZoom = autoZoom;
|
|
_this.crop = _this.rectangleToCrop(rectangle, modelSize);
|
|
_this.updateElements(modelSize.multiply(fixedZoomLevel), Utils_1.Point.empty(), simpleView); // TODO: remove?
|
|
_this.getOrCreateElement("shadow", new ShadowFilterPrimitive_1.ShadowFilterPrimitive(_this.pageShadowId), _this.svgElement);
|
|
return _this;
|
|
}
|
|
CanvasViewManager.prototype.update = function (toReset) {
|
|
if (toReset)
|
|
this.reset(toReset.horizontal, toReset.vertical);
|
|
else
|
|
this.adjust(this.modelSize, this.fixedZoomLevel, this.autoZoom, this.simpleView, this.crop, Utils_1.Offset.empty());
|
|
};
|
|
CanvasViewManager.prototype.reset = function (horizontal, vertical) {
|
|
if (horizontal === void 0) { horizontal = true; }
|
|
if (vertical === void 0) { vertical = true; }
|
|
this.adjust(this.modelSize, this.fixedZoomLevel, this.autoZoom, this.simpleView, this.crop, undefined, { horizontal: horizontal, vertical: vertical });
|
|
};
|
|
CanvasViewManager.prototype.notifyModelSizeChanged = function (size, offset) {
|
|
size = size.transform(__1.UnitConverter.twipsToPixelsF);
|
|
this.adjust(size, this.fixedZoomLevel, this.autoZoom, this.simpleView, this.crop, offset && offset.transform(__1.UnitConverter.twipsToPixelsF));
|
|
this.modelSize = size;
|
|
};
|
|
CanvasViewManager.prototype.notifyModelRectangleChanged = function (rectangle) {
|
|
var crop = this.rectangleToCrop(rectangle, this.modelSize, this.crop);
|
|
if (!this.crop || !this.crop.equals(crop)) {
|
|
if (this.simpleView)
|
|
this.adjust(this.modelSize, this.fixedZoomLevel, this.autoZoom, this.simpleView, crop, Utils_1.Offset.empty());
|
|
this.crop = crop;
|
|
}
|
|
};
|
|
CanvasViewManager.prototype.notifySnapPointPositionChanged = function (point) { };
|
|
CanvasViewManager.prototype.notifyZoomChanged = function (fixedZoomLevel, autoZoom) {
|
|
this.adjust(this.modelSize, fixedZoomLevel, autoZoom, this.simpleView, this.crop, undefined, {
|
|
horizontal: false,
|
|
vertical: false
|
|
});
|
|
this.fixedZoomLevel = fixedZoomLevel;
|
|
this.autoZoom = autoZoom;
|
|
};
|
|
CanvasViewManager.prototype.notifyViewChanged = function (simpleView) {
|
|
this.adjust(this.modelSize, this.fixedZoomLevel, this.autoZoom, simpleView, this.crop);
|
|
this.simpleView = simpleView;
|
|
};
|
|
CanvasViewManager.prototype.notifyGridChanged = function (showGrid, gridSize) { };
|
|
CanvasViewManager.prototype.notifyDragStart = function (itemKeys) {
|
|
this.lockAutoZoom = true;
|
|
var className = this.svgElement.getAttribute("class") + " " + DRAG_ITEM_CSSCLASS;
|
|
this.svgElement.setAttribute("class", className);
|
|
};
|
|
CanvasViewManager.prototype.notifyDragEnd = function (itemKeys) {
|
|
this.lockAutoZoom = false;
|
|
var className = this.svgElement.getAttribute("class").replace(" " + DRAG_ITEM_CSSCLASS, "");
|
|
this.svgElement.setAttribute("class", className);
|
|
if (this.autoZoom)
|
|
this.update({ horizontal: true, vertical: true });
|
|
};
|
|
CanvasViewManager.prototype.notifyDragScrollStart = function () {
|
|
var className = this.svgElement.getAttribute("class") + " " + DRAG_SCROLL_CSSCLASS;
|
|
this.svgElement.setAttribute("class", className);
|
|
};
|
|
CanvasViewManager.prototype.notifyDragScrollEnd = function () {
|
|
var className = this.svgElement.getAttribute("class").replace(" " + DRAG_SCROLL_CSSCLASS, "");
|
|
this.svgElement.setAttribute("class", className);
|
|
};
|
|
CanvasViewManager.prototype.checkFitToCanvas = function () {
|
|
var scrollSize = this.scroll.getScrollBarWidth();
|
|
var containerSize = this.scroll.getSize().offset(-exports.CANVAS_MIN_PADDING * 2, -exports.CANVAS_MIN_PADDING * 2);
|
|
var modelAbsSize = this.getActualModelSizeWithoutZoom(this.modelSize, this.simpleView, this.crop).multiply(this.actualZoom);
|
|
var scrollbars = this.checkScrollBars(containerSize, scrollSize, modelAbsSize, Utils_1.Offset.empty());
|
|
containerSize = containerSize.offset(scrollbars.vertical ? -scrollSize : 0, scrollbars.horizontal ? -scrollSize : 0);
|
|
return {
|
|
vertical: containerSize.height >= modelAbsSize.height,
|
|
horizontal: containerSize.width >= modelAbsSize.width
|
|
};
|
|
};
|
|
CanvasViewManager.prototype.rectangleToCrop = function (rectangle, modelSize, oldCrop) {
|
|
var absRectangle = rectangle.transform(__1.UnitConverter.twipsToPixelsF);
|
|
return new Utils_1.Offset(this.correctCrop(absRectangle.left), this.correctCrop(absRectangle.top), this.correctCrop(modelSize.width - absRectangle.right), this.correctCrop(modelSize.height - absRectangle.bottom));
|
|
};
|
|
CanvasViewManager.prototype.correctCrop = function (newVal) {
|
|
return exports.CROP_OFFSET * Math.floor(newVal / exports.CROP_OFFSET);
|
|
};
|
|
CanvasViewManager.prototype.setActualZoom = function (actualZoom) {
|
|
if (this.actualZoom !== actualZoom) {
|
|
this.actualZoom = actualZoom;
|
|
this.onViewChanged.raise1(function (l) { return l.notifyActualZoomChanged(actualZoom); });
|
|
}
|
|
};
|
|
CanvasViewManager.prototype.getActualAutoZoomLevel = function (autoZoom) {
|
|
if (autoZoom === DiagramSettings_1.AutoZoomMode.Disabled)
|
|
return this.actualZoom;
|
|
var containerSize = this.scroll.getSize();
|
|
var scrollbarWidth = this.scroll.getScrollBarWidth();
|
|
var actualModelSizeWithoutZoom = this.getActualModelSizeWithoutZoom(this.modelSize, this.simpleView, this.crop);
|
|
return this.getActualAutoZoom(containerSize, scrollbarWidth, actualModelSizeWithoutZoom, autoZoom);
|
|
};
|
|
CanvasViewManager.prototype.getActualZoom = function (containerSize, scrollbarWidth, actualModelSizeWithoutZoom, fixedZoom, autoZoom) {
|
|
return this.lockAutoZoom ? this.actualZoom :
|
|
autoZoom === DiagramSettings_1.AutoZoomMode.Disabled ? fixedZoom : this.getActualAutoZoom(containerSize, scrollbarWidth, actualModelSizeWithoutZoom, autoZoom);
|
|
};
|
|
CanvasViewManager.prototype.getActualAutoZoom = function (containerSize, scrollbarWidth, actualModelSizeWithoutZoom, autoZoom) {
|
|
if (autoZoom === DiagramSettings_1.AutoZoomMode.FitContent) {
|
|
return Math.min((containerSize.width - exports.CANVAS_MIN_PADDING * 2) / actualModelSizeWithoutZoom.width, (containerSize.height - exports.CANVAS_MIN_PADDING * 2) / actualModelSizeWithoutZoom.height, 1);
|
|
}
|
|
return Math.min((containerSize.width - exports.CANVAS_MIN_PADDING * 2 - scrollbarWidth) / actualModelSizeWithoutZoom.width, 1);
|
|
};
|
|
CanvasViewManager.prototype.tryNormalizePaddings = function () {
|
|
var scroll = this.scroll.getScroll();
|
|
var containerSize = this.scroll.getSize();
|
|
var scrollbarWidth = this.scroll.getScrollBarWidth();
|
|
var actualModelSize = this.getActualModelSizeWithoutZoom(this.modelSize, this.simpleView, this.crop).multiply(this.actualZoom);
|
|
var translate = new Utils_1.Point(this.paddings.left, this.paddings.top);
|
|
var currentTail = new Utils_1.Size(this.paddings.right, this.paddings.bottom);
|
|
var tail = this.getTailSpace(translate, scroll, actualModelSize, containerSize, scrollbarWidth);
|
|
if (!tail.equals(currentTail))
|
|
this.applyChanges(new Utils_1.Offset(translate.x, translate.y, tail.width, tail.height), actualModelSize, this.simpleView, this.crop);
|
|
};
|
|
CanvasViewManager.prototype.scrollBy = function (offset) {
|
|
var _a, _b, _c;
|
|
var scroll = this.scroll.getScroll();
|
|
var containerSize = this.scroll.getSize();
|
|
var scrollbarWidth = this.scroll.getScrollBarWidth();
|
|
var actualModelSize = this.getActualModelSizeWithoutZoom(this.modelSize, this.simpleView, this.crop).multiply(this.actualZoom);
|
|
var scrollbars = this.checkScrollBars(containerSize, scrollbarWidth, actualModelSize, this.paddings);
|
|
var translate = new Utils_1.Point(this.paddings.left, this.paddings.top);
|
|
var tail = new Utils_1.Size(this.paddings.right, this.paddings.bottom);
|
|
(_a = this.changeScrollByOffset(translate, scroll, tail, actualModelSize, offset, containerSize, scrollbars), scroll = _a.scroll, offset = _a.offset);
|
|
(_b = this.changeTranslateByOffset(translate, tail, offset, scrollbars), translate = _b.translate, offset = _b.offset);
|
|
(_c = this.cropHiddenHead(translate, scroll), translate = _c.translate, scroll = _c.scroll);
|
|
tail = this.getTailSpace(translate, scroll, actualModelSize, containerSize, scrollbarWidth);
|
|
this.applyChanges(new Utils_1.Offset(translate.x, translate.y, tail.width, tail.height), actualModelSize, this.simpleView, this.crop, scroll);
|
|
return offset;
|
|
};
|
|
CanvasViewManager.prototype.changeScrollByOffset = function (curTranslate, curScroll, curTail, modelSize, curOffset, containerSize, scrollbars) {
|
|
var scroll = curScroll.clone();
|
|
var offset = curOffset.clone();
|
|
if (curOffset.x && scrollbars.horizontal)
|
|
scroll.x -= (offset.x = -this.getScrollDeltaByOffset(curOffset.x, curScroll.x, curTranslate.x + modelSize.width + curTail.width, containerSize.width, scrollbars.vertical));
|
|
if (curOffset.y && scrollbars.vertical)
|
|
scroll.y -= (offset.y = -this.getScrollDeltaByOffset(curOffset.y, curScroll.y, curTranslate.y + modelSize.height + curTail.height, containerSize.height, scrollbars.horizontal));
|
|
return { scroll: scroll, offset: offset };
|
|
};
|
|
CanvasViewManager.prototype.changeTranslateByOffset = function (curTranslate, curTail, curOffset, scrollbars) {
|
|
var translate = curTranslate.clone();
|
|
var offset = curOffset.clone();
|
|
if (curOffset.x && !scrollbars.horizontal)
|
|
translate.x += (offset.x = this.getTranslateDeltaByOffset(curOffset.x, translate.x, curTail.width));
|
|
if (curOffset.y && !scrollbars.vertical)
|
|
translate.y += (offset.y = this.getTranslateDeltaByOffset(curOffset.y, translate.y, curTail.height));
|
|
return { translate: translate, offset: offset };
|
|
};
|
|
CanvasViewManager.prototype.getScrollDeltaByOffset = function (offset, scroll, commonWidth, containerWidth, hasScrollbar) {
|
|
if (offset > 0)
|
|
return -Math.min(scroll, offset);
|
|
var maxScroll = commonWidth - (containerWidth - (hasScrollbar ? this.scroll.getScrollBarWidth() : 0));
|
|
return Math.min(maxScroll - scroll, -offset);
|
|
};
|
|
CanvasViewManager.prototype.getTranslateDeltaByOffset = function (offset, headPadding, tailPadding) {
|
|
if (!offset)
|
|
return 0;
|
|
return offset < 0 ?
|
|
-Math.min(headPadding - exports.CANVAS_MIN_PADDING, -offset) :
|
|
Math.min(tailPadding - exports.CANVAS_MIN_PADDING, offset);
|
|
};
|
|
CanvasViewManager.prototype.getActualModelSizeWithoutZoom = function (originModelSize, simpleView, crop) {
|
|
return simpleView && crop ? originModelSize.offset(-crop.horizontal, -crop.vertical) : originModelSize;
|
|
};
|
|
CanvasViewManager.prototype.setScrollTo = function (modelPoint, offsetPoint) {
|
|
var containerSize = this.scroll.getSize();
|
|
var shift = this.getVisibileAreaAbsShift();
|
|
var absPoint = modelPoint
|
|
.transform(__1.UnitConverter.twipsToPixelsF)
|
|
.multiply(this.actualZoom)
|
|
.offset(shift.x, shift.y);
|
|
var scroll = this.scroll.getScroll();
|
|
if (!offsetPoint) {
|
|
if (absPoint.x < 0)
|
|
scroll.x += absPoint.x - exports.CANVAS_MIN_PADDING;
|
|
if (absPoint.y < 0)
|
|
scroll.y += absPoint.y - exports.CANVAS_MIN_PADDING;
|
|
if (absPoint.x > containerSize.width)
|
|
scroll.x += (absPoint.x - containerSize.width + exports.CANVAS_MIN_PADDING);
|
|
if (absPoint.y > containerSize.height)
|
|
scroll.y += (absPoint.y - containerSize.height + exports.CANVAS_MIN_PADDING);
|
|
}
|
|
else {
|
|
scroll.x += absPoint.x - offsetPoint.x;
|
|
scroll.y += absPoint.y - offsetPoint.y;
|
|
}
|
|
var modelAbsSize = this.modelSize.multiply(this.actualZoom);
|
|
scroll.x = Math.max(0, Math.min(scroll.x, modelAbsSize.width + this.paddings.horizontal - containerSize.width));
|
|
scroll.y = Math.max(0, Math.min(scroll.y, modelAbsSize.height + this.paddings.vertical - containerSize.height));
|
|
this.scroll.setScroll(scroll.x, scroll.y);
|
|
};
|
|
CanvasViewManager.prototype.updateElements = function (modelAbsSize, translate, simpleView) {
|
|
this.updatePageElement(modelAbsSize, translate, simpleView);
|
|
this.updateCanvasElement(translate);
|
|
};
|
|
CanvasViewManager.prototype.updateCanvasElement = function (translate) {
|
|
this.canvasElement = this.getOrCreateElement("dxdi-main", new GroupPrimitive_1.GroupPrimitive([], "dxdi-main", null, null, function (el) {
|
|
el.setAttribute("transform", "translate(" + Math.round(translate.x) + ", " + Math.round(translate.y) + ")");
|
|
}), this.svgElement);
|
|
};
|
|
CanvasViewManager.prototype.updatePageElement = function (modelAbsSize, translate, simpleView) {
|
|
if (!simpleView) {
|
|
this.getOrCreateElement("pageShadowRect", new RectaglePrimitive_1.RectanglePrimitive(translate.x.toString(), translate.y.toString(), modelAbsSize.width.toString(), modelAbsSize.height.toString(), new Style_1.EmptyStyle({
|
|
"filter": Utils_2.RenderUtils.getUrlPathById(this.pageShadowId)
|
|
}), "dxdi-page-shadow"), this.svgElement);
|
|
}
|
|
this.pageElement = this.getOrCreateElement("page", new GroupPrimitive_1.GroupPrimitive([], "dxdi-page", null, !simpleView ? this.pageClipPathId : "", function (el) {
|
|
el.setAttribute("transform", "translate(" + (simpleView ? 0 : Math.round(translate.x)) + ", " + (simpleView ? 0 : Math.round(translate.y)) + ")");
|
|
}), this.svgElement);
|
|
this.getOrCreateElement("pageClip", this.createPageClipPathPrimitive(modelAbsSize), this.svgElement);
|
|
};
|
|
CanvasViewManager.prototype.createPageClipPathPrimitive = function (modelAbsSize) {
|
|
var children = [];
|
|
children.push(new RectaglePrimitive_1.RectanglePrimitive(0, 0, modelAbsSize.width.toString(), modelAbsSize.height.toString()));
|
|
return new ClipPathPrimitive_1.ClipPathPrimitive(this.pageClipPathId, children);
|
|
};
|
|
CanvasViewManager.prototype.adjust = function (newModelSize, fixedZoomLevel, autoZoom, simpleView, crop, offset, toReset) {
|
|
var containerSize = this.scroll.getSize();
|
|
var actualModelSizeWithoutZoom = this.getActualModelSizeWithoutZoom(newModelSize, simpleView, crop);
|
|
if (!this.lockAutoZoom && (autoZoom || !offset || !this.modelSize)) {
|
|
var scrollbarWidth = this.scroll.getScrollBarWidth();
|
|
var actualZoom = this.getActualZoom(containerSize, scrollbarWidth, actualModelSizeWithoutZoom, fixedZoomLevel, autoZoom);
|
|
if (autoZoom && actualZoom === this.actualZoom)
|
|
this.resizeView(actualModelSizeWithoutZoom, actualZoom, containerSize, simpleView, crop, offset || Utils_1.Offset.empty());
|
|
else {
|
|
this.resetView(actualModelSizeWithoutZoom, actualZoom, containerSize, simpleView, crop, toReset);
|
|
this.setActualZoom(actualZoom);
|
|
}
|
|
}
|
|
else
|
|
this.resizeView(actualModelSizeWithoutZoom, this.actualZoom, containerSize, simpleView, crop, offset);
|
|
};
|
|
CanvasViewManager.prototype.resetView = function (actualModelSizeWithoutZoom, actualZoom, containerSize, simpleView, cropWithoutZoom, toReset) {
|
|
var actualModelSize = actualModelSizeWithoutZoom.multiply(actualZoom);
|
|
var paddings = Utils_1.Offset.fromNumber(exports.CANVAS_MIN_PADDING);
|
|
toReset = toReset || { horizontal: true, vertical: true };
|
|
if (!toReset.horizontal && this.paddings) {
|
|
paddings.left = this.paddings.left;
|
|
paddings.right = this.paddings.right;
|
|
}
|
|
if (!toReset.vertical && this.paddings) {
|
|
paddings.top = this.paddings.top;
|
|
paddings.bottom = this.paddings.bottom;
|
|
}
|
|
var scrollbars = this.checkScrollBars(containerSize, this.scroll.getScrollBarWidth(), actualModelSize, paddings);
|
|
var scrollBarWidth = this.scroll.getScrollBarWidth();
|
|
var scroll = (toReset.horizontal || toReset.vertical) ? this.scroll.getScroll() : undefined;
|
|
if (toReset.horizontal) {
|
|
var paddingsH = Math.max((containerSize.width - (scrollbars.vertical ? scrollBarWidth : 0) - actualModelSize.width) / 2, exports.CANVAS_MIN_PADDING);
|
|
paddings.left = paddingsH;
|
|
paddings.right = paddingsH;
|
|
scroll.x = 0;
|
|
}
|
|
if (toReset.vertical) {
|
|
var paddingsV = Math.max((containerSize.height - (scrollbars.horizontal ? scrollBarWidth : 0) - actualModelSize.height) / 2, exports.CANVAS_MIN_PADDING);
|
|
paddings.top = paddingsV;
|
|
paddings.bottom = paddingsV;
|
|
scroll.y = 0;
|
|
}
|
|
this.applyChanges(paddings, actualModelSize, simpleView, cropWithoutZoom.multiply(actualZoom), scroll);
|
|
};
|
|
CanvasViewManager.prototype.resizeView = function (actualModelSizeWithoutZoom, actualZoom, containerSize, simpleView, cropWithoutZoom, offset) {
|
|
var _a, _b;
|
|
var oldZoom = this.actualZoom;
|
|
var oldCrop = this.simpleView && this.crop ? this.crop.multiply(oldZoom) : Utils_1.Offset.empty();
|
|
var actualModelSize = actualModelSizeWithoutZoom.multiply(actualZoom);
|
|
offset = offset.multiply(actualZoom);
|
|
var newCrop = simpleView && cropWithoutZoom ? cropWithoutZoom.multiply(actualZoom) : Utils_1.Offset.empty();
|
|
var translate = new Utils_1.Point(this.paddings.left, this.paddings.top), scroll = this.scroll.getScroll();
|
|
(_a = this.applyOffset(translate, scroll, oldCrop, newCrop, offset), translate = _a.translate, scroll = _a.scroll);
|
|
(_b = this.cropHiddenHead(translate, scroll), translate = _b.translate, scroll = _b.scroll);
|
|
var tailSpace = this.getTailSpace(translate, scroll, actualModelSize, containerSize, this.scroll.getScrollBarWidth());
|
|
var newPaddings = new Utils_1.Offset(translate.x, translate.y, tailSpace.width, tailSpace.height);
|
|
this.applyChanges(newPaddings, actualModelSize, simpleView, newCrop, scroll);
|
|
};
|
|
CanvasViewManager.prototype.applyChanges = function (paddings, actualModelSize, simpleView, crop, scroll) {
|
|
var translate = new Utils_1.Point(paddings.left, paddings.top);
|
|
if (simpleView && crop)
|
|
translate = translate.offset(-crop.left, -crop.top);
|
|
this.updateElements(actualModelSize, translate, simpleView);
|
|
this.setSvgSize(actualModelSize.width + paddings.horizontal, actualModelSize.height + paddings.vertical);
|
|
this.onViewChanged.raise1(function (l) { return l.notifyViewAdjusted(new Utils_1.Point(translate.x, translate.y)); });
|
|
scroll && this.scroll.setScroll(scroll.x, scroll.y);
|
|
this.paddings = paddings;
|
|
};
|
|
CanvasViewManager.prototype.applyOffset = function (curTranslate, curScroll, oldCrop, newCrop, modelOffset) {
|
|
var translate = curTranslate.clone();
|
|
var scroll = curScroll.clone();
|
|
var offset = this.getActualOffset(oldCrop, newCrop, modelOffset);
|
|
if (offset.left) {
|
|
translate.x = Math.max(exports.CANVAS_MIN_PADDING, translate.x - offset.left);
|
|
scroll.x += offset.left - (curTranslate.x - translate.x);
|
|
}
|
|
if (offset.top) {
|
|
translate.y = Math.max(exports.CANVAS_MIN_PADDING, translate.y - offset.top);
|
|
scroll.y += offset.top - (curTranslate.y - translate.y);
|
|
}
|
|
return { translate: translate, scroll: scroll };
|
|
};
|
|
CanvasViewManager.prototype.cropHiddenHead = function (curTranslate, curScroll) {
|
|
var scroll = curScroll.clone();
|
|
var translate = curTranslate.clone();
|
|
if (scroll.x && translate.x > exports.CANVAS_MIN_PADDING) {
|
|
var delta = translate.x - Math.max(exports.CANVAS_MIN_PADDING, translate.x - scroll.x);
|
|
translate.x -= delta;
|
|
scroll.x -= delta;
|
|
}
|
|
if (scroll.y && translate.y > exports.CANVAS_MIN_PADDING) {
|
|
var delta = translate.y - Math.max(exports.CANVAS_MIN_PADDING, translate.y - scroll.y);
|
|
translate.y -= delta;
|
|
scroll.y -= delta;
|
|
}
|
|
return { translate: translate, scroll: scroll };
|
|
};
|
|
CanvasViewManager.prototype.getTailSpace = function (curTranslate, curScroll, newModelAbsSize, containerSize, scrollbarWidth) {
|
|
var translate = curTranslate.clone();
|
|
var scroll = curScroll.clone();
|
|
var right = Math.max(containerSize.width + scroll.x - (translate.x + newModelAbsSize.width), exports.CANVAS_MIN_PADDING);
|
|
var bottom = Math.max(containerSize.height + scroll.y - (translate.y + newModelAbsSize.height), exports.CANVAS_MIN_PADDING);
|
|
var scrollbars = this.checkScrollBars(containerSize, scrollbarWidth, newModelAbsSize, new Utils_1.Offset(translate.x, translate.y, right, bottom));
|
|
if (scrollbars.vertical)
|
|
right = Math.max(exports.CANVAS_MIN_PADDING, right - scrollbarWidth);
|
|
if (scrollbars.horizontal)
|
|
bottom = Math.max(exports.CANVAS_MIN_PADDING, bottom - scrollbarWidth);
|
|
return new Utils_1.Size(right, bottom);
|
|
};
|
|
CanvasViewManager.prototype.getActualOffset = function (oldCrop, newCrop, docOffset) {
|
|
return new Utils_1.Offset(-(newCrop.left - oldCrop.left) + docOffset.left, -(newCrop.top - oldCrop.top) + docOffset.top, -(newCrop.right - oldCrop.right) + docOffset.right, -(newCrop.bottom - oldCrop.bottom) + docOffset.bottom);
|
|
};
|
|
CanvasViewManager.prototype.checkScrollBars = function (containerSize, scrollBarWidth, modelAbsSize, paddings) {
|
|
var hasHorizontalScroll = containerSize.width < modelAbsSize.width + paddings.horizontal;
|
|
var hasVerticalScroll = containerSize.height < modelAbsSize.height + paddings.vertical;
|
|
if (hasHorizontalScroll && !hasVerticalScroll)
|
|
hasVerticalScroll = containerSize.height - scrollBarWidth < modelAbsSize.height + paddings.vertical;
|
|
if (hasVerticalScroll && !hasHorizontalScroll)
|
|
hasHorizontalScroll = containerSize.width - scrollBarWidth < modelAbsSize.width + paddings.horizontal;
|
|
return { horizontal: hasHorizontalScroll, vertical: hasVerticalScroll };
|
|
};
|
|
CanvasViewManager.prototype.setSvgSize = function (width, height) {
|
|
Utils_2.RenderUtils.updateSvgElementSize(this.svgElement, width, height);
|
|
};
|
|
CanvasViewManager.prototype.getVisibileAreaAbsShift = function () {
|
|
var scroll = this.scroll.getScroll();
|
|
var paddings = this.paddings.clone();
|
|
var simpleView = this.simpleView;
|
|
var cropLeft = simpleView && this.crop ? this.crop.left * this.actualZoom : 0;
|
|
var cropTop = simpleView && this.crop ? this.crop.top * this.actualZoom : 0;
|
|
return new Utils_1.Point(paddings.left - cropLeft - scroll.x, paddings.top - cropTop - scroll.y);
|
|
};
|
|
/* ILayoutPointResolver */
|
|
CanvasViewManager.prototype.getModelPoint = function (absolutePoint, checkScrollArea) {
|
|
var shift = this.getVisibileAreaAbsShift();
|
|
var modelPoint = absolutePoint
|
|
.offset(-shift.x, -shift.y)
|
|
.multiply(1 / this.actualZoom);
|
|
if (checkScrollArea) {
|
|
var scrollSize = this.scroll.getSize();
|
|
if (absolutePoint.x < 0 || absolutePoint.y < 0 || absolutePoint.x > scrollSize.width || absolutePoint.y > scrollSize.height)
|
|
return null;
|
|
if (modelPoint.x < 0 || modelPoint.y < 0)
|
|
return null;
|
|
if (modelPoint.x > this.modelSize.width || modelPoint.y > this.modelSize.height)
|
|
return null;
|
|
}
|
|
return modelPoint.transform(__1.UnitConverter.pixelsToTwips);
|
|
};
|
|
CanvasViewManager.prototype.getAbsolutePoint = function (modelPoint, checkScrollArea) {
|
|
var shift = this.getVisibileAreaAbsShift();
|
|
var absPoint = modelPoint
|
|
.transform(__1.UnitConverter.twipsToPixelsF)
|
|
.multiply(this.actualZoom)
|
|
.offset(shift.x, shift.y);
|
|
if (checkScrollArea) {
|
|
if (absPoint.x < 0 || absPoint.y < 0)
|
|
return null;
|
|
var scrollSize = this.scroll.getSize();
|
|
if (absPoint.x > scrollSize.width || absPoint.y > scrollSize.height)
|
|
return null;
|
|
}
|
|
return absPoint;
|
|
};
|
|
return CanvasViewManager;
|
|
}(CanvasManagerBase_1.CanvasManagerBase));
|
|
exports.CanvasViewManager = CanvasViewManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 139 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var FilterPrimitive_1 = __webpack_require__(85);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var ShadowFilterPrimitive = /** @class */ (function (_super) {
|
|
__extends(ShadowFilterPrimitive, _super);
|
|
function ShadowFilterPrimitive() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ShadowFilterPrimitive.prototype.createChildElements = function (parent) {
|
|
var feGaussianBlur = document.createElementNS(RenderManager_1.svgNS, "feGaussianBlur");
|
|
feGaussianBlur.setAttribute("in", "SourceGraphic");
|
|
feGaussianBlur.setAttribute("stdDeviation", "4.6");
|
|
parent.appendChild(feGaussianBlur);
|
|
var feOffset = document.createElementNS(RenderManager_1.svgNS, "feOffset");
|
|
feOffset.setAttribute("dx", "0");
|
|
feOffset.setAttribute("dy", "0");
|
|
parent.appendChild(feOffset);
|
|
var feMerge = document.createElementNS(RenderManager_1.svgNS, "feMerge");
|
|
parent.appendChild(feMerge);
|
|
var feMergeNode1 = document.createElementNS(RenderManager_1.svgNS, "feMergeNode");
|
|
feMerge.appendChild(feMergeNode1);
|
|
var feMergeNode2 = document.createElementNS(RenderManager_1.svgNS, "feMergeNode");
|
|
feMergeNode2.setAttribute("in", "SourceGraphic");
|
|
feMerge.appendChild(feMergeNode2);
|
|
};
|
|
return ShadowFilterPrimitive;
|
|
}(FilterPrimitive_1.FilterPrimitive));
|
|
exports.ShadowFilterPrimitive = ShadowFilterPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 140 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Primitive_1 = __webpack_require__(18);
|
|
var MaskPrimitive = /** @class */ (function (_super) {
|
|
__extends(MaskPrimitive, _super);
|
|
function MaskPrimitive(id, children, className, x, y, width, height) {
|
|
var _this = _super.call(this, null, className) || this;
|
|
_this.id = id;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
_this.children = children;
|
|
return _this;
|
|
}
|
|
MaskPrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "mask");
|
|
};
|
|
MaskPrimitive.prototype.applyElementProperties = function (element) {
|
|
if (this.id)
|
|
element.setAttribute("id", this.id);
|
|
this.setUnitAttribute(element, "x", this.x);
|
|
this.setUnitAttribute(element, "y", this.y);
|
|
this.setUnitAttribute(element, "width", this.width);
|
|
this.setUnitAttribute(element, "height", this.height);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return MaskPrimitive;
|
|
}(Primitive_1.SvgPrimitive));
|
|
exports.MaskPrimitive = MaskPrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 141 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Evt_1 = __webpack_require__(39);
|
|
var Base_1 = __webpack_require__(17);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var SCROLL_EDGE = 40, SCROLL_RATIO = 5, SCROLL_MAXOFFSET = 5, SCROLL_DELAY = 50;
|
|
var AutoScrollController = /** @class */ (function () {
|
|
function AutoScrollController(scroll, mainElement) {
|
|
this.scroll = scroll;
|
|
this.mainElement = mainElement;
|
|
this.leftButtonPressed = false;
|
|
this.scrollDragging = false;
|
|
this.scrollTimer = -1;
|
|
this.scrollBarWidth = Base_1.GetVerticalScrollBarWidth();
|
|
}
|
|
AutoScrollController.prototype.onMouseMove = function (evt, raiseMouseMoveFunc) {
|
|
this.clearScrollTimer();
|
|
if (!Evt_1.Evt.IsLeftButtonPressed(evt))
|
|
this.leftButtonPressed = false;
|
|
if (this.canAutoScroll())
|
|
this.changeScrollPosition(evt, raiseMouseMoveFunc, false);
|
|
};
|
|
AutoScrollController.prototype.onMouseDown = function (evt) {
|
|
this.leftButtonPressed = !!Evt_1.Evt.IsLeftButtonPressed(evt);
|
|
};
|
|
AutoScrollController.prototype.onMouseUp = function (evt) {
|
|
this.clearScrollTimer();
|
|
this.leftButtonPressed = false;
|
|
};
|
|
AutoScrollController.prototype.onMouseEnter = function (evt) {
|
|
var _this = this;
|
|
if (Evt_1.Evt.IsLeftButtonPressed(evt)) {
|
|
setTimeout(function () {
|
|
_this.leftButtonPressed = true;
|
|
}, 500);
|
|
}
|
|
};
|
|
AutoScrollController.prototype.onDragScrollStart = function () {
|
|
this.scrollDragging = true;
|
|
};
|
|
AutoScrollController.prototype.onDragScrollEnd = function () {
|
|
this.scrollDragging = false;
|
|
};
|
|
AutoScrollController.prototype.canAutoScroll = function () {
|
|
return this.leftButtonPressed && !this.scrollDragging;
|
|
};
|
|
AutoScrollController.prototype.changeScrollPosition = function (evt, raiseMouseMoveFunc, raiseMouseMove) {
|
|
var _this = this;
|
|
var x = evt.pageX - Base_1.GetAbsolutePositionX(this.mainElement);
|
|
var y = evt.pageY - Base_1.GetAbsolutePositionY(this.mainElement);
|
|
var size = this.scroll.getSize();
|
|
var scrollSize = this.scroll.getScrollSize();
|
|
var width = size.width;
|
|
if (size.width < scrollSize.width)
|
|
width -= this.scrollBarWidth;
|
|
var height = size.height;
|
|
if (size.height < scrollSize.height)
|
|
height -= this.scrollBarWidth;
|
|
var changed = false;
|
|
if (x <= SCROLL_EDGE) {
|
|
this.scroll.offsetScroll(-this.getScrollingOffset(x), 0);
|
|
changed = true;
|
|
}
|
|
else if (width - SCROLL_EDGE <= x) {
|
|
this.scroll.offsetScroll(this.getScrollingOffset(width - x), 0);
|
|
changed = true;
|
|
}
|
|
if (y <= SCROLL_EDGE) {
|
|
this.scroll.offsetScroll(0, -this.getScrollingOffset(y));
|
|
changed = true;
|
|
}
|
|
else if (height - SCROLL_EDGE <= y) {
|
|
this.scroll.offsetScroll(0, this.getScrollingOffset(height - y));
|
|
changed = true;
|
|
}
|
|
if (changed)
|
|
this.scrollTimer = window.setTimeout(function () { return _this.changeScrollPosition(evt, raiseMouseMoveFunc, true); }, SCROLL_DELAY);
|
|
if (raiseMouseMove)
|
|
raiseMouseMoveFunc();
|
|
};
|
|
AutoScrollController.prototype.clearScrollTimer = function () {
|
|
if (this.scrollTimer > -1) {
|
|
window.clearTimeout(this.scrollTimer);
|
|
this.scrollTimer = -1;
|
|
}
|
|
};
|
|
AutoScrollController.prototype.getScrollingOffset = function (edgeOffset) {
|
|
var offset = Math.pow((SCROLL_EDGE - edgeOffset) / SCROLL_RATIO, 2);
|
|
return Math.min(offset, SCROLL_MAXOFFSET);
|
|
};
|
|
AutoScrollController.createMainElement = function (parent) {
|
|
var element = document.createElement("div");
|
|
element.setAttribute("class", "dxdi-control");
|
|
parent.appendChild(element);
|
|
return element;
|
|
};
|
|
AutoScrollController.createSvgElement = function (parent, forExport) {
|
|
if (forExport === void 0) { forExport = false; }
|
|
var svgElement = document.createElementNS(RenderManager_1.svgNS, "svg");
|
|
svgElement.className.baseVal = "dxdi-canvas" + (forExport ? " export" : "");
|
|
parent.appendChild(svgElement);
|
|
return svgElement;
|
|
};
|
|
return AutoScrollController;
|
|
}());
|
|
exports.AutoScrollController = AutoScrollController;
|
|
|
|
|
|
/***/ }),
|
|
/* 142 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorPointsCalculatorBase_1 = __webpack_require__(89);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsCalculator, _super);
|
|
function ConnectorPointsCalculator() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ConnectorPointsCalculator.prototype.getPoints = function () {
|
|
return this.connector.points.map(function (pt, index) { return new ConnectorRenderPoint_1.ConnectorRenderPoint(pt.x, pt.y, index); });
|
|
};
|
|
return ConnectorPointsCalculator;
|
|
}(ConnectorPointsCalculatorBase_1.ConnectorPointsCalculatorBase));
|
|
exports.ConnectorPointsCalculator = ConnectorPointsCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 143 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectorPointsCalculatorBase_1 = __webpack_require__(89);
|
|
var ConnectorPointsOrthogonalUndefinedSideCalculator_1 = __webpack_require__(144);
|
|
var ConnectorPointsOrthogonalSouthSideCalculator_1 = __webpack_require__(145);
|
|
var ConnectorPointsOrthogonalNorthSideCalculator_1 = __webpack_require__(146);
|
|
var ConnectorPointsOrthogonalEastSideCalculator_1 = __webpack_require__(147);
|
|
var ConnectorPointsOrthogonalWestSideCalculator_1 = __webpack_require__(148);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalCalculator, _super);
|
|
function ConnectorPointsOrthogonalCalculator(connector) {
|
|
var _this = _super.call(this, connector) || this;
|
|
_this.sideCalculators = {};
|
|
_this.sideCalculators[DiagramItem_1.ConnectionPointSide.Undefined] = new ConnectorPointsOrthogonalUndefinedSideCalculator_1.ConnectorPointsOrthogonalUndefinedSideCalculator(_this);
|
|
_this.sideCalculators[DiagramItem_1.ConnectionPointSide.South] = new ConnectorPointsOrthogonalSouthSideCalculator_1.ConnectorPointsOrthogonalSouthSideCalculator(_this);
|
|
_this.sideCalculators[DiagramItem_1.ConnectionPointSide.North] = new ConnectorPointsOrthogonalNorthSideCalculator_1.ConnectorPointsOrthogonalNorthSideCalculator(_this);
|
|
_this.sideCalculators[DiagramItem_1.ConnectionPointSide.East] = new ConnectorPointsOrthogonalEastSideCalculator_1.ConnectorPointsOrthogonalEastSideCalculator(_this);
|
|
_this.sideCalculators[DiagramItem_1.ConnectionPointSide.West] = new ConnectorPointsOrthogonalWestSideCalculator_1.ConnectorPointsOrthogonalWestSideCalculator(_this);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(ConnectorPointsOrthogonalCalculator.prototype, "beginRect", {
|
|
get: function () { return this.connector.beginItem ? this.connector.beginItem.rectangle : undefined; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ConnectorPointsOrthogonalCalculator.prototype, "endRect", {
|
|
get: function () { return this.connector.endItem ? this.connector.endItem.rectangle : undefined; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ConnectorPointsOrthogonalCalculator.prototype.getPoints = function () {
|
|
var points = this.connector.points.map(function (pt, index) { return new ConnectorRenderPoint_1.ConnectorRenderPoint(pt.x, pt.y, index); });
|
|
this.removeUnnecessaryLinePoints(points);
|
|
var beginIndex = 0, endIndex = points.length - 1;
|
|
var beginSide = this.getPointSide(points, 0);
|
|
var beginNextSide = this.getPointSide(points, 1);
|
|
var endSide = this.getPointSide(points, points.length - 1);
|
|
var endPrevSide = this.getPointSide(points, points.length - 1 - 1);
|
|
var beginSideCalculator = this.getSideCalculator(beginSide);
|
|
var endSideCalculator = this.getSideCalculator(endSide);
|
|
var originRect = this.beginRect;
|
|
var originPoint = beginSideCalculator.getCorrectOriginPoint(points[beginIndex], originRect);
|
|
var targetPoint = points[beginIndex + 1];
|
|
if (points.length === 2 && beginSideCalculator.isOnSidePoint(originPoint, targetPoint) &&
|
|
beginSideCalculator.isDirectConnectionAllowed(beginNextSide, originPoint, targetPoint)) {
|
|
var directConnectionPoints = beginSideCalculator.getDirectConnectionPoints(originPoint, targetPoint);
|
|
directConnectionPoints.forEach(function (pt) {
|
|
points.splice(beginIndex + 1, 0, pt);
|
|
beginIndex++;
|
|
endIndex++;
|
|
});
|
|
}
|
|
else {
|
|
var bOffsetPoints = beginSideCalculator.getBeginOffsetPoints(beginNextSide, points[beginIndex], points[beginIndex + 1], this.beginRect);
|
|
bOffsetPoints.forEach(function (pt) {
|
|
points.splice(beginIndex + 1, 0, pt);
|
|
});
|
|
beginIndex += bOffsetPoints.length;
|
|
endIndex += bOffsetPoints.length;
|
|
var eOffsetPoints = endSideCalculator.getEndOffsetPoints(endPrevSide, points[endIndex], points[endIndex - 1], this.endRect);
|
|
eOffsetPoints.forEach(function (pt, index) {
|
|
points.splice(endIndex + index, 0, pt);
|
|
});
|
|
for (var index = beginIndex; index < endIndex; index++) {
|
|
var nextIndex = index + 1;
|
|
var middlePoint = this.getMiddlePoint(points[index], points[index - 1], index - 1 === 0, points[nextIndex], points[nextIndex + 1], nextIndex + 1 === points.length - 1);
|
|
if (middlePoint !== undefined) {
|
|
points.splice(index + 1, 0, middlePoint);
|
|
index++;
|
|
endIndex++;
|
|
}
|
|
}
|
|
}
|
|
this.removeUnnecessaryLinePoints(points);
|
|
return points;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.getSideCalculator = function (side) {
|
|
return this.sideCalculators[side];
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.getPointSide = function (points, index) {
|
|
if (index === 0 && this.connector.beginItem) {
|
|
var connectionPointIndex = this.connector.beginConnectionPointIndex;
|
|
return this.connector.beginItem.getConnectionPointSideByIndex(connectionPointIndex, points[1]);
|
|
}
|
|
if (index === points.length - 1 && this.connector.endItem) {
|
|
var connectionPointIndex = this.connector.endConnectionPointIndex;
|
|
return this.connector.endItem.getConnectionPointSideByIndex(connectionPointIndex, points[points.length - 2]);
|
|
}
|
|
return DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.getMiddlePoints = function (point1, point2) {
|
|
if (point1.x === point2.x || point1.y === point2.y)
|
|
return [];
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(point1.x, point2.y),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(point2.x, point1.y)
|
|
];
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.getMiddlePoint = function (point1, directionPoint1, nextToBegin, point2, directionPoint2, nextToEnd) {
|
|
var _this = this;
|
|
var point;
|
|
var points = this.getMiddlePoints(point1, point2);
|
|
points.forEach(function (pt) {
|
|
var rect1 = _this.createPointsRect(point1, pt);
|
|
var rect2 = _this.createPointsRect(pt, point2);
|
|
var itemRect1 = _this.connector.beginItem ? _this.connector.beginItem.rectangle : undefined;
|
|
var itemRect2 = _this.connector.endItem ? _this.connector.endItem.rectangle : undefined;
|
|
if (itemRect1) {
|
|
if (itemRect1.intersect(rect1) || itemRect1.intersect(rect2))
|
|
return;
|
|
}
|
|
if (itemRect2) {
|
|
if (itemRect2.intersect(rect1) || itemRect2.intersect(rect2))
|
|
return;
|
|
}
|
|
if ((!_this.isReturnPoint(pt, point1, directionPoint1) || _this.isIntermediatePoints(point1, directionPoint1)) &&
|
|
(!_this.isReturnPoint(pt, point2, directionPoint2) || _this.isIntermediatePoints(point2, directionPoint2))) {
|
|
if (point === undefined)
|
|
point = pt;
|
|
else if (_this.isPriorMiddlePoint(pt, point1, directionPoint1, point2, directionPoint2))
|
|
point = pt;
|
|
}
|
|
});
|
|
if (point === undefined && points.length > 0)
|
|
point = points[0];
|
|
return point;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.createPointsRect = function (point1, point2) {
|
|
var result = Utils_1.Rectangle.createByPoints(point1, point2);
|
|
if (result.width > 0)
|
|
result = result.inflate(-1, 0);
|
|
if (result.height > 0)
|
|
result = result.inflate(0, -1);
|
|
return result;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.isPriorMiddlePoint = function (point, point1, directionPoint1, point2, directionPoint2) {
|
|
if (directionPoint1) {
|
|
if (point.x === directionPoint1.x || point.y === directionPoint1.y)
|
|
return true;
|
|
}
|
|
if (directionPoint2) {
|
|
if (point.x === directionPoint2.x || point.y === directionPoint2.y)
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.isReturnPoint = function (point, point1, point2) {
|
|
if (point1 !== undefined && point2 !== undefined) {
|
|
if (point.x === point2.x)
|
|
if (point1.y < point.y && point.y < point2.y || point1.y > point.y && point.y > point2.y)
|
|
return true;
|
|
if (point.y === point2.y)
|
|
if (point1.x < point.x && point.x < point2.x || point1.x > point.x && point.x > point2.x)
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.isIntermediatePoints = function (point1, point2) {
|
|
return 0 < point1.pointIndex && point1.pointIndex < this.connector.points.length - 1 &&
|
|
0 < point2.pointIndex && point2.pointIndex < this.connector.points.length - 1;
|
|
};
|
|
ConnectorPointsOrthogonalCalculator.prototype.removeUnnecessaryLinePoints = function (points) {
|
|
Utils_1.GeometryUtils.removeUnnecessaryLinePoints(points, function (pt, index) {
|
|
if (pt.pointIndex === -1) {
|
|
points.splice(index, 1);
|
|
return true;
|
|
}
|
|
else {
|
|
pt.skipped = true;
|
|
return false;
|
|
}
|
|
}, function (pt) {
|
|
return pt !== undefined && !pt.skipped;
|
|
});
|
|
};
|
|
return ConnectorPointsOrthogonalCalculator;
|
|
}(ConnectorPointsCalculatorBase_1.ConnectorPointsCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalCalculator = ConnectorPointsOrthogonalCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 144 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorPointsOrthogonalSideCalculatorBase_1 = __webpack_require__(43);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalUndefinedSideCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalUndefinedSideCalculator, _super);
|
|
function ConnectorPointsOrthogonalUndefinedSideCalculator(parent) {
|
|
return _super.call(this, parent) || this;
|
|
}
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getCorrectOriginPoint = function (originPoint, originRect) {
|
|
return originPoint;
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getSameShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getOverlappedPointsOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getBeginOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getEndOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getBeginOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getEndOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getBeginOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getEndOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.isOnSidePoint = function (originPoint, targetPoint) {
|
|
return true;
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.isDirectConnectionAllowed = function (targetSide, originPoint, targetPoint) {
|
|
var calculator = this.getSideCalculator(originPoint, targetPoint);
|
|
if (calculator !== undefined)
|
|
return calculator.isDirectConnectionAllowed(targetSide, originPoint, targetPoint);
|
|
return true;
|
|
};
|
|
ConnectorPointsOrthogonalUndefinedSideCalculator.prototype.getDirectConnectionPoints = function (originPoint, targetPoint) {
|
|
var diffX = Math.abs(targetPoint.x - originPoint.x);
|
|
var diffY = Math.abs(targetPoint.y - originPoint.y);
|
|
if (diffX > diffY) {
|
|
var minX = Math.min(originPoint.x, targetPoint.x);
|
|
var cx = minX + diffX / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, originPoint.y),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, targetPoint.y)
|
|
];
|
|
}
|
|
else {
|
|
var minY = Math.min(originPoint.y, targetPoint.y);
|
|
var cy = minY + diffY / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(originPoint.x, cy),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(targetPoint.x, cy)
|
|
];
|
|
}
|
|
};
|
|
return ConnectorPointsOrthogonalUndefinedSideCalculator;
|
|
}(ConnectorPointsOrthogonalSideCalculatorBase_1.ConnectorPointsOrthogonalSideCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalUndefinedSideCalculator = ConnectorPointsOrthogonalUndefinedSideCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 145 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectorPointsOrthogonalSideCalculatorBase_1 = __webpack_require__(43);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalSouthSideCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalSouthSideCalculator, _super);
|
|
function ConnectorPointsOrthogonalSouthSideCalculator(parent) {
|
|
return _super.call(this, parent) || this;
|
|
}
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getCorrectOriginPoint = function (originPoint, originRect) {
|
|
if (originPoint.y < originRect.bottom)
|
|
originPoint = originPoint.offset(0, originRect.bottom - originPoint.y);
|
|
return originPoint;
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getSameShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset());
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getOverlappedPointsOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
}
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getBeginOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (originPoint.y < targetPoint.y) {
|
|
if (originPoint.x > targetPoint.x)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
}
|
|
if (originPoint.y > this.endRect.bottom)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (originPoint.y < targetPoint.y) {
|
|
if (originPoint.x < targetPoint.x)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
}
|
|
if (originPoint.y > this.endRect.bottom)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), originPoint.x < targetPoint.x);
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getEndOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (targetPoint.y < originPoint.y)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
if (originPoint.x < targetPoint.x)
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (targetPoint.y < originPoint.y)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
if (originPoint.x > targetPoint.x)
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
var offset = this.getMinOffset();
|
|
if (this.beginRect.bottom > originPoint.y)
|
|
offset += this.beginRect.bottom - originPoint.y;
|
|
return [originPoint.offset(0, offset)];
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getBeginOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(0, this.getScaleableOffsetY(originPoint, targetPoint, false))];
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getEndOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(0, this.getScaleableOffsetY(originPoint, targetPoint, true))];
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getBeginOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, true);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.Undefined:
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
}
|
|
return [originPoint.offset(0, this.getScaleableOffsetY(originPoint, targetPoint, false))];
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getEndOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
if (targetSide === DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true);
|
|
else if (this.isBeginEndOverlappedX()) {
|
|
var direction = this.beginRect.center.x > this.endRect.center.x;
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true, direction);
|
|
}
|
|
return [originPoint.offset(0, this.getScaleableOffsetY(originPoint, targetPoint, true))];
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getAsideOffsetPoints = function (originPoint, targetPoint, originRect, offset, asideOffset, direction) {
|
|
var points = [];
|
|
if (originRect !== undefined) {
|
|
if (direction === undefined)
|
|
direction = targetPoint.x < originPoint.x;
|
|
if (direction)
|
|
points.push(originPoint.offset(-(originPoint.x - originRect.left + asideOffset), offset));
|
|
else
|
|
points.push(originPoint.offset((originRect.right - originPoint.x + asideOffset), offset));
|
|
}
|
|
points.push(originPoint.offset(0, offset));
|
|
return points;
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getScaleableAsideOffsetPoints = function (originPoint, targetPoint, originRect, isEnd, direction) {
|
|
var offset = this.getScaleableOffsetY(originPoint, targetPoint, isEnd);
|
|
var asideOffset = this.getScaleableOffsetX(originPoint, targetPoint, isEnd);
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, offset, asideOffset, direction);
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getScaleableOffsetX = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
if (!isEnd && !this.isBeginEndOverlappedX()) {
|
|
var distance = void 0;
|
|
if (targetPoint.x < originPoint.x)
|
|
distance = this.beginRect.left - this.endRect.right;
|
|
else
|
|
distance = this.endRect.left - this.beginRect.right;
|
|
if (distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getScaleableOffsetY = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
var distance = isEnd ? this.beginRect.top - originPoint.y : this.endRect.top - originPoint.y;
|
|
if (distance > 0 && distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.isOnSidePoint = function (originPoint, targetPoint) {
|
|
return targetPoint.y > originPoint.y;
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.isDirectConnectionAllowed = function (targetSide, originPoint, targetPoint) {
|
|
return targetSide === DiagramItem_1.ConnectionPointSide.North || targetSide === DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
ConnectorPointsOrthogonalSouthSideCalculator.prototype.getDirectConnectionPoints = function (originPoint, targetPoint) {
|
|
var cy = originPoint.y + (targetPoint.y - originPoint.y) / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(originPoint.x, cy),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(targetPoint.x, cy)
|
|
];
|
|
};
|
|
return ConnectorPointsOrthogonalSouthSideCalculator;
|
|
}(ConnectorPointsOrthogonalSideCalculatorBase_1.ConnectorPointsOrthogonalSideCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalSouthSideCalculator = ConnectorPointsOrthogonalSouthSideCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 146 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectorPointsOrthogonalSideCalculatorBase_1 = __webpack_require__(43);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalNorthSideCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalNorthSideCalculator, _super);
|
|
function ConnectorPointsOrthogonalNorthSideCalculator(parent) {
|
|
return _super.call(this, parent) || this;
|
|
}
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getCorrectOriginPoint = function (originPoint, originRect) {
|
|
if (originPoint.y > originRect.top)
|
|
originPoint = originPoint.offset(0, originRect.top - originPoint.y);
|
|
return originPoint;
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getSameShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset());
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getOverlappedPointsOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return [originPoint.offset(0, this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
}
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getBeginOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (originPoint.y > targetPoint.y) {
|
|
if (originPoint.x > targetPoint.x)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
}
|
|
if (originPoint.y < this.endRect.top)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (originPoint.y > targetPoint.y) {
|
|
if (originPoint.x < targetPoint.x)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
}
|
|
if (originPoint.y < this.endRect.top)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), originPoint.x < targetPoint.x);
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getEndOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (targetPoint.y > originPoint.y)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
if (originPoint.x < targetPoint.x)
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (targetPoint.y > originPoint.y)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
if (originPoint.x > targetPoint.x)
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
return [originPoint.offset(0, -this.getMinOffset())];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
var offset = -this.getMinOffset();
|
|
if (this.beginRect.top < originPoint.y)
|
|
offset -= originPoint.y - this.beginRect.top;
|
|
return [originPoint.offset(0, offset)];
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getBeginOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(0, -this.getScaleableOffsetY(originPoint, targetPoint, false))];
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getEndOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(0, -this.getScaleableOffsetY(originPoint, targetPoint, true))];
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getBeginOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, true);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (this.isBeginEndOverlappedX())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.Undefined:
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
}
|
|
return [originPoint.offset(0, -this.getScaleableOffsetY(originPoint, targetPoint, false))];
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getEndOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
if (targetSide === DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true);
|
|
else if (this.isBeginEndOverlappedX()) {
|
|
var direction = this.beginRect.center.x > this.endRect.center.x;
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true, direction);
|
|
}
|
|
return [originPoint.offset(0, -this.getScaleableOffsetY(originPoint, targetPoint, true))];
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getAsideOffsetPoints = function (originPoint, targetPoint, originRect, offset, asideOffset, direction) {
|
|
var points = [];
|
|
if (originRect !== undefined) {
|
|
if (direction === undefined)
|
|
direction = targetPoint.x < originPoint.x;
|
|
if (direction)
|
|
points.push(originPoint.offset(-(originPoint.x - originRect.left + asideOffset), -offset));
|
|
else
|
|
points.push(originPoint.offset((originRect.right - originPoint.x + asideOffset), -offset));
|
|
}
|
|
points.push(originPoint.offset(0, -offset));
|
|
return points;
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getScaleableAsideOffsetPoints = function (originPoint, targetPoint, originRect, isEnd, direction) {
|
|
var offset = this.getScaleableOffsetY(originPoint, targetPoint, isEnd);
|
|
var asideOffset = this.getScaleableOffsetX(originPoint, targetPoint, isEnd);
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, offset, asideOffset, direction);
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getScaleableOffsetX = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
if (!isEnd && !this.isBeginEndOverlappedX()) {
|
|
var distance = void 0;
|
|
if (targetPoint.x < originPoint.x)
|
|
distance = this.beginRect.left - this.endRect.right;
|
|
else
|
|
distance = this.endRect.left - this.beginRect.right;
|
|
if (distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getScaleableOffsetY = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
var distance = isEnd ? originPoint.y - this.beginRect.bottom : originPoint.y - this.endRect.bottom;
|
|
if (distance > 0 && distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.isOnSidePoint = function (originPoint, targetPoint) {
|
|
return targetPoint.y < originPoint.y;
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.isDirectConnectionAllowed = function (targetSide, originPoint, targetPoint) {
|
|
return targetSide === DiagramItem_1.ConnectionPointSide.South || targetSide === DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
ConnectorPointsOrthogonalNorthSideCalculator.prototype.getDirectConnectionPoints = function (originPoint, targetPoint) {
|
|
var cy = targetPoint.y + (originPoint.y - targetPoint.y) / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(originPoint.x, cy),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(targetPoint.x, cy)
|
|
];
|
|
};
|
|
return ConnectorPointsOrthogonalNorthSideCalculator;
|
|
}(ConnectorPointsOrthogonalSideCalculatorBase_1.ConnectorPointsOrthogonalSideCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalNorthSideCalculator = ConnectorPointsOrthogonalNorthSideCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 147 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectorPointsOrthogonalSideCalculatorBase_1 = __webpack_require__(43);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalEastSideCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalEastSideCalculator, _super);
|
|
function ConnectorPointsOrthogonalEastSideCalculator(parent) {
|
|
return _super.call(this, parent) || this;
|
|
}
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getCorrectOriginPoint = function (originPoint, originRect) {
|
|
if (originPoint.x < originRect.right)
|
|
originPoint = originPoint.offset(originRect.right - originPoint.x, 0);
|
|
return originPoint;
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getSameShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset());
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getOverlappedPointsOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
}
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getBeginOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (originPoint.x < targetPoint.x) {
|
|
if (originPoint.y < targetPoint.y)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
}
|
|
if (originPoint.x > this.endRect.right)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (originPoint.x < targetPoint.x) {
|
|
if (originPoint.y > targetPoint.y)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
}
|
|
if (originPoint.x > this.endRect.right)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), originPoint.y < targetPoint.y);
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getEndOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
var offset = this.getMinOffset();
|
|
if (this.beginRect.right > originPoint.x)
|
|
offset += this.beginRect.right - originPoint.x;
|
|
return [originPoint.offset(offset, 0)];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (targetPoint.x < originPoint.x)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
if (originPoint.y > targetPoint.y)
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (targetPoint.x < originPoint.x)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
if (originPoint.y < targetPoint.y)
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
return [];
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getBeginOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(this.getScaleableOffsetX(originPoint, targetPoint, false), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getEndOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(this.getScaleableOffsetX(originPoint, targetPoint, true), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getBeginOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, true);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.Undefined:
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
}
|
|
return [originPoint.offset(this.getScaleableOffsetX(originPoint, targetPoint, false), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getEndOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
if (targetSide === DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true);
|
|
else if (this.isBeginEndOverlappedY()) {
|
|
var direction = this.beginRect.center.y > this.endRect.center.y;
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true, direction);
|
|
}
|
|
return [originPoint.offset(this.getScaleableOffsetX(originPoint, targetPoint, true), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getAsideOffsetPoints = function (originPoint, targetPoint, originRect, offset, asideOffset, direction) {
|
|
var points = [];
|
|
if (originRect !== undefined) {
|
|
if (direction === undefined)
|
|
direction = targetPoint.y < originPoint.y;
|
|
if (direction)
|
|
points.push(originPoint.offset(offset, -(originPoint.y - originRect.top + asideOffset)));
|
|
else
|
|
points.push(originPoint.offset(offset, (originRect.bottom - originPoint.y + asideOffset)));
|
|
}
|
|
points.push(originPoint.offset(offset, 0));
|
|
return points;
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getScaleableAsideOffsetPoints = function (originPoint, targetPoint, originRect, isEnd, direction) {
|
|
var offset = this.getScaleableOffsetX(originPoint, targetPoint, isEnd);
|
|
var asideOffset = this.getScaleableOffsetY(originPoint, targetPoint, isEnd);
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, offset, asideOffset, direction);
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getScaleableOffsetX = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
var distance = isEnd ? this.beginRect.left - originPoint.x : this.endRect.left - originPoint.x;
|
|
if (distance > 0 && distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getScaleableOffsetY = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
if (!isEnd && !this.isBeginEndOverlappedY()) {
|
|
var distance = void 0;
|
|
if (targetPoint.y < originPoint.y)
|
|
distance = this.beginRect.top - this.endRect.bottom;
|
|
else
|
|
distance = this.endRect.top - this.beginRect.bottom;
|
|
if (distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.isOnSidePoint = function (originPoint, targetPoint) {
|
|
return targetPoint.x > originPoint.x;
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.isDirectConnectionAllowed = function (targetSide, originPoint, targetPoint) {
|
|
return targetSide === DiagramItem_1.ConnectionPointSide.West || targetSide === DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
ConnectorPointsOrthogonalEastSideCalculator.prototype.getDirectConnectionPoints = function (originPoint, targetPoint) {
|
|
var cx = originPoint.x + (targetPoint.x - originPoint.x) / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, originPoint.y),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, targetPoint.y)
|
|
];
|
|
};
|
|
return ConnectorPointsOrthogonalEastSideCalculator;
|
|
}(ConnectorPointsOrthogonalSideCalculatorBase_1.ConnectorPointsOrthogonalSideCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalEastSideCalculator = ConnectorPointsOrthogonalEastSideCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 148 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ConnectorPointsOrthogonalSideCalculatorBase_1 = __webpack_require__(43);
|
|
var ConnectorRenderPoint_1 = __webpack_require__(30);
|
|
var ConnectorPointsOrthogonalWestSideCalculator = /** @class */ (function (_super) {
|
|
__extends(ConnectorPointsOrthogonalWestSideCalculator, _super);
|
|
function ConnectorPointsOrthogonalWestSideCalculator(parent) {
|
|
return _super.call(this, parent) || this;
|
|
}
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getCorrectOriginPoint = function (originPoint, originRect) {
|
|
if (originPoint.x > originRect.left)
|
|
originPoint = originPoint.offset(originRect.left - originPoint.x, 0);
|
|
return originPoint;
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getSameShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset());
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getOverlappedPointsOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return [originPoint.offset(this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
}
|
|
return [];
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getBeginOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (originPoint.x > targetPoint.x) {
|
|
if (originPoint.y < targetPoint.y)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
}
|
|
if (originPoint.x < this.endRect.left)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (originPoint.x > targetPoint.x) {
|
|
if (originPoint.y > targetPoint.y)
|
|
return [];
|
|
else
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
}
|
|
if (originPoint.x < this.endRect.left)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), originPoint.y < targetPoint.y);
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getEndOverlappedShapeOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
var offset = -this.getMinOffset();
|
|
if (this.beginRect.left < originPoint.x)
|
|
offset -= originPoint.x - this.beginRect.left;
|
|
return [originPoint.offset(offset, 0)];
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (targetPoint.x > originPoint.x)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), true);
|
|
if (originPoint.y > targetPoint.y)
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
return [];
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (targetPoint.x > originPoint.x)
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, this.getMinOffset(), this.getMinOffset(), false);
|
|
if (originPoint.y < targetPoint.y)
|
|
return [originPoint.offset(-this.getMinOffset(), 0)];
|
|
return [];
|
|
}
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getBeginOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(-this.getScaleableOffsetX(originPoint, targetPoint, false), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getEndOnSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
return [originPoint.offset(-this.getScaleableOffsetX(originPoint, targetPoint, true), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getBeginOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
switch (targetSide) {
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false, true);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
if (this.isBeginEndOverlappedY())
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.Undefined:
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, false);
|
|
}
|
|
return [originPoint.offset(-this.getScaleableOffsetX(originPoint, targetPoint, false), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getEndOffSideOffsetPoints = function (targetSide, originPoint, targetPoint, originRect) {
|
|
if (targetSide === DiagramItem_1.ConnectionPointSide.Undefined)
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true);
|
|
else if (this.isBeginEndOverlappedY()) {
|
|
var direction = this.beginRect.center.y > this.endRect.center.y;
|
|
return this.getScaleableAsideOffsetPoints(originPoint, targetPoint, originRect, true, direction);
|
|
}
|
|
return [originPoint.offset(-this.getScaleableOffsetX(originPoint, targetPoint, true), 0)];
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getAsideOffsetPoints = function (originPoint, targetPoint, originRect, offset, asideOffset, direction) {
|
|
var points = [];
|
|
if (originRect !== undefined) {
|
|
if (direction === undefined)
|
|
direction = targetPoint.y < originPoint.y;
|
|
if (direction)
|
|
points.push(originPoint.offset(-offset, -(originPoint.y - originRect.top + asideOffset)));
|
|
else
|
|
points.push(originPoint.offset(-offset, (originRect.bottom - originPoint.y + asideOffset)));
|
|
}
|
|
points.push(originPoint.offset(-offset, 0));
|
|
return points;
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getScaleableAsideOffsetPoints = function (originPoint, targetPoint, originRect, isEnd, direction) {
|
|
var offset = this.getScaleableOffsetX(originPoint, targetPoint, isEnd);
|
|
var asideOffset = this.getScaleableOffsetY(originPoint, targetPoint, isEnd);
|
|
return this.getAsideOffsetPoints(originPoint, targetPoint, originRect, offset, asideOffset, direction);
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getScaleableOffsetX = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
var distance = isEnd ? originPoint.x - this.beginRect.right : originPoint.x - this.endRect.right;
|
|
if (distance > 0 && distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getScaleableOffsetY = function (originPoint, targetPoint, isEnd) {
|
|
if (this.beginRect && this.endRect) {
|
|
if (!isEnd && !this.isBeginEndOverlappedY()) {
|
|
var distance = void 0;
|
|
if (targetPoint.y < originPoint.y)
|
|
distance = this.beginRect.top - this.endRect.bottom;
|
|
else
|
|
distance = this.endRect.top - this.beginRect.bottom;
|
|
if (distance < this.getMinOffset() * 2)
|
|
return distance / 2;
|
|
}
|
|
}
|
|
return this.getMinOffset();
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.isOnSidePoint = function (originPoint, targetPoint) {
|
|
return targetPoint.x < originPoint.x;
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.isDirectConnectionAllowed = function (targetSide, originPoint, targetPoint) {
|
|
return targetSide === DiagramItem_1.ConnectionPointSide.East || targetSide === DiagramItem_1.ConnectionPointSide.Undefined;
|
|
};
|
|
ConnectorPointsOrthogonalWestSideCalculator.prototype.getDirectConnectionPoints = function (originPoint, targetPoint) {
|
|
var cx = targetPoint.x + (originPoint.x - targetPoint.x) / 2;
|
|
return [
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, originPoint.y),
|
|
new ConnectorRenderPoint_1.ConnectorRenderPoint(cx, targetPoint.y)
|
|
];
|
|
};
|
|
return ConnectorPointsOrthogonalWestSideCalculator;
|
|
}(ConnectorPointsOrthogonalSideCalculatorBase_1.ConnectorPointsOrthogonalSideCalculatorBase));
|
|
exports.ConnectorPointsOrthogonalWestSideCalculator = ConnectorPointsOrthogonalWestSideCalculator;
|
|
|
|
|
|
/***/ }),
|
|
/* 149 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorText = /** @class */ (function () {
|
|
function ConnectorText(position, value) {
|
|
this.position = position;
|
|
this.value = value;
|
|
}
|
|
return ConnectorText;
|
|
}());
|
|
exports.ConnectorText = ConnectorText;
|
|
var ConnectorTexts = /** @class */ (function () {
|
|
function ConnectorTexts() {
|
|
this.items = {};
|
|
}
|
|
ConnectorTexts.prototype.get = function (position) {
|
|
return this.items[position];
|
|
};
|
|
ConnectorTexts.prototype.set = function (position, text) {
|
|
this.items[position] = text;
|
|
};
|
|
ConnectorTexts.prototype.remove = function (position) {
|
|
delete this.items[position];
|
|
};
|
|
ConnectorTexts.prototype.map = function (callback) {
|
|
var list = [];
|
|
this.forEach(function (t) { return list.push(callback(t)); });
|
|
return list;
|
|
};
|
|
ConnectorTexts.prototype.forEach = function (callback) {
|
|
for (var key in this.items)
|
|
if (this.items.hasOwnProperty(key))
|
|
callback(this.items[key]);
|
|
};
|
|
ConnectorTexts.prototype.clone = function () {
|
|
var result = new ConnectorTexts();
|
|
this.forEach(function (t) { result.set(t.position, new ConnectorText(t.position, t.value)); });
|
|
return result;
|
|
};
|
|
ConnectorTexts.prototype.toObject = function () {
|
|
var result = {};
|
|
var modified = false;
|
|
this.forEach(function (t) {
|
|
result[t.position] = t.value;
|
|
modified = true;
|
|
});
|
|
return modified ? result : null;
|
|
};
|
|
ConnectorTexts.prototype.fromObject = function (obj) {
|
|
for (var key in obj) {
|
|
if (obj.hasOwnProperty(key)) {
|
|
var position = parseFloat(key);
|
|
if (!isNaN(position) && typeof obj[key] === "string") {
|
|
this.set(position, new ConnectorText(position, obj[key]));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
return ConnectorTexts;
|
|
}());
|
|
exports.ConnectorTexts = ConnectorTexts;
|
|
|
|
|
|
/***/ }),
|
|
/* 150 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ModelResizeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ModelResizeHistoryItem, _super);
|
|
function ModelResizeHistoryItem(offset) {
|
|
var _this = _super.call(this) || this;
|
|
_this.offset = offset;
|
|
return _this;
|
|
}
|
|
ModelResizeHistoryItem.prototype.redo = function (manipulator) {
|
|
this.oldSize = manipulator.model.size.clone();
|
|
this.backOffset = new Utils_1.Offset(-this.offset.left, -this.offset.top, -this.offset.right, -this.offset.bottom);
|
|
var newWidth = Math.max(this.oldSize.width + this.offset.left + this.offset.right, manipulator.model.pageWidth);
|
|
var newHeight = Math.max(this.oldSize.height + this.offset.top + this.offset.bottom, manipulator.model.pageHeight);
|
|
manipulator.changeModelSize(new Utils_1.Size(newWidth, newHeight), this.offset);
|
|
};
|
|
ModelResizeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.changeModelSize(this.oldSize, this.backOffset);
|
|
};
|
|
return ModelResizeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ModelResizeHistoryItem = ModelResizeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 151 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var UpdatePositionsOnPageResizeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(UpdatePositionsOnPageResizeHistoryItem, _super);
|
|
function UpdatePositionsOnPageResizeHistoryItem(offsetX, offsetY) {
|
|
var _this = _super.call(this) || this;
|
|
_this.offsetX = offsetX;
|
|
_this.offsetY = offsetY;
|
|
return _this;
|
|
}
|
|
UpdatePositionsOnPageResizeHistoryItem.prototype.redo = function (manipulator) {
|
|
var _this = this;
|
|
manipulator.model.iterateItems(function (item) {
|
|
if (item instanceof Shape_1.Shape)
|
|
manipulator.moveShape(item, item.position.offset(_this.offsetX, _this.offsetY));
|
|
if (item instanceof Connector_1.Connector)
|
|
item.points.forEach(function (p, index) { return manipulator.moveConnectorPoint(item, index, p.offset(_this.offsetX, _this.offsetY)); });
|
|
});
|
|
};
|
|
UpdatePositionsOnPageResizeHistoryItem.prototype.undo = function (manipulator) {
|
|
var _this = this;
|
|
manipulator.model.iterateItems(function (item) {
|
|
if (item instanceof Shape_1.Shape)
|
|
manipulator.moveShape(item, item.position.offset(-_this.offsetX, -_this.offsetY));
|
|
if (item instanceof Connector_1.Connector)
|
|
item.points.forEach(function (p, index) { return manipulator.moveConnectorPoint(item, index, p.offset(-_this.offsetX, -_this.offsetY)); });
|
|
});
|
|
};
|
|
return UpdatePositionsOnPageResizeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.UpdatePositionsOnPageResizeHistoryItem = UpdatePositionsOnPageResizeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 152 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var DeleteConnectorPointHistoryItem = /** @class */ (function (_super) {
|
|
__extends(DeleteConnectorPointHistoryItem, _super);
|
|
function DeleteConnectorPointHistoryItem(connectorKey, pointIndex) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connectorKey;
|
|
_this.pointIndex = pointIndex;
|
|
return _this;
|
|
}
|
|
DeleteConnectorPointHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.point = connector.points[this.pointIndex].clone();
|
|
manipulator.deleteConnectorPoint(connector, this.pointIndex);
|
|
};
|
|
DeleteConnectorPointHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.addConnectorPoint(connector, this.pointIndex, this.point);
|
|
};
|
|
return DeleteConnectorPointHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.DeleteConnectorPointHistoryItem = DeleteConnectorPointHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 153 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ResizeShapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ResizeShapeHistoryItem, _super);
|
|
function ResizeShapeHistoryItem(shapeKey, position, size) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = shapeKey;
|
|
_this.position = position;
|
|
_this.size = size;
|
|
return _this;
|
|
}
|
|
ResizeShapeHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
this.oldPosition = shape.position.clone();
|
|
this.oldSize = shape.size.clone();
|
|
manipulator.resizeShape(shape, this.position, this.size);
|
|
};
|
|
ResizeShapeHistoryItem.prototype.undo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.resizeShape(shape, this.oldPosition, this.oldSize);
|
|
};
|
|
return ResizeShapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ResizeShapeHistoryItem = ResizeShapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 154 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var DeleteConnectorHistoryItem = /** @class */ (function (_super) {
|
|
__extends(DeleteConnectorHistoryItem, _super);
|
|
function DeleteConnectorHistoryItem(connectorKey) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connectorKey;
|
|
return _this;
|
|
}
|
|
DeleteConnectorHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
this.connector = connector.clone();
|
|
manipulator.deleteConnector(connector);
|
|
};
|
|
DeleteConnectorHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.addConnector(this.connector, this.connector.key);
|
|
};
|
|
return DeleteConnectorHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.DeleteConnectorHistoryItem = DeleteConnectorHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 155 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ProcessShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ProcessShapeDescription, _super);
|
|
function ProcessShapeDescription() {
|
|
return _super.call(this, "Process", "Process") || this;
|
|
}
|
|
Object.defineProperty(ProcessShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Process; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return ProcessShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.ProcessShapeDescription = ProcessShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 156 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiamondShapeDescription_1 = __webpack_require__(92);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var DecisionShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DecisionShapeDescription, _super);
|
|
function DecisionShapeDescription() {
|
|
return _super.call(this, "Decision", "Decision", new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.75)) || this;
|
|
}
|
|
Object.defineProperty(DecisionShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Decision; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return DecisionShapeDescription;
|
|
}(DiamondShapeDescription_1.DiamondShapeDescription));
|
|
exports.DecisionShapeDescription = DecisionShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 157 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ManualInputShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ManualInputShapeDescription, _super);
|
|
function ManualInputShapeDescription() {
|
|
return _super.call(this, "Manual Input", "Manual Input") || this;
|
|
}
|
|
Object.defineProperty(ManualInputShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ManualInput; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ManualInputShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom, width = _a.width, height = _a.height;
|
|
var y1 = top + height * ManualInputShapeDescription.slopeHeightRatio;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ManualInputShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.North)
|
|
point.y += ManualInputShapeDescription.slopeHeightRatio / 2 * shape.size.height;
|
|
};
|
|
ManualInputShapeDescription.slopeHeightRatio = 0.1;
|
|
return ManualInputShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.ManualInputShapeDescription = ManualInputShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 158 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var DataShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DataShapeDescription, _super);
|
|
function DataShapeDescription() {
|
|
return _super.call(this, "Data", "Data") || this;
|
|
}
|
|
Object.defineProperty(DataShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Data; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DataShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom, width = _a.width, height = _a.height;
|
|
var px = Math.min(Math.max(0, height / Math.tan(DataShapeDescription.slopeAngle)), width);
|
|
var x1 = left + px;
|
|
var x2 = right - px;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
DataShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var offset = shape.size.height / Math.tan(DataShapeDescription.slopeAngle);
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.x -= offset / 2;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.x += offset / 2;
|
|
};
|
|
DataShapeDescription.slopeAngle = 81 * Math.PI / 180;
|
|
return DataShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.DataShapeDescription = DataShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 159 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var TerminatorShapeDescription = /** @class */ (function (_super) {
|
|
__extends(TerminatorShapeDescription, _super);
|
|
function TerminatorShapeDescription() {
|
|
return _super.call(this, "Terminator", "Terminator", new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.5)) || this;
|
|
}
|
|
Object.defineProperty(TerminatorShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Terminator; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
TerminatorShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var x1 = left + width * TerminatorShapeDescription.curveWidthRatio;
|
|
var x2 = left + width * (1 - TerminatorShapeDescription.curveWidthRatio);
|
|
var ratio = height / width;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, top),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right, top, right, cy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right, bottom, x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left, bottom, left, cy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left, top, x1, top),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
TerminatorShapeDescription.curveWidthRatio = 0.3;
|
|
return TerminatorShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.TerminatorShapeDescription = TerminatorShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 160 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
exports.PredefinedProcessEdgeParameterName = "e";
|
|
var PredefinedProcessShapeDescription = /** @class */ (function (_super) {
|
|
__extends(PredefinedProcessShapeDescription, _super);
|
|
function PredefinedProcessShapeDescription() {
|
|
return _super.call(this, "Predefined Process", "Predefined\nProcess") || this;
|
|
}
|
|
Object.defineProperty(PredefinedProcessShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.PredefinedProcess; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
PredefinedProcessShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var x1 = left + shape.parameters.get(exports.PredefinedProcessEdgeParameterName).value;
|
|
var x2 = right - shape.parameters.get(exports.PredefinedProcessEdgeParameterName).value;
|
|
var primitives = _super.prototype.createShapePrimitives.call(this, shape);
|
|
return primitives.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom)
|
|
], shape.style)
|
|
]);
|
|
};
|
|
PredefinedProcessShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.add(new ShapeParameters_1.ShapeParameter(exports.PredefinedProcessEdgeParameterName, this.defaultSize.width * 0.1));
|
|
};
|
|
PredefinedProcessShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, exports.PredefinedProcessEdgeParameterName, function (p) { return Math.max(PredefinedProcessShapeDescription.minEdge, Math.min(shape.size.width * 0.3, p.value)); });
|
|
};
|
|
PredefinedProcessShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, exports.PredefinedProcessEdgeParameterName, function (p) { return p.value + deltaX; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
PredefinedProcessShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + shape.parameters.get(exports.PredefinedProcessEdgeParameterName).value), shape.position.y))
|
|
];
|
|
};
|
|
PredefinedProcessShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var dx = parameters.get(exports.PredefinedProcessEdgeParameterName).value;
|
|
return rect.resize(-2 * dx, 0).offset(dx, 0);
|
|
};
|
|
PredefinedProcessShapeDescription.minEdge = 72;
|
|
return PredefinedProcessShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.PredefinedProcessShapeDescription = PredefinedProcessShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 161 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Shape_1 = __webpack_require__(11);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ArrowVerticalShapeDescription_1 = __webpack_require__(65);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ArrowNorthSouthShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowNorthSouthShapeDescription, _super);
|
|
function ArrowNorthSouthShapeDescription() {
|
|
return _super.call(this, "North-South Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowNorthSouthShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowNorthSouth; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowNorthSouthShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var p1dx = (width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2;
|
|
var p0dy = shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value;
|
|
var p1x1 = shape.normalizeX(left + p1dx);
|
|
var p0y1 = shape.normalizeY(top + p0dy);
|
|
var p1x2 = shape.normalizeX(right - p1dx);
|
|
var p0y2 = shape.normalizeY(bottom - p0dy);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, p0y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p0y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p0y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x1, p0y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x1, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowNorthSouthShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName, function (p) { return Math.max(0, Math.min(shape.size.height / 2 - 2 * Shape_1.Shape.lineWidth, p.value)); });
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.width, p.value)); });
|
|
};
|
|
ArrowNorthSouthShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName, function (p) { return p.value + deltaY; });
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName, function (p) { return p.value - deltaX * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowNorthSouthShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + (shape.size.width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2), shape.normalizeY(shape.position.y + shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value)))
|
|
];
|
|
};
|
|
return ArrowNorthSouthShapeDescription;
|
|
}(ArrowVerticalShapeDescription_1.ArrowVerticalShapeDescription));
|
|
exports.ArrowNorthSouthShapeDescription = ArrowNorthSouthShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 162 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ArrowHorizontalShapeDescription_1 = __webpack_require__(66);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ArrowRightShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowRightShapeDescription, _super);
|
|
function ArrowRightShapeDescription() {
|
|
return _super.call(this, "Right Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowRightShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowRight; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowRightShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var p0dx = width - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value;
|
|
var p1dy = (height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2;
|
|
var p0x1 = shape.normalizeX(left + p0dx);
|
|
var p1y1 = shape.normalizeY(top + p1dy);
|
|
var p1y2 = shape.normalizeY(bottom - p1dy);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowRightShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName, function (p) { return p.value - deltaX; });
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName, function (p) { return p.value - deltaY * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowRightShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + shape.size.width - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value), shape.normalizeY(shape.position.y + (shape.size.height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2)))
|
|
];
|
|
};
|
|
ArrowRightShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var triangleWidth = shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value;
|
|
if (point.x > shape.position.x + shape.size.width - triangleWidth) {
|
|
var tg = shape.size.height / 2 / triangleWidth;
|
|
var delta = (point.x - (shape.position.x + shape.size.width - triangleWidth)) * tg;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.North)
|
|
point.y += delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.South)
|
|
point.y -= delta;
|
|
}
|
|
else
|
|
_super.prototype.processConnectionPoint.call(this, shape, point);
|
|
};
|
|
return ArrowRightShapeDescription;
|
|
}(ArrowHorizontalShapeDescription_1.ArrowHorizontalShapeDescription));
|
|
exports.ArrowRightShapeDescription = ArrowRightShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 163 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ArrowVerticalShapeDescription_1 = __webpack_require__(65);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ArrowTopShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowTopShapeDescription, _super);
|
|
function ArrowTopShapeDescription() {
|
|
return _super.call(this, "Top Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowTopShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowTop; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowTopShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var p1dx = (width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2;
|
|
var p0dy = shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value;
|
|
var p1x1 = shape.normalizeX(left + p1dx);
|
|
var p0y1 = shape.normalizeY(top + p0dy);
|
|
var p1x2 = shape.normalizeX(right - p1dx);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x1, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowTopShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName, function (p) { return p.value + deltaY; });
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName, function (p) { return p.value - deltaX * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowTopShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + (shape.size.width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2), shape.normalizeY(shape.position.y + shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value)))
|
|
];
|
|
};
|
|
ArrowTopShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var triangleHeight = shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value;
|
|
if (point.y < shape.position.y + triangleHeight) {
|
|
var tg = shape.size.width / 2 / triangleHeight;
|
|
var delta = (shape.position.y + triangleHeight - point.y) * tg;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.x -= delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.x += delta;
|
|
}
|
|
else
|
|
_super.prototype.processConnectionPoint.call(this, shape, point);
|
|
};
|
|
return ArrowTopShapeDescription;
|
|
}(ArrowVerticalShapeDescription_1.ArrowVerticalShapeDescription));
|
|
exports.ArrowTopShapeDescription = ArrowTopShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 164 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
exports.CrossHorizontalWidthParameterName = "chw";
|
|
exports.CrossVerticalWidthParameterName = "cvw";
|
|
var CrossShapeDescription = /** @class */ (function (_super) {
|
|
__extends(CrossShapeDescription, _super);
|
|
function CrossShapeDescription() {
|
|
return _super.call(this, "Cross", "") || this;
|
|
}
|
|
Object.defineProperty(CrossShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Cross; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
CrossShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var p0dx = (width - shape.parameters.get(exports.CrossHorizontalWidthParameterName).value) / 2;
|
|
var p1dy = (height - shape.parameters.get(exports.CrossVerticalWidthParameterName).value) / 2;
|
|
var p0x1 = shape.normalizeX(left + p0dx);
|
|
var p1y1 = shape.normalizeY(top + p1dy);
|
|
var p0x2 = shape.normalizeX(right - p0dx);
|
|
var p1y2 = shape.normalizeY(bottom - p1dy);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
CrossShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.addRange([
|
|
new ShapeParameters_1.ShapeParameter(exports.CrossHorizontalWidthParameterName, this.defaultSize.width * 0.2),
|
|
new ShapeParameters_1.ShapeParameter(exports.CrossVerticalWidthParameterName, this.defaultSize.height * 0.2)
|
|
]);
|
|
};
|
|
CrossShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, exports.CrossHorizontalWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.width, p.value)); });
|
|
this.changeParameterValue(parameters, exports.CrossVerticalWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.height, p.value)); });
|
|
};
|
|
CrossShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, exports.CrossHorizontalWidthParameterName, function (p) { return p.value - deltaX * 2; });
|
|
this.changeParameterValue(parameters, exports.CrossVerticalWidthParameterName, function (p) { return p.value - deltaY * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
CrossShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + (shape.size.width - shape.parameters.get(exports.CrossHorizontalWidthParameterName).value) / 2), shape.normalizeY(shape.position.y + (shape.size.height - shape.parameters.get(exports.CrossVerticalWidthParameterName).value) / 2)))
|
|
];
|
|
};
|
|
return CrossShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.CrossShapeDescription = CrossShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 165 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var HeartShapeDescription = /** @class */ (function (_super) {
|
|
__extends(HeartShapeDescription, _super);
|
|
function HeartShapeDescription() {
|
|
return _super.call(this, "Heart", "") || this;
|
|
}
|
|
Object.defineProperty(HeartShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Heart; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
HeartShapeDescription.prototype.createConnectionPoints = function () {
|
|
return [
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 0.15, DiagramItem_1.ConnectionPointSide.North),
|
|
new ConnectionPoint_1.ConnectionPoint(1, 0.25, DiagramItem_1.ConnectionPointSide.East),
|
|
new ConnectionPoint_1.ConnectionPoint(0.5, 1, DiagramItem_1.ConnectionPointSide.South),
|
|
new ConnectionPoint_1.ConnectionPoint(0, 0.25, DiagramItem_1.ConnectionPointSide.West)
|
|
];
|
|
};
|
|
HeartShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(right - width * 0.25, top),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(right - width * 0.15, top, right, top + height * 0.1, right, top + height * 0.25),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(right, top + height * 0.3, right - width * 0.02, top + height * 0.35, right - width * 0.05, top + height * 0.4),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.center.x, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left + width * 0.05, top + height * 0.4),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(left + width * 0.02, top + height * 0.35, left, top + height * 0.3, left, top + height * 0.25),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(left, top + height * 0.1, left + width * 0.15, top, left + width * 0.25, top),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(left + width * 0.3, top, left + width * 0.45, top + height * 0.03, left + width * 0.5, top + height * 0.15),
|
|
new PathPrimitive_1.PathPrimitiveCubicCurveToCommand(right - width * 0.45, top + height * 0.03, right - width * 0.3, top, right - width * 0.25, top),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
return HeartShapeDescription;
|
|
}(ShapeDescription_1.ShapeDescription));
|
|
exports.HeartShapeDescription = HeartShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 166 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PolygonShapeDescription_1 = __webpack_require__(68);
|
|
var OctagonShapeDescription = /** @class */ (function (_super) {
|
|
__extends(OctagonShapeDescription, _super);
|
|
function OctagonShapeDescription() {
|
|
return _super.call(this, "Octagon", "") || this;
|
|
}
|
|
Object.defineProperty(OctagonShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Octagon; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(OctagonShapeDescription.prototype, "angleCount", {
|
|
get: function () { return 8; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
OctagonShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var angle = Math.PI - this.angle;
|
|
var sideX = width / (1 + 2 * Math.cos(angle));
|
|
var sideY = height / (1 + 2 * Math.cos(angle));
|
|
var x1 = left + (width - sideX) / 2;
|
|
var x2 = x1 + sideX;
|
|
var y1 = top + (height - sideY) / 2;
|
|
var y2 = y1 + sideY;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, y1),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
OctagonShapeDescription.prototype.calculateHeight = function (width) {
|
|
return width;
|
|
};
|
|
return OctagonShapeDescription;
|
|
}(PolygonShapeDescription_1.PolygonShapeDescription));
|
|
exports.OctagonShapeDescription = OctagonShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 167 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PentagonShapeDescription_1 = __webpack_require__(94);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
exports.StarConvexParameterName = "sc";
|
|
var StarShapeDescription = /** @class */ (function (_super) {
|
|
__extends(StarShapeDescription, _super);
|
|
function StarShapeDescription() {
|
|
return _super.call(this, "Star", "") || this;
|
|
}
|
|
Object.defineProperty(StarShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Star; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
StarShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
bottom = this.getActualBottom(top, bottom, width, height);
|
|
var cx = rect.center.x;
|
|
var cy = top + (bottom - top) / 2;
|
|
var ratio = height / width;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top + py;
|
|
var px = (height - py) / Math.tan(angle) / ratio;
|
|
var x1 = left + px;
|
|
var x2 = right - px;
|
|
var pDistance = shape.parameters.get(exports.StarConvexParameterName).value;
|
|
var distance = this.getInnerPointDistance(cx, cx, right, cy, top, y);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(this.getInnerPointPos(cx, cx, right, pDistance, distance), this.getInnerPointPos(cy, top, y, pDistance, distance)),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, y),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(this.getInnerPointPos(cx, right, x2, pDistance, distance), this.getInnerPointPos(cy, y, bottom, pDistance, distance)),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(this.getInnerPointPos(cx, x2, x1, pDistance, distance), this.getInnerPointPos(cy, bottom, bottom, pDistance, distance)),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(this.getInnerPointPos(cx, x1, left, pDistance, distance), this.getInnerPointPos(cy, bottom, y, pDistance, distance)),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, y),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(this.getInnerPointPos(cx, left, cx, pDistance, distance), this.getInnerPointPos(cy, y, top, pDistance, distance)),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
StarShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.addRange([
|
|
new ShapeParameters_1.ShapeParameter(exports.StarConvexParameterName, 300)
|
|
]);
|
|
};
|
|
StarShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
var rect = shape.rectangle;
|
|
var top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
bottom = this.getActualBottom(top, bottom, width, height);
|
|
var cx = rect.center.x;
|
|
var cy = top + (bottom - top) / 2;
|
|
var ratio = height / width;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top + py;
|
|
var distance = this.getInnerPointDistance(cx, cx, right, cy, top, y);
|
|
this.changeParameterValue(parameters, exports.StarConvexParameterName, function (p) { return Math.max(0, Math.min(distance, p.value)); });
|
|
};
|
|
StarShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
var distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));
|
|
if (deltaX < 0 || deltaY > 0)
|
|
distance = -distance;
|
|
this.changeParameterValue(parameters, exports.StarConvexParameterName, function (p) { return p.value + distance; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
StarShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
bottom = this.getActualBottom(top, bottom, width, height);
|
|
var cx = rect.center.x;
|
|
var cy = top + (bottom - top) / 2;
|
|
var ratio = height / width;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top + py;
|
|
var pDistance = shape.parameters.get(exports.StarConvexParameterName).value;
|
|
var distance = this.getInnerPointDistance(cx, cx, right, cy, top, y);
|
|
var innerPointX = this.getInnerPointPos(cx, cx, right, pDistance, distance);
|
|
var innerPointY = this.getInnerPointPos(cy, top, y, pDistance, distance);
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(innerPointX, innerPointY))
|
|
];
|
|
};
|
|
StarShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
_super.prototype.processConnectionPoint.call(this, shape, point);
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.South) {
|
|
var rect = shape.rectangle;
|
|
var top_1 = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
bottom = this.getActualBottom(top_1, bottom, width, height);
|
|
var cx = rect.center.x;
|
|
var cy = top_1 + (bottom - top_1) / 2;
|
|
var ratio = height / width;
|
|
var angle = Math.PI - this.angle;
|
|
var py = width / 2 * Math.tan(angle / 2) * ratio;
|
|
var y = top_1 + py;
|
|
var pDistance = shape.parameters.get(exports.StarConvexParameterName).value;
|
|
var distance = this.getInnerPointDistance(cx, cx, right, cy, top_1, y);
|
|
point.y = this.getInnerPointPos(cy, bottom, bottom, pDistance, distance);
|
|
}
|
|
};
|
|
StarShapeDescription.prototype.getInnerPointDistanceByAxis = function (center, edge1, edge2) {
|
|
var edgeX = Math.min(edge1, edge2) + Math.abs(edge1 - edge2) / 2;
|
|
return edgeX - center;
|
|
};
|
|
StarShapeDescription.prototype.getInnerPointPos = function (center, edge1, edge2, pDistance, distance) {
|
|
var ratio = Math.min(1, pDistance / distance);
|
|
return center + this.getInnerPointDistanceByAxis(center, edge1, edge2) * ratio;
|
|
};
|
|
StarShapeDescription.prototype.getInnerPointDistance = function (centerX, edgeX1, edgeX2, centerY, edgeY1, edgeY2) {
|
|
var disX = this.getInnerPointDistanceByAxis(centerX, edgeX1, edgeX2);
|
|
var disY = this.getInnerPointDistanceByAxis(centerY, edgeY1, edgeY2);
|
|
return Math.sqrt(Math.pow(disX, 2) + Math.pow(disY, 2));
|
|
};
|
|
StarShapeDescription.prototype.getActualBottom = function (top, bottom, width, height) {
|
|
var result = top + _super.prototype.calculateHeight.call(this, width) * height / width;
|
|
return result < bottom ? result : bottom;
|
|
};
|
|
StarShapeDescription.prototype.calculateHeight = function (width) {
|
|
return width;
|
|
};
|
|
return StarShapeDescription;
|
|
}(PentagonShapeDescription_1.PentagonShapeDescription));
|
|
exports.StarShapeDescription = StarShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 168 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ArrowVerticalShapeDescription_1 = __webpack_require__(65);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ArrowBottomShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowBottomShapeDescription, _super);
|
|
function ArrowBottomShapeDescription() {
|
|
return _super.call(this, "Bottom Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowBottomShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowBottom; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowBottomShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var p1dx = (width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2;
|
|
var p0dy = height - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value;
|
|
var p1x1 = shape.normalizeX(left + p1dx);
|
|
var p0y1 = shape.normalizeY(top + p0dy);
|
|
var p1x2 = shape.normalizeX(right - p1dx);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(p1x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x2, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p1x1, p0y1),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowBottomShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName, function (p) { return p.value - deltaY; });
|
|
this.changeParameterValue(parameters, ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName, function (p) { return p.value - deltaX * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowBottomShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + (shape.size.width - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalLineWidthParameterName).value) / 2), shape.normalizeY(shape.position.y + shape.size.height - shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value)))
|
|
];
|
|
};
|
|
ArrowBottomShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var triangleHeight = shape.parameters.get(ArrowVerticalShapeDescription_1.ArrowVerticalTriangleHeightParameterName).value;
|
|
if (point.y > shape.position.y + shape.size.height - triangleHeight) {
|
|
var tg = shape.size.width / 2 / triangleHeight;
|
|
var delta = (point.y - (shape.position.y + shape.size.height - triangleHeight)) * tg;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.x -= delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.x += delta;
|
|
}
|
|
else
|
|
_super.prototype.processConnectionPoint.call(this, shape, point);
|
|
};
|
|
return ArrowBottomShapeDescription;
|
|
}(ArrowVerticalShapeDescription_1.ArrowVerticalShapeDescription));
|
|
exports.ArrowBottomShapeDescription = ArrowBottomShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 169 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Shape_1 = __webpack_require__(11);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ArrowHorizontalShapeDescription_1 = __webpack_require__(66);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ArrowEastWestShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowEastWestShapeDescription, _super);
|
|
function ArrowEastWestShapeDescription() {
|
|
return _super.call(this, "East-West Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowEastWestShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowEastWest; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowEastWestShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var p0dx = shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value;
|
|
var p1dy = (height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2;
|
|
var p0x1 = shape.normalizeX(left + p0dx);
|
|
var p1y1 = shape.normalizeY(top + p1dy);
|
|
var p0x2 = shape.normalizeX(right - p0dx);
|
|
var p1y2 = shape.normalizeY(bottom - p1dy);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x2, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowEastWestShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName, function (p) { return Math.max(0, Math.min(shape.size.width / 2 - 2 * Shape_1.Shape.lineWidth, p.value)); });
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName, function (p) { return Math.max(0, Math.min(shape.size.height, p.value)); });
|
|
};
|
|
ArrowEastWestShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName, function (p) { return p.value + deltaX; });
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName, function (p) { return p.value - deltaY * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowEastWestShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value), shape.normalizeY(shape.position.y + (shape.size.height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2)))
|
|
];
|
|
};
|
|
return ArrowEastWestShapeDescription;
|
|
}(ArrowHorizontalShapeDescription_1.ArrowHorizontalShapeDescription));
|
|
exports.ArrowEastWestShapeDescription = ArrowEastWestShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 170 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var ArrowHorizontalShapeDescription_1 = __webpack_require__(66);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ArrowLeftShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ArrowLeftShapeDescription, _super);
|
|
function ArrowLeftShapeDescription() {
|
|
return _super.call(this, "Left Arrow") || this;
|
|
}
|
|
Object.defineProperty(ArrowLeftShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ArrowLeft; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ArrowLeftShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var p0dx = shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value;
|
|
var p1dy = (height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2;
|
|
var p0x1 = shape.normalizeX(left + p0dx);
|
|
var p1y1 = shape.normalizeY(top + p1dy);
|
|
var p1y2 = shape.normalizeY(bottom - p1dy);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p1y1),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, p1y2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(p0x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ArrowLeftShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName, function (p) { return p.value + deltaX; });
|
|
this.changeParameterValue(parameters, ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName, function (p) { return p.value - deltaY * 2; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
ArrowLeftShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value), shape.normalizeY(shape.position.y + (shape.size.height - shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalLineHeightParameterName).value) / 2)))
|
|
];
|
|
};
|
|
ArrowLeftShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var triangleWidth = shape.parameters.get(ArrowHorizontalShapeDescription_1.ArrowVerticalTriangleWidthParameterName).value;
|
|
if (point.x < shape.position.x + triangleWidth) {
|
|
var tg = shape.size.height / 2 / triangleWidth;
|
|
var delta = (shape.position.x + triangleWidth - point.x) * tg;
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.North)
|
|
point.y += delta;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.South)
|
|
point.y -= delta;
|
|
}
|
|
else
|
|
_super.prototype.processConnectionPoint.call(this, shape, point);
|
|
};
|
|
return ArrowLeftShapeDescription;
|
|
}(ArrowHorizontalShapeDescription_1.ArrowHorizontalShapeDescription));
|
|
exports.ArrowLeftShapeDescription = ArrowLeftShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 171 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DocumentShapeDescription_1 = __webpack_require__(97);
|
|
var ClipPathPrimitive_1 = __webpack_require__(41);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var MultipleDocumentsShapeDescription = /** @class */ (function (_super) {
|
|
__extends(MultipleDocumentsShapeDescription, _super);
|
|
function MultipleDocumentsShapeDescription() {
|
|
return _super.call(this, "Multiple Documents", "Multiple\nDocuments") || this;
|
|
}
|
|
Object.defineProperty(MultipleDocumentsShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.MultipleDocuments; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
MultipleDocumentsShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom, width = _a.width, height = _a.height;
|
|
var documentOffsetX = width * MultipleDocumentsShapeDescription.documentsOffsetRatio;
|
|
var documentOffsetY = height * MultipleDocumentsShapeDescription.documentsOffsetRatio;
|
|
rect = rect.inflate(-documentOffsetX, -documentOffsetY).offset(-documentOffsetX, -documentOffsetY);
|
|
var rect1 = rect.offset(documentOffsetX, documentOffsetY);
|
|
var rect2 = rect.offset(2 * documentOffsetX, 2 * documentOffsetY);
|
|
var clipPathId = Utils_1.RenderUtils.generateSvgElementId("clipRect");
|
|
var primitives = [];
|
|
return primitives
|
|
.concat(this.createDocumentPrimitives(rect, shape.style, clipPathId + "1", rect1))
|
|
.concat(this.createDocumentPrimitives(rect1, shape.style, clipPathId + "2", rect2))
|
|
.concat(this.createDocumentPrimitives(rect2, shape.style));
|
|
};
|
|
MultipleDocumentsShapeDescription.prototype.createDocumentPrimitives = function (rect, style, clipPathId, clipRect) {
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var dy = height * DocumentShapeDescription_1.DocumentShapeDescription.curveOffsetRatio;
|
|
var primitives = [];
|
|
primitives = primitives.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right - width * 0.25, bottom - 2 * dy, cx, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left + width * 0.25, bottom + dy, left, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], style, undefined, clipRect && clipPathId)
|
|
]);
|
|
if (clipRect && clipPathId) {
|
|
primitives = primitives.concat([
|
|
new ClipPathPrimitive_1.ClipPathPrimitive(clipPathId, [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left - Shape_1.Shape.lineWidth, top - Shape_1.Shape.lineWidth),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right + Shape_1.Shape.lineWidth, top - Shape_1.Shape.lineWidth),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right + Shape_1.Shape.lineWidth, clipRect.top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(clipRect.left, clipRect.top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(clipRect.left, bottom + Shape_1.Shape.lineWidth),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left - Shape_1.Shape.lineWidth, bottom + Shape_1.Shape.lineWidth),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
])
|
|
])
|
|
]);
|
|
}
|
|
return primitives;
|
|
};
|
|
MultipleDocumentsShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var documentOffsetX = rect.width * MultipleDocumentsShapeDescription.documentsOffsetRatio;
|
|
var documentOffsetY = rect.height * MultipleDocumentsShapeDescription.documentsOffsetRatio;
|
|
rect = rect.inflate(-documentOffsetX, -documentOffsetY).offset(-documentOffsetX, -documentOffsetY);
|
|
var innerRect = rect.offset(2 * documentOffsetX, 2 * documentOffsetY);
|
|
return innerRect.resize(0, -rect.height * DocumentShapeDescription_1.DocumentShapeDescription.curveOffsetRatio);
|
|
};
|
|
MultipleDocumentsShapeDescription.documentsOffsetRatio = 0.1;
|
|
return MultipleDocumentsShapeDescription;
|
|
}(DocumentShapeDescription_1.DocumentShapeDescription));
|
|
exports.MultipleDocumentsShapeDescription = MultipleDocumentsShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 172 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var HexagonShapeDescription_1 = __webpack_require__(95);
|
|
var PreparationShapeDescription = /** @class */ (function (_super) {
|
|
__extends(PreparationShapeDescription, _super);
|
|
function PreparationShapeDescription() {
|
|
var _this = _super.call(this, "Preparation", "Preparation") || this;
|
|
_this.defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension * 0.75);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(PreparationShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Preparation; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return PreparationShapeDescription;
|
|
}(HexagonShapeDescription_1.HexagonShapeDescription));
|
|
exports.PreparationShapeDescription = PreparationShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 173 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var EllipsePrimitive_1 = __webpack_require__(42);
|
|
var HardDiskShapeDescription = /** @class */ (function (_super) {
|
|
__extends(HardDiskShapeDescription, _super);
|
|
function HardDiskShapeDescription() {
|
|
return _super.call(this, "Hard Disk", "Hard Disk") || this;
|
|
}
|
|
Object.defineProperty(HardDiskShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.HardDisk; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
HardDiskShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var dx = width * HardDiskShapeDescription.arcWidthRatio;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(right - dx / 2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left + dx / 2, top),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand(dx / 2, (bottom - top) / 2, 0, false, false, left + dx / 2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right - dx / 2, bottom),
|
|
], shape.style),
|
|
new EllipsePrimitive_1.EllipsePrimitive(right - dx / 2, cy, dx / 2, (bottom - top) / 2, shape.style)
|
|
];
|
|
};
|
|
HardDiskShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var dx = rect.width * HardDiskShapeDescription.arcWidthRatio;
|
|
return rect.resize(-dx, 0);
|
|
};
|
|
HardDiskShapeDescription.arcWidthRatio = 0.2;
|
|
return HardDiskShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.HardDiskShapeDescription = HardDiskShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 174 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var EllipsePrimitive_1 = __webpack_require__(42);
|
|
var DatabaseShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DatabaseShapeDescription, _super);
|
|
function DatabaseShapeDescription() {
|
|
var _this = _super.call(this, "Database", "Database") || this;
|
|
_this.defaultSize.width = _this.defaultSize.height;
|
|
return _this;
|
|
}
|
|
Object.defineProperty(DatabaseShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Database; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DatabaseShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var dy = height * DatabaseShapeDescription.arcWidthRatio;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(right, top + dy / 2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom - dy / 2),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand((right - left) / 2, dy / 2, 0, false, true, left, bottom - dy / 2),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, top + dy / 2),
|
|
], shape.style),
|
|
new EllipsePrimitive_1.EllipsePrimitive(cx, top + dy / 2, (right - left) / 2, dy / 2, shape.style)
|
|
];
|
|
};
|
|
DatabaseShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var dy = rect.height * DatabaseShapeDescription.arcWidthRatio;
|
|
return rect.resize(0, -dy).offset(0, dy);
|
|
};
|
|
DatabaseShapeDescription.arcWidthRatio = 0.2;
|
|
return DatabaseShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.DatabaseShapeDescription = DatabaseShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 175 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ShapeParameters_1 = __webpack_require__(29);
|
|
var ShapeParameterPoint_1 = __webpack_require__(21);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
exports.InternalStorageHorizontalEdgeParameterName = "he";
|
|
exports.InternalStorageVerticalEdgeParameterName = "ve";
|
|
var InternalStorageShapeDescription = /** @class */ (function (_super) {
|
|
__extends(InternalStorageShapeDescription, _super);
|
|
function InternalStorageShapeDescription() {
|
|
return _super.call(this, "Internal Storage", "Internal\nStorage") || this;
|
|
}
|
|
Object.defineProperty(InternalStorageShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.InternalStorage; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
InternalStorageShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var x = left + shape.parameters.get(exports.InternalStorageHorizontalEdgeParameterName).value;
|
|
var y = top + shape.parameters.get(exports.InternalStorageVerticalEdgeParameterName).value;
|
|
var primitives = _super.prototype.createShapePrimitives.call(this, shape);
|
|
return primitives.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(x, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x, bottom),
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, y),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, y)
|
|
], shape.style)
|
|
]);
|
|
};
|
|
InternalStorageShapeDescription.prototype.createParameters = function (parameters) {
|
|
parameters.addRange([
|
|
new ShapeParameters_1.ShapeParameter(exports.InternalStorageHorizontalEdgeParameterName, this.defaultSize.width * 0.1),
|
|
new ShapeParameters_1.ShapeParameter(exports.InternalStorageVerticalEdgeParameterName, this.defaultSize.width * 0.1)
|
|
]);
|
|
};
|
|
InternalStorageShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
this.changeParameterValue(parameters, exports.InternalStorageHorizontalEdgeParameterName, function (p) { return Math.max(InternalStorageShapeDescription.minEdge, Math.min(shape.size.width * 0.3, p.value)); });
|
|
this.changeParameterValue(parameters, exports.InternalStorageVerticalEdgeParameterName, function (p) { return Math.max(InternalStorageShapeDescription.minEdge, Math.min(shape.size.height * 0.3, p.value)); });
|
|
};
|
|
InternalStorageShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
this.changeParameterValue(parameters, exports.InternalStorageHorizontalEdgeParameterName, function (p) { return p.value + deltaX; });
|
|
this.changeParameterValue(parameters, exports.InternalStorageVerticalEdgeParameterName, function (p) { return p.value + deltaY; });
|
|
this.normalizeParameters(shape, parameters);
|
|
};
|
|
InternalStorageShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
return [
|
|
new ShapeParameterPoint_1.ShapeParameterPoint("c", new Utils_1.Point(shape.normalizeX(shape.position.x + shape.parameters.get(exports.InternalStorageHorizontalEdgeParameterName).value), shape.normalizeY(shape.position.y + shape.parameters.get(exports.InternalStorageVerticalEdgeParameterName).value)))
|
|
];
|
|
};
|
|
InternalStorageShapeDescription.minEdge = 72;
|
|
return InternalStorageShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.InternalStorageShapeDescription = InternalStorageShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 176 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var PaperTapeShapeDescription = /** @class */ (function (_super) {
|
|
__extends(PaperTapeShapeDescription, _super);
|
|
function PaperTapeShapeDescription(title, defaultText) {
|
|
if (title === void 0) { title = "Paper Tape"; }
|
|
if (defaultText === void 0) { defaultText = "Paper Tape"; }
|
|
return _super.call(this, title, defaultText) || this;
|
|
}
|
|
Object.defineProperty(PaperTapeShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.PaperTape; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
PaperTapeShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
return this.createDocumentPrimitives(shape.rectangle, shape.style);
|
|
};
|
|
PaperTapeShapeDescription.prototype.createDocumentPrimitives = function (rect, style) {
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cx = rect.center.x;
|
|
var dy = height * PaperTapeShapeDescription.curveOffsetRatio;
|
|
var primitives = [];
|
|
return primitives.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left + width * 0.25, top + 2 * dy, cx, top + dy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right - width * 0.25, top - dy, right, top + dy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(right - width * 0.25, bottom - 2 * dy, cx, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveQuadraticCurveToCommand(left + width * 0.25, bottom + dy, left, bottom - dy),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], style)
|
|
]);
|
|
};
|
|
PaperTapeShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.North)
|
|
point.y += shape.size.height * PaperTapeShapeDescription.curveOffsetRatio;
|
|
if (side === DiagramItem_1.ConnectionPointSide.South)
|
|
point.y -= shape.size.height * PaperTapeShapeDescription.curveOffsetRatio;
|
|
};
|
|
PaperTapeShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
return rect.inflate(0, -rect.height * PaperTapeShapeDescription.curveOffsetRatio);
|
|
};
|
|
PaperTapeShapeDescription.curveOffsetRatio = 0.1;
|
|
return PaperTapeShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.PaperTapeShapeDescription = PaperTapeShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 177 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ManualOperationShapeDescription = /** @class */ (function (_super) {
|
|
__extends(ManualOperationShapeDescription, _super);
|
|
function ManualOperationShapeDescription() {
|
|
return _super.call(this, "Manual Operation", "Manual\nOperation") || this;
|
|
}
|
|
Object.defineProperty(ManualOperationShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.ManualOperation; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ManualOperationShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var _a = shape.rectangle, left = _a.left, top = _a.top, right = _a.right, bottom = _a.bottom, width = _a.width, height = _a.height;
|
|
var px = Math.min(Math.max(0, height / Math.tan(ManualOperationShapeDescription.slopeAngle)), width);
|
|
var cx = rect.center.x;
|
|
var x1 = Math.min(left + px, cx);
|
|
var x2 = Math.max(right - px, cx);
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(x1, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
ManualOperationShapeDescription.prototype.processConnectionPoint = function (shape, point) {
|
|
var offset = shape.size.height / Math.tan(ManualOperationShapeDescription.slopeAngle);
|
|
var side = shape.getConnectionPointSide(point);
|
|
if (side === DiagramItem_1.ConnectionPointSide.East)
|
|
point.x -= offset / 2;
|
|
else if (side === DiagramItem_1.ConnectionPointSide.West)
|
|
point.x += offset / 2;
|
|
};
|
|
ManualOperationShapeDescription.slopeAngle = 81 * Math.PI / 180;
|
|
return ManualOperationShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.ManualOperationShapeDescription = ManualOperationShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 178 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DelayShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DelayShapeDescription, _super);
|
|
function DelayShapeDescription() {
|
|
var _this = _super.call(this, "Delay", "Delay") || this;
|
|
_this.defaultSize.width = _this.defaultSize.height;
|
|
return _this;
|
|
}
|
|
Object.defineProperty(DelayShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Delay; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DelayShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom;
|
|
var cx = rect.center.x;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand((right - left) / 2, (bottom - top) / 2, 0, false, true, cx, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
DelayShapeDescription.arcWidthRatio = 0.2;
|
|
return DelayShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.DelayShapeDescription = DelayShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 179 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var StoredDataShapeDescription = /** @class */ (function (_super) {
|
|
__extends(StoredDataShapeDescription, _super);
|
|
function StoredDataShapeDescription() {
|
|
return _super.call(this, "Stored Data", "Stored Data") || this;
|
|
}
|
|
Object.defineProperty(StoredDataShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.StoredData; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
StoredDataShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var dx = width * StoredDataShapeDescription.arcWidthRatio;
|
|
var primitives = [];
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left + dx / 2, top),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand(dx / 2, (bottom - top) / 2, 0, false, false, left + dx / 2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, bottom),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand(dx / 2, (bottom - top) / 2, 0, false, true, right, top)
|
|
], shape.style)
|
|
];
|
|
};
|
|
StoredDataShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var dx = rect.width * StoredDataShapeDescription.arcWidthRatio;
|
|
return rect.resize(-dx, 0);
|
|
};
|
|
StoredDataShapeDescription.arcWidthRatio = 0.2;
|
|
return StoredDataShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.StoredDataShapeDescription = StoredDataShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 180 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var TriangleShapeDescription_1 = __webpack_require__(96);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var MergeShapeDescription = /** @class */ (function (_super) {
|
|
__extends(MergeShapeDescription, _super);
|
|
function MergeShapeDescription() {
|
|
return _super.call(this, "Merge", "Merge") || this;
|
|
}
|
|
Object.defineProperty(MergeShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Merge; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
MergeShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(rect.center.x, bottom),
|
|
new PathPrimitive_1.PathPrimitiveClosePathCommand()
|
|
], shape.style)
|
|
];
|
|
};
|
|
MergeShapeDescription.prototype.calculateHeight = function (width) {
|
|
return width * 0.75;
|
|
};
|
|
MergeShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
return rect.resize(0, -rect.width * 0.25);
|
|
};
|
|
return MergeShapeDescription;
|
|
}(TriangleShapeDescription_1.TriangleShapeDescription));
|
|
exports.MergeShapeDescription = MergeShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 181 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RectangleShapeDescription_1 = __webpack_require__(14);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var DisplayShapeDescription = /** @class */ (function (_super) {
|
|
__extends(DisplayShapeDescription, _super);
|
|
function DisplayShapeDescription() {
|
|
return _super.call(this, "Display", "Display") || this;
|
|
}
|
|
Object.defineProperty(DisplayShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Display; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
DisplayShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var cy = rect.center.y;
|
|
var dx = width * DisplayShapeDescription.arcWidthRatio;
|
|
return [
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(right - dx / 2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left + dx / 2, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(left + dx / 2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right - dx / 2, bottom),
|
|
new PathPrimitive_1.PathPrimitiveArcToCommand(dx / 2, (bottom - top) / 2, 0, false, false, right - dx / 2, top)
|
|
], shape.style),
|
|
];
|
|
};
|
|
DisplayShapeDescription.arcWidthRatio = 0.2;
|
|
return DisplayShapeDescription;
|
|
}(RectangleShapeDescription_1.RectangleShapeDescription));
|
|
exports.DisplayShapeDescription = DisplayShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 182 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var EllipseShapeDescription_1 = __webpack_require__(67);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var OrShapeDescription = /** @class */ (function (_super) {
|
|
__extends(OrShapeDescription, _super);
|
|
function OrShapeDescription() {
|
|
var _this = _super.call(this, "Or", "") || this;
|
|
_this.defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 0.5, ShapeDescription_1.ShapeDefaultDimension * 0.5);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(OrShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.Or; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(OrShapeDescription.prototype, "enableText", {
|
|
get: function () { return false; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
OrShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom;
|
|
var _a = rect.center, cx = _a.x, cy = _a.y;
|
|
var primitives = [];
|
|
return primitives
|
|
.concat(_super.prototype.createShapePrimitives.call(this, shape))
|
|
.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx, top),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx, bottom),
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(left, cy),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(right, cy)
|
|
], shape.style)
|
|
]);
|
|
};
|
|
return OrShapeDescription;
|
|
}(EllipseShapeDescription_1.EllipseShapeDescription));
|
|
exports.OrShapeDescription = OrShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 183 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var EllipseShapeDescription_1 = __webpack_require__(67);
|
|
var PathPrimitive_1 = __webpack_require__(2);
|
|
var SummingJunctionShapeDescription = /** @class */ (function (_super) {
|
|
__extends(SummingJunctionShapeDescription, _super);
|
|
function SummingJunctionShapeDescription() {
|
|
var _this = _super.call(this, "Summing Junction", "") || this;
|
|
_this.defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 0.5, ShapeDescription_1.ShapeDefaultDimension * 0.5);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(SummingJunctionShapeDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.SummingJunction; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(SummingJunctionShapeDescription.prototype, "enableText", {
|
|
get: function () { return false; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
SummingJunctionShapeDescription.prototype.createShapePrimitives = function (shape) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, right = rect.right, bottom = rect.bottom, width = rect.width, height = rect.height;
|
|
var _a = rect.center, cx = _a.x, cy = _a.y;
|
|
var rx = width / 2;
|
|
var ry = height / 2;
|
|
var angle = Math.atan(ry / rx);
|
|
var ex = 1 / Math.sqrt(1 / Math.pow(rx, 2) + Math.pow(Math.tan(angle), 2) / Math.pow(ry, 2));
|
|
var ey = ex * Math.tan(angle);
|
|
var primitives = [];
|
|
return primitives
|
|
.concat(_super.prototype.createShapePrimitives.call(this, shape))
|
|
.concat([
|
|
new PathPrimitive_1.PathPrimitive([
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx - ex, cy - ey),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx + ex, cy + ey),
|
|
new PathPrimitive_1.PathPrimitiveMoveToCommand(cx - ex, cy + ey),
|
|
new PathPrimitive_1.PathPrimitiveLineToCommand(cx + ex, cy - ey)
|
|
], shape.style)
|
|
]);
|
|
};
|
|
return SummingJunctionShapeDescription;
|
|
}(EllipseShapeDescription_1.EllipseShapeDescription));
|
|
exports.SummingJunctionShapeDescription = SummingJunctionShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 184 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ImagePrimitive_1 = __webpack_require__(98);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ConnectionPoint_1 = __webpack_require__(34);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var ShapeWithImageDescription_1 = __webpack_require__(45);
|
|
var ImageInfo_1 = __webpack_require__(40);
|
|
var ImageCache_1 = __webpack_require__(49);
|
|
var ImageLoader_1 = __webpack_require__(100);
|
|
var CustomShapeDescription = /** @class */ (function (_super) {
|
|
__extends(CustomShapeDescription, _super);
|
|
function CustomShapeDescription(properties, baseDescription) {
|
|
var _this = _super.call(this, properties.title || baseDescription && baseDescription.title, properties.defaultText || baseDescription && baseDescription.defaultText, new Utils_1.Size(properties.defaultWidth || baseDescription && baseDescription.defaultSize.width || 1440, properties.defaultHeight || baseDescription && baseDescription.defaultSize.height || 1440), properties.defaultImageUrl || baseDescription && baseDescription.defaultImageUrl) || this;
|
|
_this.properties = properties;
|
|
_this.baseDescription = baseDescription;
|
|
_this.imageLoader = new ImageLoader_1.ImageLoader(_this.updateSvgImage.bind(_this));
|
|
_this.connectionPoints = _this.createConnectionPoints();
|
|
_this.svgImage = new ImageInfo_1.ImageInfo(properties.svgUrl);
|
|
var cachedImage = ImageCache_1.ImageCache.instance.createUnloadedInfoByShapeImageInfo(_this.svgImage);
|
|
_this.imageLoader.load(cachedImage);
|
|
return _this;
|
|
}
|
|
Object.defineProperty(CustomShapeDescription.prototype, "key", {
|
|
get: function () { return this.properties.type; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(CustomShapeDescription.prototype, "allowEditText", {
|
|
get: function () { return !!this.properties.allowEditText; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(CustomShapeDescription.prototype, "allowEditImage", {
|
|
get: function () { return !!this.properties.allowEditImage; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
CustomShapeDescription.prototype.createConnectionPoints = function () {
|
|
if (this.properties && this.properties.connectionPoints && this.properties.connectionPoints.length)
|
|
return this.properties.connectionPoints.map(function (ptObj) {
|
|
if (ptObj && typeof ptObj["x"] === "number" && typeof ptObj["y"] === "number") {
|
|
var side = typeof ptObj["side"] === "number" ? ptObj["side"] : DiagramItem_1.ConnectionPointSide.Undefined;
|
|
return new ConnectionPoint_1.ConnectionPoint(ptObj["x"], ptObj["y"], side);
|
|
}
|
|
}).filter(function (pt) { return pt; });
|
|
return _super.prototype.createConnectionPoints.call(this);
|
|
};
|
|
CustomShapeDescription.prototype.createImagePrimitives = function (shape, forToolbox) {
|
|
if (this.baseDescription)
|
|
return this.baseDescription.createImagePrimitives(shape, forToolbox);
|
|
return _super.prototype.createImagePrimitives.call(this, shape, forToolbox);
|
|
};
|
|
CustomShapeDescription.prototype.createShapePrimitives = function (shape, forToolbox) {
|
|
if (this.baseDescription)
|
|
return this.baseDescription.createShapePrimitives(shape, forToolbox);
|
|
else {
|
|
var _a = shape.rectangle, left = _a.left, top_1 = _a.top, width = _a.width, height = _a.height;
|
|
return [
|
|
new ImagePrimitive_1.ImagePrimitive(left + (this.properties.svgLeft && !forToolbox ? this.properties.svgLeft * width : 0), top_1 + (this.properties.svgTop && !forToolbox ? this.properties.svgTop * height : 0), this.properties.svgWidth && !forToolbox ? this.properties.svgWidth * width : width, this.properties.svgHeight && !forToolbox ? this.properties.svgHeight * height : height, this.svgImage.exportUrl)
|
|
];
|
|
}
|
|
};
|
|
CustomShapeDescription.prototype.createParameters = function (parameters) {
|
|
if (this.baseDescription)
|
|
return this.baseDescription.createParameters(parameters);
|
|
else
|
|
return _super.prototype.createParameters.call(this, parameters);
|
|
};
|
|
CustomShapeDescription.prototype.normalizeParameters = function (shape, parameters) {
|
|
if (this.baseDescription)
|
|
this.baseDescription.normalizeParameters(shape, parameters);
|
|
else
|
|
_super.prototype.normalizeParameters.call(this, shape, parameters);
|
|
};
|
|
CustomShapeDescription.prototype.modifyParameters = function (shape, parameters, deltaX, deltaY) {
|
|
if (this.baseDescription)
|
|
this.baseDescription.modifyParameters(shape, parameters, deltaX, deltaY);
|
|
else
|
|
_super.prototype.modifyParameters.call(this, shape, parameters, deltaX, deltaY);
|
|
};
|
|
CustomShapeDescription.prototype.getParameterPoints = function (shape) {
|
|
if (this.baseDescription)
|
|
return this.baseDescription.getParameterPoints(shape);
|
|
else
|
|
return _super.prototype.getParameterPoints.call(this, shape);
|
|
};
|
|
CustomShapeDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var left = rect.left, top = rect.top, width = rect.width, height = rect.height;
|
|
return Utils_1.Rectangle.create(left + (this.properties.textLeft ? this.properties.textLeft * width : 0), top + (this.properties.textTop ? this.properties.textTop * height : 0), this.properties.textWidth ? this.properties.textWidth * width : width, this.properties.textHeight ? this.properties.textHeight * height : height);
|
|
};
|
|
CustomShapeDescription.prototype.getRawImageSize = function (rect) {
|
|
var left = rect.left, top = rect.top, width = rect.width, height = rect.height;
|
|
return new Utils_1.Size(this.properties.imageWidth ? this.properties.imageWidth * width : width, this.properties.imageHeight ? this.properties.imageHeight * height : height);
|
|
};
|
|
CustomShapeDescription.prototype.getImagePlacementRectangle = function (rect, forToolbox) {
|
|
var left = rect.left, top = rect.top, width = rect.width, height = rect.height;
|
|
return Utils_1.Rectangle.create(left + (this.properties.imageLeft && !forToolbox ? this.properties.imageLeft * width : 0), top + (this.properties.imageTop && !forToolbox ? this.properties.imageTop * height : 0), this.properties.imageWidth && !forToolbox ? this.properties.imageWidth * width : 0, this.properties.imageHeight && !forToolbox ? this.properties.imageHeight * height : 0);
|
|
};
|
|
CustomShapeDescription.prototype.updateSvgImage = function (cacheImageInfo) {
|
|
if (cacheImageInfo.base64)
|
|
this.svgImage.loadBase64Content(cacheImageInfo.base64);
|
|
else
|
|
this.svgImage.setUnableToLoadFlag();
|
|
};
|
|
return CustomShapeDescription;
|
|
}(ShapeWithImageDescription_1.ShapeWithImageDescription));
|
|
exports.CustomShapeDescription = CustomShapeDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 185 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ContainerDescription_1 = __webpack_require__(101);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var VerticalContainerDescription = /** @class */ (function (_super) {
|
|
__extends(VerticalContainerDescription, _super);
|
|
function VerticalContainerDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Vertical Container"; }
|
|
if (defaultText === void 0) { defaultText = "Container"; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 2, ShapeDescription_1.ShapeDefaultDimension * 1.5); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(VerticalContainerDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.VerticalContainer; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
VerticalContainerDescription.prototype.getExpandedSize = function (size, expandedSize) {
|
|
return new Utils_1.Size(size.width, expandedSize.height);
|
|
};
|
|
VerticalContainerDescription.prototype.getCollapsedSize = function (size) {
|
|
return new Utils_1.Size(size.width, ContainerDescription_1.ContainerDescription.headerSize);
|
|
};
|
|
VerticalContainerDescription.prototype.allowResizeVertically = function (shape) {
|
|
return shape.expanded;
|
|
};
|
|
VerticalContainerDescription.prototype.createHeaderPrimitives = function (shape, forToolbox) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, width = rect.width;
|
|
var headerSize = this.getHeaderSize(rect, forToolbox);
|
|
var primitives = [];
|
|
primitives = primitives.concat([
|
|
new RectaglePrimitive_1.RectanglePrimitive(left, top, width, headerSize, shape.style)
|
|
]);
|
|
if (!forToolbox) {
|
|
primitives = primitives.concat(this.createExpandButtonPrimitives(shape, Utils_1.Rectangle.create(left, top, headerSize, headerSize)));
|
|
}
|
|
return primitives;
|
|
};
|
|
VerticalContainerDescription.prototype.getClientRectangle = function (rect) {
|
|
var headerSize = this.getHeaderSize(rect);
|
|
return new Utils_1.Rectangle(new Utils_1.Point(rect.left, rect.top + headerSize), new Utils_1.Size(rect.width, rect.height - headerSize));
|
|
};
|
|
VerticalContainerDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var headerSize = this.getHeaderSize(rect);
|
|
return new Utils_1.Rectangle(new Utils_1.Point(rect.left + headerSize, rect.top), new Utils_1.Size(rect.width - headerSize, headerSize));
|
|
};
|
|
VerticalContainerDescription.prototype.getHeaderSize = function (rect, forToolbox) {
|
|
return forToolbox ? rect.height * ContainerDescription_1.ContainerDescription.headerToolboxSizeRatio : ContainerDescription_1.ContainerDescription.headerSize;
|
|
};
|
|
return VerticalContainerDescription;
|
|
}(ContainerDescription_1.ContainerDescription));
|
|
exports.VerticalContainerDescription = VerticalContainerDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 186 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ContainerDescription_1 = __webpack_require__(101);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var HorizontalContainerDescription = /** @class */ (function (_super) {
|
|
__extends(HorizontalContainerDescription, _super);
|
|
function HorizontalContainerDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Horizontal Container"; }
|
|
if (defaultText === void 0) { defaultText = "Container"; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(ShapeDescription_1.ShapeDefaultDimension * 2, ShapeDescription_1.ShapeDefaultDimension * 1.5); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(HorizontalContainerDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.HorizontalContainer; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
HorizontalContainerDescription.prototype.getExpandedSize = function (size, expandedSize) {
|
|
return new Utils_1.Size(expandedSize.width, size.height);
|
|
};
|
|
HorizontalContainerDescription.prototype.getCollapsedSize = function (size) {
|
|
return new Utils_1.Size(ContainerDescription_1.ContainerDescription.headerSize, size.height);
|
|
};
|
|
HorizontalContainerDescription.prototype.allowResizeHorizontally = function (shape) {
|
|
return shape.expanded;
|
|
};
|
|
HorizontalContainerDescription.prototype.createHeaderPrimitives = function (shape, forToolbox) {
|
|
var rect = shape.rectangle;
|
|
var left = rect.left, top = rect.top, height = rect.height;
|
|
var headerSize = this.getHeaderSize(rect, forToolbox);
|
|
var primitives = [];
|
|
primitives = primitives.concat([
|
|
new RectaglePrimitive_1.RectanglePrimitive(left, top, headerSize, height, shape.style)
|
|
]);
|
|
if (!forToolbox) {
|
|
primitives = primitives.concat(this.createExpandButtonPrimitives(shape, Utils_1.Rectangle.create(left, top, headerSize, headerSize)));
|
|
}
|
|
return primitives;
|
|
};
|
|
HorizontalContainerDescription.prototype.getClientRectangle = function (rect) {
|
|
var headerSize = this.getHeaderSize(rect);
|
|
return new Utils_1.Rectangle(new Utils_1.Point(rect.left + headerSize, rect.top), new Utils_1.Size(rect.width - headerSize, rect.height));
|
|
};
|
|
HorizontalContainerDescription.prototype.getTextRectangle = function (rect, parameters) {
|
|
var headerSize = this.getHeaderSize(rect);
|
|
return new Utils_1.Rectangle(new Utils_1.Point(rect.left, rect.top + headerSize), new Utils_1.Size(headerSize, rect.height - headerSize));
|
|
};
|
|
HorizontalContainerDescription.prototype.getTextEditRectangle = function (rect) {
|
|
return new Utils_1.Rectangle(rect.position, new Utils_1.Size(rect.width, this.getHeaderSize(rect)));
|
|
};
|
|
HorizontalContainerDescription.prototype.getTextRotated = function () {
|
|
return true;
|
|
};
|
|
HorizontalContainerDescription.prototype.getHeaderSize = function (rect, forToolbox) {
|
|
return forToolbox ? rect.height * ContainerDescription_1.ContainerDescription.headerToolboxSizeRatio : ContainerDescription_1.ContainerDescription.headerSize;
|
|
};
|
|
return HorizontalContainerDescription;
|
|
}(ContainerDescription_1.ContainerDescription));
|
|
exports.HorizontalContainerDescription = HorizontalContainerDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 187 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var CardBaseDescription_1 = __webpack_require__(69);
|
|
var ShapeWithImageDescription_1 = __webpack_require__(45);
|
|
var CardWithImageOnLeftDescription = /** @class */ (function (_super) {
|
|
__extends(CardWithImageOnLeftDescription, _super);
|
|
function CardWithImageOnLeftDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Card with Image on the Left"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(1.5 * ShapeDescription_1.ShapeDefaultDimension, 0.5 * ShapeDescription_1.ShapeDefaultDimension); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(CardWithImageOnLeftDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.CardWithImageOnLeft; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
CardWithImageOnLeftDescription.prototype.getToolboxHeightToWidthRatio = function (width, height) {
|
|
return 26 / 46;
|
|
};
|
|
CardWithImageOnLeftDescription.prototype.getRawImageSize = function (rect, forToolbox) {
|
|
var imageSize = Math.min(rect.height, rect.width) - 2 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
return new Utils_1.Size(imageSize, imageSize);
|
|
};
|
|
CardWithImageOnLeftDescription.prototype.getTextBlockOffset = function (rect, forToolbox) {
|
|
return new Utils_1.Offset(this.getImageSize(rect, forToolbox).width, 0, 0, 0);
|
|
};
|
|
return CardWithImageOnLeftDescription;
|
|
}(CardBaseDescription_1.CardBaseDescription));
|
|
exports.CardWithImageOnLeftDescription = CardWithImageOnLeftDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 188 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var RectaglePrimitive_1 = __webpack_require__(20);
|
|
var RoundedRectanglePrimitive = /** @class */ (function (_super) {
|
|
__extends(RoundedRectanglePrimitive, _super);
|
|
function RoundedRectanglePrimitive(x, y, width, height, rx, ry, style, className, clipPathId, onApplyProperties) {
|
|
if (rx === void 0) { rx = 0; }
|
|
if (ry === void 0) { ry = 0; }
|
|
var _this = _super.call(this, x, y, width, height, style, className, clipPathId, onApplyProperties) || this;
|
|
_this.x = x;
|
|
_this.y = y;
|
|
_this.width = width;
|
|
_this.height = height;
|
|
_this.rx = rx;
|
|
_this.ry = ry;
|
|
return _this;
|
|
}
|
|
RoundedRectanglePrimitive.prototype.createMainElement = function () {
|
|
return document.createElementNS(RenderManager_1.svgNS, "rect");
|
|
};
|
|
RoundedRectanglePrimitive.prototype.applyElementProperties = function (element) {
|
|
this.setUnitAttribute(element, "rx", this.rx);
|
|
this.setUnitAttribute(element, "ry", this.ry);
|
|
_super.prototype.applyElementProperties.call(this, element);
|
|
};
|
|
return RoundedRectanglePrimitive;
|
|
}(RectaglePrimitive_1.RectanglePrimitive));
|
|
exports.RoundedRectanglePrimitive = RoundedRectanglePrimitive;
|
|
|
|
|
|
/***/ }),
|
|
/* 189 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var CardBaseDescription_1 = __webpack_require__(69);
|
|
var ShapeWithImageDescription_1 = __webpack_require__(45);
|
|
var CardWithImageOnRightDescription = /** @class */ (function (_super) {
|
|
__extends(CardWithImageOnRightDescription, _super);
|
|
function CardWithImageOnRightDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Card with Image on the Right"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(1.5 * ShapeDescription_1.ShapeDefaultDimension, 0.5 * ShapeDescription_1.ShapeDefaultDimension); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(CardWithImageOnRightDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.CardWithImageOnRight; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
CardWithImageOnRightDescription.prototype.getToolboxHeightToWidthRatio = function (width, height) {
|
|
return 26 / 46;
|
|
};
|
|
CardWithImageOnRightDescription.prototype.getRawImageSize = function (rect, forToolbox) {
|
|
var imageSize = Math.min(rect.height, rect.width) - 2 * ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(forToolbox);
|
|
return new Utils_1.Size(imageSize, imageSize);
|
|
};
|
|
CardWithImageOnRightDescription.prototype.getTextBlockOffset = function (rect, forToolbox) {
|
|
return new Utils_1.Offset(0, 0, this.getImageSize(rect, forToolbox).width, 0);
|
|
};
|
|
return CardWithImageOnRightDescription;
|
|
}(CardBaseDescription_1.CardBaseDescription));
|
|
exports.CardWithImageOnRightDescription = CardWithImageOnRightDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 190 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeDescription_1 = __webpack_require__(9);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var CardBaseDescription_1 = __webpack_require__(69);
|
|
var ShapeWithImageDescription_1 = __webpack_require__(45);
|
|
var CardWithImageOnTopDescription = /** @class */ (function (_super) {
|
|
__extends(CardWithImageOnTopDescription, _super);
|
|
function CardWithImageOnTopDescription(title, defaultText, defaultSize) {
|
|
if (title === void 0) { title = "Card with Image on the Top"; }
|
|
if (defaultText === void 0) { defaultText = ""; }
|
|
if (defaultSize === void 0) { defaultSize = new Utils_1.Size(32 / 40 * ShapeDescription_1.ShapeDefaultDimension, ShapeDescription_1.ShapeDefaultDimension); }
|
|
return _super.call(this, title, defaultText, defaultSize) || this;
|
|
}
|
|
Object.defineProperty(CardWithImageOnTopDescription.prototype, "key", {
|
|
get: function () { return ShapeTypes_1.ShapeTypes.CardWithImageOnTop; },
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
CardWithImageOnTopDescription.prototype.getRawImageSize = function (rect, forToolbox) {
|
|
var imageSize = Math.min(rect.width / 2 + 1, rect.height - ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(forToolbox) * 2);
|
|
return new Utils_1.Size(imageSize, imageSize);
|
|
};
|
|
CardWithImageOnTopDescription.prototype.getTextBlockOffset = function (rect, forToolbox) {
|
|
return new Utils_1.Offset(0, this.getImageSize(rect).height + ShapeWithImageDescription_1.ShapeWithImageDescription.getImageMargins(forToolbox), 0, 0);
|
|
};
|
|
return CardWithImageOnTopDescription;
|
|
}(CardBaseDescription_1.CardBaseDescription));
|
|
exports.CardWithImageOnTopDescription = CardWithImageOnTopDescription;
|
|
|
|
|
|
/***/ }),
|
|
/* 191 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var InsertToContainerHistoryItem = /** @class */ (function (_super) {
|
|
__extends(InsertToContainerHistoryItem, _super);
|
|
function InsertToContainerHistoryItem(item, container) {
|
|
var _this = _super.call(this) || this;
|
|
_this.containerKey = container.key;
|
|
_this.itemKey = item.key;
|
|
return _this;
|
|
}
|
|
InsertToContainerHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
var container = manipulator.model.findShape(this.containerKey);
|
|
manipulator.insertToContainer(item, container);
|
|
};
|
|
InsertToContainerHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.removeFromContainer(item);
|
|
};
|
|
return InsertToContainerHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.InsertToContainerHistoryItem = InsertToContainerHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 192 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var RemoveFromContainerHistoryItem = /** @class */ (function (_super) {
|
|
__extends(RemoveFromContainerHistoryItem, _super);
|
|
function RemoveFromContainerHistoryItem(item) {
|
|
var _this = _super.call(this) || this;
|
|
_this.itemKey = item.key;
|
|
return _this;
|
|
}
|
|
RemoveFromContainerHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.containerKey = item.container && item.container.key;
|
|
manipulator.removeFromContainer(item);
|
|
};
|
|
RemoveFromContainerHistoryItem.prototype.undo = function (manipulator) {
|
|
var container = manipulator.model.findContainer(this.containerKey);
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.insertToContainer(item, container);
|
|
};
|
|
return RemoveFromContainerHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.RemoveFromContainerHistoryItem = RemoveFromContainerHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 193 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeContainerLockedHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeContainerLockedHistoryItem, _super);
|
|
function ChangeContainerLockedHistoryItem(item, locked) {
|
|
var _this = _super.call(this) || this;
|
|
_this.itemKey = item.key;
|
|
_this.containerLocked = locked;
|
|
return _this;
|
|
}
|
|
ChangeContainerLockedHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
this.oldContainerLocked = item.containerLocked;
|
|
manipulator.changeContainerLocked(item, this.containerLocked);
|
|
};
|
|
ChangeContainerLockedHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findItem(this.itemKey);
|
|
manipulator.changeContainerLocked(item, this.oldContainerLocked);
|
|
};
|
|
return ChangeContainerLockedHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeContainerLockedHistoryItem = ChangeContainerLockedHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 194 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var LayoutUtils_1 = __webpack_require__(195);
|
|
var GraphInfo = /** @class */ (function () {
|
|
function GraphInfo(container, sourceGraph) {
|
|
this.container = container;
|
|
this.sourceGraph = sourceGraph;
|
|
}
|
|
Object.defineProperty(GraphInfo.prototype, "graph", {
|
|
get: function () {
|
|
return this._graph || (this._graph = this.getNodeInfoGraph());
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
GraphInfo.prototype.getNodeInfoGraph = function () {
|
|
return this.sourceGraph.cast(LayoutUtils_1.LayoutUtils.shapeToLayout);
|
|
};
|
|
return GraphInfo;
|
|
}());
|
|
exports.GraphInfo = GraphInfo;
|
|
|
|
|
|
/***/ }),
|
|
/* 195 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Connector_1 = __webpack_require__(5);
|
|
var NodeLayout_1 = __webpack_require__(56);
|
|
var LayoutUtils = /** @class */ (function () {
|
|
function LayoutUtils() {
|
|
}
|
|
LayoutUtils.shapeToLayout = function (shape) {
|
|
var margin = new NodeLayout_1.Margin(0);
|
|
var shapeRect = shape.rectangle;
|
|
shape.attachedConnectors.filter(function (c) { return !c.beginItem || !c.endItem; }).forEach(function (c) {
|
|
var connRect = c.rectangle;
|
|
margin.left = Math.max(margin.left, shapeRect.left - connRect.left + Connector_1.Connector.minOffset);
|
|
margin.right = Math.max(margin.right, connRect.right - shapeRect.right + Connector_1.Connector.minOffset);
|
|
margin.top = Math.max(margin.top, shapeRect.top - connRect.top + Connector_1.Connector.minOffset);
|
|
margin.bottom = Math.max(margin.bottom, connRect.bottom - shapeRect.bottom + Connector_1.Connector.minOffset);
|
|
});
|
|
var layout = new NodeLayout_1.NodeInfo(shape.key, margin, shape.size.clone());
|
|
layout.connectionPoints = shape.description.getConnectionPoints();
|
|
return layout;
|
|
};
|
|
return LayoutUtils;
|
|
}());
|
|
exports.LayoutUtils = LayoutUtils;
|
|
|
|
|
|
/***/ }),
|
|
/* 196 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var CommandBase = /** @class */ (function () {
|
|
function CommandBase(control) {
|
|
this.control = control;
|
|
}
|
|
CommandBase.prototype.execute = function (parameter) {
|
|
var state = this.getState();
|
|
if (!state.enabled)
|
|
return false;
|
|
this.control.beginUpdate();
|
|
var executed = this.executeCore(state, parameter);
|
|
this.control.endUpdate();
|
|
return executed;
|
|
};
|
|
CommandBase.prototype.updateControlState = function () {
|
|
if (!this.lockUIUpdating()) {
|
|
this.control.barManager.updateItemsState();
|
|
}
|
|
};
|
|
CommandBase.prototype.lockUIUpdating = function () {
|
|
return false;
|
|
};
|
|
return CommandBase;
|
|
}());
|
|
exports.CommandBase = CommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 197 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandState = /** @class */ (function () {
|
|
function SimpleCommandState(enabled, value, defaultValue, items, visible) {
|
|
this.visible = true;
|
|
this.denyUpdateValue = false;
|
|
this.enabled = enabled;
|
|
this.value = value;
|
|
this.items = items;
|
|
this.visible = visible;
|
|
this.defaultValue = defaultValue;
|
|
}
|
|
return SimpleCommandState;
|
|
}());
|
|
exports.SimpleCommandState = SimpleCommandState;
|
|
|
|
|
|
/***/ }),
|
|
/* 198 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var UndoCommand = /** @class */ (function (_super) {
|
|
__extends(UndoCommand, _super);
|
|
function UndoCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
UndoCommand.prototype.executeCore = function (state) {
|
|
this.control.beginUpdate(true);
|
|
this.control.history.undo();
|
|
this.control.endUpdate(true);
|
|
return true;
|
|
};
|
|
UndoCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && this.control.history.canUndo();
|
|
};
|
|
return UndoCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.UndoCommand = UndoCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 199 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var RedoCommand = /** @class */ (function (_super) {
|
|
__extends(RedoCommand, _super);
|
|
function RedoCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
RedoCommand.prototype.executeCore = function (state) {
|
|
this.control.beginUpdate(true);
|
|
this.control.history.redo();
|
|
this.control.endUpdate(true);
|
|
return true;
|
|
};
|
|
RedoCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && this.control.history.canRedo();
|
|
};
|
|
return RedoCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.RedoCommand = RedoCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 200 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Importer_1 = __webpack_require__(105);
|
|
var ExportImportCommandBase_1 = __webpack_require__(47);
|
|
var ImportCommand = /** @class */ (function (_super) {
|
|
__extends(ImportCommand, _super);
|
|
function ImportCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ImportCommand.prototype.executeCore = function (state, parameter) {
|
|
var data = parameter["data"] ? parameter["data"] : parameter;
|
|
var importer = new Importer_1.Importer(data);
|
|
if (parameter["keepExistingItems"] === true) {
|
|
importer.importItemsData(this.control.model);
|
|
this.control.importItemsData();
|
|
}
|
|
else {
|
|
var model = importer.import();
|
|
this.control.importModel(model);
|
|
}
|
|
return true;
|
|
};
|
|
return ImportCommand;
|
|
}(ExportImportCommandBase_1.ExportImportCommandBase));
|
|
exports.ImportCommand = ImportCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 201 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Exporter_1 = __webpack_require__(57);
|
|
var ExportImportCommandBase_1 = __webpack_require__(47);
|
|
var ExportCommand = /** @class */ (function (_super) {
|
|
__extends(ExportCommand, _super);
|
|
function ExportCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ExportCommand.prototype.executeCore = function (state, parameter) {
|
|
var exporter = new Exporter_1.Exporter();
|
|
var data = exporter.export(this.control.model);
|
|
parameter(data);
|
|
return true;
|
|
};
|
|
return ExportCommand;
|
|
}(ExportImportCommandBase_1.ExportImportCommandBase));
|
|
exports.ExportCommand = ExportCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 202 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ToggleStyleTextPropertyCommand_1 = __webpack_require__(58);
|
|
var ToggleFontBoldCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleFontBoldCommand, _super);
|
|
function ToggleFontBoldCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleFontBoldCommand.prototype.getStyleProperty = function () {
|
|
return "font-weight";
|
|
};
|
|
ToggleFontBoldCommand.prototype.getStylePropertyValue = function () {
|
|
return "bold";
|
|
};
|
|
return ToggleFontBoldCommand;
|
|
}(ToggleStyleTextPropertyCommand_1.ToggleStyleTextPropertyCommand));
|
|
exports.ToggleFontBoldCommand = ToggleFontBoldCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 203 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ToggleStyleTextPropertyCommand_1 = __webpack_require__(58);
|
|
var ToggleFontItalicCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleFontItalicCommand, _super);
|
|
function ToggleFontItalicCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleFontItalicCommand.prototype.getStyleProperty = function () {
|
|
return "font-style";
|
|
};
|
|
ToggleFontItalicCommand.prototype.getStylePropertyValue = function () {
|
|
return "italic";
|
|
};
|
|
return ToggleFontItalicCommand;
|
|
}(ToggleStyleTextPropertyCommand_1.ToggleStyleTextPropertyCommand));
|
|
exports.ToggleFontItalicCommand = ToggleFontItalicCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 204 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ToggleStyleTextPropertyCommand_1 = __webpack_require__(58);
|
|
var ToggleFontUnderlineCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleFontUnderlineCommand, _super);
|
|
function ToggleFontUnderlineCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleFontUnderlineCommand.prototype.getStyleProperty = function () {
|
|
return "text-decoration";
|
|
};
|
|
ToggleFontUnderlineCommand.prototype.getStylePropertyValue = function () {
|
|
return "underline";
|
|
};
|
|
return ToggleFontUnderlineCommand;
|
|
}(ToggleStyleTextPropertyCommand_1.ToggleStyleTextPropertyCommand));
|
|
exports.ToggleFontUnderlineCommand = ToggleFontUnderlineCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 205 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStyleTextPropertyCommand_1 = __webpack_require__(72);
|
|
var ChangeFontNameCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeFontNameCommand, _super);
|
|
function ChangeFontNameCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeFontNameCommand.prototype.getStyleProperty = function () {
|
|
return "font-family";
|
|
};
|
|
return ChangeFontNameCommand;
|
|
}(ChangeStyleTextPropertyCommand_1.ChangeStyleTextPropertyCommand));
|
|
exports.ChangeFontNameCommand = ChangeFontNameCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 206 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStyleTextPropertyCommand_1 = __webpack_require__(72);
|
|
var ChangeFontSizeCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeFontSizeCommand, _super);
|
|
function ChangeFontSizeCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeFontSizeCommand.prototype.getStyleProperty = function () {
|
|
return "font-size";
|
|
};
|
|
return ChangeFontSizeCommand;
|
|
}(ChangeStyleTextPropertyCommand_1.ChangeStyleTextPropertyCommand));
|
|
exports.ChangeFontSizeCommand = ChangeFontSizeCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 207 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStyleTextPropertyCommand_1 = __webpack_require__(72);
|
|
var __1 = __webpack_require__(8);
|
|
var ChangeFontColorCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeFontColorCommand, _super);
|
|
function ChangeFontColorCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeFontColorCommand.prototype.processParameter = function (parameter) {
|
|
return __1.ColorHelper.stringToHash(parameter);
|
|
};
|
|
ChangeFontColorCommand.prototype.getStyleProperty = function () {
|
|
return "fill";
|
|
};
|
|
return ChangeFontColorCommand;
|
|
}(ChangeStyleTextPropertyCommand_1.ChangeStyleTextPropertyCommand));
|
|
exports.ChangeFontColorCommand = ChangeFontColorCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 208 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStylePropertyCommand_1 = __webpack_require__(109);
|
|
var __1 = __webpack_require__(8);
|
|
var ChangeFillColorCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeFillColorCommand, _super);
|
|
function ChangeFillColorCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeFillColorCommand.prototype.processParameter = function (parameter) {
|
|
return __1.ColorHelper.stringToHash(parameter);
|
|
};
|
|
ChangeFillColorCommand.prototype.getStyleProperty = function () {
|
|
return "fill";
|
|
};
|
|
return ChangeFillColorCommand;
|
|
}(ChangeStylePropertyCommand_1.ChangeStylePropertyCommand));
|
|
exports.ChangeFillColorCommand = ChangeFillColorCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 209 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeStylePropertyCommand_1 = __webpack_require__(109);
|
|
var __1 = __webpack_require__(8);
|
|
var ChangeStrokeColorCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeStrokeColorCommand, _super);
|
|
function ChangeStrokeColorCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeStrokeColorCommand.prototype.processParameter = function (parameter) {
|
|
return __1.ColorHelper.stringToHash(parameter);
|
|
};
|
|
ChangeStrokeColorCommand.prototype.getStyleProperty = function () {
|
|
return "stroke";
|
|
};
|
|
return ChangeStrokeColorCommand;
|
|
}(ChangeStylePropertyCommand_1.ChangeStylePropertyCommand));
|
|
exports.ChangeStrokeColorCommand = ChangeStrokeColorCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 210 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ToggleStyleTextPropertyCommand_1 = __webpack_require__(58);
|
|
var ChangeTextAlignCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeTextAlignCommand, _super);
|
|
function ChangeTextAlignCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeTextAlignCommand.prototype.getStyleProperty = function () {
|
|
return "text-anchor";
|
|
};
|
|
return ChangeTextAlignCommand;
|
|
}(ToggleStyleTextPropertyCommand_1.ToggleStyleTextPropertyCommand));
|
|
exports.ChangeTextAlignCommand = ChangeTextAlignCommand;
|
|
var TextLeftAlignCommand = /** @class */ (function (_super) {
|
|
__extends(TextLeftAlignCommand, _super);
|
|
function TextLeftAlignCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
TextLeftAlignCommand.prototype.getStylePropertyValue = function () {
|
|
return "start";
|
|
};
|
|
return TextLeftAlignCommand;
|
|
}(ChangeTextAlignCommand));
|
|
exports.TextLeftAlignCommand = TextLeftAlignCommand;
|
|
var TextCenterAlignCommand = /** @class */ (function (_super) {
|
|
__extends(TextCenterAlignCommand, _super);
|
|
function TextCenterAlignCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
TextCenterAlignCommand.prototype.getStylePropertyValue = function () {
|
|
return "middle";
|
|
};
|
|
return TextCenterAlignCommand;
|
|
}(ChangeTextAlignCommand));
|
|
exports.TextCenterAlignCommand = TextCenterAlignCommand;
|
|
var TextRightAlignCommand = /** @class */ (function (_super) {
|
|
__extends(TextRightAlignCommand, _super);
|
|
function TextRightAlignCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
TextRightAlignCommand.prototype.getStylePropertyValue = function () {
|
|
return "end";
|
|
};
|
|
return TextRightAlignCommand;
|
|
}(ChangeTextAlignCommand));
|
|
exports.TextRightAlignCommand = TextRightAlignCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 211 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeConnectorPropertyCommand_1 = __webpack_require__(110);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var ChangeConnectorStartLineEndingCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorStartLineEndingCommand, _super);
|
|
function ChangeConnectorStartLineEndingCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeConnectorStartLineEndingCommand.prototype.getPropertyName = function () {
|
|
return "startLineEnding";
|
|
};
|
|
ChangeConnectorStartLineEndingCommand.prototype.getPropertyDefaultValue = function () {
|
|
return ConnectorProperties_1.ConnectorLineEnding.None;
|
|
};
|
|
return ChangeConnectorStartLineEndingCommand;
|
|
}(ChangeConnectorPropertyCommand_1.ChangeConnectorPropertyCommand));
|
|
exports.ChangeConnectorStartLineEndingCommand = ChangeConnectorStartLineEndingCommand;
|
|
var ChangeConnectorEndLineEndingCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorEndLineEndingCommand, _super);
|
|
function ChangeConnectorEndLineEndingCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeConnectorEndLineEndingCommand.prototype.getPropertyName = function () {
|
|
return "endLineEnding";
|
|
};
|
|
ChangeConnectorEndLineEndingCommand.prototype.getPropertyDefaultValue = function () {
|
|
return ConnectorProperties_1.ConnectorLineEnding.Arrow;
|
|
};
|
|
return ChangeConnectorEndLineEndingCommand;
|
|
}(ChangeConnectorPropertyCommand_1.ChangeConnectorPropertyCommand));
|
|
exports.ChangeConnectorEndLineEndingCommand = ChangeConnectorEndLineEndingCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 212 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeConnectorPropertyCommand_1 = __webpack_require__(110);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var ChangeConnectorLineOptionCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorLineOptionCommand, _super);
|
|
function ChangeConnectorLineOptionCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeConnectorLineOptionCommand.prototype.getPropertyName = function () {
|
|
return "lineOption";
|
|
};
|
|
ChangeConnectorLineOptionCommand.prototype.getPropertyDefaultValue = function () {
|
|
return ConnectorProperties_1.ConnectorLineOption.Straight;
|
|
};
|
|
return ChangeConnectorLineOptionCommand;
|
|
}(ChangeConnectorPropertyCommand_1.ChangeConnectorPropertyCommand));
|
|
exports.ChangeConnectorLineOptionCommand = ChangeConnectorLineOptionCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 213 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var SelectAllCommand = /** @class */ (function (_super) {
|
|
__extends(SelectAllCommand, _super);
|
|
function SelectAllCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
SelectAllCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
SelectAllCommand.prototype.executeCore = function (state, parameter) {
|
|
var itemKeys = [];
|
|
this.control.model.iterateItems(function (i) { return itemKeys.push(i.key); });
|
|
this.control.selection.set(itemKeys);
|
|
return true;
|
|
};
|
|
return SelectAllCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.SelectAllCommand = SelectAllCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 214 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var AutoLayoutCommandBase_1 = __webpack_require__(59);
|
|
var WideTree_1 = __webpack_require__(73);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var AutoLayoutTreeVerticalCommand = /** @class */ (function (_super) {
|
|
__extends(AutoLayoutTreeVerticalCommand, _super);
|
|
function AutoLayoutTreeVerticalCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
AutoLayoutTreeVerticalCommand.prototype.createLayoutSettings = function () {
|
|
var gridSize = this.control.settings.snapToGrid ? this.control.settings.gridSize : undefined;
|
|
var settings = new LayoutSettings_1.TreeLayoutSettings(gridSize);
|
|
settings.orientation = LayoutSettings_1.DataLayoutOrientation.Vertical;
|
|
return settings;
|
|
};
|
|
AutoLayoutTreeVerticalCommand.prototype.createLayout = function (settings, graph) {
|
|
return new WideTree_1.TreeLayoutBuilder(settings, graph).build();
|
|
};
|
|
return AutoLayoutTreeVerticalCommand;
|
|
}(AutoLayoutCommandBase_1.AutoLayoutCommandBase));
|
|
exports.AutoLayoutTreeVerticalCommand = AutoLayoutTreeVerticalCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 215 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Tree_1 = __webpack_require__(216);
|
|
var Forest = /** @class */ (function () {
|
|
function Forest(trees) {
|
|
this.trees = trees;
|
|
}
|
|
Forest.create = function (graph) {
|
|
var components = graph.getConnectedComponents();
|
|
return new Forest(components.map(Tree_1.Tree.createSpanningTree));
|
|
};
|
|
return Forest;
|
|
}());
|
|
exports.Forest = Forest;
|
|
|
|
|
|
/***/ }),
|
|
/* 216 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Structures_1 = __webpack_require__(31);
|
|
var Tree = /** @class */ (function () {
|
|
function Tree(root, parentToChildren) {
|
|
var _this = this;
|
|
this.childToParent = {};
|
|
this.root = root;
|
|
this.parentToChildren = parentToChildren;
|
|
var _loop_1 = function (key) {
|
|
if (!parentToChildren.hasOwnProperty(key))
|
|
return "continue";
|
|
parentToChildren[key].forEach(function (c) { return _this.childToParent[c.key] = key; });
|
|
};
|
|
for (var key in parentToChildren) {
|
|
_loop_1(key);
|
|
}
|
|
}
|
|
Tree.prototype.getChildren = function (node) {
|
|
return node && this.parentToChildren[node.key] ? this.parentToChildren[node.key] : [];
|
|
};
|
|
Tree.prototype.hasChildren = function (node) {
|
|
return this.parentToChildren[node.key] && this.parentToChildren[node.key].length > 0;
|
|
};
|
|
Tree.prototype.iterate = function (callback) {
|
|
this.iterateCore(this.root, 0, callback);
|
|
};
|
|
Tree.createSpanningTree = function (component) {
|
|
var rootKey = Tree.findRoot(component);
|
|
var iterator = component.createIterator(Structures_1.ConnectionMode.Outgoing);
|
|
var parentToChildren = {};
|
|
iterator.skipEdge = (function (e) { return e.to === undefined || iterator.isNodeVisited(e.to); });
|
|
iterator.onNode = function (n) { return parentToChildren[n.key] = []; };
|
|
iterator.onEdge = function (e) {
|
|
var node = component.getNode(e.to);
|
|
node && parentToChildren[e.from].push(node);
|
|
};
|
|
iterator.iterate(rootKey);
|
|
return new Tree(component.getNode(rootKey), parentToChildren);
|
|
};
|
|
Tree.prototype.iterateCore = function (node, level, callback) {
|
|
var _this = this;
|
|
callback(node, level);
|
|
this.getChildren(node).forEach(function (n) { return _this.iterateCore(n, level + 1, callback); });
|
|
};
|
|
Tree.findRoot = function (component) {
|
|
return component.nodes.reduce(function (aggregator, cur) {
|
|
var edges = component.getAdjacentEdges(cur);
|
|
var inc = edges.filter(function (l) { return l.to === cur; }).length;
|
|
var out = edges.filter(function (l) { return l.from === cur; }).length;
|
|
if (aggregator.candidate === undefined || (inc === 0 && aggregator.inc > 0) || (aggregator.inc !== 0 && aggregator.out - aggregator.inc < out - inc)) {
|
|
aggregator.candidate = cur;
|
|
aggregator.inc = inc;
|
|
aggregator.out = out;
|
|
}
|
|
return aggregator;
|
|
}, { inc: -1, out: -1, candidate: undefined }).candidate;
|
|
};
|
|
return Tree;
|
|
}());
|
|
exports.Tree = Tree;
|
|
|
|
|
|
/***/ }),
|
|
/* 217 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeSnapToGridCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeSnapToGridCommand, _super);
|
|
function ChangeSnapToGridCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeSnapToGridCommand.prototype.executeCore = function (state, parameter) {
|
|
var newValue = parameter === undefined ? !this.control.settings.snapToGrid : !!parameter;
|
|
if (this.control.settings.snapToGrid !== newValue) {
|
|
this.control.settings.snapToGrid = newValue;
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
ChangeSnapToGridCommand.prototype.getValue = function () {
|
|
return this.control.settings.snapToGrid;
|
|
};
|
|
return ChangeSnapToGridCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeSnapToGridCommand = ChangeSnapToGridCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 218 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeGridSizeCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeGridSizeCommand, _super);
|
|
function ChangeGridSizeCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeGridSizeCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeGridSizeCommand.prototype.getValue = function () {
|
|
return this.getModelUnit(this.control.settings.gridSize);
|
|
};
|
|
ChangeGridSizeCommand.prototype.executeCore = function (state, parameter) {
|
|
this.control.settings.gridSize = this.getModelUnitTwipsValue(parameter);
|
|
return true;
|
|
};
|
|
ChangeGridSizeCommand.prototype.getItems = function () {
|
|
var _this = this;
|
|
return this.control.settings.gridSizeItems.map(function (s) {
|
|
return { value: _this.getModelUnit(s), text: _this.getViewUnitText(s) };
|
|
});
|
|
};
|
|
return ChangeGridSizeCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeGridSizeCommand = ChangeGridSizeCommand;
|
|
var ChangeGridSizeItemsCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeGridSizeItemsCommand, _super);
|
|
function ChangeGridSizeItemsCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeGridSizeItemsCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeGridSizeItemsCommand.prototype.getValue = function () {
|
|
var _this = this;
|
|
return this.control.settings.gridSizeItems.map(function (s) { return _this.getModelUnit(s); });
|
|
};
|
|
ChangeGridSizeItemsCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.settings.gridSizeItems = parameter.map(function (s) { return _this.getModelUnitTwipsValue(s); });
|
|
return true;
|
|
};
|
|
return ChangeGridSizeItemsCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeGridSizeItemsCommand = ChangeGridSizeItemsCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 219 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangePagePropertyCommand_1 = __webpack_require__(60);
|
|
var ChangePageLandscapeHistoryItem_1 = __webpack_require__(220);
|
|
var ChangePageLandscapeCommand = /** @class */ (function (_super) {
|
|
__extends(ChangePageLandscapeCommand, _super);
|
|
function ChangePageLandscapeCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangePageLandscapeCommand.prototype.getValue = function () {
|
|
return this.control.model.pageLandscape;
|
|
};
|
|
ChangePageLandscapeCommand.prototype.createHistoryItems = function (parameter) {
|
|
return [new ChangePageLandscapeHistoryItem_1.ChangePageLandscapeHistoryItem(parameter)];
|
|
};
|
|
return ChangePageLandscapeCommand;
|
|
}(ChangePagePropertyCommand_1.ChangePagePropertyCommand));
|
|
exports.ChangePageLandscapeCommand = ChangePageLandscapeCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 220 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangePageLandscapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangePageLandscapeHistoryItem, _super);
|
|
function ChangePageLandscapeHistoryItem(value) {
|
|
var _this = _super.call(this) || this;
|
|
_this.value = value;
|
|
return _this;
|
|
}
|
|
ChangePageLandscapeHistoryItem.prototype.redo = function (manipulator) {
|
|
this.oldValue = manipulator.model.pageLandscape;
|
|
manipulator.changePageLandscape(this.value);
|
|
};
|
|
ChangePageLandscapeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.changePageLandscape(this.oldValue);
|
|
};
|
|
return ChangePageLandscapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangePageLandscapeHistoryItem = ChangePageLandscapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 221 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangePagePropertyCommand_1 = __webpack_require__(60);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ChangePageSizeHistoryItem_1 = __webpack_require__(222);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangePageSizeCommand = /** @class */ (function (_super) {
|
|
__extends(ChangePageSizeCommand, _super);
|
|
function ChangePageSizeCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangePageSizeCommand.prototype.getValue = function () {
|
|
return this.getModelUnitSize(this.control.model.pageSize);
|
|
};
|
|
ChangePageSizeCommand.prototype.createHistoryItems = function (parameter) {
|
|
return [new ChangePageSizeHistoryItem_1.ChangePageSizeHistoryItem(new Utils_1.Size(this.getModelUnitTwipsValue(parameter.width), this.getModelUnitTwipsValue(parameter.height)))];
|
|
};
|
|
ChangePageSizeCommand.prototype.getItems = function () {
|
|
var _this = this;
|
|
return this.control.settings.pageSizeItems.map(function (i) {
|
|
return {
|
|
value: _this.getModelUnitSize(i.size),
|
|
text: i.text.replace("{width}", _this.getViewUnitText(i.size.width)).replace("{height}", _this.getViewUnitText(i.size.height))
|
|
};
|
|
});
|
|
};
|
|
ChangePageSizeCommand.prototype.getModelUnitSize = function (size) {
|
|
return new Utils_1.Size(this.getModelUnit(size.width), this.getModelUnit(size.height));
|
|
};
|
|
return ChangePageSizeCommand;
|
|
}(ChangePagePropertyCommand_1.ChangePagePropertyCommand));
|
|
exports.ChangePageSizeCommand = ChangePageSizeCommand;
|
|
var ChangePageSizeItemsCommand = /** @class */ (function (_super) {
|
|
__extends(ChangePageSizeItemsCommand, _super);
|
|
function ChangePageSizeItemsCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangePageSizeItemsCommand.prototype.isEnabled = function () {
|
|
return true;
|
|
};
|
|
ChangePageSizeItemsCommand.prototype.getValue = function () {
|
|
var _this = this;
|
|
return this.control.settings.pageSizeItems.map(function (i) {
|
|
return {
|
|
size: new Utils_1.Size(_this.getModelUnit(i.width), _this.getModelUnit(i.height)),
|
|
text: i.text
|
|
};
|
|
});
|
|
};
|
|
ChangePageSizeItemsCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.settings.pageSizeItems = parameter.map(function (i) {
|
|
return {
|
|
size: new Utils_1.Size(_this.getModelUnitTwipsValue(i.width), _this.getModelUnitTwipsValue(i.height)),
|
|
text: i.text
|
|
};
|
|
});
|
|
return true;
|
|
};
|
|
return ChangePageSizeItemsCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangePageSizeItemsCommand = ChangePageSizeItemsCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 222 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangePageSizeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangePageSizeHistoryItem, _super);
|
|
function ChangePageSizeHistoryItem(size) {
|
|
var _this = _super.call(this) || this;
|
|
_this.size = size;
|
|
return _this;
|
|
}
|
|
ChangePageSizeHistoryItem.prototype.redo = function (manipulator) {
|
|
this.oldSize = manipulator.model.pageSize;
|
|
manipulator.changePageSize(this.size);
|
|
};
|
|
ChangePageSizeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.changePageSize(this.oldSize);
|
|
};
|
|
return ChangePageSizeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangePageSizeHistoryItem = ChangePageSizeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 223 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ExportImageCommand_1 = __webpack_require__(74);
|
|
var ExportPngCommand = /** @class */ (function (_super) {
|
|
__extends(ExportPngCommand, _super);
|
|
function ExportPngCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ExportPngCommand.prototype.getExtension = function () { return "png"; };
|
|
ExportPngCommand.prototype.getExportFunc = function () {
|
|
return this.exporter.exportPng;
|
|
};
|
|
return ExportPngCommand;
|
|
}(ExportImageCommand_1.ExportImageCommand));
|
|
exports.ExportPngCommand = ExportPngCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 224 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Browser_1 = __webpack_require__(23);
|
|
var Utils_1 = __webpack_require__(15);
|
|
var CanvasManagerBase_1 = __webpack_require__(33);
|
|
var __1 = __webpack_require__(8);
|
|
var EXPORT_IMAGE_QUALITY = 1;
|
|
var CanvasExportManager = /** @class */ (function (_super) {
|
|
__extends(CanvasExportManager, _super);
|
|
function CanvasExportManager(itemsContainer) {
|
|
var _this = _super.call(this, 1) || this;
|
|
_this.itemsContainer = itemsContainer;
|
|
return _this;
|
|
}
|
|
CanvasExportManager.prototype.getSvgImage = function (modelSize, pageColor) {
|
|
var svgEl = RenderManager_1.RenderManager.createSvgElement(null, true);
|
|
var modelAbsSize = modelSize.transform(UnitConverter_1.UnitConverter.twipsToPixelsF);
|
|
Utils_1.RenderUtils.updateSvgElementSize(svgEl, modelAbsSize.width, modelAbsSize.height, true);
|
|
svgEl.style.backgroundColor = __1.ColorHelper.colorToHash(pageColor);
|
|
this.createTextFloodFilter(undefined, svgEl, pageColor);
|
|
var exportCssRules = this.getExportCssRules();
|
|
var useCssRules = exportCssRules && !Browser_1.Browser.IE;
|
|
if (useCssRules) {
|
|
var style = document.createElementNS(RenderManager_1.svgNS, "style");
|
|
style.innerHTML = exportCssRules;
|
|
svgEl.appendChild(style);
|
|
}
|
|
for (var i = 0; i < this.itemsContainer.childNodes.length; i++) {
|
|
var node = this.itemsContainer.childNodes[i].cloneNode(true);
|
|
if (!useCssRules) {
|
|
this.inlineStyle(node, this.itemsContainer.childNodes[i]);
|
|
}
|
|
svgEl.appendChild(node);
|
|
}
|
|
return svgEl;
|
|
};
|
|
CanvasExportManager.prototype.getSvgImageUrl = function (modelSize, pageColor) {
|
|
var svgEl = this.getSvgImage(modelSize, pageColor);
|
|
return this.getSvgBase64String(svgEl);
|
|
};
|
|
CanvasExportManager.prototype.getSvgString = function (svgElement) {
|
|
return new XMLSerializer().serializeToString(svgElement);
|
|
};
|
|
CanvasExportManager.prototype.getSvgBase64String = function (svgElement) {
|
|
var xml = this.getSvgString(svgElement);
|
|
return CanvasExportManager.base64Start + this.getBase64EncodeUnicode(xml);
|
|
};
|
|
CanvasExportManager.prototype.getBase64EncodeUnicode = function (s) {
|
|
return btoa(encodeURIComponent(s).replace(/%([0-9A-F]{2})/g, function (match, p1) { return String.fromCharCode(parseInt("0x" + p1, 16)); }));
|
|
};
|
|
CanvasExportManager.prototype.getExportCssRules = function () {
|
|
for (var i = 0; i < document.styleSheets.length; i++) {
|
|
var rules = this.getRules(document.styleSheets[i]);
|
|
if (rules) {
|
|
var cssText = "";
|
|
for (var j = 0; j < rules.length; j++) {
|
|
var rule = rules[j];
|
|
var selectorText = this.isCSSStyleRule(rule) ? rule.selectorText : null;
|
|
if (selectorText && this.checkSelector(selectorText))
|
|
cssText += rule.cssText + "\n";
|
|
}
|
|
if (cssText.length > 0)
|
|
return "\n" + cssText;
|
|
}
|
|
}
|
|
};
|
|
CanvasExportManager.prototype.checkSelector = function (selectorText) {
|
|
for (var i = 0; i < CanvasExportManager.exportStyleRules.length; i++) {
|
|
if (selectorText.indexOf(CanvasExportManager.exportStyleRules[i]) === 0)
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
CanvasExportManager.prototype.getRules = function (styleSheet) {
|
|
try {
|
|
return this.isCSSStyleSheet(styleSheet) ? styleSheet.rules || styleSheet.cssRules : null;
|
|
}
|
|
catch (_a) { } // Catch access dinied exception
|
|
};
|
|
CanvasExportManager.prototype.isCSSStyleSheet = function (stylesheet) {
|
|
return stylesheet.rules !== undefined;
|
|
};
|
|
CanvasExportManager.prototype.isCSSStyleRule = function (rule) {
|
|
return rule.selectorText !== undefined;
|
|
};
|
|
CanvasExportManager.prototype.inlineStyle = function (destNode, srcNode) {
|
|
for (var i = 0; i < destNode.childNodes.length; i++) {
|
|
var child = destNode.childNodes[i];
|
|
if (!child.tagName)
|
|
continue;
|
|
if (child.tagName === "g")
|
|
this.inlineStyle(child, srcNode.childNodes[i]);
|
|
else if (child.style) {
|
|
var style = window.getComputedStyle(srcNode.childNodes[i]);
|
|
if (style !== undefined) {
|
|
for (var index = 0; index < CanvasExportManager.exportStyleAttributes.length; index++) {
|
|
var styleProperty = CanvasExportManager.exportStyleAttributes[index];
|
|
child.style.setProperty(styleProperty, style.getPropertyValue(styleProperty));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
CanvasExportManager.prototype.exportSvgImage = function (modelSize, pageColor, callback) {
|
|
callback(this.getSvgImageUrl(modelSize, pageColor));
|
|
};
|
|
CanvasExportManager.prototype.exportBinaryImage = function (modelSize, pageColor, mimeType, callback) {
|
|
var modelAbsSize = this.getAbsoluteSize(modelSize);
|
|
var canvasEl = document.createElement('canvas');
|
|
canvasEl.width = modelAbsSize.width;
|
|
canvasEl.height = modelAbsSize.height;
|
|
var ctx = canvasEl.getContext("2d");
|
|
ctx.fillStyle = __1.ColorHelper.colorToHash(pageColor);
|
|
ctx.fillRect(0, 0, modelAbsSize.width, modelAbsSize.height);
|
|
if (Browser_1.Browser.IE && typeof window["canvg"] === "function") {
|
|
var svgEl = this.getSvgImage(modelSize, pageColor);
|
|
var svgStr = this.getSvgString(svgEl);
|
|
ctx["drawSvg"](svgStr, 0, 0, null, null, {
|
|
renderCallback: function () {
|
|
callback(canvasEl.toDataURL(mimeType, EXPORT_IMAGE_QUALITY));
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
var imgEl = new Image();
|
|
imgEl.width = modelAbsSize.width;
|
|
imgEl.height = modelAbsSize.height;
|
|
imgEl.setAttribute('crossOrigin', 'anonymous');
|
|
imgEl.onload = function () {
|
|
ctx.drawImage(imgEl, 0, 0);
|
|
callback(canvasEl.toDataURL(mimeType, EXPORT_IMAGE_QUALITY));
|
|
};
|
|
imgEl.src = this.getSvgImageUrl(modelSize, pageColor);
|
|
}
|
|
};
|
|
CanvasExportManager.prototype.exportPngImage = function (modelSize, pageColor, callback) {
|
|
this.exportBinaryImage(modelSize, pageColor, "image/png", callback);
|
|
};
|
|
CanvasExportManager.prototype.exportJpgImage = function (modelSize, pageColor, callback) {
|
|
this.exportBinaryImage(modelSize, pageColor, "image/jpeg", callback);
|
|
};
|
|
CanvasExportManager.prototype.notifyModelChanged = function (changes) { };
|
|
CanvasExportManager.prototype.notifyPageColorChanged = function (color) { };
|
|
CanvasExportManager.prototype.notifyPageSizeChanged = function (pageSize, pageLandscape) { };
|
|
CanvasExportManager.base64Start = 'data:image/svg+xml;base64,';
|
|
CanvasExportManager.exportStyleRules = [
|
|
".dxdi-canvas .shape ", ".dxdi-canvas .connector ", ".dxdi-canvas text", ".dxdi-canvas.export"
|
|
];
|
|
CanvasExportManager.exportStyleAttributes = [
|
|
"fill", "stroke", "stroke-width", "shape-rendering",
|
|
"font-family", "font-size", "font-weight", "font-style", "text-decoration", "text-anchor"
|
|
];
|
|
return CanvasExportManager;
|
|
}(CanvasManagerBase_1.CanvasManagerBase));
|
|
exports.CanvasExportManager = CanvasExportManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 225 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ExportImageCommand_1 = __webpack_require__(74);
|
|
var ExportSvgCommand = /** @class */ (function (_super) {
|
|
__extends(ExportSvgCommand, _super);
|
|
function ExportSvgCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ExportSvgCommand.prototype.getExtension = function () { return "svg"; };
|
|
ExportSvgCommand.prototype.getExportFunc = function () {
|
|
return this.exporter.exportSvg;
|
|
};
|
|
return ExportSvgCommand;
|
|
}(ExportImageCommand_1.ExportImageCommand));
|
|
exports.ExportSvgCommand = ExportSvgCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 226 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ExportImageCommand_1 = __webpack_require__(74);
|
|
var ExportJpgCommand = /** @class */ (function (_super) {
|
|
__extends(ExportJpgCommand, _super);
|
|
function ExportJpgCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ExportJpgCommand.prototype.getExtension = function () { return "jpg"; };
|
|
ExportJpgCommand.prototype.getExportFunc = function () {
|
|
return this.exporter.exportJpg;
|
|
};
|
|
return ExportJpgCommand;
|
|
}(ExportImageCommand_1.ExportImageCommand));
|
|
exports.ExportJpgCommand = ExportJpgCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 227 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Exporter_1 = __webpack_require__(57);
|
|
var ClipboardCommand_1 = __webpack_require__(75);
|
|
var CopySelectionCommand = /** @class */ (function (_super) {
|
|
__extends(CopySelectionCommand, _super);
|
|
function CopySelectionCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CopySelectionCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty(true);
|
|
};
|
|
CopySelectionCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
CopySelectionCommand.prototype.executeCore = function (state) {
|
|
var exporter = new Exporter_1.Exporter();
|
|
var data = exporter.exportItems(this.control.selection.getSelectedItems(true, true));
|
|
this.setClipboardData(data);
|
|
return true;
|
|
};
|
|
return CopySelectionCommand;
|
|
}(ClipboardCommand_1.ClipboardCommand));
|
|
exports.CopySelectionCommand = CopySelectionCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 228 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Exporter_1 = __webpack_require__(57);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var ClipboardCommand_1 = __webpack_require__(75);
|
|
var CutSelectionCommand = /** @class */ (function (_super) {
|
|
__extends(CutSelectionCommand, _super);
|
|
function CutSelectionCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CutSelectionCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty();
|
|
};
|
|
CutSelectionCommand.prototype.executeCore = function (state) {
|
|
var exporter = new Exporter_1.Exporter();
|
|
var data = exporter.exportItems(this.control.selection.getSelectedItems(true, true));
|
|
this.setClipboardData(data);
|
|
ModelUtils_1.ModelUtils.deleteSelection(this.control.history, this.control.model, this.control.selection);
|
|
return true;
|
|
};
|
|
return CutSelectionCommand;
|
|
}(ClipboardCommand_1.ClipboardCommand));
|
|
exports.CutSelectionCommand = CutSelectionCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 229 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PasteSelectoinCommandBase_1 = __webpack_require__(113);
|
|
var PasteSelectionCommand = /** @class */ (function (_super) {
|
|
__extends(PasteSelectionCommand, _super);
|
|
function PasteSelectionCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
PasteSelectionCommand.prototype.getShapeNewPosition = function (position) {
|
|
return PasteSelectoinCommandBase_1.PasteSelectionCommandBase.getShapeNewPosition(this.control.model, position);
|
|
};
|
|
PasteSelectionCommand.prototype.changeConnectorPoints = function (connector) {
|
|
PasteSelectoinCommandBase_1.PasteSelectionCommandBase.changeConnectorPoints(this.control.model, connector);
|
|
};
|
|
return PasteSelectionCommand;
|
|
}(PasteSelectoinCommandBase_1.PasteSelectionCommandBase));
|
|
exports.PasteSelectionCommand = PasteSelectionCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 230 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ImportShapeHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ImportShapeHistoryItem, _super);
|
|
function ImportShapeHistoryItem(shape) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shape = shape;
|
|
return _this;
|
|
}
|
|
ImportShapeHistoryItem.prototype.redo = function (manipulator) {
|
|
this.shapeKey = this.shape.key;
|
|
manipulator.insertShape(this.shape);
|
|
};
|
|
ImportShapeHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.removeShape(manipulator.model.findShape(this.shapeKey));
|
|
};
|
|
return ImportShapeHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ImportShapeHistoryItem = ImportShapeHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 231 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ImportConnectorHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ImportConnectorHistoryItem, _super);
|
|
function ImportConnectorHistoryItem(connector) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connector = connector;
|
|
return _this;
|
|
}
|
|
ImportConnectorHistoryItem.prototype.redo = function (manipulator) {
|
|
this.connectorKey = this.connector.key;
|
|
manipulator.insertConnector(this.connector);
|
|
};
|
|
ImportConnectorHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.removeConnector(connector);
|
|
};
|
|
return ImportConnectorHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ImportConnectorHistoryItem = ImportConnectorHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 232 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var BPMNImporter_1 = __webpack_require__(233);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var AddShapeHistoryItem_1 = __webpack_require__(51);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var AddConnectorHistoryItem_1 = __webpack_require__(52);
|
|
var AddConnectionHistoryItem_1 = __webpack_require__(37);
|
|
var Sugiyama_1 = __webpack_require__(61);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var ExportImportCommandBase_1 = __webpack_require__(47);
|
|
var ImportBPMNCommand = /** @class */ (function (_super) {
|
|
__extends(ImportBPMNCommand, _super);
|
|
function ImportBPMNCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ImportBPMNCommand.prototype.executeCore = function (state, parameter) {
|
|
var importer = new BPMNImporter_1.BPMNImporter(parameter);
|
|
var graph = importer.import();
|
|
this.updateModel(graph);
|
|
return true;
|
|
};
|
|
ImportBPMNCommand.prototype.updateModel = function (graph) {
|
|
var _this = this;
|
|
var externalKeyToModelKey = {};
|
|
var shapes = [];
|
|
var connectors = [];
|
|
this.control.history.beginTransaction();
|
|
graph.items.forEach(function (node) {
|
|
var insert = new AddShapeHistoryItem_1.AddShapeHistoryItem(node.type, new Utils_1.Point(0, 0), node.text, node.key);
|
|
_this.control.history.addAndRedo(insert);
|
|
externalKeyToModelKey[node.key] = insert.shapeKey;
|
|
var shape = _this.control.model.findShape(insert.shapeKey);
|
|
shapes.push(shape);
|
|
});
|
|
graph.edges.forEach(function (edge) {
|
|
var from = _this.control.model.findShape(externalKeyToModelKey[edge.from]);
|
|
var to = _this.control.model.findShape(externalKeyToModelKey[edge.to]);
|
|
var insert = new AddConnectorHistoryItem_1.AddConnectorHistoryItem([from.getConnectionPointPosition(0), to.getConnectionPointPosition(0)]);
|
|
_this.control.history.addAndRedo(insert);
|
|
var connector = _this.control.model.findConnector(insert.connectorKey);
|
|
_this.control.history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(connector, from, 0, Connector_1.ConnectorPosition.Begin));
|
|
_this.control.history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(connector, to, 0, Connector_1.ConnectorPosition.End));
|
|
connectors.push(connector);
|
|
});
|
|
var settings = new LayoutSettings_1.LayoutSettings();
|
|
var graphInfo = ModelUtils_1.ModelUtils.getGraphInfoByItems(this.control.model, shapes, connectors);
|
|
graphInfo.forEach(function (info) {
|
|
var layout = new Sugiyama_1.SugiyamaLayoutBuilder(settings, info.graph).build();
|
|
var nonGraphItems = ModelUtils_1.ModelUtils.getNonGraphItems(_this.control.model, info.container, layout.nodeToLayout, shapes, connectors);
|
|
ModelUtils_1.ModelUtils.applyLayout(_this.control.history, _this.control.model, undefined, info.graph, layout, nonGraphItems, settings, _this.control.settings.snapToGrid, _this.control.settings.gridSize);
|
|
});
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.control.history, this.control.model);
|
|
this.control.history.endTransaction();
|
|
};
|
|
return ImportBPMNCommand;
|
|
}(ExportImportCommandBase_1.ExportImportCommandBase));
|
|
exports.ImportBPMNCommand = ImportBPMNCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 233 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Graph_1 = __webpack_require__(53);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Structures_1 = __webpack_require__(31);
|
|
var ImportUtils_1 = __webpack_require__(71);
|
|
var BPMNImporter = /** @class */ (function () {
|
|
function BPMNImporter(xml) {
|
|
this.doc = ImportUtils_1.ImportUtils.createDocument(xml);
|
|
this.graph = new Graph_1.Graph([], []);
|
|
}
|
|
BPMNImporter.prototype.import = function () {
|
|
for (var child = void 0, i = 0; child = this.doc.children[i]; i++) {
|
|
if (child.nodeName.toUpperCase() === "DEFINITIONS")
|
|
this.onDefinitionsElement(child);
|
|
}
|
|
this.validate();
|
|
return this.graph;
|
|
};
|
|
BPMNImporter.prototype.validate = function () {
|
|
var nodesMap = {};
|
|
this.graph.nodes.forEach(function (n) { return nodesMap[n] = true; });
|
|
for (var i = 0, edge = void 0; edge = this.graph.edges[i]; i++) {
|
|
if (!nodesMap[edge.from] || !nodesMap[edge.to]) {
|
|
this.graph.edges.splice(i, 1);
|
|
i--;
|
|
}
|
|
}
|
|
};
|
|
BPMNImporter.prototype.onDefinitionsElement = function (element) {
|
|
this.dataSourceKey = element.getAttribute("id");
|
|
for (var child = void 0, i = 0; child = element.children[i]; i++) {
|
|
if (child.nodeName.toUpperCase() === "PROCESS")
|
|
this.onProcessElement(child);
|
|
}
|
|
};
|
|
BPMNImporter.prototype.onProcessElement = function (element) {
|
|
for (var child = void 0, i = 0; child = element.children[i]; i++) {
|
|
switch (child.nodeName.toUpperCase()) {
|
|
case "STARTEVENT":
|
|
this.onStartEventElement(child);
|
|
break;
|
|
case "SEQUENCEFLOW":
|
|
this.onSequenceFlowElement(child);
|
|
break;
|
|
case "SCRIPTTASK":
|
|
this.onScriptTaskElement(child);
|
|
break;
|
|
case "USERTASK":
|
|
this.onUserTaskElement(child);
|
|
break;
|
|
case "SERVICETASK":
|
|
this.onServiceTaskElement(child);
|
|
break;
|
|
case "SENDTASK":
|
|
this.onSendTaskElement(child);
|
|
break;
|
|
case "EXCLUSIVEGATEWAY":
|
|
this.onExclusiveGateway(child);
|
|
break;
|
|
case "ENDEVENT":
|
|
this.onEndEventGateway(child);
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
BPMNImporter.prototype.onStartEventElement = function (element) {
|
|
var node = this.createNode(element);
|
|
node.type = ShapeTypes_1.ShapeTypes.Ellipse;
|
|
node.text = element.getAttribute("name");
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onSequenceFlowElement = function (element) {
|
|
var fromKey = element.getAttribute("sourceRef");
|
|
var toKey = element.getAttribute("targetRef");
|
|
var edge = this.createEdge(element, fromKey, toKey);
|
|
if (element.hasAttribute("name"))
|
|
edge.text = element.getAttribute("name");
|
|
this.graph.addEdge(edge);
|
|
};
|
|
BPMNImporter.prototype.onScriptTaskElement = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onUserTaskElement = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onServiceTaskElement = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onSendTaskElement = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onExclusiveGateway = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
node.type = ShapeTypes_1.ShapeTypes.Decision;
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.onEndEventGateway = function (element) {
|
|
var node = this.createNode(element);
|
|
node.text = element.getAttribute("name");
|
|
node.type = ShapeTypes_1.ShapeTypes.Ellipse;
|
|
this.graph.addNode(node);
|
|
};
|
|
BPMNImporter.prototype.createNode = function (element) {
|
|
return new BPMNNode(this.dataSourceKey, element.getAttribute("id"));
|
|
};
|
|
BPMNImporter.prototype.createEdge = function (element, fromKey, toKey) {
|
|
return new BPMNEdge(this.dataSourceKey, element.getAttribute("id"), fromKey, toKey);
|
|
};
|
|
return BPMNImporter;
|
|
}());
|
|
exports.BPMNImporter = BPMNImporter;
|
|
var BPMNNode = /** @class */ (function () {
|
|
function BPMNNode(sourceKey, key) {
|
|
this.sourceKey = sourceKey;
|
|
this.key = key;
|
|
this.type = ShapeTypes_1.ShapeTypes.Rectangle;
|
|
}
|
|
return BPMNNode;
|
|
}());
|
|
exports.BPMNNode = BPMNNode;
|
|
var BPMNEdge = /** @class */ (function (_super) {
|
|
__extends(BPMNEdge, _super);
|
|
function BPMNEdge(sourceKey, key, fromKey, toKey) {
|
|
var _this = _super.call(this, key, fromKey, toKey) || this;
|
|
_this.sourceKey = sourceKey;
|
|
return _this;
|
|
}
|
|
return BPMNEdge;
|
|
}(Structures_1.Edge));
|
|
|
|
|
|
/***/ }),
|
|
/* 234 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Graph_1 = __webpack_require__(53);
|
|
var Structures_1 = __webpack_require__(31);
|
|
var ListUtils_1 = __webpack_require__(70);
|
|
var CycleRemover = /** @class */ (function () {
|
|
function CycleRemover() {
|
|
}
|
|
CycleRemover.removeCycles = function (graph) {
|
|
var feedbackSet = this.getFeedbackSet(graph);
|
|
return this.reverseEdges(graph, feedbackSet);
|
|
};
|
|
CycleRemover.getFeedbackSet = function (graph) {
|
|
var _this = this;
|
|
var feedbackSet = {};
|
|
var nonTrivialStronglyConnectedComponents = this.getNonTrivialStronglyConnectedComponents(graph);
|
|
while (nonTrivialStronglyConnectedComponents.length) {
|
|
nonTrivialStronglyConnectedComponents.forEach(function (g) {
|
|
var maxCyclicEdges = _this.getMaxCyclicEdges(g);
|
|
maxCyclicEdges.forEach(function (e) { return delete feedbackSet[e.reverse().getHashKey()]; });
|
|
maxCyclicEdges.forEach(function (e) { return feedbackSet[e.getHashKey()] = true; });
|
|
});
|
|
nonTrivialStronglyConnectedComponents = this.getNonTrivialStronglyConnectedComponents(this.reverseEdges(graph, feedbackSet).graph);
|
|
}
|
|
return feedbackSet;
|
|
};
|
|
CycleRemover.getMaxCyclicEdges = function (graph) {
|
|
var black = {};
|
|
var gray = {};
|
|
var edgeCycleCount = {};
|
|
var visitedEdges = [];
|
|
var cycles = [];
|
|
var iterator = graph.createIterator(Structures_1.ConnectionMode.Outgoing);
|
|
iterator.visitEachEdgeOnce = false;
|
|
iterator.onNode = function (n) {
|
|
gray[n.key] = true;
|
|
};
|
|
iterator.skipNode = function (n) {
|
|
if (gray[n.key]) {
|
|
var cycle = [];
|
|
for (var i = 0; i < visitedEdges.length; i++) {
|
|
var e = visitedEdges[i];
|
|
if (edgeCycleCount[e.key] === undefined)
|
|
edgeCycleCount[e.key] = 0;
|
|
edgeCycleCount[e.key]++;
|
|
cycle.push(e);
|
|
if (e.from === n.key)
|
|
break;
|
|
}
|
|
cycles.push(cycle);
|
|
}
|
|
return gray[n.key] || black[n.key];
|
|
};
|
|
iterator.skipEdge = function (e) { return false; };
|
|
iterator.onEdge = function (e) {
|
|
visitedEdges.splice(0, 0, e);
|
|
};
|
|
iterator.onAfterEdge = function (e) {
|
|
visitedEdges.splice(0, 1);
|
|
};
|
|
iterator.onAllEdges = function (e) {
|
|
black[e.key] = true;
|
|
gray[e.key] = false;
|
|
};
|
|
iterator.iterate(graph.nodes[0]);
|
|
var edgeSet = new ListUtils_1.HashSet([], function (e) { return e.key; });
|
|
cycles.forEach(function (c) {
|
|
edgeSet.tryPush(c.reduce(function (max, curr) { return edgeCycleCount[curr.key] > edgeCycleCount[max.key] ? curr : max; }, c[0]));
|
|
});
|
|
return edgeSet.list();
|
|
};
|
|
CycleRemover.reverseEdges = function (graph, feedbackSet) {
|
|
var edges = new ListUtils_1.HashSet([], function (e) { return e.getHashKey(); });
|
|
var reversedEdges = {};
|
|
var removedEdges = {};
|
|
graph.edges.forEach(function (e) {
|
|
if (feedbackSet[e.getHashKey()]) {
|
|
e = e.reverse();
|
|
reversedEdges[e.key] = true;
|
|
}
|
|
if (!edges.tryPush(e)) {
|
|
removedEdges[e.key] = true;
|
|
delete reversedEdges[e.key];
|
|
}
|
|
});
|
|
return {
|
|
graph: new Graph_1.Graph(graph.nodes.map(function (n) { return graph.getNode(n); }), edges.list()),
|
|
reversedEdges: reversedEdges,
|
|
removedEdges: removedEdges
|
|
};
|
|
};
|
|
CycleRemover.getNonTrivialStronglyConnectedComponents = function (graph) {
|
|
return this.getStronglyConnectedComponents(graph).filter(function (g) { return g.edges.length; });
|
|
};
|
|
CycleRemover.getStronglyConnectedComponents = function (graph) {
|
|
var _this = this;
|
|
// Tarjan algorithm
|
|
// https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
|
|
var nodesStack = [];
|
|
var index = 0;
|
|
var lowIndex = {};
|
|
var lowLink = {};
|
|
var onStack = {};
|
|
var components = [];
|
|
var visitedNodes = {};
|
|
for (var i = 0; i < graph.nodes.length; i++) {
|
|
var nodeKey = graph.nodes[i];
|
|
var iterator = graph.createIterator(Structures_1.ConnectionMode.Outgoing);
|
|
iterator.visitEachEdgeOnce = false;
|
|
iterator.visitEachNodeOnce = false;
|
|
iterator.onNode = function (n) {
|
|
visitedNodes[n.key] = true;
|
|
nodesStack.push(n);
|
|
onStack[n.key] = true;
|
|
lowLink[n.key] = index;
|
|
lowIndex[n.key] = index;
|
|
index++;
|
|
};
|
|
iterator.skipNode = function (n) { return visitedNodes[n.key]; };
|
|
iterator.skipEdge = function (e) {
|
|
var isVisited = visitedNodes[e.to];
|
|
if (isVisited && onStack[e.to])
|
|
lowLink[e.from] = Math.min(lowLink[e.from], lowIndex[e.to]);
|
|
return isVisited;
|
|
};
|
|
iterator.onAfterEdge = function (e) {
|
|
lowLink[e.from] = Math.min(lowLink[e.from], lowLink[e.to]);
|
|
};
|
|
iterator.onAllEdges = function (n, outgoing) {
|
|
if (outgoing && lowLink[n.key] === lowIndex[n.key])
|
|
components.push(_this.getStronglyConnectedComponent(graph, n, nodesStack, onStack));
|
|
};
|
|
iterator.iterate(nodeKey);
|
|
}
|
|
return components;
|
|
};
|
|
CycleRemover.getStronglyConnectedComponent = function (graph, root, nodesStack, onStack) {
|
|
var itemsMap = {};
|
|
var nodes = [];
|
|
var edges = [];
|
|
var topStackNode;
|
|
do {
|
|
topStackNode = nodesStack.pop();
|
|
if (!itemsMap[topStackNode.key])
|
|
nodes.push(topStackNode);
|
|
itemsMap[topStackNode.key] = true;
|
|
onStack[topStackNode.key] = false;
|
|
} while (topStackNode !== root);
|
|
nodes.forEach(function (n) {
|
|
var aEdges = graph.getAdjacentEdges(n.key, Structures_1.ConnectionMode.Outgoing);
|
|
edges.push.apply(edges, aEdges.filter(function (e) { return !itemsMap[e.key] && itemsMap[e.to]; }));
|
|
aEdges.forEach(function (e) { return itemsMap[e.key] = true; });
|
|
});
|
|
return new Graph_1.Graph(nodes, edges);
|
|
};
|
|
return CycleRemover;
|
|
}());
|
|
exports.CycleRemover = CycleRemover;
|
|
|
|
|
|
/***/ }),
|
|
/* 235 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeZindexHistoryItem_1 = __webpack_require__(76);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var SendToBackCommand = /** @class */ (function (_super) {
|
|
__extends(SendToBackCommand, _super);
|
|
function SendToBackCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
SendToBackCommand.prototype.isEnabled = function () {
|
|
var items = this.control.selection.getSelectedItems();
|
|
return _super.prototype.isEnabled.call(this) && items.length > 0 && this.needSendToBack(items);
|
|
};
|
|
SendToBackCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var items = this.control.selection.getSelectedItems();
|
|
items.forEach(function (item) {
|
|
var newZIndex = _this.control.model.getIntersectItemsMinZIndex(item) - 1;
|
|
_this.control.history.addAndRedo(new ChangeZindexHistoryItem_1.ChangeZindexHistoryItem(item, newZIndex));
|
|
});
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
SendToBackCommand.prototype.needSendToBack = function (items) {
|
|
var _this = this;
|
|
var _loop_1 = function (i) {
|
|
var zIndex = this_1.control.model.getIntersectItemsMinZIndex(items[i]);
|
|
if (zIndex < items[i].zIndex)
|
|
return { value: true };
|
|
if (zIndex === items[i].zIndex) {
|
|
var result_1 = false;
|
|
var sameZIndexItems = this_1.control.model.getIntersectItems(items[i]).filter(function (item) { return item.zIndex === items[i].zIndex; });
|
|
sameZIndexItems.forEach(function (item) {
|
|
if (_this.control.model.getItemIndex(item) < _this.control.model.getItemIndex(items[i])) {
|
|
result_1 = true;
|
|
return;
|
|
}
|
|
});
|
|
return { value: result_1 };
|
|
}
|
|
};
|
|
var this_1 = this;
|
|
for (var i = 0; i < items.length; i++) {
|
|
var state_1 = _loop_1(i);
|
|
if (typeof state_1 === "object")
|
|
return state_1.value;
|
|
}
|
|
return false;
|
|
};
|
|
return SendToBackCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.SendToBackCommand = SendToBackCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 236 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeZindexHistoryItem_1 = __webpack_require__(76);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var BringToFrontCommand = /** @class */ (function (_super) {
|
|
__extends(BringToFrontCommand, _super);
|
|
function BringToFrontCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
BringToFrontCommand.prototype.isEnabled = function () {
|
|
var items = this.control.selection.getSelectedItems();
|
|
return _super.prototype.isEnabled.call(this) && items.length > 0 && this.needBringToFront(items);
|
|
};
|
|
BringToFrontCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var items = this.control.selection.getSelectedItems();
|
|
items.forEach(function (item) {
|
|
var newZIndex = _this.control.model.getIntersectItemsMaxZIndex(item) + 1;
|
|
_this.control.history.addAndRedo(new ChangeZindexHistoryItem_1.ChangeZindexHistoryItem(item, newZIndex));
|
|
});
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
BringToFrontCommand.prototype.needBringToFront = function (items) {
|
|
var _this = this;
|
|
var _loop_1 = function (i) {
|
|
var zIndex = this_1.control.model.getIntersectItemsMaxZIndex(items[i]);
|
|
if (zIndex > items[i].zIndex)
|
|
return { value: true };
|
|
if (zIndex === items[i].zIndex) {
|
|
var result_1 = false;
|
|
var sameZIndexItems = this_1.control.model.getIntersectItems(items[i]).filter(function (item) { return item.zIndex === items[i].zIndex; });
|
|
sameZIndexItems.forEach(function (item) {
|
|
if (_this.control.model.getItemIndex(item) > _this.control.model.getItemIndex(items[i])) {
|
|
result_1 = true;
|
|
return;
|
|
}
|
|
});
|
|
return { value: result_1 };
|
|
}
|
|
};
|
|
var this_1 = this;
|
|
for (var i = 0; i < items.length; i++) {
|
|
var state_1 = _loop_1(i);
|
|
if (typeof state_1 === "object")
|
|
return state_1.value;
|
|
}
|
|
return false;
|
|
};
|
|
return BringToFrontCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.BringToFrontCommand = BringToFrontCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 237 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var AutoLayoutCommandBase_1 = __webpack_require__(59);
|
|
var Sugiyama_1 = __webpack_require__(61);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var AutoLayoutLayeredHorizontalCommand = /** @class */ (function (_super) {
|
|
__extends(AutoLayoutLayeredHorizontalCommand, _super);
|
|
function AutoLayoutLayeredHorizontalCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
AutoLayoutLayeredHorizontalCommand.prototype.createLayoutSettings = function () {
|
|
var settings = new LayoutSettings_1.LayoutSettings();
|
|
settings.orientation = LayoutSettings_1.DataLayoutOrientation.Horizontal;
|
|
return settings;
|
|
};
|
|
AutoLayoutLayeredHorizontalCommand.prototype.createLayout = function (settings, graph) {
|
|
return new Sugiyama_1.SugiyamaLayoutBuilder(settings, graph).build();
|
|
};
|
|
return AutoLayoutLayeredHorizontalCommand;
|
|
}(AutoLayoutCommandBase_1.AutoLayoutCommandBase));
|
|
exports.AutoLayoutLayeredHorizontalCommand = AutoLayoutLayeredHorizontalCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 238 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var MoveCommand = /** @class */ (function (_super) {
|
|
__extends(MoveCommand, _super);
|
|
function MoveCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty();
|
|
};
|
|
MoveCommand.prototype.executeCore = function (state, parameter) {
|
|
var _this = this;
|
|
this.control.history.beginTransaction();
|
|
var shapes = this.control.selection.getSelectedShapes();
|
|
shapes.forEach(function (shape, index) {
|
|
var pos = _this.getPosition(shape.position);
|
|
ModelUtils_1.ModelUtils.setShapePosition(_this.control.history, _this.control.model, shape, pos);
|
|
ModelUtils_1.ModelUtils.updateShapeAttachedConnectors(_this.control.history, _this.control.model, shape);
|
|
});
|
|
var connectors = this.control.selection.getSelectedConnectors();
|
|
connectors.forEach(function (connector, index) {
|
|
var startPtIndex = connector.beginItem ? 1 : 0;
|
|
var endPtIndex = connector.endItem ? (connector.points.length - 2) : (connector.points.length - 1);
|
|
for (var i = startPtIndex; i <= endPtIndex; i++) {
|
|
var pos = _this.getPosition(connector.points[i]);
|
|
ModelUtils_1.ModelUtils.setConnectorPoint(_this.control.history, _this.control.model, connector, i, pos);
|
|
}
|
|
});
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.control.history, this.control.model);
|
|
this.control.history.endTransaction();
|
|
return true;
|
|
};
|
|
return MoveCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.MoveCommand = MoveCommand;
|
|
var MoveLeftCommand = /** @class */ (function (_super) {
|
|
__extends(MoveLeftCommand, _super);
|
|
function MoveLeftCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveLeftCommand.prototype.getPosition = function (position) {
|
|
return position.offset(-UnitConverter_1.UnitConverter.pixelsToTwips(1), 0);
|
|
};
|
|
return MoveLeftCommand;
|
|
}(MoveCommand));
|
|
exports.MoveLeftCommand = MoveLeftCommand;
|
|
var MoveStepLeftCommand = /** @class */ (function (_super) {
|
|
__extends(MoveStepLeftCommand, _super);
|
|
function MoveStepLeftCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveStepLeftCommand.prototype.getPosition = function (position) {
|
|
if (this.control.settings.snapToGrid)
|
|
return new Utils_1.Point(ModelUtils_1.ModelUtils.getSnappedPos(this.control.model, this.control.settings.gridSize, position.x - (this.control.settings.gridSize / 2 + 2), true), position.y);
|
|
else
|
|
return position.offset(-this.control.settings.gridSize, 0);
|
|
};
|
|
return MoveStepLeftCommand;
|
|
}(MoveCommand));
|
|
exports.MoveStepLeftCommand = MoveStepLeftCommand;
|
|
var MoveRightCommand = /** @class */ (function (_super) {
|
|
__extends(MoveRightCommand, _super);
|
|
function MoveRightCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveRightCommand.prototype.getPosition = function (position) {
|
|
return position.offset(UnitConverter_1.UnitConverter.pixelsToTwips(1), 0);
|
|
};
|
|
return MoveRightCommand;
|
|
}(MoveCommand));
|
|
exports.MoveRightCommand = MoveRightCommand;
|
|
var MoveStepRightCommand = /** @class */ (function (_super) {
|
|
__extends(MoveStepRightCommand, _super);
|
|
function MoveStepRightCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveStepRightCommand.prototype.getPosition = function (position) {
|
|
if (this.control.settings.snapToGrid)
|
|
return new Utils_1.Point(ModelUtils_1.ModelUtils.getSnappedPos(this.control.model, this.control.settings.gridSize, position.x + (this.control.settings.gridSize / 2 + 2), true), position.y);
|
|
else
|
|
return position.offset(this.control.settings.gridSize, 0);
|
|
};
|
|
return MoveStepRightCommand;
|
|
}(MoveCommand));
|
|
exports.MoveStepRightCommand = MoveStepRightCommand;
|
|
var MoveUpCommand = /** @class */ (function (_super) {
|
|
__extends(MoveUpCommand, _super);
|
|
function MoveUpCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveUpCommand.prototype.getPosition = function (position) {
|
|
return position.offset(0, -UnitConverter_1.UnitConverter.pixelsToTwips(1));
|
|
};
|
|
return MoveUpCommand;
|
|
}(MoveCommand));
|
|
exports.MoveUpCommand = MoveUpCommand;
|
|
var MoveStepUpCommand = /** @class */ (function (_super) {
|
|
__extends(MoveStepUpCommand, _super);
|
|
function MoveStepUpCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveStepUpCommand.prototype.getPosition = function (position) {
|
|
if (this.control.settings.snapToGrid)
|
|
return new Utils_1.Point(position.x, ModelUtils_1.ModelUtils.getSnappedPos(this.control.model, this.control.settings.gridSize, position.y - (this.control.settings.gridSize / 2 + 2), false));
|
|
else
|
|
return position.offset(0, -this.control.settings.gridSize);
|
|
};
|
|
return MoveStepUpCommand;
|
|
}(MoveCommand));
|
|
exports.MoveStepUpCommand = MoveStepUpCommand;
|
|
var MoveDownCommand = /** @class */ (function (_super) {
|
|
__extends(MoveDownCommand, _super);
|
|
function MoveDownCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveDownCommand.prototype.getPosition = function (position) {
|
|
return position.offset(0, UnitConverter_1.UnitConverter.pixelsToTwips(1));
|
|
};
|
|
return MoveDownCommand;
|
|
}(MoveCommand));
|
|
exports.MoveDownCommand = MoveDownCommand;
|
|
var MoveStepDownCommand = /** @class */ (function (_super) {
|
|
__extends(MoveStepDownCommand, _super);
|
|
function MoveStepDownCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MoveStepDownCommand.prototype.getPosition = function (position) {
|
|
if (this.control.settings.snapToGrid)
|
|
return new Utils_1.Point(position.x, ModelUtils_1.ModelUtils.getSnappedPos(this.control.model, this.control.settings.gridSize, position.y + (this.control.settings.gridSize / 2 + 2), false));
|
|
else
|
|
return position.offset(0, this.control.settings.gridSize);
|
|
};
|
|
return MoveStepDownCommand;
|
|
}(MoveCommand));
|
|
exports.MoveStepDownCommand = MoveStepDownCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 239 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
var ChangeZoomLevelCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeZoomLevelCommand, _super);
|
|
function ChangeZoomLevelCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeZoomLevelCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeZoomLevelCommand.prototype.getValue = function () {
|
|
return this.control.view.getZoom();
|
|
};
|
|
ChangeZoomLevelCommand.prototype.executeCore = function (state, parameter) {
|
|
this.control.settings.zoomLevel = parameter;
|
|
this.control.settings.autoZoom = DiagramSettings_1.AutoZoomMode.Disabled;
|
|
this.control.updateLayout(true);
|
|
return true;
|
|
};
|
|
ChangeZoomLevelCommand.prototype.getItems = function () {
|
|
return this.control.settings.zoomLevelItems.map(function (l) {
|
|
return { value: l, text: l * 100 + "%" };
|
|
});
|
|
};
|
|
return ChangeZoomLevelCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeZoomLevelCommand = ChangeZoomLevelCommand;
|
|
var ChangeZoomLevelItemsCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeZoomLevelItemsCommand, _super);
|
|
function ChangeZoomLevelItemsCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeZoomLevelItemsCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeZoomLevelItemsCommand.prototype.getValue = function () {
|
|
return this.control.settings.zoomLevelItems;
|
|
};
|
|
ChangeZoomLevelItemsCommand.prototype.executeCore = function (state, parameter) {
|
|
this.control.settings.zoomLevelItems = parameter;
|
|
return true;
|
|
};
|
|
return ChangeZoomLevelItemsCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeZoomLevelItemsCommand = ChangeZoomLevelItemsCommand;
|
|
var FitZoomCommandBase = /** @class */ (function (_super) {
|
|
__extends(FitZoomCommandBase, _super);
|
|
function FitZoomCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
FitZoomCommandBase.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !!this.control.render;
|
|
};
|
|
FitZoomCommandBase.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
FitZoomCommandBase.prototype.executeCore = function (state) {
|
|
var zoomLevel = this.getZoomLevel();
|
|
this.control.settings.zoomLevel = zoomLevel;
|
|
this.control.settings.autoZoom = DiagramSettings_1.AutoZoomMode.Disabled;
|
|
return true;
|
|
};
|
|
return FitZoomCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
var FitToScreenCommand = /** @class */ (function (_super) {
|
|
__extends(FitToScreenCommand, _super);
|
|
function FitToScreenCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
FitToScreenCommand.prototype.getZoomLevel = function () {
|
|
return this.control.render.view.getActualAutoZoomLevel(DiagramSettings_1.AutoZoomMode.FitContent);
|
|
};
|
|
return FitToScreenCommand;
|
|
}(FitZoomCommandBase));
|
|
exports.FitToScreenCommand = FitToScreenCommand;
|
|
var FitToWidthCommand = /** @class */ (function (_super) {
|
|
__extends(FitToWidthCommand, _super);
|
|
function FitToWidthCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
FitToWidthCommand.prototype.getZoomLevel = function () {
|
|
return this.control.render.view.getActualAutoZoomLevel(DiagramSettings_1.AutoZoomMode.FitToWidth);
|
|
};
|
|
return FitToWidthCommand;
|
|
}(FitZoomCommandBase));
|
|
exports.FitToWidthCommand = FitToWidthCommand;
|
|
var SwitchAutoZoomCommand = /** @class */ (function (_super) {
|
|
__extends(SwitchAutoZoomCommand, _super);
|
|
function SwitchAutoZoomCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
SwitchAutoZoomCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !!this.control.render;
|
|
};
|
|
SwitchAutoZoomCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
SwitchAutoZoomCommand.prototype.getValue = function () {
|
|
return this.control.settings.autoZoom;
|
|
};
|
|
SwitchAutoZoomCommand.prototype.executeCore = function (state, value) {
|
|
value = parseInt(value);
|
|
if (this.control.settings.autoZoom === value)
|
|
return false;
|
|
if (value === DiagramSettings_1.AutoZoomMode.Disabled)
|
|
this.control.settings.zoomLevel = this.control.view.getZoom();
|
|
this.control.settings.autoZoom = value;
|
|
return true;
|
|
};
|
|
return SwitchAutoZoomCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.SwitchAutoZoomCommand = SwitchAutoZoomCommand;
|
|
var ToggleAutoZoomCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleAutoZoomCommand, _super);
|
|
function ToggleAutoZoomCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleAutoZoomCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !!this.control.render;
|
|
};
|
|
ToggleAutoZoomCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ToggleAutoZoomCommand.prototype.getValue = function () {
|
|
return this.control.settings.autoZoom;
|
|
};
|
|
ToggleAutoZoomCommand.prototype.executeCore = function (state, value) {
|
|
var newValue;
|
|
if (value === undefined)
|
|
newValue = this.control.settings.autoZoom === DiagramSettings_1.AutoZoomMode.Disabled ? DiagramSettings_1.AutoZoomMode.FitContent : DiagramSettings_1.AutoZoomMode.Disabled;
|
|
else
|
|
newValue = value ? DiagramSettings_1.AutoZoomMode.FitContent : DiagramSettings_1.AutoZoomMode.Disabled;
|
|
if (this.control.settings.autoZoom === newValue)
|
|
return false;
|
|
if (!newValue)
|
|
this.control.settings.zoomLevel = this.control.view.getZoom();
|
|
this.control.settings.autoZoom = newValue;
|
|
return true;
|
|
};
|
|
return ToggleAutoZoomCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ToggleAutoZoomCommand = ToggleAutoZoomCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 240 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var ImportDataCommandBase_1 = __webpack_require__(241);
|
|
var DataLayoutParameters_1 = __webpack_require__(114);
|
|
var BindDocumentCommand = /** @class */ (function (_super) {
|
|
__extends(BindDocumentCommand, _super);
|
|
function BindDocumentCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
BindDocumentCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
BindDocumentCommand.prototype.performImportData = function (parameter) {
|
|
var dataSource = this.control.createDocumentDataSource(parameter.nodeDataSource, parameter.edgeDataSource, parameter.nodeDataImporter, parameter.edgeDataImporter);
|
|
var layoutParameters = (parameter.layoutParameters) ? new DataLayoutParameters_1.DataLayoutParameters(parameter.layoutParameters) : undefined;
|
|
this.control.history.beginTransaction();
|
|
ModelUtils_1.ModelUtils.deleteAllItems(this.control.history, this.control.model, this.control.selection);
|
|
this.createItems(dataSource, layoutParameters);
|
|
this.control.history.endTransaction();
|
|
this.control.history.clear();
|
|
};
|
|
return BindDocumentCommand;
|
|
}(ImportDataCommandBase_1.ImportDataCommandBase));
|
|
exports.BindDocumentCommand = BindDocumentCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 241 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ImportDataCommandBase = /** @class */ (function (_super) {
|
|
__extends(ImportDataCommandBase, _super);
|
|
function ImportDataCommandBase() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ImportDataCommandBase.prototype.executeCore = function (state, parameter) {
|
|
if (!parameter || !Array.isArray(parameter.nodeDataSource))
|
|
throw Error("Format exception");
|
|
this.performImportData(parameter);
|
|
this.control.updateLayout(true);
|
|
return true;
|
|
};
|
|
ImportDataCommandBase.prototype.createItems = function (dataSource, layoutParameters) {
|
|
dataSource.createModelItems(this.control.history, this.control.model, this.control.selection, layoutParameters, this.control.settings.snapToGrid, this.control.settings.gridSize);
|
|
};
|
|
return ImportDataCommandBase;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ImportDataCommandBase = ImportDataCommandBase;
|
|
|
|
|
|
/***/ }),
|
|
/* 242 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var UnbindDocumentCommand = /** @class */ (function (_super) {
|
|
__extends(UnbindDocumentCommand, _super);
|
|
function UnbindDocumentCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
UnbindDocumentCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
UnbindDocumentCommand.prototype.executeCore = function (state) {
|
|
this.control.deleteDocumentDataSource();
|
|
ModelUtils_1.ModelUtils.deleteAllItems(this.control.history, this.control.model, this.control.selection);
|
|
this.control.history.clear();
|
|
return true;
|
|
};
|
|
return UnbindDocumentCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.UnbindDocumentCommand = UnbindDocumentCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 243 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var AutoLayoutCommandBase_1 = __webpack_require__(59);
|
|
var WideTree_1 = __webpack_require__(73);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var AutoLayoutTreeHorizontalCommand = /** @class */ (function (_super) {
|
|
__extends(AutoLayoutTreeHorizontalCommand, _super);
|
|
function AutoLayoutTreeHorizontalCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
AutoLayoutTreeHorizontalCommand.prototype.createLayoutSettings = function () {
|
|
var gridSize = this.control.settings.snapToGrid ? this.control.settings.gridSize : undefined;
|
|
var settings = new LayoutSettings_1.TreeLayoutSettings(gridSize);
|
|
settings.orientation = LayoutSettings_1.DataLayoutOrientation.Horizontal;
|
|
return settings;
|
|
};
|
|
AutoLayoutTreeHorizontalCommand.prototype.createLayout = function (settings, graph) {
|
|
return new WideTree_1.TreeLayoutBuilder(settings, graph).build();
|
|
};
|
|
return AutoLayoutTreeHorizontalCommand;
|
|
}(AutoLayoutCommandBase_1.AutoLayoutCommandBase));
|
|
exports.AutoLayoutTreeHorizontalCommand = AutoLayoutTreeHorizontalCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 244 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var AutoLayoutCommandBase_1 = __webpack_require__(59);
|
|
var Sugiyama_1 = __webpack_require__(61);
|
|
var LayoutSettings_1 = __webpack_require__(22);
|
|
var AutoLayoutLayeredVerticalCommand = /** @class */ (function (_super) {
|
|
__extends(AutoLayoutLayeredVerticalCommand, _super);
|
|
function AutoLayoutLayeredVerticalCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
AutoLayoutLayeredVerticalCommand.prototype.createLayoutSettings = function () {
|
|
var settings = new LayoutSettings_1.LayoutSettings();
|
|
settings.orientation = LayoutSettings_1.DataLayoutOrientation.Vertical;
|
|
return settings;
|
|
};
|
|
AutoLayoutLayeredVerticalCommand.prototype.createLayout = function (settings, graph) {
|
|
return new Sugiyama_1.SugiyamaLayoutBuilder(settings, graph).build();
|
|
};
|
|
return AutoLayoutLayeredVerticalCommand;
|
|
}(AutoLayoutCommandBase_1.AutoLayoutCommandBase));
|
|
exports.AutoLayoutLayeredVerticalCommand = AutoLayoutLayeredVerticalCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 245 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeLockedCommand_1 = __webpack_require__(115);
|
|
var LockCommand = /** @class */ (function (_super) {
|
|
__extends(LockCommand, _super);
|
|
function LockCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
LockCommand.prototype.getLockState = function () {
|
|
return true;
|
|
};
|
|
return LockCommand;
|
|
}(ChangeLockedCommand_1.ChangeLockedCommand));
|
|
exports.LockCommand = LockCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 246 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeLockedCommand_1 = __webpack_require__(115);
|
|
var UnLockCommand = /** @class */ (function (_super) {
|
|
__extends(UnLockCommand, _super);
|
|
function UnLockCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
UnLockCommand.prototype.getLockState = function () {
|
|
return false;
|
|
};
|
|
return UnLockCommand;
|
|
}(ChangeLockedCommand_1.ChangeLockedCommand));
|
|
exports.UnLockCommand = UnLockCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 247 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Model_1 = __webpack_require__(19);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var CloneCommand = /** @class */ (function (_super) {
|
|
__extends(CloneCommand, _super);
|
|
function CloneCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CloneCommand.prototype.isEnabled = function () {
|
|
return _super.prototype.isEnabled.call(this) && !this.control.selection.isEmpty();
|
|
};
|
|
CloneCommand.prototype.executeCore = function (state, parameter) {
|
|
var selectionRect = Model_1.DiagramModel.getRectangle(this.control.selection.getSelectedItems());
|
|
ModelUtils_1.ModelUtils.cloneSelectionToOffset(this.control.history, this.control.model, this.control.selection, this.getOffsetX(selectionRect), this.getOffsetY(selectionRect));
|
|
return true;
|
|
};
|
|
CloneCommand.prototype.getOffsetX = function (selectionRect) {
|
|
return 0;
|
|
};
|
|
;
|
|
CloneCommand.prototype.getOffsetY = function (selectionRect) {
|
|
return 0;
|
|
};
|
|
;
|
|
return CloneCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.CloneCommand = CloneCommand;
|
|
var CloneLeftCommand = /** @class */ (function (_super) {
|
|
__extends(CloneLeftCommand, _super);
|
|
function CloneLeftCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CloneLeftCommand.prototype.getOffsetX = function (selectionRect) {
|
|
return -selectionRect.width;
|
|
};
|
|
;
|
|
return CloneLeftCommand;
|
|
}(CloneCommand));
|
|
exports.CloneLeftCommand = CloneLeftCommand;
|
|
var CloneRightCommand = /** @class */ (function (_super) {
|
|
__extends(CloneRightCommand, _super);
|
|
function CloneRightCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CloneRightCommand.prototype.getOffsetX = function (selectionRect) {
|
|
return selectionRect.width;
|
|
};
|
|
;
|
|
return CloneRightCommand;
|
|
}(CloneCommand));
|
|
exports.CloneRightCommand = CloneRightCommand;
|
|
var CloneUpCommand = /** @class */ (function (_super) {
|
|
__extends(CloneUpCommand, _super);
|
|
function CloneUpCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CloneUpCommand.prototype.getOffsetY = function (selectionRect) {
|
|
return -selectionRect.height;
|
|
};
|
|
;
|
|
return CloneUpCommand;
|
|
}(CloneCommand));
|
|
exports.CloneUpCommand = CloneUpCommand;
|
|
var CloneDownCommand = /** @class */ (function (_super) {
|
|
__extends(CloneDownCommand, _super);
|
|
function CloneDownCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
CloneDownCommand.prototype.getOffsetY = function (selectionRect) {
|
|
return selectionRect.height;
|
|
};
|
|
;
|
|
return CloneDownCommand;
|
|
}(CloneCommand));
|
|
exports.CloneDownCommand = CloneDownCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 248 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangePagePropertyCommand_1 = __webpack_require__(60);
|
|
var ChangePagePropertyHistoryItem_1 = __webpack_require__(249);
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeUnitsCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeUnitsCommand, _super);
|
|
function ChangeUnitsCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeUnitsCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeUnitsCommand.prototype.getValue = function () {
|
|
return this.control.model.units;
|
|
};
|
|
ChangeUnitsCommand.prototype.createHistoryItems = function (parameter) {
|
|
return [new ChangePagePropertyHistoryItem_1.ChangeUnitsHistoryItem(parameter)];
|
|
};
|
|
ChangeUnitsCommand.prototype.getItems = function () {
|
|
var _this = this;
|
|
return Object.keys(this.control.settings.unitItems).map(function (key) {
|
|
return { value: parseInt(key), text: _this.control.settings.unitItems[key] };
|
|
});
|
|
};
|
|
return ChangeUnitsCommand;
|
|
}(ChangePagePropertyCommand_1.ChangePagePropertyCommand));
|
|
exports.ChangeUnitsCommand = ChangeUnitsCommand;
|
|
var ChangeViewUnitsCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeViewUnitsCommand, _super);
|
|
function ChangeViewUnitsCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeViewUnitsCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeViewUnitsCommand.prototype.getValue = function () {
|
|
return this.control.settings.viewUnits;
|
|
};
|
|
ChangeViewUnitsCommand.prototype.executeCore = function (state, parameter) {
|
|
this.control.settings.viewUnits = parameter;
|
|
return true;
|
|
};
|
|
ChangeViewUnitsCommand.prototype.getItems = function () {
|
|
var _this = this;
|
|
return Object.keys(this.control.settings.unitItems).map(function (key) {
|
|
return { value: parseInt(key), text: _this.control.settings.unitItems[key] };
|
|
});
|
|
};
|
|
return ChangeViewUnitsCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeViewUnitsCommand = ChangeViewUnitsCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 249 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangePagePropertyHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangePagePropertyHistoryItem, _super);
|
|
function ChangePagePropertyHistoryItem(value) {
|
|
var _this = _super.call(this) || this;
|
|
_this.value = value;
|
|
return _this;
|
|
}
|
|
ChangePagePropertyHistoryItem.prototype.redo = function (manipulator) {
|
|
var _this = this;
|
|
this.oldValue = this.getValue(manipulator.model);
|
|
manipulator.changePageProperty(function (m) { return _this.setValue(m, _this.value); });
|
|
};
|
|
ChangePagePropertyHistoryItem.prototype.undo = function (manipulator) {
|
|
var _this = this;
|
|
manipulator.changePageProperty(function (m) { return _this.setValue(m, _this.oldValue); });
|
|
};
|
|
return ChangePagePropertyHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
var ChangeUnitsHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeUnitsHistoryItem, _super);
|
|
function ChangeUnitsHistoryItem() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.setValue = function (model, value) { return model.units = value; };
|
|
_this.getValue = function (model) { return model.units; };
|
|
return _this;
|
|
}
|
|
return ChangeUnitsHistoryItem;
|
|
}(ChangePagePropertyHistoryItem));
|
|
exports.ChangeUnitsHistoryItem = ChangeUnitsHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 250 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangePagePropertyCommand_1 = __webpack_require__(60);
|
|
var ChangePageColorHistoryItem_1 = __webpack_require__(251);
|
|
var __1 = __webpack_require__(8);
|
|
var Model_1 = __webpack_require__(19);
|
|
var ChangePageColorCommand = /** @class */ (function (_super) {
|
|
__extends(ChangePageColorCommand, _super);
|
|
function ChangePageColorCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangePageColorCommand.prototype.getValue = function () {
|
|
return __1.ColorHelper.colorToHash(this.control.model.pageColor);
|
|
};
|
|
ChangePageColorCommand.prototype.getDefaultValue = function () {
|
|
return __1.ColorHelper.colorToHash(Model_1.DiagramModel.defaultPageColor);
|
|
};
|
|
ChangePageColorCommand.prototype.createHistoryItems = function (parameter) {
|
|
return [new ChangePageColorHistoryItem_1.ChangePageColorHistoryItem(__1.ColorHelper.stringToColor(parameter))];
|
|
};
|
|
return ChangePageColorCommand;
|
|
}(ChangePagePropertyCommand_1.ChangePagePropertyCommand));
|
|
exports.ChangePageColorCommand = ChangePageColorCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 251 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangePageColorHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangePageColorHistoryItem, _super);
|
|
function ChangePageColorHistoryItem(value) {
|
|
var _this = _super.call(this) || this;
|
|
_this.value = value;
|
|
return _this;
|
|
}
|
|
ChangePageColorHistoryItem.prototype.redo = function (manipulator) {
|
|
this.oldValue = manipulator.model.pageColor;
|
|
manipulator.changePageColor(this.value);
|
|
};
|
|
ChangePageColorHistoryItem.prototype.undo = function (manipulator) {
|
|
manipulator.changePageColor(this.oldValue);
|
|
};
|
|
return ChangePageColorHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangePageColorHistoryItem = ChangePageColorHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 252 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ChangeShowGridCommand = /** @class */ (function (_super) {
|
|
__extends(ChangeShowGridCommand, _super);
|
|
function ChangeShowGridCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ChangeShowGridCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ChangeShowGridCommand.prototype.executeCore = function (state, parameter) {
|
|
var newValue = parameter === undefined ? !this.control.settings.showGrid : !!parameter;
|
|
if (this.control.settings.showGrid !== newValue) {
|
|
this.control.settings.showGrid = newValue;
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
ChangeShowGridCommand.prototype.getValue = function () {
|
|
return this.control.settings.showGrid;
|
|
};
|
|
return ChangeShowGridCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ChangeShowGridCommand = ChangeShowGridCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 253 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ToggleFullscreenCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleFullscreenCommand, _super);
|
|
function ToggleFullscreenCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleFullscreenCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ToggleFullscreenCommand.prototype.getValue = function () {
|
|
return this.control.settings.fullscreen;
|
|
};
|
|
ToggleFullscreenCommand.prototype.executeCore = function (state, parameter) {
|
|
var newValue = typeof parameter === "boolean" ? parameter : !state.value;
|
|
if (this.control.settings.fullscreen !== newValue) {
|
|
this.control.settings.fullscreen = !state.value;
|
|
this.control.notifyToggleFullscreen(this.control.settings.fullscreen);
|
|
}
|
|
return true;
|
|
};
|
|
return ToggleFullscreenCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ToggleFullscreenCommand = ToggleFullscreenCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 254 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ToggleSimpleViewCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleSimpleViewCommand, _super);
|
|
function ToggleSimpleViewCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleSimpleViewCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ToggleSimpleViewCommand.prototype.getValue = function () {
|
|
return this.control.settings.simpleView;
|
|
};
|
|
ToggleSimpleViewCommand.prototype.executeCore = function (state, parameter) {
|
|
if (typeof parameter === "boolean")
|
|
this.control.settings.simpleView = parameter;
|
|
else if (parameter === undefined)
|
|
this.control.settings.simpleView = !state.value;
|
|
this.control.updateLayout(true);
|
|
return true;
|
|
};
|
|
return ToggleSimpleViewCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ToggleSimpleViewCommand = ToggleSimpleViewCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 255 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SimpleCommandBase_1 = __webpack_require__(7);
|
|
var ToggleReadOnlyCommand = /** @class */ (function (_super) {
|
|
__extends(ToggleReadOnlyCommand, _super);
|
|
function ToggleReadOnlyCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ToggleReadOnlyCommand.prototype.isEnabledInReadOnlyMode = function () {
|
|
return true;
|
|
};
|
|
ToggleReadOnlyCommand.prototype.getValue = function () {
|
|
return this.control.settings.readOnly;
|
|
};
|
|
ToggleReadOnlyCommand.prototype.executeCore = function (state, parameter) {
|
|
if (typeof parameter === "boolean")
|
|
this.control.settings.readOnly = parameter;
|
|
else if (parameter === undefined)
|
|
this.control.settings.readOnly = !state.value;
|
|
return true;
|
|
};
|
|
return ToggleReadOnlyCommand;
|
|
}(SimpleCommandBase_1.SimpleCommandBase));
|
|
exports.ToggleReadOnlyCommand = ToggleReadOnlyCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 256 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var EditShapeImageCommandBase_1 = __webpack_require__(77);
|
|
var EditShapeImageCommand = /** @class */ (function (_super) {
|
|
__extends(EditShapeImageCommand, _super);
|
|
function EditShapeImageCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
EditShapeImageCommand.prototype.isEnabled = function () {
|
|
var selectedShape = this.getSelectedShape();
|
|
return _super.prototype.isEnabled.call(this) && !selectedShape.image.isEmpty;
|
|
};
|
|
return EditShapeImageCommand;
|
|
}(EditShapeImageCommandBase_1.EditShapeImageCommandBase));
|
|
exports.EditShapeImageCommand = EditShapeImageCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 257 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var PasteSelectoinCommandBase_1 = __webpack_require__(113);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var PasteSelectionInPositionCommand = /** @class */ (function (_super) {
|
|
__extends(PasteSelectionInPositionCommand, _super);
|
|
function PasteSelectionInPositionCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
PasteSelectionInPositionCommand.prototype.calculateSelectionOffset = function (items, position) {
|
|
var selectionPos = items.reduce(function (min, i) {
|
|
return {
|
|
x: Math.min(min.x, i instanceof Shape_1.Shape ? i.position.x : i instanceof Connector_1.Connector ? i.getMinX() : Number.MAX_VALUE),
|
|
y: Math.min(min.y, i instanceof Shape_1.Shape ? i.position.y : i instanceof Connector_1.Connector ? i.getMinY() : Number.MAX_VALUE)
|
|
};
|
|
}, {
|
|
x: Number.MAX_VALUE,
|
|
y: Number.MAX_VALUE
|
|
});
|
|
var newSelectionPos = this.control.render.getModelPointByEventPoint(position.x, position.y);
|
|
this.offsetX = newSelectionPos.x - selectionPos.x;
|
|
this.offsetY = newSelectionPos.y - selectionPos.y;
|
|
};
|
|
PasteSelectionInPositionCommand.prototype.getShapeNewPosition = function (position) {
|
|
var newPosition = position.offset(this.offsetX, this.offsetY);
|
|
return PasteSelectoinCommandBase_1.PasteSelectionCommandBase.getShapeNewPosition(this.control.model, newPosition);
|
|
};
|
|
PasteSelectionInPositionCommand.prototype.changeConnectorPoints = function (connector) {
|
|
var _this = this;
|
|
connector.points.forEach(function (pt) {
|
|
pt.x += _this.offsetX;
|
|
pt.y += _this.offsetY;
|
|
});
|
|
PasteSelectoinCommandBase_1.PasteSelectionCommandBase.changeConnectorPoints(this.control.model, connector);
|
|
};
|
|
return PasteSelectionInPositionCommand;
|
|
}(PasteSelectoinCommandBase_1.PasteSelectionCommandBase));
|
|
exports.PasteSelectionInPositionCommand = PasteSelectionInPositionCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 258 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var XMLImporter_1 = __webpack_require__(259);
|
|
var ExportImportCommandBase_1 = __webpack_require__(47);
|
|
var ImportXMLCommand = /** @class */ (function (_super) {
|
|
__extends(ImportXMLCommand, _super);
|
|
function ImportXMLCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
ImportXMLCommand.prototype.executeCore = function (state, parameter) {
|
|
var importer = new XMLImporter_1.XmlImporter(parameter);
|
|
var model = importer.import();
|
|
this.control.importModel(model);
|
|
return true;
|
|
};
|
|
return ImportXMLCommand;
|
|
}(ExportImportCommandBase_1.ExportImportCommandBase));
|
|
exports.ImportXMLCommand = ImportXMLCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 259 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var ImporterBase_1 = __webpack_require__(106);
|
|
var __1 = __webpack_require__(8);
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ImportUtils_1 = __webpack_require__(71);
|
|
var Color_1 = __webpack_require__(38);
|
|
var XmlImporter = /** @class */ (function (_super) {
|
|
__extends(XmlImporter, _super);
|
|
function XmlImporter(xml) {
|
|
var _this = _super.call(this) || this;
|
|
_this.doc = ImportUtils_1.ImportUtils.createDocument(xml);
|
|
return _this;
|
|
}
|
|
XmlImporter.prototype.getObject = function () {
|
|
return this.doc;
|
|
};
|
|
XmlImporter.prototype.getPageObject = function (obj) {
|
|
var pageElements = this.doc.querySelectorAll("[ItemKind='DiagramRoot']");
|
|
return pageElements && pageElements[0];
|
|
};
|
|
XmlImporter.prototype.getShapeObjects = function (obj) {
|
|
var shapeObjs = [];
|
|
this.doc.querySelectorAll("[ItemKind='DiagramRoot'] > Children > [ItemKind='DiagramShape']").forEach(function (obj) { shapeObjs.push(obj); });
|
|
this.doc.querySelectorAll("[ItemKind='DiagramRoot'] > Children > [ItemKind='DiagramContainer']").forEach(function (obj) { shapeObjs.push(obj); });
|
|
return shapeObjs;
|
|
};
|
|
XmlImporter.prototype.getConnectorObjects = function (obj) {
|
|
var connectorObjs = [];
|
|
this.doc.querySelectorAll("[ItemKind='DiagramRoot'] > Children > [ItemKind='DiagramConnector']").forEach(function (obj) { connectorObjs.push(obj); });
|
|
return connectorObjs;
|
|
};
|
|
XmlImporter.prototype.importPageSettings = function (model, pageObj) {
|
|
if (!pageObj)
|
|
return;
|
|
var pageSizeAttr = pageObj.getAttribute("PageSize");
|
|
var pageSize = this.getSize(pageSizeAttr);
|
|
if (pageSize) {
|
|
model.size = pageSize.clone();
|
|
model.pageSize = pageSize.clone();
|
|
}
|
|
};
|
|
XmlImporter.prototype.importShape = function (shapeObj) {
|
|
var positionAttr = shapeObj.getAttribute("Position");
|
|
var position = this.getPoint(positionAttr);
|
|
var shapeAttr = shapeObj.getAttribute("Shape");
|
|
var shapeType = this.getShapeType(shapeAttr);
|
|
var description = ShapeDescriptionManager_1.ShapeDescriptionManager.get(shapeType);
|
|
var shape = new Shape_1.Shape(description || ShapeDescriptionManager_1.ShapeDescriptionManager.get(ShapeTypes_1.ShapeTypes.Rectangle), position);
|
|
shape.key = this.getItemKey(shapeObj);
|
|
var sizeAttr = shapeObj.getAttribute("Size");
|
|
var size = this.getSize(sizeAttr);
|
|
if (size)
|
|
shape.size = size;
|
|
var contentAttr = shapeObj.getAttribute("Content");
|
|
if (typeof contentAttr === "string")
|
|
shape.text = contentAttr;
|
|
else {
|
|
var headerAttr = shapeObj.getAttribute("Header");
|
|
if (typeof headerAttr === "string")
|
|
shape.text = headerAttr;
|
|
}
|
|
this.importStyle(shapeObj, shape);
|
|
return shape;
|
|
};
|
|
XmlImporter.prototype.importShapeChildren = function (shapeObj, shape) {
|
|
var childShapeObjs = [];
|
|
shapeObj.setAttribute("dxDiagram", "");
|
|
this.doc.querySelectorAll("[dxDiagram] > Children > [ItemKind='DiagramShape']").forEach(function (obj) { childShapeObjs.push(obj); });
|
|
this.doc.querySelectorAll("[dxDiagram] > Children > [ItemKind='DiagramContainer']").forEach(function (obj) { childShapeObjs.push(obj); });
|
|
shapeObj.removeAttribute("dxDiagram");
|
|
var result = [];
|
|
if (!childShapeObjs)
|
|
return result;
|
|
for (var i = 0; i < childShapeObjs.length; i++) {
|
|
var childShapeObj = childShapeObjs[i];
|
|
var childShape = this.importShape(childShapeObj);
|
|
childShape.key = shape.key + "," + childShape.key;
|
|
var rect = shape.clientRectangle;
|
|
childShape.position = childShape.position.offset(rect.left, rect.top);
|
|
shape.childKeys.push(childShape.key);
|
|
result.push(childShape);
|
|
result = result.concat(this.importShapeChildren(childShapeObj, childShape));
|
|
}
|
|
return result;
|
|
};
|
|
XmlImporter.prototype.importConnector = function (connectorObj) {
|
|
var _this = this;
|
|
var points = [];
|
|
var beginPointAttr = connectorObj.getAttribute("BeginPoint");
|
|
var beginPoint = this.getPoint(beginPointAttr);
|
|
if (beginPoint)
|
|
points.push(beginPoint);
|
|
var pointsAttr = connectorObj.getAttribute("Points");
|
|
pointsAttr.split(" ").forEach(function (pointAttr) {
|
|
var point = _this.getPoint(pointAttr);
|
|
if (point)
|
|
points.push(point);
|
|
});
|
|
var endPointAttr = connectorObj.getAttribute("EndPoint");
|
|
var endPoint = this.getPoint(endPointAttr);
|
|
if (endPoint)
|
|
points.push(endPoint);
|
|
var connector = new Connector_1.Connector(points);
|
|
connector.key = this.getItemKey(connectorObj);
|
|
var endItemPointIndexAttr = connectorObj.getAttribute("EndItemPointIndex");
|
|
var endItemPointIndex = parseInt(endItemPointIndexAttr);
|
|
connector.endConnectionPointIndex = !isNaN(endItemPointIndex) ? endItemPointIndex : -1;
|
|
var beginItemPointIndexAttr = connectorObj.getAttribute("BeginItemPointIndex");
|
|
var beginItemPointIndex = parseInt(beginItemPointIndexAttr);
|
|
connector.beginConnectionPointIndex = !isNaN(beginItemPointIndex) ? beginItemPointIndex : -1;
|
|
var endItemAttr = connectorObj.getAttribute("EndItem");
|
|
if (endItemAttr !== undefined)
|
|
this.assert(endItemAttr, "string");
|
|
var beginItemAttr = connectorObj.getAttribute("BeginItem");
|
|
if (beginItemAttr !== undefined)
|
|
this.assert(beginItemAttr, "string");
|
|
connector["endItemKey"] = endItemAttr;
|
|
connector["beginItemKey"] = beginItemAttr;
|
|
var contentAttr = connectorObj.getAttribute("Content");
|
|
if (typeof contentAttr === "string")
|
|
connector.setText(contentAttr);
|
|
this.importStyle(connectorObj, connector);
|
|
return connector;
|
|
};
|
|
XmlImporter.prototype.importStyle = function (obj, item) {
|
|
var backgroundAttr = obj.getAttribute("Background");
|
|
if (typeof backgroundAttr === "string")
|
|
item.style["fill"] = this.getColor(backgroundAttr);
|
|
var strokeAttr = obj.getAttribute("Stroke");
|
|
if (typeof strokeAttr === "string")
|
|
item.style["stroke"] = this.getColor(strokeAttr);
|
|
var foregroundAttr = obj.getAttribute("Foreground");
|
|
if (typeof foregroundAttr === "string")
|
|
item.styleText["fill"] = this.getColor(foregroundAttr);
|
|
var fontFamilyAttr = obj.getAttribute("FontFamily");
|
|
if (typeof fontFamilyAttr === "string")
|
|
item.styleText["font-family"] = fontFamilyAttr;
|
|
var fontSizeAttr = obj.getAttribute("FontSize");
|
|
if (typeof fontSizeAttr === "string")
|
|
item.styleText["font-size"] = fontSizeAttr;
|
|
var fontWeightAttr = obj.getAttribute("FontWeight");
|
|
if (fontWeightAttr === "Bold")
|
|
item.styleText["font-weight"] = "bold";
|
|
var fontStyleAttr = obj.getAttribute("FontStyle");
|
|
if (fontStyleAttr === "Italic")
|
|
item.styleText["font-style"] = "italic";
|
|
var textDecorationsAttr = obj.getAttribute("TextDecorations");
|
|
if (textDecorationsAttr === "Underline")
|
|
item.styleText["text-decoration"] = "underline";
|
|
var textAlignmentAttr = obj.getAttribute("TextAlignment");
|
|
if (textAlignmentAttr === "Left")
|
|
item.styleText["text-anchor"] = "start";
|
|
else if (textAlignmentAttr === "Right")
|
|
item.styleText["text-anchor"] = "end";
|
|
else if (textAlignmentAttr === "Right")
|
|
item.styleText["text-anchor"] = "middle";
|
|
};
|
|
XmlImporter.prototype.getShapeType = function (shapeAttr) {
|
|
if (XmlImporter.shapeTypes[shapeAttr])
|
|
return XmlImporter.shapeTypes[shapeAttr];
|
|
if (shapeAttr && shapeAttr.toLowerCase().indexOf("container") > -1)
|
|
return ShapeTypes_1.ShapeTypes.VerticalContainer;
|
|
return ShapeTypes_1.ShapeTypes.Rectangle;
|
|
};
|
|
XmlImporter.prototype.getItemKey = function (obj) {
|
|
return (parseInt(obj.tagName.replace("Item", "")) - 1).toString();
|
|
};
|
|
XmlImporter.prototype.getNumbers = function (s) {
|
|
var parts = s.split(",");
|
|
return parts && parts.length ? parts.map(function (part) { return +part; }) : [];
|
|
};
|
|
XmlImporter.prototype.getSize = function (attrValue) {
|
|
if (attrValue) {
|
|
var numbers = this.getNumbers(attrValue);
|
|
if (numbers.length >= 2) {
|
|
this.assert(numbers[0], "number");
|
|
this.assert(numbers[1], "number");
|
|
return new Utils_1.Size(__1.UnitConverter.pixelsToTwips(numbers[0]), __1.UnitConverter.pixelsToTwips(numbers[1]));
|
|
}
|
|
}
|
|
};
|
|
XmlImporter.prototype.getPoint = function (attrValue) {
|
|
if (attrValue) {
|
|
var numbers = this.getNumbers(attrValue);
|
|
if (numbers.length >= 2) {
|
|
this.assert(numbers[0], "number");
|
|
this.assert(numbers[1], "number");
|
|
return new Utils_1.Point(__1.UnitConverter.pixelsToTwips(numbers[0]), __1.UnitConverter.pixelsToTwips(numbers[1]));
|
|
}
|
|
}
|
|
};
|
|
XmlImporter.prototype.getColor = function (attrValue) {
|
|
attrValue = attrValue.charAt(0) == "#" ? attrValue.substr(1) : attrValue;
|
|
var color = parseInt(attrValue, 16);
|
|
return !isNaN(color) ? Color_1.ColorHelper.colorToHash(color) : undefined;
|
|
};
|
|
XmlImporter.shapeTypes = {
|
|
"BasicShapes.Rectangle": ShapeTypes_1.ShapeTypes.Rectangle,
|
|
"BasicShapes.Ellipse": ShapeTypes_1.ShapeTypes.Ellipse,
|
|
"BasicShapes.Triangle": ShapeTypes_1.ShapeTypes.Triangle,
|
|
"BasicShapes.Pentagon": ShapeTypes_1.ShapeTypes.Pentagon,
|
|
"BasicShapes.Hexagon": ShapeTypes_1.ShapeTypes.Hexagon,
|
|
"BasicShapes.Octagon": ShapeTypes_1.ShapeTypes.Octagon,
|
|
"BasicShapes.Diamond": ShapeTypes_1.ShapeTypes.Diamond,
|
|
"BasicShapes.Cross": ShapeTypes_1.ShapeTypes.Cross,
|
|
"BasicShapes.Star5": ShapeTypes_1.ShapeTypes.Star,
|
|
"BasicFlowchartShapes.StartEnd": ShapeTypes_1.ShapeTypes.Terminator,
|
|
"BasicFlowchartShapes.Data": ShapeTypes_1.ShapeTypes.Data,
|
|
"BasicFlowchartShapes.Database": ShapeTypes_1.ShapeTypes.Database,
|
|
"BasicFlowchartShapes.ExternalData": ShapeTypes_1.ShapeTypes.StoredData,
|
|
"BasicFlowchartShapes.Process": ShapeTypes_1.ShapeTypes.Process,
|
|
"BasicFlowchartShapes.Decision": ShapeTypes_1.ShapeTypes.Decision,
|
|
"BasicFlowchartShapes.Subprocess": ShapeTypes_1.ShapeTypes.PredefinedProcess,
|
|
"BasicFlowchartShapes.Document": ShapeTypes_1.ShapeTypes.Document,
|
|
"BasicFlowchartShapes.Custom1": ShapeTypes_1.ShapeTypes.ManualInput,
|
|
"BasicFlowchartShapes.Custom2": ShapeTypes_1.ShapeTypes.ManualOperation,
|
|
"ArrowShapes.SimpleArrow": ShapeTypes_1.ShapeTypes.ArrowLeft,
|
|
"ArrowShapes.SimpleDoubleArrow": ShapeTypes_1.ShapeTypes.ArrowEastWest
|
|
};
|
|
return XmlImporter;
|
|
}(ImporterBase_1.ImporterBase));
|
|
exports.XmlImporter = XmlImporter;
|
|
|
|
|
|
/***/ }),
|
|
/* 260 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var EditShapeImageCommandBase_1 = __webpack_require__(77);
|
|
var InsertShapeImageCommand = /** @class */ (function (_super) {
|
|
__extends(InsertShapeImageCommand, _super);
|
|
function InsertShapeImageCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
InsertShapeImageCommand.prototype.isEnabled = function () {
|
|
var selectedShape = this.getSelectedShape();
|
|
return _super.prototype.isEnabled.call(this) && selectedShape.image.isEmpty;
|
|
};
|
|
return InsertShapeImageCommand;
|
|
}(EditShapeImageCommandBase_1.EditShapeImageCommandBase));
|
|
exports.InsertShapeImageCommand = InsertShapeImageCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 261 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var EditShapeImageCommandBase_1 = __webpack_require__(77);
|
|
var DeleteShapeImageCommand = /** @class */ (function (_super) {
|
|
__extends(DeleteShapeImageCommand, _super);
|
|
function DeleteShapeImageCommand() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
DeleteShapeImageCommand.prototype.isEnabled = function () {
|
|
var selectedShape = this.getSelectedShape();
|
|
return _super.prototype.isEnabled.call(this) && !selectedShape.image.isEmpty;
|
|
};
|
|
DeleteShapeImageCommand.prototype.executeCore = function (state, parameter) {
|
|
return _super.prototype.executeCore.call(this, state, undefined);
|
|
};
|
|
return DeleteShapeImageCommand;
|
|
}(EditShapeImageCommandBase_1.EditShapeImageCommandBase));
|
|
exports.DeleteShapeImageCommand = DeleteShapeImageCommand;
|
|
|
|
|
|
/***/ }),
|
|
/* 262 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelManipulator_1 = __webpack_require__(263);
|
|
var CommandManager_1 = __webpack_require__(48);
|
|
var EventManager_1 = __webpack_require__(264);
|
|
var Model_1 = __webpack_require__(19);
|
|
var Selection_1 = __webpack_require__(293);
|
|
var History_1 = __webpack_require__(295);
|
|
var BarManager_1 = __webpack_require__(296);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var DocumentDataSource_1 = __webpack_require__(297);
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
var ViewController_1 = __webpack_require__(301);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var ToolboxManager_1 = __webpack_require__(302);
|
|
var _1 = __webpack_require__(8);
|
|
var ApiController_1 = __webpack_require__(305);
|
|
var DiagramControl = /** @class */ (function () {
|
|
function DiagramControl() {
|
|
this.processDataChangesNeeded = false;
|
|
this.settings = new DiagramSettings_1.DiagramSettings();
|
|
this.model = new Model_1.DiagramModel();
|
|
this.selection = new Selection_1.Selection(this.model);
|
|
this.modelManipulator = new ModelManipulator_1.ModelManipulator(this.model);
|
|
this.history = new History_1.History(this.modelManipulator);
|
|
this.onNativeAction = new _1.EventDispatcher();
|
|
this.view = new ViewController_1.ViewController(this.settings);
|
|
this.commandManager = new CommandManager_1.CommandManager(this);
|
|
this.barManager = new BarManager_1.BarManager(this);
|
|
this.eventManager = new EventManager_1.EventManager(this);
|
|
this.selection.onChanged.add(this.barManager);
|
|
this.selection.onChanged.add(this);
|
|
this.modelManipulator.onLoad();
|
|
this.history.onChanged.add(this);
|
|
this.toolboxManager = new ToolboxManager_1.ToolboxManager(this.settings.readOnly);
|
|
this.settings.onReadOnlyChanged.add(this.toolboxManager);
|
|
this.apiController = new ApiController_1.ApiController(this.onNativeAction, this.selection, this.model);
|
|
}
|
|
DiagramControl.prototype.dispose = function () {
|
|
this.toolboxManager.dispose();
|
|
if (this.render)
|
|
this.render.dispose();
|
|
};
|
|
DiagramControl.prototype.createDocument = function (parent) {
|
|
if (this.render)
|
|
this.render.replaceParent(parent);
|
|
else {
|
|
this.render = new RenderManager_1.RenderManager(parent, this.eventManager, {
|
|
pageColor: this.model.pageColor,
|
|
modelSize: this.model.size,
|
|
pageLandscape: this.model.pageLandscape,
|
|
pageSize: this.model.pageSize,
|
|
simpleView: this.settings.simpleView,
|
|
readOnly: this.settings.readOnly,
|
|
gridSize: this.settings.gridSize,
|
|
gridVisible: this.settings.showGrid,
|
|
zoomLevel: this.settings.zoomLevel,
|
|
autoZoom: this.settings.autoZoom,
|
|
rectangle: this.model.getRectangle(true)
|
|
});
|
|
this.settings.onZoomChanged.add(this.render.view);
|
|
this.settings.onViewChanged.add(this.render.page);
|
|
this.settings.onViewChanged.add(this.render.view);
|
|
this.settings.onReadOnlyChanged.add(this.eventManager.mouseHandler);
|
|
this.settings.onReadOnlyChanged.add(this.eventManager.visualizersManager);
|
|
this.settings.onReadOnlyChanged.add(this.render);
|
|
this.settings.onReadOnlyChanged.add(this.render.selection);
|
|
this.eventManager.onTextInputOperation.add(this.render.input);
|
|
this.eventManager.onTextInputOperation.add(this.render.items);
|
|
this.eventManager.onTextInputOperation.add(this.render.selection);
|
|
this.eventManager.onMouseOperation.add(this.render.items);
|
|
this.eventManager.onMouseOperation.add(this.render.selection);
|
|
this.eventManager.onMouseOperation.add(this.render.view);
|
|
this.eventManager.onMouseOperation.add(this.render);
|
|
this.eventManager.onVisualizersUpdate.add(this.render.selection);
|
|
this.modelManipulator.onModelSizeChanged.add(this.render.view);
|
|
this.modelManipulator.onModelSizeChanged.add(this.render.page);
|
|
this.modelManipulator.onModelChanged.add(this.render.items);
|
|
this.modelManipulator.onModelChanged.add(this.render.page);
|
|
this.modelManipulator.onModelChanged.add(this.render.selection);
|
|
this.selection.onChanged.add(this.render.selection);
|
|
this.render.update(false);
|
|
this.modelManipulator.onLoad();
|
|
this.view.initialize(this.render.view);
|
|
this.selection.onLoad();
|
|
}
|
|
};
|
|
DiagramControl.prototype.createToolbox = function (parent, shapeIconSize, shapeIconSpacing, shapeIconAttributes, shapes, renderAsText) {
|
|
var toolbox = this.toolboxManager.create(parent, shapeIconSize, shapeIconSpacing, shapeIconAttributes, shapes, renderAsText);
|
|
this.settings.onReadOnlyChanged.add(toolbox);
|
|
toolbox.onDragOperation.add(this);
|
|
this.eventManager.registerToolbox(toolbox);
|
|
};
|
|
DiagramControl.prototype.applyToolboxFilter = function (shapeSubstring, filteringToolboxes) {
|
|
return this.toolboxManager.applyFilter(shapeSubstring, filteringToolboxes);
|
|
};
|
|
DiagramControl.prototype.updateLayout = function (resetScroll) {
|
|
if (resetScroll === void 0) { resetScroll = false; }
|
|
this.render && this.render.update(!resetScroll);
|
|
};
|
|
DiagramControl.prototype.captureFocus = function () {
|
|
this.render && this.render.input.captureFocus();
|
|
};
|
|
DiagramControl.prototype.isFocused = function () {
|
|
return !this.render || this.render.input.isFocused();
|
|
};
|
|
DiagramControl.prototype.addCustomShapes = function (shapes) {
|
|
var _this = this;
|
|
shapes.forEach(function (shape) {
|
|
if (shape.defaultWidth)
|
|
shape.defaultWidth = ModelUtils_1.ModelUtils.getTwipsValue(_this.model.units, shape.defaultWidth);
|
|
if (shape.defaultHeight)
|
|
shape.defaultHeight = ModelUtils_1.ModelUtils.getTwipsValue(_this.model.units, shape.defaultHeight);
|
|
ShapeDescriptionManager_1.ShapeDescriptionManager.registerCustomShape(shape);
|
|
});
|
|
};
|
|
DiagramControl.prototype.removeCustomShapes = function (shapeTypes) {
|
|
shapeTypes.forEach(function (shapeType) {
|
|
ShapeDescriptionManager_1.ShapeDescriptionManager.unregisterCustomShape(shapeType);
|
|
});
|
|
};
|
|
DiagramControl.prototype.importModel = function (model) {
|
|
this.model = model;
|
|
this.apiController.model = model;
|
|
this.importData();
|
|
};
|
|
DiagramControl.prototype.importItemsData = function () {
|
|
this.model.invalidateItems();
|
|
this.importData();
|
|
};
|
|
DiagramControl.prototype.importData = function () {
|
|
this.render && this.render.clear();
|
|
this.selection.initialize(this.model);
|
|
this.modelManipulator.load(this.model);
|
|
this.history.clear();
|
|
this.eventManager.initialize();
|
|
this.modelManipulator.onLoad();
|
|
};
|
|
DiagramControl.prototype.createDocumentDataSource = function (nodeDataSource, edgeDataSource, nodeDataImporter, edgeDataImporter) {
|
|
this.documentDataSource = new DocumentDataSource_1.DocumentDataSource(this, nodeDataSource, edgeDataSource, nodeDataImporter, edgeDataImporter);
|
|
return this.documentDataSource;
|
|
};
|
|
DiagramControl.prototype.deleteDocumentDataSource = function () {
|
|
delete this.documentDataSource;
|
|
};
|
|
DiagramControl.prototype.beginUpdate = function (lockUpdateCanvas) {
|
|
this.barManager.beginUpdate();
|
|
if (lockUpdateCanvas && this.render)
|
|
this.render.items.beginUpdate();
|
|
this.apiController.beginUpdate();
|
|
};
|
|
DiagramControl.prototype.endUpdate = function (lockUpdateCanvas) {
|
|
if (lockUpdateCanvas && this.render)
|
|
this.render.items.endUpdate();
|
|
this.barManager.endUpdate();
|
|
this.apiController.endUpdate();
|
|
};
|
|
DiagramControl.prototype.notifyEdgeInserted = function (data, callback, errorCallback) {
|
|
if (this.onEdgeInserted)
|
|
this.onEdgeInserted(data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifyEdgeUpdated = function (key, data, callback, errorCallback) {
|
|
if (this.onEdgeUpdated)
|
|
this.onEdgeUpdated(key, data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifyEdgeRemoved = function (key, data, callback, errorCallback) {
|
|
if (this.onEdgeUpdated)
|
|
this.onEdgeRemoved(key, data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifyNodeInserted = function (data, callback, errorCallback) {
|
|
if (this.onNodeInserted)
|
|
this.onNodeInserted(data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifyNodeUpdated = function (key, data, callback, errorCallback) {
|
|
if (this.onNodeUpdated)
|
|
this.onNodeUpdated(key, data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifyNodeRemoved = function (key, data, callback, errorCallback) {
|
|
if (this.onNodeRemoved)
|
|
this.onNodeRemoved(key, data, callback, errorCallback);
|
|
};
|
|
DiagramControl.prototype.notifySelectionChanged = function (selection) {
|
|
this.apiController.onSelectionChanged();
|
|
};
|
|
DiagramControl.prototype.checkProcessDataChanges = function () {
|
|
if (this.documentDataSource.isUpdateLocked()) {
|
|
this.processDataChangesNeeded = true;
|
|
return;
|
|
}
|
|
this.processDataChanges();
|
|
};
|
|
DiagramControl.prototype.processDataChanges = function (force) {
|
|
if (force === void 0) { force = true; }
|
|
if (force || this.processDataChangesNeeded) {
|
|
this.documentDataSource.updateItemsByModel(this.model);
|
|
this.processDataChangesNeeded = false;
|
|
}
|
|
if (!this.documentDataSource.isUpdateLocked())
|
|
this.raiseOnChanged();
|
|
};
|
|
DiagramControl.prototype.notifyHistoryChanged = function () {
|
|
if (this.settings.readOnly)
|
|
return;
|
|
if (this.documentDataSource)
|
|
this.checkProcessDataChanges();
|
|
else
|
|
this.raiseOnChanged();
|
|
};
|
|
DiagramControl.prototype.raiseOnChanged = function () {
|
|
if (this.onChanged)
|
|
this.onChanged();
|
|
};
|
|
DiagramControl.prototype.notifyToolboxDragStart = function () {
|
|
if (this.onToolboxDragStart)
|
|
this.onToolboxDragStart();
|
|
};
|
|
DiagramControl.prototype.notifyToolboxDragEnd = function () {
|
|
if (this.onToolboxDragEnd)
|
|
this.onToolboxDragEnd();
|
|
};
|
|
DiagramControl.prototype.notifyToggleFullscreen = function (value) {
|
|
if (this.onToggleFullscreen)
|
|
this.onToggleFullscreen(value);
|
|
};
|
|
DiagramControl.prototype.notifyShowContextMenu = function (eventPoint, modelPoint) {
|
|
if (this.onShowContextMenu && this.render) {
|
|
var selection = void 0;
|
|
var selectedItems = this.selection.getSelectedItems(true);
|
|
if (selectedItems.length > 0) {
|
|
var rect = Model_1.DiagramModel.getRectangle(this.selection.getSelectedItems(true));
|
|
var pos = this.render.getEventPointByModelPoint(rect.position);
|
|
var size = this.render.view.getAbsoluteSize(rect.size);
|
|
selection = { x: pos.x, y: pos.y, width: size.width, height: size.height };
|
|
}
|
|
if (eventPoint)
|
|
this.onShowContextMenu(eventPoint.x, eventPoint.y, selection);
|
|
else if (modelPoint) {
|
|
var point = this.render.getEventPointByModelPoint(modelPoint);
|
|
this.onShowContextMenu(point.x, point.y, selection);
|
|
}
|
|
}
|
|
};
|
|
DiagramControl.prototype.notifyHideContextMenu = function () {
|
|
if (this.onHideContextMenu && this.render)
|
|
this.onHideContextMenu();
|
|
};
|
|
return DiagramControl;
|
|
}());
|
|
exports.DiagramControl = DiagramControl;
|
|
|
|
|
|
/***/ }),
|
|
/* 263 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ModelChange_1 = __webpack_require__(83);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ImageCache_1 = __webpack_require__(49);
|
|
var ImageLoader_1 = __webpack_require__(100);
|
|
var ModelManipulator = /** @class */ (function () {
|
|
function ModelManipulator(model) {
|
|
this.onModelChanged = new Utils_1.EventDispatcher();
|
|
this.onModelSizeChanged = new Utils_1.EventDispatcher();
|
|
this.model = model;
|
|
this.imageLoader = new ImageLoader_1.ImageLoader(this.updateShapeImage.bind(this));
|
|
}
|
|
ModelManipulator.prototype.load = function (model) {
|
|
this.model = model;
|
|
this.model.loadAllImages(this.imageLoader);
|
|
this.updateModelSize();
|
|
this.raisePageSizeChanged(model.pageSize.clone(), model.pageLandscape);
|
|
this.raiseModelSizeChanged(model.size.clone());
|
|
this.raisePageColorChanged(model.pageColor);
|
|
this.raiseModelRectangleChanged(Utils_1.GeometryUtils.getCommonRectangle(model.items.map(function (i) { return i.rectangle; })));
|
|
};
|
|
ModelManipulator.prototype.onLoad = function () {
|
|
var changes = [];
|
|
this.model.iterateItems(function (item) {
|
|
changes.push(new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Create));
|
|
});
|
|
this.raiseModelChanged(changes);
|
|
};
|
|
// Items
|
|
ModelManipulator.prototype.insertToContainer = function (item, container) {
|
|
if (item.container && container && item.container.key !== container.key)
|
|
throw Error("To insert an item to a container it's necessary to remove it from the current container.");
|
|
if (container) {
|
|
container.childKeys.push(item.key);
|
|
item.container = container;
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.removeFromContainer = function (item) {
|
|
if (item.container) {
|
|
var index = item.container.childKeys.indexOf(item.key);
|
|
item.container.childKeys.splice(index, 1);
|
|
item.container = undefined;
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.changeStyle = function (item, styleProperty, styleValue) {
|
|
this.changeStyleCore(item, item.style, styleProperty, styleValue);
|
|
};
|
|
ModelManipulator.prototype.changeStyleText = function (item, styleProperty, styleValue) {
|
|
this.changeStyleCore(item, item.styleText, styleProperty, styleValue);
|
|
};
|
|
ModelManipulator.prototype.changeStyleCore = function (item, styleObj, styleProperty, styleValue) {
|
|
if (styleValue !== undefined)
|
|
styleObj[styleProperty] = styleValue;
|
|
else
|
|
delete styleObj[styleProperty];
|
|
item.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.changeZIndex = function (item, zIndex) {
|
|
item.zIndex = zIndex;
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.changeLocked = function (item, locked) {
|
|
item.locked = locked;
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.changeContainerLocked = function (item, locked) {
|
|
item.containerLocked = locked;
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(item, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
// Shapes
|
|
ModelManipulator.prototype.addShape = function (shape, key) {
|
|
if (shape.attachedConnectors.length)
|
|
throw Error("A creating shape should not contain existing connectors.");
|
|
shape.key = key !== undefined ? key : this.model.getNextKey();
|
|
return this.insertShape(shape);
|
|
};
|
|
ModelManipulator.prototype.insertShape = function (shape) {
|
|
this.model.pushItem(shape);
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.Create)]);
|
|
this.model.loadAllImages(this.imageLoader);
|
|
return shape;
|
|
};
|
|
ModelManipulator.prototype.resizeShape = function (shape, position, size) {
|
|
shape.position = position;
|
|
shape.size = size;
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.moveShape = function (shape, position) {
|
|
shape.position = position;
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.changeShapeParameters = function (shape, parameters) {
|
|
shape.parameters.forEach(function (p) {
|
|
var parameter = parameters.get(p.key);
|
|
if (parameter)
|
|
p.value = parameter.value;
|
|
});
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
ModelManipulator.prototype.changeShapeText = function (shape, text) {
|
|
shape.text = text;
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.changeShapeImage = function (shape, image) {
|
|
shape.image = image;
|
|
var cachedImage = ImageCache_1.ImageCache.instance.createUnloadedInfoByShapeImageInfo(image);
|
|
this.imageLoader.load(cachedImage);
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.changeShapeExpanded = function (shape, expanded) {
|
|
shape.expanded = expanded;
|
|
shape.toggleExpandedSize();
|
|
shape.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.deleteShape = function (shape) {
|
|
if (shape.attachedConnectors.length)
|
|
throw Error("A removing shape should not contain existing connectors.");
|
|
this.removeShape(shape);
|
|
};
|
|
ModelManipulator.prototype.removeShape = function (shape) {
|
|
this.model.removeItem(shape);
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.Remove)]);
|
|
};
|
|
ModelManipulator.prototype.updateShapeImage = function (cacheImageInfo) {
|
|
if (!cacheImageInfo.imageUrl)
|
|
return;
|
|
var shapes = this.model.findShapesByImageUrl(cacheImageInfo.imageUrl);
|
|
var changes = [];
|
|
shapes.forEach(function (shape) {
|
|
if (cacheImageInfo.base64)
|
|
shape.image.loadBase64Content(cacheImageInfo.base64);
|
|
else
|
|
shape.image.setUnableToLoadFlag();
|
|
shape.invalidatePrimitives();
|
|
changes.push(new ModelChange_1.ItemChange(shape, ModelChange_1.ItemChangeType.UpdateStructure));
|
|
});
|
|
if (changes.length > 0)
|
|
this.raiseModelChanged(changes);
|
|
};
|
|
// Connectors
|
|
ModelManipulator.prototype.addConnector = function (connector, key) {
|
|
if (connector.beginItem || connector.endItem)
|
|
throw Error("Creating connector should not contain begin/end items");
|
|
connector.key = key !== undefined ? key : this.model.getNextKey();
|
|
;
|
|
return this.insertConnector(connector);
|
|
};
|
|
ModelManipulator.prototype.insertConnector = function (connector) {
|
|
this.model.pushItem(connector);
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.Create)]);
|
|
return connector;
|
|
};
|
|
ModelManipulator.prototype.deleteConnector = function (connector) {
|
|
if (connector.beginItem || connector.endItem)
|
|
throw Error("Creating connector should not contain begin/end items");
|
|
this.removeConnector(connector);
|
|
};
|
|
ModelManipulator.prototype.removeConnector = function (connector) {
|
|
this.model.removeItem(connector);
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.Remove)]);
|
|
};
|
|
ModelManipulator.prototype.moveConnectorPoint = function (connector, pointIndex, point) {
|
|
connector.points[pointIndex] = point;
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.addConnectorPoint = function (connector, pointIndex, point) {
|
|
connector.points.splice(pointIndex, 0, point);
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.deleteConnectorPoint = function (connector, pointIndex) {
|
|
connector.points.splice(pointIndex, 1);
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.addConnection = function (connector, item, connectionPointIndex, position) {
|
|
var existingItem = connector.getExtremeItem(position);
|
|
var existingConnectionPointIndex = connector.getExtremeConnectionPointIndex(position);
|
|
if (existingItem === item && existingConnectionPointIndex === connectionPointIndex)
|
|
return;
|
|
else if (existingItem)
|
|
throw Error("Connector is already connected");
|
|
item.attachedConnectors.push(connector);
|
|
if (position === Connector_1.ConnectorPosition.Begin) {
|
|
connector.beginItem = item;
|
|
connector.beginConnectionPointIndex = connectionPointIndex;
|
|
}
|
|
else {
|
|
connector.endItem = item;
|
|
connector.endConnectionPointIndex = connectionPointIndex;
|
|
}
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.setConnectionPointIndex = function (connector, connectionPointIndex, position) {
|
|
if (!connector.getExtremeItem(position))
|
|
throw Error("Connection should be connected");
|
|
if (position === Connector_1.ConnectorPosition.Begin)
|
|
connector.beginConnectionPointIndex = connectionPointIndex;
|
|
else
|
|
connector.endConnectionPointIndex = connectionPointIndex;
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.deleteConnection = function (connector, position) {
|
|
var item = connector.getExtremeItem(position);
|
|
if (!item)
|
|
return;
|
|
item.attachedConnectors.splice(item.attachedConnectors.indexOf(connector), 1);
|
|
if (position === Connector_1.ConnectorPosition.Begin) {
|
|
connector.beginItem = null;
|
|
connector.beginConnectionPointIndex = -1;
|
|
}
|
|
else {
|
|
connector.endItem = null;
|
|
connector.endConnectionPointIndex = -1;
|
|
}
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.changeConnectorProperty = function (connector, propertyName, value) {
|
|
connector.properties[propertyName] = value;
|
|
connector.invalidateRenderPoints();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.changeConnectorText = function (connector, text, position) {
|
|
connector.setText(text, position);
|
|
connector.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.UpdateStructure)]);
|
|
};
|
|
ModelManipulator.prototype.changeConnectorTextPosition = function (connector, position, newPosition) {
|
|
var text = connector.getText(position);
|
|
connector.setText(null, position);
|
|
connector.setText(text, newPosition);
|
|
connector.invalidatePrimitives();
|
|
this.raiseModelChanged([new ModelChange_1.ItemChange(connector, ModelChange_1.ItemChangeType.Update)]);
|
|
};
|
|
// Model
|
|
ModelManipulator.prototype.changeModelSize = function (size, offset) {
|
|
this.model.size.width = size.width;
|
|
this.model.size.height = size.height;
|
|
this.raiseModelSizeChanged(this.model.size.clone(), offset);
|
|
if (offset.left || offset.top) {
|
|
this.model.snapStartPoint = this.model.snapStartPoint.offset(offset.left, offset.top);
|
|
this.raiseSnapPointChange(this.model.snapStartPoint);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.changePageSize = function (value) {
|
|
if (!this.model.pageSize.equals(value)) {
|
|
this.model.pageSize = value;
|
|
this.model.size = new Utils_1.Size(this.model.pageWidth, this.model.pageHeight);
|
|
this.raiseModelSizeChanged(this.model.size.clone());
|
|
this.raisePageSizeChanged(this.model.pageSize, this.model.pageLandscape);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.changePageLandscape = function (value) {
|
|
if (this.model.pageLandscape !== value) {
|
|
this.model.pageLandscape = value;
|
|
if (this.model.pageSize.width !== this.model.pageSize.height) {
|
|
this.model.size = new Utils_1.Size(this.model.pageWidth, this.model.pageHeight);
|
|
this.raiseModelSizeChanged(this.model.size.clone());
|
|
this.raisePageSizeChanged(this.model.pageSize, this.model.pageLandscape);
|
|
}
|
|
}
|
|
};
|
|
ModelManipulator.prototype.changePageColor = function (value) {
|
|
if (this.model.pageColor !== value) {
|
|
this.model.pageColor = value;
|
|
this.raisePageColorChanged(value);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.changePageProperty = function (apply) {
|
|
apply(this.model);
|
|
};
|
|
ModelManipulator.prototype.getModelSizeUpdateOffset = function () {
|
|
var oldRectangle = this.model.getRectangle(false);
|
|
var newRectangle = this.model.getRectangle(true);
|
|
if (!newRectangle.equals(oldRectangle))
|
|
this.raiseModelRectangleChanged(newRectangle);
|
|
var leftPageOffset = -Math.floor(newRectangle.left / this.model.pageWidth);
|
|
var topPageOffset = -Math.floor(newRectangle.top / this.model.pageHeight);
|
|
var rightPageOffset = -Math.floor((this.model.size.width - newRectangle.right) / this.model.pageWidth);
|
|
var bottomPageOffset = -Math.floor((this.model.size.height - newRectangle.bottom) / this.model.pageHeight);
|
|
return new Utils_1.Offset(leftPageOffset * this.model.pageWidth, topPageOffset * this.model.pageHeight, rightPageOffset * this.model.pageWidth, bottomPageOffset * this.model.pageHeight);
|
|
};
|
|
ModelManipulator.prototype.updateModelSize = function () {
|
|
var offset = this.getModelSizeUpdateOffset();
|
|
if (!offset.isEmpty()) {
|
|
var newWidth = Math.max(this.model.size.width + offset.left + offset.right, this.model.pageWidth);
|
|
var newHeight = Math.max(this.model.size.height + offset.top + offset.bottom, this.model.pageHeight);
|
|
this.model.size = new Utils_1.Size(newWidth, newHeight);
|
|
}
|
|
};
|
|
ModelManipulator.prototype.raiseModelChanged = function (changes) {
|
|
this.onModelChanged.raise1(function (l) { return l.notifyModelChanged(changes); });
|
|
};
|
|
ModelManipulator.prototype.raisePageColorChanged = function (color) {
|
|
this.onModelChanged.raise1(function (l) { return l.notifyPageColorChanged(color); });
|
|
};
|
|
ModelManipulator.prototype.raisePageSizeChanged = function (pageSize, pageLandscape) {
|
|
this.onModelChanged.raise1(function (l) { return l.notifyPageSizeChanged(pageSize, pageLandscape); });
|
|
};
|
|
ModelManipulator.prototype.raiseModelSizeChanged = function (size, offset) {
|
|
this.onModelSizeChanged.raise1(function (l) { return l.notifyModelSizeChanged(size, offset); });
|
|
};
|
|
ModelManipulator.prototype.raiseModelRectangleChanged = function (rectangle) {
|
|
this.onModelSizeChanged.raise1(function (l) { return l.notifyModelRectangleChanged(rectangle); });
|
|
};
|
|
ModelManipulator.prototype.raiseSnapPointChange = function (point) {
|
|
this.onModelSizeChanged.raise1(function (l) { return l.notifySnapPointPositionChanged(point); });
|
|
};
|
|
return ModelManipulator;
|
|
}());
|
|
exports.ModelManipulator = ModelManipulator;
|
|
|
|
|
|
/***/ }),
|
|
/* 264 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandler_1 = __webpack_require__(265);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var TextInputHandler_1 = __webpack_require__(284);
|
|
var ContextMenuHandler_1 = __webpack_require__(124);
|
|
var __1 = __webpack_require__(8);
|
|
var ContextMenuTouchHandler_1 = __webpack_require__(286);
|
|
var VisualizersManager_1 = __webpack_require__(125);
|
|
var VisualizersTouchManager_1 = __webpack_require__(292);
|
|
var EventManager = /** @class */ (function () {
|
|
function EventManager(control) {
|
|
this.onMouseOperation = new Utils_1.EventDispatcher();
|
|
this.onTextInputOperation = new Utils_1.EventDispatcher();
|
|
this.toolboxes = [];
|
|
this.control = control;
|
|
this.visualizersManager = __1.Browser.TouchUI ?
|
|
new VisualizersTouchManager_1.VisualizerTouchManager(control.selection, control.model, this, control.settings) :
|
|
new VisualizersManager_1.VisualizerManager(control.selection, control.model, this, control.settings);
|
|
this.onMouseOperation.add(this.visualizersManager);
|
|
this.mouseHandler = new MouseHandler_1.MouseHandler(control.history, control.selection, control.model, this, control.settings.readOnly, control.view, this.visualizersManager, control.settings, control.barManager, control.onNativeAction);
|
|
this.textInputHandler = new TextInputHandler_1.TextInputHandler(control);
|
|
this.contextMenuHandler = __1.Browser.TouchUI ?
|
|
new ContextMenuTouchHandler_1.ContextMenuTouchHandler(control.selection) :
|
|
new ContextMenuHandler_1.ContextMenuHandler();
|
|
this.contextMenuHandler.onVisibilityChanged.add(control);
|
|
this.onMouseOperation.add(this.contextMenuHandler);
|
|
}
|
|
Object.defineProperty(EventManager.prototype, "onVisualizersUpdate", {
|
|
get: function () {
|
|
return this.visualizersManager.onVisualizersUpdate;
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
EventManager.prototype.registerToolbox = function (toolbox) {
|
|
this.toolboxes.push(toolbox);
|
|
};
|
|
EventManager.prototype.initialize = function () {
|
|
this.visualizersManager.initialize(this.control.model);
|
|
this.mouseHandler.initialize(this.control.model);
|
|
};
|
|
EventManager.prototype.onMouseDown = function (evt) {
|
|
this.mouseHandler.onMouseDown(evt);
|
|
this.contextMenuHandler.onMouseDown(evt);
|
|
this.visualizersManager.onMouseDown(evt);
|
|
};
|
|
EventManager.prototype.onMouseMove = function (evt) {
|
|
this.processDragging(evt);
|
|
this.mouseHandler.onMouseMove(evt);
|
|
};
|
|
EventManager.prototype.onMouseUp = function (evt) {
|
|
this.mouseHandler.onMouseUp(evt);
|
|
this.contextMenuHandler.onMouseUp(evt);
|
|
this.visualizersManager.onMouseUp(evt);
|
|
this.processDragging(evt);
|
|
};
|
|
EventManager.prototype.onMouseEnter = function (evt) {
|
|
this.visualizersManager.onMouseEnter(evt);
|
|
};
|
|
EventManager.prototype.onMouseLeave = function (evt) {
|
|
this.visualizersManager.onMouseLeave(evt);
|
|
};
|
|
EventManager.prototype.onDblClick = function (evt) {
|
|
this.mouseHandler.onMouseDblClick(evt);
|
|
this.textInputHandler.onDblClick(evt);
|
|
};
|
|
EventManager.prototype.onClick = function (evt) {
|
|
this.mouseHandler.onMouseClick(evt);
|
|
};
|
|
EventManager.prototype.onContextMenu = function (evt) {
|
|
this.contextMenuHandler.onContextMenu(evt);
|
|
};
|
|
EventManager.prototype.onLongTouch = function (evt) {
|
|
this.mouseHandler.onLongTouch(evt);
|
|
this.contextMenuHandler.onLongTouch(evt);
|
|
};
|
|
EventManager.prototype.onBlur = function (evt) {
|
|
this.contextMenuHandler.onBlur(evt);
|
|
this.visualizersManager.onBlur(evt);
|
|
};
|
|
EventManager.prototype.onFocus = function (evt) {
|
|
this.contextMenuHandler.onFocus(evt);
|
|
this.visualizersManager.onFocus(evt);
|
|
};
|
|
EventManager.prototype.onKeyDown = function (evt) {
|
|
var scCode = evt.getShortcutCode();
|
|
if (this.onShortcut(scCode)) {
|
|
this.visualizersManager.updateConnectionPoints();
|
|
evt.preventDefault = true;
|
|
}
|
|
};
|
|
EventManager.prototype.onTextInputBlur = function (evt) {
|
|
this.textInputHandler.onBlur(evt);
|
|
this.contextMenuHandler.onTextInputBlur(evt);
|
|
};
|
|
EventManager.prototype.onTextInputFocus = function (evt) {
|
|
this.textInputHandler.onFocus(evt);
|
|
this.contextMenuHandler.onTextInputFocus(evt);
|
|
};
|
|
EventManager.prototype.onTextInputKeyDown = function (evt) {
|
|
this.textInputHandler.onKeyDown(evt);
|
|
};
|
|
EventManager.prototype.onShortcut = function (code) {
|
|
if (this.control.commandManager.processShortcut(code))
|
|
return true;
|
|
if (this.mouseHandler.onShortcut(code))
|
|
return true;
|
|
};
|
|
EventManager.prototype.onPaste = function (evt) {
|
|
if (!this.textInputHandler.isTextInputActive() && this.control.commandManager.processPaste(evt.clipboardData)) {
|
|
this.visualizersManager.updateConnectionPoints();
|
|
evt.preventDefault = true;
|
|
}
|
|
};
|
|
EventManager.prototype.onMouseWheel = function (evt) {
|
|
if (this.mouseHandler.onWheel(evt))
|
|
evt.preventDefault = true;
|
|
};
|
|
EventManager.prototype.isFocused = function () {
|
|
return this.control.isFocused();
|
|
};
|
|
EventManager.prototype.processDragging = function (evt) {
|
|
var draggingEvt = this.getDraggingEvent();
|
|
if (draggingEvt && !this.draggingEvent) {
|
|
this.draggingEvent = draggingEvt;
|
|
this.mouseHandler.onDragStart(this.draggingEvent);
|
|
this.control.captureFocus();
|
|
}
|
|
else if (!draggingEvt && this.draggingEvent) {
|
|
delete this.draggingEvent;
|
|
this.mouseHandler.onDragEnd(evt);
|
|
}
|
|
};
|
|
EventManager.prototype.getDraggingEvent = function () {
|
|
return this.toolboxes
|
|
.filter(function (t) { return t.draggingObject; })
|
|
.map(function (t) { return t.draggingObject.evt; })[0];
|
|
};
|
|
EventManager.prototype.onDocumentDragStart = function (itemKeys) {
|
|
this.control.beginUpdate();
|
|
this.control.captureFocus();
|
|
this.onMouseOperation.raise("notifyDragStart", itemKeys);
|
|
};
|
|
EventManager.prototype.onDocumentDragEnd = function (itemKeys) {
|
|
this.onMouseOperation.raise("notifyDragEnd", itemKeys);
|
|
this.control.endUpdate();
|
|
};
|
|
EventManager.prototype.onDocumentDragScrollStart = function () {
|
|
this.onMouseOperation.raise1(function (l) { return l.notifyDragScrollStart(); });
|
|
};
|
|
EventManager.prototype.onDocumentDragScrollEnd = function () {
|
|
this.onMouseOperation.raise1(function (l) { return l.notifyDragScrollEnd(); });
|
|
};
|
|
EventManager.prototype.onDocumentClick = function (itemKeys) {
|
|
this.control.beginUpdate();
|
|
this.control.endUpdate();
|
|
};
|
|
EventManager.prototype.raiseTextInputStart = function (item, text, position, size) {
|
|
this.onTextInputOperation.raise("notifyTextInputStart", item, text, position, size);
|
|
};
|
|
EventManager.prototype.raiseTextInputEnd = function (item) {
|
|
this.onTextInputOperation.raise("notifyTextInputEnd", item);
|
|
};
|
|
return EventManager;
|
|
}());
|
|
exports.EventManager = EventManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 265 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDefaultState_1 = __webpack_require__(117);
|
|
var Event_1 = __webpack_require__(10);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerMoveClonedShapeState_1 = __webpack_require__(78);
|
|
var __1 = __webpack_require__(8);
|
|
var MouseHandlerDefaultReadOnlyTouchState_1 = __webpack_require__(281);
|
|
var MouseHandlerDefaultReadOnlyState_1 = __webpack_require__(123);
|
|
var MouseHandlerDefaultTouchState_1 = __webpack_require__(282);
|
|
var MouseHandler = /** @class */ (function () {
|
|
function MouseHandler(history, selection, model, eventManager, readOnly, view, visualizerManager, settings, bars, nativeActions) {
|
|
this.history = history;
|
|
this.selection = selection;
|
|
this.model = model;
|
|
this.eventManager = eventManager;
|
|
this.readOnly = readOnly;
|
|
this.view = view;
|
|
this.visualizerManager = visualizerManager;
|
|
this.settings = settings;
|
|
this.bars = bars;
|
|
this.nativeActions = nativeActions;
|
|
this.initialize(model);
|
|
}
|
|
MouseHandler.prototype.initialize = function (model) {
|
|
this.model = model;
|
|
this.initializeDefaultState();
|
|
};
|
|
MouseHandler.prototype.initializeDefaultState = function () {
|
|
this.defaultState = this.readOnly ?
|
|
(__1.Browser.TouchUI ?
|
|
new MouseHandlerDefaultReadOnlyTouchState_1.MouseHandlerDefaultReadOnlyTouchState(this, this.history, this.selection, this.model, this.view, this.visualizerManager, this.settings, this.bars) :
|
|
new MouseHandlerDefaultReadOnlyState_1.MouseHandlerDefaultReadOnlyState(this, this.history, this.selection, this.model, this.view, this.visualizerManager, this.settings, this.bars)) :
|
|
(__1.Browser.TouchUI ?
|
|
new MouseHandlerDefaultTouchState_1.MouseHandlerDefaultTouchState(this, this.history, this.selection, this.model, this.view, this.visualizerManager, this.settings, this.bars) :
|
|
new MouseHandlerDefaultState_1.MouseHandlerDefaultState(this, this.history, this.selection, this.model, this.view, this.visualizerManager, this.settings, this.bars));
|
|
this.switchToDefaultState();
|
|
};
|
|
MouseHandler.prototype.onMouseDown = function (evt) {
|
|
this.mouseDownEvent = evt;
|
|
this.state.onMouseDown(evt);
|
|
};
|
|
MouseHandler.prototype.onMouseMove = function (evt) {
|
|
this.state.onMouseMove(evt);
|
|
};
|
|
MouseHandler.prototype.onMouseUp = function (evt) {
|
|
this.state.onMouseUp(evt);
|
|
};
|
|
MouseHandler.prototype.onMouseDblClick = function (evt) {
|
|
this.state.onMouseDblClick(evt);
|
|
this.tryRaiseUserAction(evt, function (l, item) { return l.notifyItemDblClick(item); });
|
|
};
|
|
MouseHandler.prototype.onMouseClick = function (evt) {
|
|
this.state.onMouseClick(evt);
|
|
this.tryRaiseUserAction(evt, function (l, item) { return l.notifyItemClick(item); });
|
|
};
|
|
MouseHandler.prototype.onLongTouch = function (evt) {
|
|
if (!evt.touches || evt.touches.length > 1)
|
|
return;
|
|
var key = evt.source.key;
|
|
if (key === undefined)
|
|
this.selection.clear();
|
|
else if (this.selection.hasKey(key))
|
|
this.selection.remove(key);
|
|
else
|
|
this.selection.add(key);
|
|
};
|
|
MouseHandler.prototype.onShortcut = function (code) {
|
|
return this.state.onShortcut(code);
|
|
};
|
|
MouseHandler.prototype.onWheel = function (evt) {
|
|
return this.state.onMouseWheel(evt);
|
|
};
|
|
MouseHandler.prototype.onDragStart = function (evt) {
|
|
this.state.onDragStart(evt);
|
|
};
|
|
MouseHandler.prototype.onDragEnd = function (evt) {
|
|
this.state.onDragEnd(evt);
|
|
};
|
|
// utils
|
|
MouseHandler.prototype.getSnappedPos = function (evt, pos, isHorizontal) {
|
|
if (!this.settings.snapToGrid || (evt.modifiers & KeyCode_1.ModifierKey.Ctrl))
|
|
return pos;
|
|
return ModelUtils_1.ModelUtils.getSnappedPos(this.model, this.settings.gridSize, pos, isHorizontal);
|
|
};
|
|
MouseHandler.prototype.getSnappedPoint = function (evt, point, additionalSnappedPoint) {
|
|
var x = this.getSnappedPos(evt, point.x, true);
|
|
var y = this.getSnappedPos(evt, point.y, false);
|
|
if (additionalSnappedPoint === undefined)
|
|
return new Utils_1.Point(x, y);
|
|
else {
|
|
if (Math.pow(point.x - x, 2) + Math.pow(point.y - y, 2) < Math.pow(point.x - additionalSnappedPoint.x, 2) + Math.pow(point.y - additionalSnappedPoint.y, 2))
|
|
return new Utils_1.Point(x, y);
|
|
else
|
|
return additionalSnappedPoint;
|
|
}
|
|
};
|
|
MouseHandler.prototype.tryUpdateModelSize = function (processPoints) {
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(this.history, this.model, processPoints);
|
|
};
|
|
MouseHandler.prototype.raiseDragStart = function (keys) {
|
|
this.eventManager.onDocumentDragStart(keys);
|
|
};
|
|
MouseHandler.prototype.raiseDragEnd = function (keys) {
|
|
this.eventManager.onDocumentDragEnd(keys);
|
|
};
|
|
MouseHandler.prototype.raiseDragScrollStart = function () {
|
|
this.eventManager.onDocumentDragScrollStart();
|
|
};
|
|
MouseHandler.prototype.raiseDragScrollEnd = function () {
|
|
this.eventManager.onDocumentDragScrollEnd();
|
|
};
|
|
MouseHandler.prototype.raiseClick = function (keys) {
|
|
this.eventManager.onDocumentClick(keys);
|
|
};
|
|
MouseHandler.prototype.tryRaiseUserAction = function (evt, callEvent) {
|
|
if (this.isUserAction(evt)) {
|
|
var item = this.model.findItem(evt.source.key);
|
|
item && this.nativeActions.raise1(function (l) { return callEvent(l, item.toNative()); });
|
|
}
|
|
};
|
|
MouseHandler.prototype.isUserAction = function (evt) {
|
|
return evt.source &&
|
|
(evt.source.type === Event_1.MouseEventElementType.Shape || evt.source.type === Event_1.MouseEventElementType.Connector);
|
|
};
|
|
// switch state
|
|
MouseHandler.prototype.switchToDefaultState = function () {
|
|
this.switchState(this.defaultState);
|
|
};
|
|
MouseHandler.prototype.switchToMoveClonedShapeState = function (startPoint) {
|
|
this.switchState(new MouseHandlerMoveClonedShapeState_1.MouseHandlerMoveClonedShapeState(this, this.history, this.model, this.selection, this.visualizerManager, startPoint));
|
|
};
|
|
MouseHandler.prototype.switchState = function (state) {
|
|
if (this.state)
|
|
this.state.finish();
|
|
this.state = state;
|
|
this.state.start();
|
|
};
|
|
MouseHandler.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
this.readOnly = readOnly;
|
|
this.initializeDefaultState();
|
|
};
|
|
return MouseHandler;
|
|
}());
|
|
exports.MouseHandler = MouseHandler;
|
|
|
|
|
|
/***/ }),
|
|
/* 266 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerMoveConnectorPointStateBase_1 = __webpack_require__(118);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var MouseHandlerMoveConnectorPointState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveConnectorPointState, _super);
|
|
function MouseHandlerMoveConnectorPointState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerMoveConnectorPointState.prototype.onMouseDown = function (evt) {
|
|
this.connector = this.model.findConnector(evt.source.key);
|
|
this.pointIndex = parseInt(evt.source.value);
|
|
if (this.pointIndex === 0) {
|
|
this.pointPosition = Connector_1.ConnectorPosition.Begin;
|
|
}
|
|
else if (this.pointIndex === this.connector.points.length - 1) {
|
|
this.pointPosition = Connector_1.ConnectorPosition.End;
|
|
}
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveConnectorPointState.prototype.onApplyChanges = function (evt) {
|
|
if (this.connector.properties.lineOption !== ConnectorProperties_1.ConnectorLineOption.Orthogonal ||
|
|
this.pointIndex === 0 || this.pointIndex === this.connector.points.length - 1)
|
|
_super.prototype.onApplyChanges.call(this, evt);
|
|
};
|
|
MouseHandlerMoveConnectorPointState.prototype.onFinishWithChanges = function () {
|
|
_super.prototype.onFinishWithChanges.call(this);
|
|
ModelUtils_1.ModelUtils.removeUnnecessaryConnectorPoints(this.history, this.connector);
|
|
};
|
|
MouseHandlerMoveConnectorPointState.prototype.getSnappedPoint = function (evt, point) {
|
|
var points = this.connector.points;
|
|
var index = this.pointIndex;
|
|
if (0 < index && index < points.length - 1) {
|
|
var tg = (points[index + 1].y - points[index - 1].y) / (points[index + 1].x - points[index - 1].x);
|
|
var x = point.x;
|
|
var y = points[index + 1].y - (points[index + 1].x - x) * tg;
|
|
return this.handler.getSnappedPoint(evt, point, new Utils_1.Point(x, y));
|
|
}
|
|
return this.handler.getSnappedPoint(evt, point);
|
|
};
|
|
return MouseHandlerMoveConnectorPointState;
|
|
}(MouseHandlerMoveConnectorPointStateBase_1.MouseHandlerMoveConnectorPointStateBase));
|
|
exports.MouseHandlerMoveConnectorPointState = MouseHandlerMoveConnectorPointState;
|
|
|
|
|
|
/***/ }),
|
|
/* 267 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Event_1 = __webpack_require__(10);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var Model_1 = __webpack_require__(19);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerResizeShapeState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerResizeShapeState, _super);
|
|
function MouseHandlerResizeShapeState(handler, history, model, selection, visualizerManager) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
_this.selection = selection;
|
|
_this.visualizerManager = visualizerManager;
|
|
_this.startScrollLeft = 0;
|
|
_this.startScrollTop = 0;
|
|
_this.rotation = 0;
|
|
return _this;
|
|
}
|
|
MouseHandlerResizeShapeState.prototype.start = function () {
|
|
_super.prototype.start.call(this);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.finish = function () {
|
|
this.visualizerManager.resetResizeInfo();
|
|
this.visualizerManager.resetExtensionLines();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.onMouseDown = function (evt) {
|
|
var source = parseInt(evt.source.value);
|
|
this.resizeEventSource = source;
|
|
this.startPoint = evt.modelPoint;
|
|
this.lockH = source == Event_1.ResizeEventSource.ResizeBox_S || source == Event_1.ResizeEventSource.ResizeBox_N;
|
|
this.lockV = source == Event_1.ResizeEventSource.ResizeBox_E || source == Event_1.ResizeEventSource.ResizeBox_W;
|
|
this.sideH = source == Event_1.ResizeEventSource.ResizeBox_E || source == Event_1.ResizeEventSource.ResizeBox_NE || source == Event_1.ResizeEventSource.ResizeBox_SE;
|
|
this.sideV = source == Event_1.ResizeEventSource.ResizeBox_SE || source == Event_1.ResizeEventSource.ResizeBox_S || source == Event_1.ResizeEventSource.ResizeBox_SW;
|
|
this.shapes = this.selection.getSelectedShapes();
|
|
if (this.shapes.length === 0) {
|
|
this.handler.switchToDefaultState();
|
|
return;
|
|
}
|
|
this.connectors = this.selection.getSelectedConnectors();
|
|
this.startRectangle = Model_1.DiagramModel.getRectangle(this.shapes);
|
|
this.startShapeSizes = this.shapes.map(function (shape) { return shape.size.clone(); });
|
|
this.startShapePositions = this.shapes.map(function (shape) { return shape.position.clone(); });
|
|
this.startConnectorPoints = this.connectors.map(function (c) { return c.points.map(function (p) { return p.clone(); }); });
|
|
this.lockAspectRatio = !!(evt.modifiers & KeyCode_1.ModifierKey.Shift);
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.onMouseMove = function (evt) {
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
var shapes = this.selection.getSelectedShapes();
|
|
this.visualizerManager.setExtensionLines(shapes);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.onApplyChanges = function (evt) {
|
|
var _this = this;
|
|
var rectangle = Model_1.DiagramModel.getRectangle(this.shapes);
|
|
var size = this.getSize(evt, rectangle.position, this.startRectangle.size);
|
|
var pos = this.getPosition(evt, size, this.startRectangle.size, this.startRectangle.position);
|
|
var ratioX = size.width / this.startRectangle.width;
|
|
var ratioY = size.height / this.startRectangle.height;
|
|
this.shapes.forEach(function (shape, index) {
|
|
var shapeSize = new Utils_1.Size(_this.startShapeSizes[index].width * (shape.allowResizeHorizontally ? ratioX : 1), _this.startShapeSizes[index].height * (shape.allowResizeVertically ? ratioY : 1));
|
|
var shapePos = new Utils_1.Point(shape.allowResizeHorizontally ? (pos.x + (_this.startShapePositions[index].x - _this.startRectangle.left) * ratioX) : _this.startShapePositions[index].x, shape.allowResizeVertically ? (pos.y + (_this.startShapePositions[index].y - _this.startRectangle.top) * ratioY) : _this.startShapePositions[index].y);
|
|
ModelUtils_1.ModelUtils.setShapeSize(_this.history, _this.model, shape, shapePos, shapeSize);
|
|
});
|
|
this.connectors.forEach(function (connector, index) {
|
|
var startPtIndex = connector.beginItem ? 1 : 0;
|
|
var endPtIndex = connector.endItem ? (connector.points.length - 2) : (connector.points.length - 1);
|
|
for (var i = startPtIndex; i <= endPtIndex; i++) {
|
|
var connectorPtPos = new Utils_1.Point(pos.x + (_this.startConnectorPoints[index][i].x - _this.startRectangle.left) * ratioX, pos.y + (_this.startConnectorPoints[index][i].y - _this.startRectangle.top) * ratioY);
|
|
ModelUtils_1.ModelUtils.setConnectorPoint(_this.history, _this.model, connector, i, connectorPtPos);
|
|
}
|
|
});
|
|
var shapes = this.selection.getSelectedShapes(false, true);
|
|
shapes.forEach(function (shape) {
|
|
ModelUtils_1.ModelUtils.updateShapeAttachedConnectors(_this.history, _this.model, shape);
|
|
});
|
|
this.tryUpdateModelSize();
|
|
this.visualizerManager.setResizeInfo(this.shapes);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.tryUpdateModelSize = function () {
|
|
var _this = this;
|
|
this.handler.tryUpdateModelSize(function (offsetLeft, offsetTop) {
|
|
_this.startShapePositions.forEach(function (pt) {
|
|
pt.x += offsetLeft;
|
|
pt.y += offsetTop;
|
|
});
|
|
_this.startConnectorPoints.forEach(function (connector) {
|
|
connector.forEach(function (pt) {
|
|
pt.x += offsetLeft;
|
|
pt.y += offsetTop;
|
|
});
|
|
});
|
|
_this.startRectangle.position.x += offsetLeft;
|
|
_this.startRectangle.position.y += offsetTop;
|
|
_this.startPoint.x += offsetLeft;
|
|
_this.startPoint.y += offsetTop;
|
|
});
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.getDraggingElementKeys = function () {
|
|
return this.shapes.map(function (shape) { return shape.key; });
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.getSize = function (evt, position, startSize) {
|
|
var absDeltaX = evt.modelPoint.x - (this.startScrollLeft - evt.scrollX) - this.startPoint.x;
|
|
var absDeltaY = evt.modelPoint.y - (this.startScrollTop - evt.scrollY) - this.startPoint.y;
|
|
var deltaX = absDeltaX * Math.cos(this.rotation) - (-absDeltaY) * Math.sin(this.rotation);
|
|
var deltaY = -(absDeltaX * Math.sin(this.rotation) + (-absDeltaY) * Math.cos(this.rotation));
|
|
var newWidth, newHeight;
|
|
deltaY = !this.sideV && deltaY > 0 ? Math.min(startSize.height + 1, deltaY) : deltaY;
|
|
deltaX = !this.sideH && deltaX > 0 ? Math.min(startSize.width + 1, deltaX) : deltaX;
|
|
if (!this.lockH && !this.lockV && this.lockAspectRatio) {
|
|
if (Math.abs(deltaX) > Math.abs(deltaY)) {
|
|
newWidth = this.sideH ? Math.max(MouseHandlerResizeShapeState.minSize, startSize.width + deltaX) : (startSize.width - deltaX);
|
|
newHeight = startSize.height * (newWidth / startSize.width);
|
|
}
|
|
else {
|
|
newHeight = this.sideV ? Math.max(MouseHandlerResizeShapeState.minSize, startSize.height + deltaY) : (startSize.height - deltaY);
|
|
newWidth = startSize.width * (newHeight / startSize.height);
|
|
}
|
|
}
|
|
else {
|
|
deltaX = this.lockH ? 0 : deltaX;
|
|
deltaY = this.lockV ? 0 : deltaY;
|
|
newWidth = Math.max(MouseHandlerResizeShapeState.minSize, this.sideH ? (startSize.width + deltaX) : (startSize.width - deltaX));
|
|
newHeight = Math.max(MouseHandlerResizeShapeState.minSize, this.sideV ? (startSize.height + deltaY) : (startSize.height - deltaY));
|
|
}
|
|
if (!this.lockH)
|
|
newWidth = this.handler.getSnappedPos(evt, position.x + newWidth, true) - position.x;
|
|
if (!this.lockV)
|
|
newHeight = this.handler.getSnappedPos(evt, position.y + newHeight, false) - position.y;
|
|
return new Utils_1.Size(newWidth, newHeight);
|
|
};
|
|
MouseHandlerResizeShapeState.prototype.getPosition = function (evt, size, startSize, startPosition) {
|
|
var x = startPosition.x;
|
|
var y = startPosition.y;
|
|
if (this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_N ||
|
|
this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_NE ||
|
|
this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_NW) {
|
|
y += startSize.height - size.height;
|
|
var snappedY = this.handler.getSnappedPos(evt, y, false);
|
|
size.height += y - snappedY;
|
|
y = snappedY;
|
|
}
|
|
if (this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_W ||
|
|
this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_NW ||
|
|
this.resizeEventSource === Event_1.ResizeEventSource.ResizeBox_SW) {
|
|
x += startSize.width - size.width;
|
|
var snappedX = this.handler.getSnappedPos(evt, x, true);
|
|
size.width += x - snappedX;
|
|
x = snappedX;
|
|
}
|
|
return new Utils_1.Point(x, y);
|
|
};
|
|
MouseHandlerResizeShapeState.minSize = 360;
|
|
return MouseHandlerResizeShapeState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerResizeShapeState = MouseHandlerResizeShapeState;
|
|
|
|
|
|
/***/ }),
|
|
/* 268 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var AddConnectorPointHistoryItem_1 = __webpack_require__(119);
|
|
var MoveConnectorPointHistoryItem_1 = __webpack_require__(50);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerMoveConnectorSideState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveConnectorSideState, _super);
|
|
function MouseHandlerMoveConnectorSideState(handler, history, model) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveConnectorSideState.prototype.onMouseDown = function (evt) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.connectorKey = evt.source.key;
|
|
this.pointIndex = parseInt(evt.source.value) + 1;
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveConnectorSideState.prototype.onApplyChanges = function (evt) {
|
|
var point = this.getSnappedPoint(evt, evt.modelPoint);
|
|
if (!this.pointCreated) {
|
|
this.history.addAndRedo(new AddConnectorPointHistoryItem_1.AddConnectorPointHistoryItem(this.connectorKey, this.pointIndex, point));
|
|
this.pointCreated = true;
|
|
}
|
|
else {
|
|
this.history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(this.connectorKey, this.pointIndex, point));
|
|
}
|
|
this.handler.tryUpdateModelSize();
|
|
};
|
|
MouseHandlerMoveConnectorSideState.prototype.onFinishWithChanges = function () {
|
|
ModelUtils_1.ModelUtils.removeUnnecessaryConnectorPoints(this.history, this.model.findConnector(this.connectorKey));
|
|
};
|
|
MouseHandlerMoveConnectorSideState.prototype.getDraggingElementKeys = function () {
|
|
return [this.connectorKey];
|
|
};
|
|
return MouseHandlerMoveConnectorSideState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerMoveConnectorSideState = MouseHandlerMoveConnectorSideState;
|
|
|
|
|
|
/***/ }),
|
|
/* 269 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var ChangeShapeParametersHistoryItem_1 = __webpack_require__(102);
|
|
var MouseHandlerDragParameterPointState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDragParameterPointState, _super);
|
|
function MouseHandlerDragParameterPointState(handler, history, model) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
_this.startScrollLeft = 0;
|
|
_this.startScrollTop = 0;
|
|
return _this;
|
|
}
|
|
MouseHandlerDragParameterPointState.prototype.onMouseDown = function (evt) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.shape = this.model.findShape(evt.source.key);
|
|
this.parameterPointKey = evt.source.value;
|
|
this.startParameters = this.shape.parameters.clone();
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerDragParameterPointState.prototype.onApplyChanges = function (evt) {
|
|
var offsetX = this.handler.getSnappedPos(evt, evt.modelPoint.x - this.startPoint.x, true);
|
|
var offsetY = this.handler.getSnappedPos(evt, evt.modelPoint.y - this.startPoint.y, false);
|
|
var parameters = this.startParameters.clone();
|
|
this.shape.description.modifyParameters(this.shape, parameters, offsetX, offsetY);
|
|
this.history.addAndRedo(new ChangeShapeParametersHistoryItem_1.ChangeShapeParametersHistoryItem(this.shape.key, parameters));
|
|
};
|
|
MouseHandlerDragParameterPointState.prototype.getDraggingElementKeys = function () {
|
|
return [this.shape.key];
|
|
};
|
|
return MouseHandlerDragParameterPointState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerDragParameterPointState = MouseHandlerDragParameterPointState;
|
|
|
|
|
|
/***/ }),
|
|
/* 270 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Connector_1 = __webpack_require__(5);
|
|
var AddConnectionHistoryItem_1 = __webpack_require__(37);
|
|
var AddConnectorHistoryItem_1 = __webpack_require__(52);
|
|
var MouseHandlerMoveConnectorPointStateBase_1 = __webpack_require__(118);
|
|
var SetSelectionHistoryItem_1 = __webpack_require__(44);
|
|
var ChangeConnectorPropertyHistoryItem_1 = __webpack_require__(55);
|
|
var ChangeStyleHistoryItem_1 = __webpack_require__(46);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var MouseHandlerCreateConnectorState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerCreateConnectorState, _super);
|
|
function MouseHandlerCreateConnectorState(handler, history, model, visualizerManager, selection, connectionPointIndex) {
|
|
var _this = _super.call(this, handler, history, model, visualizerManager) || this;
|
|
_this.selection = selection;
|
|
_this.connectionPointIndex = connectionPointIndex;
|
|
return _this;
|
|
}
|
|
MouseHandlerCreateConnectorState.prototype.onMouseDown = function (evt) {
|
|
if (this.connectionPointIndex === undefined)
|
|
this.connectionPointIndex = parseInt(evt.source.value);
|
|
this.connectedItem = this.model.findItem(evt.source.key);
|
|
this.pointIndex = 1;
|
|
this.pointPosition = Connector_1.ConnectorPosition.End;
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerCreateConnectorState.prototype.onApplyChanges = function (evt) {
|
|
var _this = this;
|
|
var point = this.getSnappedPoint(evt, evt.modelPoint);
|
|
if (!this.connector) {
|
|
var historyItem = new AddConnectorHistoryItem_1.AddConnectorHistoryItem([this.connectedItem.getConnectionPointPosition(this.connectionPointIndex, point), point]);
|
|
this.history.addAndRedo(historyItem);
|
|
this.connector = this.model.findConnector(historyItem.connectorKey);
|
|
this.connector.properties.forEach(function (propertyName) {
|
|
_this.history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(_this.connector.key, propertyName, _this.selection.inputPosition.getConnectorPropertyDefaultValue(propertyName)));
|
|
});
|
|
this.connector.style.forEach(function (propertyName) {
|
|
_this.history.addAndRedo(new ChangeStyleHistoryItem_1.ChangeStyleHistoryItem(_this.connector.key, propertyName, _this.selection.inputPosition.getStylePropertyDefaultValue(propertyName)));
|
|
});
|
|
this.connector.styleText.forEach(function (propertyName) {
|
|
_this.history.addAndRedo(new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(_this.connector.key, propertyName, _this.selection.inputPosition.getStyleTextPropertyDefaultValue(propertyName)));
|
|
});
|
|
this.history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(this.connector, this.connectedItem, this.connectionPointIndex, Connector_1.ConnectorPosition.Begin));
|
|
}
|
|
else
|
|
_super.prototype.onApplyChanges.call(this, evt);
|
|
};
|
|
MouseHandlerCreateConnectorState.prototype.onFinishWithChanges = function () {
|
|
_super.prototype.onFinishWithChanges.call(this);
|
|
this.history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(this.selection, [this.connector.key]));
|
|
};
|
|
return MouseHandlerCreateConnectorState;
|
|
}(MouseHandlerMoveConnectorPointStateBase_1.MouseHandlerMoveConnectorPointStateBase));
|
|
exports.MouseHandlerCreateConnectorState = MouseHandlerCreateConnectorState;
|
|
|
|
|
|
/***/ }),
|
|
/* 271 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var AddConnectorPointHistoryItem_1 = __webpack_require__(119);
|
|
var MoveConnectorPointHistoryItem_1 = __webpack_require__(50);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var DiagramItem_1 = __webpack_require__(4);
|
|
var MouseHandlerMoveConnectorOrthogonalSideState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveConnectorOrthogonalSideState, _super);
|
|
function MouseHandlerMoveConnectorOrthogonalSideState(handler, history, model) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.onMouseDown = function (evt) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.connector = this.model.findConnector(evt.source.key);
|
|
var renderPointIndexes = evt.source.value.split("_");
|
|
var renderPointIndex1 = parseInt(renderPointIndexes[0]);
|
|
var renderPointIndex2 = parseInt(renderPointIndexes[1]);
|
|
var points = this.connector.getRenderPoints(true);
|
|
this.renderPoint1 = points[renderPointIndex1].clone();
|
|
this.renderPoint2 = points[renderPointIndex2].clone();
|
|
this.isVerticalOrientation = this.renderPoint1.x === this.renderPoint2.x;
|
|
if (this.renderPoint1.pointIndex !== -1) {
|
|
this.pointIndex1 = this.renderPoint1.pointIndex;
|
|
if (this.pointIndex1 === 0) {
|
|
this.pointIndex1++;
|
|
this.correctEdgePoint(this.renderPoint1, this.renderPoint2, this.connector.beginItem, this.connector.beginConnectionPointIndex);
|
|
}
|
|
else
|
|
this.point1 = this.connector.points[this.pointIndex1];
|
|
}
|
|
else
|
|
this.pointIndex1 = this.findPointIndex(points, renderPointIndex1, false) + 1;
|
|
if (this.renderPoint2.pointIndex !== -1) {
|
|
this.pointIndex2 = this.renderPoint2.pointIndex;
|
|
if (this.pointIndex2 === this.connector.points.length - 1) {
|
|
this.correctEdgePoint(this.renderPoint2, this.renderPoint1, this.connector.endItem, this.connector.endConnectionPointIndex);
|
|
}
|
|
else
|
|
this.point2 = this.connector.points[this.pointIndex2];
|
|
}
|
|
else
|
|
this.pointIndex2 = this.findPointIndex(points, renderPointIndex2, true);
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.onApplyChanges = function (evt) {
|
|
var _this = this;
|
|
if (!this.pointCreated) {
|
|
var createdPoint1 = void 0, createdPoint2 = void 0;
|
|
if (this.point1 === undefined) {
|
|
this.point1 = new Utils_1.Point(this.renderPoint1.x, this.renderPoint1.y);
|
|
this.history.addAndRedo(new AddConnectorPointHistoryItem_1.AddConnectorPointHistoryItem(this.connector.key, this.pointIndex1, this.point1));
|
|
createdPoint1 = this.point1;
|
|
this.pointIndex2++;
|
|
}
|
|
if (this.point2 === undefined) {
|
|
this.point2 = new Utils_1.Point(this.renderPoint2.x, this.renderPoint2.y);
|
|
this.history.addAndRedo(new AddConnectorPointHistoryItem_1.AddConnectorPointHistoryItem(this.connector.key, this.pointIndex2, this.point2));
|
|
createdPoint2 = this.point2;
|
|
}
|
|
ModelUtils_1.ModelUtils.removeUnnecessaryConnectorPoints(this.history, this.connector, [createdPoint1, createdPoint2], function (index) {
|
|
if (index < _this.pointIndex1)
|
|
_this.pointIndex1--;
|
|
if (index < _this.pointIndex2)
|
|
_this.pointIndex2--;
|
|
});
|
|
this.pointCreated = true;
|
|
}
|
|
var point = this.getSnappedPoint(evt, evt.modelPoint);
|
|
if (this.isVerticalOrientation) {
|
|
this.point1.x = point.x;
|
|
this.point2.x = point.x;
|
|
}
|
|
else {
|
|
this.point1.y = point.y;
|
|
this.point2.y = point.y;
|
|
}
|
|
this.history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(this.connector.key, this.pointIndex1, this.point1));
|
|
this.history.addAndRedo(new MoveConnectorPointHistoryItem_1.MoveConnectorPointHistoryItem(this.connector.key, this.pointIndex2, this.point2));
|
|
this.handler.tryUpdateModelSize();
|
|
};
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.onFinishWithChanges = function () {
|
|
ModelUtils_1.ModelUtils.removeUnnecessaryConnectorPoints(this.history, this.connector);
|
|
};
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.findPointIndex = function (points, index, direction) {
|
|
var point;
|
|
while (point = points[index]) {
|
|
if (point.pointIndex !== -1)
|
|
return point.pointIndex;
|
|
index += direction ? 1 : -1;
|
|
}
|
|
};
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.correctEdgePoint = function (point, directionPoint, item, connectionPointIndex) {
|
|
var offset = 0;
|
|
if (item !== undefined) {
|
|
var side = item.getConnectionPointSideByIndex(connectionPointIndex);
|
|
var rect = item.rectangle;
|
|
offset = Connector_1.Connector.minOffset;
|
|
switch (side) {
|
|
case DiagramItem_1.ConnectionPointSide.South:
|
|
offset += rect.bottom - point.y;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.North:
|
|
offset += point.y - rect.top;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.East:
|
|
offset += rect.right - point.x;
|
|
break;
|
|
case DiagramItem_1.ConnectionPointSide.West:
|
|
offset += point.x - rect.left;
|
|
break;
|
|
}
|
|
}
|
|
if (this.isVerticalOrientation) {
|
|
if (point.y > directionPoint.y)
|
|
point.y -= Math.min(offset, point.y - directionPoint.y);
|
|
else
|
|
point.y += Math.min(offset, directionPoint.y - point.y);
|
|
}
|
|
else {
|
|
if (point.x > directionPoint.x)
|
|
point.x -= Math.min(offset, point.x - directionPoint.x);
|
|
else
|
|
point.x += Math.min(offset, directionPoint.x - point.x);
|
|
}
|
|
};
|
|
MouseHandlerMoveConnectorOrthogonalSideState.prototype.getDraggingElementKeys = function () {
|
|
return [this.connector.key];
|
|
};
|
|
return MouseHandlerMoveConnectorOrthogonalSideState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerMoveConnectorOrthogonalSideState = MouseHandlerMoveConnectorOrthogonalSideState;
|
|
|
|
|
|
/***/ }),
|
|
/* 272 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var AddShapeHistoryItem_1 = __webpack_require__(51);
|
|
var SetSelectionHistoryItem_1 = __webpack_require__(44);
|
|
var ChangeStyleHistoryItem_1 = __webpack_require__(46);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var DeleteShapeHistoryItem_1 = __webpack_require__(91);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var NON_DOCUMENT_TIMER = 500;
|
|
var LOCK_UPDATEPAGESIZE_TIMER = 300;
|
|
var MouseHandlerBeforeToolboxDraggingState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerBeforeToolboxDraggingState, _super);
|
|
function MouseHandlerBeforeToolboxDraggingState(handler, history, model, selection, visualizerManager) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.history = history;
|
|
_this.model = model;
|
|
_this.selection = selection;
|
|
_this.visualizerManager = visualizerManager;
|
|
_this.isModelEmpty = model.items.length === 0;
|
|
return _this;
|
|
}
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.cancelChanges = function () {
|
|
this.tryRemoveTimer();
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.onDragStart = function (evt) {
|
|
this.dragging = evt;
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.onDragEnd = function (evt) {
|
|
this.cancelChanges();
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.onMouseMove = function (evt) {
|
|
var _this = this;
|
|
if (evt.source.type > Event_1.MouseEventElementType.Background) {
|
|
this.tryRemoveTimer();
|
|
this.switchToDraggingState(evt, false);
|
|
}
|
|
else if (evt.source.type === Event_1.MouseEventElementType.Background && !this.isModelEmpty) {
|
|
this.savedEvt = evt;
|
|
if (this.nonPageAreaTimer === undefined)
|
|
this.nonPageAreaTimer = setTimeout(function () { return _this.switchToDraggingState(_this.savedEvt, true); }, NON_DOCUMENT_TIMER);
|
|
}
|
|
else if (this.nonPageAreaTimer !== undefined)
|
|
this.tryRemoveTimer();
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.switchToDraggingState = function (evt, skipLockUpdatePageSize) {
|
|
this.handler.switchState(new MouseHandlerToolboxDraggingState(this.handler, this.history, this.model, this.selection, this.visualizerManager, skipLockUpdatePageSize));
|
|
this.handler.state.onDragStart(this.dragging);
|
|
this.handler.state.onMouseMove(evt);
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.tryRemoveTimer = function () {
|
|
if (this.nonPageAreaTimer !== undefined) {
|
|
clearTimeout(this.nonPageAreaTimer);
|
|
delete this.nonPageAreaTimer;
|
|
}
|
|
};
|
|
MouseHandlerBeforeToolboxDraggingState.prototype.finish = function () {
|
|
this.tryRemoveTimer();
|
|
};
|
|
return MouseHandlerBeforeToolboxDraggingState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerCancellableState));
|
|
exports.MouseHandlerBeforeToolboxDraggingState = MouseHandlerBeforeToolboxDraggingState;
|
|
var MouseHandlerToolboxDraggingState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerToolboxDraggingState, _super);
|
|
function MouseHandlerToolboxDraggingState(handler, history, model, selection, visualizerManager, skipLockUpdatePageSize) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
_this.selection = selection;
|
|
_this.visualizerManager = visualizerManager;
|
|
if (!skipLockUpdatePageSize) {
|
|
_this.updatePageSizeTimer = setTimeout(function () {
|
|
_this.handler.tryUpdateModelSize();
|
|
delete _this.updatePageSizeTimer;
|
|
}, LOCK_UPDATEPAGESIZE_TIMER);
|
|
}
|
|
return _this;
|
|
}
|
|
MouseHandlerToolboxDraggingState.prototype.onMouseMove = function (evt) {
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
var shape = this.model.findShape(this.shapeKey);
|
|
if (shape) {
|
|
this.visualizerManager.setExtensionLines([shape]);
|
|
var container = ModelUtils_1.ModelUtils.findContainerByEventKey(this.model, this.selection, evt.source.key);
|
|
if (container && ModelUtils_1.ModelUtils.canInsertToContainer(this.model, shape, container))
|
|
this.visualizerManager.setContainerTarget(container, evt.source.type);
|
|
else
|
|
this.visualizerManager.resetContainerTarget();
|
|
}
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.getDraggingElementKeys = function () {
|
|
return this.shapeKey === undefined ? [] : [this.shapeKey];
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.onApplyChanges = function (evt) {
|
|
var _this = this;
|
|
if (evt.source.type === undefined) {
|
|
this.dragging.onCaptured(false);
|
|
if (this.shapeKey !== undefined && !this.deleteHistoryItem) {
|
|
this.deleteHistoryItem = new DeleteShapeHistoryItem_1.DeleteShapeHistoryItem(this.shapeKey);
|
|
this.history.addAndRedo(this.deleteHistoryItem);
|
|
}
|
|
return;
|
|
}
|
|
this.dragging.onCaptured(true);
|
|
if (this.shapeKey === undefined) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.shapeKey = this.insertToolboxItem(evt);
|
|
}
|
|
if (this.deleteHistoryItem) {
|
|
this.history.undoTransactionTo(this.deleteHistoryItem);
|
|
delete this.deleteHistoryItem;
|
|
}
|
|
var pos = this.getPosition(evt, this.startShapePosition);
|
|
var shape = this.model.findShape(this.shapeKey);
|
|
ModelUtils_1.ModelUtils.setShapePosition(this.history, this.model, shape, pos);
|
|
ModelUtils_1.ModelUtils.updateMovingShapeConnections(this.history, shape, this.connectorsWithoutBeginItemInfo, this.connectorsWithoutEndItemInfo, function () {
|
|
_this.visualizerManager.resetConnectionTarget();
|
|
_this.visualizerManager.resetConnectionPoints();
|
|
}, function (shape, connectionPointIndex) {
|
|
_this.visualizerManager.setConnectionTarget(shape, Event_1.MouseEventElementType.Shape);
|
|
_this.visualizerManager.setConnectionPoints(shape, Event_1.MouseEventElementType.Shape, connectionPointIndex, true);
|
|
});
|
|
ModelUtils_1.ModelUtils.updateShapeAttachedConnectors(this.history, this.model, shape);
|
|
var container = ModelUtils_1.ModelUtils.findContainerByEventKey(this.model, this.selection, evt.source.key);
|
|
if (shape && container && ModelUtils_1.ModelUtils.canInsertToContainer(this.model, shape, container))
|
|
ModelUtils_1.ModelUtils.insertToContainer(this.history, this.model, shape, container);
|
|
else
|
|
ModelUtils_1.ModelUtils.removeFromContainer(this.history, this.model, shape);
|
|
if (this.updatePageSizeTimer === undefined) {
|
|
this.handler.tryUpdateModelSize(function (offsetLeft, offsetTop) {
|
|
_this.connectorsWithoutBeginItemInfo.forEach(function (pi) {
|
|
pi.point.x += offsetLeft;
|
|
pi.point.y += offsetTop;
|
|
});
|
|
_this.connectorsWithoutEndItemInfo.forEach(function (pi) {
|
|
pi.point.x += offsetLeft;
|
|
pi.point.y += offsetTop;
|
|
});
|
|
});
|
|
}
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.onFinishWithChanges = function () {
|
|
this.history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(this.selection, [this.shapeKey]));
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.onDragStart = function (evt) {
|
|
this.dragging = evt;
|
|
this.connectorsWithoutBeginItemInfo = ModelUtils_1.ModelUtils.getConnectorsWithoutBeginItemInfo(this.model);
|
|
this.connectorsWithoutEndItemInfo = ModelUtils_1.ModelUtils.getConnectorsWithoutEndItemInfo(this.model);
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.onDragEnd = function (evt) {
|
|
if (this.shapeKey !== undefined && evt.source.type === undefined)
|
|
this.cancelChanges();
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.finish = function () {
|
|
this.visualizerManager.resetExtensionLines();
|
|
this.visualizerManager.resetContainerTarget();
|
|
this.visualizerManager.resetConnectionTarget();
|
|
this.visualizerManager.resetConnectionPoints();
|
|
this.dragging.onFinishDragging();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.updateShapeProperties = function (itemKey) {
|
|
var _this = this;
|
|
this.selection.inputPosition.stylePropertiesDefault.forEach(function (propertyName) {
|
|
_this.history.addAndRedo(new ChangeStyleHistoryItem_1.ChangeStyleHistoryItem(itemKey, propertyName, _this.selection.inputPosition.getStylePropertyDefaultValue(propertyName)));
|
|
});
|
|
this.selection.inputPosition.styleTextPropertiesDefault.forEach(function (propertyName) {
|
|
_this.history.addAndRedo(new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(itemKey, propertyName, _this.selection.inputPosition.getStyleTextPropertyValue(propertyName)));
|
|
});
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.insertToolboxItem = function (evt) {
|
|
var description = ShapeDescriptionManager_1.ShapeDescriptionManager.get(this.dragging.data);
|
|
this.startShapePosition = this.getSnappedPoint(evt, new Utils_1.Point(evt.modelPoint.x - description.defaultSize.width / 2, evt.modelPoint.y - description.defaultSize.height / 2));
|
|
var historyItem = new AddShapeHistoryItem_1.AddShapeHistoryItem(this.dragging.data, this.startShapePosition);
|
|
this.history.addAndRedo(historyItem);
|
|
this.updateShapeProperties(historyItem.shapeKey);
|
|
return historyItem.shapeKey;
|
|
};
|
|
MouseHandlerToolboxDraggingState.prototype.getPosition = function (evt, basePoint) {
|
|
return this.getSnappedPoint(evt, new Utils_1.Point(basePoint.x + evt.modelPoint.x - this.startPoint.x, basePoint.y + evt.modelPoint.y - this.startPoint.y));
|
|
};
|
|
return MouseHandlerToolboxDraggingState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerToolboxDraggingState = MouseHandlerToolboxDraggingState;
|
|
|
|
|
|
/***/ }),
|
|
/* 273 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDraggingState_1 = __webpack_require__(26);
|
|
var ChangeConnectorTextPositionHistoryItem_1 = __webpack_require__(274);
|
|
var ChangeConnectorTextHistoryItem_1 = __webpack_require__(54);
|
|
var MouseHandlerMoveConnectorTextState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveConnectorTextState, _super);
|
|
function MouseHandlerMoveConnectorTextState(handler, history, model) {
|
|
var _this = _super.call(this, handler, history) || this;
|
|
_this.model = model;
|
|
return _this;
|
|
}
|
|
MouseHandlerMoveConnectorTextState.prototype.onMouseDown = function (evt) {
|
|
this.connector = this.model.findConnector(evt.source.key);
|
|
this.position = parseFloat(evt.source.value);
|
|
this.text = this.connector.getText(this.position);
|
|
this.savedText = "";
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
};
|
|
MouseHandlerMoveConnectorTextState.prototype.onApplyChanges = function (evt) {
|
|
var newPosition = this.connector.getTextPositionByPoint(evt.modelPoint);
|
|
if (newPosition != this.position) {
|
|
var text = this.connector.getText(newPosition);
|
|
if (text !== "" && text !== this.text) {
|
|
this.history.addAndRedo(new ChangeConnectorTextHistoryItem_1.ChangeConnectorTextHistoryItem(this.connector, newPosition, ""));
|
|
this.savedText = text;
|
|
}
|
|
this.history.addAndRedo(new ChangeConnectorTextPositionHistoryItem_1.ChangeConnectorTextPositionHistoryItem(this.connector, this.position, newPosition));
|
|
if (this.savedText !== "" && this.savedText !== text) {
|
|
this.history.addAndRedo(new ChangeConnectorTextHistoryItem_1.ChangeConnectorTextHistoryItem(this.connector, this.position, this.savedText));
|
|
this.savedText = "";
|
|
}
|
|
this.position = newPosition;
|
|
}
|
|
};
|
|
MouseHandlerMoveConnectorTextState.prototype.getDraggingElementKeys = function () {
|
|
return [this.connector.key];
|
|
};
|
|
return MouseHandlerMoveConnectorTextState;
|
|
}(MouseHandlerDraggingState_1.MouseHandlerDraggingState));
|
|
exports.MouseHandlerMoveConnectorTextState = MouseHandlerMoveConnectorTextState;
|
|
|
|
|
|
/***/ }),
|
|
/* 274 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeConnectorTextPositionHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeConnectorTextPositionHistoryItem, _super);
|
|
function ChangeConnectorTextPositionHistoryItem(connector, position, newPosition) {
|
|
var _this = _super.call(this) || this;
|
|
_this.connectorKey = connector.key;
|
|
_this.position = position;
|
|
_this.newPosition = newPosition;
|
|
return _this;
|
|
}
|
|
ChangeConnectorTextPositionHistoryItem.prototype.redo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.changeConnectorTextPosition(connector, this.position, this.newPosition);
|
|
};
|
|
ChangeConnectorTextPositionHistoryItem.prototype.undo = function (manipulator) {
|
|
var connector = manipulator.model.findConnector(this.connectorKey);
|
|
manipulator.changeConnectorTextPosition(connector, this.newPosition, this.position);
|
|
};
|
|
return ChangeConnectorTextPositionHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeConnectorTextPositionHistoryItem = ChangeConnectorTextPositionHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 275 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var ToggleShapeExpandedHistoryItem_1 = __webpack_require__(276);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var MouseHandlerToggleShapeExpandedState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerToggleShapeExpandedState, _super);
|
|
function MouseHandlerToggleShapeExpandedState(handler, history, model) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.history = history;
|
|
_this.model = model;
|
|
return _this;
|
|
}
|
|
MouseHandlerToggleShapeExpandedState.prototype.onMouseUp = function (evt) {
|
|
var shape = this.model.findShape(evt.source.key);
|
|
if (shape) {
|
|
this.history.beginTransaction();
|
|
this.history.addAndRedo(new ToggleShapeExpandedHistoryItem_1.ToggleShapeExpandedHistoryItem(shape));
|
|
ModelUtils_1.ModelUtils.updateShapeAttachedConnectors(this.history, this.model, shape);
|
|
ModelUtils_1.ModelUtils.updateContainerConnectorsAttachedPoints(this.history, this.model, shape);
|
|
this.handler.tryUpdateModelSize();
|
|
this.history.endTransaction();
|
|
this.handler.raiseClick([shape.key]);
|
|
}
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
return MouseHandlerToggleShapeExpandedState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerStateBase));
|
|
exports.MouseHandlerToggleShapeExpandedState = MouseHandlerToggleShapeExpandedState;
|
|
|
|
|
|
/***/ }),
|
|
/* 276 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ToggleShapeExpandedHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ToggleShapeExpandedHistoryItem, _super);
|
|
function ToggleShapeExpandedHistoryItem(shape) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = shape.key;
|
|
_this.expanded = shape.expanded;
|
|
return _this;
|
|
}
|
|
ToggleShapeExpandedHistoryItem.prototype.redo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.changeShapeExpanded(shape, !this.expanded);
|
|
};
|
|
ToggleShapeExpandedHistoryItem.prototype.undo = function (manipulator) {
|
|
var shape = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.changeShapeExpanded(shape, this.expanded);
|
|
};
|
|
return ToggleShapeExpandedHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ToggleShapeExpandedHistoryItem = ToggleShapeExpandedHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 277 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var MouseHandlerSelectionState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerSelectionState, _super);
|
|
function MouseHandlerSelectionState(handler, selection, visualizerManager) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.selection = selection;
|
|
_this.visualizerManager = visualizerManager;
|
|
return _this;
|
|
}
|
|
MouseHandlerSelectionState.prototype.finish = function () {
|
|
this.handler.raiseDragEnd([]);
|
|
this.visualizerManager.resetSelectionRectangle();
|
|
_super.prototype.finish.call(this);
|
|
};
|
|
MouseHandlerSelectionState.prototype.cancelChanges = function () {
|
|
};
|
|
MouseHandlerSelectionState.prototype.onMouseDown = function (evt) {
|
|
this.startPoint = evt.modelPoint;
|
|
this.handler.raiseDragStart([]);
|
|
};
|
|
MouseHandlerSelectionState.prototype.onMouseMove = function (evt) {
|
|
if (evt.button !== Event_1.MouseButton.Left) {
|
|
this.handler.switchToDefaultState();
|
|
}
|
|
else {
|
|
this.rectangle = Utils_1.Rectangle.createByPoints(this.startPoint, evt.modelPoint);
|
|
this.visualizerManager.setSelectionRectangle(this.rectangle);
|
|
}
|
|
};
|
|
MouseHandlerSelectionState.prototype.onMouseUp = function (evt) {
|
|
if (this.rectangle !== undefined)
|
|
this.selection.selectRect(this.rectangle);
|
|
else
|
|
this.selection.set([]);
|
|
this.rectangle = undefined;
|
|
this.handler.switchToDefaultState();
|
|
};
|
|
return MouseHandlerSelectionState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerCancellableState));
|
|
exports.MouseHandlerSelectionState = MouseHandlerSelectionState;
|
|
|
|
|
|
/***/ }),
|
|
/* 278 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerStateBase_1 = __webpack_require__(32);
|
|
var Event_1 = __webpack_require__(10);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var __1 = __webpack_require__(8);
|
|
var CommandManager_1 = __webpack_require__(48);
|
|
var MouseHandlerZoomOnWheelState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerZoomOnWheelState, _super);
|
|
function MouseHandlerZoomOnWheelState(handler, settings, view, bars) {
|
|
var _this = _super.call(this, handler) || this;
|
|
_this.settings = settings;
|
|
_this.view = view;
|
|
_this.bars = bars;
|
|
return _this;
|
|
}
|
|
MouseHandlerZoomOnWheelState.prototype.onMouseWheel = function (evt) {
|
|
if (!this.trySwitchToDefault(evt)) {
|
|
this.settings.zoomLevel = this.view.getNextStepZoom(evt.deltaY < 0);
|
|
this.bars.updateItemsState([CommandManager_1.DiagramCommand.ZoomLevel]);
|
|
if (evt.source.type === Event_1.MouseEventElementType.Background)
|
|
this.view.resetScroll();
|
|
else {
|
|
this.view.scrollTo(evt.modelPoint, evt.offsetPoint);
|
|
this.view.normalize();
|
|
}
|
|
evt.preventDefault = true;
|
|
return true;
|
|
}
|
|
else
|
|
return this.handler.state.onMouseWheel(evt);
|
|
};
|
|
MouseHandlerZoomOnWheelState.prototype.onMouseUp = function (evt) {
|
|
this.handler.switchToDefaultState();
|
|
this.handler.state.onMouseUp(evt);
|
|
};
|
|
MouseHandlerZoomOnWheelState.prototype.onMouseDown = function (evt) {
|
|
this.handler.switchToDefaultState();
|
|
this.handler.state.onMouseDown(evt);
|
|
};
|
|
MouseHandlerZoomOnWheelState.prototype.onMouseMove = function (evt) {
|
|
this.trySwitchToDefault(evt) && this.handler.state.onMouseMove(evt);
|
|
};
|
|
MouseHandlerZoomOnWheelState.prototype.trySwitchToDefault = function (evt) {
|
|
if (!(evt.modifiers & KeyCode_1.ModifierKey.Ctrl)) {
|
|
this.handler.switchToDefaultState();
|
|
return true;
|
|
}
|
|
};
|
|
MouseHandlerZoomOnWheelState.prototype.start = function () {
|
|
_super.prototype.start.call(this);
|
|
this.settings.zoomLevel = this.view.getZoom();
|
|
if (this.settings.autoZoom !== __1.AutoZoomMode.Disabled) {
|
|
this.settings.autoZoom = __1.AutoZoomMode.Disabled;
|
|
this.bars.updateItemsState([CommandManager_1.DiagramCommand.SwitchAutoZoom, CommandManager_1.DiagramCommand.ToggleAutoZoom]);
|
|
}
|
|
};
|
|
return MouseHandlerZoomOnWheelState;
|
|
}(MouseHandlerStateBase_1.MouseHandlerStateBase));
|
|
exports.MouseHandlerZoomOnWheelState = MouseHandlerZoomOnWheelState;
|
|
|
|
|
|
/***/ }),
|
|
/* 279 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerMoveClonedShapeState_1 = __webpack_require__(78);
|
|
var MouseHandlerMoveShapeOrthogonallyState_1 = __webpack_require__(280);
|
|
var MouseHandlerMoveShapeState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveShapeState, _super);
|
|
function MouseHandlerMoveShapeState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerMoveShapeState.prototype.onMouseMove = function (evt) {
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
this.switchToMoveClonedShapeState(evt);
|
|
};
|
|
MouseHandlerMoveShapeState.prototype.switchToMoveClonedShapeState = function (evt) {
|
|
if (MouseHandlerMoveClonedShapeState_1.MouseHandlerMoveClonedShapeState.isMoveClonedShapeEvent(evt)) {
|
|
this.cancelChanges();
|
|
this.handler.switchToMoveClonedShapeState(this.startPoint);
|
|
this.handler.onMouseDown(evt);
|
|
}
|
|
};
|
|
return MouseHandlerMoveShapeState;
|
|
}(MouseHandlerMoveShapeOrthogonallyState_1.MouseHandlerMoveShapeOrthogonallyState));
|
|
exports.MouseHandlerMoveShapeState = MouseHandlerMoveShapeState;
|
|
|
|
|
|
/***/ }),
|
|
/* 280 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var MouseHandlerMoveShapeStateBase_1 = __webpack_require__(120);
|
|
var MouseHandlerMoveShapeOrthogonallyState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerMoveShapeOrthogonallyState, _super);
|
|
function MouseHandlerMoveShapeOrthogonallyState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerMoveShapeOrthogonallyState.prototype.onApplyChanges = function (evt) {
|
|
this.calculateFixedPosition(evt);
|
|
_super.prototype.onApplyChanges.call(this, evt);
|
|
};
|
|
MouseHandlerMoveShapeOrthogonallyState.prototype.getXPosition = function (evt, baseX) {
|
|
return this.fixedX ? baseX : _super.prototype.getXPosition.call(this, evt, baseX);
|
|
};
|
|
MouseHandlerMoveShapeOrthogonallyState.prototype.getYPosition = function (evt, baseY) {
|
|
return this.fixedY ? baseY : _super.prototype.getYPosition.call(this, evt, baseY);
|
|
};
|
|
MouseHandlerMoveShapeOrthogonallyState.prototype.calculateFixedPosition = function (evt) {
|
|
this.fixedX = false;
|
|
this.fixedY = false;
|
|
if (evt.modifiers & KeyCode_1.ModifierKey.Shift) {
|
|
var dx = Math.abs(this.startPoint.x - evt.modelPoint.x);
|
|
var dy = Math.abs(this.startPoint.y - evt.modelPoint.y);
|
|
if (dx < dy)
|
|
this.fixedX = true;
|
|
else
|
|
this.fixedY = true;
|
|
}
|
|
};
|
|
return MouseHandlerMoveShapeOrthogonallyState;
|
|
}(MouseHandlerMoveShapeStateBase_1.MouseHandlerMoveShapeStateBase));
|
|
exports.MouseHandlerMoveShapeOrthogonallyState = MouseHandlerMoveShapeOrthogonallyState;
|
|
|
|
|
|
/***/ }),
|
|
/* 281 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDefaultReadOnlyState_1 = __webpack_require__(123);
|
|
var MouseHandlerDefaultReadOnlyTouchState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDefaultReadOnlyTouchState, _super);
|
|
function MouseHandlerDefaultReadOnlyTouchState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerDefaultReadOnlyTouchState.prototype.canDragObjectOnMouseDown = function (key) {
|
|
return false;
|
|
};
|
|
MouseHandlerDefaultReadOnlyTouchState.prototype.canClearSelectionOnMouseDown = function () {
|
|
return true;
|
|
};
|
|
MouseHandlerDefaultReadOnlyTouchState.prototype.processOnMouseMoveAfterLimit = function (evt) {
|
|
this.startScrolling(evt);
|
|
};
|
|
MouseHandlerDefaultReadOnlyTouchState.prototype.canSelectOnMouseUp = function (key) {
|
|
return !this.inSelection(key);
|
|
};
|
|
MouseHandlerDefaultReadOnlyTouchState.prototype.canClearSelectionOnMouseUp = function () {
|
|
return false;
|
|
};
|
|
return MouseHandlerDefaultReadOnlyTouchState;
|
|
}(MouseHandlerDefaultReadOnlyState_1.MouseHandlerDefaultReadOnlyState));
|
|
exports.MouseHandlerDefaultReadOnlyTouchState = MouseHandlerDefaultReadOnlyTouchState;
|
|
|
|
|
|
/***/ }),
|
|
/* 282 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var MouseHandlerDefaultState_1 = __webpack_require__(117);
|
|
var MouseHandlerZoomOnPinchState_1 = __webpack_require__(283);
|
|
var MouseHandlerDefaultTouchState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerDefaultTouchState, _super);
|
|
function MouseHandlerDefaultTouchState() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
MouseHandlerDefaultTouchState.prototype.updateConnectionsOnMouseMove = function (evt) {
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.canDragObjectOnMouseDown = function (key) {
|
|
return this.inSelection(key);
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.canClearSelectionOnMouseDown = function () {
|
|
return true;
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.processOnMouseMoveAfterLimit = function (evt) {
|
|
if (evt.touches.length > 1)
|
|
this.startZooming(evt);
|
|
else
|
|
this.startScrolling(evt);
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.startZooming = function (evt) {
|
|
this.handler.switchState(new MouseHandlerZoomOnPinchState_1.MouseHandlerZoomOnPinchState(this.handler, this.selection, this.settings, this.view, this.bars));
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.canSelectOnMouseUp = function (key) {
|
|
return !this.inSelection(key);
|
|
};
|
|
MouseHandlerDefaultTouchState.prototype.canClearSelectionOnMouseUp = function () {
|
|
return false;
|
|
};
|
|
return MouseHandlerDefaultTouchState;
|
|
}(MouseHandlerDefaultState_1.MouseHandlerDefaultState));
|
|
exports.MouseHandlerDefaultTouchState = MouseHandlerDefaultTouchState;
|
|
|
|
|
|
/***/ }),
|
|
/* 283 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DiagramSettings_1 = __webpack_require__(35);
|
|
var CommandManager_1 = __webpack_require__(48);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var MouseHandlerScrollingState_1 = __webpack_require__(122);
|
|
var PINCH_CHANGE_DISTANCE = 1;
|
|
var MouseHandlerZoomOnPinchState = /** @class */ (function (_super) {
|
|
__extends(MouseHandlerZoomOnPinchState, _super);
|
|
function MouseHandlerZoomOnPinchState(handler, selection, settings, view, bars) {
|
|
var _this = _super.call(this, handler, view, selection) || this;
|
|
_this.selection = selection;
|
|
_this.settings = settings;
|
|
_this.view = view;
|
|
_this.bars = bars;
|
|
return _this;
|
|
}
|
|
MouseHandlerZoomOnPinchState.prototype.onMouseDown = function (evt) {
|
|
_super.prototype.onMouseDown.call(this, evt);
|
|
if (evt.touches.length > 1) {
|
|
this.startDistance = this.getTouchDistance(evt);
|
|
this.startZoomLevel = this.settings.zoomLevel;
|
|
this.prevDistance = this.startDistance;
|
|
}
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.onMouseMove = function (evt) {
|
|
if (evt.touches.length > 1) {
|
|
var distance = this.getTouchDistance(evt);
|
|
if (Math.abs(this.prevDistance - distance) > PINCH_CHANGE_DISTANCE) {
|
|
this.settings.zoomLevel = this.startZoomLevel * (distance / this.startDistance);
|
|
this.bars.updateItemsState([CommandManager_1.DiagramCommand.ZoomLevel]);
|
|
this.view.scrollTo(this.getMiddleLayoutPoint(evt), this.getMiddleAbsPoint(evt));
|
|
this.view.normalize();
|
|
this.prevDistance = distance;
|
|
}
|
|
}
|
|
_super.prototype.onMouseMove.call(this, evt);
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.onMouseUp = function (evt) {
|
|
if (evt.touches.length === 0) {
|
|
setTimeout(function () {
|
|
this.handler.switchToDefaultState();
|
|
}.bind(this), 1);
|
|
}
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.start = function () {
|
|
_super.prototype.start.call(this);
|
|
this.settings.zoomLevel = this.view.getZoom();
|
|
if (this.settings.autoZoom !== DiagramSettings_1.AutoZoomMode.Disabled) {
|
|
this.settings.autoZoom = DiagramSettings_1.AutoZoomMode.Disabled;
|
|
this.bars.updateItemsState([CommandManager_1.DiagramCommand.SwitchAutoZoom, CommandManager_1.DiagramCommand.ToggleAutoZoom]);
|
|
}
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.getTouchDistance = function (evt) {
|
|
var pt0 = new Utils_1.Point(evt.touches[0].offsetPoint.x, evt.touches[0].offsetPoint.y);
|
|
var pt1 = new Utils_1.Point(evt.touches[1].offsetPoint.x, evt.touches[1].offsetPoint.y);
|
|
return Utils_1.GeometryUtils.getDistance(pt0, pt1);
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.getPointByEvent = function (evt) {
|
|
return this.getMiddleAbsPoint(evt);
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.getMiddleAbsPoint = function (evt) {
|
|
if (evt.touches.length > 1)
|
|
return MouseHandlerZoomOnPinchState.getMiddlePointByEvent(evt, function (touch) { return touch.offsetPoint; });
|
|
return evt.offsetPoint;
|
|
};
|
|
MouseHandlerZoomOnPinchState.prototype.getMiddleLayoutPoint = function (evt) {
|
|
if (evt.touches.length > 1)
|
|
return MouseHandlerZoomOnPinchState.getMiddlePointByEvent(evt, function (touch) { return touch.modelPoint; });
|
|
return evt.modelPoint;
|
|
};
|
|
MouseHandlerZoomOnPinchState.getMiddlePointByEvent = function (evt, getPoint) {
|
|
if (evt.touches.length > 1) {
|
|
return new Utils_1.Point((getPoint(evt.touches[0]).x + getPoint(evt.touches[1]).x) / 2, (getPoint(evt.touches[0]).y + getPoint(evt.touches[1]).y) / 2);
|
|
}
|
|
};
|
|
return MouseHandlerZoomOnPinchState;
|
|
}(MouseHandlerScrollingState_1.MouseHandlerScrollingState));
|
|
exports.MouseHandlerZoomOnPinchState = MouseHandlerZoomOnPinchState;
|
|
|
|
|
|
/***/ }),
|
|
/* 284 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ChangeShapeTextHistoryItem_1 = __webpack_require__(285);
|
|
var Event_1 = __webpack_require__(10);
|
|
var KeyCode_1 = __webpack_require__(16);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var ChangeConnectorTextHistoryItem_1 = __webpack_require__(54);
|
|
var TextInputHandler = /** @class */ (function () {
|
|
function TextInputHandler(control) {
|
|
this.control = control;
|
|
}
|
|
TextInputHandler.prototype.startTextInput = function (item, position) {
|
|
if (item.isLocked || !item.enableText || !item.allowEditText || this.control.settings.readOnly)
|
|
return;
|
|
this.control.beginUpdate();
|
|
this.textInputItem = item;
|
|
if (this.textInputItem instanceof Shape_1.Shape) {
|
|
var textRect = this.textInputItem.textEditRectangle;
|
|
this.control.eventManager.raiseTextInputStart(this.textInputItem, this.textInputItem.text, textRect.position, textRect.size);
|
|
}
|
|
if (this.textInputItem instanceof Connector_1.Connector) {
|
|
this.textInputPosition = position;
|
|
this.control.eventManager.raiseTextInputStart(this.textInputItem, this.textInputItem.getText(this.textInputPosition), this.textInputItem.getTextPoint(this.textInputPosition));
|
|
}
|
|
};
|
|
TextInputHandler.prototype.endTextInput = function () {
|
|
var textInputItem = this.textInputItem;
|
|
delete this.textInputItem;
|
|
this.control.eventManager.raiseTextInputEnd(textInputItem);
|
|
this.control.endUpdate();
|
|
};
|
|
TextInputHandler.prototype.applyTextInput = function (text) {
|
|
var textInputItem = this.textInputItem;
|
|
var textInputPosition = this.textInputPosition;
|
|
// call this first to be able measure text on changes
|
|
this.endTextInput();
|
|
if (textInputItem instanceof Shape_1.Shape) {
|
|
if (textInputItem.text !== text)
|
|
this.control.history.addAndRedo(new ChangeShapeTextHistoryItem_1.ChangeShapeTextHistoryItem(textInputItem, text));
|
|
}
|
|
else if (textInputItem instanceof Connector_1.Connector) {
|
|
if (textInputItem.getText(textInputPosition) !== text)
|
|
this.control.history.addAndRedo(new ChangeConnectorTextHistoryItem_1.ChangeConnectorTextHistoryItem(textInputItem, textInputPosition, text));
|
|
}
|
|
};
|
|
TextInputHandler.prototype.cancelTextInput = function () {
|
|
this.endTextInput();
|
|
};
|
|
TextInputHandler.prototype.isTextInputActive = function () {
|
|
return this.textInputItem !== undefined;
|
|
};
|
|
TextInputHandler.prototype.processDblClick = function (evt) {
|
|
if (evt.source.type === Event_1.MouseEventElementType.Shape) {
|
|
var shape = this.control.model.findShape(evt.source.key);
|
|
this.startTextInput(shape);
|
|
}
|
|
else if (evt.source.type === Event_1.MouseEventElementType.Connector) {
|
|
var connector = this.control.model.findConnector(evt.source.key);
|
|
var position = connector.getTextPositionByPoint(evt.modelPoint);
|
|
this.startTextInput(connector, position);
|
|
}
|
|
else if (evt.source.type === Event_1.MouseEventElementType.ConnectorText) {
|
|
var connector = this.control.model.findConnector(evt.source.key);
|
|
var position = parseFloat(evt.source.value);
|
|
this.startTextInput(connector, position);
|
|
}
|
|
};
|
|
TextInputHandler.prototype.onDblClick = function (evt) {
|
|
this.processDblClick(evt);
|
|
};
|
|
TextInputHandler.prototype.onKeyDown = function (evt) {
|
|
if (!this.isTextInputActive())
|
|
return;
|
|
if (evt.keyCode === 13 && (evt.modifiers & KeyCode_1.ModifierKey.Ctrl)) {
|
|
evt.preventDefault = true;
|
|
this.applyTextInput(evt.inputText);
|
|
}
|
|
if (evt.keyCode === 27)
|
|
this.cancelTextInput();
|
|
};
|
|
TextInputHandler.prototype.onBlur = function (evt) {
|
|
if (this.isTextInputActive())
|
|
this.applyTextInput(evt.inputText);
|
|
};
|
|
TextInputHandler.prototype.onFocus = function (evt) {
|
|
};
|
|
return TextInputHandler;
|
|
}());
|
|
exports.TextInputHandler = TextInputHandler;
|
|
|
|
|
|
/***/ }),
|
|
/* 285 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var ChangeShapeTextHistoryItem = /** @class */ (function (_super) {
|
|
__extends(ChangeShapeTextHistoryItem, _super);
|
|
function ChangeShapeTextHistoryItem(item, text) {
|
|
var _this = _super.call(this) || this;
|
|
_this.shapeKey = item.key;
|
|
_this.text = text;
|
|
return _this;
|
|
}
|
|
ChangeShapeTextHistoryItem.prototype.redo = function (manipulator) {
|
|
var item = manipulator.model.findShape(this.shapeKey);
|
|
this.oldText = item.text;
|
|
manipulator.changeShapeText(item, this.text);
|
|
};
|
|
ChangeShapeTextHistoryItem.prototype.undo = function (manipulator) {
|
|
var item = manipulator.model.findShape(this.shapeKey);
|
|
manipulator.changeShapeText(item, this.oldText);
|
|
};
|
|
return ChangeShapeTextHistoryItem;
|
|
}(HistoryItem_1.HistoryItem));
|
|
exports.ChangeShapeTextHistoryItem = ChangeShapeTextHistoryItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 286 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Event_1 = __webpack_require__(10);
|
|
var Model_1 = __webpack_require__(19);
|
|
var ContextMenuHandler_1 = __webpack_require__(124);
|
|
var ContextMenuTouchHandler = /** @class */ (function (_super) {
|
|
__extends(ContextMenuTouchHandler, _super);
|
|
function ContextMenuTouchHandler(selection) {
|
|
var _this = _super.call(this) || this;
|
|
_this.selection = selection;
|
|
_this.selection.onChanged.add(_this);
|
|
return _this;
|
|
}
|
|
ContextMenuTouchHandler.prototype.onMouseDown = function (evt) {
|
|
};
|
|
ContextMenuTouchHandler.prototype.onMouseUp = function (evt) {
|
|
};
|
|
ContextMenuTouchHandler.prototype.onFocus = function (evt) {
|
|
setTimeout(function () {
|
|
this.showContextMenuAtSelection();
|
|
}.bind(this), 1);
|
|
};
|
|
ContextMenuTouchHandler.prototype.onBlur = function (evt) {
|
|
setTimeout(function () {
|
|
if (!this.isLongTouch)
|
|
this.hideContextMenu();
|
|
}.bind(this), 1);
|
|
};
|
|
ContextMenuTouchHandler.prototype.onTextInputFocus = function (evt) {
|
|
setTimeout(function () {
|
|
this.hideContextMenu();
|
|
}.bind(this), 1);
|
|
};
|
|
ContextMenuTouchHandler.prototype.onTextInputBlur = function (evt) {
|
|
setTimeout(function () {
|
|
this.showContextMenuAtSelection();
|
|
}.bind(this), 1);
|
|
};
|
|
ContextMenuTouchHandler.prototype.onLongTouch = function (evt) {
|
|
if (evt.source.type === Event_1.MouseEventElementType.Document)
|
|
this.showContextMenuAtEmptySelection(evt.modelPoint);
|
|
};
|
|
ContextMenuTouchHandler.prototype.getSelectedItems = function () {
|
|
return this.selection.getSelectedItems(true);
|
|
};
|
|
ContextMenuTouchHandler.prototype.showContextMenuAtSelection = function () {
|
|
var items = this.getSelectedItems();
|
|
if (items.length !== 0)
|
|
this.showContextMenu(undefined, Model_1.DiagramModel.getRectangle(items).position);
|
|
};
|
|
ContextMenuTouchHandler.prototype.showContextMenuAtEmptySelection = function (point) {
|
|
var items = this.getSelectedItems();
|
|
if (items.length === 0)
|
|
this.showContextMenu(undefined, point);
|
|
};
|
|
ContextMenuTouchHandler.prototype.notifySelectionChanged = function (selection) {
|
|
var items = this.getSelectedItems();
|
|
if (items.length !== 0)
|
|
this.showContextMenuAtSelection();
|
|
else
|
|
this.hideContextMenu();
|
|
};
|
|
ContextMenuTouchHandler.prototype.notifyDragStart = function (itemKeys) {
|
|
this.hideContextMenu();
|
|
};
|
|
ContextMenuTouchHandler.prototype.notifyDragEnd = function (itemKeys) {
|
|
this.showContextMenuAtSelection();
|
|
};
|
|
return ContextMenuTouchHandler;
|
|
}(ContextMenuHandler_1.ContextMenuHandler));
|
|
exports.ContextMenuTouchHandler = ContextMenuTouchHandler;
|
|
|
|
|
|
/***/ }),
|
|
/* 287 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var TargetVisualizerBase_1 = __webpack_require__(126);
|
|
var ConnectionTargetVisualizer = /** @class */ (function (_super) {
|
|
__extends(ConnectionTargetVisualizer, _super);
|
|
function ConnectionTargetVisualizer(dispatcher) {
|
|
return _super.call(this, dispatcher) || this;
|
|
}
|
|
ConnectionTargetVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifyConnectionTargetShow(_this.key, _this.targetRect); });
|
|
};
|
|
ConnectionTargetVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifyConnectionTargetHide(); });
|
|
};
|
|
return ConnectionTargetVisualizer;
|
|
}(TargetVisualizerBase_1.TargetVisualizerBase));
|
|
exports.ConnectionTargetVisualizer = ConnectionTargetVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 288 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var TargetVisualizerBase_1 = __webpack_require__(126);
|
|
var ContainerTargetVisualizer = /** @class */ (function (_super) {
|
|
__extends(ContainerTargetVisualizer, _super);
|
|
function ContainerTargetVisualizer(dispatcher) {
|
|
return _super.call(this, dispatcher) || this;
|
|
}
|
|
ContainerTargetVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifyContainerTargetShow(_this.key, _this.targetRect); });
|
|
};
|
|
ContainerTargetVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifyContainerTargetHide(); });
|
|
};
|
|
return ContainerTargetVisualizer;
|
|
}(TargetVisualizerBase_1.TargetVisualizerBase));
|
|
exports.ContainerTargetVisualizer = ContainerTargetVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 289 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectionPointInfo = /** @class */ (function () {
|
|
function ConnectionPointInfo(point, side) {
|
|
this.point = point;
|
|
this.side = side;
|
|
}
|
|
return ConnectionPointInfo;
|
|
}());
|
|
exports.ConnectionPointInfo = ConnectionPointInfo;
|
|
var ConnectionPointsVisualizer = /** @class */ (function () {
|
|
function ConnectionPointsVisualizer(dispatcher) {
|
|
this.dispatcher = dispatcher;
|
|
}
|
|
ConnectionPointsVisualizer.prototype.getKey = function () {
|
|
return this.key;
|
|
};
|
|
ConnectionPointsVisualizer.prototype.setPoints = function (key, points, pointIndex, isSelected) {
|
|
if (this.key !== key || this.pointIndex !== pointIndex) {
|
|
this.key = key;
|
|
this.isSelected = isSelected;
|
|
this.points = points;
|
|
this.pointIndex = pointIndex;
|
|
this.raiseShow();
|
|
}
|
|
};
|
|
ConnectionPointsVisualizer.prototype.setPointIndex = function (pointIndex) {
|
|
if (0 <= pointIndex && pointIndex < this.points.length && this.pointIndex !== pointIndex) {
|
|
this.pointIndex = pointIndex;
|
|
this.raiseShow();
|
|
}
|
|
};
|
|
ConnectionPointsVisualizer.prototype.update = function () {
|
|
this.raiseShow();
|
|
};
|
|
ConnectionPointsVisualizer.prototype.reset = function () {
|
|
if (this.key !== "-1") {
|
|
this.key = "-1";
|
|
this.isSelected = false;
|
|
this.points = [];
|
|
this.pointIndex = -1;
|
|
this.raiseHide();
|
|
}
|
|
};
|
|
ConnectionPointsVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifyConnectionPointsShow(_this.key, _this.points, _this.pointIndex, _this.isSelected); });
|
|
};
|
|
ConnectionPointsVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifyConnectionPointsHide(); });
|
|
};
|
|
return ConnectionPointsVisualizer;
|
|
}());
|
|
exports.ConnectionPointsVisualizer = ConnectionPointsVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 290 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ResizeInfoVisualizer = /** @class */ (function () {
|
|
function ResizeInfoVisualizer(dispatcher) {
|
|
this.dispatcher = dispatcher;
|
|
}
|
|
ResizeInfoVisualizer.prototype.set = function (point, text) {
|
|
this.point = point;
|
|
this.text = text;
|
|
this.raiseShow();
|
|
};
|
|
ResizeInfoVisualizer.prototype.reset = function () {
|
|
if (this.point !== undefined) {
|
|
this.point = undefined;
|
|
this.text = undefined;
|
|
this.raiseHide();
|
|
}
|
|
};
|
|
ResizeInfoVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifyResizeInfoShow(_this.point, _this.text); });
|
|
};
|
|
ResizeInfoVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifyResizeInfoHide(); });
|
|
};
|
|
return ResizeInfoVisualizer;
|
|
}());
|
|
exports.ResizeInfoVisualizer = ResizeInfoVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 291 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var SelectionRectVisualizer = /** @class */ (function () {
|
|
function SelectionRectVisualizer(dispatcher) {
|
|
this.dispatcher = dispatcher;
|
|
}
|
|
SelectionRectVisualizer.prototype.setRectangle = function (rect) {
|
|
this.rect = rect;
|
|
this.raiseShow();
|
|
};
|
|
SelectionRectVisualizer.prototype.reset = function () {
|
|
this.rect = undefined;
|
|
this.raiseHide();
|
|
};
|
|
SelectionRectVisualizer.prototype.raiseShow = function () {
|
|
var _this = this;
|
|
this.dispatcher.raise1(function (l) { return l.notifySelectionRectShow(_this.rect); });
|
|
};
|
|
SelectionRectVisualizer.prototype.raiseHide = function () {
|
|
this.dispatcher.raise1(function (l) { return l.notifySelectionRectHide(); });
|
|
};
|
|
return SelectionRectVisualizer;
|
|
}());
|
|
exports.SelectionRectVisualizer = SelectionRectVisualizer;
|
|
|
|
|
|
/***/ }),
|
|
/* 292 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var VisualizersManager_1 = __webpack_require__(125);
|
|
var Event_1 = __webpack_require__(10);
|
|
var VisualizerTouchManager = /** @class */ (function (_super) {
|
|
__extends(VisualizerTouchManager, _super);
|
|
function VisualizerTouchManager(selection, model, eventManager, settings, readOnly) {
|
|
if (readOnly === void 0) { readOnly = settings.readOnly; }
|
|
var _this = _super.call(this, selection, model, eventManager, settings, readOnly) || this;
|
|
selection.onChanged.add(_this);
|
|
return _this;
|
|
}
|
|
VisualizerTouchManager.prototype.onBlur = function (evt) {
|
|
setTimeout(function () {
|
|
this.hideConnections();
|
|
}.bind(this), 1);
|
|
};
|
|
VisualizerTouchManager.prototype.onFocus = function (evt) {
|
|
setTimeout(function () {
|
|
this.showConnections();
|
|
}.bind(this), 1);
|
|
};
|
|
VisualizerTouchManager.prototype.hideConnections = function () {
|
|
if (this.readOnly)
|
|
return;
|
|
this.resetConnectionPoints();
|
|
};
|
|
VisualizerTouchManager.prototype.showConnections = function () {
|
|
if (this.readOnly)
|
|
return;
|
|
if (this.needShowConnections()) {
|
|
var shapes = this.selection.getSelectedShapes();
|
|
this.setConnectionPoints(shapes[0], Event_1.MouseEventElementType.ShapeConnectionPoint, -1);
|
|
}
|
|
};
|
|
VisualizerTouchManager.prototype.needShowConnections = function () {
|
|
var items = this.selection.getSelectedItems();
|
|
var shapes = this.selection.getSelectedShapes();
|
|
return (items.length === 1 && shapes.length === 1);
|
|
};
|
|
VisualizerTouchManager.prototype.notifySelectionChanged = function (selection) {
|
|
if (this.needShowConnections())
|
|
this.showConnections();
|
|
else
|
|
this.hideConnections();
|
|
};
|
|
VisualizerTouchManager.prototype.notifyDragStart = function (itemKeys) {
|
|
this.hideConnections();
|
|
};
|
|
VisualizerTouchManager.prototype.notifyDragEnd = function (itemKeys) {
|
|
this.showConnections();
|
|
};
|
|
return VisualizerTouchManager;
|
|
}(VisualizersManager_1.VisualizerManager));
|
|
exports.VisualizerTouchManager = VisualizerTouchManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 293 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Utils_1 = __webpack_require__(0);
|
|
var InputPosition_1 = __webpack_require__(294);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Selection = /** @class */ (function () {
|
|
function Selection(model) {
|
|
this.onChanged = new Utils_1.EventDispatcher();
|
|
this.inputPosition = new InputPosition_1.InputPosition(this);
|
|
this.onChanged.add(this.inputPosition);
|
|
this.initialize(model);
|
|
}
|
|
Selection.prototype.initialize = function (model) {
|
|
this.model = model;
|
|
this.keys = [];
|
|
this.inputPosition.initialize();
|
|
};
|
|
Selection.prototype.add = function (key) {
|
|
if (this.keys.indexOf(key) < 0) { // binarySearch
|
|
this.keys.push(key);
|
|
this.raiseSelectionChanged();
|
|
}
|
|
};
|
|
Selection.prototype.remove = function (key) {
|
|
if (this.keys.indexOf(key) >= 0) { // binarySearch
|
|
this.keys.splice(this.keys.indexOf(key), 1);
|
|
this.raiseSelectionChanged();
|
|
}
|
|
};
|
|
Selection.prototype.clear = function () {
|
|
this.keys = [];
|
|
this.raiseSelectionChanged();
|
|
};
|
|
Selection.prototype.set = function (keys) {
|
|
this.keys = keys;
|
|
this.raiseSelectionChanged();
|
|
};
|
|
Selection.prototype.getKeys = function () {
|
|
return this.keys;
|
|
};
|
|
Selection.prototype.getKey = function (index) {
|
|
return this.keys[index];
|
|
};
|
|
Selection.prototype.getSelectedItemsInsideContainers = function (items) {
|
|
var _this = this;
|
|
var result = items.slice();
|
|
items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape) {
|
|
var children = _this.getSelectedItemsInsideContainers(_this.model.getChildren(item));
|
|
children.forEach(function (child) {
|
|
if (result.indexOf(child) === -1 && !_this.hasKey(child.key))
|
|
result.push(child);
|
|
});
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
Selection.prototype.getSelectedItemsCore = function (includeLocked) {
|
|
var _this = this;
|
|
return this.keys.map(function (key) { return _this.model.findItem(key); })
|
|
.filter(function (conn) { return conn && (includeLocked || !conn.isLocked); });
|
|
};
|
|
Selection.prototype.getSelectedItems = function (includeLocked, includeInsideContainers) {
|
|
if (includeInsideContainers)
|
|
return this.getSelectedItemsInsideContainers(this.getSelectedItemsCore(includeLocked));
|
|
return this.getSelectedItemsCore(includeLocked);
|
|
};
|
|
Selection.prototype.getSelectedShapes = function (includeLocked, includeInsideContainers) {
|
|
var _this = this;
|
|
if (includeInsideContainers) {
|
|
var items = this.getSelectedItemsCore(includeLocked);
|
|
return this.getSelectedItemsInsideContainers(items)
|
|
.map(function (item) { return item instanceof Shape_1.Shape ? item : undefined; })
|
|
.filter(function (shape) { return shape; });
|
|
}
|
|
else
|
|
return this.keys.map(function (key) { return _this.model.findShape(key); })
|
|
.filter(function (conn) { return conn && (includeLocked || !conn.isLocked); });
|
|
};
|
|
Selection.prototype.getSelectedConnectors = function (includeLocked, includeInsideContainers) {
|
|
var _this = this;
|
|
if (includeInsideContainers) {
|
|
var items = this.keys.map(function (key) { return _this.model.findItem(key); });
|
|
return this.getSelectedItemsInsideContainers(items)
|
|
.map(function (item) { return item instanceof Connector_1.Connector ? item : undefined; })
|
|
.filter(function (connector) { return connector; });
|
|
}
|
|
else
|
|
return this.keys.map(function (key) { return _this.model.findConnector(key); })
|
|
.filter(function (conn) { return conn && (includeLocked || !conn.isLocked); });
|
|
};
|
|
Selection.prototype.hasKey = function (key) {
|
|
return this.keys.indexOf(key) >= 0;
|
|
};
|
|
Selection.prototype.isEmpty = function (includeLocked) {
|
|
return !this.getSelectedItems(includeLocked).length;
|
|
};
|
|
Selection.prototype.selectRect = function (rect) {
|
|
var keys = [];
|
|
this.model.iterateItems(function (item) {
|
|
if (item.intersectedByRect(rect))
|
|
keys.push(item.key);
|
|
});
|
|
this.set(keys);
|
|
this.raiseSelectionChanged();
|
|
};
|
|
Selection.prototype.onLoad = function () {
|
|
this.raiseSelectionChanged();
|
|
};
|
|
Selection.prototype.raiseSelectionChanged = function () {
|
|
this.onChanged.raise("notifySelectionChanged", this);
|
|
};
|
|
return Selection;
|
|
}());
|
|
exports.Selection = Selection;
|
|
|
|
|
|
/***/ }),
|
|
/* 294 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ConnectorProperties_1 = __webpack_require__(24);
|
|
var Style_1 = __webpack_require__(27);
|
|
var InputPosition = /** @class */ (function () {
|
|
function InputPosition(selection) {
|
|
this.selection = selection;
|
|
this.initialize();
|
|
}
|
|
InputPosition.prototype.initialize = function () {
|
|
this.reset();
|
|
this.connectorPropertiesDefault = new ConnectorProperties_1.ConnectorProperties();
|
|
this.stylePropertiesDefault = new Style_1.Style();
|
|
this.styleTextPropertiesDefault = new Style_1.StyleText();
|
|
};
|
|
InputPosition.prototype.reset = function () {
|
|
this.connectorPropertiesCurrent = null;
|
|
this.stylePropertiesCurrent = null;
|
|
this.styleTextPropertiesCurrent = null;
|
|
};
|
|
// Connectors
|
|
InputPosition.prototype.getConnectorProperties = function () {
|
|
if (!this.connectorPropertiesCurrent) {
|
|
this.connectorPropertiesCurrent = this.connectorPropertiesDefault.clone();
|
|
this.updateConnectorProperties(this.connectorPropertiesCurrent);
|
|
}
|
|
return this.connectorPropertiesCurrent;
|
|
};
|
|
InputPosition.prototype.getConnectorPropertyValue = function (propertyName) {
|
|
return this.getConnectorProperties()[propertyName];
|
|
};
|
|
InputPosition.prototype.getConnectorPropertyDefaultValue = function (propertyName) {
|
|
return this.connectorPropertiesDefault[propertyName];
|
|
};
|
|
InputPosition.prototype.setConnectorPropertyValue = function (propertyName, value) {
|
|
this.getConnectorProperties()[propertyName] = value;
|
|
this.connectorPropertiesDefault[propertyName] = value;
|
|
};
|
|
InputPosition.prototype.updateConnectorProperties = function (properties) {
|
|
var _this = this;
|
|
var connectors = this.selection.getSelectedConnectors();
|
|
properties.forEach(function (propertyName) {
|
|
_this.updatePropertyValue(properties, connectors, function (item) { return item["properties"]; }, propertyName);
|
|
});
|
|
};
|
|
// Style
|
|
InputPosition.prototype.getStyleProperties = function () {
|
|
if (!this.stylePropertiesCurrent) {
|
|
this.stylePropertiesCurrent = this.stylePropertiesDefault.clone();
|
|
this.updateStyleProperties(this.stylePropertiesCurrent, "style");
|
|
}
|
|
return this.stylePropertiesCurrent;
|
|
};
|
|
InputPosition.prototype.getStyleTextProperties = function () {
|
|
if (!this.styleTextPropertiesCurrent) {
|
|
this.styleTextPropertiesCurrent = this.styleTextPropertiesDefault.clone();
|
|
this.updateStyleProperties(this.styleTextPropertiesCurrent, "styleText");
|
|
}
|
|
return this.styleTextPropertiesCurrent;
|
|
};
|
|
InputPosition.prototype.getStylePropertyValue = function (propertyName) {
|
|
return this.getStyleProperties()[propertyName];
|
|
};
|
|
InputPosition.prototype.getStylePropertyDefaultValue = function (propertyName) {
|
|
return this.stylePropertiesDefault[propertyName];
|
|
};
|
|
InputPosition.prototype.getStyleTextPropertyValue = function (propertyName) {
|
|
return this.getStyleTextProperties()[propertyName];
|
|
};
|
|
InputPosition.prototype.getStyleTextPropertyDefaultValue = function (propertyName) {
|
|
return this.styleTextPropertiesDefault[propertyName];
|
|
};
|
|
InputPosition.prototype.setStylePropertyValue = function (propertyName, value) {
|
|
this.getStyleProperties()[propertyName] = value;
|
|
this.stylePropertiesDefault[propertyName] = value;
|
|
};
|
|
InputPosition.prototype.setStyleTextPropertyValue = function (propertyName, value) {
|
|
this.getStyleTextProperties()[propertyName] = value;
|
|
this.styleTextPropertiesDefault[propertyName] = value;
|
|
};
|
|
InputPosition.prototype.updateStyleProperties = function (style, stylePropertyName) {
|
|
var _this = this;
|
|
var items = this.selection.getSelectedItems();
|
|
style.forEach(function (propertyName) {
|
|
_this.updatePropertyValue(style, items, function (item) { return item[stylePropertyName]; }, propertyName);
|
|
});
|
|
};
|
|
InputPosition.prototype.updatePropertyValue = function (destObj, items, getSrcObj, propertyName) {
|
|
var value = undefined;
|
|
var valueAssigned = false;
|
|
items.forEach(function (item) {
|
|
var obj = getSrcObj(item);
|
|
var propertyValue = obj[propertyName];
|
|
if (value === undefined && propertyValue != undefined) {
|
|
value = propertyValue;
|
|
valueAssigned = true;
|
|
}
|
|
else if (valueAssigned && value !== propertyValue) {
|
|
value = undefined;
|
|
return;
|
|
}
|
|
});
|
|
if (valueAssigned)
|
|
destObj[propertyName] = value;
|
|
};
|
|
InputPosition.prototype.notifySelectionChanged = function (selection) {
|
|
this.reset();
|
|
};
|
|
return InputPosition;
|
|
}());
|
|
exports.InputPosition = InputPosition;
|
|
|
|
|
|
/***/ }),
|
|
/* 295 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var HistoryItem_1 = __webpack_require__(3);
|
|
var __1 = __webpack_require__(8);
|
|
var History = /** @class */ (function () {
|
|
function History(modelManipulator) {
|
|
this.historyItems = [];
|
|
this.currentIndex = -1;
|
|
this.incrementalId = -1;
|
|
this.transactionLevel = -1;
|
|
this.unmodifiedIndex = -1;
|
|
// need for async actions
|
|
this.currTransactionId = 0;
|
|
this.onChanged = new __1.EventDispatcher();
|
|
this.modelManipulator = modelManipulator;
|
|
}
|
|
History.prototype.isModified = function () {
|
|
if (this.unmodifiedIndex == this.currentIndex)
|
|
return false;
|
|
var startIndex = Math.min(this.unmodifiedIndex, this.currentIndex);
|
|
var endIndex = Math.max(this.unmodifiedIndex, this.currentIndex);
|
|
for (var i = startIndex + 1; i <= endIndex; i++) {
|
|
if (this.historyItems[i].changeModified())
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
History.prototype.undo = function () {
|
|
if (!this.canUndo())
|
|
return;
|
|
this.historyItems[this.currentIndex].undo(this.modelManipulator);
|
|
this.currentIndex--;
|
|
this.raiseChanged();
|
|
};
|
|
History.prototype.redo = function () {
|
|
if (!this.canRedo())
|
|
return;
|
|
this.currentIndex++;
|
|
this.historyItems[this.currentIndex].redo(this.modelManipulator);
|
|
this.raiseChanged();
|
|
};
|
|
History.prototype.canUndo = function () {
|
|
return this.currentIndex >= 0;
|
|
};
|
|
History.prototype.canRedo = function () {
|
|
return this.currentIndex < this.historyItems.length - 1;
|
|
};
|
|
History.prototype.beginTransaction = function () {
|
|
this.transactionLevel++;
|
|
if (this.transactionLevel == 0)
|
|
this.transaction = new HistoryItem_1.CompositionHistoryItem();
|
|
var id = this.currTransactionId++;
|
|
return id;
|
|
};
|
|
History.prototype.endTransaction = function () {
|
|
if (--this.transactionLevel >= 0)
|
|
return;
|
|
var transactionLength = this.transaction.historyItems.length;
|
|
if (transactionLength > 1)
|
|
this.addInternal(this.transaction);
|
|
else if (transactionLength == 1)
|
|
this.addInternal(this.transaction.historyItems.pop());
|
|
if (transactionLength > 0)
|
|
this.raiseChanged();
|
|
delete this.transaction;
|
|
};
|
|
History.prototype.addAndRedo = function (historyItem) {
|
|
this.add(historyItem);
|
|
historyItem.redo(this.modelManipulator);
|
|
this.raiseChanged();
|
|
};
|
|
History.prototype.add = function (historyItem) {
|
|
if (this.transactionLevel >= 0)
|
|
this.transaction.add(historyItem);
|
|
else
|
|
this.addInternal(historyItem);
|
|
};
|
|
History.prototype.addInternal = function (historyItem) {
|
|
if (this.currentIndex < this.historyItems.length - 1) {
|
|
this.historyItems.splice(this.currentIndex + 1);
|
|
this.unmodifiedIndex = Math.min(this.unmodifiedIndex, this.currentIndex);
|
|
}
|
|
this.historyItems.push(historyItem);
|
|
this.currentIndex++;
|
|
this.deleteOldItems();
|
|
};
|
|
History.prototype.deleteOldItems = function () {
|
|
var exceedItemsCount = this.historyItems.length - History.MAX_HISTORY_ITEM_COUNT;
|
|
if (exceedItemsCount > 0 && this.currentIndex > exceedItemsCount) {
|
|
this.historyItems.splice(0, exceedItemsCount);
|
|
this.currentIndex -= exceedItemsCount;
|
|
}
|
|
};
|
|
History.prototype.getNextId = function () {
|
|
this.incrementalId++;
|
|
return this.incrementalId;
|
|
};
|
|
History.prototype.clear = function () {
|
|
this.currentIndex = -1;
|
|
this.unmodifiedIndex = -1;
|
|
this.incrementalId = -1;
|
|
this.historyItems = [];
|
|
delete this.transaction;
|
|
this.transactionLevel = -1;
|
|
};
|
|
History.prototype.resetModified = function () {
|
|
this.unmodifiedIndex = this.currentIndex;
|
|
};
|
|
History.prototype.getCurrentItemId = function () {
|
|
if (this.currentIndex == -1)
|
|
return -1;
|
|
var currentItem = this.historyItems[this.currentIndex];
|
|
if (currentItem.uniqueId == -1)
|
|
currentItem.uniqueId = this.getNextId();
|
|
return currentItem.uniqueId;
|
|
};
|
|
History.prototype.undoTransaction = function () {
|
|
var items = this.transaction.historyItems;
|
|
while (items.length)
|
|
items.pop().undo(this.modelManipulator);
|
|
this.raiseChanged();
|
|
};
|
|
History.prototype.undoTransactionTo = function (item) {
|
|
var items = this.transaction.historyItems;
|
|
while (items.length) {
|
|
var ti = items.pop();
|
|
ti.undo(this.modelManipulator);
|
|
if (ti === item)
|
|
return;
|
|
}
|
|
this.raiseChanged();
|
|
};
|
|
History.prototype.raiseChanged = function () {
|
|
if (this.transactionLevel === -1)
|
|
this.onChanged.raise("notifyHistoryChanged");
|
|
};
|
|
History.MAX_HISTORY_ITEM_COUNT = 100;
|
|
return History;
|
|
}());
|
|
exports.History = History;
|
|
|
|
|
|
/***/ }),
|
|
/* 296 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var BatchUpdatableObject_1 = __webpack_require__(127);
|
|
var BarManager = /** @class */ (function (_super) {
|
|
__extends(BarManager, _super);
|
|
function BarManager(control) {
|
|
var _this = _super.call(this) || this;
|
|
_this.bars = [];
|
|
_this.control = control;
|
|
return _this;
|
|
}
|
|
BarManager.prototype.registerBar = function (bar) {
|
|
this.bars.push(bar);
|
|
bar.onChanged.add(this);
|
|
this.updateBarItemsState(bar);
|
|
};
|
|
BarManager.prototype.updateItemsState = function (queryCommands) {
|
|
if (this.isUpdateLocked())
|
|
return;
|
|
for (var i = 0, bar; bar = this.bars[i]; i++)
|
|
this.updateBarItemsState(bar, queryCommands);
|
|
};
|
|
BarManager.prototype.updateBarItemsState = function (bar, queryCommands) {
|
|
if (this.isUpdateLocked())
|
|
return;
|
|
if (bar.isVisible()) {
|
|
var commandKeys = void 0;
|
|
if (queryCommands) {
|
|
var knownCommandKeys_1 = bar.getCommandKeys().reduce(function (hash, cmd) {
|
|
hash[cmd] = true;
|
|
return hash;
|
|
}, {});
|
|
commandKeys = queryCommands.filter(function (cmd) { return knownCommandKeys_1[cmd]; });
|
|
}
|
|
else
|
|
commandKeys = bar.getCommandKeys();
|
|
var length_1 = commandKeys.length;
|
|
for (var j = 0; j < length_1; j++)
|
|
this.updateBarItem(bar, commandKeys[j]);
|
|
}
|
|
};
|
|
BarManager.prototype.updateBarItem = function (bar, commandKey) {
|
|
var command = this.control.commandManager.getCommand(commandKey);
|
|
if (command) {
|
|
var commandState = command.getState();
|
|
bar.setItemVisible(commandKey, commandState.visible);
|
|
if (commandState.visible) {
|
|
bar.setItemEnabled(commandKey, commandState.enabled);
|
|
if (!commandState.denyUpdateValue) {
|
|
var itemValue = this.getItemValue(commandState.value);
|
|
if (commandState.items)
|
|
bar.setItemSubItems(commandKey, commandState.items);
|
|
bar.setItemValue(commandKey, itemValue, this.getDefaultItemValue(commandState.defaultValue));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
BarManager.prototype.setEnabled = function (enabled) {
|
|
for (var i = 0, bar; bar = this.bars[i]; i++)
|
|
bar.setEnabled(enabled);
|
|
};
|
|
BarManager.prototype.notifyBarCommandExecuted = function (commandID, parameter) {
|
|
var executeResult = this.control.commandManager.getCommand(commandID).execute(parameter);
|
|
if (!executeResult)
|
|
this.updateItemsState([commandID]);
|
|
};
|
|
BarManager.prototype.notifyBarUpdateRequested = function () {
|
|
this.updateItemsState();
|
|
};
|
|
// ISelectionChangesListener
|
|
BarManager.prototype.notifySelectionChanged = function (_selection) {
|
|
this.updateItemsState();
|
|
};
|
|
BarManager.prototype.onUpdateUnlocked = function (occurredEvents) {
|
|
this.updateItemsState(); // TODO
|
|
};
|
|
BarManager.prototype.getItemValue = function (value) {
|
|
return value;
|
|
};
|
|
BarManager.prototype.getDefaultItemValue = function (value) {
|
|
return value;
|
|
};
|
|
return BarManager;
|
|
}(BatchUpdatableObject_1.BatchUpdatableObject));
|
|
exports.BarManager = BarManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 297 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var DataSource_1 = __webpack_require__(298);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var Data_1 = __webpack_require__(81);
|
|
var DocumentDataSource = /** @class */ (function (_super) {
|
|
__extends(DocumentDataSource, _super);
|
|
function DocumentDataSource(changesListener, nodeDataSource, edgeDataSource, nodeDataImporter, edgeDataImporter) {
|
|
var _this = _super.call(this, "Document", nodeDataSource, edgeDataSource, nodeDataImporter, edgeDataImporter) || this;
|
|
_this.changesListener = changesListener;
|
|
_this.updateLockCount = 0;
|
|
return _this;
|
|
}
|
|
DocumentDataSource.prototype.createModelItems = function (history, model, selection, layoutParameters, snapToGrid, gridSize) {
|
|
DataSource_1.DataSource.createModelItems(history, model, selection, this, layoutParameters, true, false, snapToGrid, gridSize);
|
|
};
|
|
DocumentDataSource.prototype.updateItemsByModel = function (model) {
|
|
var _this = this;
|
|
this.deleteNodes(model);
|
|
this.deleteEdges(model);
|
|
model.items.forEach(function (item) {
|
|
if (item instanceof Shape_1.Shape)
|
|
_this.updateNode(model, item);
|
|
if (item instanceof Connector_1.Connector)
|
|
_this.updateEdge(model, item);
|
|
});
|
|
};
|
|
DocumentDataSource.prototype.isItemObjectModified = function (item, itemObj, importer) {
|
|
var modified = (importer.setLocked && itemObj.locked !== item.locked) ||
|
|
(importer.setZIndex && itemObj.zIndex !== item.zIndex);
|
|
if (!modified && importer.setStyle) {
|
|
var defaultStyle_1 = item.style.getDefaultInstance();
|
|
item.style.forEach(function (key) {
|
|
if (item.style[key] !== defaultStyle_1[key] && item.style[key] !== itemObj.style[key])
|
|
modified = true;
|
|
});
|
|
}
|
|
if (!modified && importer.setStyleText) {
|
|
var defaultTextStyle_1 = item.styleText.getDefaultInstance();
|
|
item.styleText.forEach(function (key) {
|
|
if (item.styleText[key] !== defaultTextStyle_1[key] && item.styleText[key] !== itemObj.styleText[key])
|
|
modified = true;
|
|
});
|
|
}
|
|
return modified;
|
|
};
|
|
DocumentDataSource.prototype.updateItemObjectProperties = function (itemObj, item, importer) {
|
|
if (importer.setLocked) {
|
|
itemObj.locked = item.locked;
|
|
if (itemObj.dataObj && itemObj.locked !== undefined)
|
|
importer.setLocked(itemObj.dataObj, item.locked);
|
|
}
|
|
if (importer.setStyle) {
|
|
var styleObj = item.style.toObject();
|
|
itemObj.style = styleObj;
|
|
if (itemObj.dataObj && itemObj.style !== undefined)
|
|
importer.setStyle(itemObj.dataObj, styleObj);
|
|
}
|
|
if (importer.setStyleText) {
|
|
var styleTextObj = item.styleText.toObject();
|
|
itemObj.styleText = styleTextObj;
|
|
if (itemObj.dataObj && itemObj.styleText !== undefined)
|
|
importer.setStyleText(itemObj.dataObj, styleTextObj);
|
|
}
|
|
if (importer.setZIndex) {
|
|
itemObj.zIndex = item.zIndex;
|
|
if (itemObj.dataObj && itemObj.zIndex !== undefined)
|
|
importer.setZIndex(itemObj.dataObj, item.zIndex);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.deleteItems = function (dataSourceItems, findItem, getParentArray, callback) {
|
|
var items = dataSourceItems.slice();
|
|
items.forEach(function (item) {
|
|
if (item.key && !findItem(item.key)) {
|
|
var parentArray = getParentArray(item);
|
|
var index = parentArray.indexOf(item.dataObj);
|
|
parentArray.splice(index, 1);
|
|
callback(item, index > -1);
|
|
}
|
|
});
|
|
};
|
|
// Nodes
|
|
DocumentDataSource.prototype.updateNode = function (model, shape) {
|
|
var _this = this;
|
|
var nodeObj = this.findNode(shape.dataKey);
|
|
if (!nodeObj) {
|
|
var dataObj = {};
|
|
nodeObj = this.addNodeInternal(dataObj, shape.description.key, shape.text);
|
|
this.nodeDataSource.push(nodeObj.dataObj);
|
|
this.nodeDataImporter.setKey(dataObj, nodeObj.key);
|
|
this.updateNodeObjectProperties(shape, nodeObj, model.units);
|
|
this.updateNodeObjectConnectedProperties(shape, nodeObj);
|
|
this.updateNodeObjectKey(shape, nodeObj, nodeObj.dataObj);
|
|
this.beginChangesNotification();
|
|
this.changesListener.notifyNodeInserted.call(this.changesListener, nodeObj.dataObj, function (data) {
|
|
_this.updateNodeObjectKey(shape, nodeObj, data);
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
else {
|
|
if (this.isNodeObjectModified(shape, nodeObj, model.units)) {
|
|
this.updateNodeObjectProperties(shape, nodeObj, model.units);
|
|
this.updateNodeObjectConnectedProperties(shape, nodeObj);
|
|
this.beginChangesNotification();
|
|
this.changesListener.notifyNodeUpdated.call(this.changesListener, this.nodeDataImporter.getKey(nodeObj.dataObj || nodeObj.key), nodeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
else
|
|
this.updateNodeObjectConnectedProperties(shape, nodeObj, this.changesListener);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.isNodeObjectModified = function (shape, nodeObj, units) {
|
|
return this.isItemObjectModified(shape, nodeObj, this.nodeDataImporter) ||
|
|
(nodeObj.type !== shape.description.key && !(nodeObj.type === undefined && shape.description.key === ShapeTypes_1.ShapeTypes.Rectangle)) ||
|
|
!this.compareStrings(nodeObj.text, shape.text) ||
|
|
(nodeObj.containerKey !== (shape.container && shape.container.dataKey)) ||
|
|
(this.nodeDataImporter.setImage && nodeObj.image !== shape.image.url) ||
|
|
(this.nodeDataImporter.setLeft && nodeObj.left !== ModelUtils_1.ModelUtils.getlUnitValue(units, shape.position.x)) ||
|
|
(this.nodeDataImporter.setTop && nodeObj.top !== ModelUtils_1.ModelUtils.getlUnitValue(units, shape.position.y)) ||
|
|
(this.nodeDataImporter.setWidth && nodeObj.width !== ModelUtils_1.ModelUtils.getlUnitValue(units, shape.size.width)) ||
|
|
(this.nodeDataImporter.setHeight && nodeObj.height !== ModelUtils_1.ModelUtils.getlUnitValue(units, shape.size.height));
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectProperties = function (shape, nodeObj, units) {
|
|
this.updateItemObjectProperties(nodeObj, shape, this.nodeDataImporter);
|
|
if (this.nodeDataImporter.setType) {
|
|
nodeObj.type = shape.description.key;
|
|
this.nodeDataImporter.setType(nodeObj.dataObj, shape.description.key);
|
|
}
|
|
if (this.nodeDataImporter.setText) {
|
|
nodeObj.text = shape.text;
|
|
this.nodeDataImporter.setText(nodeObj.dataObj, shape.text);
|
|
}
|
|
if (this.nodeDataImporter.setImage) {
|
|
nodeObj.image = shape.image.url;
|
|
this.nodeDataImporter.setImage(nodeObj.dataObj, shape.image.url);
|
|
}
|
|
if (this.nodeDataImporter.setLeft) {
|
|
var left = ModelUtils_1.ModelUtils.getlUnitValue(units, shape.position.x);
|
|
nodeObj.left = left;
|
|
this.nodeDataImporter.setLeft(nodeObj.dataObj, left);
|
|
}
|
|
if (this.nodeDataImporter.setTop) {
|
|
var top_1 = ModelUtils_1.ModelUtils.getlUnitValue(units, shape.position.y);
|
|
nodeObj.top = top_1;
|
|
this.nodeDataImporter.setTop(nodeObj.dataObj, top_1);
|
|
}
|
|
if (this.nodeDataImporter.setWidth) {
|
|
var width = ModelUtils_1.ModelUtils.getlUnitValue(units, shape.size.width);
|
|
nodeObj.width = width;
|
|
this.nodeDataImporter.setWidth(nodeObj.dataObj, width);
|
|
}
|
|
if (this.nodeDataImporter.setHeight) {
|
|
var height = ModelUtils_1.ModelUtils.getlUnitValue(units, shape.size.height);
|
|
nodeObj.height = height;
|
|
this.nodeDataImporter.setHeight(nodeObj.dataObj, height);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectConnectedProperties = function (shape, nodeObj, changesListener) {
|
|
if (this.useNodeParentId && this.nodeDataImporter.setParentKey !== undefined) {
|
|
var parentKey = this.getParentShapeKey(shape);
|
|
var parentItem = this.findNode(parentKey);
|
|
this.updateNodeObjectParentKey(nodeObj, parentItem, changesListener);
|
|
}
|
|
if (this.useNodeContainerId && this.nodeDataImporter.setContainerKey !== undefined) {
|
|
var containerKey = this.getContainerShapeKey(shape);
|
|
var containerItem = this.findNode(containerKey);
|
|
this.updateNodeObjectContainerKey(nodeObj, containerItem, changesListener);
|
|
}
|
|
if (this.useNodeItems && this.nodeDataImporter.setItems !== undefined) {
|
|
var parentKey = this.getParentShapeKey(shape);
|
|
var parentItem = this.findNode(parentKey);
|
|
this.updateNodeObjectItems(nodeObj, parentItem, changesListener);
|
|
}
|
|
if (this.useNodeChildren && this.nodeDataImporter.setChildren !== undefined) {
|
|
var containerKey = this.getContainerShapeKey(shape);
|
|
var containerItem = this.findNode(containerKey);
|
|
this.updateNodeObjectChildren(nodeObj, containerItem, changesListener);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectParentKey = function (nodeObj, parentNodeObj, changesListener) {
|
|
var _this = this;
|
|
var parentKey = this.nodeDataImporter.getParentKey(nodeObj.dataObj);
|
|
var newParentKey = parentNodeObj ? this.nodeDataImporter.getKey(parentNodeObj.dataObj) : undefined;
|
|
if (parentKey !== newParentKey && !(this.isRootParentKey(parentKey) && this.isRootParentKey(newParentKey))) {
|
|
this.nodeDataImporter.setParentKey(nodeObj.dataObj, newParentKey);
|
|
if (changesListener) {
|
|
this.beginChangesNotification();
|
|
changesListener.notifyNodeUpdated.call(changesListener, this.nodeDataImporter.getKey(nodeObj.dataObj) || nodeObj.key, nodeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectContainerKey = function (nodeObj, containerNodeObj, changesListener) {
|
|
var _this = this;
|
|
var containerKey = this.nodeDataImporter.getContainerKey(nodeObj.dataObj);
|
|
var newContainerKey = containerNodeObj ? this.nodeDataImporter.getKey(containerNodeObj.dataObj) : undefined;
|
|
if (containerKey !== newContainerKey && !(this.isRootParentKey(containerKey) && this.isRootParentKey(newContainerKey))) {
|
|
this.nodeDataImporter.setContainerKey(nodeObj.dataObj, newContainerKey);
|
|
if (changesListener) {
|
|
this.beginChangesNotification();
|
|
changesListener.notifyNodeUpdated.call(changesListener, this.nodeDataImporter.getKey(nodeObj.dataObj) || nodeObj.key, nodeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.isRootParentKey = function (key) {
|
|
return key === undefined || key === null || !this.findNode(key);
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectItems = function (nodeObj, parentNodeObj, changesListener) {
|
|
var _this = this;
|
|
if (parentNodeObj && nodeObj.parentDataObj !== parentNodeObj.dataObj ||
|
|
!parentNodeObj && nodeObj.parentDataObj) {
|
|
if (!parentNodeObj || !this.checkNodeCyrcleItems(nodeObj.dataObj, parentNodeObj.dataObj)) {
|
|
var oldItemsArray = nodeObj.parentDataObj ? this.nodeDataImporter.getItems(nodeObj.parentDataObj) : this.nodeDataSource;
|
|
var index = oldItemsArray.indexOf(nodeObj.dataObj);
|
|
oldItemsArray.splice(index, 1);
|
|
var itemsArray = parentNodeObj ? this.nodeDataImporter.getItems(parentNodeObj.dataObj) : this.nodeDataSource;
|
|
if (!itemsArray)
|
|
this.nodeDataImporter.setItems(parentNodeObj.dataObj, [nodeObj.dataObj]);
|
|
else
|
|
itemsArray.push(nodeObj.dataObj);
|
|
nodeObj.parentDataObj = parentNodeObj && parentNodeObj.dataObj;
|
|
if (changesListener) {
|
|
this.beginChangesNotification();
|
|
changesListener.notifyNodeUpdated.call(changesListener, this.nodeDataImporter.getKey(nodeObj.dataObj) || nodeObj.key, nodeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectChildren = function (nodeObj, containerNodeObj, changesListener) {
|
|
var _this = this;
|
|
if (containerNodeObj && nodeObj.containerDataObj !== containerNodeObj.dataObj ||
|
|
!containerNodeObj && nodeObj.containerDataObj) {
|
|
var oldChildrenArray = nodeObj.containerDataObj ? this.nodeDataImporter.getChildren(nodeObj.containerDataObj) : this.nodeDataSource;
|
|
var index = oldChildrenArray.indexOf(nodeObj.dataObj);
|
|
oldChildrenArray.splice(index, 1);
|
|
var childrenArray = containerNodeObj ? this.nodeDataImporter.getChildren(containerNodeObj.dataObj) : this.nodeDataSource;
|
|
if (!childrenArray)
|
|
this.nodeDataImporter.setChildren(containerNodeObj.dataObj, [nodeObj.dataObj]);
|
|
else
|
|
childrenArray.push(nodeObj.dataObj);
|
|
nodeObj.containerDataObj = containerNodeObj && containerNodeObj.dataObj;
|
|
if (changesListener) {
|
|
this.beginChangesNotification();
|
|
changesListener.notifyNodeUpdated.call(changesListener, this.nodeDataImporter.getKey(nodeObj.dataObj) || nodeObj.key, nodeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.checkNodeCyrcleItems = function (nodeDataObj, parentDataObjCandidate) {
|
|
var _this = this;
|
|
var result = false;
|
|
var items = this.nodeDataImporter.getItems(nodeDataObj);
|
|
if (items) {
|
|
items.forEach(function (childDataObj) {
|
|
result = result || childDataObj === parentDataObjCandidate ||
|
|
_this.checkNodeCyrcleItems(childDataObj, parentDataObjCandidate);
|
|
});
|
|
}
|
|
return result;
|
|
};
|
|
DocumentDataSource.prototype.updateNodeObjectKey = function (shape, nodeObj, dataObj) {
|
|
var key = this.nodeDataImporter.getKey(dataObj);
|
|
if (key !== undefined && key !== null && key !== nodeObj.key) {
|
|
nodeObj.key = key;
|
|
delete this.nodeKeyMap[nodeObj.key];
|
|
this.nodeKeyMap[key] = nodeObj.key;
|
|
}
|
|
shape.dataKey = nodeObj.key;
|
|
if (nodeObj.dataObj !== dataObj) {
|
|
var parentArray = this.getNodeArray(nodeObj);
|
|
var index = parentArray.indexOf(nodeObj.dataObj);
|
|
parentArray.splice(index, 1, dataObj);
|
|
nodeObj.dataObj = dataObj;
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.deleteNodes = function (model) {
|
|
var _this = this;
|
|
this.deleteItems(this.nodes, function (key) { return model.findShapeByDataKey(key); }, function (item) { return _this.getNodeArray(item); }, function (item, dataModified) {
|
|
var key = (item.dataObj && _this.nodeDataImporter.getKey(item.dataObj)) || item.key;
|
|
var dataKey = _this.nodeKeyMap[key];
|
|
if (dataKey)
|
|
delete _this.nodeKeyMap[key];
|
|
var nodeObj = _this.findNode(dataKey);
|
|
if (nodeObj)
|
|
_this.nodes.splice(_this.nodes.indexOf(nodeObj), 1);
|
|
if (dataModified) {
|
|
_this.beginChangesNotification();
|
|
_this.changesListener.notifyNodeRemoved.call(_this.changesListener, key, item.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
});
|
|
};
|
|
DocumentDataSource.prototype.getParentShapeKey = function (shape) {
|
|
var parentKey;
|
|
for (var i = 0; i < shape.attachedConnectors.length; i++) {
|
|
if (shape.attachedConnectors[i].endItem === shape) {
|
|
var parentShape = shape.attachedConnectors[i].beginItem;
|
|
parentKey = parentShape && parentShape.dataKey;
|
|
break;
|
|
}
|
|
}
|
|
return parentKey;
|
|
};
|
|
DocumentDataSource.prototype.getNodeArray = function (item) {
|
|
var items;
|
|
if (this.useNodeItems && item.parentDataObj)
|
|
items = this.nodeDataImporter.getItems(item.parentDataObj);
|
|
else if (item.containerDataObj)
|
|
items = this.nodeDataImporter.getChildren(item.containerDataObj);
|
|
return items || this.nodeDataSource;
|
|
};
|
|
DocumentDataSource.prototype.getContainerShapeKey = function (shape) {
|
|
return shape.container && shape.container.dataKey;
|
|
};
|
|
// Edges
|
|
DocumentDataSource.prototype.updateEdge = function (model, connector) {
|
|
var _this = this;
|
|
var beginDataKey = connector.beginItem ? connector.beginItem.dataKey : undefined;
|
|
var endDataKey = connector.endItem ? connector.endItem.dataKey : undefined;
|
|
var edgeObj = this.findEdge(connector.dataKey);
|
|
if (!edgeObj) {
|
|
var dataObj = this.useEdgesArray() ? {} : undefined;
|
|
edgeObj = this.addEdgeInternal(dataObj, beginDataKey, endDataKey);
|
|
if (dataObj) {
|
|
this.edgeDataImporter.setKey(dataObj, edgeObj.key);
|
|
this.edgeDataSource.push(edgeObj.dataObj);
|
|
}
|
|
this.updateEdgeObjectProperties(connector, edgeObj, model.units);
|
|
this.updateEdgeObjectKey(connector, edgeObj, edgeObj.dataObj);
|
|
if (dataObj) {
|
|
this.beginChangesNotification();
|
|
this.changesListener.notifyEdgeInserted.call(this.changesListener, edgeObj.dataObj, function (data) {
|
|
_this.updateEdgeObjectKey(connector, edgeObj, data);
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
else {
|
|
if (this.isEdgeObjectModified(connector, edgeObj, model.units)) {
|
|
this.updateEdgeObjectProperties(connector, edgeObj, model.units);
|
|
if (edgeObj.dataObj) {
|
|
this.beginChangesNotification();
|
|
this.changesListener.notifyEdgeUpdated.call(this.changesListener, this.edgeDataImporter.getKey(edgeObj.dataObj) || edgeObj.key, edgeObj.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.isEdgeObjectModified = function (connector, edgeObj, units) {
|
|
return this.isItemObjectModified(connector, edgeObj, this.edgeDataImporter) ||
|
|
edgeObj.from !== (connector.beginItem ? connector.beginItem.dataKey : undefined) ||
|
|
edgeObj.to !== (connector.endItem ? connector.endItem.dataKey : undefined) ||
|
|
(this.edgeDataImporter.setFromPointIndex && edgeObj.fromPointIndex !== connector.beginConnectionPointIndex) ||
|
|
(this.edgeDataImporter.setToPointIndex && edgeObj.toPointIndex !== connector.endConnectionPointIndex) ||
|
|
(this.edgeDataImporter.setPoints && (!edgeObj.points ||
|
|
!Data_1.Data.ArrayEqual(edgeObj.points.map(function (ptObj) { return ptObj.x; }), connector.points.map(function (pt) { return ModelUtils_1.ModelUtils.getlUnitValue(units, pt.x); })) ||
|
|
!Data_1.Data.ArrayEqual(edgeObj.points.map(function (ptObj) { return ptObj.y; }), connector.points.map(function (pt) { return ModelUtils_1.ModelUtils.getlUnitValue(units, pt.y); })))) ||
|
|
(this.edgeDataImporter.setText && !this.compareStrings(edgeObj.text, connector.getText())) ||
|
|
(this.edgeDataImporter.setLineOption && edgeObj.lineOption !== connector.properties.lineOption) ||
|
|
(this.edgeDataImporter.setStartLineEnding && edgeObj.startLineEnding !== connector.properties.startLineEnding) ||
|
|
(this.edgeDataImporter.setEndLineEnding && edgeObj.endLineEnding !== connector.properties.endLineEnding);
|
|
};
|
|
DocumentDataSource.prototype.updateEdgeObjectProperties = function (connector, edgeObj, units) {
|
|
this.updateItemObjectProperties(edgeObj, connector, this.edgeDataImporter);
|
|
if (this.edgeDataImporter.setFrom) {
|
|
var fromObj = this.findNode(connector.beginItem && connector.beginItem.dataKey);
|
|
edgeObj.from = fromObj && fromObj.key;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setFrom(edgeObj.dataObj, fromObj && fromObj.dataObj && this.nodeDataImporter.getKey(fromObj.dataObj));
|
|
}
|
|
if (this.edgeDataImporter.setTo) {
|
|
var toObj = this.findNode(connector.endItem && connector.endItem.dataKey);
|
|
edgeObj.to = toObj && toObj.key;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setTo(edgeObj.dataObj, toObj && toObj.dataObj && this.nodeDataImporter.getKey(toObj.dataObj));
|
|
}
|
|
if (this.edgeDataImporter.setFromPointIndex) {
|
|
edgeObj.fromPointIndex = connector.beginConnectionPointIndex;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setFromPointIndex(edgeObj.dataObj, connector.beginConnectionPointIndex);
|
|
}
|
|
if (this.edgeDataImporter.setToPointIndex) {
|
|
edgeObj.toPointIndex = connector.endConnectionPointIndex;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setToPointIndex(edgeObj.dataObj, connector.endConnectionPointIndex);
|
|
}
|
|
if (this.edgeDataImporter.setPoints) {
|
|
var points = connector.points.map(function (pt) {
|
|
return {
|
|
x: ModelUtils_1.ModelUtils.getlUnitValue(units, pt.x),
|
|
y: ModelUtils_1.ModelUtils.getlUnitValue(units, pt.y)
|
|
};
|
|
});
|
|
edgeObj.points = points;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setPoints(edgeObj.dataObj, points);
|
|
}
|
|
if (this.edgeDataImporter.setText) {
|
|
var text = connector.getText();
|
|
edgeObj.text = text;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setText(edgeObj.dataObj, text);
|
|
}
|
|
if (this.edgeDataImporter.setLineOption) {
|
|
edgeObj.lineOption = connector.properties.lineOption;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setLineOption(edgeObj.dataObj, connector.properties.lineOption);
|
|
}
|
|
if (this.edgeDataImporter.setStartLineEnding) {
|
|
edgeObj.startLineEnding = connector.properties.startLineEnding;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setStartLineEnding(edgeObj.dataObj, connector.properties.startLineEnding);
|
|
}
|
|
if (this.edgeDataImporter.setEndLineEnding) {
|
|
edgeObj.endLineEnding = connector.properties.endLineEnding;
|
|
if (edgeObj.dataObj)
|
|
this.edgeDataImporter.setEndLineEnding(edgeObj.dataObj, connector.properties.endLineEnding);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.updateEdgeObjectKey = function (connector, edgeObj, dataObj) {
|
|
var key = dataObj && this.edgeDataImporter.getKey(dataObj);
|
|
if (key !== undefined && key !== null && key !== edgeObj.key) {
|
|
edgeObj.key = key;
|
|
delete this.edgeKeyMap[edgeObj.key];
|
|
this.edgeKeyMap[key] = edgeObj.key;
|
|
}
|
|
connector.dataKey = edgeObj.key;
|
|
if (edgeObj.dataObj !== dataObj) {
|
|
var parentArray = this.edgeDataSource;
|
|
var index = parentArray.indexOf(edgeObj.dataObj);
|
|
parentArray.splice(index, 1, dataObj);
|
|
edgeObj.dataObj = dataObj;
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.deleteEdges = function (model) {
|
|
var _this = this;
|
|
this.deleteItems(this.edges, function (key) { return model.findConnectorByDataKey(key); }, function (item) { return _this.edgeDataSource; }, function (item, dataModified) {
|
|
var key = (item.dataObj && _this.edgeDataImporter.getKey(item.dataObj)) || item.key;
|
|
var dataKey = _this.edgeKeyMap[key];
|
|
if (dataKey)
|
|
delete _this.edgeKeyMap[key];
|
|
var edgeObj = _this.findEdge(dataKey);
|
|
if (edgeObj)
|
|
_this.edges.splice(_this.edges.indexOf(edgeObj), 1);
|
|
if (dataModified) {
|
|
_this.beginChangesNotification();
|
|
_this.changesListener.notifyEdgeRemoved.call(_this.changesListener, key, item.dataObj, function (key, data) {
|
|
_this.endChangesNotification();
|
|
}, function (error) {
|
|
_this.endChangesNotification();
|
|
});
|
|
}
|
|
});
|
|
};
|
|
DocumentDataSource.prototype.compareStrings = function (str1, str2) {
|
|
if (typeof str1 === "string" && typeof str2 === "string")
|
|
return str1 === str2;
|
|
return this.isEmptyString(str1) && this.isEmptyString(str2);
|
|
};
|
|
DocumentDataSource.prototype.isEmptyString = function (str) {
|
|
return str === "" || str === null || str === undefined;
|
|
};
|
|
DocumentDataSource.prototype.beginChangesNotification = function () {
|
|
this.updateLockCount++;
|
|
};
|
|
DocumentDataSource.prototype.endChangesNotification = function () {
|
|
this.updateLockCount--;
|
|
if (!this.isUpdateLocked()) {
|
|
setTimeout(function () {
|
|
this.changesListener.processDataChanges.call(this.changesListener, false);
|
|
}.bind(this), 0);
|
|
}
|
|
};
|
|
DocumentDataSource.prototype.isUpdateLocked = function () {
|
|
return this.updateLockCount > 0;
|
|
};
|
|
return DocumentDataSource;
|
|
}(DataSource_1.DataSource));
|
|
exports.DocumentDataSource = DocumentDataSource;
|
|
|
|
|
|
/***/ }),
|
|
/* 298 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var ShapeTypes_1 = __webpack_require__(1);
|
|
var ModelUtils_1 = __webpack_require__(6);
|
|
var DataImporter_1 = __webpack_require__(299);
|
|
var DataSourceItems_1 = __webpack_require__(300);
|
|
var Connector_1 = __webpack_require__(5);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var AddShapeHistoryItem_1 = __webpack_require__(51);
|
|
var AddConnectorHistoryItem_1 = __webpack_require__(52);
|
|
var AddConnectionHistoryItem_1 = __webpack_require__(37);
|
|
var SetSelectionHistoryItem_1 = __webpack_require__(44);
|
|
var ChangeShapeImageHistoryItem_1 = __webpack_require__(116);
|
|
var ChangeZindexHistoryItem_1 = __webpack_require__(76);
|
|
var ChangeStyleHistoryItem_1 = __webpack_require__(46);
|
|
var ChangeStyleTextHistoryItem_1 = __webpack_require__(36);
|
|
var ChangeConnectorPropertyHistoryItem_1 = __webpack_require__(55);
|
|
var ChangeConnectorTextHistoryItem_1 = __webpack_require__(54);
|
|
var ChangeLockedHistoryItem_1 = __webpack_require__(104);
|
|
var Color_1 = __webpack_require__(38);
|
|
var Svg_1 = __webpack_require__(79);
|
|
var DataSource = /** @class */ (function () {
|
|
function DataSource(key, nodeDataSource, edgeDataSource, nodeDataImporter, edgeDataImporter) {
|
|
this.key = key;
|
|
this.nodes = [];
|
|
this.edges = [];
|
|
this.nodeKeyMap = {};
|
|
this.edgeKeyMap = {};
|
|
this.useNodeParentId = false;
|
|
this.useNodeContainerId = false;
|
|
this.useNodeChildren = false;
|
|
this.useNodeItems = false;
|
|
this.containers = null;
|
|
if (key === undefined || key === null)
|
|
throw new Error("DataSource key must be specified");
|
|
this.key = key.toString();
|
|
this.nodeDataImporter = this.createNodeDataImporter(nodeDataImporter);
|
|
this.edgeDataImporter = this.createEdgeDataImporter(edgeDataImporter);
|
|
this.nodeDataSource = nodeDataSource || [];
|
|
this.edgeDataSource = edgeDataSource || [];
|
|
this.fetchData();
|
|
}
|
|
DataSource.prototype.createNodeDataImporter = function (source) {
|
|
var result = new DataImporter_1.DataSourceNodeDataImporter();
|
|
if (source)
|
|
this.assignNodeDataImporterProperties(source, result);
|
|
return result;
|
|
};
|
|
DataSource.prototype.createEdgeDataImporter = function (source) {
|
|
var result = new DataImporter_1.DataSourceEdgeDataImporter();
|
|
if (source)
|
|
this.assignEdgeDataImporterProperties(source, result);
|
|
return result;
|
|
};
|
|
DataSource.prototype.assignItemDataImporterProperties = function (source, importer) {
|
|
if (source.getKey)
|
|
importer.getKey = source.getKey;
|
|
if (source.setKey)
|
|
importer.setKey = source.setKey;
|
|
if (source.getLocked)
|
|
importer.getLocked = source.getLocked;
|
|
if (source.setLocked)
|
|
importer.setLocked = source.setLocked;
|
|
if (source.getStyle)
|
|
importer.getStyle = source.getStyle;
|
|
if (source.setStyle)
|
|
importer.setStyle = source.setStyle;
|
|
if (source.getStyleText)
|
|
importer.getStyleText = source.getStyleText;
|
|
if (source.setStyleText)
|
|
importer.setStyleText = source.setStyleText;
|
|
if (source.getZIndex)
|
|
importer.getZIndex = source.getZIndex;
|
|
if (source.setZIndex)
|
|
importer.setZIndex = source.setZIndex;
|
|
};
|
|
DataSource.prototype.assignNodeDataImporterProperties = function (source, importer) {
|
|
this.assignItemDataImporterProperties(source, importer);
|
|
if (source.getType)
|
|
importer.getType = source.getType;
|
|
if (source.setType)
|
|
importer.setType = source.setType;
|
|
if (source.getImage)
|
|
importer.getImage = source.getImage;
|
|
if (source.setImage)
|
|
importer.setImage = source.setImage;
|
|
if (source.getText)
|
|
importer.getText = source.getText;
|
|
if (source.setText)
|
|
importer.setText = source.setText;
|
|
if (source.getLeft)
|
|
importer.getLeft = source.getLeft;
|
|
if (source.setLeft)
|
|
importer.setLeft = source.setLeft;
|
|
if (source.getTop)
|
|
importer.getTop = source.getTop;
|
|
if (source.setTop)
|
|
importer.setTop = source.setTop;
|
|
if (source.getWidth)
|
|
importer.getWidth = source.getWidth;
|
|
if (source.setWidth)
|
|
importer.setWidth = source.setWidth;
|
|
if (source.getHeight)
|
|
importer.getHeight = source.getHeight;
|
|
if (source.setHeight)
|
|
importer.setHeight = source.setHeight;
|
|
if (source.getChildren)
|
|
importer.getChildren = source.getChildren;
|
|
if (source.setChildren)
|
|
importer.setChildren = source.setChildren;
|
|
if (source.getParentKey)
|
|
importer.getParentKey = source.getParentKey;
|
|
if (source.setParentKey)
|
|
importer.setParentKey = source.setParentKey;
|
|
if (source.getItems)
|
|
importer.getItems = source.getItems;
|
|
if (source.setItems)
|
|
importer.setItems = source.setItems;
|
|
if (source.getContainerKey)
|
|
importer.getContainerKey = source.getContainerKey;
|
|
if (source.setContainerKey)
|
|
importer.setContainerKey = source.setContainerKey;
|
|
};
|
|
DataSource.prototype.assignEdgeDataImporterProperties = function (source, importer) {
|
|
this.assignItemDataImporterProperties(source, importer);
|
|
if (source.getFrom)
|
|
importer.getFrom = source.getFrom;
|
|
if (source.setFrom)
|
|
importer.setFrom = source.setFrom;
|
|
if (source.getFromPointIndex)
|
|
importer.getFromPointIndex = source.getFromPointIndex;
|
|
if (source.setFromPointIndex)
|
|
importer.setFromPointIndex = source.setFromPointIndex;
|
|
if (source.getTo)
|
|
importer.getTo = source.getTo;
|
|
if (source.setTo)
|
|
importer.setTo = source.setTo;
|
|
if (source.getToPointIndex)
|
|
importer.getToPointIndex = source.getToPointIndex;
|
|
if (source.setToPointIndex)
|
|
importer.setToPointIndex = source.setToPointIndex;
|
|
if (source.getPoints)
|
|
importer.getPoints = source.getPoints;
|
|
if (source.setPoints)
|
|
importer.setPoints = source.setPoints;
|
|
if (source.getText)
|
|
importer.getText = source.getText;
|
|
if (source.setText)
|
|
importer.setText = source.setText;
|
|
if (source.getLineOption)
|
|
importer.getLineOption = source.getLineOption;
|
|
if (source.setLineOption)
|
|
importer.setLineOption = source.setLineOption;
|
|
if (source.getStartLineEnding)
|
|
importer.getStartLineEnding = source.getStartLineEnding;
|
|
if (source.setStartLineEnding)
|
|
importer.setStartLineEnding = source.setStartLineEnding;
|
|
if (source.getEndLineEnding)
|
|
importer.getEndLineEnding = source.getEndLineEnding;
|
|
if (source.setEndLineEnding)
|
|
importer.setEndLineEnding = source.setEndLineEnding;
|
|
};
|
|
DataSource.prototype.fetchData = function () {
|
|
var _this = this;
|
|
this.useNodeParentId = this.nodeDataImporter.getParentKey !== undefined;
|
|
this.useNodeContainerId = this.nodeDataImporter.getContainerKey !== undefined;
|
|
this.useNodeItems = this.nodeDataImporter.getItems !== undefined;
|
|
this.useNodeChildren = this.nodeDataImporter.getChildren !== undefined;
|
|
if (this.useEdgesArray() && this.useNodeParentId)
|
|
throw new Error("You cannot use edges array and parentKey simultaneously.");
|
|
if (this.useEdgesArray() && this.useNodeItems)
|
|
throw new Error("You cannot use edges array and items array simultaneously.");
|
|
if (this.useNodeParentId && this.useNodeItems)
|
|
throw new Error("You cannot use parentKey and items array simultaneously.");
|
|
if (this.useNodeContainerId && this.useNodeChildren)
|
|
throw new Error("You cannot use containerKey and children array simultaneously.");
|
|
this.nodeDataSource.forEach(function (nodeDataObj) {
|
|
_this.addNode(nodeDataObj);
|
|
});
|
|
if (this.useEdgesArray()) {
|
|
this.edgeDataSource.forEach(function (edgeDataObj) {
|
|
_this.addEdge(edgeDataObj);
|
|
});
|
|
}
|
|
else {
|
|
this.nodes.forEach(function (node) {
|
|
_this.addNodeEdgesByParentId(node);
|
|
});
|
|
}
|
|
};
|
|
DataSource.prototype.isContainer = function (itemKey) {
|
|
var _this = this;
|
|
if (!this.containers && this.useNodeContainerId) {
|
|
this.containers = this.nodeDataSource
|
|
.map(function (i) { return _this.nodeDataImporter.getContainerKey(i); })
|
|
.filter(function (i) { return i !== undefined && i !== null; })
|
|
.reduce(function (map, i) {
|
|
map[i] = true;
|
|
return map;
|
|
}, {});
|
|
}
|
|
return this.containers && this.containers[itemKey];
|
|
};
|
|
DataSource.prototype.useEdgesArray = function () {
|
|
return Array.isArray(this.edgeDataSource) && (this.edgeDataSource.length || !(this.useNodeParentId || this.useNodeItems));
|
|
};
|
|
DataSource.prototype.addNode = function (nodeDataObj, parentNodeDataObj, containerKey, containerNodeDataObj) {
|
|
var _this = this;
|
|
var childNodeDataObjs = this.nodeDataImporter.getChildren && this.nodeDataImporter.getChildren(nodeDataObj);
|
|
var hasChildren = childNodeDataObjs && Array.isArray(childNodeDataObjs) && childNodeDataObjs.length;
|
|
var isContainer = hasChildren || this.isContainer(this.nodeDataImporter.getKey(nodeDataObj));
|
|
var type = this.nodeDataImporter.getType && this.nodeDataImporter.getType(nodeDataObj) || (isContainer && ShapeTypes_1.ShapeTypes.VerticalContainer) || ShapeTypes_1.ShapeTypes.Rectangle;
|
|
var text = this.nodeDataImporter.getText && (this.nodeDataImporter.getText(nodeDataObj) || "");
|
|
var node = this.addNodeInternal(nodeDataObj, type, text, parentNodeDataObj, containerKey, containerNodeDataObj);
|
|
this.assignNodeProperties(node, nodeDataObj);
|
|
if (hasChildren) {
|
|
childNodeDataObjs.forEach(function (childNodeDataObj) {
|
|
_this.addNode(childNodeDataObj, undefined, node.key, nodeDataObj);
|
|
});
|
|
}
|
|
if (this.useNodeItems) {
|
|
var itemDataObjs = this.nodeDataImporter.getItems(nodeDataObj);
|
|
if (Array.isArray(itemDataObjs) && itemDataObjs.length) {
|
|
itemDataObjs.forEach(function (itemDataObj) {
|
|
var itemNode = _this.addNode(itemDataObj, nodeDataObj, containerKey, containerNodeDataObj);
|
|
_this.addEdgeInternal(undefined, node.key, itemNode.key);
|
|
});
|
|
}
|
|
}
|
|
return node;
|
|
};
|
|
DataSource.prototype.addNodeEdgesByParentId = function (node) {
|
|
if (this.useNodeParentId) {
|
|
var parentKey = this.nodeDataImporter.getParentKey(node.dataObj);
|
|
if (parentKey !== undefined && parentKey !== null) {
|
|
this.addEdgeInternal(undefined, this.getNodeKey(node.dataObj, this.nodeDataImporter.getParentKey), this.getNodeKey(node.dataObj, this.nodeDataImporter.getKey));
|
|
}
|
|
}
|
|
};
|
|
DataSource.prototype.addNodeInternal = function (nodeDataObj, type, text, parentNodeDataObj, containerKey, containerNodeDataObj) {
|
|
var externalKey = this.nodeDataImporter.getKey(nodeDataObj);
|
|
var key = (externalKey !== undefined && externalKey !== null) ? externalKey : ModelUtils_1.ModelUtils.getGuidItemKey();
|
|
var node = new DataSourceItems_1.DataSourceNodeItem(this.key, key, nodeDataObj, type, text, parentNodeDataObj, containerKey, containerNodeDataObj);
|
|
this.nodes.push(node);
|
|
if (externalKey === undefined || externalKey === null) {
|
|
externalKey = key;
|
|
this.nodeDataImporter.setKey(nodeDataObj, key);
|
|
}
|
|
if (externalKey !== undefined && externalKey !== null)
|
|
this.nodeKeyMap[externalKey] = key;
|
|
return node;
|
|
};
|
|
DataSource.prototype.addEdge = function (edgeDataObj) {
|
|
var edge = this.addEdgeInternal(edgeDataObj, this.getNodeKey(edgeDataObj, this.edgeDataImporter.getFrom), this.getNodeKey(edgeDataObj, this.edgeDataImporter.getTo));
|
|
this.assignEdgeProperties(edge, edgeDataObj);
|
|
return edge;
|
|
};
|
|
DataSource.prototype.addEdgeInternal = function (edgeDataObj, from, to) {
|
|
var externalKey = edgeDataObj && this.edgeDataImporter.getKey(edgeDataObj);
|
|
var key = (externalKey !== undefined && externalKey !== null) ? externalKey : ModelUtils_1.ModelUtils.getGuidItemKey();
|
|
var edge = new DataSourceItems_1.DataSourceEdgeItem(this.key, key, edgeDataObj, from, to);
|
|
this.edges.push(edge);
|
|
if (externalKey === undefined || externalKey === null) {
|
|
externalKey = key;
|
|
if (edgeDataObj)
|
|
this.edgeDataImporter.setKey(edgeDataObj, key);
|
|
}
|
|
if (externalKey !== undefined && externalKey !== null)
|
|
this.edgeKeyMap[externalKey] = key;
|
|
return edge;
|
|
};
|
|
DataSource.prototype.assignItemProperties = function (item, dataObj, importer) {
|
|
if (importer.getLocked)
|
|
item.locked = importer.getLocked(dataObj);
|
|
if (importer.getStyle)
|
|
item.style = importer.getStyle(dataObj);
|
|
if (importer.getStyleText)
|
|
item.styleText = importer.getStyleText(dataObj);
|
|
if (importer.getZIndex)
|
|
item.zIndex = importer.getZIndex(dataObj);
|
|
};
|
|
DataSource.prototype.assignNodeProperties = function (item, dataObj) {
|
|
this.assignItemProperties(item, dataObj, this.nodeDataImporter);
|
|
if (this.nodeDataImporter.getImage)
|
|
item.image = this.nodeDataImporter.getImage(dataObj);
|
|
if (this.nodeDataImporter.getLeft)
|
|
item.left = this.nodeDataImporter.getLeft(dataObj);
|
|
if (this.nodeDataImporter.getTop)
|
|
item.top = this.nodeDataImporter.getTop(dataObj);
|
|
if (this.nodeDataImporter.getWidth)
|
|
item.width = this.nodeDataImporter.getWidth(dataObj);
|
|
if (this.nodeDataImporter.getHeight)
|
|
item.height = this.nodeDataImporter.getHeight(dataObj);
|
|
if (this.nodeDataImporter.getContainerKey)
|
|
item.containerKey = this.nodeDataImporter.getContainerKey(dataObj);
|
|
};
|
|
DataSource.prototype.assignEdgeProperties = function (item, dataObj) {
|
|
this.assignItemProperties(item, dataObj, this.edgeDataImporter);
|
|
if (this.edgeDataImporter.getFromPointIndex)
|
|
item.fromPointIndex = this.edgeDataImporter.getFromPointIndex(dataObj);
|
|
if (this.edgeDataImporter.getToPointIndex)
|
|
item.toPointIndex = this.edgeDataImporter.getToPointIndex(dataObj);
|
|
if (this.edgeDataImporter.getPoints)
|
|
item.points = this.edgeDataImporter.getPoints(dataObj);
|
|
if (this.edgeDataImporter.getText)
|
|
item.text = this.edgeDataImporter.getText(dataObj);
|
|
if (this.edgeDataImporter.getLineOption)
|
|
item.lineOption = this.edgeDataImporter.getLineOption(dataObj);
|
|
if (this.edgeDataImporter.getStartLineEnding)
|
|
item.startLineEnding = this.edgeDataImporter.getStartLineEnding(dataObj);
|
|
if (this.edgeDataImporter.getEndLineEnding)
|
|
item.endLineEnding = this.edgeDataImporter.getEndLineEnding(dataObj);
|
|
};
|
|
DataSource.prototype.findNode = function (key) {
|
|
return this.nodes.filter(function (i) { return key !== undefined && i.key === key; })[0];
|
|
};
|
|
DataSource.prototype.findEdge = function (key) {
|
|
return this.edges.filter(function (i) { return key !== undefined && i.key === key; })[0];
|
|
};
|
|
DataSource.prototype.getNodeKey = function (nodeDataObj, getKey) {
|
|
return this.nodeKeyMap[getKey(nodeDataObj)];
|
|
};
|
|
DataSource.prototype.createModelItems = function (history, model, selection, layoutParameters, snapToGrid, gridSize) {
|
|
DataSource.createModelItems(history, model, selection, this, layoutParameters, false, true, snapToGrid, gridSize);
|
|
};
|
|
DataSource.createModelItems = function (history, model, selection, dataSource, layoutParameters, setDataKeys, selectItems, snapToGrid, gridSize) {
|
|
var DEFAULT_STEP = 2000;
|
|
var rowIndex = 0;
|
|
var colIndex = 0;
|
|
var externalToInnerMap = {};
|
|
var shapes = [];
|
|
var connectors = [];
|
|
history.beginTransaction();
|
|
dataSource.nodes.forEach(function (node) {
|
|
var point = new Utils_1.Point(colIndex++ * DEFAULT_STEP, rowIndex * DEFAULT_STEP);
|
|
var shape = DataSource.createShapeByNode(history, model, node, point, setDataKeys);
|
|
if (node.key !== undefined)
|
|
externalToInnerMap[node.key] = shape.key;
|
|
if (colIndex > 4) {
|
|
colIndex = 0;
|
|
rowIndex++;
|
|
}
|
|
shapes.push(shape);
|
|
if (node.containerKey !== undefined && node.containerKey !== null) {
|
|
var containerShape = model.findShape(externalToInnerMap[node.containerKey]);
|
|
if (containerShape)
|
|
ModelUtils_1.ModelUtils.insertToContainer(history, model, shape, containerShape);
|
|
}
|
|
});
|
|
dataSource.edges.forEach(function (edge) {
|
|
var toShape = model.findShape(externalToInnerMap[edge.to]);
|
|
var fromShape = model.findShape(externalToInnerMap[edge.from]);
|
|
if (toShape && fromShape !== undefined) {
|
|
var connector = DataSource.createConnectorByEdge(history, model, edge, toShape, fromShape, setDataKeys);
|
|
connectors.push(connector);
|
|
ModelUtils_1.ModelUtils.updateConnectorContainer(history, model, connector);
|
|
}
|
|
});
|
|
if (layoutParameters !== undefined) {
|
|
var graphInfo = ModelUtils_1.ModelUtils.getGraphInfoByItems(model, shapes, connectors);
|
|
graphInfo.forEach(function (info) {
|
|
var layout = layoutParameters.getLayoutBuilder(info.graph).build();
|
|
var nonGraphItems = ModelUtils_1.ModelUtils.getNonGraphItems(model, info.container, layout.nodeToLayout, shapes, connectors);
|
|
ModelUtils_1.ModelUtils.applyLayout(history, model, info.container, info.graph, layout, nonGraphItems, layoutParameters.layoutSettings, snapToGrid, gridSize);
|
|
});
|
|
}
|
|
if (selectItems) {
|
|
var items = connectors.map(function (c) { return c.key; }).concat(shapes.map(function (s) { return s.key; }));
|
|
history.addAndRedo(new SetSelectionHistoryItem_1.SetSelectionHistoryItem(selection, items));
|
|
}
|
|
ModelUtils_1.ModelUtils.tryUpdateModelSize(history, model);
|
|
history.endTransaction();
|
|
};
|
|
DataSource.createShapeByNode = function (history, model, node, point, setDataKeys) {
|
|
var dataKey = setDataKeys ? node.key : undefined;
|
|
if (node.left !== undefined)
|
|
point.x = ModelUtils_1.ModelUtils.getTwipsValue(model.units, node.left);
|
|
if (node.top !== undefined)
|
|
point.y = ModelUtils_1.ModelUtils.getTwipsValue(model.units, node.top);
|
|
var insert = new AddShapeHistoryItem_1.AddShapeHistoryItem(node.type, point, node.text, dataKey);
|
|
history.addAndRedo(insert);
|
|
var shape = model.findShape(insert.shapeKey);
|
|
var size = shape.size.clone();
|
|
if (node.width !== undefined)
|
|
size.width = ModelUtils_1.ModelUtils.getTwipsValue(model.units, node.width);
|
|
if (node.height !== undefined)
|
|
size.height = ModelUtils_1.ModelUtils.getTwipsValue(model.units, node.height);
|
|
ModelUtils_1.ModelUtils.setShapeSize(history, model, shape, point, size);
|
|
if (node.image !== undefined)
|
|
history.addAndRedo(new ChangeShapeImageHistoryItem_1.ChangeShapeImageHistoryItem(shape, node.image));
|
|
this.changeItemByDataItem(history, shape, node);
|
|
return shape;
|
|
};
|
|
DataSource.createConnectorByEdge = function (history, model, edge, toShape, fromShape, setDataKeys) {
|
|
var dataKey = setDataKeys ? edge.key : undefined;
|
|
var points = Array.isArray(edge.points) && edge.points.length > 1 ?
|
|
edge.points.map(function (ptObj) {
|
|
if (ptObj.x !== undefined && ptObj.y !== undefined)
|
|
return new Utils_1.Point(ModelUtils_1.ModelUtils.getTwipsValue(model.units, ptObj.x), ModelUtils_1.ModelUtils.getTwipsValue(model.units, ptObj.y));
|
|
}).filter(function (pt) { return pt; }) :
|
|
[fromShape.position.clone(), toShape.position.clone()];
|
|
var insert = new AddConnectorHistoryItem_1.AddConnectorHistoryItem(points, dataKey);
|
|
history.addAndRedo(insert);
|
|
var connector = model.findConnector(insert.connectorKey);
|
|
var fromPointIndex = edge.fromPointIndex !== undefined ? edge.fromPointIndex : -1;
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(connector, fromShape, fromPointIndex, Connector_1.ConnectorPosition.Begin));
|
|
var toPointIndex = edge.toPointIndex !== undefined ? edge.toPointIndex : -1;
|
|
history.addAndRedo(new AddConnectionHistoryItem_1.AddConnectionHistoryItem(connector, toShape, toPointIndex, Connector_1.ConnectorPosition.End));
|
|
ModelUtils_1.ModelUtils.updateConnectorAttachedPoints(history, model, connector);
|
|
if (edge.text !== undefined)
|
|
history.addAndRedo(new ChangeConnectorTextHistoryItem_1.ChangeConnectorTextHistoryItem(connector, Connector_1.CONNECTOR_DEFAULT_TEXT_POSITION, edge.text));
|
|
if (edge.lineOption !== undefined)
|
|
history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(connector.key, "lineOption", edge.lineOption));
|
|
if (edge.startLineEnding !== undefined)
|
|
history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(connector.key, "startLineEnding", edge.startLineEnding));
|
|
if (edge.endLineEnding !== undefined)
|
|
history.addAndRedo(new ChangeConnectorPropertyHistoryItem_1.ChangeConnectorPropertyHistoryItem(connector.key, "endLineEnding", edge.endLineEnding));
|
|
this.changeItemByDataItem(history, connector, edge);
|
|
return connector;
|
|
};
|
|
DataSource.changeItemByDataItem = function (history, item, dataItem) {
|
|
if (dataItem.locked !== undefined) {
|
|
history.addAndRedo(new ChangeLockedHistoryItem_1.ChangeLockedHistoryItem(item, dataItem.locked));
|
|
}
|
|
if (dataItem.zIndex !== undefined) {
|
|
history.addAndRedo(new ChangeZindexHistoryItem_1.ChangeZindexHistoryItem(item, dataItem.zIndex));
|
|
}
|
|
if (dataItem.style !== undefined) {
|
|
for (var key in dataItem.style) {
|
|
if (!dataItem.style.hasOwnProperty(key))
|
|
continue;
|
|
var value = Svg_1.isColorProperty(key) ? Color_1.ColorHelper.stringToHash(dataItem.style[key]) : dataItem.style[key];
|
|
history.addAndRedo(new ChangeStyleHistoryItem_1.ChangeStyleHistoryItem(item.key, key, value));
|
|
}
|
|
}
|
|
if (dataItem.styleText !== undefined) {
|
|
for (var key in dataItem.styleText) {
|
|
if (!dataItem.styleText.hasOwnProperty(key))
|
|
continue;
|
|
var value = Svg_1.isColorProperty(key) ? Color_1.ColorHelper.stringToHash(dataItem.styleText[key]) : dataItem.styleText[key];
|
|
history.addAndRedo(new ChangeStyleTextHistoryItem_1.ChangeStyleTextHistoryItem(item.key, key, value));
|
|
}
|
|
}
|
|
};
|
|
return DataSource;
|
|
}());
|
|
exports.DataSource = DataSource;
|
|
|
|
|
|
/***/ }),
|
|
/* 299 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DataSourceItemDataImporter = /** @class */ (function () {
|
|
function DataSourceItemDataImporter() {
|
|
this.getKey = function (obj) { return obj["id"]; };
|
|
this.setKey = function (obj, value) { obj["id"] = value; };
|
|
this.getLocked = undefined;
|
|
this.setLocked = undefined;
|
|
this.getStyle = undefined;
|
|
this.setStyle = undefined;
|
|
this.getStyleText = undefined;
|
|
this.setStyleText = undefined;
|
|
this.getZIndex = undefined;
|
|
this.setZIndex = undefined;
|
|
}
|
|
return DataSourceItemDataImporter;
|
|
}());
|
|
exports.DataSourceItemDataImporter = DataSourceItemDataImporter;
|
|
var DataSourceNodeDataImporter = /** @class */ (function (_super) {
|
|
__extends(DataSourceNodeDataImporter, _super);
|
|
function DataSourceNodeDataImporter() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.getType = undefined;
|
|
_this.setType = undefined;
|
|
_this.getText = undefined;
|
|
_this.setText = undefined;
|
|
_this.getImage = undefined;
|
|
_this.setImage = undefined;
|
|
_this.getLeft = undefined;
|
|
_this.setLeft = undefined;
|
|
_this.getTop = undefined;
|
|
_this.setTop = undefined;
|
|
_this.getWidth = undefined;
|
|
_this.setWidth = undefined;
|
|
_this.getHeight = undefined;
|
|
_this.setHeight = undefined;
|
|
_this.getChildren = undefined;
|
|
_this.setChildren = undefined;
|
|
_this.getParentKey = undefined;
|
|
_this.setParentKey = undefined;
|
|
_this.getItems = undefined;
|
|
_this.setItems = undefined;
|
|
_this.getContainerKey = undefined;
|
|
_this.setContainerKey = undefined;
|
|
return _this;
|
|
}
|
|
return DataSourceNodeDataImporter;
|
|
}(DataSourceItemDataImporter));
|
|
exports.DataSourceNodeDataImporter = DataSourceNodeDataImporter;
|
|
var DataSourceEdgeDataImporter = /** @class */ (function (_super) {
|
|
__extends(DataSourceEdgeDataImporter, _super);
|
|
function DataSourceEdgeDataImporter() {
|
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
_this.getFrom = function (obj) { return obj["from"]; };
|
|
_this.setFrom = function (obj, value) { obj["from"] = value; };
|
|
_this.getFromPointIndex = undefined;
|
|
_this.setFromPointIndex = undefined;
|
|
_this.getTo = function (obj) { return obj["to"]; };
|
|
_this.setTo = function (obj, value) { obj["to"] = value; };
|
|
_this.getToPointIndex = undefined;
|
|
_this.setToPointIndex = undefined;
|
|
_this.getPoints = undefined;
|
|
_this.setPoints = undefined;
|
|
_this.getText = undefined;
|
|
_this.setText = undefined;
|
|
_this.getLineOption = undefined;
|
|
_this.setLineOption = undefined;
|
|
_this.getStartLineEnding = undefined;
|
|
_this.setStartLineEnding = undefined;
|
|
_this.getEndLineEnding = undefined;
|
|
_this.setEndLineEnding = undefined;
|
|
return _this;
|
|
}
|
|
return DataSourceEdgeDataImporter;
|
|
}(DataSourceItemDataImporter));
|
|
exports.DataSourceEdgeDataImporter = DataSourceEdgeDataImporter;
|
|
|
|
|
|
/***/ }),
|
|
/* 300 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var DataSourceItem = /** @class */ (function () {
|
|
function DataSourceItem(sourceKey, key, dataObj) {
|
|
this.sourceKey = sourceKey;
|
|
this.key = key;
|
|
this.dataObj = dataObj;
|
|
}
|
|
return DataSourceItem;
|
|
}());
|
|
exports.DataSourceItem = DataSourceItem;
|
|
var DataSourceNodeItem = /** @class */ (function (_super) {
|
|
__extends(DataSourceNodeItem, _super);
|
|
function DataSourceNodeItem(sourceKey, key, dataObj, type, text, parentDataObj, containerKey, containerDataObj) {
|
|
var _this = _super.call(this, sourceKey, key, dataObj) || this;
|
|
_this.type = type;
|
|
_this.text = text;
|
|
_this.parentDataObj = parentDataObj;
|
|
_this.containerKey = containerKey;
|
|
_this.containerDataObj = containerDataObj;
|
|
return _this;
|
|
}
|
|
return DataSourceNodeItem;
|
|
}(DataSourceItem));
|
|
exports.DataSourceNodeItem = DataSourceNodeItem;
|
|
var DataSourceEdgeItem = /** @class */ (function (_super) {
|
|
__extends(DataSourceEdgeItem, _super);
|
|
function DataSourceEdgeItem(sourceKey, key, dataObj, from, to) {
|
|
var _this = _super.call(this, sourceKey, key, dataObj) || this;
|
|
_this.sourceKey = sourceKey;
|
|
_this.from = from;
|
|
_this.to = to;
|
|
return _this;
|
|
}
|
|
return DataSourceEdgeItem;
|
|
}(DataSourceItem));
|
|
exports.DataSourceEdgeItem = DataSourceEdgeItem;
|
|
|
|
|
|
/***/ }),
|
|
/* 301 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var LOG_MIN_ZOOM = Math.log(0.05);
|
|
var LOG_MAX_ZOOM = Math.log(3);
|
|
var ZOOM_STEPS = 40;
|
|
var ZERO_STEP = getStepByZoom(1);
|
|
var ViewController = /** @class */ (function () {
|
|
function ViewController(settings) {
|
|
this.settings = settings;
|
|
}
|
|
ViewController.prototype.initialize = function (view) {
|
|
this.view = view;
|
|
};
|
|
ViewController.prototype.scrollTo = function (modelPoint, offsetPoint) {
|
|
if (this.view)
|
|
this.view.setScrollTo(modelPoint, offsetPoint);
|
|
};
|
|
ViewController.prototype.scrollBy = function (offset) {
|
|
if (this.view && (offset.x !== 0 || offset.y !== 0))
|
|
return this.view.scrollBy(offset);
|
|
return offset;
|
|
};
|
|
ViewController.prototype.normalize = function () {
|
|
this.view.tryNormalizePaddings();
|
|
};
|
|
ViewController.prototype.getNextStepZoom = function (increase) {
|
|
var currentZoomStep = this.getNearestCurrentZoomStep();
|
|
var delta = increase ? 1 : -1;
|
|
var step = Math.min(ZOOM_STEPS - 1, Math.max(0, currentZoomStep + delta));
|
|
if (step !== ZERO_STEP) {
|
|
var logZoom = LOG_MIN_ZOOM + (LOG_MAX_ZOOM - LOG_MIN_ZOOM) * step / (ZOOM_STEPS - 1);
|
|
return Math.exp(logZoom);
|
|
}
|
|
return 1;
|
|
};
|
|
ViewController.prototype.getNearestCurrentZoomStep = function () {
|
|
var zoom = this.getZoom();
|
|
return getStepByZoom(zoom);
|
|
};
|
|
ViewController.prototype.getZoom = function () {
|
|
return this.view ? this.view.actualZoom : this.settings.zoomLevel;
|
|
};
|
|
ViewController.prototype.resetScroll = function () {
|
|
this.view.update({ horizontal: true, vertical: true });
|
|
};
|
|
return ViewController;
|
|
}());
|
|
exports.ViewController = ViewController;
|
|
function getStepByZoom(zoom) {
|
|
var logZoom = Math.log(zoom);
|
|
return Math.round((logZoom - LOG_MIN_ZOOM) * (ZOOM_STEPS - 1) / (LOG_MAX_ZOOM - LOG_MIN_ZOOM));
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
/* 302 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var TextToolbox_1 = __webpack_require__(303);
|
|
var IconToolbox_1 = __webpack_require__(304);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var ToolboxManager = /** @class */ (function () {
|
|
function ToolboxManager(readonly) {
|
|
this.toolboxes = [];
|
|
this.readonly = readonly;
|
|
}
|
|
ToolboxManager.prototype.create = function (parent, shapeIconSize, shapeIconSpacing, shapeIconAttributes, shapes, renderAsText) {
|
|
var shapeTypes = Array.isArray(shapes) ? shapes : ShapeDescriptionManager_1.ShapeDescriptionManager.getTypesByCategory(shapes);
|
|
var toolbox = renderAsText ?
|
|
new TextToolbox_1.TextToolbox(parent, this.readonly, {
|
|
shapeTypes: shapeTypes,
|
|
}) :
|
|
new IconToolbox_1.IconToolbox(parent, this.readonly, {
|
|
shapeIconSize: shapeIconSize,
|
|
shapeIconSpacing: shapeIconSpacing,
|
|
shapeIconAttributes: shapeIconAttributes,
|
|
shapeTypes: shapeTypes
|
|
});
|
|
toolbox.render();
|
|
this.toolboxes.push(toolbox);
|
|
return toolbox;
|
|
};
|
|
ToolboxManager.prototype.dispose = function () {
|
|
for (var i = 0; i < this.toolboxes.length; i++)
|
|
this.toolboxes[i].dispose();
|
|
};
|
|
ToolboxManager.prototype.applyFilter = function (str, filteringToolboxes) {
|
|
var _this = this;
|
|
return this.toolboxes
|
|
.reduce(function (aggr, toolbox, index) {
|
|
(typeof (filteringToolboxes) !== "number" || index === filteringToolboxes) &&
|
|
toolbox.render(function (shapeType) { return _this.searchFilter(shapeType, str, index); }) && aggr.push(index);
|
|
return aggr;
|
|
}, []);
|
|
};
|
|
ToolboxManager.prototype.searchFilter = function (shapeType, str, toolboxIndex, filteringToolboxes) {
|
|
if (!str || (filteringToolboxes && filteringToolboxes.indexOf(toolboxIndex) === -1))
|
|
return true;
|
|
return shapeType.indexOf(str) > -1;
|
|
};
|
|
ToolboxManager.prototype.notifyReadOnlyChanged = function (readOnly) {
|
|
this.readonly = readOnly;
|
|
};
|
|
return ToolboxManager;
|
|
}());
|
|
exports.ToolboxManager = ToolboxManager;
|
|
|
|
|
|
/***/ }),
|
|
/* 303 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Toolbox_1 = __webpack_require__(128);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var TextToolbox = /** @class */ (function (_super) {
|
|
__extends(TextToolbox, _super);
|
|
function TextToolbox() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
TextToolbox.prototype.createElements = function (element, shapeTypes) {
|
|
shapeTypes.forEach(function (shapeType) {
|
|
var description = ShapeDescriptionManager_1.ShapeDescriptionManager.get(shapeType);
|
|
var itemEl = document.createElement("div");
|
|
itemEl.setAttribute("class", "toolbox-text-item");
|
|
itemEl.setAttribute("data-tb-type", shapeType);
|
|
itemEl.innerHTML = description.defaultText;
|
|
element.appendChild(itemEl);
|
|
});
|
|
};
|
|
TextToolbox.prototype.createDraggingElement = function (draggingObject) {
|
|
var element = document.createElement("DIV");
|
|
element.setAttribute("class", "dxdi-toolbox-drag-text-item");
|
|
var shapeDescription = ShapeDescriptionManager_1.ShapeDescriptionManager.get(draggingObject.evt.data);
|
|
element.innerHTML = shapeDescription.defaultText;
|
|
document.body.appendChild(element);
|
|
return element;
|
|
};
|
|
return TextToolbox;
|
|
}(Toolbox_1.Toolbox));
|
|
exports.TextToolbox = TextToolbox;
|
|
|
|
|
|
/***/ }),
|
|
/* 304 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Toolbox_1 = __webpack_require__(128);
|
|
var ShapeDescriptionManager_1 = __webpack_require__(25);
|
|
var RenderManager_1 = __webpack_require__(12);
|
|
var Shape_1 = __webpack_require__(11);
|
|
var UnitConverter_1 = __webpack_require__(13);
|
|
var Utils_1 = __webpack_require__(0);
|
|
var TextShapeDescription_1 = __webpack_require__(93);
|
|
var IconToolbox = /** @class */ (function (_super) {
|
|
__extends(IconToolbox, _super);
|
|
function IconToolbox() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
IconToolbox.prototype.createElements = function (element, shapeTypes) {
|
|
var svgElement = document.createElementNS(RenderManager_1.svgNS, "svg");
|
|
svgElement.className.baseVal = "dxdi-canvas";
|
|
element.appendChild(svgElement);
|
|
this.drawShapeIcons(svgElement, shapeTypes, svgElement.getBoundingClientRect().width);
|
|
};
|
|
IconToolbox.prototype.drawShapeIcons = function (parent, shapeTypes, svgWidth) {
|
|
var _this = this;
|
|
var lineWidth = UnitConverter_1.UnitConverter.twipsToPixels(Shape_1.Shape.lineWidth);
|
|
svgWidth -= 2 * lineWidth;
|
|
var iconCount = 1;
|
|
var width = this.options.shapeIconSize;
|
|
while (width < svgWidth) {
|
|
width += this.options.shapeIconSpacing + this.options.shapeIconSize;
|
|
if (width < svgWidth)
|
|
iconCount++;
|
|
}
|
|
var shapeIconSpacing = (iconCount > 1) ? (svgWidth - this.options.shapeIconSize * iconCount) / (iconCount - 1) : 0;
|
|
var xPos = lineWidth, yPos = lineWidth;
|
|
shapeTypes.forEach(function (shapeType, index) {
|
|
if (index > 0 && index % iconCount === 0) {
|
|
xPos = lineWidth;
|
|
yPos += _this.options.shapeIconSize + shapeIconSpacing;
|
|
}
|
|
var shapeDescription = ShapeDescriptionManager_1.ShapeDescriptionManager.get(shapeType);
|
|
var shape = _this.createShape(shapeDescription, xPos, yPos);
|
|
_this.updateShapeIconBounds(shape);
|
|
_this.drawShape(parent, shape);
|
|
xPos += _this.options.shapeIconSize + shapeIconSpacing;
|
|
});
|
|
parent.style.height = yPos + this.options.shapeIconSize + lineWidth + "px";
|
|
};
|
|
IconToolbox.prototype.drawShape = function (parent, shape) {
|
|
var primitives = shape.description.createPrimitives(shape, true);
|
|
var gEl = document.createElementNS(RenderManager_1.svgNS, "g");
|
|
gEl.setAttribute("data-tb-type", shape.description.key.toString());
|
|
gEl.setAttribute("class", "toolbox-item");
|
|
gEl.setAttribute("title", shape.description.title);
|
|
for (var key in this.options.shapeIconAttributes) {
|
|
if (this.options.shapeIconAttributes.hasOwnProperty(key))
|
|
gEl.setAttribute(key, this.options.shapeIconAttributes[key]);
|
|
}
|
|
parent.appendChild(gEl);
|
|
primitives.forEach(function (pr) {
|
|
var el = pr.createElement();
|
|
gEl.appendChild(el);
|
|
pr.applyElementProperties(el);
|
|
});
|
|
};
|
|
IconToolbox.prototype.createShape = function (shapeDescription, xPos, yPos) {
|
|
var xPosT = UnitConverter_1.UnitConverter.pixelsToTwips(xPos);
|
|
var yPosT = UnitConverter_1.UnitConverter.pixelsToTwips(yPos);
|
|
var shape = new Shape_1.Shape(shapeDescription, new Utils_1.Point(xPosT, yPosT));
|
|
if (!(shapeDescription instanceof TextShapeDescription_1.TextShapeDescription))
|
|
shape.text = "";
|
|
return shape;
|
|
};
|
|
IconToolbox.prototype.updateShapeIconBounds = function (shape) {
|
|
var shapeSizeT = UnitConverter_1.UnitConverter.pixelsToTwips(this.options.shapeIconSize);
|
|
shape.size.height = shape.size.width * shape.getToolboxHeightToWidthRatio();
|
|
if (shape.size.width > shape.size.height) {
|
|
var ratio = shape.size.height / shape.size.width;
|
|
shape.size.width = shapeSizeT;
|
|
shape.size.height = shapeSizeT * ratio;
|
|
shape.position.y = shape.position.y + (shapeSizeT - shape.size.height) / 2;
|
|
shape.parameters.forEach(function (p) { p.value = p.value * shapeSizeT / shape.description.defaultSize.width; });
|
|
}
|
|
else if (shape.size.width < shape.size.height) {
|
|
var ratio = shape.size.width / shape.size.height;
|
|
shape.size.height = shapeSizeT;
|
|
shape.size.width = shapeSizeT * ratio;
|
|
shape.position.x = shape.position.x + (shapeSizeT - shape.size.width) / 2;
|
|
shape.parameters.forEach(function (p) { p.value = p.value * shapeSizeT / shape.description.defaultSize.height; });
|
|
}
|
|
else {
|
|
shape.size.width = shapeSizeT;
|
|
shape.size.height = shapeSizeT;
|
|
shape.parameters.forEach(function (p) { p.value = p.value * shapeSizeT / shape.description.defaultSize.width; });
|
|
}
|
|
};
|
|
IconToolbox.prototype.createDraggingElement = function (draggingObject) {
|
|
var element = document.createElement("DIV");
|
|
element.setAttribute("class", "dxdi-toolbox-drag-item");
|
|
document.body.appendChild(element);
|
|
var svgElement = document.createElementNS(RenderManager_1.svgNS, "svg");
|
|
svgElement.className.baseVal = "dxdi-canvas";
|
|
element.appendChild(svgElement);
|
|
var shapeDescription = ShapeDescriptionManager_1.ShapeDescriptionManager.get(draggingObject.evt.data);
|
|
var shape = this.createShape(shapeDescription, UnitConverter_1.UnitConverter.twipsToPixels(Shape_1.Shape.lineWidth), UnitConverter_1.UnitConverter.twipsToPixels(Shape_1.Shape.lineWidth));
|
|
this.drawShape(svgElement, shape);
|
|
element.style.width = UnitConverter_1.UnitConverter.twipsToPixels(shape.size.width + 2 * Shape_1.Shape.lineWidth) + "px";
|
|
element.style.height = UnitConverter_1.UnitConverter.twipsToPixels(shape.size.height + 2 * Shape_1.Shape.lineWidth) + "px";
|
|
return element;
|
|
};
|
|
return IconToolbox;
|
|
}(Toolbox_1.Toolbox));
|
|
exports.IconToolbox = IconToolbox;
|
|
|
|
|
|
/***/ }),
|
|
/* 305 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
var __extends = (this && this.__extends) || (function () {
|
|
var extendStatics = function (d, b) {
|
|
extendStatics = Object.setPrototypeOf ||
|
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
return extendStatics(d, b);
|
|
};
|
|
return function (d, b) {
|
|
extendStatics(d, b);
|
|
function __() { this.constructor = d; }
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
})();
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var BatchUpdatableObject_1 = __webpack_require__(127);
|
|
var ApiController = /** @class */ (function (_super) {
|
|
__extends(ApiController, _super);
|
|
function ApiController(events, selection, model) {
|
|
var _this = _super.call(this) || this;
|
|
_this.events = events;
|
|
_this.model = model;
|
|
_this.selection = selection;
|
|
return _this;
|
|
}
|
|
ApiController.prototype.onSelectionChanged = function () {
|
|
if (this.isUpdateLocked())
|
|
this.registerOccurredEvent(ApiControllerAction.SelectionChanged);
|
|
else
|
|
this.raiseSelectionChanged();
|
|
};
|
|
ApiController.prototype.onUpdateUnlocked = function (occurredEvents) {
|
|
if (occurredEvents & ApiControllerAction.SelectionChanged)
|
|
this.raiseSelectionChanged();
|
|
};
|
|
ApiController.prototype.raiseSelectionChanged = function () {
|
|
var _this = this;
|
|
var items = this.selection.getKeys().map(function (key) { return _this.model.findItem(key).toNative(); });
|
|
this.events.raise1(function (l) { return l.notifySelectionChanged(items); });
|
|
};
|
|
return ApiController;
|
|
}(BatchUpdatableObject_1.BatchUpdatableObject));
|
|
exports.ApiController = ApiController;
|
|
var ApiControllerAction;
|
|
(function (ApiControllerAction) {
|
|
ApiControllerAction[ApiControllerAction["SelectionChanged"] = 1] = "SelectionChanged";
|
|
})(ApiControllerAction || (ApiControllerAction = {}));
|
|
|
|
|
|
/***/ }),
|
|
/* 306 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
/***/ })
|
|
/******/ ]);
|
|
}); |