devexpress-diagram 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * DevExpress Diagram (dx-diagram)
3
- * Version: 2.0.4
4
- * Build date: Fri Nov 20 2020
3
+ * Version: 2.0.5
4
+ * Build date: Mon Nov 23 2020
5
5
  *
6
6
  * Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  * Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * DevExpress Diagram (dx-diagram)
3
- * Version: 2.0.4
4
- * Build date: Fri Nov 20 2020
3
+ * Version: 2.0.5
4
+ * Build date: Mon Nov 23 2020
5
5
  *
6
6
  * Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  * Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs
@@ -2532,45 +2532,6 @@ var ModelUtils = /** @class */ (function () {
2532
2532
  return unit_converter_1.UnitConverter.pixelsToTwips(value);
2533
2533
  }
2534
2534
  };
2535
- // Key generation
2536
- ModelUtils.getNextItemKey = function (keys, checkKey, baseKey) {
2537
- if (!keys.length && baseKey === undefined)
2538
- return "0";
2539
- for (var i = keys.length - 1; i >= 0; i--) {
2540
- baseKey = baseKey || keys[i];
2541
- if (baseKey !== undefined && baseKey !== null)
2542
- break;
2543
- }
2544
- var key = this.generateNextItemKey(baseKey || "0");
2545
- while (!checkKey(key))
2546
- key = this.generateNextItemKey(key);
2547
- return key;
2548
- };
2549
- ModelUtils.generateNextItemKey = function (key) {
2550
- for (var i = key.length - 1; i >= 0; i--) {
2551
- if (!this.isDigit(key[i])) {
2552
- if (i === key.length - 1)
2553
- key = key + "0";
2554
- break;
2555
- }
2556
- var code = key.charCodeAt(i);
2557
- var char = String.fromCharCode(code + 1);
2558
- if (char > "9") {
2559
- char = "0";
2560
- if (i === 0 || !this.isDigit(key[i - 1]))
2561
- char = "1" + char;
2562
- }
2563
- key = key.substr(0, i) + char + key.substr(i + 1);
2564
- if (char !== "0" && char !== "10")
2565
- break;
2566
- else if (char === "10")
2567
- i--;
2568
- }
2569
- return key;
2570
- };
2571
- ModelUtils.isDigit = function (char) {
2572
- return "0" <= char && char <= "9";
2573
- };
2574
2535
  ModelUtils.getGuidItemKey = function () {
2575
2536
  return math_1.MathUtils.generateGuid();
2576
2537
  };
@@ -5901,7 +5862,6 @@ var Utils_1 = __webpack_require__(3);
5901
5862
  var rectangle_1 = __webpack_require__(12);
5902
5863
  var size_1 = __webpack_require__(2);
5903
5864
  var point_1 = __webpack_require__(1);
5904
- var ModelUtils_1 = __webpack_require__(9);
5905
5865
  var ImageCache_1 = __webpack_require__(46);
5906
5866
  var color_1 = __webpack_require__(23);
5907
5867
  var Enums_1 = __webpack_require__(47);
