@node-projects/web-component-designer 0.0.237 → 0.0.239
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/README.md +8 -0
- package/assets/images/layout/TransformTool.svg +21 -0
- package/dist/elements/helper/ElementHelper.d.ts +4 -0
- package/dist/elements/helper/ElementHelper.js +29 -0
- package/dist/elements/services/DefaultServiceBootstrap.js +7 -2
- package/dist/elements/services/ServiceContainer.d.ts +6 -3
- package/dist/elements/services/ServiceContainer.js +5 -2
- package/dist/elements/services/dragDropService/DragDropService.d.ts +8 -2
- package/dist/elements/services/dragDropService/DragDropService.js +79 -21
- package/dist/elements/services/dragDropService/ExternalDragDropService copy.d.ts +6 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService copy.js +28 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService.d.ts +6 -0
- package/dist/elements/services/dragDropService/ExternalDragDropService.js +28 -0
- package/dist/elements/services/dragDropService/IDragDropService.d.ts +6 -1
- package/dist/elements/services/dragDropService/IExternalDragDropService copy.d.ts +5 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService copy.js +1 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService.d.ts +5 -0
- package/dist/elements/services/dragDropService/IExternalDragDropService.js +1 -0
- package/dist/elements/services/placementService/DefaultPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/DefaultPlacementService.js +11 -0
- package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/FlexBoxPlacementService.js +2 -0
- package/dist/elements/services/placementService/GridPlacementService.d.ts +1 -0
- package/dist/elements/services/placementService/GridPlacementService.js +2 -0
- package/dist/elements/services/placementService/IPlacementService.d.ts +5 -4
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +0 -2
- package/dist/elements/widgets/designerView/designerCanvas.js +36 -95
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.d.ts +15 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtension.js +34 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js +13 -0
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.d.ts +2 -0
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +14 -5
- package/dist/elements/widgets/designerView/extensions/svg/LineExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.d.ts +2 -0
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +15 -6
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +3 -0
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +19 -7
- package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawLineTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawPathTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/DrawRectTool.js +2 -2
- package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +2 -0
- package/dist/elements/widgets/designerView/tools/PointerTool.js +2 -1
- package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +3 -1
- package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +1 -1
- package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +6 -6
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.d.ts +5 -0
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js +10 -0
- package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.d.ts +31 -0
- package/dist/elements/widgets/designerView/tools/toolBar/popups/TransformToolPopup.js +293 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/package.json +6 -6
|
@@ -2,7 +2,7 @@ import { EventNames } from '../../../enums/EventNames.js';
|
|
|
2
2
|
import { InstanceServiceContainer } from '../../services/InstanceServiceContainer.js';
|
|
3
3
|
import { DesignItem } from '../../item/DesignItem.js';
|
|
4
4
|
import { BaseCustomWebComponentLazyAppend, css, html, TypedEvent, cssFromString } from '@node-projects/base-custom-webcomponent';
|
|
5
|
-
import {
|
|
5
|
+
import { dragDropFormatNameBindingObject } from '../../../Constants.js';
|
|
6
6
|
import { InsertAction } from '../../services/undoService/transactionItems/InsertAction.js';
|
|
7
7
|
import { Snaplines } from './Snaplines.js';
|
|
8
8
|
import { DeleteAction } from '../../services/undoService/transactionItems/DeleteAction.js';
|
|
@@ -677,7 +677,6 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
677
677
|
}
|
|
678
678
|
this.snapLines.clearSnaplines();
|
|
679
679
|
}
|
|
680
|
-
_dragOverExtensionItem;
|
|
681
680
|
_onDragEnter(event) {
|
|
682
681
|
this._fillCalculationrects();
|
|
683
682
|
event.preventDefault();
|
|
@@ -698,15 +697,19 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
698
697
|
}
|
|
699
698
|
else {
|
|
700
699
|
this._lastDdElement = null;
|
|
700
|
+
const dragDropService = this.serviceContainer.dragDropService;
|
|
701
|
+
if (dragDropService) {
|
|
702
|
+
dragDropService.dragEnter(this, event);
|
|
703
|
+
}
|
|
701
704
|
}
|
|
702
705
|
}
|
|
703
706
|
_onDragLeave(event) {
|
|
704
707
|
this._fillCalculationrects();
|
|
705
708
|
event.preventDefault();
|
|
706
709
|
this._canvas.classList.remove('dragFileActive');
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
this
|
|
710
|
+
const dragDropService = this.serviceContainer.dragDropService;
|
|
711
|
+
if (dragDropService) {
|
|
712
|
+
dragDropService.dragLeave(this, event);
|
|
710
713
|
}
|
|
711
714
|
}
|
|
712
715
|
_lastDdElement = null;
|
|
@@ -721,7 +724,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
721
724
|
}*/
|
|
722
725
|
this._fillCalculationrects();
|
|
723
726
|
if (event.dataTransfer.types.length > 0 && event.dataTransfer.types[0] == 'Files') {
|
|
724
|
-
const ddService = this.serviceContainer.
|
|
727
|
+
const ddService = this.serviceContainer.externalDragDropService;
|
|
725
728
|
if (ddService) {
|
|
726
729
|
const effect = ddService.dragOver(event);
|
|
727
730
|
event.dataTransfer.dropEffect = effect;
|
|
@@ -732,63 +735,26 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
732
735
|
else {
|
|
733
736
|
const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
|
|
734
737
|
if (hasTransferDataBindingObject) {
|
|
735
|
-
const
|
|
736
|
-
if (
|
|
738
|
+
const bindableDdService = this.serviceContainer.bindableObjectDragDropService;
|
|
739
|
+
if (bindableDdService) {
|
|
737
740
|
const el = this.getElementAtPoint({ x: event.x, y: event.y });
|
|
738
741
|
if (this._lastDdElement != el) {
|
|
739
|
-
|
|
740
|
-
|
|
742
|
+
bindableDdService.dragLeave(this, event, this._lastDdElement);
|
|
743
|
+
bindableDdService.dragEnter(this, event, el);
|
|
741
744
|
this._lastDdElement = el;
|
|
742
745
|
}
|
|
743
|
-
const effect =
|
|
746
|
+
const effect = bindableDdService.dragOver(this, event, el);
|
|
744
747
|
event.dataTransfer.dropEffect = effect;
|
|
745
748
|
}
|
|
746
749
|
}
|
|
747
750
|
else {
|
|
748
|
-
|
|
749
|
-
if (
|
|
750
|
-
|
|
751
|
-
this.extensionManager.applyExtension(newContainer, ExtensionType.ContainerExternalDragOver, event);
|
|
752
|
-
this._dragOverExtensionItem = newContainer;
|
|
753
|
-
}
|
|
754
|
-
else {
|
|
755
|
-
this.extensionManager.refreshExtension(newContainer, ExtensionType.ContainerExternalDragOver, event);
|
|
751
|
+
const dragDropService = this.serviceContainer.dragDropService;
|
|
752
|
+
if (dragDropService) {
|
|
753
|
+
dragDropService.dragOver(this, event);
|
|
756
754
|
}
|
|
757
755
|
}
|
|
758
756
|
}
|
|
759
757
|
}
|
|
760
|
-
_getPossibleContainerForDrop(event) {
|
|
761
|
-
let newContainerElementDesignItem = null;
|
|
762
|
-
let newContainerService = null;
|
|
763
|
-
const elementsFromPoint = this.elementsFromPoint(event.x, event.y);
|
|
764
|
-
for (let e of elementsFromPoint) {
|
|
765
|
-
if (e == this.rootDesignItem.element) {
|
|
766
|
-
newContainerElementDesignItem = this.rootDesignItem;
|
|
767
|
-
const containerStyle = getComputedStyle(newContainerElementDesignItem.element);
|
|
768
|
-
newContainerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainerElementDesignItem, containerStyle));
|
|
769
|
-
break;
|
|
770
|
-
}
|
|
771
|
-
else if (false) {
|
|
772
|
-
//check we don't try to move a item over one of its children..
|
|
773
|
-
}
|
|
774
|
-
else {
|
|
775
|
-
newContainerElementDesignItem = DesignItem.GetOrCreateDesignItem(e, this.serviceContainer, this.instanceServiceContainer);
|
|
776
|
-
const containerStyle = getComputedStyle(newContainerElementDesignItem.element);
|
|
777
|
-
newContainerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainerElementDesignItem, containerStyle));
|
|
778
|
-
if (newContainerService) {
|
|
779
|
-
if (newContainerService.canEnterByDrop(newContainerElementDesignItem)) {
|
|
780
|
-
break;
|
|
781
|
-
}
|
|
782
|
-
else {
|
|
783
|
-
newContainerElementDesignItem = null;
|
|
784
|
-
newContainerService = null;
|
|
785
|
-
continue;
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
|
-
return [newContainerElementDesignItem, newContainerService];
|
|
791
|
-
}
|
|
792
758
|
async _onDrop(event) {
|
|
793
759
|
this.serviceContainer.globalContext.tool = this.serviceContainer.designerTools.get(NamedTools.Pointer);
|
|
794
760
|
this._lastDdElement = null;
|
|
@@ -796,7 +762,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
796
762
|
this._canvas.classList.remove('dragFileActive');
|
|
797
763
|
this._fillCalculationrects();
|
|
798
764
|
if (event.dataTransfer.files?.length > 0) {
|
|
799
|
-
const ddService = this.serviceContainer.
|
|
765
|
+
const ddService = this.serviceContainer.externalDragDropService;
|
|
800
766
|
if (ddService) {
|
|
801
767
|
ddService.drop(this, event);
|
|
802
768
|
}
|
|
@@ -813,32 +779,11 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
813
779
|
}
|
|
814
780
|
}
|
|
815
781
|
else {
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
this.
|
|
782
|
+
const dragDropService = this.serviceContainer.dragDropService;
|
|
783
|
+
if (dragDropService) {
|
|
784
|
+
this._fillCalculationrects();
|
|
785
|
+
dragDropService.drop(this, event);
|
|
819
786
|
}
|
|
820
|
-
let [newContainer] = this._getPossibleContainerForDrop(event);
|
|
821
|
-
if (!newContainer)
|
|
822
|
-
newContainer = this.rootDesignItem;
|
|
823
|
-
this._fillCalculationrects();
|
|
824
|
-
//TODO : we need to use container service for adding to element, so also grid and flexbox work correct
|
|
825
|
-
const transferData = event.dataTransfer.getData(dragDropFormatNameElementDefinition);
|
|
826
|
-
const elementDefinition = JSON.parse(transferData);
|
|
827
|
-
const di = await this.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(elementDefinition, this.serviceContainer, this.instanceServiceContainer));
|
|
828
|
-
const grp = di.openGroup("Insert of <" + di.name + ">");
|
|
829
|
-
di.setStyle('position', 'absolute');
|
|
830
|
-
const containerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainer, getComputedStyle(newContainer.element)));
|
|
831
|
-
containerService.enterContainer(newContainer, [di]);
|
|
832
|
-
const containerPos = this.getNormalizedElementCoordinates(newContainer.element);
|
|
833
|
-
const evCoord = this.getNormalizedEventCoordinates(event);
|
|
834
|
-
const pos = { x: evCoord.x - containerPos.x, y: evCoord.y - containerPos.y };
|
|
835
|
-
containerService.place(event, this, newContainer, { x: 0, y: 0 }, { x: 0, y: 0 }, pos, [di]);
|
|
836
|
-
containerService.finishPlace(event, this, newContainer, { x: 0, y: 0 }, { x: 0, y: 0 }, pos, [di]);
|
|
837
|
-
this.instanceServiceContainer.undoService.execute(new InsertAction(newContainer, newContainer.childCount, di));
|
|
838
|
-
requestAnimationFrame(() => {
|
|
839
|
-
this.instanceServiceContainer.selectionService.setSelectedElements([di]);
|
|
840
|
-
grp.commit();
|
|
841
|
-
});
|
|
842
787
|
}
|
|
843
788
|
}
|
|
844
789
|
}
|
|
@@ -920,28 +865,24 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
920
865
|
case 'Backspace':
|
|
921
866
|
this.executeCommand({ type: CommandType.delete, ctrlKey: event.ctrlKey, altKey: event.altKey, shiftKey: event.shiftKey });
|
|
922
867
|
break;
|
|
923
|
-
case 'ArrowUp':
|
|
924
|
-
{
|
|
925
|
-
this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) - moveOffset + 'px'));
|
|
926
|
-
this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
|
|
927
|
-
}
|
|
928
|
-
break;
|
|
929
868
|
case 'ArrowDown':
|
|
930
|
-
|
|
931
|
-
this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) + moveOffset + 'px'));
|
|
932
|
-
this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
|
|
933
|
-
}
|
|
934
|
-
break;
|
|
869
|
+
case 'ArrowUp':
|
|
935
870
|
case 'ArrowLeft':
|
|
936
|
-
{
|
|
937
|
-
this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) - moveOffset + 'px'));
|
|
938
|
-
this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
|
|
939
|
-
}
|
|
940
|
-
break;
|
|
941
871
|
case 'ArrowRight':
|
|
942
872
|
{
|
|
943
|
-
|
|
944
|
-
|
|
873
|
+
let offset = { x: 0, y: 0 };
|
|
874
|
+
if (event.key == 'ArrowDown')
|
|
875
|
+
offset.y = moveOffset;
|
|
876
|
+
if (event.key == 'ArrowUp')
|
|
877
|
+
offset.y = -moveOffset;
|
|
878
|
+
if (event.key == 'ArrowRight')
|
|
879
|
+
offset.x = moveOffset;
|
|
880
|
+
if (event.key == 'ArrowLeft')
|
|
881
|
+
offset.x = -moveOffset;
|
|
882
|
+
this.instanceServiceContainer.selectionService.selectedElements.forEach(x => {
|
|
883
|
+
const containerStyle = getComputedStyle(x.parent.element);
|
|
884
|
+
x.serviceContainer.getLastServiceWhere('containerService', y => y.serviceForContainer(x.parent, containerStyle)).moveElements([x], offset, false);
|
|
885
|
+
});
|
|
945
886
|
}
|
|
946
887
|
break;
|
|
947
888
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
2
|
+
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
3
|
+
import { AbstractExtension } from './AbstractExtension.js';
|
|
4
|
+
import { IExtensionManager } from './IExtensionManger.js';
|
|
5
|
+
export declare class MultipleSelectionRectExtension extends AbstractExtension {
|
|
6
|
+
private _line1;
|
|
7
|
+
private _line2;
|
|
8
|
+
private _line3;
|
|
9
|
+
private _line4;
|
|
10
|
+
private _designerView;
|
|
11
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
12
|
+
extend(): void;
|
|
13
|
+
refresh(): void;
|
|
14
|
+
dispose(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { calculateOuterRect } from '../../../helper/ElementHelper.js';
|
|
2
|
+
import { filterChildPlaceItems } from '../../../helper/LayoutHelper.js';
|
|
3
|
+
import { AbstractExtension } from './AbstractExtension.js';
|
|
4
|
+
import { OverlayLayer } from './OverlayLayer.js';
|
|
5
|
+
export class MultipleSelectionRectExtension extends AbstractExtension {
|
|
6
|
+
_line1;
|
|
7
|
+
_line2;
|
|
8
|
+
_line3;
|
|
9
|
+
_line4;
|
|
10
|
+
_designerView;
|
|
11
|
+
constructor(extensionManager, designerView, extendedItem) {
|
|
12
|
+
super(extensionManager, designerView, extendedItem);
|
|
13
|
+
this._designerView = designerView;
|
|
14
|
+
}
|
|
15
|
+
extend() {
|
|
16
|
+
this.refresh();
|
|
17
|
+
}
|
|
18
|
+
refresh() {
|
|
19
|
+
let selection = this._designerView.instanceServiceContainer.selectionService.selectedElements;
|
|
20
|
+
selection = filterChildPlaceItems(selection);
|
|
21
|
+
let rect = calculateOuterRect(selection, this._designerView);
|
|
22
|
+
this._line1 = this._drawLine(rect.x, rect.y, rect.x + rect.width, rect.y, 'svg-multiple-rect-selection', this._line1, OverlayLayer.Background);
|
|
23
|
+
this._line2 = this._drawLine(rect.x + rect.width, rect.y, rect.x + rect.width, rect.y + rect.height, 'svg-multiple-rect-selection', this._line2, OverlayLayer.Background);
|
|
24
|
+
this._line3 = this._drawLine(rect.x + rect.width, rect.y + rect.height, rect.x, rect.y + rect.height, 'svg-multiple-rect-selection', this._line3, OverlayLayer.Background);
|
|
25
|
+
this._line4 = this._drawLine(rect.x, rect.y + rect.height, rect.x, rect.y, 'svg-multiple-rect-selection', this._line4, OverlayLayer.Background);
|
|
26
|
+
this._line1.style.strokeWidth = (2 / this.designerCanvas.zoomFactor).toString();
|
|
27
|
+
this._line2.style.strokeWidth = (2 / this.designerCanvas.zoomFactor).toString();
|
|
28
|
+
this._line3.style.strokeWidth = (2 / this.designerCanvas.zoomFactor).toString();
|
|
29
|
+
this._line4.style.strokeWidth = (2 / this.designerCanvas.zoomFactor).toString();
|
|
30
|
+
}
|
|
31
|
+
dispose() {
|
|
32
|
+
this._removeAllOverlays();
|
|
33
|
+
}
|
|
34
|
+
}
|
package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
|
|
2
|
+
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
3
|
+
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
4
|
+
import { IDesignerExtension } from './IDesignerExtension.js';
|
|
5
|
+
import { IExtensionManager } from './IExtensionManger.js';
|
|
6
|
+
export declare class MultipleSelectionRectExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
+
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
|
+
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
+
readonly style: CSSStyleSheet;
|
|
10
|
+
}
|
package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { css } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
import { MultipleSelectionRectExtension as MultipleSelectionRectExtension } from './MultipleSelectionRectExtension.js';
|
|
3
|
+
export class MultipleSelectionRectExtensionProvider {
|
|
4
|
+
shouldExtend(extensionManager, designerView, designItem) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
getExtension(extensionManager, designerView, designItem) {
|
|
8
|
+
return new MultipleSelectionRectExtension(extensionManager, designerView, designItem);
|
|
9
|
+
}
|
|
10
|
+
style = css `
|
|
11
|
+
.svg-multiple-rect-selection { stroke: #909090; stroke-dasharray: 3; fill: transparent; stroke-width: 2; /*pointer-events: all;*/ }
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
@@ -20,6 +20,8 @@ export declare class EllipsisExtension extends AbstractExtension {
|
|
|
20
20
|
private _circle2;
|
|
21
21
|
private _circle3;
|
|
22
22
|
private _circle4;
|
|
23
|
+
private _startScrollOffset;
|
|
24
|
+
private _deltaScrollOffset;
|
|
23
25
|
private _parentCoordinates;
|
|
24
26
|
private _offsetSvg;
|
|
25
27
|
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
@@ -17,6 +17,8 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
17
17
|
_circle2;
|
|
18
18
|
_circle3;
|
|
19
19
|
_circle4;
|
|
20
|
+
_startScrollOffset;
|
|
21
|
+
_deltaScrollOffset;
|
|
20
22
|
_parentCoordinates;
|
|
21
23
|
_offsetSvg = 10.0;
|
|
22
24
|
constructor(extensionManager, designerView, extendedItem) {
|
|
@@ -25,6 +27,7 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
25
27
|
extend() {
|
|
26
28
|
this._parentRect = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
27
29
|
this._ellipseElement = this.extendedItem.node;
|
|
30
|
+
this._startScrollOffset = this.designerCanvas.canvasOffset;
|
|
28
31
|
this._cx = this._ellipseElement.cx.baseVal.value;
|
|
29
32
|
this._cy = this._ellipseElement.cy.baseVal.value;
|
|
30
33
|
this._rx = this._ellipseElement.rx.baseVal.value;
|
|
@@ -47,6 +50,10 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
47
50
|
break;
|
|
48
51
|
case EventNames.PointerMove:
|
|
49
52
|
if (this._startPos && event.buttons > 0) {
|
|
53
|
+
this._deltaScrollOffset = {
|
|
54
|
+
x: this._startScrollOffset.x - this.designerCanvas.canvasOffset.x,
|
|
55
|
+
y: this._startScrollOffset.y - this.designerCanvas.canvasOffset.y
|
|
56
|
+
};
|
|
50
57
|
this._lastPos = { x: this._startPos.x, y: this._startPos.y };
|
|
51
58
|
const cx = cursorPos.x - this._lastPos.x + this._circlePos.x;
|
|
52
59
|
const cy = cursorPos.y - this._lastPos.y + this._circlePos.y;
|
|
@@ -88,8 +95,10 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
88
95
|
this._startPos = null;
|
|
89
96
|
this._circlePos = null;
|
|
90
97
|
this._originalPoint = null;
|
|
91
|
-
this.
|
|
92
|
-
|
|
98
|
+
if (this._newRx && this._newRy) {
|
|
99
|
+
this.extendedItem.setAttribute("rx", this._newRx.toString());
|
|
100
|
+
this.extendedItem.setAttribute("ry", this._newRy.toString());
|
|
101
|
+
}
|
|
93
102
|
if (getComputedStyle(this._ellipseElement.parentElement).position == "absolute") {
|
|
94
103
|
let group = this.extendedItem.openGroup('rearrangeSvg');
|
|
95
104
|
let newEllipseCoordinates = this.designerCanvas.getNormalizedElementCoordinates(this._ellipseElement);
|
|
@@ -111,7 +120,7 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
111
120
|
return circle;
|
|
112
121
|
}
|
|
113
122
|
_redrawPathCircle(x, y, oldCircle) {
|
|
114
|
-
let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y, 5 / this.designerCanvas.scaleFactor, 'svg-path', oldCircle);
|
|
123
|
+
let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x - this._deltaScrollOffset.x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y - this._deltaScrollOffset.y, 5 / this.designerCanvas.scaleFactor, 'svg-path', oldCircle);
|
|
115
124
|
circle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
|
|
116
125
|
return circle;
|
|
117
126
|
}
|
|
@@ -154,8 +163,8 @@ export class EllipsisExtension extends AbstractExtension {
|
|
|
154
163
|
let heightEllipseElement = newEllipseExtrema.yMax - newEllipseExtrema.yMin + (2 * this._offsetSvg);
|
|
155
164
|
this.extendedItem.parent.setStyle("left", parentLeft.toString() + "px");
|
|
156
165
|
this.extendedItem.parent.setStyle("top", parentTop.toString() + "px");
|
|
157
|
-
this.extendedItem.parent.setStyle("height", heightEllipseElement.toString() + "px");
|
|
158
|
-
this.extendedItem.parent.setStyle("width", widthEllipseElement.toString() + "px");
|
|
166
|
+
this.extendedItem.parent.setStyle("height", Math.round(heightEllipseElement).toString() + "px");
|
|
167
|
+
this.extendedItem.parent.setStyle("width", Math.round(widthEllipseElement).toString() + "px");
|
|
159
168
|
}
|
|
160
169
|
_rearrangePointsFromElement(oldParentCoords) {
|
|
161
170
|
let newParentCoords = this.designerCanvas.getNormalizedElementCoordinates(this._ellipseElement.parentElement);
|
|
@@ -125,8 +125,8 @@ export class LineExtension extends AbstractExtension {
|
|
|
125
125
|
let heightLineElement = newLineExtrema.yMax - newLineExtrema.yMin + (2 * this._offsetSvg);
|
|
126
126
|
this.extendedItem.parent.setStyle("left", parentLeft.toString() + "px");
|
|
127
127
|
this.extendedItem.parent.setStyle("top", parentTop.toString() + "px");
|
|
128
|
-
this.extendedItem.parent.setStyle("height", heightLineElement.toString() + "px");
|
|
129
|
-
this.extendedItem.parent.setStyle("width", widthLineElement.toString() + "px");
|
|
128
|
+
this.extendedItem.parent.setStyle("height", Math.round(heightLineElement).toString() + "px");
|
|
129
|
+
this.extendedItem.parent.setStyle("width", Math.round(widthLineElement).toString() + "px");
|
|
130
130
|
}
|
|
131
131
|
_rearrangePointsFromElement(oldParentCoords) {
|
|
132
132
|
let newParentCoords = this.designerCanvas.getNormalizedElementCoordinates(this._lineElement.parentElement);
|
|
@@ -16,6 +16,8 @@ export declare class PathExtension extends AbstractExtension {
|
|
|
16
16
|
private _offsetSvg;
|
|
17
17
|
private _pathElement;
|
|
18
18
|
private _parentCoordinates;
|
|
19
|
+
private _startScrollOffset;
|
|
20
|
+
private _deltaScrollOffset;
|
|
19
21
|
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
20
22
|
extend(): void;
|
|
21
23
|
pointerEvent(event: PointerEvent, circle: SVGCircleElement, p: PathData, index: number): void;
|
|
@@ -13,6 +13,8 @@ export class PathExtension extends AbstractExtension {
|
|
|
13
13
|
_offsetSvg = 10.0;
|
|
14
14
|
_pathElement;
|
|
15
15
|
_parentCoordinates;
|
|
16
|
+
_startScrollOffset;
|
|
17
|
+
_deltaScrollOffset;
|
|
16
18
|
constructor(extensionManager, designerView, extendedItem) {
|
|
17
19
|
super(extensionManager, designerView, extendedItem);
|
|
18
20
|
}
|
|
@@ -21,6 +23,9 @@ export class PathExtension extends AbstractExtension {
|
|
|
21
23
|
this._pathdata = this.extendedItem.node.getPathData({ normalize: false });
|
|
22
24
|
this._pathElement = this.extendedItem.node;
|
|
23
25
|
this._lastPos = { x: 0, y: 0 };
|
|
26
|
+
this._startScrollOffset = this.designerCanvas.canvasOffset;
|
|
27
|
+
if (!this._deltaScrollOffset)
|
|
28
|
+
this._deltaScrollOffset = { x: 0, y: 0 };
|
|
24
29
|
for (let p of this._pathdata) {
|
|
25
30
|
switch (p.type) {
|
|
26
31
|
case 'M':
|
|
@@ -119,6 +124,10 @@ export class PathExtension extends AbstractExtension {
|
|
|
119
124
|
break;
|
|
120
125
|
case EventNames.PointerMove:
|
|
121
126
|
if (this._startPos && event.buttons > 0) {
|
|
127
|
+
this._deltaScrollOffset = {
|
|
128
|
+
x: this._startScrollOffset.x - this.designerCanvas.canvasOffset.x,
|
|
129
|
+
y: this._startScrollOffset.y - this.designerCanvas.canvasOffset.y
|
|
130
|
+
};
|
|
122
131
|
this._lastPos = { x: this._startPos.x, y: this._startPos.y };
|
|
123
132
|
const cx = cursorPos.x - this._lastPos.x + this._circlePos.x;
|
|
124
133
|
const cy = cursorPos.y - this._lastPos.y + this._circlePos.y;
|
|
@@ -293,17 +302,17 @@ export class PathExtension extends AbstractExtension {
|
|
|
293
302
|
let newElementCoords = this.extendedItem.element.getBoundingClientRect();
|
|
294
303
|
let parentLeft = (newElementCoords.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor - this._offsetSvg;
|
|
295
304
|
let parentTop = (newElementCoords.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor - this._offsetSvg;
|
|
296
|
-
let heightSvgElement = newElementCoords.height + (2 * this._offsetSvg);
|
|
297
|
-
let widthSvgElement = newElementCoords.width + (2 * this._offsetSvg);
|
|
305
|
+
let heightSvgElement = newElementCoords.height / this.designerCanvas.scaleFactor + (2 * this._offsetSvg);
|
|
306
|
+
let widthSvgElement = newElementCoords.width / this.designerCanvas.scaleFactor + (2 * this._offsetSvg);
|
|
298
307
|
this.extendedItem.element.parentElement.style.setProperty("left", parentLeft.toString() + "px");
|
|
299
308
|
this.extendedItem.element.parentElement.style.setProperty("top", parentTop.toString() + "px");
|
|
300
|
-
this.extendedItem.element.parentElement.style.setProperty("height", heightSvgElement.toString() + "px");
|
|
301
|
-
this.extendedItem.element.parentElement.style.setProperty("width", widthSvgElement.toString() + "px");
|
|
309
|
+
this.extendedItem.element.parentElement.style.setProperty("height", Math.round(heightSvgElement).toString() + "px");
|
|
310
|
+
this.extendedItem.element.parentElement.style.setProperty("width", Math.round(widthSvgElement).toString() + "px");
|
|
302
311
|
}
|
|
303
312
|
_rearrangePointsFromElement(oldParentCoords, pathData) {
|
|
304
313
|
let newParentCoords = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
305
|
-
let diffX = oldParentCoords.x - newParentCoords.x;
|
|
306
|
-
let diffY = oldParentCoords.y - newParentCoords.y;
|
|
314
|
+
let diffX = (oldParentCoords.x - newParentCoords.x) / this.designerCanvas.scaleFactor - this._deltaScrollOffset.x;
|
|
315
|
+
let diffY = (oldParentCoords.y - newParentCoords.y) / this.designerCanvas.scaleFactor - this._deltaScrollOffset.y;
|
|
307
316
|
for (let i = 0; i < pathData.length; i++) {
|
|
308
317
|
pathData[i].values[0] = pathData[i].values[0] + diffX;
|
|
309
318
|
pathData[i].values[1] = pathData[i].values[1] + diffY;
|
|
@@ -18,9 +18,12 @@ export declare class RectExtension extends AbstractExtension {
|
|
|
18
18
|
private _circle2;
|
|
19
19
|
private _circle3;
|
|
20
20
|
private _circle4;
|
|
21
|
+
private _startScrollOffset;
|
|
22
|
+
private _deltaScrollOffset;
|
|
21
23
|
private _rect;
|
|
22
24
|
private _parentCoordinates;
|
|
23
25
|
private _offsetSvg;
|
|
26
|
+
private _circleMoved;
|
|
24
27
|
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
25
28
|
extend(): void;
|
|
26
29
|
pointerEvent(event: PointerEvent, circle: SVGCircleElement, r: SVGRectElement, index: number): void;
|
|
@@ -15,15 +15,19 @@ export class RectExtension extends AbstractExtension {
|
|
|
15
15
|
_circle2;
|
|
16
16
|
_circle3;
|
|
17
17
|
_circle4;
|
|
18
|
+
_startScrollOffset;
|
|
19
|
+
_deltaScrollOffset;
|
|
18
20
|
_rect = { x: 0, y: 0, w: 0, h: 0 };
|
|
19
21
|
_parentCoordinates;
|
|
20
22
|
_offsetSvg = 10.0;
|
|
23
|
+
_circleMoved;
|
|
21
24
|
constructor(extensionManager, designerView, extendedItem) {
|
|
22
25
|
super(extensionManager, designerView, extendedItem);
|
|
23
26
|
}
|
|
24
27
|
extend() {
|
|
25
28
|
this._parentRect = this.extendedItem.element.parentElement.getBoundingClientRect();
|
|
26
29
|
this._rectElement = this.extendedItem.node;
|
|
30
|
+
this._startScrollOffset = this.designerCanvas.canvasOffset;
|
|
27
31
|
this._x = this._rectElement.x.baseVal.value;
|
|
28
32
|
this._y = this._rectElement.y.baseVal.value;
|
|
29
33
|
this._w = this._rectElement.width.baseVal.value;
|
|
@@ -46,11 +50,17 @@ export class RectExtension extends AbstractExtension {
|
|
|
46
50
|
break;
|
|
47
51
|
case EventNames.PointerMove:
|
|
48
52
|
if (this._startPos && event.buttons > 0) {
|
|
53
|
+
this._deltaScrollOffset = {
|
|
54
|
+
x: this._startScrollOffset.x - this.designerCanvas.canvasOffset.x,
|
|
55
|
+
y: this._startScrollOffset.y - this.designerCanvas.canvasOffset.y
|
|
56
|
+
};
|
|
49
57
|
this._lastPos = { x: this._startPos.x, y: this._startPos.y };
|
|
50
58
|
const cx = cursorPos.x - this._lastPos.x + this._circlePos.x;
|
|
51
59
|
const cy = cursorPos.y - this._lastPos.y + this._circlePos.y;
|
|
52
60
|
let dx = cx - this._circlePos.x;
|
|
53
61
|
let dy = cy - this._circlePos.y;
|
|
62
|
+
if (dx != 0 || dy != 0)
|
|
63
|
+
this._circleMoved = true;
|
|
54
64
|
if (event.shiftKey) {
|
|
55
65
|
if (Math.abs(dx) < Math.abs(dy)) {
|
|
56
66
|
dx = 0;
|
|
@@ -91,10 +101,12 @@ export class RectExtension extends AbstractExtension {
|
|
|
91
101
|
this._startPos = null;
|
|
92
102
|
this._circlePos = null;
|
|
93
103
|
this._originalPoint = null;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
104
|
+
if (this._circleMoved) {
|
|
105
|
+
this.extendedItem.setAttribute("x", this._rect.x.toString());
|
|
106
|
+
this.extendedItem.setAttribute("y", this._rect.y.toString());
|
|
107
|
+
this.extendedItem.setAttribute("width", this._rect.w.toString());
|
|
108
|
+
this.extendedItem.setAttribute("height", this._rect.h.toString());
|
|
109
|
+
}
|
|
98
110
|
if (getComputedStyle(this._rectElement.parentElement).position == "absolute") {
|
|
99
111
|
let group = this.extendedItem.openGroup('rearrangeSvg');
|
|
100
112
|
let newRectCoordinates = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement);
|
|
@@ -116,7 +128,7 @@ export class RectExtension extends AbstractExtension {
|
|
|
116
128
|
return circle;
|
|
117
129
|
}
|
|
118
130
|
_redrawPathCircle(x, y, oldCircle) {
|
|
119
|
-
let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y, 5 / this.designerCanvas.scaleFactor, 'svg-path', oldCircle);
|
|
131
|
+
let circle = this._drawCircle((this._parentRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor + x - this._deltaScrollOffset.x, (this._parentRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor + y - this._deltaScrollOffset.y, 5 / this.designerCanvas.scaleFactor, 'svg-path', oldCircle);
|
|
120
132
|
circle.style.strokeWidth = (1 / this.designerCanvas.zoomFactor).toString();
|
|
121
133
|
return circle;
|
|
122
134
|
}
|
|
@@ -179,8 +191,8 @@ export class RectExtension extends AbstractExtension {
|
|
|
179
191
|
let heightRectElement = newRectExtrema.yMax - newRectExtrema.yMin + (2 * this._offsetSvg);
|
|
180
192
|
this.extendedItem.parent.setStyle("left", parentLeft.toString() + "px");
|
|
181
193
|
this.extendedItem.parent.setStyle("top", parentTop.toString() + "px");
|
|
182
|
-
this.extendedItem.parent.setStyle("height", heightRectElement.toString() + "px");
|
|
183
|
-
this.extendedItem.parent.setStyle("width", widthRectElement.toString() + "px");
|
|
194
|
+
this.extendedItem.parent.setStyle("height", Math.round(heightRectElement).toString() + "px");
|
|
195
|
+
this.extendedItem.parent.setStyle("width", Math.round(widthRectElement).toString() + "px");
|
|
184
196
|
}
|
|
185
197
|
_rearrangePointsFromElement(oldParentCoords) {
|
|
186
198
|
let newParentCoords = this.designerCanvas.getNormalizedElementCoordinates(this._rectElement.parentElement);
|
|
@@ -80,8 +80,8 @@ export class DrawEllipsisTool {
|
|
|
80
80
|
svg.style.left = (mvX) + 'px';
|
|
81
81
|
svg.style.top = (mvY) + 'px';
|
|
82
82
|
svg.style.position = 'absolute';
|
|
83
|
-
svg.style.width = (coords.width + 2 * offset) + 'px';
|
|
84
|
-
svg.style.height = (coords.height + 2 * offset) + 'px';
|
|
83
|
+
svg.style.width = Math.round(coords.width + 2 * offset) + 'px';
|
|
84
|
+
svg.style.height = Math.round(coords.height + 2 * offset) + 'px';
|
|
85
85
|
svg.style.overflow = 'visible';
|
|
86
86
|
this._path = null;
|
|
87
87
|
const di = DesignItem.createDesignItemFromInstance(svg, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
@@ -65,8 +65,8 @@ export class DrawLineTool {
|
|
|
65
65
|
svg.style.left = (mvX) + 'px';
|
|
66
66
|
svg.style.top = (mvY) + 'px';
|
|
67
67
|
svg.style.position = 'absolute';
|
|
68
|
-
svg.style.width = (coords.width + 2 * offset) + 'px';
|
|
69
|
-
svg.style.height = (coords.height + 2 * offset) + 'px';
|
|
68
|
+
svg.style.width = Math.round(coords.width + 2 * offset) + 'px';
|
|
69
|
+
svg.style.height = Math.round(coords.height + 2 * offset) + 'px';
|
|
70
70
|
svg.style.overflow = 'visible';
|
|
71
71
|
this._path = null;
|
|
72
72
|
const di = DesignItem.createDesignItemFromInstance(svg, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
@@ -107,8 +107,8 @@ export class DrawPathTool {
|
|
|
107
107
|
svg.style.left = (mvX) + 'px';
|
|
108
108
|
svg.style.top = (mvY) + 'px';
|
|
109
109
|
svg.style.position = 'absolute';
|
|
110
|
-
svg.style.width = (coords.width + 2 * offset) + 'px';
|
|
111
|
-
svg.style.height = (coords.height + 2 * offset) + 'px';
|
|
110
|
+
svg.style.width = Math.round(coords.width + 2 * offset) + 'px';
|
|
111
|
+
svg.style.height = Math.round(coords.height + 2 * offset) + 'px';
|
|
112
112
|
svg.style.overflow = 'visible';
|
|
113
113
|
//designerView.rootDesignItem.element.appendChild(svg);
|
|
114
114
|
this._path = null;
|
|
@@ -95,8 +95,8 @@ export class DrawRectTool {
|
|
|
95
95
|
svg.style.left = (mvX) + 'px';
|
|
96
96
|
svg.style.top = (mvY) + 'px';
|
|
97
97
|
svg.style.position = 'absolute';
|
|
98
|
-
svg.style.width = (coords.width + 2 * offset) + 'px';
|
|
99
|
-
svg.style.height = (coords.height + 2 * offset) + 'px';
|
|
98
|
+
svg.style.width = Math.round(coords.width + 2 * offset) + 'px';
|
|
99
|
+
svg.style.height = Math.round(coords.height + 2 * offset) + 'px';
|
|
100
100
|
svg.style.overflow = 'visible';
|
|
101
101
|
this._path = null;
|
|
102
102
|
const di = DesignItem.createDesignItemFromInstance(svg, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
@@ -47,6 +47,8 @@ export class MagicWandSelectorTool {
|
|
|
47
47
|
const p4 = this._path.isPointInFill(point) || this._path.isPointInStroke(point);
|
|
48
48
|
if (p1 && p2 && p3 && p4) {
|
|
49
49
|
const desItem = DesignItem.GetOrCreateDesignItem(e, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
50
|
+
if (designerCanvas.instanceServiceContainer.selectionService.selectedElements)
|
|
51
|
+
inSelectionElements.push(...designerCanvas.instanceServiceContainer.selectionService.selectedElements);
|
|
50
52
|
inSelectionElements.push(desItem);
|
|
51
53
|
}
|
|
52
54
|
}
|
|
@@ -110,7 +110,8 @@ export class PointerTool {
|
|
|
110
110
|
this._actionType = PointerActionType.Drag;
|
|
111
111
|
}
|
|
112
112
|
else if (currentElement === designerCanvas || currentElement === designerCanvas.rootDesignItem.element || currentElement == null) {
|
|
113
|
-
|
|
113
|
+
if (!event.shiftKey)
|
|
114
|
+
designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(null);
|
|
114
115
|
this._actionType = PointerActionType.DrawSelection;
|
|
115
116
|
}
|
|
116
117
|
else {
|
|
@@ -51,7 +51,7 @@ export class RectangleSelectorTool {
|
|
|
51
51
|
event.target.releasePointerCapture(event.pointerId);
|
|
52
52
|
designerCanvas.releaseActiveTool();
|
|
53
53
|
const elements = designerCanvas.rootDesignItem.element.querySelectorAll('*');
|
|
54
|
-
|
|
54
|
+
let inSelectionElements = [];
|
|
55
55
|
let point = designerCanvas.overlayLayer.createPoint();
|
|
56
56
|
for (let e of elements) {
|
|
57
57
|
let elementRect = designerCanvas.getNormalizedElementCoordinates(e);
|
|
@@ -69,6 +69,8 @@ export class RectangleSelectorTool {
|
|
|
69
69
|
const p4 = p3 && this._rect.isPointInFill(point);
|
|
70
70
|
if (p4) {
|
|
71
71
|
const desItem = DesignItem.GetOrCreateDesignItem(e, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
72
|
+
if (designerCanvas.instanceServiceContainer.selectionService.selectedElements)
|
|
73
|
+
inSelectionElements.push(...designerCanvas.instanceServiceContainer.selectionService.selectedElements);
|
|
72
74
|
inSelectionElements.push(desItem);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -8,7 +8,7 @@ export declare class DesignerToolbar extends BaseCustomWebComponentConstructorAp
|
|
|
8
8
|
private _toolButtonsElem;
|
|
9
9
|
private _serviceContainer;
|
|
10
10
|
private _popupContainer;
|
|
11
|
-
|
|
11
|
+
designerView: DesignerView;
|
|
12
12
|
constructor();
|
|
13
13
|
initialize(serviceContainer: ServiceContainer, designerView: DesignerView): void;
|
|
14
14
|
showPopup(designerToolbarButton: DesignerToolbarButton): void;
|