@idraw/util 0.4.0-beta.34 → 0.4.0-beta.36
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/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/lib/controller.d.ts +3 -1
- package/dist/esm/lib/controller.js +62 -31
- package/dist/esm/lib/element.d.ts +3 -0
- package/dist/esm/lib/element.js +31 -0
- package/dist/esm/lib/group.d.ts +3 -0
- package/dist/esm/lib/group.js +81 -0
- package/dist/esm/lib/is.d.ts +1 -1
- package/dist/esm/lib/rotate.js +8 -13
- package/dist/esm/lib/store.d.ts +4 -1
- package/dist/esm/lib/store.js +11 -2
- package/dist/index.global.js +220 -87
- package/dist/index.global.min.js +1 -1
- package/package.json +1 -1
package/dist/index.global.js
CHANGED
|
@@ -1,28 +1,14 @@
|
|
|
1
1
|
var iDrawUtil = function(exports) {
|
|
2
|
-
"use strict";var
|
|
3
|
-
|
|
4
|
-
throw TypeError("Cannot " + msg);
|
|
5
|
-
};
|
|
6
|
-
var __privateGet = (obj, member, getter) => {
|
|
7
|
-
__accessCheck(obj, member, "read from private field");
|
|
8
|
-
return getter ? getter.call(obj) : member.get(obj);
|
|
9
|
-
};
|
|
10
|
-
var __privateAdd = (obj, member, value) => {
|
|
11
|
-
if (member.has(obj))
|
|
12
|
-
throw TypeError("Cannot add the same private member more than once");
|
|
13
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
14
|
-
};
|
|
15
|
-
var __privateSet = (obj, member, value, setter) => {
|
|
16
|
-
__accessCheck(obj, member, "write to private field");
|
|
17
|
-
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
18
|
-
return value;
|
|
19
|
-
};
|
|
20
|
-
var __privateMethod = (obj, member, method) => {
|
|
21
|
-
__accessCheck(obj, member, "access private method");
|
|
22
|
-
return method;
|
|
2
|
+
"use strict";var __typeError = (msg) => {
|
|
3
|
+
throw TypeError(msg);
|
|
23
4
|
};
|
|
5
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
6
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
7
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
8
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
9
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
24
10
|
|
|
25
|
-
var _ctx, _opts, _listeners, _temp, _backUpDefaultStorage,
|
|
11
|
+
var _ctx, _opts, _listeners, _temp, _backUpDefaultStorage, _static, _Store_instances, createTempStorage_fn;
|
|
26
12
|
function compose(middleware) {
|
|
27
13
|
return function(context, next) {
|
|
28
14
|
return dispatch(0);
|
|
@@ -31,8 +17,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
31
17
|
if (i === middleware.length && next) {
|
|
32
18
|
fn = next;
|
|
33
19
|
}
|
|
34
|
-
if (!fn)
|
|
35
|
-
return Promise.resolve();
|
|
20
|
+
if (!fn) return Promise.resolve();
|
|
36
21
|
try {
|
|
37
22
|
return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
|
|
38
23
|
} catch (err) {
|
|
@@ -922,8 +907,8 @@ var __privateMethod = (obj, member, method) => {
|
|
|
922
907
|
// private _width: number = 0;
|
|
923
908
|
// private _height: number = 0;
|
|
924
909
|
constructor(ctx, opts) {
|
|
925
|
-
__privateAdd(this, _ctx
|
|
926
|
-
__privateAdd(this, _opts
|
|
910
|
+
__privateAdd(this, _ctx);
|
|
911
|
+
__privateAdd(this, _opts);
|
|
927
912
|
__privateSet(this, _ctx, ctx);
|
|
928
913
|
__privateSet(this, _opts, { ...{ devicePixelRatio: 1, offscreenCanvas: null }, ...opts });
|
|
929
914
|
this.$resetFont();
|
|
@@ -1310,7 +1295,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1310
1295
|
}
|
|
1311
1296
|
class EventEmitter {
|
|
1312
1297
|
constructor() {
|
|
1313
|
-
__privateAdd(this, _listeners
|
|
1298
|
+
__privateAdd(this, _listeners);
|
|
1314
1299
|
__privateSet(this, _listeners, /* @__PURE__ */ new Map());
|
|
1315
1300
|
}
|
|
1316
1301
|
on(eventKey, callback) {
|
|
@@ -1396,11 +1381,13 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1396
1381
|
}
|
|
1397
1382
|
class Store {
|
|
1398
1383
|
constructor(opts) {
|
|
1399
|
-
__privateAdd(this,
|
|
1400
|
-
__privateAdd(this, _temp
|
|
1401
|
-
__privateAdd(this, _backUpDefaultStorage
|
|
1384
|
+
__privateAdd(this, _Store_instances);
|
|
1385
|
+
__privateAdd(this, _temp);
|
|
1386
|
+
__privateAdd(this, _backUpDefaultStorage);
|
|
1387
|
+
__privateAdd(this, _static);
|
|
1402
1388
|
__privateSet(this, _backUpDefaultStorage, deepClone(opts.defaultStorage));
|
|
1403
|
-
__privateSet(this, _temp, __privateMethod(this,
|
|
1389
|
+
__privateSet(this, _temp, __privateMethod(this, _Store_instances, createTempStorage_fn).call(this));
|
|
1390
|
+
__privateSet(this, _static, opts.defaultStatic || {});
|
|
1404
1391
|
}
|
|
1405
1392
|
set(name, value) {
|
|
1406
1393
|
__privateGet(this, _temp)[name] = value;
|
|
@@ -1408,6 +1395,12 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1408
1395
|
get(name) {
|
|
1409
1396
|
return __privateGet(this, _temp)[name];
|
|
1410
1397
|
}
|
|
1398
|
+
setStatic(name, value) {
|
|
1399
|
+
__privateGet(this, _static)[name] = value;
|
|
1400
|
+
}
|
|
1401
|
+
getStatic(name) {
|
|
1402
|
+
return __privateGet(this, _static)[name];
|
|
1403
|
+
}
|
|
1411
1404
|
getSnapshot(opts) {
|
|
1412
1405
|
if ((opts == null ? void 0 : opts.deepClone) === true) {
|
|
1413
1406
|
return deepClone(__privateGet(this, _temp));
|
|
@@ -1415,15 +1408,17 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1415
1408
|
return { ...__privateGet(this, _temp) };
|
|
1416
1409
|
}
|
|
1417
1410
|
clear() {
|
|
1418
|
-
__privateSet(this, _temp, __privateMethod(this,
|
|
1411
|
+
__privateSet(this, _temp, __privateMethod(this, _Store_instances, createTempStorage_fn).call(this));
|
|
1419
1412
|
}
|
|
1420
1413
|
destroy() {
|
|
1421
1414
|
__privateSet(this, _temp, null);
|
|
1415
|
+
__privateSet(this, _static, null);
|
|
1422
1416
|
}
|
|
1423
1417
|
}
|
|
1424
1418
|
_temp = new WeakMap();
|
|
1425
1419
|
_backUpDefaultStorage = new WeakMap();
|
|
1426
|
-
|
|
1420
|
+
_static = new WeakMap();
|
|
1421
|
+
_Store_instances = new WeakSet();
|
|
1427
1422
|
createTempStorage_fn = function() {
|
|
1428
1423
|
return deepClone(__privateGet(this, _backUpDefaultStorage));
|
|
1429
1424
|
};
|
|
@@ -1496,16 +1491,10 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1496
1491
|
return calcElementCenter(elemSize);
|
|
1497
1492
|
}
|
|
1498
1493
|
function calcRadian(center, start, end) {
|
|
1499
|
-
const
|
|
1500
|
-
const
|
|
1501
|
-
if (
|
|
1502
|
-
|
|
1503
|
-
return endAngle + (Math.PI * 2 - startAngle);
|
|
1504
|
-
} else if (endAngle > Math.PI * 3 / 2 && startAngle < Math.PI / 2) {
|
|
1505
|
-
return startAngle + (Math.PI * 2 - endAngle);
|
|
1506
|
-
} else {
|
|
1507
|
-
return endAngle - startAngle;
|
|
1508
|
-
}
|
|
1494
|
+
const startRadian = calcLineRadian(center, start);
|
|
1495
|
+
const endRadian = calcLineRadian(center, end);
|
|
1496
|
+
if (endRadian !== null && startRadian !== null) {
|
|
1497
|
+
return endRadian - startRadian;
|
|
1509
1498
|
} else {
|
|
1510
1499
|
return 0;
|
|
1511
1500
|
}
|
|
@@ -1631,12 +1620,14 @@ var __privateMethod = (obj, member, method) => {
|
|
|
1631
1620
|
];
|
|
1632
1621
|
}
|
|
1633
1622
|
function limitAngle(angle2) {
|
|
1634
|
-
if (!(angle2 > 0 || angle2 < 0) || angle2 === 0) {
|
|
1623
|
+
if (!(angle2 > 0 || angle2 < 0) || angle2 === 0 || angle2 === 360) {
|
|
1635
1624
|
return 0;
|
|
1636
1625
|
}
|
|
1637
1626
|
let num = angle2 % 360;
|
|
1638
1627
|
if (num < 0) {
|
|
1639
1628
|
num += 360;
|
|
1629
|
+
} else if (angle2 === 360) {
|
|
1630
|
+
num = 0;
|
|
1640
1631
|
}
|
|
1641
1632
|
return num;
|
|
1642
1633
|
}
|
|
@@ -2042,6 +2033,36 @@ var __privateMethod = (obj, member, method) => {
|
|
|
2042
2033
|
_loop(elements);
|
|
2043
2034
|
return result;
|
|
2044
2035
|
}
|
|
2036
|
+
function getElementPositionMapFromList(uuids, elements) {
|
|
2037
|
+
const currentPosition = [];
|
|
2038
|
+
const positionMap = {};
|
|
2039
|
+
let over = false;
|
|
2040
|
+
const _loop = (list) => {
|
|
2041
|
+
var _a;
|
|
2042
|
+
for (let i = 0; i < list.length; i++) {
|
|
2043
|
+
if (over === true) {
|
|
2044
|
+
break;
|
|
2045
|
+
}
|
|
2046
|
+
currentPosition.push(i);
|
|
2047
|
+
const elem = list[i];
|
|
2048
|
+
if (uuids.includes(elem.uuid)) {
|
|
2049
|
+
positionMap[elem.uuid] = [...currentPosition];
|
|
2050
|
+
if (Object.keys(positionMap).length === uuids.length) {
|
|
2051
|
+
over = true;
|
|
2052
|
+
break;
|
|
2053
|
+
}
|
|
2054
|
+
} else if (elem.type === "group") {
|
|
2055
|
+
_loop(((_a = elem == null ? void 0 : elem.detail) == null ? void 0 : _a.children) || []);
|
|
2056
|
+
}
|
|
2057
|
+
if (over) {
|
|
2058
|
+
break;
|
|
2059
|
+
}
|
|
2060
|
+
currentPosition.pop();
|
|
2061
|
+
}
|
|
2062
|
+
};
|
|
2063
|
+
_loop(elements);
|
|
2064
|
+
return positionMap;
|
|
2065
|
+
}
|
|
2045
2066
|
function checkRectIntersect(rect1, rect2) {
|
|
2046
2067
|
const rect1MinX = rect1.x;
|
|
2047
2068
|
const rect1MinY = rect1.y;
|
|
@@ -2577,9 +2598,11 @@ var __privateMethod = (obj, member, method) => {
|
|
|
2577
2598
|
};
|
|
2578
2599
|
}
|
|
2579
2600
|
function calcElementSizeController(elemSize, opts) {
|
|
2580
|
-
const { groupQueue, controllerSize, viewScaleInfo } = opts;
|
|
2601
|
+
const { groupQueue, controllerSize, viewScaleInfo, rotateControllerSize, rotateControllerPosition } = opts;
|
|
2581
2602
|
const ctrlSize = (controllerSize && controllerSize > 0 ? controllerSize : 8) / viewScaleInfo.scale;
|
|
2582
2603
|
const { x: x2, y: y2, w: w2, h: h2, angle: angle2 = 0 } = elemSize;
|
|
2604
|
+
const rotateCtrlSize = rotateControllerSize;
|
|
2605
|
+
const rotateCtrlPos = rotateControllerPosition;
|
|
2583
2606
|
const ctrlGroupQueue = [
|
|
2584
2607
|
...[
|
|
2585
2608
|
{
|
|
@@ -2602,10 +2625,10 @@ var __privateMethod = (obj, member, method) => {
|
|
|
2602
2625
|
const vertexes = calcElementVertexesInGroup(elemSize, { groupQueue });
|
|
2603
2626
|
const rotateElemVertexes = calcElementVertexesInGroup(
|
|
2604
2627
|
{
|
|
2605
|
-
x: x2
|
|
2606
|
-
y: y2 -
|
|
2607
|
-
h: h2 +
|
|
2608
|
-
w: w2
|
|
2628
|
+
x: x2,
|
|
2629
|
+
y: y2 - (rotateCtrlPos + rotateCtrlSize / 2) / viewScaleInfo.scale,
|
|
2630
|
+
h: h2 + (rotateCtrlPos * 2 + rotateCtrlSize) / viewScaleInfo.scale,
|
|
2631
|
+
w: w2,
|
|
2609
2632
|
angle: angle2
|
|
2610
2633
|
},
|
|
2611
2634
|
{ groupQueue: [...groupQueue] }
|
|
@@ -2639,74 +2662,91 @@ var __privateMethod = (obj, member, method) => {
|
|
|
2639
2662
|
const bottomMiddleVertexes = calcElementVertexes(bottomMiddleSize);
|
|
2640
2663
|
const leftMiddleVertexes = calcElementVertexes(leftMiddleSize);
|
|
2641
2664
|
const rotateCenter = getCenterFromTwoPoints(rotateElemVertexes[0], rotateElemVertexes[1]);
|
|
2642
|
-
const
|
|
2665
|
+
const tempRotateSizeRepairRatio = 1.1;
|
|
2666
|
+
const rotateSize = createControllerElementSizeFromCenter(rotateCenter, {
|
|
2667
|
+
size: rotateControllerSize * tempRotateSizeRepairRatio / viewScaleInfo.scale,
|
|
2668
|
+
angle: totalAngle
|
|
2669
|
+
});
|
|
2643
2670
|
const rotateVertexes2 = calcElementVertexes(rotateSize);
|
|
2644
2671
|
const sizeController = {
|
|
2645
2672
|
elementWrapper: vertexes,
|
|
2646
2673
|
left: {
|
|
2647
2674
|
type: "left",
|
|
2648
2675
|
vertexes: leftVertexes,
|
|
2649
|
-
center: leftCenter
|
|
2676
|
+
center: leftCenter,
|
|
2677
|
+
size: ctrlSize
|
|
2650
2678
|
},
|
|
2651
2679
|
right: {
|
|
2652
2680
|
type: "right",
|
|
2653
2681
|
vertexes: rightVertexes,
|
|
2654
|
-
center: rightCenter
|
|
2682
|
+
center: rightCenter,
|
|
2683
|
+
size: ctrlSize
|
|
2655
2684
|
},
|
|
2656
2685
|
top: {
|
|
2657
2686
|
type: "top",
|
|
2658
2687
|
vertexes: topVertexes,
|
|
2659
|
-
center: topCenter
|
|
2688
|
+
center: topCenter,
|
|
2689
|
+
size: ctrlSize
|
|
2660
2690
|
},
|
|
2661
2691
|
bottom: {
|
|
2662
2692
|
type: "bottom",
|
|
2663
2693
|
vertexes: bottomVertexes,
|
|
2664
|
-
center: bottomCenter
|
|
2694
|
+
center: bottomCenter,
|
|
2695
|
+
size: ctrlSize
|
|
2665
2696
|
},
|
|
2666
2697
|
topLeft: {
|
|
2667
2698
|
type: "top-left",
|
|
2668
2699
|
vertexes: topLeftVertexes,
|
|
2669
|
-
center: topLeftCenter
|
|
2700
|
+
center: topLeftCenter,
|
|
2701
|
+
size: ctrlSize
|
|
2670
2702
|
},
|
|
2671
2703
|
topRight: {
|
|
2672
2704
|
type: "top-right",
|
|
2673
2705
|
vertexes: topRightVertexes,
|
|
2674
|
-
center: topRightCenter
|
|
2706
|
+
center: topRightCenter,
|
|
2707
|
+
size: ctrlSize
|
|
2675
2708
|
},
|
|
2676
2709
|
bottomLeft: {
|
|
2677
2710
|
type: "bottom-left",
|
|
2678
2711
|
vertexes: bottomLeftVertexes,
|
|
2679
|
-
center: bottomLeftCenter
|
|
2712
|
+
center: bottomLeftCenter,
|
|
2713
|
+
size: ctrlSize
|
|
2680
2714
|
},
|
|
2681
2715
|
bottomRight: {
|
|
2682
2716
|
type: "bottom-right",
|
|
2683
2717
|
vertexes: bottomRightVertexes,
|
|
2684
|
-
center: bottomRightCenter
|
|
2718
|
+
center: bottomRightCenter,
|
|
2719
|
+
size: ctrlSize
|
|
2685
2720
|
},
|
|
2686
2721
|
leftMiddle: {
|
|
2687
2722
|
type: "left-middle",
|
|
2688
2723
|
vertexes: leftMiddleVertexes,
|
|
2689
|
-
center: leftCenter
|
|
2724
|
+
center: leftCenter,
|
|
2725
|
+
size: ctrlSize
|
|
2690
2726
|
},
|
|
2691
2727
|
rightMiddle: {
|
|
2692
2728
|
type: "right-middle",
|
|
2693
2729
|
vertexes: rightMiddleVertexes,
|
|
2694
|
-
center: rightCenter
|
|
2730
|
+
center: rightCenter,
|
|
2731
|
+
size: ctrlSize
|
|
2695
2732
|
},
|
|
2696
2733
|
topMiddle: {
|
|
2697
2734
|
type: "top-middle",
|
|
2698
2735
|
vertexes: topMiddleVertexes,
|
|
2699
|
-
center: topCenter
|
|
2736
|
+
center: topCenter,
|
|
2737
|
+
size: ctrlSize
|
|
2700
2738
|
},
|
|
2701
2739
|
bottomMiddle: {
|
|
2702
2740
|
type: "bottom-middle",
|
|
2703
2741
|
vertexes: bottomMiddleVertexes,
|
|
2704
|
-
center: bottomCenter
|
|
2742
|
+
center: bottomCenter,
|
|
2743
|
+
size: ctrlSize
|
|
2705
2744
|
},
|
|
2706
2745
|
rotate: {
|
|
2707
2746
|
type: "rotate",
|
|
2708
2747
|
vertexes: rotateVertexes2,
|
|
2709
|
-
center: rotateCenter
|
|
2748
|
+
center: rotateCenter,
|
|
2749
|
+
size: rotateControllerSize
|
|
2710
2750
|
}
|
|
2711
2751
|
};
|
|
2712
2752
|
return sizeController;
|
|
@@ -2748,62 +2788,74 @@ var __privateMethod = (obj, member, method) => {
|
|
|
2748
2788
|
left: {
|
|
2749
2789
|
type: "left",
|
|
2750
2790
|
vertexes: leftVertexes,
|
|
2751
|
-
center: leftCenter
|
|
2791
|
+
center: leftCenter,
|
|
2792
|
+
size: ctrlSize
|
|
2752
2793
|
},
|
|
2753
2794
|
right: {
|
|
2754
2795
|
type: "right",
|
|
2755
2796
|
vertexes: rightVertexes,
|
|
2756
|
-
center: rightCenter
|
|
2797
|
+
center: rightCenter,
|
|
2798
|
+
size: ctrlSize
|
|
2757
2799
|
},
|
|
2758
2800
|
top: {
|
|
2759
2801
|
type: "top",
|
|
2760
2802
|
vertexes: topVertexes,
|
|
2761
|
-
center: topCenter
|
|
2803
|
+
center: topCenter,
|
|
2804
|
+
size: ctrlSize
|
|
2762
2805
|
},
|
|
2763
2806
|
bottom: {
|
|
2764
2807
|
type: "bottom",
|
|
2765
2808
|
vertexes: bottomVertexes,
|
|
2766
|
-
center: bottomCenter
|
|
2809
|
+
center: bottomCenter,
|
|
2810
|
+
size: ctrlSize
|
|
2767
2811
|
},
|
|
2768
2812
|
topLeft: {
|
|
2769
2813
|
type: "top-left",
|
|
2770
2814
|
vertexes: topLeftVertexes,
|
|
2771
|
-
center: topLeftCenter
|
|
2815
|
+
center: topLeftCenter,
|
|
2816
|
+
size: ctrlSize
|
|
2772
2817
|
},
|
|
2773
2818
|
topRight: {
|
|
2774
2819
|
type: "top-right",
|
|
2775
2820
|
vertexes: topRightVertexes,
|
|
2776
|
-
center: topRightCenter
|
|
2821
|
+
center: topRightCenter,
|
|
2822
|
+
size: ctrlSize
|
|
2777
2823
|
},
|
|
2778
2824
|
bottomLeft: {
|
|
2779
2825
|
type: "bottom-left",
|
|
2780
2826
|
vertexes: bottomLeftVertexes,
|
|
2781
|
-
center: bottomLeftCenter
|
|
2827
|
+
center: bottomLeftCenter,
|
|
2828
|
+
size: ctrlSize
|
|
2782
2829
|
},
|
|
2783
2830
|
bottomRight: {
|
|
2784
2831
|
type: "bottom-right",
|
|
2785
2832
|
vertexes: bottomRightVertexes,
|
|
2786
|
-
center: bottomRightCenter
|
|
2833
|
+
center: bottomRightCenter,
|
|
2834
|
+
size: ctrlSize
|
|
2787
2835
|
},
|
|
2788
2836
|
leftMiddle: {
|
|
2789
2837
|
type: "left-middle",
|
|
2790
2838
|
vertexes: leftMiddleVertexes,
|
|
2791
|
-
center: leftCenter
|
|
2839
|
+
center: leftCenter,
|
|
2840
|
+
size: ctrlSize
|
|
2792
2841
|
},
|
|
2793
2842
|
rightMiddle: {
|
|
2794
2843
|
type: "right-middle",
|
|
2795
2844
|
vertexes: rightMiddleVertexes,
|
|
2796
|
-
center: rightCenter
|
|
2845
|
+
center: rightCenter,
|
|
2846
|
+
size: ctrlSize
|
|
2797
2847
|
},
|
|
2798
2848
|
topMiddle: {
|
|
2799
2849
|
type: "top-middle",
|
|
2800
2850
|
vertexes: topMiddleVertexes,
|
|
2801
|
-
center: topCenter
|
|
2851
|
+
center: topCenter,
|
|
2852
|
+
size: ctrlSize
|
|
2802
2853
|
},
|
|
2803
2854
|
bottomMiddle: {
|
|
2804
2855
|
type: "bottom-middle",
|
|
2805
2856
|
vertexes: bottomMiddleVertexes,
|
|
2806
|
-
center: bottomCenter
|
|
2857
|
+
center: bottomCenter,
|
|
2858
|
+
size: ctrlSize
|
|
2807
2859
|
}
|
|
2808
2860
|
};
|
|
2809
2861
|
return sizeController;
|
|
@@ -3223,18 +3275,13 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3223
3275
|
function resizeElement(elem, opts) {
|
|
3224
3276
|
const { type } = elem;
|
|
3225
3277
|
resizeElementBase(elem, opts);
|
|
3226
|
-
if (type === "circle")
|
|
3227
|
-
;
|
|
3278
|
+
if (type === "circle") ;
|
|
3228
3279
|
else if (type === "text") {
|
|
3229
3280
|
resizeTextElementDetail(elem, opts);
|
|
3230
|
-
} else if (type === "image")
|
|
3231
|
-
|
|
3232
|
-
else if (type === "
|
|
3233
|
-
|
|
3234
|
-
else if (type === "html")
|
|
3235
|
-
;
|
|
3236
|
-
else if (type === "path")
|
|
3237
|
-
;
|
|
3281
|
+
} else if (type === "image") ;
|
|
3282
|
+
else if (type === "svg") ;
|
|
3283
|
+
else if (type === "html") ;
|
|
3284
|
+
else if (type === "path") ;
|
|
3238
3285
|
else if (type === "group" && Array.isArray(elem.detail.children)) {
|
|
3239
3286
|
elem.detail.children.forEach((child) => {
|
|
3240
3287
|
resizeElement(child, opts);
|
|
@@ -3657,8 +3704,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3657
3704
|
}
|
|
3658
3705
|
function _set(obj, path, value) {
|
|
3659
3706
|
const keys = path.split(".");
|
|
3660
|
-
if (typeof obj !== "object")
|
|
3661
|
-
return obj;
|
|
3707
|
+
if (typeof obj !== "object") return obj;
|
|
3662
3708
|
keys.reduce((o, k, i, _) => {
|
|
3663
3709
|
if (i === _.length - 1) {
|
|
3664
3710
|
o[k] = value;
|
|
@@ -3832,6 +3878,90 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3832
3878
|
}
|
|
3833
3879
|
return elemeList;
|
|
3834
3880
|
}
|
|
3881
|
+
function groupElementsByPosition(list, positions) {
|
|
3882
|
+
if (positions.length > 1) {
|
|
3883
|
+
let isValidPositions = true;
|
|
3884
|
+
let lastIndexs = [];
|
|
3885
|
+
for (let i = 1; i < positions.length; i++) {
|
|
3886
|
+
const prevPosition = positions[i - 1];
|
|
3887
|
+
const position = positions[i];
|
|
3888
|
+
if (!(prevPosition.length > 0 && position.length > 0)) {
|
|
3889
|
+
isValidPositions = false;
|
|
3890
|
+
break;
|
|
3891
|
+
}
|
|
3892
|
+
if (prevPosition.length !== position.length) {
|
|
3893
|
+
isValidPositions = false;
|
|
3894
|
+
break;
|
|
3895
|
+
}
|
|
3896
|
+
const temp1 = [...prevPosition];
|
|
3897
|
+
const temp2 = [...position];
|
|
3898
|
+
const lastIndex1 = temp1.pop();
|
|
3899
|
+
const lastIndex2 = temp2.pop();
|
|
3900
|
+
if (i === 1 && typeof lastIndex1 === "number" && lastIndex1 >= 0) {
|
|
3901
|
+
lastIndexs.push(lastIndex1);
|
|
3902
|
+
}
|
|
3903
|
+
if (typeof lastIndex2 === "number" && lastIndex2 >= 0) {
|
|
3904
|
+
lastIndexs.push(lastIndex2);
|
|
3905
|
+
}
|
|
3906
|
+
}
|
|
3907
|
+
if (isValidPositions !== true) {
|
|
3908
|
+
console.error("[idraw]: The grouped elements are not siblings!");
|
|
3909
|
+
return list;
|
|
3910
|
+
}
|
|
3911
|
+
lastIndexs.sort((a, b) => a - b);
|
|
3912
|
+
const groupParentPosition = [...positions[0]].splice(0, positions[0].length - 1);
|
|
3913
|
+
const groupChildren = [];
|
|
3914
|
+
const groupPosition = [...groupParentPosition, lastIndexs[0]];
|
|
3915
|
+
for (let i = 0; i < lastIndexs.length; i++) {
|
|
3916
|
+
const position = [...groupParentPosition, lastIndexs[i]];
|
|
3917
|
+
const elem = findElementFromListByPosition(position, list);
|
|
3918
|
+
if (elem) {
|
|
3919
|
+
groupChildren.push(elem);
|
|
3920
|
+
}
|
|
3921
|
+
}
|
|
3922
|
+
const groupSize = calcElementListSize(groupChildren);
|
|
3923
|
+
for (let i = 0; i < groupChildren.length; i++) {
|
|
3924
|
+
const elem = groupChildren[i];
|
|
3925
|
+
if (elem) {
|
|
3926
|
+
elem.x -= groupSize.x;
|
|
3927
|
+
elem.y -= groupSize.y;
|
|
3928
|
+
}
|
|
3929
|
+
}
|
|
3930
|
+
for (let i = lastIndexs.length - 1; i >= 0; i--) {
|
|
3931
|
+
const position = [...groupParentPosition, lastIndexs[i]];
|
|
3932
|
+
deleteElementInListByPosition(position, list);
|
|
3933
|
+
}
|
|
3934
|
+
const group = {
|
|
3935
|
+
name: "Group",
|
|
3936
|
+
uuid: createUUID(),
|
|
3937
|
+
type: "group",
|
|
3938
|
+
...groupSize,
|
|
3939
|
+
detail: {
|
|
3940
|
+
children: groupChildren
|
|
3941
|
+
}
|
|
3942
|
+
};
|
|
3943
|
+
insertElementToListByPosition(group, groupPosition, list);
|
|
3944
|
+
}
|
|
3945
|
+
return list;
|
|
3946
|
+
}
|
|
3947
|
+
function ungroupElementsByPosition(list, position) {
|
|
3948
|
+
var _a;
|
|
3949
|
+
const elem = findElementFromListByPosition(position, list);
|
|
3950
|
+
if (!(elem && (elem == null ? void 0 : elem.type) === "group" && Array.isArray((_a = elem == null ? void 0 : elem.detail) == null ? void 0 : _a.children))) {
|
|
3951
|
+
console.error("[idraw]: The ungrouped element is not a group element!");
|
|
3952
|
+
}
|
|
3953
|
+
const groupParentPosition = [...position].splice(0, position.length - 1);
|
|
3954
|
+
const groupLastIndex = position[position.length - 1];
|
|
3955
|
+
const { x: x2, y: y2 } = elem;
|
|
3956
|
+
deleteElementInListByPosition(position, list);
|
|
3957
|
+
elem.detail.children.forEach((child, i) => {
|
|
3958
|
+
child.x += x2;
|
|
3959
|
+
child.y += y2;
|
|
3960
|
+
const elemPosition = [...groupParentPosition, groupLastIndex + i];
|
|
3961
|
+
insertElementToListByPosition(child, elemPosition, list);
|
|
3962
|
+
});
|
|
3963
|
+
return list;
|
|
3964
|
+
}
|
|
3835
3965
|
exports.Context2D = Context2D;
|
|
3836
3966
|
exports.EventEmitter = EventEmitter;
|
|
3837
3967
|
exports.Store = Store;
|
|
@@ -3900,6 +4030,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3900
4030
|
exports.getDefaultElementRectDetail = getDefaultElementRectDetail;
|
|
3901
4031
|
exports.getElemenetsAssetIds = getElemenetsAssetIds;
|
|
3902
4032
|
exports.getElementPositionFromList = getElementPositionFromList;
|
|
4033
|
+
exports.getElementPositionMapFromList = getElementPositionMapFromList;
|
|
3903
4034
|
exports.getElementRotateVertexes = getElementRotateVertexes;
|
|
3904
4035
|
exports.getElementSize = getElementSize;
|
|
3905
4036
|
exports.getElementVertexes = getElementVertexes;
|
|
@@ -3910,6 +4041,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3910
4041
|
exports.getViewPointAtElement = getViewPointAtElement;
|
|
3911
4042
|
exports.getViewScaleInfoFromSnapshot = getViewScaleInfoFromSnapshot;
|
|
3912
4043
|
exports.getViewSizeInfoFromSnapshot = getViewSizeInfoFromSnapshot;
|
|
4044
|
+
exports.groupElementsByPosition = groupElementsByPosition;
|
|
3913
4045
|
exports.insertElementToListByPosition = insertElementToListByPosition;
|
|
3914
4046
|
exports.is = is;
|
|
3915
4047
|
exports.isAssetId = isAssetId;
|
|
@@ -3949,6 +4081,7 @@ var __privateMethod = (obj, member, method) => {
|
|
|
3949
4081
|
exports.throttle = throttle;
|
|
3950
4082
|
exports.toColorHexNum = toColorHexNum;
|
|
3951
4083
|
exports.toColorHexStr = toColorHexStr;
|
|
4084
|
+
exports.ungroupElementsByPosition = ungroupElementsByPosition;
|
|
3952
4085
|
exports.updateElementInList = updateElementInList;
|
|
3953
4086
|
exports.updateElementInListByPosition = updateElementInListByPosition;
|
|
3954
4087
|
exports.updateViewVisibleInfoMapStatus = updateViewVisibleInfoMapStatus;
|