@node-projects/web-component-designer 0.0.94 → 0.0.97

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.
Files changed (122) hide show
  1. package/assets/images/layout/ColorPickerTool.svg +21 -0
  2. package/assets/images/layout/DrawEllipTool.svg +13 -0
  3. package/assets/images/layout/DrawLineTool.svg +13 -0
  4. package/assets/images/layout/DrawPathTool.svg +32 -0
  5. package/assets/images/layout/DrawRectTool.svg +28 -0
  6. package/assets/images/layout/MagicWandTool.svg +14 -0
  7. package/assets/images/layout/PointerTool.svg +10 -0
  8. package/assets/images/layout/SelectRectTool.svg +9 -0
  9. package/assets/images/layout/TextBoxTool.svg +8 -0
  10. package/assets/images/layout/TextTool.svg +7 -0
  11. package/assets/images/layout/ZoomTool.svg +16 -0
  12. package/dist/Constants.d.ts +1 -1
  13. package/dist/Constants.js +3 -1
  14. package/dist/elements/services/DefaultServiceBootstrap.js +10 -0
  15. package/dist/elements/services/GlobalContext.d.ts +4 -1
  16. package/dist/elements/services/GlobalContext.js +8 -3
  17. package/dist/elements/services/ServiceContainer.d.ts +2 -0
  18. package/dist/elements/services/ServiceContainer.js +1 -0
  19. package/dist/elements/widgets/designerView/Snaplines.js +1 -1
  20. package/dist/elements/widgets/designerView/designerCanvas.js +3 -1
  21. package/dist/elements/widgets/designerView/designerView.d.ts +2 -0
  22. package/dist/elements/widgets/designerView/designerView.js +19 -2
  23. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +8 -0
  24. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +12 -0
  25. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.d.ts +19 -0
  26. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.js +79 -0
  27. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.d.ts +16 -0
  28. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.js +94 -0
  29. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.d.ts +14 -0
  30. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.js +79 -0
  31. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.d.ts +20 -0
  32. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.js +128 -0
  33. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.d.ts +19 -0
  34. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.js +109 -0
  35. package/dist/elements/widgets/designerView/toolBar/ITool.d.ts +9 -0
  36. package/dist/elements/widgets/designerView/toolBar/ITool.js +1 -0
  37. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.d.ts +12 -0
  38. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.js +64 -0
  39. package/dist/elements/widgets/designerView/toolBar/NamedTools.d.ts +15 -0
  40. package/dist/elements/widgets/designerView/toolBar/NamedTools.js +16 -0
  41. package/dist/elements/widgets/designerView/toolBar/PanTool.d.ts +10 -0
  42. package/dist/elements/widgets/designerView/toolBar/PanTool.js +26 -0
  43. package/dist/elements/widgets/designerView/toolBar/PickColorTool.d.ts +10 -0
  44. package/dist/elements/widgets/designerView/toolBar/PickColorTool.js +20 -0
  45. package/dist/elements/widgets/designerView/toolBar/PointerTool.d.ts +24 -0
  46. package/dist/elements/widgets/designerView/toolBar/PointerTool.js +283 -0
  47. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.d.ts +12 -0
  48. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.js +84 -0
  49. package/dist/elements/widgets/designerView/toolBar/TextTool.d.ts +11 -0
  50. package/dist/elements/widgets/designerView/toolBar/TextTool.js +33 -0
  51. package/dist/elements/widgets/designerView/toolBar/ZoomTool.d.ts +17 -0
  52. package/dist/elements/widgets/designerView/toolBar/ZoomTool.js +79 -0
  53. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.d.ts +5 -0
  54. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.js +19 -0
  55. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.d.ts +8 -0
  56. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.js +41 -0
  57. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +9 -0
  58. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.js +42 -0
  59. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.d.ts +36 -0
  60. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.js +96 -0
  61. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.d.ts +5 -0
  62. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.js +21 -0
  63. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.d.ts +8 -0
  64. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.js +23 -0
  65. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.d.ts +24 -0
  66. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.js +115 -0
  67. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +2 -1
  68. package/dist/elements/widgets/designerView/tools/NamedTools.js +1 -0
  69. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.d.ts +5 -0
  70. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.js +19 -0
  71. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.d.ts +8 -0
  72. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.js +41 -0
  73. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +9 -0
  74. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.js +42 -0
  75. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.d.ts +36 -0
  76. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.js +87 -0
  77. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.d.ts +8 -0
  78. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.js +25 -0
  79. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.d.ts +5 -0
  80. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.js +21 -0
  81. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.d.ts +8 -0
  82. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.js +23 -0
  83. package/dist/elements/widgets/designerView/tools/designerToolsDock.d.ts +24 -0
  84. package/dist/elements/widgets/designerView/tools/designerToolsDock.js +115 -0
  85. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.d.ts +5 -0
  86. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.js +5 -0
  87. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +16 -0
  88. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +68 -0
  89. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.d.ts +19 -0
  90. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +62 -0
  91. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.d.ts +5 -0
  92. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.js +1 -0
  93. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.d.ts +4 -0
  94. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.js +1 -0
  95. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.d.ts +5 -0
  96. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js +16 -0
  97. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.d.ts +5 -0
  98. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.js +7 -0
  99. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.d.ts +5 -0
  100. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js +7 -0
  101. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.d.ts +5 -0
  102. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.js +10 -0
  103. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.d.ts +5 -0
  104. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js +10 -0
  105. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.d.ts +7 -0
  106. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js +11 -0
  107. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.d.ts +5 -0
  108. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js +7 -0
  109. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.d.ts +5 -0
  110. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js +7 -0
  111. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.d.ts +24 -0
  112. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.js +115 -0
  113. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.d.ts +6 -0
  114. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js +50 -0
  115. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.d.ts +7 -0
  116. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.js +23 -0
  117. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.d.ts +8 -0
  118. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.js +41 -0
  119. package/dist/elements/widgets/treeView/treeViewExtended.js +6 -4
  120. package/dist/index.d.ts +2 -0
  121. package/dist/index.js +2 -0
  122. package/package.json +42 -42
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g transform="matrix(0.922934,0.922934,-0.922934,0.922934,51.9626,-38.7184)">
5
+ <g transform="matrix(0.785714,0,0,1.39286,10.0714,-33.4286)">
6
+ <path d="M61,31.897C61,27.539 54.727,24 47,24C39.273,24 33,27.539 33,31.897L33,44.103C33,48.461 39.273,52 47,52C54.727,52 61,48.461 61,44.103L61,31.897Z"/>
7
+ </g>
8
+ <g transform="matrix(0.928571,0,0,0.587978,2.42857,-3.92236)">
9
+ <path d="M69,58.75C69,56.128 67.652,54 65.992,54L30.008,54C28.348,54 27,56.128 27,58.75L27,68.25C27,70.872 28.348,73 30.008,73L65.992,73C67.652,73 69,70.872 69,68.25L69,58.75Z"/>
10
+ </g>
11
+ <g transform="matrix(1,0,0,1,-1,-24)">
12
+ <rect x="37" y="68" width="22" height="20"/>
13
+ </g>
14
+ <g transform="matrix(-1.04762,-1.63286e-16,8.74748e-17,-0.909091,99.9048,145.818)">
15
+ <path d="M61,90L40,90L45.25,68L55.75,68L61,90Z"/>
16
+ </g>
17
+ <g transform="matrix(-0.52381,-8.16431e-17,6.99798e-17,-0.727273,73.4524,149.455)">
18
+ <path d="M61,90L40,90L45.25,68L55.75,68L61,90Z"/>
19
+ </g>
20
+ </g>
21
+ </svg>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:2;">
4
+ <path d="M24.465,11.742C31.772,6.852 40.556,4 50,4C75.388,4 96,24.612 96,50C96,59.444 93.148,68.228 88.258,75.535C89.949,77.171 91,79.464 91,82C91,86.967 86.967,91 82,91C79.464,91 77.171,89.949 75.535,88.258C68.228,93.148 59.444,96 50,96C24.612,96 4,75.388 4,50C4,40.556 6.852,31.772 11.742,24.465C10.051,22.829 9,20.536 9,18C9,13.033 13.033,9 18,9C20.536,9 22.829,10.051 24.465,11.742Z" style="fill:none;stroke:black;stroke-width:8px;"/>
5
+ <g>
6
+ <g transform="matrix(0.9,0,0,0.9,-27.9,-30.6)">
7
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
8
+ </g>
9
+ <g transform="matrix(0.9,0,0,0.9,36.1,33.4)">
10
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
11
+ </g>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:1;">
4
+ <g transform="matrix(0.983878,-0.0163912,-0.0163912,0.983336,1.61749,1.64445)">
5
+ <path d="M20,19L80,80" style="fill:none;stroke:black;stroke-width:8.27px;"/>
6
+ </g>
7
+ <g transform="matrix(0.9,0,0,0.9,-32.9,-35.6)">
8
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;stroke-miterlimit:2;"/>
9
+ </g>
10
+ <g transform="matrix(0.9,0,0,0.9,41.1,38.4)">
11
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;stroke-miterlimit:2;"/>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:2;">
4
+ <g transform="matrix(0.9,0,0,0.9,-32.9,-35.6)">
5
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
6
+ </g>
7
+ <g transform="matrix(0.9,0,0,0.9,3.6,1.4)">
8
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
9
+ </g>
10
+ <g transform="matrix(0.9,0,0,0.9,41.1,-35.6)">
11
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
12
+ </g>
13
+ <g transform="matrix(0.9,0,0,0.9,-32.9,38.4)">
14
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
15
+ </g>
16
+ <g transform="matrix(0.9,0,0,0.9,41.1,38.4)">
17
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
18
+ </g>
19
+ <g transform="matrix(1,0,0,0.933333,1.5,3.33333)">
20
+ <path d="M11.5,20L11.5,80" style="fill:none;stroke:black;stroke-width:8.27px;"/>
21
+ </g>
22
+ <g transform="matrix(0.916667,0,0,1,3.66667,1.5)">
23
+ <path d="M20,11.5L80,11.5" style="fill:none;stroke:black;stroke-width:8.34px;"/>
24
+ </g>
25
+ <path d="M80,20L58.5,41.5" style="fill:none;stroke:black;stroke-width:8px;"/>
26
+ <g transform="matrix(1,0,0,-1,0,100)">
27
+ <path d="M80,20L58.5,41.5" style="fill:none;stroke:black;stroke-width:8px;"/>
28
+ </g>
29
+ <g transform="matrix(0.9,0,0,1,4.5,-1.5)">
30
+ <path d="M80,88.5L20,88.5" style="fill:none;stroke:black;stroke-width:8.41px;"/>
31
+ </g>
32
+ </svg>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:2;">
4
+ <g transform="matrix(0.9,0,0,0.9,-32.9,-35.6)">
5
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
6
+ </g>
7
+ <g transform="matrix(0.9,0,0,0.9,41.1,-35.6)">
8
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
9
+ </g>
10
+ <g transform="matrix(0.9,0,0,0.9,-32.9,38.4)">
11
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
12
+ </g>
13
+ <g transform="matrix(0.9,0,0,0.9,41.1,38.4)">
14
+ <circle cx="51" cy="54" r="10" style="fill:none;stroke:black;stroke-width:8.89px;"/>
15
+ </g>
16
+ <g transform="matrix(1,0,0,0.933333,1.5,3.33333)">
17
+ <path d="M11.5,20L11.5,80" style="fill:none;stroke:black;stroke-width:8.27px;"/>
18
+ </g>
19
+ <g transform="matrix(0.933333,0,0,1,3.33333,1)">
20
+ <path d="M20,11.5L80,11.5" style="fill:none;stroke:black;stroke-width:8.27px;"/>
21
+ </g>
22
+ <g transform="matrix(1,0,0,0.9,-1.5,4)">
23
+ <path d="M88.5,20L88.5,80" style="fill:none;stroke:black;stroke-width:8.41px;"/>
24
+ </g>
25
+ <g transform="matrix(0.9,0,0,1,5,-1.5)">
26
+ <path d="M80,88.5L20,88.5" style="fill:none;stroke:black;stroke-width:8.41px;"/>
27
+ </g>
28
+ </svg>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <path d="M98.316,17.954C100.561,15.709 100.561,12.064 98.316,9.819L90.181,1.684C87.936,-0.561 84.291,-0.561 82.046,1.684L1.684,82.046C-0.561,84.291 -0.561,87.936 1.684,90.181L9.819,98.316C12.064,100.561 15.709,100.561 17.954,98.316L98.316,17.954ZM85.529,6.961L68.285,24.205L75.795,31.715L93.039,14.471L85.529,6.961Z"/>
5
+ <g transform="matrix(1,0,0,1,-10,7.61803)">
6
+ <path d="M30,9L33.811,15.755L41.413,17.292L36.166,23.004L37.053,30.708L30,27.484L22.947,30.708L23.834,23.004L18.587,17.292L26.189,15.755L30,9Z"/>
7
+ </g>
8
+ <g transform="matrix(0.725528,0,0,0.725528,25.9405,-3.51006)">
9
+ <path d="M30,9L33.811,15.755L41.413,17.292L36.166,23.004L37.053,30.708L30,27.484L22.947,30.708L23.834,23.004L18.587,17.292L26.189,15.755L30,9Z"/>
10
+ </g>
11
+ <g transform="matrix(1.16667,0,0,1.16667,36.8254,49.5)">
12
+ <path d="M30,9L33.811,15.755L41.413,17.292L36.166,23.004L37.053,30.708L30,27.484L22.947,30.708L23.834,23.004L18.587,17.292L26.189,15.755L30,9Z"/>
13
+ </g>
14
+ </svg>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g transform="matrix(-1,0,0,1,100.188,0)">
5
+ <g transform="matrix(1.45711,1.45711,-1.42796,1.42796,66.0203,-102.988)">
6
+ <rect x="44" y="66" width="6" height="25"/>
7
+ </g>
8
+ <path d="M0.188,45.899L100,-0L54.101,99.812L0.188,45.899L54.101,99.812L40.259,59.741L0.188,45.899Z"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:square;stroke-miterlimit:2;">
2
+
3
+ <g>
4
+ <title>Layer 1</title>
5
+ <rect x="60.796" y="59.225" width="380" height="380" stroke-dasharray="80" style="stroke-linecap: round; stroke-miterlimit: 6; stroke-linejoin: round; fill: none; stroke: rgb(0, 0, 0); stroke-width: 50px;"></rect>
6
+ <ellipse style="stroke: rgb(0, 0, 0); fill: rgb(255, 255, 255); stroke-width: 50px;" cx="61.059" cy="58.963" rx="45" ry="45"></ellipse>
7
+ <ellipse style="stroke: rgb(0, 0, 0); fill: rgb(255, 255, 255); stroke-width: 50px;" cx="441.823" cy="440.776" rx="45" ry="45"></ellipse>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
4
+ <g transform="matrix(1.30609,0,0,1.16182,-13.4108,-11.5193)">
5
+ <text x="15px" y="89px" style="font-family:'TimesNewRomanPSMT', 'Times New Roman', serif;font-size:108.892px;">T</text>
6
+ </g>
7
+ <rect x="0" y="0" width="100" height="100" style="fill:none;stroke:black;stroke-width:8px;"/>
8
+ </svg>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g transform="matrix(1.30609,0,0,1.356,-20.7025,-20.6838)">
5
+ <text x="15px" y="89px" style="font-family:'TimesNewRomanPSMT', 'Times New Roman', serif;font-size:108.892px;">A</text>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
4
+ <g transform="matrix(2.625,0,0,2.625,-38,-90.5)">
5
+ <circle cx="28" cy="48" r="12" style="fill:none;stroke:black;stroke-width:3.05px;"/>
6
+ </g>
7
+ <g transform="matrix(0.69,-0.31,-0.31,0.69,58,58)">
8
+ <path d="M100,100L0,0" style="fill:none;stroke:black;stroke-width:21.05px;"/>
9
+ </g>
10
+ <g transform="matrix(1,0,0,0.763158,0,7.26316)">
11
+ <path d="M35.5,18L35.5,56" style="fill:none;stroke:black;stroke-width:8.99px;"/>
12
+ </g>
13
+ <g transform="matrix(6.12323e-17,1,-0.763158,4.67299e-17,63.7368,4.4474e-16)">
14
+ <path d="M35.5,18L35.5,56" style="fill:none;stroke:black;stroke-width:8.99px;"/>
15
+ </g>
16
+ </svg>
@@ -1,3 +1,3 @@
1
1
  export declare const dragDropFormatNameElementDefinition = "text/json/elementdefintion";
