@node-projects/web-component-designer 0.0.92 → 0.0.95

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 (70) 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 +4 -1
  14. package/dist/commandHandling/CommandType.d.ts +2 -0
  15. package/dist/commandHandling/CommandType.js +2 -0
  16. package/dist/elements/documentContainer.js +2 -2
  17. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +2 -4
  18. package/dist/elements/services/DefaultServiceBootstrap.js +3 -0
  19. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +50 -0
  20. package/dist/elements/services/placementService/DefaultPlacementService.js +2 -2
  21. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.d.ts +0 -1
  22. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +1 -2
  23. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +5 -2
  24. package/dist/elements/widgets/designerView/designerCanvas.d.ts +14 -6
  25. package/dist/elements/widgets/designerView/designerCanvas.js +85 -127
  26. package/dist/elements/widgets/designerView/designerView.d.ts +4 -0
  27. package/dist/elements/widgets/designerView/designerView.js +59 -34
  28. package/dist/elements/widgets/designerView/extensions/PathExtension.js +0 -1
  29. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +2 -1
  30. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +0 -1
  31. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +0 -1
  32. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +4 -2
  33. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +1 -1
  34. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +8 -0
  35. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +12 -0
  36. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +2 -1
  37. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +2 -1
  38. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +5 -2
  39. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +2 -1
  40. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +2 -1
  41. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +2 -1
  42. package/dist/elements/widgets/designerView/tools/NamedTools.js +1 -0
  43. package/dist/elements/widgets/designerView/tools/PanTool.js +2 -1
  44. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +1 -2
  45. package/dist/elements/widgets/designerView/tools/PointerTool.js +58 -122
  46. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +2 -1
  47. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.d.ts +5 -0
  48. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.js +19 -0
  49. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.d.ts +8 -0
  50. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.js +37 -0
  51. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +12 -0
  52. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.js +44 -0
  53. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.d.ts +32 -0
  54. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.js +96 -0
  55. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.d.ts +8 -0
  56. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.js +25 -0
  57. package/dist/elements/widgets/designerView/tools/designerToolsDock.d.ts +23 -0
  58. package/dist/elements/widgets/designerView/tools/designerToolsDock.js +115 -0
  59. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +1 -0
  60. package/dist/elements/widgets/paletteView/paletteTreeView.d.ts +0 -1
  61. package/dist/elements/widgets/paletteView/paletteTreeView.js +1 -2
  62. package/dist/elements/widgets/paletteView/paletteView.js +1 -0
  63. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +1 -0
  64. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +1 -0
  65. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +1 -0
  66. package/dist/elements/widgets/treeView/treeView.js +1 -0
  67. package/dist/elements/widgets/treeView/treeViewExtended.js +5 -0
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.js +2 -0
  70. 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,6 @@
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/';
6
+ console.log("aasetPath", assetsPath);
@@ -5,6 +5,8 @@ export declare enum CommandType {
5
5
  'delete' = "delete",
6
6
  'undo' = "undo",
7
7
  'redo' = "redo",
8
+ 'rotateCounterClockwise' = "rotateCounterClockwise",
9
+ 'rotateClockwise' = "rotateClockwise",
8
10
  'selectAll' = "selectAll",
9
11
  'moveToFront' = "moveToFront",
10
12
  'moveForward' = "moveForward",
@@ -6,6 +6,8 @@ export var CommandType;
6
6
  CommandType["delete"] = "delete";
7
7
  CommandType["undo"] = "undo";
8
8
  CommandType["redo"] = "redo";
9
+ CommandType["rotateCounterClockwise"] = "rotateCounterClockwise";
10
+ CommandType["rotateClockwise"] = "rotateClockwise";
9
11
  CommandType["selectAll"] = "selectAll";
10
12
  CommandType["moveToFront"] = "moveToFront";
11
13
  CommandType["moveForward"] = "moveForward";
@@ -128,13 +128,13 @@ export class DocumentContainer extends BaseCustomWebComponentLazyAppend {
128
128
  this.codeView.dispose();
129
129
  }
130
130
  executeCommand(command) {
131
- if (this._tabControl.selectedIndex === 0)
131
+ if (this._tabControl.selectedIndex === 0 || this._tabControl.selectedIndex === 2)
132
132
  this.designerView.executeCommand(command);
133
133
  else if (this._tabControl.selectedIndex === 1)
134
134
  this.codeView.executeCommand(command);
135
135
  }
136
136
  canExecuteCommand(command) {
137
- if (this._tabControl.selectedIndex === 0)
137
+ if (this._tabControl.selectedIndex === 0 || this._tabControl.selectedIndex === 2)
138
138
  return this.designerView.canExecuteCommand(command);
139
139
  else if (this._tabControl.selectedIndex === 1)
140
140
  return this.codeView.canExecuteCommand(command);
@@ -103,10 +103,8 @@ export class ContextMenuHelper {
103
103
  window.removeEventListener('resize', this._closeBound);
104
104
  window.removeEventListener('mousedown', this._closeOnDownBound);
105
105
  window.removeEventListener('mouseup', this._closeOnUpBound);
106
- if (this._shadowRoot === document)
107
- document.body.removeChild(this._element);
108
- else
109
- this._shadowRoot.removeChild(this._element);
106
+ if (this._element.parentElement)
107
+ this._element.parentElement.removeChild(this._element);
110
108
  });
111
109
  }
