@tmagic/stage 1.3.3 → 1.3.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.
- package/dist/tmagic-stage.js +17 -10
- package/dist/tmagic-stage.js.map +1 -1
- package/dist/tmagic-stage.umd.cjs +17 -10
- package/dist/tmagic-stage.umd.cjs.map +1 -1
- package/package.json +4 -4
- package/src/ActionManager.ts +1 -0
- package/src/MoveableOptionsManager.ts +28 -9
- package/src/StageDragResize.ts +1 -3
- package/src/StageMultiDragResize.ts +1 -3
- package/src/types.ts +1 -0
- package/types/MoveableOptionsManager.d.ts +2 -3
- package/types/types.d.ts +1 -0
package/dist/tmagic-stage.js
CHANGED
|
@@ -736,15 +736,15 @@ class MoveableOptionsManager extends EventEmitter {
|
|
|
736
736
|
/**
|
|
737
737
|
* 设置有哪些元素要辅助对齐
|
|
738
738
|
* @param selectedElList 选中的元素列表,需要排除在对齐元素之外
|
|
739
|
-
* @param allElList 全部元素列表
|
|
740
739
|
*/
|
|
741
|
-
setElementGuidelines(selectedElList
|
|
740
|
+
setElementGuidelines(selectedElList) {
|
|
742
741
|
this.elementGuidelines.forEach((node) => {
|
|
743
742
|
node.remove();
|
|
744
743
|
});
|
|
745
744
|
this.elementGuidelines = [];
|
|
745
|
+
const elementGuidelines = this.getCustomizeOptions()?.elementGuidelines || Array.from(selectedElList[0]?.parentElement?.children || []);
|
|
746
746
|
if (this.mode === Mode.ABSOLUTE) {
|
|
747
|
-
this.container.append(this.createGuidelineElements(selectedElList,
|
|
747
|
+
this.container.append(this.createGuidelineElements(selectedElList, elementGuidelines));
|
|
748
748
|
}
|
|
749
749
|
}
|
|
750
750
|
/**
|
|
@@ -861,10 +861,18 @@ class MoveableOptionsManager extends EventEmitter {
|
|
|
861
861
|
*/
|
|
862
862
|
createGuidelineElements(selectedElList, allElList) {
|
|
863
863
|
const frame = globalThis.document.createDocumentFragment();
|
|
864
|
-
for (const
|
|
865
|
-
|
|
864
|
+
for (const element of allElList) {
|
|
865
|
+
let node = element.element || element;
|
|
866
|
+
if (!node || typeof node === "string")
|
|
867
|
+
continue;
|
|
868
|
+
if (typeof node === "function") {
|
|
869
|
+
node = node();
|
|
870
|
+
}
|
|
866
871
|
if (this.isInElementList(node, selectedElList))
|
|
867
872
|
continue;
|
|
873
|
+
const { width, height } = node.getBoundingClientRect();
|
|
874
|
+
if (!width || !height)
|
|
875
|
+
continue;
|
|
868
876
|
const { left, top } = getOffset(node);
|
|
869
877
|
const elementGuideline = globalThis.document.createElement("div");
|
|
870
878
|
elementGuideline.style.cssText = `position: absolute;width: ${width}px;height: ${height}px;top: ${top}px;left: ${left}px`;
|
|
@@ -973,8 +981,7 @@ class StageDragResize extends MoveableOptionsManager {
|
|
|
973
981
|
this.mode = getMode(el);
|
|
974
982
|
this.dragResizeHelper.updateShadowEl(el);
|
|
975
983
|
this.dragResizeHelper.setMode(this.mode);
|
|
976
|
-
|
|
977
|
-
this.setElementGuidelines([this.target], elementGuidelines);
|
|
984
|
+
this.setElementGuidelines([this.target]);
|
|
978
985
|
return this.getOptions(false, {
|
|
979
986
|
target: this.dragResizeHelper.getShadowEl()
|
|
980
987
|
});
|
|
@@ -1242,8 +1249,7 @@ class StageMultiDragResize extends MoveableOptionsManager {
|
|
|
1242
1249
|
this.mode = getMode(els[0]);
|
|
1243
1250
|
this.targetList = els;
|
|
1244
1251
|
this.dragResizeHelper.updateGroup(els);
|
|
1245
|
-
|
|
1246
|
-
this.setElementGuidelines(this.targetList, elementGuidelines);
|
|
1252
|
+
this.setElementGuidelines(this.targetList);
|
|
1247
1253
|
this.moveableForMulti?.destroy();
|
|
1248
1254
|
this.dragResizeHelper.clear();
|
|
1249
1255
|
this.moveableForMulti = new Moveable(
|
|
@@ -1635,7 +1641,8 @@ class ActionManager extends EventEmitter {
|
|
|
1635
1641
|
targetElId: this.selectedEl?.id,
|
|
1636
1642
|
targetEls: this.selectedElList,
|
|
1637
1643
|
targetElIds: this.selectedElList?.map((item) => item.id),
|
|
1638
|
-
isMulti
|
|
1644
|
+
isMulti,
|
|
1645
|
+
document: this.getRenderDocument()
|
|
1639
1646
|
};
|
|
1640
1647
|
return options(cfg);
|
|
1641
1648
|
}
|