2
2
  export declare const dragDropFormatNameBindingObject = "text/json/bindingobject";
3
- export declare const assetsPath = "./node_modules/@node-projects/web-component-designer/assets/";
3
+ export declare var assetsPath: string;
package/dist/Constants.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export const dragDropFormatNameElementDefinition = 'text/json/elementdefintion';
2
2
  export const dragDropFormatNameBindingObject = 'text/json/bindingobject';
3
- export const assetsPath = './node_modules/@node-projects/web-component-designer/assets/';
3
+ //export const assetsPath = './node_modules/@node-projects/web-component-designer/assets/';
4
+ let imporUrl = new URL((import.meta.url));
5
+ export var assetsPath = imporUrl.origin + imporUrl.pathname.split('/').slice(0, -1).join('/') + '/../assets/';
@@ -56,6 +56,13 @@ import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/
56
56
  import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
57
57
  import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
58
58
  import { RotateLeftAndRight } from '../widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js';
59
+ import { SelectAllChildrenContextMenu } from '../widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu';
60
+ import { PointerToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js';
61
+ import { SeperatorToolProvider } from '../widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js';
62
+ import { ZoomToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js';
63
+ import { DrawToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js';
64
+ import { TextToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js';
65
+ import { SelectorToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js';
59
66
  export function createDefaultServiceContainer() {
60
67
  let serviceContainer = new ServiceContainer();
61
68
  serviceContainer.register("propertyService", new PolymerPropertiesService());
@@ -125,6 +132,7 @@ export function createDefaultServiceContainer() {
125
132
  //new CursorLinePointerExtensionProvider()
126
133
  );
127
134
  serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons());
135
+ serviceContainer.designViewToolbarButtons.push(new PointerToolButtonProvider(), new SeperatorToolProvider(22), new SelectorToolButtonProvider(), new SeperatorToolProvider(22), new ZoomToolButtonProvider(), new SeperatorToolProvider(22), new DrawToolButtonProvider(), new SeperatorToolProvider(5), new TextToolButtonProvider());
128
136
  serviceContainer.designerContextMenuExtensions = [
129
137
  new CopyPasteContextMenu(),
130
138
  new SeperatorContextMenu(),
@@ -137,6 +145,8 @@ export function createDefaultServiceContainer() {
137
145
  new PathContextMenu(),
138
146
  new RectContextMenu(),
139
147
  new SeperatorContextMenu(),
148
+ new SelectAllChildrenContextMenu(),
149
+ new SeperatorContextMenu(),
140
150
  new ItemsBelowContextMenu(),
141
151
  ];
142
152
  return serviceContainer;
@@ -10,7 +10,10 @@ export declare class GlobalContext {
10
10
  constructor(serviceContainer: ServiceContainer);
11
11
  set tool(tool: ITool);
12
12
  get tool(): ITool;
13
- readonly onToolChanged: TypedEvent<PropertyChangedArgs<ITool>>;
13
+ readonly onToolChanged: TypedEvent<PropertyChangedArgs<{
14
+ name: string;
15
+ tool: ITool;
16
+ }>>;
14
17
  finishedWithTool: (tool: ITool) => void;
15
18
  set strokeColor(strokeColor: string);
16
19
  get strokeColor(): string;
@@ -1,4 +1,3 @@
1
- //TODO: global conext not yet used.
2
1
  //Service container should not be something with changeing information, so global context is for tool and color (and maybe more)
3
2
  import { PropertyChangedArgs, TypedEvent } from "@node-projects/base-custom-webcomponent";
4
3
  export class GlobalContext {
@@ -13,10 +12,16 @@ export class GlobalContext {
13
12
  set tool(tool) {
14
13
  if (this._tool !== tool) {
15
14
  const oldTool = this._tool;
16
- if (oldTool)
15
+ if (oldTool) {
17
16
  oldTool.dispose();
17
+ }
18
18
  this._tool = tool;
19
- this.onToolChanged.emit(new PropertyChangedArgs(tool, oldTool));
19
+ let toolName = null;
20
+ for (let t of this._serviceContainer.designerTools) {
21
+ if (t[1] == tool)
22
+ toolName = t[0];
23
+ }
24
+ this.onToolChanged.emit(new PropertyChangedArgs({ name: toolName, tool: tool }, { name: null, tool: oldTool }));
20
25
  if (this._tool)
21
26
  this._tool.activated(this._serviceContainer);
22
27
  }
@@ -26,6 +26,7 @@ import { IDesignViewConfigButtonsProvider } from "../widgets/designerView/IDesig
26
26
  import { IDemoProviderService } from "./demoProviderService/IDemoProviderService.js";
27
27
  import { IBindableObjectsService } from "./bindableObjectsService/IBindableObjectsService.js";
28
28
  import { IBindableObjectDragDropService } from "./bindableObjectsService/IBindableObjectDragDropService.js";
29
+ import { IDesignViewToolbarButtonProvider } from "../widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.js";
29
30
  interface ServiceNameMap {
30
31
  "propertyService": IPropertiesService;
31
32
  "containerService": IPlacementService;
@@ -53,6 +54,7 @@ export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMa
53
54
  readonly designerExtensions: Map<(ExtensionType | string), IDesignerExtensionProvider[]>;
54
55
  removeDesignerExtensionOfType(container: (ExtensionType | string), lambda: new (...args: any[]) => IDesignerExtensionProvider): void;
55
56
  readonly designViewConfigButtons: IDesignViewConfigButtonsProvider[];
57
+ readonly designViewToolbarButtons: IDesignViewToolbarButtonProvider[];
56
58
  readonly designerPointerExtensions: IDesignerPointerExtensionProvider[];
57
59
  designerContextMenuExtensions: IContextMenuExtension[];
58
60
  readonly globalContext: GlobalContext;
@@ -17,6 +17,7 @@ export class ServiceContainer extends BaseServiceContainer {
17
17
  }
18
18
  }
19
19
  designViewConfigButtons = [];
20
+ designViewToolbarButtons = [];
20
21
  designerPointerExtensions = [];
21
22
  designerContextMenuExtensions;
22
23
  globalContext = new GlobalContext(this);
@@ -1,7 +1,7 @@
1
1
  import { OverlayLayer } from "./extensions/OverlayLayer.js";
2
2
  const overlayLayer = OverlayLayer.Normal;
3
3
  export class Snaplines {
4
- snapOffset = 15;
4
+ snapOffset = 5;
5
5
  _overlayLayerView;
6
6
  _containerItem;
7
7
  _positionsH = [];
@@ -345,7 +345,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
345
345
  this.extensionManager = new ExtensionManager(this);
346
346
  this.overlayLayer = new OverlayLayerView(serviceContainer);
347
347
  this.overlayLayer.style.pointerEvents = 'none';
348
- this._canvasContainer.appendChild(this.overlayLayer);
348
+ this.clickOverlay.appendChild(this.overlayLayer);
349
349
  this.snapLines = new Snaplines(this.overlayLayer);
350
350
  this.snapLines.initialize(this.rootDesignItem);
351
351
  if (this.serviceContainer.designerPointerExtensions)
@@ -393,6 +393,8 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
393
393
  this._scaleFactor = this._zoomFactor;
394
394
  this._canvasContainer.style.transform = 'scale(' + this._zoomFactor + ') translate(' + (isNaN(this._canvasOffset.x) ? '0' : this._canvasOffset.x) + 'px, ' + (isNaN(this._canvasOffset.y) ? '0' : this._canvasOffset.y) + 'px)';
395
395
  this._canvasContainer.style.transformOrigin = '0 0';
396
+ this.overlayLayer.style.transform = this._canvasContainer.style.transform;
397
+ this.overlayLayer.style.transformOrigin = '0 0';
396
398
  this.snapLines.clearSnaplines();
397
399
  }
398
400
  setDesignItems(designItems) {
@@ -17,9 +17,11 @@ export declare class DesignerView extends BaseCustomWebComponentConstructorAppen
17
17
  get designerCanvas(): DesignerCanvas;
18
18
  private _zoomInput;
19
19
  private _lowertoolbar;
20
+ private _toolbar;
20
21
  static readonly style: CSSStyleSheet;
21
22
  static readonly template: HTMLTemplateElement;
22
23
  constructor();
24
+ ready(): Promise<void>;
23
25
  zoomReset(): void;
24
26
  zoomToFit(): void;
25
27
  private _onScrollbar;
@@ -25,6 +25,7 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
25
25
  }
26
26
  _zoomInput;
27
27
  _lowertoolbar;
28
+ _toolbar;
28
29
  static style = css `
29
30
  :host {
30
31
  display: block;
@@ -77,8 +78,16 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
77
78
  height: 100%;
78
79
  }
79
80
  #canvas {
80
- width: calc(100% - 16px);
81
+ left: 24px;
82
+ width: calc(100% - 24px - 16px);
83
+ height: calc(100% - 32px);
84
+ }
85
+
86
+ #tool-bar{
87
+ width: 24px;
81
88
  height: calc(100% - 32px);
89
+ position: absolute;
90
+ background-color: lightgray;
82
91
  }
83
92
 
84
93
  .zoom-in {
@@ -120,7 +129,9 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
120
129
  static template = html `
121
130
  <div id="outer">
122
131
  <node-projects-plain-scrollbar id="s-hor" value="0.5" class="bottom-scroll"></node-projects-plain-scrollbar>
123
- <node-projects-plain-scrollbar id="s-vert" value="0.5" orientation="vertical" class="right-scroll"></node-projects-plain-scrollbar>
132
+ <node-projects-plain-scrollbar id="s-vert" value="0.5" orientation="vertical" class="right-scroll">
133
+ </node-projects-plain-scrollbar>
134
+ <node-projects-designer-toolbar id="tool-bar" class="tool-bar"></node-projects-designer-toolbar>
124
135
  <div class="bottom-right"></div>
125
136
  <div id="lowertoolbar">
126
137
  <input id="zoomInput" type="text" value="100%">
@@ -199,6 +210,10 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
199
210
  this._sVert.addEventListener('scrollbar-input', (e) => this._onScrollbar(e));
200
211
  this._sHor.addEventListener('scrollbar-input', (e) => this._onScrollbar(e));
201
212
  }
213
+ async ready() {
214
+ this._toolbar = await this._getDomElement('tool-bar');
215
+ this._toolbar.initialize(this.serviceContainer, this);
216
+ }
202
217
  zoomReset() {
203
218
  this._designerCanvas.canvasOffset = { x: 0, y: 0 };
204
219
  this._designerCanvas.zoomFactor = 1;
@@ -265,6 +280,8 @@ export class DesignerView extends BaseCustomWebComponentConstructorAppend {
265
280
  else {
266
281
  this._sVert.value += event.deltaY / 10000;
267
282
  this._onScrollbar(null);
283
+ this._sHor.value += event.deltaX / 10000;
284
+ this._onScrollbar(null);
268
285
  }
269
286
  }
270
287
  get designerWidth() {
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
+ import { IDesignItem } from "../../../../item/IDesignItem";
3
+ import { IDesignerCanvas } from "../../IDesignerCanvas";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
+ export declare class SelectAllChildrenContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(event: MouseEvent, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
+ }
@@ -0,0 +1,12 @@
1
+ export class SelectAllChildrenContextMenu {
2
+ shouldProvideContextmenu(event, designerView, designItem, initiator) {
3
+ return designItem.hasChildren;
4
+ }
5
+ provideContextMenuItems(event, designerCanvas, designItem) {
6
+ return [{
7
+ title: 'Select all Children', action: () => {
8
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(Array.from(designItem.children()));
9
+ }
10
+ }];
11
+ }
12
+ }
@@ -0,0 +1,19 @@
1
+ import { IElementDefinition } from '../../../services/elementsService/IElementDefinition';
2
+ import { ServiceContainer } from '../../../services/ServiceContainer.js';
3
+ import { IDesignerCanvas } from '../IDesignerCanvas';
4
+ import { ITool } from './ITool';
5
+ export declare class DrawElementTool implements ITool {
6
+ private _elementDefinition;
7
+ private _createdItem;
8
+ private _startPosition;
9
+ readonly cursor = "crosshair";
10
+ private _rect;
11
+ constructor(elementDefinition: IElementDefinition);
12
+ activated(serviceContainer: ServiceContainer): void;
13
+ dispose(): void;
14
+ pointerEventHandler(designerView: IDesignerCanvas, event: PointerEvent, currentElement: Element): void;
15
+ keyboardEventHandler(designerCanvas: IDesignerCanvas, event: KeyboardEvent, currentElement: Element): void;
16
+ private _onPointerDown;
17
+ private _onPointerMove;
18
+ private _onPointerUp;
19
+ }
@@ -0,0 +1,79 @@
1
+ import { EventNames } from '../../../../enums/EventNames';
2
+ import { InsertAction } from '../../../services/undoService/transactionItems/InsertAction';
3
+ import { OverlayLayer } from '../extensions/OverlayLayer.js';
4
+ export class DrawElementTool {
5
+ _elementDefinition;
6
+ _createdItem;
7
+ _startPosition;
8
+ cursor = 'crosshair';
9
+ _rect;
10
+ constructor(elementDefinition) {
11
+ this._elementDefinition = elementDefinition;
12
+ }
13
+ activated(serviceContainer) {
14
+ }
15
+ dispose() {
16
+ if (this._createdItem)
17
+ this._createdItem.element.parentElement.removeChild(this._createdItem.element);
18
+ }
19
+ pointerEventHandler(designerView, event, currentElement) {
20
+ switch (event.type) {
21
+ case EventNames.PointerDown:
22
+ this._onPointerDown(designerView, event);
23
+ break;
24
+ case EventNames.PointerMove:
25
+ this._onPointerMove(designerView, event);
26
+ break;
27
+ case EventNames.PointerUp:
28
+ this._onPointerUp(designerView, event);
29
+ break;
30
+ }
31
+ }
32
+ keyboardEventHandler(designerCanvas, event, currentElement) { }
33
+ async _onPointerDown(designerView, event) {
34
+ event.preventDefault();
35
+ this._startPosition = { x: event.x, y: event.y };
36
+ this._createdItem = await designerView.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(this._elementDefinition, designerView.serviceContainer, designerView.instanceServiceContainer));
37
+ const targetRect = event.target.getBoundingClientRect();
38
+ this._createdItem.setStyle('position', 'absolute');
39
+ this._createdItem.setStyle('left', event.offsetX + targetRect.left - designerView.containerBoundingRect.x + 'px');
40
+ this._createdItem.setStyle('top', event.offsetY + targetRect.top - designerView.containerBoundingRect.y + 'px');
41
+ this._createdItem.setStyle('width', '0');
42
+ this._createdItem.setStyle('height', '0');
43
+ this._createdItem.element.style.overflow = 'hidden';
44
+ //TODO: add items as last, with all properties set
45
+ //draw via containerService??? how to draw into a grid, a stackpanel???
46
+ designerView.instanceServiceContainer.undoService.execute(new InsertAction(designerView.rootDesignItem, designerView.rootDesignItem.childCount, this._createdItem));
47
+ designerView.instanceServiceContainer.selectionService.clearSelectedElements();
48
+ }
49
+ async _onPointerMove(designerCanvas, event) {
50
+ if (this._createdItem) {
51
+ if (!this._rect) {
52
+ designerCanvas.rootDesignItem.element.appendChild(this._createdItem.element);
53
+ this._rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
54
+ designerCanvas.overlayLayer.addOverlay(this._rect, OverlayLayer.Foregorund);
55
+ this._rect.setAttribute('class', 'svg-draw-new-element');
56
+ this._rect.setAttribute('x', (this._startPosition.x - designerCanvas.containerBoundingRect.x));
57
+ this._rect.setAttribute('y', (this._startPosition.y - designerCanvas.containerBoundingRect.y));
58
+ }
59
+ const w = event.x - this._startPosition.x;
60
+ const h = event.y - this._startPosition.y;
61
+ if (w >= 0) {
62
+ this._rect.setAttribute('width', w);
63
+ this._createdItem.setStyle('width', w + 'px');
64
+ }
65
+ if (h >= 0) {
66
+ this._rect.setAttribute('height', h);
67
+ this._createdItem.setStyle('height', h + 'px');
68
+ }
69
+ }
70
+ }
71
+ async _onPointerUp(designerView, event) {
72
+ designerView.overlayLayer.removeOverlay(this._rect);
73
+ designerView.instanceServiceContainer.selectionService.setSelectedElements([this._createdItem]);
74
+ this._startPosition = null;
75
+ this._rect = null;
76
+ this._createdItem = null;
77
+ designerView.serviceContainer.globalContext.finishedWithTool(this);
78
+ }
79
+ }
@@ -0,0 +1,16 @@
1
+ import { IDesignerCanvas } from '../IDesignerCanvas';
2
+ import { ITool } from './ITool';
3
+ import { ServiceContainer } from '../../../services/ServiceContainer.js';
4
+ export declare class DrawEllipsisTool implements ITool {
5
+ readonly cursor = "crosshair";
6
+ private _path;
7
+ private _startPoint;
8
+ private _radius;
9
+ private _cx;
10
+ private _cy;
11
+ constructor();
12
+ activated(serviceContainer: ServiceContainer): void;
13
+ dispose(): void;
14
+ pointerEventHandler(designerCanvas: IDesignerCanvas, event: PointerEvent, currentElement: Element): void;
15
+ keyboardEventHandler(designerCanvas: IDesignerCanvas, event: KeyboardEvent, currentElement: Element): void;
16
+ }