@node-projects/web-component-designer 0.0.96 → 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 (643) hide show
  1. package/debug.log +8 -0
  2. package/dist/Constants.d.ts +3 -3
  3. package/dist/Constants.js +5 -6
  4. package/dist/commandHandling/CommandType.d.ts +30 -30
  5. package/dist/commandHandling/CommandType.js +31 -31
  6. package/dist/commandHandling/IUiCommand.d.ts +6 -6
  7. package/dist/commandHandling/IUiCommand.js +1 -1
  8. package/dist/commandHandling/IUiCommandHandler.d.ts +5 -5
  9. package/dist/commandHandling/IUiCommandHandler.js +1 -1
  10. package/dist/elements/controls/DesignerTabControl.d.ts +26 -26
  11. package/dist/elements/controls/DesignerTabControl.js +137 -137
  12. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -17
  13. package/dist/elements/controls/ImageButtonListSelector.js +50 -50
  14. package/dist/elements/controls/NumericPopup.d.ts +6 -6
  15. package/dist/elements/controls/NumericPopup.js +8 -8
  16. package/dist/elements/controls/NumericStyleInput.d.ts +16 -16
  17. package/dist/elements/controls/NumericStyleInput.js +42 -42
  18. package/dist/elements/controls/PlainScrollbar.d.ts +15 -15
  19. package/dist/elements/controls/PlainScrollbar.js +374 -374
  20. package/dist/elements/controls/SimpleSplitView.d.ts +11 -11
  21. package/dist/elements/controls/SimpleSplitView.js +39 -39
  22. package/dist/elements/controls/ThicknessEditor.d.ts +33 -33
  23. package/dist/elements/controls/ThicknessEditor.js +90 -90
  24. package/dist/elements/documentContainer.d.ts +42 -42
  25. package/dist/elements/documentContainer.js +199 -199
  26. package/dist/elements/helper/ArrangeHelper.d.ts +7 -7
  27. package/dist/elements/helper/ArrangeHelper.js +79 -79
  28. package/dist/elements/helper/CssAttributeParser.d.ts +9 -9
  29. package/dist/elements/helper/CssAttributeParser.js +67 -67
  30. package/dist/elements/helper/CssCombiner.d.ts +11 -11
  31. package/dist/elements/helper/CssCombiner.js +289 -289
  32. package/dist/elements/helper/ElementHelper.d.ts +10 -10
  33. package/dist/elements/helper/ElementHelper.js +32 -32
  34. package/dist/elements/helper/GridHelper.d.ts +16 -16
  35. package/dist/elements/helper/GridHelper.js +111 -111
  36. package/dist/elements/helper/Helper.d.ts +6 -6
  37. package/dist/elements/helper/Helper.js +26 -26
  38. package/dist/elements/helper/IndentedTextWriter.d.ts +14 -14
  39. package/dist/elements/helper/IndentedTextWriter.js +34 -34
  40. package/dist/elements/helper/KeyNameHelper.d.ts +0 -0
  41. package/dist/elements/helper/KeyNameHelper.js +1 -0
  42. package/dist/elements/helper/LayoutHelper.d.ts +4 -4
  43. package/dist/elements/helper/LayoutHelper.js +67 -67
  44. package/dist/elements/helper/PathDataPolyfill.d.ts +101 -101
  45. package/dist/elements/helper/PathDataPolyfill.js +978 -978
  46. package/dist/elements/helper/Screenshot.d.ts +11 -11
  47. package/dist/elements/helper/Screenshot.js +59 -59
  48. package/dist/elements/helper/TransformHelper.d.ts +4 -4
  49. package/dist/elements/helper/TransformHelper.js +21 -21
  50. package/dist/elements/helper/XmlHelper.d.ts +2 -2
  51. package/dist/elements/helper/XmlHelper.js +16 -16
  52. package/dist/elements/helper/contextMenu/ContextMenuHelper.d.ts +27 -27
  53. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +160 -160
  54. package/dist/elements/helper/contextMenu/IContextmenuItem.d.ts +7 -7
  55. package/dist/elements/helper/contextMenu/IContextmenuItem.js +1 -1
  56. package/dist/elements/helper/w3color.d.ts +120 -120
  57. package/dist/elements/helper/w3color.js +801 -801
  58. package/dist/elements/item/BindingMode.d.ts +4 -4
  59. package/dist/elements/item/BindingMode.js +5 -5
  60. package/dist/elements/item/BindingTarget.d.ts +8 -8
  61. package/dist/elements/item/BindingTarget.js +9 -9
  62. package/dist/elements/item/DesignItem.d.ts +66 -66
  63. package/dist/elements/item/DesignItem.js +297 -297
  64. package/dist/elements/item/IBinding.d.ts +15 -15
  65. package/dist/elements/item/IBinding.js +1 -1
  66. package/dist/elements/item/IDesignItem.d.ts +50 -50
  67. package/dist/elements/item/IDesignItem.js +1 -1
  68. package/dist/elements/item/NodeType.d.ts +5 -5
  69. package/dist/elements/item/NodeType.js +6 -6
  70. package/dist/elements/loader/IOldCustomElementsManifest.d.ts +24 -24
  71. package/dist/elements/loader/IOldCustomElementsManifest.js +1 -1
  72. package/dist/elements/loader/OldCustomElementsManifestLoader.d.ts +8 -8
  73. package/dist/elements/loader/OldCustomElementsManifestLoader.js +45 -45
  74. package/dist/elements/services/BaseServiceContainer.d.ts +10 -10
  75. package/dist/elements/services/BaseServiceContainer.js +50 -50
  76. package/dist/elements/services/DefaultServiceBootstrap.d.ts +3 -3
  77. package/dist/elements/services/DefaultServiceBootstrap.js +154 -144
  78. package/dist/elements/services/GlobalContext.d.ts +27 -24
  79. package/dist/elements/services/GlobalContext.js +68 -63
  80. package/dist/elements/services/IService.d.ts +2 -2
  81. package/dist/elements/services/IService.js +1 -1
  82. package/dist/elements/services/IServiceContainer.d.ts +5 -5
  83. package/dist/elements/services/IServiceContainer.js +1 -1
  84. package/dist/elements/services/InstanceServiceContainer.d.ts +20 -20
  85. package/dist/elements/services/InstanceServiceContainer.js +19 -19
  86. package/dist/elements/services/ServiceContainer.d.ts +80 -78
  87. package/dist/elements/services/ServiceContainer.js +76 -75
  88. package/dist/elements/services/bindableObjectsService/BindableObjectType.d.ts +9 -9
  89. package/dist/elements/services/bindableObjectsService/BindableObjectType.js +10 -10
  90. package/dist/elements/services/bindableObjectsService/IBindableObject.d.ts +8 -8
  91. package/dist/elements/services/bindableObjectsService/IBindableObject.js +1 -1
  92. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.d.ts +8 -8
  93. package/dist/elements/services/bindableObjectsService/IBindableObjectDragDropService.js +1 -1
  94. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.d.ts +6 -6
  95. package/dist/elements/services/bindableObjectsService/IBindableObjectsService.js +1 -1
  96. package/dist/elements/services/bindableObjectsService/IDragDropService.d.ts +5 -0
  97. package/dist/elements/services/bindableObjectsService/IDragDropService.js +1 -0
  98. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +10 -10
  99. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +72 -72
  100. package/dist/elements/services/bindingsService/IBindingService.d.ts +13 -13
  101. package/dist/elements/services/bindingsService/IBindingService.js +1 -1
  102. package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +16 -16
  103. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +43 -43
  104. package/dist/elements/services/bindingsService/VueBindingsService.js +7 -7
  105. package/dist/elements/services/contentService/ContentService.d.ts +9 -9
  106. package/dist/elements/services/contentService/ContentService.js +8 -8
  107. package/dist/elements/services/contentService/IContentChanged.d.ts +5 -5
  108. package/dist/elements/services/contentService/IContentChanged.js +1 -1
  109. package/dist/elements/services/contentService/IContentService.d.ts +7 -7
  110. package/dist/elements/services/contentService/IContentService.js +1 -1
  111. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -8
  112. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -12
  113. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -7
  114. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -1
  115. package/dist/elements/services/demoProviderService/DemoProviderService.d.ts +6 -6
  116. package/dist/elements/services/demoProviderService/DemoProviderService.js +29 -29
  117. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +5 -5
  118. package/dist/elements/services/demoProviderService/IDemoProviderService.js +1 -1
  119. package/dist/elements/services/dragDropService/DragDropService.d.ts +6 -6
  120. package/dist/elements/services/dragDropService/DragDropService.js +28 -28
  121. package/dist/elements/services/dragDropService/IDragDropService.d.ts +5 -5
  122. package/dist/elements/services/dragDropService/IDragDropService.js +1 -1
  123. package/dist/elements/services/elementAtPointService/ElementAtPointService.d.ts +6 -6
  124. package/dist/elements/services/elementAtPointService/ElementAtPointService.js +5 -5
  125. package/dist/elements/services/elementAtPointService/IElementAtPointService.d.ts +6 -6
  126. package/dist/elements/services/elementAtPointService/IElementAtPointService.js +1 -1
  127. package/dist/elements/services/elementsService/IElementDefinition.d.ts +33 -33
  128. package/dist/elements/services/elementsService/IElementDefinition.js +1 -1
  129. package/dist/elements/services/elementsService/IElementsJson.d.ts +5 -5
  130. package/dist/elements/services/elementsService/IElementsJson.js +1 -1
  131. package/dist/elements/services/elementsService/IElementsService.d.ts +6 -6
  132. package/dist/elements/services/elementsService/IElementsService.js +1 -1
  133. package/dist/elements/services/elementsService/JsonFileElementsService.d.ts +12 -12
  134. package/dist/elements/services/elementsService/JsonFileElementsService.js +45 -45
  135. package/dist/elements/services/elementsService/PreDefinedElementsService.d.ts +11 -11
  136. package/dist/elements/services/elementsService/PreDefinedElementsService.js +21 -21
  137. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.d.ts +9 -9
  138. package/dist/elements/services/htmlParserService/DefaultHtmlParserService.js +18 -18
  139. package/dist/elements/services/htmlParserService/IHtmlParserService.d.ts +7 -7
  140. package/dist/elements/services/htmlParserService/IHtmlParserService.js +1 -1
  141. package/dist/elements/services/htmlParserService/NodeHtmlParserService.d.ts +11 -11
  142. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +96 -96
  143. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.d.ts +10 -10
  144. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +62 -62
  145. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.d.ts +22 -22
  146. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +133 -133
  147. package/dist/elements/services/htmlWriterService/HtmlWriterService.d.ts +12 -12
  148. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +92 -92
  149. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.d.ts +7 -7
  150. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +7 -7
  151. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +7 -7
  152. package/dist/elements/services/htmlWriterService/IHtmlWriterService.js +1 -1
  153. package/dist/elements/services/htmlWriterService/IStringPosition.d.ts +4 -4
  154. package/dist/elements/services/htmlWriterService/IStringPosition.js +1 -1
  155. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.d.ts +9 -9
  156. package/dist/elements/services/htmlWriterService/LitTsElementWriterService.js +7 -7
  157. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.d.ts +27 -27
  158. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +93 -93
  159. package/dist/elements/services/initializationService/DefaultIntializationService.d.ts +6 -6
  160. package/dist/elements/services/initializationService/DefaultIntializationService.js +22 -22
  161. package/dist/elements/services/initializationService/IIntializationService.d.ts +4 -4
  162. package/dist/elements/services/initializationService/IIntializationService.js +1 -1
  163. package/dist/elements/services/instanceService/DefaultInstanceService.d.ts +8 -8
  164. package/dist/elements/services/instanceService/DefaultInstanceService.js +67 -67
  165. package/dist/elements/services/instanceService/IDesignerInstance.d.ts +3 -3
  166. package/dist/elements/services/instanceService/IDesignerInstance.js +1 -1
  167. package/dist/elements/services/instanceService/IInstanceService.d.ts +8 -8
  168. package/dist/elements/services/instanceService/IInstanceService.js +1 -1
  169. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.d.ts +4 -4
  170. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.js +1 -1
  171. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.d.ts +6 -6
  172. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +32 -32
  173. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +25 -25
  174. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +94 -94
  175. package/dist/elements/services/modelCommandService/DefaultModelCommandService.d.ts +7 -7
  176. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +126 -126
  177. package/dist/elements/services/modelCommandService/IModelCommandService.d.ts +7 -7
  178. package/dist/elements/services/modelCommandService/IModelCommandService.js +1 -1
  179. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +16 -16
  180. package/dist/elements/services/placementService/DefaultPlacementService.js +109 -109
  181. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +15 -15
  182. package/dist/elements/services/placementService/FlexBoxPlacementService.js +42 -42
  183. package/dist/elements/services/placementService/GridPlacementService.d.ts +15 -15
  184. package/dist/elements/services/placementService/GridPlacementService.js +99 -99
  185. package/dist/elements/services/placementService/IPlacementService.d.ts +15 -15
  186. package/dist/elements/services/placementService/IPlacementService.js +1 -1
  187. package/dist/elements/services/placementService/ISnaplinesProviderService.d.ts +12 -12
  188. package/dist/elements/services/placementService/ISnaplinesProviderService.js +1 -1
  189. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +14 -14
  190. package/dist/elements/services/placementService/SnaplinesProviderService.js +48 -48
  191. package/dist/elements/services/popupService/IPopupService.d.ts +16 -16
  192. package/dist/elements/services/popupService/IPopupService.js +1 -1
  193. package/dist/elements/services/popupService/PopupService.d.ts +9 -9
  194. package/dist/elements/services/popupService/PopupService.js +20 -20
  195. package/dist/elements/services/propertiesService/DefaultEditorTypesService.d.ts +6 -6
  196. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +59 -59
  197. package/dist/elements/services/propertiesService/IEditorTypesService.d.ts +5 -5
  198. package/dist/elements/services/propertiesService/IEditorTypesService.js +1 -1
  199. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +16 -16
  200. package/dist/elements/services/propertiesService/IPropertiesService.js +1 -1
  201. package/dist/elements/services/propertiesService/IProperty.d.ts +21 -21
  202. package/dist/elements/services/propertiesService/IProperty.js +1 -1
  203. package/dist/elements/services/propertiesService/IPropertyEditor.d.ts +19 -19
  204. package/dist/elements/services/propertiesService/IPropertyEditor.js +1 -1
  205. package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -6
  206. package/dist/elements/services/propertiesService/PropertyType.js +7 -7
  207. package/dist/elements/services/propertiesService/ValueType.d.ts +6 -6
  208. package/dist/elements/services/propertiesService/ValueType.js +7 -7
  209. package/dist/elements/services/propertiesService/app.d.ts +2 -2
  210. package/dist/elements/services/propertiesService/app.js +71 -71
  211. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +15 -15
  212. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +41 -41
  213. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.d.ts +7 -7
  214. package/dist/elements/services/propertiesService/propertyEditors/BooleanPropertyEditor.js +13 -13
  215. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +7 -7
  216. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +22 -22
  217. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.d.ts +7 -7
  218. package/dist/elements/services/propertiesService/propertyEditors/DatePropertyEditor.js +16 -16
  219. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -8
  220. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -40
  221. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.d.ts +9 -9
  222. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +16 -16
  223. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.d.ts +5 -5
  224. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +8 -8
  225. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.d.ts +7 -7
  226. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +16 -16
  227. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.d.ts +7 -7
  228. package/dist/elements/services/propertiesService/propertyEditors/SelectPropertyEditor.js +28 -28
  229. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.d.ts +7 -7
  230. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +20 -20
  231. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -8
  232. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -14
  233. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.d.ts +7 -7
  234. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +44 -44
  235. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +17 -17
  236. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +68 -68
  237. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.d.ts +8 -8
  238. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +12 -12
  239. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +18 -18
  240. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +112 -112
  241. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +22 -22
  242. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +325 -325
  243. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +17 -17
  244. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.js +1 -1
  245. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.d.ts +4 -4
  246. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinitions.js +1 -1
  247. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +12 -12
  248. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +41 -41
  249. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +9 -9
  250. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +51 -51
  251. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.d.ts +8 -8
  252. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +17 -17
  253. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +15 -15
  254. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +124 -124
  255. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.d.ts +8 -8
  256. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +10 -10
  257. package/dist/elements/services/propertiesService/services/PropertiesHelper.d.ts +6 -6
  258. package/dist/elements/services/propertiesService/services/PropertiesHelper.js +27 -27
  259. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +17 -17
  260. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +99 -99
  261. package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +5 -5
  262. package/dist/elements/services/selectionService/ISelectionChangedEvent.js +1 -1
  263. package/dist/elements/services/selectionService/ISelectionService.d.ts +11 -11
  264. package/dist/elements/services/selectionService/ISelectionService.js +1 -1
  265. package/dist/elements/services/selectionService/SelectionService.d.ts +12 -12
  266. package/dist/elements/services/selectionService/SelectionService.js +35 -35
  267. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.d.ts +8 -8
  268. package/dist/elements/services/treeStructureService/ITreeStructureChangedEvent.js +1 -1
  269. package/dist/elements/services/treeStructureService/ITreeStructureService.d.ts +2 -2
  270. package/dist/elements/services/treeStructureService/ITreeStructureService.js +2 -2
  271. package/dist/elements/services/undoService/ChangeGroup.d.ts +17 -17
  272. package/dist/elements/services/undoService/ChangeGroup.js +56 -56
  273. package/dist/elements/services/undoService/ITransactionItem.d.ts +8 -8
  274. package/dist/elements/services/undoService/ITransactionItem.js +2 -2
  275. package/dist/elements/services/undoService/IUndoService.d.ts +13 -13
  276. package/dist/elements/services/undoService/IUndoService.js +1 -1
  277. package/dist/elements/services/undoService/UndoService.d.ts +21 -21
  278. package/dist/elements/services/undoService/UndoService.js +93 -93
  279. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +15 -15
  280. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +70 -70
  281. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +14 -14
  282. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +44 -44
  283. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +13 -13
  284. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +35 -35
  285. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +13 -13
  286. package/dist/elements/services/undoService/transactionItems/InsertAction.js +26 -26
  287. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -16
  288. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +31 -31
  289. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +16 -0
  290. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +31 -0
  291. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.d.ts +15 -15
  292. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +36 -36
  293. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.d.ts +3 -3
  294. package/dist/elements/widgets/bindableObjectsBrowser/IBindableObjectsBrowser.js +1 -1
  295. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.d.ts +10 -10
  296. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +78 -78
  297. package/dist/elements/widgets/bindings/BindingsEditor.d.ts +17 -17
  298. package/dist/elements/widgets/bindings/BindingsEditor.js +22 -22
  299. package/dist/elements/widgets/codeView/ICodeView.d.ts +11 -11
  300. package/dist/elements/widgets/codeView/ICodeView.js +1 -1
  301. package/dist/elements/widgets/codeView/code-view-ace.d.ts +24 -24
  302. package/dist/elements/widgets/codeView/code-view-ace.js +127 -127
  303. package/dist/elements/widgets/codeView/code-view-code-mirror.d.ts +24 -24
  304. package/dist/elements/widgets/codeView/code-view-code-mirror.js +91 -91
  305. package/dist/elements/widgets/codeView/code-view-monaco.d.ts +25 -25
  306. package/dist/elements/widgets/codeView/code-view-monaco.js +105 -105
  307. package/dist/elements/widgets/demoView/IDemoView.d.ts +5 -5
  308. package/dist/elements/widgets/demoView/IDemoView.js +1 -1
  309. package/dist/elements/widgets/demoView/demoView.d.ts +11 -11
  310. package/dist/elements/widgets/demoView/demoView.js +22 -22
  311. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.d.ts +8 -8
  312. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.js +11 -11
  313. package/dist/elements/widgets/designerView/DesignContext.d.ts +7 -7
  314. package/dist/elements/widgets/designerView/DesignContext.js +4 -4
  315. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +7 -0
  316. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +13 -0
  317. package/dist/elements/widgets/designerView/DomConverter.d.ts +8 -8
  318. package/dist/elements/widgets/designerView/DomConverter.js +41 -41
  319. package/dist/elements/widgets/designerView/IDesignContext.d.ts +6 -6
  320. package/dist/elements/widgets/designerView/IDesignContext.js +1 -1
  321. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.d.ts +5 -5
  322. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.js +1 -1
  323. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +48 -48
  324. package/dist/elements/widgets/designerView/IDesignerCanvas.js +1 -1
  325. package/dist/elements/widgets/designerView/IPlacementView.d.ts +14 -14
  326. package/dist/elements/widgets/designerView/IPlacementView.js +1 -1
  327. package/dist/elements/widgets/designerView/Snaplines.d.ts +21 -21
  328. package/dist/elements/widgets/designerView/Snaplines.js +220 -220
  329. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.d.ts +5 -5
  330. package/dist/elements/widgets/designerView/defaultConfiguredDesignerView.js +11 -11
  331. package/dist/elements/widgets/designerView/designerCanvas.d.ts +112 -112
  332. package/dist/elements/widgets/designerView/designerCanvas.js +698 -698
  333. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +92 -0
  334. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +734 -0
  335. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +95 -0
  336. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +768 -0
  337. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +94 -0
  338. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +745 -0
  339. package/dist/elements/widgets/designerView/designerView.d.ts +41 -41
  340. package/dist/elements/widgets/designerView/designerView.js +233 -232
  341. package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +12 -12
  342. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +8 -8
  343. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.d.ts +16 -16
  344. package/dist/elements/widgets/designerView/extensions/AbstractExtensionBase.js +50 -50
  345. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.d.ts +12 -12
  346. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +20 -20
  347. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +10 -10
  348. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +11 -11
  349. package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +10 -10
  350. package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +29 -29
  351. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +10 -10
  352. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +13 -13
  353. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +17 -0
  354. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +80 -0
  355. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +17 -17
  356. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +73 -73
  357. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +9 -0
  358. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +11 -0
  359. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +9 -9
  360. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +11 -11
  361. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.d.ts +20 -20
  362. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +77 -77
  363. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.d.ts +10 -10
  364. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js +13 -13
  365. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.d.ts +14 -14
  366. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +38 -38
  367. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +10 -10
  368. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +11 -11
  369. package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +17 -17
  370. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +245 -245
  371. package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +18 -18
  372. package/dist/elements/widgets/designerView/extensions/ExtensionType.js +19 -19
  373. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.d.ts +13 -13
  374. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +32 -32
  375. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.d.ts +10 -10
  376. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +11 -11
  377. package/dist/elements/widgets/designerView/extensions/GridExtension.d.ts +10 -10
  378. package/dist/elements/widgets/designerView/extensions/GridExtension.js +30 -30
  379. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.d.ts +6 -6
  380. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.js +21 -21
  381. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.d.ts +11 -11
  382. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +14 -14
  383. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.d.ts +5 -5
  384. package/dist/elements/widgets/designerView/extensions/IDesignerExtension.js +1 -1
  385. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +9 -9
  386. package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.js +1 -1
  387. package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +11 -11
  388. package/dist/elements/widgets/designerView/extensions/IExtensionManger.js +1 -1
  389. package/dist/elements/widgets/designerView/extensions/IframeExtension.d.ts +11 -11
  390. package/dist/elements/widgets/designerView/extensions/IframeExtension.js +46 -46
  391. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.d.ts +9 -9
  392. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.js +9 -9
  393. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.d.ts +11 -11
  394. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +23 -23
  395. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.d.ts +10 -10
  396. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +15 -15
  397. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.d.ts +11 -11
  398. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +20 -20
  399. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.d.ts +10 -10
  400. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +11 -11
  401. package/dist/elements/widgets/designerView/extensions/OverlayLayer.d.ts +5 -5
  402. package/dist/elements/widgets/designerView/extensions/OverlayLayer.js +6 -6
  403. package/dist/elements/widgets/designerView/extensions/PathExtension.d.ts +23 -23
  404. package/dist/elements/widgets/designerView/extensions/PathExtension.js +245 -245
  405. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.d.ts +9 -9
  406. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +18 -18
  407. package/dist/elements/widgets/designerView/extensions/PositionExtension.d.ts +14 -14
  408. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +45 -45
  409. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +9 -9
  410. package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +12 -12
  411. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.d.ts +13 -13
  412. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +21 -21
  413. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.d.ts +10 -10
  414. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.js +11 -11
  415. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +25 -25
  416. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +161 -161
  417. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +12 -12
  418. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +16 -16
  419. package/dist/elements/widgets/designerView/extensions/RotateExtension.d.ts +12 -12
  420. package/dist/elements/widgets/designerView/extensions/RotateExtension.js +71 -71
  421. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +10 -10
  422. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +11 -11
  423. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.d.ts +11 -11
  424. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +22 -22
  425. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +10 -10
  426. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +11 -11
  427. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.d.ts +14 -14
  428. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +69 -69
  429. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +10 -10
  430. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +15 -15
  431. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.d.ts +8 -0
  432. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.js +15 -0
  433. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +8 -8
  434. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +14 -14
  435. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +8 -8
  436. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js +1 -1
  437. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +9 -9
  438. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +18 -18
  439. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +9 -9
  440. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +22 -22
  441. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +8 -8
  442. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +31 -31
  443. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +8 -8
  444. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +33 -33
  445. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +8 -8
  446. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +12 -12
  447. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +8 -0
  448. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +12 -0
  449. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +8 -8
  450. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js +10 -10
  451. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.d.ts +8 -0
  452. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.js +14 -0
  453. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +8 -8
  454. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +14 -14
  455. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +8 -8
  456. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +27 -27
  457. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +11 -11
  458. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +11 -11
  459. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.d.ts +13 -13
  460. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js +24 -24
  461. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.d.ts +7 -7
  462. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js +8 -8
  463. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -5
  464. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -1
  465. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +6 -6
  466. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -1
  467. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.d.ts +5 -5
  468. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +5 -5
  469. package/dist/elements/widgets/designerView/overlayLayerView.d.ts +25 -25
  470. package/dist/elements/widgets/designerView/overlayLayerView.js +129 -129
  471. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.d.ts +19 -0
  472. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.js +79 -0
  473. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.d.ts +16 -0
  474. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.js +94 -0
  475. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.d.ts +14 -0
  476. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.js +79 -0
  477. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.d.ts +20 -0
  478. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.js +128 -0
  479. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.d.ts +19 -0
  480. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.js +109 -0
  481. package/dist/elements/widgets/designerView/toolBar/ITool.d.ts +9 -0
  482. package/dist/elements/widgets/designerView/toolBar/ITool.js +1 -0
  483. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.d.ts +12 -0
  484. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.js +64 -0
  485. package/dist/elements/widgets/designerView/toolBar/NamedTools.d.ts +15 -0
  486. package/dist/elements/widgets/designerView/toolBar/NamedTools.js +16 -0
  487. package/dist/elements/widgets/designerView/toolBar/PanTool.d.ts +10 -0
  488. package/dist/elements/widgets/designerView/toolBar/PanTool.js +26 -0
  489. package/dist/elements/widgets/designerView/toolBar/PickColorTool.d.ts +10 -0
  490. package/dist/elements/widgets/designerView/toolBar/PickColorTool.js +20 -0
  491. package/dist/elements/widgets/designerView/toolBar/PointerTool.d.ts +24 -0
  492. package/dist/elements/widgets/designerView/toolBar/PointerTool.js +283 -0
  493. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.d.ts +12 -0
  494. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.js +84 -0
  495. package/dist/elements/widgets/designerView/toolBar/TextTool.d.ts +11 -0
  496. package/dist/elements/widgets/designerView/toolBar/TextTool.js +33 -0
  497. package/dist/elements/widgets/designerView/toolBar/ZoomTool.d.ts +17 -0
  498. package/dist/elements/widgets/designerView/toolBar/ZoomTool.js +79 -0
  499. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.d.ts +5 -0
  500. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.js +19 -0
  501. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.d.ts +8 -0
  502. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.js +41 -0
  503. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +9 -0
  504. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.js +42 -0
  505. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.d.ts +36 -0
  506. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.js +96 -0
  507. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.d.ts +5 -0
  508. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.js +21 -0
  509. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.d.ts +8 -0
  510. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.js +23 -0
  511. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.d.ts +24 -0
  512. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.js +115 -0
  513. package/dist/elements/widgets/designerView/tools/DrawElementTool.d.ts +19 -19
  514. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +79 -79
  515. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +16 -16
  516. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +94 -94
  517. package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +14 -14
  518. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +79 -79
  519. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +20 -20
  520. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +128 -128
  521. package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +19 -19
  522. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +109 -109
  523. package/dist/elements/widgets/designerView/tools/ITool.d.ts +9 -9
  524. package/dist/elements/widgets/designerView/tools/ITool.js +1 -1
  525. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +12 -12
  526. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +64 -64
  527. package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +15 -15
  528. package/dist/elements/widgets/designerView/tools/NamedTools.js +16 -16
  529. package/dist/elements/widgets/designerView/tools/PanTool.d.ts +10 -10
  530. package/dist/elements/widgets/designerView/tools/PanTool.js +26 -26
  531. package/dist/elements/widgets/designerView/tools/PickColorTool.d.ts +10 -10
  532. package/dist/elements/widgets/designerView/tools/PickColorTool.js +20 -20
  533. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +24 -24
  534. package/dist/elements/widgets/designerView/tools/PointerTool.js +283 -283
  535. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.d.ts +12 -12
  536. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +84 -84
  537. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +11 -11
  538. package/dist/elements/widgets/designerView/tools/TextTool.js +33 -33
  539. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +17 -17
  540. package/dist/elements/widgets/designerView/tools/ZoomTool.js +79 -79
  541. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.d.ts +5 -5
  542. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.js +19 -19
  543. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.d.ts +8 -8
  544. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.js +24 -20
  545. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +9 -12
  546. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.js +26 -28
  547. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.d.ts +36 -36
  548. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.js +57 -66
  549. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.d.ts +8 -0
  550. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.js +25 -0
  551. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.d.ts +5 -8
  552. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.js +21 -25
  553. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.d.ts +8 -0
  554. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.js +23 -0
  555. package/dist/elements/widgets/designerView/tools/designerToolsDock.d.ts +24 -23
  556. package/dist/elements/widgets/designerView/tools/designerToolsDock.js +93 -94
  557. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.d.ts +5 -0
  558. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.js +5 -0
  559. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.d.ts +16 -0
  560. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbar.js +68 -0
  561. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.d.ts +19 -0
  562. package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +62 -0
  563. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.d.ts +5 -0
  564. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.js +1 -0
  565. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.d.ts +4 -0
  566. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewToolbarButtonProvider.js +1 -0
  567. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.d.ts +5 -0
  568. package/dist/elements/widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js +16 -0
  569. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.d.ts +5 -0
  570. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.js +7 -0
  571. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.d.ts +5 -0
  572. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js +7 -0
  573. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.d.ts +5 -0
  574. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.js +10 -0
  575. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.d.ts +5 -0
  576. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js +10 -0
  577. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.d.ts +7 -0
  578. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js +11 -0
  579. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.d.ts +5 -0
  580. package/dist/elements/widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js +7 -0
  581. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.d.ts +5 -0
  582. package/dist/elements/widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js +7 -0
  583. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.d.ts +24 -0
  584. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.js +115 -0
  585. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.d.ts +6 -0
  586. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js +50 -0
  587. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.d.ts +7 -0
  588. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.js +23 -0
  589. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.d.ts +8 -0
  590. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.js +41 -0
  591. package/dist/elements/widgets/miniatureView/IMiniatureView.d.ts +2 -2
  592. package/dist/elements/widgets/miniatureView/IMiniatureView.js +1 -1
  593. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.d.ts +10 -10
  594. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +19 -19
  595. package/dist/elements/widgets/paletteView/paletteElements.d.ts +10 -10
  596. package/dist/elements/widgets/paletteView/paletteElements.js +72 -72
  597. package/dist/elements/widgets/paletteView/paletteTreeView.d.ts +12 -12
  598. package/dist/elements/widgets/paletteView/paletteTreeView.js +83 -83
  599. package/dist/elements/widgets/paletteView/paletteView.d.ts +11 -11
  600. package/dist/elements/widgets/paletteView/paletteView.js +31 -31
  601. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +21 -21
  602. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +127 -127
  603. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +17 -17
  604. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +92 -92
  605. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +15 -15
  606. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +48 -48
  607. package/dist/elements/widgets/treeView/ITreeView.d.ts +6 -6
  608. package/dist/elements/widgets/treeView/ITreeView.js +1 -1
  609. package/dist/elements/widgets/treeView/treeView.d.ts +28 -28
  610. package/dist/elements/widgets/treeView/treeView.js +148 -148
  611. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +32 -32
  612. package/dist/elements/widgets/treeView/treeViewExtended.js +312 -310
  613. package/dist/enums/EventNames.d.ts +15 -15
  614. package/dist/enums/EventNames.js +16 -16
  615. package/dist/enums/Orientation.d.ts +8 -8
  616. package/dist/enums/Orientation.js +9 -9
  617. package/dist/enums/PointerActionType.d.ts +8 -8
  618. package/dist/enums/PointerActionType.js +9 -9
  619. package/dist/index.d.ts +192 -191
  620. package/dist/index.js +142 -141
  621. package/dist/interfaces/IActivateable.d.ts +3 -3
  622. package/dist/interfaces/IActivateable.js +1 -1
  623. package/dist/interfaces/ICommandHandler.d.ts +5 -5
  624. package/dist/interfaces/ICommandHandler.js +1 -1
  625. package/dist/interfaces/IDisposable.d.ts +3 -3
  626. package/dist/interfaces/IDisposable.js +1 -1
  627. package/dist/interfaces/IPoint.d.ts +4 -4
  628. package/dist/interfaces/IPoint.js +1 -1
  629. package/dist/interfaces/IRect.d.ts +6 -6
  630. package/dist/interfaces/IRect.js +1 -1
  631. package/dist/interfaces/ISize.d.ts +4 -4
  632. package/dist/interfaces/ISize.js +1 -1
  633. package/dist/polyfill/globals.d.ts +11 -11
  634. package/dist/polyfill/globals.js +1 -1
  635. package/dist/polyfill/mobileDragDrop.d.ts +2 -2
  636. package/dist/polyfill/mobileDragDrop.js +32 -32
  637. package/package.json +3 -3
  638. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.d.ts +0 -12
  639. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.js +0 -118
  640. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension copy.d.ts +0 -13
  641. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension copy.js +0 -21
  642. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider copy.d.ts +0 -10
  643. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider copy.js +0 -13