112
110
  show() {
@@ -55,6 +55,7 @@ import { RectContextMenu } from '../widgets/designerView/extensions/contextMenu/
55
55
  import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/PathContextMenu.js';
56
56
  import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
57
57
  import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
58
+ import { RotateLeftAndRight } from '../widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js';
58
59
  export function createDefaultServiceContainer() {
59
60
  let serviceContainer = new ServiceContainer();
60
61
  serviceContainer.register("propertyService", new PolymerPropertiesService());
@@ -127,6 +128,8 @@ export function createDefaultServiceContainer() {
127
128
  serviceContainer.designerContextMenuExtensions = [
128
129
  new CopyPasteContextMenu(),
129
130
  new SeperatorContextMenu(),
131
+ new RotateLeftAndRight(),
132
+ new SeperatorContextMenu(),
130
133
  new ZoomToElementContextMenu(),
131
134
  new SeperatorContextMenu(),
132
135
  new ZMoveContextMenu(),
@@ -69,6 +69,56 @@ export class DefaultModelCommandService {
69
69
  }
70
70
  grp.commit();
71
71
  }
72
+ else if (command.type == CommandType.rotateCounterClockwise) {
73
+ const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('rotateCounterClockwise');
74
+ var trf = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('transform');
75
+ let degree = 0;
76
+ let rotation = "";
77
+ if (trf != null) {
78
+ try {
79
+ if (trf.includes('-'))
80
+ degree = parseInt(trf.match(/\d+/)[0]) * -1;
81
+ else
82
+ degree = parseInt(trf.match(/\d+/)[0]);
83
+ rotation = "rotate(" + (degree - 90) + "deg)";
84
+ }
85
+ catch {
86
+ rotation = "rotate(-90deg)";
87
+ }
88
+ }
89
+ else {
90
+ rotation = "rotate(-90deg)";
91
+ }
92
+ for (let s of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
93
+ s.setStyle('transform', rotation);
94
+ }
95
+ grp.commit();
96
+ }
97
+ else if (command.type == CommandType.rotateClockwise) {
98
+ const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('rotateClockwise');
99
+ var trf = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('transform');
100
+ let degree = 0;
101
+ let rotation = "";
102
+ if (trf != null) {
103
+ try {
104
+ if (trf.includes('-'))
105
+ degree = parseInt(trf.match(/\d+/)[0]) * -1;
106
+ else
107
+ degree = parseInt(trf.match(/\d+/)[0]);
108
+ rotation = "rotate(" + (degree + 90) + "deg)";
109
+ }
110
+ catch {
111
+ rotation = "rotate(90deg)";
112
+ }
113
+ }
114
+ else {
115
+ rotation = "rotate(90deg)";
116
+ }
117
+ for (let s of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
118
+ s.setStyle('transform', rotation);
119
+ }
120
+ grp.commit();
121
+ }
72
122
  else
73
123
  return null;
74
124
  return true;
@@ -19,7 +19,7 @@ export class DefaultPlacementService {
19
19
  return true;
20
20
  }
21
21
  getElementOffset(container, designItem) {
22
- return container.element.getBoundingClientRect();
22
+ return container.instanceServiceContainer.designerCanvas.getNormalizedElementCoordinates(container.element);
23
23
  }
24
24
  calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, item) {
25
25
  let trackX = newPoint.x - startPoint.x;
@@ -79,7 +79,7 @@ export class DefaultPlacementService {
79
79
  //maybe a undo actions returns itself or an id so it could be changed?
80
80
  let track = this.calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, items[0]);
81
81
  let filterdItems = filterChildPlaceItems(items);
82
- //TODO: -> what is if a transform already exists -> backup existing style.?
82
+ //TODO: -> maybe get existing transform via getComputedStyle???
83
83
  for (const designItem of filterdItems) {
84
84
  const newTransform = 'translate(' + track.x + 'px, ' + track.y + 'px)';
85
85
  combineTransforms(placementView.transformHelperElement, designItem.element, designItem.styles.get('transform'), newTransform);
@@ -5,7 +5,6 @@ export declare class BindableObjectsBrowser extends BaseCustomWebComponentLazyAp
5
5
  private _tree;
6
6
  static readonly style: CSSStyleSheet;
7
7
  constructor();
8
- ready(): Promise<void>;
9
8
  initialize(serviceContainer: ServiceContainer): Promise<void>;
10
9
  private lazyLoad;
11
10
  }
@@ -29,6 +29,7 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
29
29
  `;
30
30
  constructor() {
31
31
  super();
32
+ this._restoreCachedInititalValues();
32
33
  //@ts-ignore
33
34
  import("jquery.fancytree/dist/skin-win8/ui.fancytree.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
34
35
  this._treeDiv = document.createElement('div');
@@ -36,8 +37,6 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
36
37
  this._treeDiv.style.overflow = 'auto';
37
38
  this._treeDiv.setAttribute('id', 'tree');
38
39
  this.shadowRoot.appendChild(this._treeDiv);
39
- }
40
- async ready() {
41
40
  $(this._treeDiv).fancytree({
42
41
  icon: false,
43
42
  extensions: ['dnd5'],
@@ -10,6 +10,7 @@ import { OverlayLayerView } from "./overlayLayerView";
10
10
  import { IRect } from "../../../interfaces/IRect.js";
11
11
  import { TypedEvent } from "@node-projects/base-custom-webcomponent";
12
12
  import { ISize } from "../../../interfaces/ISize.js";
13
+ import { ITool } from "./tools/ITool.js";
13
14
  export interface IDesignerCanvas extends IPlacementView, IUiCommandHandler {
14
15
  readonly serviceContainer: ServiceContainer;
15
16
  readonly instanceServiceContainer: InstanceServiceContainer;
@@ -32,12 +33,14 @@ export interface IDesignerCanvas extends IPlacementView, IUiCommandHandler {
32
33
  getNormalizedEventCoordinates(event: MouseEvent): IPoint;
33
34
  getViewportCoordinates(event: MouseEvent): IPoint;
34
35
  getNormalizedElementCoordinates(element: Element): IRect;
35
- removeCurrentPointerEventHandler(): any;
36
+ captureActiveTool(tool: ITool): any;
37
+ releaseActiveTool(): any;
36
38
  getDesignSurfaceDimensions(): ISize;
37
39
  getNormalizedOffsetInElement(event: MouseEvent, element: Element): IPoint;
38
40
  getElementAtPoint(point: IPoint, ignoreElementCallback?: (element: HTMLElement) => boolean): any;
39
41
  elementFromPoint(x: number, y: number): Element;
40
- getItemsBelowMouse(event: MouseEvent): Element[];
42
+ elementsFromPoint(x: number, y: number): Element[];
43
+ showHoverExtension(element: Element): any;
41
44
  zoomTowardsPoint(point: IPoint, scalechange: number): void;
42
45
  zoomPoint(canvasPoint: IPoint, newZoom: number): void;
43
46
  zoomOntoRectangle(startPoint: IPoint, endPoint: IPoint): void;
@@ -14,12 +14,14 @@ import { OverlayLayer } from "./extensions/OverlayLayer";
14
14
  import { OverlayLayerView } from './overlayLayerView';
15
15
  import { IRect } from "../../../interfaces/IRect.js";
16
16
  import { ISize } from "../../../interfaces/ISize.js";
17
+ import { ITool } from "./tools/ITool.js";
17
18
  export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend implements IDesignerCanvas, IPlacementView, IUiCommandHandler {
18
19
  serviceContainer: ServiceContainer;
19
20
  instanceServiceContainer: InstanceServiceContainer;
20
21
  containerBoundingRect: DOMRect;
21
22
  outerRect: DOMRect;
22
23
  clickOverlay: HTMLDivElement;
24
+ private _activeTool;
23
25
  gridSize: number;
24
26
  alignOnGrid: boolean;
25
27
  alignOnSnap: boolean;
@@ -32,7 +34,6 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
32
34
  private _scaleFactor;
33
35
  private _canvasOffset;
34
36
  private _currentContextMenu;
35
- private _lastPointerDownHandler;
36
37
  get zoomFactor(): number;
37
38
  set zoomFactor(value: number);
38
39
  get scaleFactor(): number;
@@ -71,7 +72,6 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
71
72
  handlePasteCommand(): Promise<void>;
72
73
  handleDeleteCommand(): void;
73
74
  initialize(serviceContainer: ServiceContainer): void;
74
- elementFromPoint(x: number, y: number): Element;
75
75
  connectedCallback(): void;
76
76
  private _zoomFactorChanged;
77
77
  _updateTransform(): void;
@@ -85,20 +85,28 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
85
85
  private _onDblClick;
86
86
  private onKeyUp;
87
87
  private onKeyDown;
88
+ /**
89
+ * Converts the Event x/y coordinates, to the mouse position on the canvas
90
+ */
88
91
  getNormalizedEventCoordinates(event: MouseEvent): IPoint;
89
- convertEventToViewPortCoordinates(point: IPoint): IPoint;
92
+ /**
93
+ * Converts the Event x/y coordinates, to the mouse position in the viewport
94
+ */
90
95
  getViewportCoordinates(event: MouseEvent): IPoint;
91
96
  getNormalizedElementCoordinates(element: Element): IRect;
92
97
  getNormalizedOffsetInElement(event: MouseEvent, element: Element): IPoint;
98
+ elementFromPoint(x: number, y: number): Element;
99
+ elementsFromPoint(x: number, y: number): Element[];
93
100
  getElementAtPoint(point: IPoint, ignoreElementCallback?: (element: HTMLElement) => boolean): HTMLElement;
94
- _rect: SVGRectElement;
101
+ showHoverExtension(element: Element): void;
95
102
  private _pointerEventHandler;
96
- removeCurrentPointerEventHandler(): void;
103
+ captureActiveTool(tool: ITool): void;
104
+ releaseActiveTool(): void;
97
105
  private _fillCalculationrects;
98
106
  addOverlay(element: SVGGraphicsElement, overlayLayer?: OverlayLayer): void;
99
107
  removeOverlay(element: SVGGraphicsElement): void;
100
- getItemsBelowMouse(event: MouseEvent): Element[];
101
108
  zoomOntoRectangle(startPoint: IPoint, endPoint: IPoint): void;
102
109
  zoomPoint(canvasPoint: IPoint, newZoom: number): void;
110
+ private zoomConvertEventToViewPortCoordinates;
103
111
  zoomTowardsPoint(canvasPoint: IPoint, newZoom: number): void;
104
112
  }