@node-projects/web-component-designer 0.0.280 → 0.0.281

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.
@@ -2,7 +2,6 @@ import { IPoint } from "../../interfaces/IPoint.js";
2
2
  import { IDesignerCanvas } from "../widgets/designerView/IDesignerCanvas.js";
3
3
  export declare function getElementCombinedTransform(element: HTMLElement): DOMMatrix;
4
4
  export declare function combineTransforms(element: HTMLElement, actualTransforms: string, requestedTransformation: string): void;
5
- export declare function getDomMatrix(element: HTMLElement): DOMMatrix;
6
5
  export declare function transformPointByInverseMatrix(point: DOMPoint, matrix: DOMMatrix): DOMPoint;
7
6
  export declare function getRotationMatrix3d(axisOfRotation: 'x' | 'y' | 'z' | 'X' | 'Y' | 'Z', angle: number): any[];
8
7
  export declare function rotateElementByMatrix3d(element: HTMLElement, matrix: number[]): void;
@@ -33,9 +33,6 @@ export function combineTransforms(element, actualTransforms, requestedTransforma
33
33
  const newTransformationMatrix = requestedTransformationMatrix.multiply(actualTransformationMatrix);
34
34
  element.style.transform = newTransformationMatrix.toString();
35
35
  }
36
- export function getDomMatrix(element) {
37
- return new DOMMatrix(window.getComputedStyle(element).transform);
38
- }
39
36
  export function transformPointByInverseMatrix(point, matrix) {
40
37
  const inverse = matrix.inverse();
41
38
  //fix chrome bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1395645
@@ -1,10 +1,14 @@
1
- import { BaseCustomWebComponentLazyAppend } from '@node-projects/base-custom-webcomponent';
1
+ import { BaseCustomWebComponentLazyAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ import { IBindableObject } from '../../services/bindableObjectsService/IBindableObject.js';
2
3
  import { ServiceContainer } from '../../services/ServiceContainer.js';
3
4
  export declare class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
4
5
  private _treeDiv;
5
6
  private _tree;
7
+ selectedObject: IBindableObject<any>;
8
+ objectDoubleclicked: TypedEvent<void>;
6
9
  static readonly style: CSSStyleSheet;
7
10
  constructor();
8
11
  initialize(serviceContainer: ServiceContainer): Promise<void>;
12
+ private deselectNodes;
9
13
  private lazyLoad;
10
14
  }
@@ -1,8 +1,10 @@
1
- import { BaseCustomWebComponentLazyAppend, css } from '@node-projects/base-custom-webcomponent';
1
+ import { BaseCustomWebComponentLazyAppend, TypedEvent, css } from '@node-projects/base-custom-webcomponent';
2
2
  import { dragDropFormatNameBindingObject } from '../../../Constants.js';
3
3
  export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
4
4
  _treeDiv;
5
5
  _tree;
6
+ selectedObject;
7
+ objectDoubleclicked = new TypedEvent;
6
8
  static style = css `
7
9
  span.drag-source {
8
10
  border: 1px solid grey;
@@ -45,10 +47,31 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
45
47
  $(this._treeDiv).fancytree({
46
48
  debugLevel: 0,
47
49
  icon: false,
48
- extensions: ['dnd5'],
50
+ extensions: ['dnd5', 'filter'],
49
51
  quicksearch: true,
50
52
  source: [],
51
53
  lazyLoad: this.lazyLoad,
54
+ dblclick: (e) => {
55
+ this.objectDoubleclicked.emit();
56
+ return true;
57
+ },
58
+ activate: (event, data) => {
59
+ this.deselectNodes();
60
+ let node = data.node;
61
+ this.selectedObject = node.data.bindable;
62
+ },
63
+ filter: {
64
+ autoApply: true,
65
+ autoExpand: false,
66
+ counter: true,
67
+ fuzzy: false,
68
+ hideExpandedCounter: true,
69
+ hideExpanders: false,
70
+ highlight: true,
71
+ leavesOnly: false,
72
+ nodata: true,
73
+ mode: "dimm" // Grayout unmatched nodes (pass "hide" to remove unmatched node instead)
74
+ },
52
75
  dnd5: {
53
76
  dropMarkerParent: this.shadowRoot,
54
77
  preventRecursion: true,
@@ -85,6 +108,13 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
85
108
  rootNode.addNode(newNode);
86
109
  }
87
110
  }
111
+ deselectNodes() {
112
+ let nodes = this._tree.getSelectedNodes();
113
+ nodes.forEach(node => {
114
+ node.setSelected(false);
115
+ node.setActive(false);
116
+ });
117
+ }
88
118
  lazyLoad(event, data) {
89
119
  data.result = new Promise(async (resolve) => {
90
120
  const service = data.node.data.service;
@@ -1,6 +1,6 @@
1
1
  import { EventNames } from '../../../../enums/EventNames.js';
2
2
  import { getContentBoxContentOffsets } from '../../../helper/ElementHelper.js';
3
- import { transformPointByInverseMatrix, getDomMatrix, getDesignerCanvasNormalizedTransformedCornerDOMPoints, normalizeToAbsolutePosition } from "../../../helper/TransformHelper.js";
3
+ import { transformPointByInverseMatrix, getDesignerCanvasNormalizedTransformedCornerDOMPoints, normalizeToAbsolutePosition, getElementCombinedTransform } from "../../../helper/TransformHelper.js";
4
4
  import { AbstractExtension } from './AbstractExtension.js';
5
5
  export class ResizeExtension extends AbstractExtension {
6
6
  resizeAllSelected;
@@ -161,7 +161,7 @@ export class ResizeExtension extends AbstractExtension {
161
161
  const diff = containerService.placePoint(event, this.designerCanvas, this.extendedItem.parent, this._initialPoint, { x: 0, y: 0 }, currentPoint, this.designerCanvas.instanceServiceContainer.selectionService.selectedElements);
162
162
  let trackX = Math.round(diff.x - this._initialPoint.x - this._offsetPoint.x);
163
163
  let trackY = Math.round(diff.y - this._initialPoint.y - this._offsetPoint.y);
164
- let matrix = getDomMatrix(this.extendedItem.element);
164
+ let matrix = getElementCombinedTransform(this.extendedItem.element);
165
165
  let transformedTrack = transformPointByInverseMatrix(new DOMPoint(trackX, trackY, 0, 0), matrix);
166
166
  let deltaX = transformedTrack.x;
167
167
  let deltaY = transformedTrack.y;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A UI designer for Polymer apps",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.0.280",
4
+ "version": "0.0.281",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",