@@ -5910,6 +5870,7 @@ var DiagramModel = /** @class */ (function () {
5910
5870
  if (pageSize === void 0) { pageSize = new size_1.Size(8391, 11906); }
5911
5871
  this.items = [];
5912
5872
  this.itemIndexByKey = {};
5873
+ this.keyCounter = 0;
5913
5874
  this.pageSize = new size_1.Size(8391, 11906);
5914
5875
  this.pageLandscape = false;
5915
5876
  this.pageColor = DiagramModel.defaultPageColor;
@@ -5918,6 +5879,7 @@ var DiagramModel = /** @class */ (function () {
5918
5879
  this.pageSize = pageSize;
5919
5880
  this.size = this.pageSize.clone();
5920
5881
  this.rectangle = rectangle_1.Rectangle.fromGeometry(new point_1.Point(0, 0), new size_1.Size(0, 0));
5882
+ this.initializeKeyCounter();
5921
5883
  }
5922
5884
  Object.defineProperty(DiagramModel.prototype, "pageWidth", {
5923
5885
  get: function () {
@@ -6152,9 +6114,14 @@ var DiagramModel = /** @class */ (function () {
6152
6114
  DiagramModel.prototype.iterateItems = function (callback) {
6153
6115
  this.items.forEach(callback);
6154
6116
  };
6155
- DiagramModel.prototype.getNextKey = function (baseKey) {
6156
- var _this = this;
6157
- return ModelUtils_1.ModelUtils.getNextItemKey(this.items.map(function (item) { return item.key; }), function (key) { return _this.itemIndexByKey[key] === undefined; }, baseKey);
6117
+ DiagramModel.prototype.getNextKey = function () {
6118
+ return (this.keyCounter++).toString();
6119
+ };
6120
+ DiagramModel.prototype.initializeKeyCounter = function () {
6121
+ this.keyCounter = this.items.reduce(function (prev, cur) {
6122
+ var num = parseInt(cur.key);
6123
+ return Math.max(prev, isNaN(num) ? 0 : num + 1);
6124
+ }, this.items.length);
6158
6125
  };
6159
6126
  DiagramModel.defaultPageColor = color_1.ColorUtils.LIGHT_COLOR;
6160
6127
  return DiagramModel;
@@ -15910,7 +15877,7 @@ var ImporterBase = /** @class */ (function () {
15910
15877
  for (var i = 0; i < shapes.length; i++) {
15911
15878
  var shape = shapes[i];
15912
15879
  var oldKey = shape.key;
15913
- key = model.getNextKey(key);
15880
+ key = model.getNextKey();
15914
15881
  shape.key = key;
15915
15882
  itemHash[oldKey] = shape;
15916
15883
  if (shape.dataKey !== undefined)
@@ -15921,7 +15888,7 @@ var ImporterBase = /** @class */ (function () {
15921
15888
  for (var i = 0; i < connectors.length; i++) {
15922
15889
  var connector = connectors[i];
15923
15890
  var oldKey = connector.key;
15924
- key = model.getNextKey(key);
15891
+ key = model.getNextKey();
15925
15892
  connector.key = key;
15926
15893
  itemHash[oldKey] = connector;
15927
15894
  if (connector.dataKey !== undefined)
@@ -28961,6 +28928,26 @@ var DiagramControl = /** @class */ (function () {
28961
28928
  removeElement = removeElement || (function (element) { Utils_2.RenderUtils.removeElement(element); });
28962
28929
  this.toolboxManager.clean(removeElement);
28963
28930
  if (this.render) {
28931
+ this.settings.onZoomChanged.remove(this.render.view);
28932
+ this.settings.onViewChanged.remove(this.render.page);
28933
+ this.settings.onViewChanged.remove(this.render.view);
28934
+ this.settings.onReadOnlyChanged.remove(this.render);
28935
+ this.settings.onReadOnlyChanged.remove(this.render.selection);
28936
+ this.eventManager.onTextInputOperation.remove(this.render.input);
28937
+ this.eventManager.onTextInputOperation.remove(this.render.items);
28938
+ this.eventManager.onTextInputOperation.remove(this.render.selection);
28939
+ this.eventManager.onMouseOperation.remove(this.render.items);
28940
+ this.eventManager.onMouseOperation.remove(this.render.selection);
28941
+ this.eventManager.onMouseOperation.remove(this.render.view);
28942
+ this.eventManager.onMouseOperation.remove(this.render);
28943
+ this.eventManager.onVisualizersUpdate.remove(this.render.selection);
28944
+ this.modelManipulator.onModelSizeChanged.remove(this.render.view);
28945
+ this.modelManipulator.onModelSizeChanged.remove(this.render.page);
28946
+ this.modelManipulator.onModelChanged.remove(this.render.items);
28947
+ this.modelManipulator.onModelChanged.remove(this.render.page);
28948
+ this.modelManipulator.onModelChanged.remove(this.render.selection);
28949
+ this.selection.onChanged.remove(this.render.selection);
28950
+ this.selection.onChanged.remove(this.render.items);
28964
28951
  this.render.clean(removeElement);
28965
28952
  this.render = undefined;
28966
28953
  }
@@ -29120,6 +29107,7 @@ var DiagramControl = /** @class */ (function () {
29120
29107
  };
29121
29108
  DiagramControl.prototype.importModel = function (model) {
29122
29109
  this.model = model;
29110
+ this.model.initializeKeyCounter();
29123
29111
  this.apiController.model = model;
29124
29112
  this.onImportData();
29125
29113
  };
@@ -35702,6 +35690,7 @@ var DataSource = /** @class */ (function () {
35702
35690
  history.clear();
35703
35691
  history.beginTransaction();
35704
35692
  ModelUtils_1.ModelUtils.deleteAllItems(history, model, selection);
35693
+ model.initializeKeyCounter();
35705
35694
  var DEFAULT_STEP = 2000;
35706
35695
  var rowIndex = 0;
35707
35696
  var colIndex = 0;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * DevExpress Diagram (dx-diagram.min)
3
- * Version: 2.0.4
4
- * Build date: Fri Nov 20 2020
3
+ * Version: 2.0.5
4
+ * Build date: Mon Nov 23 2020
5
5
  *
6
6
  * Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  * Read about DevExpress licensing here: https://www.devexpress.com/Support/EULAs