@@ -1,80 +1,80 @@
1
- import { EventNames } from "../../../enums/EventNames";
2
- import { InstanceServiceContainer } from '../../services/InstanceServiceContainer';
3
- import { UndoService } from '../../services/undoService/UndoService';
4
- import { SelectionService } from '../../services/selectionService/SelectionService';
5
- import { DesignItem } from '../../item/DesignItem';
6
- import { BaseCustomWebComponentLazyAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
7
- import { dragDropFormatNameElementDefinition, dragDropFormatNameBindingObject } from '../../../Constants';
8
- import { ContentService } from '../../services/contentService/ContentService';
9
- import { InsertAction } from '../../services/undoService/transactionItems/InsertAction';
10
- import { Snaplines } from './Snaplines';
11
- import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper';
12
- import { DeleteAction } from '../../services/undoService/transactionItems/DeleteAction';
13
- import { CommandType } from '../../../commandHandling/CommandType';
14
- import { DefaultHtmlParserService } from "../../services/htmlParserService/DefaultHtmlParserService";
15
- import { ExtensionType } from "./extensions/ExtensionType";
16
- import { ExtensionManager } from "./extensions/ExtensionManager";
17
- import { NamedTools } from "./tools/NamedTools";
18
- import { Screenshot } from '../../helper/Screenshot';
19
- import { dataURItoBlob, exportData } from "../../helper/Helper";
20
- import { DomHelper } from '@node-projects/base-custom-webcomponent/dist/DomHelper';
21
- import { OverlayLayer } from "./extensions/OverlayLayer";
22
- import { OverlayLayerView } from './overlayLayerView';
23
- export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
24
- // Public Properties
25
- serviceContainer;
26
- instanceServiceContainer;
27
- containerBoundingRect;
28
- outerRect;
29
- clickOverlay;
30
- _activeTool;
31
- // IPlacementView
32
- gridSize = 10;
33
- alignOnGrid = false;
34
- alignOnSnap = true;
35
- snapLines;
36
- overlayLayer;
37
- rootDesignItem;
38
- eatEvents;
39
- transformHelperElement;
40
- _zoomFactor = 1; //if scale or zoom css property is used this needs to be the value
41
- _scaleFactor = 1; //if scale css property is used this need to be the scale value
42
- _canvasOffset = { x: 0, y: 0 };
43
- _currentContextMenu;
44
- get zoomFactor() {
45
- return this._zoomFactor;
46
- }
47
- set zoomFactor(value) {
48
- this._zoomFactor = value;
49
- this._zoomFactorChanged();
50
- }
51
- get scaleFactor() {
52
- return this._scaleFactor;
53
- }
54
- get canvasOffset() {
55
- return this._canvasOffset;
56
- }
57
- set canvasOffset(value) {
58
- this._canvasOffset = value;
59
- this._zoomFactorChanged();
60
- }
61
- get canvasOffsetUnzoomed() {
62
- return { x: this._canvasOffset.x * this.zoomFactor, y: this._canvasOffset.y * this.zoomFactor };
63
- }
64
- set canvasOffsetUnzoomed(value) {
65
- this.canvasOffset = { x: value.x / this.zoomFactor, y: value.y / this.zoomFactor };
66
- }
67
- onContentChanged = new TypedEvent();
68
- onZoomFactorChanged = new TypedEvent();
69
- // Private Variables
70
- _canvas;
71
- _canvasContainer;
72
- _outercanvas2;
73
- _lastHoverDesignItem;
74
- _pointerEventHandlerBound;
75
- _firstConnect;
76
- _onKeyDownBound;
77
- _onKeyUpBound;
1
+ import { EventNames } from "../../../enums/EventNames";
2
+ import { InstanceServiceContainer } from '../../services/InstanceServiceContainer';
3
+ import { UndoService } from '../../services/undoService/UndoService';
4
+ import { SelectionService } from '../../services/selectionService/SelectionService';
5
+ import { DesignItem } from '../../item/DesignItem';
6
+ import { BaseCustomWebComponentLazyAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
7
+ import { dragDropFormatNameElementDefinition, dragDropFormatNameBindingObject } from '../../../Constants';
8
+ import { ContentService } from '../../services/contentService/ContentService';
9
+ import { InsertAction } from '../../services/undoService/transactionItems/InsertAction';
10
+ import { Snaplines } from './Snaplines';
11
+ import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper';
12
+ import { DeleteAction } from '../../services/undoService/transactionItems/DeleteAction';
13
+ import { CommandType } from '../../../commandHandling/CommandType';
14
+ import { DefaultHtmlParserService } from "../../services/htmlParserService/DefaultHtmlParserService";
15
+ import { ExtensionType } from "./extensions/ExtensionType";
16
+ import { ExtensionManager } from "./extensions/ExtensionManager";
17
+ import { NamedTools } from "./tools/NamedTools";
18
+ import { Screenshot } from '../../helper/Screenshot';
19
+ import { dataURItoBlob, exportData } from "../../helper/Helper";
20
+ import { DomHelper } from '@node-projects/base-custom-webcomponent/dist/DomHelper';
21
+ import { OverlayLayer } from "./extensions/OverlayLayer";
22
+ import { OverlayLayerView } from './overlayLayerView';
23
+ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
24
+ // Public Properties
25
+ serviceContainer;
26
+ instanceServiceContainer;
27
+ containerBoundingRect;
28
+ outerRect;
29
+ clickOverlay;
30
+ _activeTool;
31
+ // IPlacementView
32
+ gridSize = 10;
33
+ alignOnGrid = false;
34
+ alignOnSnap = true;
35
+ snapLines;
36
+ overlayLayer;
37
+ rootDesignItem;
38
+ eatEvents;
39
+ transformHelperElement;
40
+ _zoomFactor = 1; //if scale or zoom css property is used this needs to be the value
41
+ _scaleFactor = 1; //if scale css property is used this need to be the scale value
42
+ _canvasOffset = { x: 0, y: 0 };
43
+ _currentContextMenu;
44
+ get zoomFactor() {
45
+ return this._zoomFactor;
46
+ }
47
+ set zoomFactor(value) {
48
+ this._zoomFactor = value;
49
+ this._zoomFactorChanged();
50
+ }
51
+ get scaleFactor() {
52
+ return this._scaleFactor;
53
+ }
54
+ get canvasOffset() {
55
+ return this._canvasOffset;
56
+ }
57
+ set canvasOffset(value) {
58
+ this._canvasOffset = value;
59
+ this._zoomFactorChanged();
60
+ }
61
+ get canvasOffsetUnzoomed() {
62
+ return { x: this._canvasOffset.x * this.zoomFactor, y: this._canvasOffset.y * this.zoomFactor };
63
+ }
64
+ set canvasOffsetUnzoomed(value) {
65
+ this.canvasOffset = { x: value.x / this.zoomFactor, y: value.y / this.zoomFactor };
66
+ }
67
+ onContentChanged = new TypedEvent();
68
+ onZoomFactorChanged = new TypedEvent();
69
+ // Private Variables
70
+ _canvas;
71
+ _canvasContainer;
72
+ _outercanvas2;
73
+ _lastHoverDesignItem;
74
+ _pointerEventHandlerBound;
75
+ _firstConnect;
76
+ _onKeyDownBound;
77
+ _onKeyUpBound;
78
78
  static style = css `
79
79
  :host {
80
80
  display: block;
@@ -139,7 +139,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
139
139
  #node-projects-designer-canvas-transformHelper {
140
140
  height: 0;
141
141
  width: 0;
142
- }`;
142
+ }`;
143
143
  static template = html `
144
144
  <div style="display: flex;flex-direction: column;width: 100%;height: 100%;">
145
145
  <div style="width: 100%;height: 100%;">
@@ -152,623 +152,623 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
152
152
  <div id="node-projects-designer-canvas-clickOverlay" tabindex="0" style="pointer-events: auto;"></div>
153
153
  </div>
154
154
  <div id="node-projects-designer-canvas-transformHelper"></div>
155
- </div>`;
156
- extensionManager;
157
- _pointerextensions;
158
- _onDblClickBound;
159
- constructor() {
160
- super();
161
- this._restoreCachedInititalValues();
162
- this._canvas = this._getDomElement('node-projects-designer-canvas-canvas');
163
- this._canvasContainer = this._getDomElement('node-projects-designer-canvas-canvasContainer');
164
- this._outercanvas2 = this._getDomElement('node-projects-designer-canvas-outercanvas2');
165
- this.clickOverlay = this._getDomElement('node-projects-designer-canvas-clickOverlay');
166
- this.transformHelperElement = this._getDomElement('node-projects-designer-canvas-transformHelper');
167
- this._onKeyDownBound = this.onKeyDown.bind(this);
168
- this._onKeyUpBound = this.onKeyUp.bind(this);
169
- this._onDblClickBound = this._onDblClick.bind(this);
170
- this._pointerEventHandlerBound = this._pointerEventHandler.bind(this);
171
- this.clickOverlay.oncontextmenu = (e) => e.preventDefault();
172
- }
173
- get designerWidth() {
174
- return this._canvasContainer.style.width;
175
- }
176
- set designerWidth(value) {
177
- this._canvasContainer.style.width = value;
178
- this._zoomFactorChanged();
179
- }
180
- get designerHeight() {
181
- return this._canvasContainer.style.height;
182
- }
183
- set designerHeight(value) {
184
- this._canvasContainer.style.height = value;
185
- this._zoomFactorChanged();
186
- }
187
- getDesignSurfaceDimensions() {
188
- let ret = { width: null, height: null };
189
- const cs = getComputedStyle(this._canvasContainer);
190
- if (this._canvasContainer.style.width)
191
- ret.width = parseFloat(cs.width);
192
- if (this._canvasContainer.style.height)
193
- ret.height = parseFloat(cs.height);
194
- return ret;
195
- }
196
- get designerOffsetWidth() {
197
- return this._canvasContainer.offsetWidth;
198
- }
199
- get designerOffsetHeight() {
200
- return this._canvasContainer.offsetHeight;
201
- }
202
- set additionalStyle(value) {
203
- if (value) {
204
- for (let r of value.rules) {
205
- if (r instanceof CSSStyleRule) {
206
- let parts = r.selectorText.split(',');
207
- let t = '';
208
- for (let p of parts) {
209
- if (r.selectorText)
210
- t += ',';
211
- t += '#canvas ' + p;
212
- }
213
- r.selectorText = t;
214
- }
215
- }
216
- this.shadowRoot.adoptedStyleSheets = [this.constructor.style, value];
217
- }
218
- else
219
- this.shadowRoot.adoptedStyleSheets = [this.constructor.style];
220
- }
221
- /* --- start IUiCommandHandler --- */
222
- async executeCommand(command) {
223
- const modelCommandService = this.serviceContainer.modelCommandService;
224
- if (modelCommandService) {
225
- let handeled = await modelCommandService.executeCommand(this, command);
226
- if (handeled != null)
227
- return;
228
- }
229
- switch (command.type) {
230
- case CommandType.screenshot:
231
- {
232
- if (!this.instanceServiceContainer.selectionService.primarySelection)
233
- alert("you need to select an element!");
234
- else {
235
- if (!Screenshot.screenshotsEnabled) {
236
- alert("you need to select current tab in next browser dialog, or screenshots will not work correctly");
237
- }
238
- const el = this.instanceServiceContainer.selectionService.primarySelection.element;
239
- const sel = this.instanceServiceContainer.selectionService.selectedElements;
240
- this.instanceServiceContainer.selectionService.setSelectedElements(null);
241
- const screenshot = await Screenshot.takeScreenshot(el, el.clientWidth, el.clientHeight);
242
- await exportData(dataURItoBlob(screenshot), "screenshot.png");
243
- this.instanceServiceContainer.selectionService.setSelectedElements(sel);
244
- }
245
- }
246
- break;
247
- case CommandType.setTool:
248
- {
249
- this.serviceContainer.globalContext.tool = this.serviceContainer.designerTools.get(command.parameter);
250
- }
251
- break;
252
- case CommandType.setStrokeColor:
253
- {
254
- this.serviceContainer.globalContext.strokeColor = command.parameter;
255
- }
256
- break;
257
- case CommandType.setFillBrush:
258
- {
259
- this.serviceContainer.globalContext.fillBrush = command.parameter;
260
- }
261
- break;
262
- case CommandType.setStrokeThickness:
263
- {
264
- this.serviceContainer.globalContext.strokeThickness = command.parameter;
265
- }
266
- break;
267
- case CommandType.delete:
268
- this.handleDeleteCommand();
269
- break;
270
- case CommandType.undo:
271
- this.instanceServiceContainer.undoService.undo();
272
- break;
273
- case CommandType.redo:
274
- this.instanceServiceContainer.undoService.redo();
275
- break;
276
- case CommandType.copy:
277
- this.handleCopyCommand();
278
- break;
279
- case CommandType.cut:
280
- this.handleCopyCommand();
281
- this.handleDeleteCommand();
282
- break;
283
- case CommandType.paste:
284
- this.handlePasteCommand();
285
- break;
286
- case CommandType.selectAll:
287
- this.handleSelectAll();
288
- break;
289
- }
290
- }
291
- canExecuteCommand(command) {
292
- const modelCommandService = this.serviceContainer.modelCommandService;
293
- if (modelCommandService) {
294
- let handeled = modelCommandService.canExecuteCommand(this, command);
295
- if (handeled !== null)
296
- return handeled;
297
- }
298
- if (command.type === CommandType.undo) {
299
- return this.instanceServiceContainer.undoService.canUndo();
300
- }
301
- if (command.type === CommandType.redo) {
302
- return this.instanceServiceContainer.undoService.canRedo();
303
- }
304
- if (command.type === CommandType.setTool) {
305
- return this.serviceContainer.designerTools.has(command.parameter);
306
- }
307
- return true;
308
- }
309
- /* --- end IUiCommandHandler --- */
310
- handleSelectAll() {
311
- this.instanceServiceContainer.selectionService.setSelectedElements(Array.from(this.rootDesignItem.children()));
312
- }
313
- async handleCopyCommand() {
314
- await this.serviceContainer.copyPasteService.copyItems(this.instanceServiceContainer.selectionService.selectedElements);
315
- }
316
- async handlePasteCommand() {
317
- const designItems = await this.serviceContainer.copyPasteService.getPasteItems(this.serviceContainer, this.instanceServiceContainer);
318
- let grp = this.rootDesignItem.openGroup("Insert");
319
- if (designItems) {
320
- for (let di of designItems) {
321
- this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
322
- }
323
- const intializationService = this.serviceContainer.intializationService;
324
- if (intializationService) {
325
- for (let di of designItems)
326
- intializationService.init(di);
327
- }
328
- this.instanceServiceContainer.selectionService.setSelectedElements(designItems);
329
- }
330
- grp.commit();
331
- this.snapLines.clearSnaplines();
332
- }
333
- handleDeleteCommand() {
334
- let items = this.instanceServiceContainer.selectionService.selectedElements;
335
- this.instanceServiceContainer.undoService.execute(new DeleteAction(items));
336
- this.instanceServiceContainer.selectionService.setSelectedElements(null);
337
- }
338
- initialize(serviceContainer) {
339
- this.serviceContainer = serviceContainer;
340
- this.instanceServiceContainer = new InstanceServiceContainer(this);
341
- this.instanceServiceContainer.register("undoService", new UndoService(this));
342
- this.instanceServiceContainer.register("selectionService", new SelectionService);
343
- this.rootDesignItem = DesignItem.GetOrCreateDesignItem(this._canvas, this.serviceContainer, this.instanceServiceContainer);
344
- this.instanceServiceContainer.register("contentService", new ContentService(this.rootDesignItem));
345
- this.extensionManager = new ExtensionManager(this);
346
- this.overlayLayer = new OverlayLayerView(serviceContainer);
347
- this.overlayLayer.style.pointerEvents = 'none';
348
- this.clickOverlay.appendChild(this.overlayLayer);
349
- this.snapLines = new Snaplines(this.overlayLayer);
350
- this.snapLines.initialize(this.rootDesignItem);
351
- if (this.serviceContainer.designerPointerExtensions)
352
- for (let pe of this.serviceContainer.designerPointerExtensions) {
353
- if (!this._pointerextensions)
354
- this._pointerextensions = [];
355
- this._pointerextensions.push(pe.getExtension(this));
356
- }
357
- if (this.children) {
358
- let children = this.children;
359
- if (this.children.length == 1 && this.children[0] instanceof HTMLSlotElement) {
360
- children = this.children[0].assignedElements();
361
- }
362
- const parser = this.serviceContainer.getLastServiceWhere('htmlParserService', x => x.constructor == DefaultHtmlParserService);
363
- this.addDesignItems(parser.createDesignItems(children, this.serviceContainer, this.instanceServiceContainer));
364
- }
365
- }
366
- connectedCallback() {
367
- if (!this._firstConnect) {
368
- this._firstConnect = true;
369
- this.clickOverlay.addEventListener(EventNames.PointerDown, this._pointerEventHandlerBound);
370
- this.clickOverlay.addEventListener(EventNames.PointerMove, this._pointerEventHandlerBound);
371
- this.clickOverlay.addEventListener(EventNames.PointerUp, this._pointerEventHandlerBound);
372
- this.clickOverlay.addEventListener(EventNames.DragEnter, event => this._onDragEnter(event));
373
- this.clickOverlay.addEventListener(EventNames.DragLeave, event => this._onDragLeave(event));
374
- this.clickOverlay.addEventListener(EventNames.DragOver, event => this._onDragOver(event));
375
- this.clickOverlay.addEventListener(EventNames.Drop, event => this._onDrop(event));
376
- this.clickOverlay.addEventListener(EventNames.KeyDown, this._onKeyDownBound, true);
377
- this.clickOverlay.addEventListener(EventNames.KeyUp, this._onKeyUpBound, true);
378
- this.clickOverlay.addEventListener(EventNames.DblClick, this._onDblClickBound, true);
379
- }
380
- }
381
- _zoomFactorChanged() {
382
- //a@ts-ignore
383
- //this._canvasContainer.style.zoom = <any>this._zoomFactor;
384
- //this._canvasContainer.style.transform = 'scale(' + this._zoomFactor+') translate(' + this._translate.x + ', '+this._translate.y+')';
385
- //this._canvasContainer.style.transformOrigin = '0 0';
386
- this._canvasContainer.style.bottom = this._outercanvas2.offsetHeight >= this._canvasContainer.offsetHeight ? '0' : '';
387
- this._canvasContainer.style.right = this._outercanvas2.offsetWidth >= this._canvasContainer.offsetWidth ? '0' : '';
388
- this._updateTransform();
389
- this._fillCalculationrects();
390
- this.onZoomFactorChanged.emit(this._zoomFactor);
391
- }
392
- _updateTransform() {
393
- this._scaleFactor = this._zoomFactor;
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
- this._canvasContainer.style.transformOrigin = '0 0';
396
- this.overlayLayer.style.transform = this._canvasContainer.style.transform;
397
- this.overlayLayer.style.transformOrigin = '0 0';
398
- this.snapLines.clearSnaplines();
399
- }
400
- setDesignItems(designItems) {
401
- this._fillCalculationrects();
402
- this.instanceServiceContainer.undoService.clear();
403
- this.overlayLayer.removeAllOverlays();
404
- DomHelper.removeAllChildnodes(this.overlayLayer);
405
- this.rootDesignItem.clearChildren();
406
- this.addDesignItems(designItems);
407
- this.instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'parsed' });
408
- }
409
- addDesignItems(designItems) {
410
- if (designItems) {
411
- for (let di of designItems) {
412
- this.rootDesignItem._insertChildInternal(di);
413
- }
414
- }
415
- const intializationService = this.serviceContainer.intializationService;
416
- if (intializationService) {
417
- for (let di of designItems)
418
- intializationService.init(di);
419
- }
420
- this.snapLines.clearSnaplines();
421
- }
422
- _onDragEnter(event) {
423
- this._fillCalculationrects();
424
- event.preventDefault();
425
- const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
426
- if (hasTransferDataBindingObject) {
427
- const ddService = this.serviceContainer.bindableObjectDragDropService;
428
- if (ddService) {
429
- const effect = ddService.dragEnter(this, event);
430
- event.dataTransfer.dropEffect = effect;
431
- }
432
- }
433
- }
434
- _onDragLeave(event) {
435
- this._fillCalculationrects();
436
- event.preventDefault();
437
- this._canvas.classList.remove('dragFileActive');
438
- const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
439
- if (hasTransferDataBindingObject) {
440
- const ddService = this.serviceContainer.bindableObjectDragDropService;
441
- if (ddService) {
442
- const effect = ddService.dragLeave(this, event);
443
- event.dataTransfer.dropEffect = effect;
444
- }
445
- }
446
- }
447
- _onDragOver(event) {
448
- event.preventDefault();
449
- /*if (this.alignOnSnap) {
450
- this.snapLines.calculateSnaplines(this.instanceServiceContainer.selectionService.selectedElements);
451
- //TODO: fix this following code...
452
- const currentPoint = this.getDesignerMousepoint(event);
453
- let containerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(this.rootDesignItem))
454
- containerService.finishPlace(this, this.rootDesignItem, this._initialPoint, currentPoint, this.instanceServiceContainer.selectionService.selectedElements);
455
- }*/
456
- this._fillCalculationrects();
457
- if (event.dataTransfer.types.length > 0 && event.dataTransfer.types[0] == 'Files') {
458
- const ddService = this.serviceContainer.dragDropService;
459
- if (ddService) {
460
- const effect = ddService.dragOver(event);
461
- event.dataTransfer.dropEffect = effect;
462
- if (effect !== 'none')
463
- this._canvas.classList.add('dragFileActive');
464
- }
465
- }
466
- const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
467
- if (hasTransferDataBindingObject) {
468
- const ddService = this.serviceContainer.bindableObjectDragDropService;
469
- if (ddService) {
470
- const effect = ddService.dragOver(this, event);
471
- event.dataTransfer.dropEffect = effect;
472
- }
473
- }
474
- }
475
- async _onDrop(event) {
476
- event.preventDefault();
477
- this._canvas.classList.remove('dragFileActive');
478
- this._fillCalculationrects();
479
- if (event.dataTransfer.files?.length > 0) {
480
- const ddService = this.serviceContainer.dragDropService;
481
- if (ddService) {
482
- ddService.drop(this, event);
483
- }
484
- }
485
- else {
486
- const transferDataBindingObject = event.dataTransfer.getData(dragDropFormatNameBindingObject);
487
- if (transferDataBindingObject) {
488
- const bo = JSON.parse(transferDataBindingObject);
489
- const ddService = this.serviceContainer.bindableObjectDragDropService;
490
- if (ddService) {
491
- const effect = ddService.drop(this, event, bo);
492
- event.dataTransfer.dropEffect = effect;
493
- }
494
- }
495
- else {
496
- this._fillCalculationrects();
497
- const position = this.getNormalizedEventCoordinates(event);
498
- const transferData = event.dataTransfer.getData(dragDropFormatNameElementDefinition);
499
- const elementDefinition = JSON.parse(transferData);
500
- const di = await this.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(elementDefinition, this.serviceContainer, this.instanceServiceContainer));
501
- const grp = di.openGroup("Insert");
502
- di.setStyle('position', 'absolute');
503
- di.setStyle('left', position.x + 'px');
504
- di.setStyle('top', position.y + 'px');
505
- this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
506
- grp.commit();
507
- requestAnimationFrame(() => this.instanceServiceContainer.selectionService.setSelectedElements([di]));
508
- }
509
- }
510
- }
511
- showDesignItemContextMenu(designItem, event) {
512
- this._currentContextMenu?.close();
513
- const mnuItems = [];
514
- for (let cme of this.serviceContainer.designerContextMenuExtensions) {
515
- if (cme.shouldProvideContextmenu(event, this, designItem, 'designer')) {
516
- mnuItems.push(...cme.provideContextMenuItems(event, this, designItem));
517
- }
518
- }
519
- this._currentContextMenu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
520
- return this._currentContextMenu;
521
- }
522
- _onDblClick(event) {
523
- event.preventDefault();
524
- this.extensionManager.applyExtension(this.instanceServiceContainer.selectionService.primarySelection, ExtensionType.Doubleclick);
525
- }
526
- onKeyUp(event) {
527
- if (event.composedPath().indexOf(this.eatEvents) >= 0)
528
- return;
529
- event.preventDefault();
530
- }
531
- onKeyDown(event) {
532
- if (event.composedPath().indexOf(this.eatEvents) >= 0)
533
- return;
534
- if ((event.ctrlKey || event.metaKey) && event.key === 'z' && !event.shiftKey)
535
- this.executeCommand({ type: CommandType.undo });
536
- else if ((event.ctrlKey || event.metaKey) && event.key === 'z' && event.shiftKey)
537
- this.executeCommand({ type: CommandType.redo });
538
- else if ((event.ctrlKey || event.metaKey) && event.key === 'y')
539
- this.executeCommand({ type: CommandType.redo });
540
- else if ((event.ctrlKey || event.metaKey) && event.key === 'a')
541
- this.executeCommand({ type: CommandType.selectAll });
542
- else if ((event.ctrlKey || event.metaKey) && event.key === 'c')
543
- this.executeCommand({ type: CommandType.copy });
544
- else if ((event.ctrlKey || event.metaKey) && event.key === 'v')
545
- this.executeCommand({ type: CommandType.paste });
546
- else if ((event.ctrlKey || event.metaKey) && event.key === 'x')
547
- this.executeCommand({ type: CommandType.cut });
548
- else {
549
- let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
550
- if (!primarySelection) {
551
- return;
552
- }
553
- let moveOffset = 1;
554
- if (event.shiftKey)
555
- moveOffset = 10;
556
- switch (event.key) {
557
- case 'Delete':
558
- case 'Backspace':
559
- this.executeCommand({ type: CommandType.delete });
560
- break;
561
- case 'ArrowUp':
562
- {
563
- this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) - moveOffset + 'px'));
564
- this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
565
- }
566
- break;
567
- case 'ArrowDown':
568
- {
569
- this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) + moveOffset + 'px'));
570
- this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
571
- }
572
- break;
573
- case 'ArrowLeft':
574
- {
575
- this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) - moveOffset + 'px'));
576
- this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
577
- }
578
- break;
579
- case 'ArrowRight':
580
- {
581
- this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) + moveOffset + 'px'));
582
- this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
583
- }
584
- break;
585
- }
586
- }
587
- event.preventDefault();
588
- }
589
- /**
590
- * Converts the Event x/y coordinates, to the mouse position on the canvas
591
- */
592
- getNormalizedEventCoordinates(event) {
593
- const offsetOfOuterX = (event.clientX - this.outerRect.x) / this.zoomFactor;
594
- const offsetOfCanvasX = this.containerBoundingRect.x - this.outerRect.x;
595
- const offsetOfOuterY = (event.clientY - this.outerRect.y) / this.zoomFactor;
596
- const offsetOfCanvasY = this.containerBoundingRect.y - this.outerRect.y;
597
- return {
598
- x: offsetOfOuterX - offsetOfCanvasX / this.zoomFactor,
599
- y: offsetOfOuterY - offsetOfCanvasY / this.zoomFactor
600
- };
601
- }
602
- /**
603
- * Converts the Event x/y coordinates, to the mouse position in the viewport
604
- */
605
- getViewportCoordinates(event) {
606
- return {
607
- x: (event.clientX - this.outerRect.x),
608
- y: (event.clientY - this.outerRect.y)
609
- };
610
- }
611
- getNormalizedElementCoordinates(element) {
612
- const targetRect = element.getBoundingClientRect();
613
- return { x: (targetRect.x - this.containerBoundingRect.x) / this.scaleFactor, y: (targetRect.y - this.containerBoundingRect.y) / this.scaleFactor, width: targetRect.width / this.scaleFactor, height: targetRect.height / this.scaleFactor };
614
- }
615
- getNormalizedOffsetInElement(event, element) {
616
- const normEvt = this.getNormalizedEventCoordinates(event);
617
- const normEl = this.getNormalizedElementCoordinates(element);
618
- return { x: normEvt.x - normEl.x, y: normEvt.y - normEl.y };
619
- }
620
- //todo: remove
621
- elementFromPoint(x, y) {
622
- let elements = this.shadowRoot.elementsFromPoint(x, y);
623
- let element = elements[0];
624
- if (element === this.clickOverlay)
625
- element = elements[1];
626
- if (element === this.clickOverlay)
627
- element = this._canvas;
628
- return element;
629
- }
630
- elementsFromPoint(x, y) {
631
- let retVal = [];
632
- let elements = this.shadowRoot.elementsFromPoint(x, y);
633
- for (let e of elements) {
634
- if (e == this.clickOverlay)
635
- continue;
636
- if (e == this.overlayLayer)
637
- continue;
638
- if (e.getRootNode() !== this.shadowRoot)
639
- continue;
640
- retVal.push(e);
641
- if (e === this._canvas)
642
- break;
643
- }
644
- return retVal;
645
- }
646
- getElementAtPoint(point, ignoreElementCallback) {
647
- const elements = this.shadowRoot.elementsFromPoint(point.x, point.y);
648
- let currentElement = null;
649
- for (let i = 0; i < elements.length; i++) {
650
- currentElement = elements[i];
651
- if (currentElement == this.clickOverlay) {
652
- currentElement = null;
653
- continue;
654
- }
655
- if (currentElement == this.overlayLayer) {
656
- currentElement = null;
657
- continue;
658
- }
659
- if (ignoreElementCallback && ignoreElementCallback(currentElement)) {
660
- currentElement = null;
661
- continue;
662
- }
663
- if (currentElement.getRootNode() !== this.shadowRoot) {
664
- currentElement = null;
665
- continue;
666
- }
667
- break;
668
- }
669
- return currentElement;
670
- }
671
- showHoverExtension(element) {
672
- const currentDesignItem = DesignItem.GetOrCreateDesignItem(element, this.serviceContainer, this.instanceServiceContainer);
673
- if (this._lastHoverDesignItem != currentDesignItem) {
674
- if (this._lastHoverDesignItem)
675
- this.extensionManager.removeExtension(this._lastHoverDesignItem, ExtensionType.MouseOver);
676
- if (currentDesignItem && currentDesignItem != this.rootDesignItem && DomHelper.getHost(element.parentNode) !== this.overlayLayer)
677
- this.extensionManager.applyExtension(currentDesignItem, ExtensionType.MouseOver);
678
- this._lastHoverDesignItem = currentDesignItem;
679
- }
680
- }
681
- _pointerEventHandler(event, forceElement = null) {
682
- this._fillCalculationrects();
683
- if (this._pointerextensions) {
684
- for (let pe of this._pointerextensions)
685
- pe.refresh(event);
686
- }
687
- if (event.composedPath().indexOf(this.eatEvents) >= 0)
688
- return;
689
- let currentElement;
690
- if (forceElement)
691
- currentElement = forceElement;
692
- else {
693
- currentElement = this.serviceContainer.elementAtPointService.getElementAtPoint(this, { x: event.x, y: event.y });
694
- if (!currentElement) {
695
- currentElement = this._canvas;
696
- }
697
- }
698
- if (this._activeTool) {
699
- this._activeTool.pointerEventHandler(this, event, currentElement);
700
- return;
701
- }
702
- this.clickOverlay.style.cursor = this._canvas.style.cursor;
703
- const currentDesignItem = DesignItem.GetOrCreateDesignItem(currentElement, this.serviceContainer, this.instanceServiceContainer);
704
- this.showHoverExtension(currentDesignItem.element);
705
- //TODO: needed ??
706
- if (currentElement && DomHelper.getHost(currentElement.parentNode) === this.overlayLayer) {
707
- if (this.eatEvents)
708
- return;
709
- currentElement = this.instanceServiceContainer.selectionService.primarySelection?.element ?? this._canvas;
710
- }
711
- let tool = this.serviceContainer.globalContext.tool ?? this.serviceContainer.designerTools.get(NamedTools.Pointer);
712
- this._canvas.style.cursor = tool.cursor;
713
- tool.pointerEventHandler(this, event, currentElement);
714
- }
715
- captureActiveTool(tool) {
716
- this._activeTool = tool;
717
- }
718
- releaseActiveTool() {
719
- this._activeTool = null;
720
- }
721
- _fillCalculationrects() {
722
- this.containerBoundingRect = this._canvasContainer.getBoundingClientRect();
723
- this.outerRect = this._outercanvas2.getBoundingClientRect();
724
- }
725
- addOverlay(element, overlayLayer = OverlayLayer.Normal) {
726
- this.overlayLayer.addOverlay(element, overlayLayer);
727
- }
728
- removeOverlay(element) {
729
- this.overlayLayer.removeOverlay(element);
730
- }
731
- zoomOntoRectangle(startPoint, endPoint) {
732
- let rect = {
733
- x: startPoint.x < endPoint.x ? startPoint.x : endPoint.x,
734
- y: startPoint.y < endPoint.y ? startPoint.y : endPoint.y,
735
- width: Math.abs(startPoint.x - endPoint.x),
736
- height: Math.abs(startPoint.y - endPoint.y),
737
- };
738
- let zFactorWidth = this.outerRect.width / rect.width;
739
- let zFactorHeight = this.outerRect.height / rect.height;
740
- let zoomFactor = zFactorWidth >= zFactorHeight ? zFactorHeight : zFactorWidth;
741
- let rectCenter = {
742
- x: (rect.width / 2) + rect.x,
743
- y: (rect.height / 2) + rect.y
744
- };
745
- this.zoomPoint(rectCenter, zoomFactor);
746
- }
747
- zoomPoint(canvasPoint, newZoom) {
748
- this.zoomFactor = newZoom;
749
- const newCanvasOffset = {
750
- x: -(canvasPoint.x) + this.outerRect.width / this.zoomFactor / 2,
751
- y: -(canvasPoint.y) + this.outerRect.height / this.zoomFactor / 2
752
- };
753
- this.canvasOffset = newCanvasOffset;
754
- }
755
- zoomConvertEventToViewPortCoordinates(point) {
756
- const offsetOfCanvasX = this.containerBoundingRect.x - this.outerRect.x;
757
- const offsetOfCanvasY = this.containerBoundingRect.y - this.outerRect.y;
758
- return {
759
- x: (point.x + offsetOfCanvasX / this.zoomFactor) * this.zoomFactor,
760
- y: (point.y + offsetOfCanvasY / this.zoomFactor) * this.zoomFactor
761
- };
762
- }
763
- zoomTowardsPoint(canvasPoint, newZoom) {
764
- const scaleChange = newZoom / this.zoomFactor;
765
- const point = this.zoomConvertEventToViewPortCoordinates(canvasPoint);
766
- const newCanvasOffset = {
767
- x: -(point.x * (scaleChange - 1) + scaleChange * -this.canvasOffsetUnzoomed.x),
768
- y: -(point.y * (scaleChange - 1) + scaleChange * -this.canvasOffsetUnzoomed.y)
769
- };
770
- this.zoomFactor = newZoom;
771
- this.canvasOffsetUnzoomed = newCanvasOffset;
772
- }
773
- }
774
- customElements.define('node-projects-designer-canvas', DesignerCanvas);
155
+ </div>`;
156
+ extensionManager;
157
+ _pointerextensions;
158
+ _onDblClickBound;
159
+ constructor() {
160
+ super();
161
+ this._restoreCachedInititalValues();
162
+ this._canvas = this._getDomElement('node-projects-designer-canvas-canvas');
163
+ this._canvasContainer = this._getDomElement('node-projects-designer-canvas-canvasContainer');
164
+ this._outercanvas2 = this._getDomElement('node-projects-designer-canvas-outercanvas2');
165
+ this.clickOverlay = this._getDomElement('node-projects-designer-canvas-clickOverlay');
166
+ this.transformHelperElement = this._getDomElement('node-projects-designer-canvas-transformHelper');
167
+ this._onKeyDownBound = this.onKeyDown.bind(this);
168
+ this._onKeyUpBound = this.onKeyUp.bind(this);
169
+ this._onDblClickBound = this._onDblClick.bind(this);
170
+ this._pointerEventHandlerBound = this._pointerEventHandler.bind(this);
171
+ this.clickOverlay.oncontextmenu = (e) => e.preventDefault();
172
+ }
173
+ get designerWidth() {
174
+ return this._canvasContainer.style.width;
175
+ }
176
+ set designerWidth(value) {
177
+ this._canvasContainer.style.width = value;
178
+ this._zoomFactorChanged();
179
+ }
180
+ get designerHeight() {
181
+ return this._canvasContainer.style.height;
182
+ }
183
+ set designerHeight(value) {
184
+ this._canvasContainer.style.height = value;
185
+ this._zoomFactorChanged();
186
+ }
187
+ getDesignSurfaceDimensions() {
188
+ let ret = { width: null, height: null };
189
+ const cs = getComputedStyle(this._canvasContainer);
190
+ if (this._canvasContainer.style.width)
191
+ ret.width = parseFloat(cs.width);
192
+ if (this._canvasContainer.style.height)
193
+ ret.height = parseFloat(cs.height);
194
+ return ret;
195
+ }
196
+ get designerOffsetWidth() {
197
+ return this._canvasContainer.offsetWidth;
198
+ }
199
+ get designerOffsetHeight() {
200
+ return this._canvasContainer.offsetHeight;
201
+ }
202
+ set additionalStyle(value) {
203
+ if (value) {
204
+ for (let r of value.rules) {
205
+ if (r instanceof CSSStyleRule) {
206
+ let parts = r.selectorText.split(',');
207
+ let t = '';
208
+ for (let p of parts) {
209
+ if (r.selectorText)
210
+ t += ',';
211
+ t += '#canvas ' + p;
212
+ }
213
+ r.selectorText = t;
214
+ }
215
+ }
216
+ this.shadowRoot.adoptedStyleSheets = [this.constructor.style, value];
217
+ }
218
+ else
219
+ this.shadowRoot.adoptedStyleSheets = [this.constructor.style];
220
+ }
221
+ /* --- start IUiCommandHandler --- */
222
+ async executeCommand(command) {
223
+ const modelCommandService = this.serviceContainer.modelCommandService;
224
+ if (modelCommandService) {
225
+ let handeled = await modelCommandService.executeCommand(this, command);
226
+ if (handeled != null)
227
+ return;
228
+ }
229
+ switch (command.type) {
230
+ case CommandType.screenshot:
231
+ {
232
+ if (!this.instanceServiceContainer.selectionService.primarySelection)
233
+ alert("you need to select an element!");
234
+ else {
235
+ if (!Screenshot.screenshotsEnabled) {
236
+ alert("you need to select current tab in next browser dialog, or screenshots will not work correctly");
237
+ }
238
+ const el = this.instanceServiceContainer.selectionService.primarySelection.element;
239
+ const sel = this.instanceServiceContainer.selectionService.selectedElements;
240
+ this.instanceServiceContainer.selectionService.setSelectedElements(null);
241
+ const screenshot = await Screenshot.takeScreenshot(el, el.clientWidth, el.clientHeight);
242
+ await exportData(dataURItoBlob(screenshot), "screenshot.png");
243
+ this.instanceServiceContainer.selectionService.setSelectedElements(sel);
244
+ }
245
+ }
246
+ break;
247
+ case CommandType.setTool:
248
+ {
249
+ this.serviceContainer.globalContext.tool = this.serviceContainer.designerTools.get(command.parameter);
250
+ }
251
+ break;
252
+ case CommandType.setStrokeColor:
253
+ {
254
+ this.serviceContainer.globalContext.strokeColor = command.parameter;
255
+ }
256
+ break;
257
+ case CommandType.setFillBrush:
258
+ {
259
+ this.serviceContainer.globalContext.fillBrush = command.parameter;
260
+ }
261
+ break;
262
+ case CommandType.setStrokeThickness:
263
+ {
264
+ this.serviceContainer.globalContext.strokeThickness = command.parameter;
265
+ }
266
+ break;
267
+ case CommandType.delete:
268
+ this.handleDeleteCommand();
269
+ break;
270
+ case CommandType.undo:
271
+ this.instanceServiceContainer.undoService.undo();
272
+ break;
273
+ case CommandType.redo:
274
+ this.instanceServiceContainer.undoService.redo();
275
+ break;
276
+ case CommandType.copy:
277
+ this.handleCopyCommand();
278
+ break;
279
+ case CommandType.cut:
280
+ this.handleCopyCommand();
281
+ this.handleDeleteCommand();
282
+ break;
283
+ case CommandType.paste:
284
+ this.handlePasteCommand();
285
+ break;
286
+ case CommandType.selectAll:
287
+ this.handleSelectAll();
288
+ break;
289
+ }
290
+ }
291
+ canExecuteCommand(command) {
292
+ const modelCommandService = this.serviceContainer.modelCommandService;
293
+ if (modelCommandService) {
294
+ let handeled = modelCommandService.canExecuteCommand(this, command);
295
+ if (handeled !== null)
296
+ return handeled;
297
+ }
298
+ if (command.type === CommandType.undo) {
299
+ return this.instanceServiceContainer.undoService.canUndo();
300
+ }
301
+ if (command.type === CommandType.redo) {
302
+ return this.instanceServiceContainer.undoService.canRedo();
303
+ }
304
+ if (command.type === CommandType.setTool) {
305
+ return this.serviceContainer.designerTools.has(command.parameter);
306
+ }
307
+ return true;
308
+ }
309
+ /* --- end IUiCommandHandler --- */
310
+ handleSelectAll() {
311
+ this.instanceServiceContainer.selectionService.setSelectedElements(Array.from(this.rootDesignItem.children()));
312
+ }
313
+ async handleCopyCommand() {
314
+ await this.serviceContainer.copyPasteService.copyItems(this.instanceServiceContainer.selectionService.selectedElements);
315
+ }
316
+ async handlePasteCommand() {
317
+ const designItems = await this.serviceContainer.copyPasteService.getPasteItems(this.serviceContainer, this.instanceServiceContainer);
318
+ let grp = this.rootDesignItem.openGroup("Insert");
319
+ if (designItems) {
320
+ for (let di of designItems) {
321
+ this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
322
+ }
323
+ const intializationService = this.serviceContainer.intializationService;
324
+ if (intializationService) {
325
+ for (let di of designItems)
326
+ intializationService.init(di);
327
+ }
328
+ this.instanceServiceContainer.selectionService.setSelectedElements(designItems);
329
+ }
330
+ grp.commit();
331
+ this.snapLines.clearSnaplines();
332
+ }
333
+ handleDeleteCommand() {
334
+ let items = this.instanceServiceContainer.selectionService.selectedElements;
335
+ this.instanceServiceContainer.undoService.execute(new DeleteAction(items));
336
+ this.instanceServiceContainer.selectionService.setSelectedElements(null);
337
+ }
338
+ initialize(serviceContainer) {
339
+ this.serviceContainer = serviceContainer;
340
+ this.instanceServiceContainer = new InstanceServiceContainer(this);
341
+ this.instanceServiceContainer.register("undoService", new UndoService(this));
342
+ this.instanceServiceContainer.register("selectionService", new SelectionService);
343
+ this.rootDesignItem = DesignItem.GetOrCreateDesignItem(this._canvas, this.serviceContainer, this.instanceServiceContainer);
344
+ this.instanceServiceContainer.register("contentService", new ContentService(this.rootDesignItem));
345
+ this.extensionManager = new ExtensionManager(this);
346
+ this.overlayLayer = new OverlayLayerView(serviceContainer);
347
+ this.overlayLayer.style.pointerEvents = 'none';
348
+ this.clickOverlay.appendChild(this.overlayLayer);
349
+ this.snapLines = new Snaplines(this.overlayLayer);
350
+ this.snapLines.initialize(this.rootDesignItem);
351
+ if (this.serviceContainer.designerPointerExtensions)
352
+ for (let pe of this.serviceContainer.designerPointerExtensions) {
353
+ if (!this._pointerextensions)
354
+ this._pointerextensions = [];
355
+ this._pointerextensions.push(pe.getExtension(this));
356
+ }
357
+ if (this.children) {
358
+ let children = this.children;
359
+ if (this.children.length == 1 && this.children[0] instanceof HTMLSlotElement) {
360
+ children = this.children[0].assignedElements();
361
+ }
362
+ const parser = this.serviceContainer.getLastServiceWhere('htmlParserService', x => x.constructor == DefaultHtmlParserService);
363
+ this.addDesignItems(parser.createDesignItems(children, this.serviceContainer, this.instanceServiceContainer));
364
+ }
365
+ }
366
+ connectedCallback() {
367
+ if (!this._firstConnect) {
368
+ this._firstConnect = true;
369
+ this.clickOverlay.addEventListener(EventNames.PointerDown, this._pointerEventHandlerBound);
370
+ this.clickOverlay.addEventListener(EventNames.PointerMove, this._pointerEventHandlerBound);
371
+ this.clickOverlay.addEventListener(EventNames.PointerUp, this._pointerEventHandlerBound);
372
+ this.clickOverlay.addEventListener(EventNames.DragEnter, event => this._onDragEnter(event));
373
+ this.clickOverlay.addEventListener(EventNames.DragLeave, event => this._onDragLeave(event));
374
+ this.clickOverlay.addEventListener(EventNames.DragOver, event => this._onDragOver(event));
375
+ this.clickOverlay.addEventListener(EventNames.Drop, event => this._onDrop(event));
376
+ this.clickOverlay.addEventListener(EventNames.KeyDown, this._onKeyDownBound, true);
377
+ this.clickOverlay.addEventListener(EventNames.KeyUp, this._onKeyUpBound, true);
378
+ this.clickOverlay.addEventListener(EventNames.DblClick, this._onDblClickBound, true);
379
+ }
380
+ }
381
+ _zoomFactorChanged() {
382
+ //a@ts-ignore
383
+ //this._canvasContainer.style.zoom = <any>this._zoomFactor;
384
+ //this._canvasContainer.style.transform = 'scale(' + this._zoomFactor+') translate(' + this._translate.x + ', '+this._translate.y+')';
385
+ //this._canvasContainer.style.transformOrigin = '0 0';
386
+ this._canvasContainer.style.bottom = this._outercanvas2.offsetHeight >= this._canvasContainer.offsetHeight ? '0' : '';
387
+ this._canvasContainer.style.right = this._outercanvas2.offsetWidth >= this._canvasContainer.offsetWidth ? '0' : '';
388
+ this._updateTransform();
389
+ this._fillCalculationrects();
390
+ this.onZoomFactorChanged.emit(this._zoomFactor);
391
+ }
392
+ _updateTransform() {
393
+ this._scaleFactor = this._zoomFactor;
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
+ this._canvasContainer.style.transformOrigin = '0 0';
396
+ this.overlayLayer.style.transform = this._canvasContainer.style.transform;
397
+ this.overlayLayer.style.transformOrigin = '0 0';
398
+ this.snapLines.clearSnaplines();
399
+ }
400
+ setDesignItems(designItems) {
401
+ this._fillCalculationrects();
402
+ this.instanceServiceContainer.undoService.clear();
403
+ this.overlayLayer.removeAllOverlays();
404
+ DomHelper.removeAllChildnodes(this.overlayLayer);
405
+ this.rootDesignItem.clearChildren();
406
+ this.addDesignItems(designItems);
407
+ this.instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'parsed' });
408
+ }
409
+ addDesignItems(designItems) {
410
+ if (designItems) {
411
+ for (let di of designItems) {
412
+ this.rootDesignItem._insertChildInternal(di);
413
+ }
414
+ }
415
+ const intializationService = this.serviceContainer.intializationService;
416
+ if (intializationService) {
417
+ for (let di of designItems)
418
+ intializationService.init(di);
419
+ }
420
+ this.snapLines.clearSnaplines();
421
+ }
422
+ _onDragEnter(event) {
423
+ this._fillCalculationrects();
424
+ event.preventDefault();
425
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
426
+ if (hasTransferDataBindingObject) {
427
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
428
+ if (ddService) {
429
+ const effect = ddService.dragEnter(this, event);
430
+ event.dataTransfer.dropEffect = effect;
431
+ }
432
+ }
433
+ }
434
+ _onDragLeave(event) {
435
+ this._fillCalculationrects();
436
+ event.preventDefault();
437
+ this._canvas.classList.remove('dragFileActive');
438
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
439
+ if (hasTransferDataBindingObject) {
440
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
441
+ if (ddService) {
442
+ const effect = ddService.dragLeave(this, event);
443
+ event.dataTransfer.dropEffect = effect;
444
+ }
445
+ }
446
+ }
447
+ _onDragOver(event) {
448
+ event.preventDefault();
449
+ /*if (this.alignOnSnap) {
450
+ this.snapLines.calculateSnaplines(this.instanceServiceContainer.selectionService.selectedElements);
451
+ //TODO: fix this following code...
452
+ const currentPoint = this.getDesignerMousepoint(event);
453
+ let containerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(this.rootDesignItem))
454
+ containerService.finishPlace(this, this.rootDesignItem, this._initialPoint, currentPoint, this.instanceServiceContainer.selectionService.selectedElements);
455
+ }*/
456
+ this._fillCalculationrects();
457
+ if (event.dataTransfer.types.length > 0 && event.dataTransfer.types[0] == 'Files') {
458
+ const ddService = this.serviceContainer.dragDropService;
459
+ if (ddService) {
460
+ const effect = ddService.dragOver(event);
461
+ event.dataTransfer.dropEffect = effect;
462
+ if (effect !== 'none')
463
+ this._canvas.classList.add('dragFileActive');
464
+ }
465
+ }
466
+ const hasTransferDataBindingObject = event.dataTransfer.types.indexOf(dragDropFormatNameBindingObject) >= 0;
467
+ if (hasTransferDataBindingObject) {
468
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
469
+ if (ddService) {
470
+ const effect = ddService.dragOver(this, event);
471
+ event.dataTransfer.dropEffect = effect;
472
+ }
473
+ }
474
+ }
475
+ async _onDrop(event) {
476
+ event.preventDefault();
477
+ this._canvas.classList.remove('dragFileActive');
478
+ this._fillCalculationrects();
479
+ if (event.dataTransfer.files?.length > 0) {
480
+ const ddService = this.serviceContainer.dragDropService;
481
+ if (ddService) {
482
+ ddService.drop(this, event);
483
+ }
484
+ }
485
+ else {
486
+ const transferDataBindingObject = event.dataTransfer.getData(dragDropFormatNameBindingObject);
487
+ if (transferDataBindingObject) {
488
+ const bo = JSON.parse(transferDataBindingObject);
489
+ const ddService = this.serviceContainer.bindableObjectDragDropService;
490
+ if (ddService) {
491
+ const effect = ddService.drop(this, event, bo);
492
+ event.dataTransfer.dropEffect = effect;
493
+ }
494
+ }
495
+ else {
496
+ this._fillCalculationrects();
497
+ const position = this.getNormalizedEventCoordinates(event);
498
+ const transferData = event.dataTransfer.getData(dragDropFormatNameElementDefinition);
499
+ const elementDefinition = JSON.parse(transferData);
500
+ const di = await this.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(elementDefinition, this.serviceContainer, this.instanceServiceContainer));
501
+ const grp = di.openGroup("Insert");
502
+ di.setStyle('position', 'absolute');
503
+ di.setStyle('left', position.x + 'px');
504
+ di.setStyle('top', position.y + 'px');
505
+ this.instanceServiceContainer.undoService.execute(new InsertAction(this.rootDesignItem, this.rootDesignItem.childCount, di));
506
+ grp.commit();
507
+ requestAnimationFrame(() => this.instanceServiceContainer.selectionService.setSelectedElements([di]));
508
+ }
509
+ }
510
+ }
511
+ showDesignItemContextMenu(designItem, event) {
512
+ this._currentContextMenu?.close();
513
+ const mnuItems = [];
514
+ for (let cme of this.serviceContainer.designerContextMenuExtensions) {
515
+ if (cme.shouldProvideContextmenu(event, this, designItem, 'designer')) {
516
+ mnuItems.push(...cme.provideContextMenuItems(event, this, designItem));
517
+ }
518
+ }
519
+ this._currentContextMenu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
520
+ return this._currentContextMenu;
521
+ }
522
+ _onDblClick(event) {
523
+ event.preventDefault();
524
+ this.extensionManager.applyExtension(this.instanceServiceContainer.selectionService.primarySelection, ExtensionType.Doubleclick);
525
+ }
526
+ onKeyUp(event) {
527
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
528
+ return;
529
+ event.preventDefault();
530
+ }
531
+ onKeyDown(event) {
532
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
533
+ return;
534
+ if ((event.ctrlKey || event.metaKey) && event.key === 'z' && !event.shiftKey)
535
+ this.executeCommand({ type: CommandType.undo });
536
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'z' && event.shiftKey)
537
+ this.executeCommand({ type: CommandType.redo });
538
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'y')
539
+ this.executeCommand({ type: CommandType.redo });
540
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'a')
541
+ this.executeCommand({ type: CommandType.selectAll });
542
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'c')
543
+ this.executeCommand({ type: CommandType.copy });
544
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'v')
545
+ this.executeCommand({ type: CommandType.paste });
546
+ else if ((event.ctrlKey || event.metaKey) && event.key === 'x')
547
+ this.executeCommand({ type: CommandType.cut });
548
+ else {
549
+ let primarySelection = this.instanceServiceContainer.selectionService.primarySelection;
550
+ if (!primarySelection) {
551
+ return;
552
+ }
553
+ let moveOffset = 1;
554
+ if (event.shiftKey)
555
+ moveOffset = 10;
556
+ switch (event.key) {
557
+ case 'Delete':
558
+ case 'Backspace':
559
+ this.executeCommand({ type: CommandType.delete });
560
+ break;
561
+ case 'ArrowUp':
562
+ {
563
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) - moveOffset + 'px'));
564
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
565
+ }
566
+ break;
567
+ case 'ArrowDown':
568
+ {
569
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('top', parseInt(x.element.style.top) + moveOffset + 'px'));
570
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
571
+ }
572
+ break;
573
+ case 'ArrowLeft':
574
+ {
575
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) - moveOffset + 'px'));
576
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
577
+ }
578
+ break;
579
+ case 'ArrowRight':
580
+ {
581
+ this.instanceServiceContainer.selectionService.selectedElements.forEach(x => x.setStyle('left', parseInt(x.element.style.left) + moveOffset + 'px'));
582
+ this.extensionManager.refreshExtensions(this.instanceServiceContainer.selectionService.selectedElements);
583
+ }
584
+ break;
585
+ }
586
+ }
587
+ event.preventDefault();
588
+ }
589
+ /**
590
+ * Converts the Event x/y coordinates, to the mouse position on the canvas
591
+ */
592
+ getNormalizedEventCoordinates(event) {
593
+ const offsetOfOuterX = (event.clientX - this.outerRect.x) / this.zoomFactor;
594
+ const offsetOfCanvasX = this.containerBoundingRect.x - this.outerRect.x;
595
+ const offsetOfOuterY = (event.clientY - this.outerRect.y) / this.zoomFactor;
596
+ const offsetOfCanvasY = this.containerBoundingRect.y - this.outerRect.y;
597
+ return {
598
+ x: offsetOfOuterX - offsetOfCanvasX / this.zoomFactor,
599
+ y: offsetOfOuterY - offsetOfCanvasY / this.zoomFactor
600
+ };
601
+ }
602
+ /**
603
+ * Converts the Event x/y coordinates, to the mouse position in the viewport
604
+ */
605
+ getViewportCoordinates(event) {
606
+ return {
607
+ x: (event.clientX - this.outerRect.x),
608
+ y: (event.clientY - this.outerRect.y)
609
+ };
610
+ }
611
+ getNormalizedElementCoordinates(element) {
612
+ const targetRect = element.getBoundingClientRect();
613
+ return { x: (targetRect.x - this.containerBoundingRect.x) / this.scaleFactor, y: (targetRect.y - this.containerBoundingRect.y) / this.scaleFactor, width: targetRect.width / this.scaleFactor, height: targetRect.height / this.scaleFactor };
614
+ }
615
+ getNormalizedOffsetInElement(event, element) {
616
+ const normEvt = this.getNormalizedEventCoordinates(event);
617
+ const normEl = this.getNormalizedElementCoordinates(element);
618
+ return { x: normEvt.x - normEl.x, y: normEvt.y - normEl.y };
619
+ }
620
+ //todo: remove
621
+ elementFromPoint(x, y) {
622
+ let elements = this.shadowRoot.elementsFromPoint(x, y);
623
+ let element = elements[0];
624
+ if (element === this.clickOverlay)
625
+ element = elements[1];
626
+ if (element === this.clickOverlay)
627
+ element = this._canvas;
628
+ return element;
629
+ }
630
+ elementsFromPoint(x, y) {
631
+ let retVal = [];
632
+ let elements = this.shadowRoot.elementsFromPoint(x, y);
633
+ for (let e of elements) {
634
+ if (e == this.clickOverlay)
635
+ continue;
636
+ if (e == this.overlayLayer)
637
+ continue;
638
+ if (e.getRootNode() !== this.shadowRoot)
639
+ continue;
640
+ retVal.push(e);
641
+ if (e === this._canvas)
642
+ break;
643
+ }
644
+ return retVal;
645
+ }
646
+ getElementAtPoint(point, ignoreElementCallback) {
647
+ const elements = this.shadowRoot.elementsFromPoint(point.x, point.y);
648
+ let currentElement = null;
649
+ for (let i = 0; i < elements.length; i++) {
650
+ currentElement = elements[i];
651
+ if (currentElement == this.clickOverlay) {
652
+ currentElement = null;
653
+ continue;
654
+ }
655
+ if (currentElement == this.overlayLayer) {
656
+ currentElement = null;
657
+ continue;
658
+ }
659
+ if (ignoreElementCallback && ignoreElementCallback(currentElement)) {
660
+ currentElement = null;
661
+ continue;
662
+ }
663
+ if (currentElement.getRootNode() !== this.shadowRoot) {
664
+ currentElement = null;
665
+ continue;
666
+ }
667
+ break;
668
+ }
669
+ return currentElement;
670
+ }
671
+ showHoverExtension(element) {
672
+ const currentDesignItem = DesignItem.GetOrCreateDesignItem(element, this.serviceContainer, this.instanceServiceContainer);
673
+ if (this._lastHoverDesignItem != currentDesignItem) {
674
+ if (this._lastHoverDesignItem)
675
+ this.extensionManager.removeExtension(this._lastHoverDesignItem, ExtensionType.MouseOver);
676
+ if (currentDesignItem && currentDesignItem != this.rootDesignItem && DomHelper.getHost(element.parentNode) !== this.overlayLayer)
677
+ this.extensionManager.applyExtension(currentDesignItem, ExtensionType.MouseOver);
678
+ this._lastHoverDesignItem = currentDesignItem;
679
+ }
680
+ }
681
+ _pointerEventHandler(event, forceElement = null) {
682
+ this._fillCalculationrects();
683
+ if (this._pointerextensions) {
684
+ for (let pe of this._pointerextensions)
685
+ pe.refresh(event);
686
+ }
687
+ if (event.composedPath().indexOf(this.eatEvents) >= 0)
688
+ return;
689
+ let currentElement;
690
+ if (forceElement)
691
+ currentElement = forceElement;
692
+ else {
693
+ currentElement = this.serviceContainer.elementAtPointService.getElementAtPoint(this, { x: event.x, y: event.y });
694
+ if (!currentElement) {
695
+ currentElement = this._canvas;
696
+ }
697
+ }
698
+ if (this._activeTool) {
699
+ this._activeTool.pointerEventHandler(this, event, currentElement);
700
+ return;
701
+ }
702
+ this.clickOverlay.style.cursor = this._canvas.style.cursor;
703
+ const currentDesignItem = DesignItem.GetOrCreateDesignItem(currentElement, this.serviceContainer, this.instanceServiceContainer);
704
+ this.showHoverExtension(currentDesignItem.element);
705
+ //TODO: needed ??
706
+ if (currentElement && DomHelper.getHost(currentElement.parentNode) === this.overlayLayer) {
707
+ if (this.eatEvents)
708
+ return;
709
+ currentElement = this.instanceServiceContainer.selectionService.primarySelection?.element ?? this._canvas;
710
+ }
711
+ let tool = this.serviceContainer.globalContext.tool ?? this.serviceContainer.designerTools.get(NamedTools.Pointer);
712
+ this._canvas.style.cursor = tool.cursor;
713
+ tool.pointerEventHandler(this, event, currentElement);
714
+ }
715
+ captureActiveTool(tool) {
716
+ this._activeTool = tool;
717
+ }
718
+ releaseActiveTool() {
719
+ this._activeTool = null;
720
+ }
721
+ _fillCalculationrects() {
722
+ this.containerBoundingRect = this._canvasContainer.getBoundingClientRect();
723
+ this.outerRect = this._outercanvas2.getBoundingClientRect();
724
+ }
725
+ addOverlay(element, overlayLayer = OverlayLayer.Normal) {
726
+ this.overlayLayer.addOverlay(element, overlayLayer);
727
+ }
728
+ removeOverlay(element) {
729
+ this.overlayLayer.removeOverlay(element);
730
+ }
731
+ zoomOntoRectangle(startPoint, endPoint) {
732
+ let rect = {
733
+ x: startPoint.x < endPoint.x ? startPoint.x : endPoint.x,
734
+ y: startPoint.y < endPoint.y ? startPoint.y : endPoint.y,
735
+ width: Math.abs(startPoint.x - endPoint.x),
736
+ height: Math.abs(startPoint.y - endPoint.y),
737
+ };
738
+ let zFactorWidth = this.outerRect.width / rect.width;
739
+ let zFactorHeight = this.outerRect.height / rect.height;
740
+ let zoomFactor = zFactorWidth >= zFactorHeight ? zFactorHeight : zFactorWidth;
741
+ let rectCenter = {
742
+ x: (rect.width / 2) + rect.x,
743
+ y: (rect.height / 2) + rect.y
744
+ };
745
+ this.zoomPoint(rectCenter, zoomFactor);
746
+ }
747
+ zoomPoint(canvasPoint, newZoom) {
748
+ this.zoomFactor = newZoom;
749
+ const newCanvasOffset = {
750
+ x: -(canvasPoint.x) + this.outerRect.width / this.zoomFactor / 2,
751
+ y: -(canvasPoint.y) + this.outerRect.height / this.zoomFactor / 2
752
+ };
753
+ this.canvasOffset = newCanvasOffset;
754
+ }
755
+ zoomConvertEventToViewPortCoordinates(point) {
756
+ const offsetOfCanvasX = this.containerBoundingRect.x - this.outerRect.x;
757
+ const offsetOfCanvasY = this.containerBoundingRect.y - this.outerRect.y;
758
+ return {
759
+ x: (point.x + offsetOfCanvasX / this.zoomFactor) * this.zoomFactor,
760
+ y: (point.y + offsetOfCanvasY / this.zoomFactor) * this.zoomFactor
761
+ };
762
+ }
763
+ zoomTowardsPoint(canvasPoint, newZoom) {
764
+ const scaleChange = newZoom / this.zoomFactor;
765
+ const point = this.zoomConvertEventToViewPortCoordinates(canvasPoint);
766
+ const newCanvasOffset = {
767
+ x: -(point.x * (scaleChange - 1) + scaleChange * -this.canvasOffsetUnzoomed.x),
768
+ y: -(point.y * (scaleChange - 1) + scaleChange * -this.canvasOffsetUnzoomed.y)
769
+ };
770
+ this.zoomFactor = newZoom;
771
+ this.canvasOffsetUnzoomed = newCanvasOffset;
772
+ }
773
+ }
774
+ customElements.define('node-projects-designer-canvas', DesignerCanvas);