@meta2d/core 1.0.47 → 1.0.49

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.
package/src/core.d.ts CHANGED
@@ -176,6 +176,8 @@ export declare class Meta2d {
176
176
  translate(x: number, y: number): void;
177
177
  translatePens(pens: Pen[], x: number, y: number): void;
178
178
  getParent(pen: Pen, root?: boolean): Pen;
179
+ getAllChildren(pen: Pen): Pen[];
180
+ getAllFollowers(pen: Pen): Pen[];
179
181
  data(): Meta2dData;
180
182
  copy(pens?: Pen[]): void;
181
183
  cut(pens?: Pen[]): void;
@@ -303,6 +305,11 @@ export declare class Meta2d {
303
305
  * @param pens 画笔们
304
306
  */
305
307
  formatPainterByFirst(pens?: Pen[]): void;
308
+ /**
309
+ * 格式刷(样式相同,大小无需一致。)
310
+ * @param pens 画笔们
311
+ */
312
+ formatPainterByLast(pens?: Pen[]): void;
306
313
  setFormatPainter(): void;
307
314
  formatPainter(): void;
308
315
  clearFormatPainter(): void;
package/src/core.js CHANGED
@@ -83,7 +83,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
83
83
  };
84
84
  import { commonAnchors, commonPens, cube } from './diagrams';
85
85
  import { Canvas } from './canvas';
86
- import { calcInView, calcTextDrawRect, calcTextLines, calcTextRect, facePen, formatAttrs, getAllChildren, getFromAnchor, getParent, getToAnchor, getWords, LockState, PenType, renderPenRaw, setElemPosition, connectLine, nearestAnchor, setChildValue, isAncestor, isShowChild, CanvasLayer, validationPlugin, setLifeCycleFunc, } from './pen';
86
+ import { calcInView, calcTextDrawRect, calcTextLines, calcTextRect, facePen, formatAttrs, getAllChildren, getFromAnchor, getParent, getToAnchor, getWords, LockState, PenType, renderPenRaw, setElemPosition, connectLine, nearestAnchor, setChildValue, isAncestor, isShowChild, CanvasLayer, validationPlugin, setLifeCycleFunc, getAllFollowers } from './pen';
87
87
  import { rotatePoint } from './point';
88
88
  import { clearStore, EditType, globalStore, register, registerAnchors, registerCanvasDraw, useStore, } from './store';
89
89
  import { formatPadding, loadCss, s8, valueInArray, valueInRange, } from './utils';
@@ -143,29 +143,29 @@ var Meta2d = /** @class */ (function () {
143
143
  }
144
144
  break;
145
145
  case 'click':
146
- e.pen && e.pen.onClick && e.pen.onClick(e.pen, _this.canvas.mousePos);
147
- _this.store.data.locked && e.pen && _this.doEvent(e.pen, eventName);
146
+ e.pen && e.pen.onClick && (!e.pen.disabled) && e.pen.onClick(e.pen, _this.canvas.mousePos);
147
+ _this.store.data.locked && e.pen && (!e.pen.disabled) && _this.doEvent(e.pen, eventName);
148
148
  break;
149
149
  case 'contextmenu':
150
150
  e.pen &&
151
- e.pen.onContextmenu &&
151
+ e.pen.onContextmenu && (!e.pen.disabled) &&
152
152
  e.pen.onContextmenu(e.pen, _this.canvas.mousePos);
153
- _this.store.data.locked && e.pen && _this.doEvent(e.pen, eventName);
153
+ _this.store.data.locked && e.pen && (!e.pen.disabled) && _this.doEvent(e.pen, eventName);
154
154
  break;
155
155
  case 'mousedown':
156
156
  e.pen &&
157
- e.pen.onMouseDown &&
157
+ e.pen.onMouseDown && (!e.pen.disabled) &&
158
158
  e.pen.onMouseDown(e.pen, _this.canvas.mousePos);
159
- _this.store.data.locked && e.pen && _this.doEvent(e.pen, eventName);
159
+ _this.store.data.locked && e.pen && (!e.pen.disabled) && _this.doEvent(e.pen, eventName);
160
160
  break;
161
161
  case 'mouseup':
162
162
  e.pen &&
163
- e.pen.onMouseUp &&
163
+ e.pen.onMouseUp && (!e.pen.disabled) &&
164
164
  e.pen.onMouseUp(e.pen, _this.canvas.mousePos);
165
- _this.store.data.locked && e.pen && _this.doEvent(e.pen, eventName);
165
+ _this.store.data.locked && e.pen && (!e.pen.disabled) && _this.doEvent(e.pen, eventName);
166
166
  break;
167
167
  case 'dblclick':
168
- _this.store.data.locked && e.pen && _this.doEvent(e.pen, eventName);
168
+ _this.store.data.locked && e.pen && (!e.pen.disabled) && _this.doEvent(e.pen, eventName);
169
169
  break;
170
170
  case 'valueUpdate':
171
171
  _this.store.data.locked && _this.doEvent(e, eventName);
@@ -270,37 +270,41 @@ var Meta2d = /** @class */ (function () {
270
270
  }
271
271
  }
272
272
  else {
273
+ var pValue = pen[key];
274
+ if (['x', 'y', 'width', 'height'].includes(key)) {
275
+ pValue = _this.getPenRect(pen)[key];
276
+ }
273
277
  switch (comparison) {
274
278
  case '>':
275
- can = pen[key] > +value;
279
+ can = pValue > +value;
276
280
  break;
277
281
  case '>=':
278
- can = pen[key] >= +value;
282
+ can = pValue >= +value;
279
283
  break;
280
284
  case '<':
281
- can = pen[key] < +value;
285
+ can = pValue < +value;
282
286
  break;
283
287
  case '<=':
284
- can = pen[key] <= +value;
288
+ can = pValue <= +value;
285
289
  break;
286
290
  case '=':
287
291
  case '==':
288
- can = pen[key] == value;
292
+ can = pValue == value;
289
293
  break;
290
294
  case '!=':
291
- can = pen[key] != value;
295
+ can = pValue != value;
292
296
  break;
293
297
  case '[)':
294
- can = valueInRange(+pen[key], value);
298
+ can = valueInRange(+pValue, value);
295
299
  break;
296
300
  case '![)':
297
- can = !valueInRange(+pen[key], value);
301
+ can = !valueInRange(+pValue, value);
298
302
  break;
299
303
  case '[]':
300
- can = valueInArray(+pen[key], value);
304
+ can = valueInArray(pValue, value);
301
305
  break;
302
306
  case '![]':
303
- can = !valueInArray(+pen[key], value);
307
+ can = !valueInArray(pValue, value);
304
308
  break;
305
309
  }
306
310
  }
@@ -750,6 +754,9 @@ var Meta2d = /** @class */ (function () {
750
754
  }
751
755
  }
752
756
  value.id = _pen.id;
757
+ if (_pen.deviceId) {
758
+ value.deviceId = _pen.deviceId;
759
+ }
753
760
  _this.sendDataToNetWork(value, e.network);
754
761
  return;
755
762
  }
@@ -1838,6 +1845,12 @@ var Meta2d = /** @class */ (function () {
1838
1845
  Meta2d.prototype.getParent = function (pen, root) {
1839
1846
  return getParent(pen, root);
1840
1847
  };
1848
+ Meta2d.prototype.getAllChildren = function (pen) {
1849
+ return getAllChildren(pen, this.store);
1850
+ };
1851
+ Meta2d.prototype.getAllFollowers = function (pen) {
1852
+ return getAllFollowers(pen, this.store);
1853
+ };
1841
1854
  Meta2d.prototype.data = function () {
1842
1855
  var data = deepClone(this.store.data);
1843
1856
  var _a = this.store.data, pens = _a.pens, paths = _a.paths;
@@ -1855,6 +1868,7 @@ var Meta2d = /** @class */ (function () {
1855
1868
  for (var pathId in paths) {
1856
1869
  _loop_2(pathId);
1857
1870
  }
1871
+ data.dataPoints = __spreadArray(__spreadArray([], __read(Object.keys(this.store.bind)), false), __read(Object.keys(this.store.bindDatas)), false);
1858
1872
  return data;
1859
1873
  };
1860
1874
  Meta2d.prototype.copy = function (pens) {
@@ -2592,6 +2606,22 @@ var Meta2d = /** @class */ (function () {
2592
2606
  pens = this.find(data.tag);
2593
2607
  }
2594
2608
  else {
2609
+ var binds = [];
2610
+ for (var key in data) {
2611
+ binds.push({
2612
+ dataId: key,
2613
+ id: key,
2614
+ value: data[key]
2615
+ });
2616
+ }
2617
+ ;
2618
+ if (binds.length) {
2619
+ this.setDatas(binds, {
2620
+ render: render,
2621
+ doEvent: doEvent,
2622
+ history: history,
2623
+ });
2624
+ }
2595
2625
  return;
2596
2626
  }
2597
2627
  history = history && !this.store.data.locked;
@@ -2720,6 +2750,9 @@ var Meta2d = /** @class */ (function () {
2720
2750
  value = this.store.pens[target][condition.value];
2721
2751
  }
2722
2752
  var compareValue = getter(pen, key);
2753
+ if (['x', 'y', 'width', 'height'].includes(key)) {
2754
+ compareValue = this.getPenRect(pen)[key];
2755
+ }
2723
2756
  switch (operator) {
2724
2757
  case '>':
2725
2758
  can = compareValue > +value;
@@ -2747,10 +2780,10 @@ var Meta2d = /** @class */ (function () {
2747
2780
  can = !valueInRange(+compareValue, value);
2748
2781
  break;
2749
2782
  case '[]':
2750
- can = valueInArray(+compareValue, value);
2783
+ can = valueInArray(compareValue, value);
2751
2784
  break;
2752
2785
  case '![]':
2753
- can = !valueInArray(+compareValue, value);
2786
+ can = !valueInArray(compareValue, value);
2754
2787
  break;
2755
2788
  }
2756
2789
  }
@@ -3240,6 +3273,30 @@ var Meta2d = /** @class */ (function () {
3240
3273
  pens: pens,
3241
3274
  });
3242
3275
  };
3276
+ /**
3277
+ * 格式刷(样式相同,大小无需一致。)
3278
+ * @param pens 画笔们
3279
+ */
3280
+ Meta2d.prototype.formatPainterByLast = function (pens) {
3281
+ if (pens === void 0) { pens = this.store.data.pens; }
3282
+ var initPens = deepClone(pens); // 原 pens ,深拷贝一下
3283
+ var firstPen = pens[pens.length - 1];
3284
+ // 格式刷修改的属性,除开宽高
3285
+ var attrs = {};
3286
+ formatAttrs.forEach(function (attr) {
3287
+ attrs[attr] = firstPen[attr];
3288
+ });
3289
+ for (var i = 0; i < pens.length - 1; i++) {
3290
+ var pen = pens[i];
3291
+ this.setValue(__assign({ id: pen.id }, attrs), { render: false, doEvent: false });
3292
+ }
3293
+ this.render();
3294
+ this.pushHistory({
3295
+ type: EditType.Update,
3296
+ initPens: initPens,
3297
+ pens: pens,
3298
+ });
3299
+ };
3243
3300
  Meta2d.prototype.setFormatPainter = function () {
3244
3301
  var _this = this;
3245
3302
  var pens = this.store.active;
@@ -4471,6 +4528,7 @@ var Meta2d = /** @class */ (function () {
4471
4528
  }
4472
4529
  }
4473
4530
  var allPens = getAllChildren(pen, this.store);
4531
+ allPens.push(pen);
4474
4532
  this.initImageCanvas(allPens);
4475
4533
  render && this.render();
4476
4534
  };