@node-projects/web-component-designer 0.0.47 → 0.0.51

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 (120) hide show
  1. package/dist/elements/helper/GridHelper.d.ts +16 -0
  2. package/dist/elements/helper/GridHelper.js +107 -0
  3. package/dist/elements/helper/Helper.d.ts +3 -0
  4. package/dist/elements/helper/Helper.js +3 -0
  5. package/dist/elements/item/DesignItem.d.ts +4 -2
  6. package/dist/elements/item/DesignItem.js +6 -3
  7. package/dist/elements/item/IDesignItem.d.ts +4 -2
  8. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +1 -6
  9. package/dist/elements/services/placementService/DefaultPlacementService.js +6 -0
  10. package/dist/elements/services/placementService/GridPlacementService.js +52 -1
  11. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +2 -2
  12. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  13. package/dist/elements/widgets/designerView/DomConverter.js +2 -0
  14. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -0
  15. package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -1
  16. package/dist/elements/widgets/designerView/designerCanvas.js +2 -2
  17. package/dist/elements/widgets/designerView/extensions/GridExtension.js +11 -97
  18. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +2 -2
  19. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +2 -2
  20. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +1 -1
  21. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +2 -1
  22. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +2 -2
  23. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +4 -3
  24. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +2 -2
  25. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -1
  26. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +2 -2
  27. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +1 -1
  28. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +2 -2
  29. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +2 -0
  30. package/dist/elements/widgets/treeView/treeViewExtended.js +18 -1
  31. package/dist/index.d.ts +1 -1
  32. package/package.json +1 -1
  33. package/dist/elements/controls/ImageButtonListSelector copy.d.ts +0 -17
  34. package/dist/elements/controls/ImageButtonListSelector copy.js +0 -82
  35. package/dist/elements/controls/NumericInput.d.ts +0 -0
  36. package/dist/elements/controls/NumericInput.js +0 -1
  37. package/dist/elements/controls/ThicknessEditor copy.d.ts +0 -33
  38. package/dist/elements/controls/ThicknessEditor copy.js +0 -145
  39. package/dist/elements/helper/CssPropertiesList.d.ts +0 -0
  40. package/dist/elements/helper/CssPropertiesList.js +0 -1
  41. package/dist/elements/item/Binding.d.ts +0 -14
  42. package/dist/elements/item/Binding.js +0 -4
  43. package/dist/elements/item/IBinding copy.d.ts +0 -14
  44. package/dist/elements/item/IBinding copy.js +0 -1
  45. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.d.ts +0 -9
  46. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.js +0 -31
  47. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.d.ts +0 -11
  48. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.js +0 -34
  49. package/dist/elements/services/bindingsService/BindingMode.d.ts +0 -4
  50. package/dist/elements/services/bindingsService/BindingMode.js +0 -5
  51. package/dist/elements/services/bindingsService/BindingTarget.d.ts +0 -6
  52. package/dist/elements/services/bindingsService/BindingTarget.js +0 -7
  53. package/dist/elements/services/bindingsService/IBinding.d.ts +0 -14
  54. package/dist/elements/services/bindingsService/IBinding.js +0 -1
  55. package/dist/elements/services/bindingsService/PolymerBindingsService copy.d.ts +0 -9
  56. package/dist/elements/services/bindingsService/PolymerBindingsService copy.js +0 -31
  57. package/dist/elements/services/bindingsService/PolymerBindingsService.d.ts +0 -0
  58. package/dist/elements/services/bindingsService/PolymerBindingsService.js +0 -38
  59. package/dist/elements/services/copyPasteService/ICopyPasteService copy.d.ts +0 -0
  60. package/dist/elements/services/copyPasteService/ICopyPasteService copy.js +0 -1
  61. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.d.ts +0 -9
  62. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.js +0 -100
  63. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.d.ts +0 -11
  64. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.js +0 -84
  65. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.d.ts +0 -9
  66. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.js +0 -83
  67. package/dist/elements/services/modelCommandService/DefaultInstanceService.d.ts +0 -8
  68. package/dist/elements/services/modelCommandService/DefaultInstanceService.js +0 -14
  69. package/dist/elements/services/modelCommandService/IInstanceService.d.ts +0 -8
  70. package/dist/elements/services/modelCommandService/IInstanceService.js +0 -1
  71. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.d.ts +0 -8
  72. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.js +0 -40
  73. package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.d.ts +0 -16
  74. package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.js +0 -94
  75. package/dist/elements/widgets/designerView/IDesignerView.d.ts +0 -30
  76. package/dist/elements/widgets/designerView/IDesignerView.js +0 -1
  77. package/dist/elements/widgets/designerView/designerView copy.d.ts +0 -82
  78. package/dist/elements/widgets/designerView/designerView copy.js +0 -671
  79. package/dist/elements/widgets/designerView/extensions/AbstractExtension copy.d.ts +0 -22
  80. package/dist/elements/widgets/designerView/extensions/AbstractExtension copy.js +0 -52
  81. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.d.ts +0 -10
  82. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.js +0 -29
  83. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.d.ts +0 -10
  84. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.js +0 -15
  85. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.d.ts +0 -14
  86. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.js +0 -42
  87. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.d.ts +0 -9
  88. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.js +0 -9
  89. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.d.ts +0 -27
  90. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.js +0 -61
  91. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.d.ts +0 -9
  92. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.js +0 -9
  93. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.d.ts +0 -10
  94. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.js +0 -29
  95. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.d.ts +0 -10
  96. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.js +0 -15
  97. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.d.ts +0 -10
  98. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.js +0 -15
  99. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.d.ts +0 -22
  100. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.js +0 -78
  101. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension copy.d.ts +0 -13
  102. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension copy.js +0 -27
  103. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.d.ts +0 -7
  104. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.js +0 -20
  105. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.d.ts +0 -13
  106. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.js +0 -27
  107. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.d.ts +0 -7
  108. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.js +0 -20
  109. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.d.ts +0 -5
  110. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.js +0 -1
  111. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.d.ts +0 -9
  112. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.js +0 -1
  113. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.d.ts +0 -7
  114. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.js +0 -20
  115. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.d.ts +0 -7
  116. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.js +0 -20
  117. package/dist/elements/widgets/propertyGrid/PropertyGrid copy.d.ts +0 -17
  118. package/dist/elements/widgets/propertyGrid/PropertyGrid copy.js +0 -143
  119. package/dist/interfaces/IDesignerMousePoint.d.ts +0 -11
  120. package/dist/interfaces/IDesignerMousePoint.js +0 -1
@@ -1,8 +1,8 @@
1
1
  import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
2
  import { IDesignItem } from "../../../../item/IDesignItem";
3
3
  import { IDesignerCanvas } from "../../IDesignerCanvas";
4
- import { IContextMenuExtension } from "./IContextMenuExtension";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
5
  export declare class ZMoveContextMenu implements IContextMenuExtension {
6
- shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
6
+ shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
7
  provideContextMenuItems(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import { CommandType } from "../../../../../commandHandling/CommandType";
2
2
  export class ZMoveContextMenu {
3
- shouldProvideContextmenu(event, designerView, designItem) {
3
+ shouldProvideContextmenu(event, designerView, designItem, initiator) {
4
4
  return true;
5
5
  }
6
6
  provideContextMenuItems(event, designerView, designItem) {
@@ -12,7 +12,7 @@ export class PropertyGridWithHeader extends BaseCustomWebComponentLazyAppend {
12
12
  div {
13
13
  display: grid;
14
14
  grid-template-columns: auto 1fr;
15
- padding: 6px;
15
+ padding: 3px 6px;
16
16
  font-family: monospace;
17
17
  align-items: center;
18
18
  }
@@ -70,7 +70,7 @@ export class PropertyGridWithHeader extends BaseCustomWebComponentLazyAppend {
70
70
  };
71
71
  }
72
72
  set serviceContainer(value) {
73
- this._pg.serviceContainer = value;
73
+ this._waitForChildrenReady().then(() => this._pg.serviceContainer = value);
74
74
  }
75
75
  set instanceServiceContainer(value) {
76
76
  this._instanceServiceContainer = value;
@@ -3,6 +3,7 @@ import { ITreeView } from './ITreeView';
3
3
  import { IDesignItem } from '../../item/IDesignItem';
4
4
  import { ISelectionChangedEvent } from '../../services/selectionService/ISelectionChangedEvent';
5
5
  import { InstanceServiceContainer } from '../../services/InstanceServiceContainer.js';
6
+ import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper.js';
6
7
  export declare class TreeViewExtended extends BaseCustomWebComponentConstructorAppend implements ITreeView {
7
8
  private _treeDiv;
8
9
  private _tree;
@@ -19,6 +20,7 @@ export declare class TreeViewExtended extends BaseCustomWebComponentConstructorA
19
20
  _switchLockAtDesignTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
20
21
  _showHideAtRunTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
21
22
  _switchHideAtRunTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
23
+ showDesignItemContextMenu(designItem: IDesignItem, event: MouseEvent): ContextMenuHelper;
22
24
  ready(): Promise<void>;
23
25
  createTree(rootItem: IDesignItem): void;
24
26
  set instanceServiceContainer(value: InstanceServiceContainer);
@@ -1,6 +1,7 @@
1
1
  import { css, html, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
2
  import { NodeType } from '../../item/NodeType';
3
3
  import { assetsPath } from '../../../Constants';
4
+ import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper.js';
4
5
  export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
5
6
  _treeDiv;
6
7
  _tree;
@@ -51,9 +52,13 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
51
52
  .cmd {
52
53
  display: flex;
53
54
  position: sticky;
54
- right: 4px;
55
+ right: 0;
56
+ padding-right: 4px;
55
57
  align-items: center;
56
58
  gap: 2px;
59
+ background: #ffffffc9;
60
+ width: 70px;
61
+ justify-content: flex-end;
57
62
  }
58
63
 
59
64
  table.fancytree-ext-table tbody tr.fancytree-selected {
@@ -131,6 +136,17 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
131
136
  designItem.hideAtRunTime = !designItem.hideAtRunTime;
132
137
  this._showHideAtRunTimeState(img, designItem);
133
138
  }
139
+ showDesignItemContextMenu(designItem, event) {
140
+ event.preventDefault();
141
+ const mnuItems = [];
142
+ for (let cme of designItem.serviceContainer.designerContextMenuExtensions) {
143
+ if (cme.shouldProvideContextmenu(event, designItem.instanceServiceContainer.designerCanvas, designItem, 'treeView')) {
144
+ mnuItems.push(...cme.provideContextMenuItems(event, designItem.instanceServiceContainer.designerCanvas, designItem));
145
+ }
146
+ }
147
+ let ctxMnu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
148
+ return ctxMnu;
149
+ }
134
150
  async ready() {
135
151
  //this._treeDiv.classList.add('fancytree-connectors');
136
152
  $(this._treeDiv).fancytree({
@@ -154,6 +170,7 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
154
170
  if (node.tr.children[0]) {
155
171
  let designItem = node.data.ref;
156
172
  if (designItem && designItem.nodeType === NodeType.Element && designItem !== designItem.instanceServiceContainer.contentService.rootDesignItem) {
173
+ node.tr.oncontextmenu = (e) => this.showDesignItemContextMenu(designItem, e);
157
174
  let d = document.createElement("div");
158
175
  d.className = "cmd";
159
176
  let img = document.createElement('img');
package/dist/index.d.ts CHANGED
@@ -133,7 +133,7 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
133
133
  export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
134
134
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
135
135
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
136
- export type { IContextMenuExtension } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
136
+ export type { IContextMenuExtension, ContextmenuInitiator } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
137
137
  export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
138
138
  export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
139
139
  export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
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.47",
4
+ "version": "0.0.51",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",
@@ -1,17 +0,0 @@
1
- import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- export declare type ImageButtonListSelectorValueChangedEventArgs = {
3
- newValue?: string;
4
- oldValue?: string;
5
- };
6
- export declare class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
7
- static readonly style: CSSStyleSheet;
8
- static readonly template: HTMLTemplateElement;
9
- private _value;
10
- get value(): string;
11
- set value(value: string);
12
- valueChanged: TypedEvent<ImageButtonListSelectorValueChangedEventArgs>;
13
- property: string;
14
- unsetValue: string;
15
- _updateValue(): void;
16
- ready(): void;
17
- }
@@ -1,82 +0,0 @@
1
- import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- export class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
3
- constructor() {
4
- super(...arguments);
5
- this.valueChanged = new TypedEvent();
6
- }
7
- get value() {
8
- return this._value;
9
- }
10
- set value(value) {
11
- const oldValue = this._value;
12
- this._value = value;
13
- this._updateValue();
14
- this.valueChanged.emit({ newValue: this._value, oldValue: oldValue });
15
- }
16
- _updateValue() {
17
- if (this.value) {
18
- this._getDomElement('value').innerText = this.value;
19
- this._getDomElement('value').classList.add('value-set');
20
- }
21
- else {
22
- this._getDomElement('value').classList.remove('value-set');
23
- }
24
- const slot = this._getDomElement('slot');
25
- for (let e of slot.assignedElements()) {
26
- if (e.dataset.value == this.value)
27
- e.style.background = "cornflowerblue";
28
- else
29
- e.style.background = "";
30
- }
31
- }
32
- ready() {
33
- var _a, _b;
34
- this._parseAttributesToProperties();
35
- const slot = this._getDomElement('slot');
36
- slot.onclick = (e) => {
37
- const path = e.composedPath();
38
- for (let e of slot.assignedElements()) {
39
- if (path.indexOf(e) >= 0) {
40
- this.value = e.dataset.value;
41
- }
42
- }
43
- };
44
- this._getDomElement('property').innerText = (_a = this.property) !== null && _a !== void 0 ? _a : '';
45
- this._getDomElement('value').innerText = (_b = this.unsetValue) !== null && _b !== void 0 ? _b : '';
46
- this._updateValue();
47
- }
48
- }
49
- ImageButtonListSelector.style = css `
50
- div {
51
- font-size: 10px;
52
- color: white;
53
- }
54
- #property {
55
- color: #00aff0;
56
- }
57
- #value {
58
- color: lightgray;
59
- }
60
- #value.value-set {
61
- color: wheat;
62
- }
63
- .container {
64
- display: flex;
65
- flex-wrap: wrap;
66
- flex-direction: row;
67
- }
68
- ::slotted(button) {
69
- min-width: 24px;
70
- height: 24px;
71
- padding: 1px;
72
- background: white;
73
- border: 1px solid lightgray;
74
- }
75
- `;
76
- ImageButtonListSelector.template = html `
77
- <div>
78
- <div><span id="property"></span>: <span id="value"></span></div>
79
- <div class="container"><slot id="slot"></slot></div>
80
- </div>
81
- `;
82
- customElements.define('node-projects-image-button-list-selector', ImageButtonListSelector);
File without changes
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,33 +0,0 @@
1
- import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- export declare type ThicknessEditorValueChangedEventArgs = {
3
- newValue?: string;
4
- oldValue?: string;
5
- };
6
- export declare class ThicknessEditor extends BaseCustomWebComponentConstructorAppend {
7
- static readonly style: CSSStyleSheet;
8
- static readonly template: HTMLTemplateElement;
9
- private _leftInput;
10
- private _topInput;
11
- private _rightInput;
12
- private _bottomInput;
13
- private _valueLeft;
14
- get valueLeft(): string;
15
- set valueLeft(value: string);
16
- valueLeftChanged: TypedEvent<ThicknessEditorValueChangedEventArgs>;
17
- private _valueTop;
18
- get valueTop(): string;
19
- set valueTop(value: string);
20
- valueTopChanged: TypedEvent<ThicknessEditorValueChangedEventArgs>;
21
- private _valueRight;
22
- get valueRight(): string;
23
- set valueRight(value: string);
24
- valueRightChanged: TypedEvent<ThicknessEditorValueChangedEventArgs>;
25
- private _valueBottom;
26
- get valueBottom(): string;
27
- set valueBottom(value: string);
28
- valueBottomChanged: TypedEvent<ThicknessEditorValueChangedEventArgs>;
29
- property: string;
30
- unsetValue: string;
31
- _updateValue(): void;
32
- ready(): void;
33
- }
@@ -1,145 +0,0 @@
1
- import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- export class ThicknessEditor extends BaseCustomWebComponentConstructorAppend {
3
- static style = css `
4
- :host {
5
- margin: 4px;
6
- margin-left: auto;
7
- margin-right: auto;
8
- }
9
- #container {
10
- display: grid;
11
- grid-template-columns: minmax(30px, 40px) minmax(30px, 60px) minmax(30px, 40px);
12
- grid-template-rows: auto;
13
- grid-template-areas:
14
- " . top ."
15
- "left middle right"
16
- " . bottom .";
17
- column-gap: 2px;
18
- row-gap: 2px;
19
- }
20
- input {
21
- width: 20px;
22
- text-align: center;
23
- font-size: 10px;
24
- height: 20px;
25
- padding: 0;
26
- }
27
- #left {
28
- grid-area: left;
29
- justify-self: end;
30
- }
31
- #top {
32
- grid-area: top;
33
- align-self: end;
34
- justify-self: center;
35
- }
36
- #right {
37
- grid-area: right;
38
- justify-self: start;
39
- }
40
- #bottom {
41
- grid-area: bottom;
42
- align-self: start;
43
- justify-self: center;
44
- }
45
- #rect {
46
- grid-area: middle;
47
- border: 1px solid black;
48
- background: lightgray;
49
- }
50
- `;
51
- static template = html `
52
- <div id="container">
53
- <input id="left">
54
- <input id="top">
55
- <input id="right">
56
- <input id="bottom">
57
- <div id="rect"></div>
58
- </div>
59
- `;
60
- _leftInput;
61
- _topInput;
62
- _rightInput;
63
- _bottomInput;
64
- _valueLeft;
65
- get valueLeft() {
66
- return this._valueLeft;
67
- }
68
- set valueLeft(value) {
69
- const oldValue = this._valueLeft;
70
- this._valueLeft = value;
71
- if (oldValue !== value) {
72
- this._updateValue();
73
- this.valueLeftChanged.emit({ newValue: value, oldValue: oldValue });
74
- }
75
- }
76
- valueLeftChanged = new TypedEvent();
77
- _valueTop;
78
- get valueTop() {
79
- return this._valueTop;
80
- }
81
- set valueTop(value) {
82
- const oldValue = this._valueTop;
83
- this._valueTop = value;
84
- if (oldValue !== value) {
85
- this._updateValue();
86
- this.valueTopChanged.emit({ newValue: value, oldValue: oldValue });
87
- }
88
- }
89
- valueTopChanged = new TypedEvent();
90
- _valueRight;
91
- get valueRight() {
92
- return this._valueRight;
93
- }
94
- set valueRight(value) {
95
- const oldValue = this._valueRight;
96
- this._valueRight = value;
97
- if (oldValue !== value) {
98
- this._updateValue();
99
- this.valueRightChanged.emit({ newValue: value, oldValue: oldValue });
100
- }
101
- }
102
- valueRightChanged = new TypedEvent();
103
- _valueBottom;
104
- get valueBottom() {
105
- return this._valueBottom;
106
- }
107
- set valueBottom(value) {
108
- const oldValue = this._valueBottom;
109
- this._valueBottom = value;
110
- if (oldValue !== value) {
111
- this._updateValue();
112
- this.valueBottomChanged.emit({ newValue: value, oldValue: oldValue });
113
- }
114
- }
115
- valueBottomChanged = new TypedEvent();
116
- property;
117
- unsetValue;
118
- _updateValue() {
119
- this._leftInput.value = this.valueLeft;
120
- this._topInput.value = this.valueTop;
121
- this._rightInput.value = this.valueRight;
122
- this._bottomInput.value = this._valueBottom;
123
- }
124
- ready() {
125
- this._parseAttributesToProperties();
126
- this._leftInput = this._getDomElement('left');
127
- this._topInput = this._getDomElement('top');
128
- this._rightInput = this._getDomElement('right');
129
- this._bottomInput = this._getDomElement('bottom');
130
- this._leftInput.onkeyup = (e) => { if (e.key === 'Enter')
131
- this._valueLeft = this._leftInput.value; };
132
- this._topInput.onkeyup = (e) => { if (e.key === 'Enter')
133
- this._valueTop = this._topInput.value; };
134
- this._rightInput.onkeyup = (e) => { if (e.key === 'Enter')
135
- this._valueRight = this._rightInput.value; };
136
- this._bottomInput.onkeyup = (e) => { if (e.key === 'Enter')
137
- this._valueBottom = this._bottomInput.value; };
138
- this._leftInput.onblur = (e) => this._valueLeft = this._leftInput.value;
139
- this._topInput.onblur = (e) => this._valueTop = this._topInput.value;
140
- this._rightInput.onblur = (e) => this._valueRight = this._rightInput.value;
141
- this._bottomInput.onblur = (e) => this._valueBottom = this._bottomInput.value;
142
- this._updateValue();
143
- }
144
- }
145
- customElements.define('node-projects-thickness-editor', ThicknessEditor);
File without changes
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,14 +0,0 @@
1
- import { BindingMode } from "./BindingMode";
2
- import { BindingTarget } from "./BindingTarget";
3
- export interface IBinding {
4
- bindableObjectNames?: string[];
5
- expression?: string;
6
- mode?: BindingMode;
7
- target?: BindingTarget;
8
- invert?: boolean;
9
- converter?: string;
10
- changedEvent?: string;
11
- nullSafe?: boolean;
12
- rawName?: string;
13
- rawValue?: string;
14
- }
@@ -1,4 +0,0 @@
1
- export class Binding {
2
- }
3
- export class ExtendedBinding extends Binding {
4
- }
@@ -1,14 +0,0 @@
1
- import { BindingMode } from "./BindingMode";
2
- import { BindingTarget } from "./BindingTarget";
3
- export interface IBinding {
4
- bindableObjectNames?: string[];
5
- expression?: string;
6
- mode?: BindingMode;
7
- target?: BindingTarget;
8
- invert?: boolean;
9
- converter?: string;
10
- changedEvent?: string;
11
- nullSafe?: boolean;
12
- rawName?: string;
13
- rawValue?: string;
14
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "./IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class PolymerBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindings(designItem: IDesignItem): void;
8
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
9
- }
@@ -1,31 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from './BindingMode';
3
- export class PolymerBindingsService {
4
- constructor() {
5
- this.writeBindingMode = 'direct';
6
- }
7
- parseBindings(designItem) {
8
- for (let a of designItem.attributes.entries()) {
9
- if (typeof a[1] == 'string' && (a[1].startsWith("[[") || a[1].startsWith("{{"))) {
10
- let bnd = {};
11
- if (a[1].startsWith("[["))
12
- bnd.mode = BindingMode.oneWay;
13
- else
14
- bnd.mode = BindingMode.twoWay;
15
- bnd.invert = a[1][3] == '!';
16
- bnd.expression = a[1];
17
- let nm = a[0];
18
- if (nm.endsWith('$')) {
19
- bnd.escapeAttribute = true;
20
- nm = nm.slice(0, -1);
21
- designItem.attributes.delete(a[0]);
22
- }
23
- designItem.attributes.set(nm, bnd);
24
- }
25
- }
26
- }
27
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
28
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
29
- return true;
30
- }
31
- }
@@ -1,11 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "../../item/IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class BaseCustomeWebcomponentBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindingAttribute(attributeName: string, value: string): IBinding;
8
- parseBindingCss(attributeName: string, value: string): IBinding;
9
- serializeBinding(): void;
10
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
11
- }
@@ -1,34 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from '../../item/BindingMode';
3
- import { BindingTarget } from './BindingTarget';
4
- export class BaseCustomeWebcomponentBindingsService {
5
- constructor() {
6
- this.writeBindingMode = 'direct';
7
- }
8
- parseBindingAttribute(attributeName, value) {
9
- if (value.startsWith("[[") || value.startsWith("{{")) {
10
- let bnd = {};
11
- bnd.rawName = attributeName;
12
- bnd.rawValue = value;
13
- bnd.target = BindingTarget.property;
14
- if (value.startsWith("[["))
15
- bnd.mode = BindingMode.oneWay;
16
- else
17
- bnd.mode = BindingMode.twoWay;
18
- bnd.invert = value[3] == '!';
19
- bnd.nullSafe = value[3] == '?';
20
- bnd.expression = value;
21
- return bnd;
22
- }
23
- return null;
24
- }
25
- parseBindingCss(attributeName, value) {
26
- return null;
27
- }
28
- serializeBinding() {
29
- }
30
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
31
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
32
- return true;
33
- }
34
- }
@@ -1,4 +0,0 @@
1
- export declare enum BindingMode {
2
- oneWay = "oneWay",
3
- twoWay = "twoWay"
4
- }
@@ -1,5 +0,0 @@
1
- export var BindingMode;
2
- (function (BindingMode) {
3
- BindingMode["oneWay"] = "oneWay";
4
- BindingMode["twoWay"] = "twoWay";
5
- })(BindingMode || (BindingMode = {}));
@@ -1,6 +0,0 @@
1
- export declare enum BindingTarget {
2
- property = "property",
3
- attribute = "attribute",
4
- style = "style",
5
- event = "event"
6
- }
@@ -1,7 +0,0 @@
1
- export var BindingTarget;
2
- (function (BindingTarget) {
3
- BindingTarget["property"] = "property";
4
- BindingTarget["attribute"] = "attribute";
5
- BindingTarget["style"] = "style";
6
- BindingTarget["event"] = "event";
7
- })(BindingTarget || (BindingTarget = {}));
@@ -1,14 +0,0 @@
1
- import { BindingMode } from "./BindingMode";
2
- import { BindingTarget } from "./BindingTarget";
3
- export interface IBinding {
4
- bindableObjectNames?: string[];
5
- expression?: string;
6
- mode?: BindingMode;
7
- target?: BindingTarget;
8
- invert?: boolean;
9
- converter?: string;
10
- changedEvent?: string;
11
- nullSafe?: boolean;
12
- rawName?: string;
13
- rawValue?: string;
14
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "./IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class PolymerBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindings(designItem: IDesignItem): void;
8
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
9
- }
@@ -1,31 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from './BindingMode';
3
- export class PolymerBindingsService {
4
- constructor() {
5
- this.writeBindingMode = 'direct';
6
- }
7
- parseBindings(designItem) {
8
- for (let a of designItem.attributes.entries()) {
9
- if (typeof a[1] == 'string' && (a[1].startsWith("[[") || a[1].startsWith("{{"))) {
10
- let bnd = {};
11
- if (a[1].startsWith("[["))
12
- bnd.mode = BindingMode.oneWay;
13
- else
14
- bnd.mode = BindingMode.twoWay;
15
- bnd.invert = a[1][3] == '!';
16
- bnd.expression = a[1];
17
- let nm = a[0];
18
- if (nm.endsWith('$')) {
19
- bnd.escapeAttribute = true;
20
- nm = nm.slice(0, -1);
21
- designItem.attributes.delete(a[0]);
22
- }
23
- designItem.attributes.set(nm, bnd);
24
- }
25
- }
26
- }
27
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
28
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
29
- return true;
30
- }
31
- }