@node-projects/web-component-designer 0.0.250 → 0.0.252

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 (84) hide show
  1. package/dist/elements/helper/GridHelper.js +8 -8
  2. package/dist/elements/services/propertiesService/PropertyTabsService.js +1 -0
  3. package/dist/elements/services/propertiesService/services/CssProperties.json +39 -6
  4. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +2 -1
  5. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +9 -0
  6. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +0 -2
  7. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +4 -0
  8. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +4 -0
  9. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +4 -0
  10. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +4 -0
  11. package/dist/index.d.ts +0 -1
  12. package/package.json +4 -4
  13. package/dist/elements/services/dragDropService/ExternalDragDropService copy.d.ts +0 -6
  14. package/dist/elements/services/dragDropService/ExternalDragDropService copy.js +0 -28
  15. package/dist/elements/services/dragDropService/IExternalDragDropService copy.d.ts +0 -5
  16. package/dist/elements/services/dragDropService/IExternalDragDropService copy.js +0 -1
  17. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.d.ts +0 -9
  18. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.js +0 -46
  19. package/dist/elements/services/htmlParserService/BaseCustomWebcomponentParserService copy.d.ts +0 -11
  20. package/dist/elements/services/htmlParserService/BaseCustomWebcomponentParserService copy.js +0 -90
  21. package/dist/elements/services/propertiesService/DefaultEditorTypesService copy.d.ts +0 -6
  22. package/dist/elements/services/propertiesService/DefaultEditorTypesService copy.js +0 -64
  23. package/dist/elements/services/propertiesService/GridEditorTypesService.d.ts +0 -6
  24. package/dist/elements/services/propertiesService/GridEditorTypesService.js +0 -64
  25. package/dist/elements/services/propertiesService/propertyEditors/GridCellPropertyEditor.d.ts +0 -9
  26. package/dist/elements/services/propertiesService/propertyEditors/GridCellPropertyEditor.js +0 -16
  27. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor copy.d.ts +0 -9
  28. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor copy.js +0 -21
  29. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.d.ts +0 -15
  30. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction copy.js +0 -70
  31. package/dist/elements/services/undoService/transactionItems/ContentChangeAction.d.ts +0 -13
  32. package/dist/elements/services/undoService/transactionItems/ContentChangeAction.js +0 -38
  33. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction copy.d.ts +0 -14
  34. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction copy.js +0 -44
  35. package/dist/elements/services/undoService/transactionItems/InsertChildAction copy.d.ts +0 -16
  36. package/dist/elements/services/undoService/transactionItems/InsertChildAction copy.js +0 -37
  37. package/dist/elements/services/undoService/transactionItems/StylesheetStyleChangeAction.d.ts +0 -17
  38. package/dist/elements/services/undoService/transactionItems/StylesheetStyleChangeAction.js +0 -28
  39. package/dist/elements/widgets/codeView/code-view-ace copy.d.ts +0 -24
  40. package/dist/elements/widgets/codeView/code-view-ace copy.js +0 -133
  41. package/dist/elements/widgets/codeView/code-view-code-mirror copy.d.ts +0 -25
  42. package/dist/elements/widgets/codeView/code-view-code-mirror copy.js +0 -106
  43. package/dist/elements/widgets/codeView/code-view-code-mirror-6.d.ts +0 -25
  44. package/dist/elements/widgets/codeView/code-view-code-mirror-6.js +0 -102
  45. package/dist/elements/widgets/codeView/code-view-jar.d.ts +0 -23
  46. package/dist/elements/widgets/codeView/code-view-jar.js +0 -121
  47. package/dist/elements/widgets/designerView/extensions/GridExtension.d.ts +0 -51
  48. package/dist/elements/widgets/designerView/extensions/GridExtension.js +0 -346
  49. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.d.ts +0 -11
  50. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +0 -22
  51. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension copy 2.d.ts +0 -51
  52. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension copy 2.js +0 -346
  53. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension copy.d.ts +0 -51
  54. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension copy.js +0 -346
  55. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension.d.ts +0 -16
  56. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtension.js +0 -71
  57. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtensionProvider copy.d.ts +0 -10
  58. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtensionProvider copy.js +0 -22
  59. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtensionProvider.d.ts +0 -10
  60. package/dist/elements/widgets/designerView/extensions/grid/EditGridExtensionProvider.js +0 -18
  61. package/dist/elements/widgets/designerView/extensions/grid/GridExtension copy.d.ts +0 -51
  62. package/dist/elements/widgets/designerView/extensions/grid/GridExtension copy.js +0 -346
  63. package/dist/elements/widgets/designerView/extensions/grid/GridExtension.d.ts +0 -51
  64. package/dist/elements/widgets/designerView/extensions/grid/GridExtension.js +0 -346
  65. package/dist/elements/widgets/designerView/extensions/grid/GridExtensionProvider copy.d.ts +0 -11
  66. package/dist/elements/widgets/designerView/extensions/grid/GridExtensionProvider copy.js +0 -22
  67. package/dist/elements/widgets/designerView/extensions/grid/GridExtensionProvider.d.ts +0 -11
  68. package/dist/elements/widgets/designerView/extensions/grid/GridExtensionProvider.js +0 -22
  69. package/dist/elements/widgets/designerView/extensions/grid/NewEditGridExtensionProvider.d.ts +0 -10
  70. package/dist/elements/widgets/designerView/extensions/grid/NewEditGridExtensionProvider.js +0 -22
  71. package/dist/elements/widgets/designerView/extensions/grid/OldEditGridExtension.d.ts +0 -51
  72. package/dist/elements/widgets/designerView/extensions/grid/OldEditGridExtension.js +0 -346
  73. package/dist/elements/widgets/designerView/extensions/grid/OldEditGridExtensionProvider.d.ts +0 -10
  74. package/dist/elements/widgets/designerView/extensions/grid/OldEditGridExtensionProvider.js +0 -22
  75. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstExtensionProvider.d.ts +0 -12
  76. package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstExtensionProvider.js +0 -17
  77. package/dist/elements/widgets/designerView/extensions/logic/DisplayGridExtensionProvider.d.ts +0 -11
  78. package/dist/elements/widgets/designerView/extensions/logic/DisplayGridExtensionProvider.js +0 -23
  79. package/dist/elements/widgets/designerView/extensions/logic/OrCombineContainerProvider.d.ts +0 -12
  80. package/dist/elements/widgets/designerView/extensions/logic/OrCombineContainerProvider.js +0 -17
  81. package/dist/interfaces/ICommandHandler.d.ts +0 -5
  82. package/dist/interfaces/ICommandHandler.js +0 -1
  83. package/dist/polyfill/mobileDragDrop.d.ts +0 -2
  84. package/dist/polyfill/mobileDragDrop.js +0 -32
@@ -1,346 +0,0 @@
1
- import { EventNames } from "../../../../../enums/EventNames.js";
2
- import { convertCssUnit, convertCssUnitToPixel, getCssUnit } from "../../../../helper/CssUnitConverter.js";
3
- import { CalculateGridInformation } from "../../../../helper/GridHelper.js";
4
- import { AbstractExtension } from '../AbstractExtension.js';
5
- import { OverlayLayer } from "../OverlayLayer.js";
6
- export class GridExtension extends AbstractExtension {
7
- _initialPoint;
8
- _initialSizes;
9
- _cells;
10
- _gaps;
11
- _headers;
12
- _headerTexts;
13
- _plusCircles;
14
- _resizeCircles;
15
- minPixelSize = 10;
16
- gridInformation;
17
- defaultHeaderSize = 20;
18
- defaultPlusSize = this.defaultHeaderSize * 2 / 3;
19
- defaultDistanceToBox = 5;
20
- defaultDistanceBetweenHeaders = 10;
21
- defaultSizeOfNewRowOrColumn = "50px";
22
- constructor(extensionManager, designerView, extendedItem) {
23
- super(extensionManager, designerView, extendedItem);
24
- }
25
- extend() {
26
- this._initSVGArrays();
27
- this.refresh();
28
- }
29
- refresh() {
30
- this.gridInformation = CalculateGridInformation(this.extendedItem);
31
- let cells = this.gridInformation.cells;
32
- if (cells[0][0] && !isNaN(cells[0][0].height) && !isNaN(cells[0][0].width)) {
33
- if (this.gridInformation.cells.length != this._cells.length || this.gridInformation.cells[0].length != this._cells[0].length)
34
- this._initSVGArrays();
35
- //draw gaps
36
- this.gridInformation.gaps.forEach((gap, i) => {
37
- this._gaps[i] = this._drawRect(gap.x, gap.y, gap.width, gap.height, 'svg-grid-gap', this._gaps[i], OverlayLayer.Foregorund);
38
- this._resizeCircles[i] = this._drawResizeCircle(gap, this._resizeCircles[i]);
39
- });
40
- //draw cells
41
- cells.forEach((row, i) => {
42
- row.forEach((cell, j) => {
43
- this._cells[i][j] = this._drawRect(cell.x, cell.y, cell.width, cell.height, 'svg-grid', this._cells[i][j], OverlayLayer.Background);
44
- if (cell.name) {
45
- const text = this._drawText(cell.name, cell.x, cell.y, 'svg-grid-area', null, OverlayLayer.Background);
46
- text.setAttribute("dominant-baseline", "hanging");
47
- }
48
- });
49
- });
50
- //draw headers
51
- cells.forEach((row, i) => {
52
- this._headers[0][i] = this._drawHeader(row[0], this._headers[0][i], i, "vertical");
53
- this._headerTexts[0][i] = this._drawHeaderText(row[0], this._headerTexts[0][i], "vertical");
54
- });
55
- cells[0].forEach((column, i) => {
56
- this._headers[1][i] = this._drawHeader(column, this._headers[1][i], i, "horizontal");
57
- this._headerTexts[1][i] = this._drawHeaderText(column, this._headerTexts[1][i], "horizontal");
58
- });
59
- //draw circles for adding rows/columns
60
- for (let i = 0; i < this._plusCircles[0].length; i++)
61
- if (i < this._plusCircles[0].length - 1)
62
- this._plusCircles[0][i] = this._drawPlusCircle(cells[i][0].x, cells[i][0].y, this._plusCircles[0][i], i, "vertical");
63
- else
64
- this._plusCircles[0][i] = this._drawPlusCircle(cells[i - 1][0].x, cells[i - 1][0].y + cells[i - 1][0].height, this._plusCircles[0][i], i, "vertical", true);
65
- for (let i = 0; i < this._plusCircles[1].length; i++)
66
- if (i < this._plusCircles[1].length - 1)
67
- this._plusCircles[1][i] = this._drawPlusCircle(cells[0][i].x, cells[0][i].y, this._plusCircles[1][i], i, "horizontal");
68
- else
69
- this._plusCircles[1][i] = this._drawPlusCircle(cells[0][i - 1].x + cells[0][i - 1].width, cells[0][i - 1].y, this._plusCircles[1][i], i, "horizontal", true);
70
- }
71
- }
72
- dispose() {
73
- this._removeAllOverlays();
74
- }
75
- _initSVGArrays() {
76
- this._removeAllOverlays();
77
- this.gridInformation = CalculateGridInformation(this.extendedItem);
78
- this._cells = new Array(this.gridInformation.cells.length);
79
- this.gridInformation.cells.forEach((row, i) => this._cells[i] = new Array(row.length));
80
- this._gaps = new Array(this.gridInformation.gaps.length);
81
- this._headers = new Array(2);
82
- this._headers[0] = new Array(this.gridInformation.cells.length + 1); //array for the headers of columns
83
- this._headers[1] = new Array(this.gridInformation.cells[0].length + 1); //array for the headers of rows
84
- this._headerTexts = new Array(2);
85
- this._headerTexts[0] = new Array(this.gridInformation.cells.length + 1);
86
- this._headerTexts[1] = new Array(this.gridInformation.cells[0].length + 1);
87
- this._plusCircles = new Array(2);
88
- this._plusCircles[0] = new Array(this.gridInformation.cells.length + 1);
89
- this._plusCircles[1] = new Array(this.gridInformation.cells[0].length + 1);
90
- this._resizeCircles = new Array(this.gridInformation.gaps.length);
91
- }
92
- _drawResizeCircle(gap, oldCircle) {
93
- let resizeCircle = this._drawCircle((gap.x + (gap.width / 2)), (gap.y + (gap.height / 2)), 1.5, 'svg-grid-resizer', oldCircle, OverlayLayer.Foregorund);
94
- resizeCircle.style.pointerEvents = "all";
95
- resizeCircle.style.cursor = gap.width < gap.height ? "ew-resize" : "ns-resize";
96
- if (!oldCircle) {
97
- resizeCircle.addEventListener(EventNames.PointerDown, event => this._pointerActionTypeResize(event, resizeCircle, gap.column, gap.row));
98
- resizeCircle.addEventListener(EventNames.PointerMove, event => this._pointerActionTypeResize(event, resizeCircle, gap.column, gap.row));
99
- resizeCircle.addEventListener(EventNames.PointerUp, event => this._pointerActionTypeResize(event, resizeCircle, gap.column, gap.row));
100
- }
101
- return resizeCircle;
102
- }
103
- _drawHeader(cell, oldHeader, index, alignment) {
104
- let xOffset;
105
- let yOffset;
106
- let width;
107
- let height;
108
- if (alignment == "vertical") {
109
- xOffset = -(this.defaultHeaderSize + this.defaultDistanceToBox);
110
- yOffset = this.defaultDistanceBetweenHeaders / 2;
111
- width = this.defaultHeaderSize;
112
- height = cell.height - this.defaultDistanceBetweenHeaders;
113
- }
114
- else {
115
- xOffset = this.defaultDistanceBetweenHeaders / 2;
116
- yOffset = -(this.defaultHeaderSize + this.defaultDistanceToBox);
117
- width = cell.width - this.defaultDistanceBetweenHeaders;
118
- height = this.defaultHeaderSize;
119
- }
120
- let tmpHeader = this._drawRect(cell.x + xOffset, cell.y + yOffset, width, height, "svg-grid-header", oldHeader, OverlayLayer.Foregorund);
121
- tmpHeader.style.pointerEvents = "all";
122
- if (!oldHeader) {
123
- tmpHeader.addEventListener(EventNames.PointerMove, event => {
124
- this._toggleDisplayPlusCircles(index, alignment, true);
125
- });
126
- }
127
- return tmpHeader;
128
- }
129
- _drawHeaderText(cell, oldHeaderText, alignment) {
130
- let text;
131
- let xOffset;
132
- let yOffset;
133
- if (alignment == "vertical") {
134
- text = this._getHeaderText(cell.height, cell.initHeightUnit, "height");
135
- xOffset = -12.5;
136
- yOffset = cell.height / 2;
137
- }
138
- else {
139
- text = this._getHeaderText(cell.width, cell.initWidthUnit, "width");
140
- xOffset = cell.width / 2;
141
- yOffset = -12.5;
142
- }
143
- let rText = this._drawText(text, cell.x + xOffset, cell.y + yOffset, null, oldHeaderText, OverlayLayer.Background);
144
- if (alignment == "vertical")
145
- rText.setAttribute("transform", "rotate(-90, " + (cell.x + xOffset) + ", " + (cell.y + yOffset) + ")");
146
- return rText;
147
- }
148
- _drawPlusCircle(x, y, oldPlusElement, index, alignment, final = false) {
149
- let plusElement = { circle: null, verticalLine: null, horizontalLine: null };
150
- let posX;
151
- let posY;
152
- let gapOffset = index == 0 || final ? 0 : -(convertCssUnitToPixel(this.extendedItem.getStyle(alignment == "vertical" ? "row-gap" : "column-gap"), this.extendedItem.element, alignment == "vertical" ? "height" : "width") / 2);
153
- if (alignment == "vertical") {
154
- posX = x - this.defaultDistanceToBox - this.defaultHeaderSize / 2;
155
- posY = y + gapOffset;
156
- }
157
- else {
158
- posX = x + gapOffset;
159
- posY = y - this.defaultDistanceToBox - this.defaultHeaderSize / 2;
160
- }
161
- plusElement.circle = this._drawCircle(posX, posY, this.defaultHeaderSize / 2, 'svg-grid-resizer', oldPlusElement ? oldPlusElement.circle : null, OverlayLayer.Foregorund);
162
- plusElement.circle.style.pointerEvents = "all";
163
- plusElement.circle.style.cursor = "pointer";
164
- plusElement.circle.style.display = "none";
165
- if (!oldPlusElement) {
166
- plusElement.circle.addEventListener(EventNames.PointerMove, event => this._toggleDisplayPlusCircles(index, alignment));
167
- plusElement.circle.addEventListener(EventNames.PointerDown, event => {
168
- this._editGrid(index, alignment, "add");
169
- event.stopPropagation();
170
- });
171
- }
172
- plusElement.verticalLine = this._drawLine(posX, posY - this.defaultPlusSize / 2, posX, posY + this.defaultPlusSize / 2, "svg-grid-plus-sign", oldPlusElement ? oldPlusElement.verticalLine : null, OverlayLayer.Foregorund);
173
- plusElement.verticalLine.style.display = "none";
174
- plusElement.horizontalLine = this._drawLine(posX - this.defaultPlusSize / 2, posY, posX + this.defaultPlusSize / 2, posY, "svg-grid-plus-sign", oldPlusElement ? oldPlusElement.horizontalLine : null, OverlayLayer.Foregorund);
175
- plusElement.horizontalLine.style.display = "none";
176
- return plusElement;
177
- }
178
- _getHeaderText(size, unit, percentTarget) {
179
- return Math.round(parseFloat(this._convertCssUnit(size, this.extendedItem.element, percentTarget, unit)) * 10) / 10 + unit;
180
- }
181
- _getInitialSizes() {
182
- let rX = []; //in pixels
183
- let rXUnit = []; //original unit
184
- let rY = []; //in pixels
185
- let rYUnit = []; //original unit
186
- this.gridInformation.cells[0].forEach(row => {
187
- rX.push(row.width);
188
- rXUnit.push(row.initWidthUnit);
189
- });
190
- this.gridInformation.cells.forEach(column => {
191
- rY.push(column[0].height);
192
- rYUnit.push(column[0].initHeightUnit);
193
- });
194
- return { x: rX, xUnit: rXUnit, y: rY, yUnit: rYUnit };
195
- }
196
- _pointerActionTypeResize(event, circle, gapColumn, gapRow) {
197
- event.stopPropagation();
198
- switch (event.type) {
199
- case EventNames.PointerDown:
200
- circle.setPointerCapture(event.pointerId);
201
- this._initialPoint = { x: event.clientX, y: event.clientY };
202
- this._initialSizes = this._getInitialSizes();
203
- break;
204
- case EventNames.PointerMove:
205
- if (this._initialPoint) {
206
- let elementStyle = this.extendedItem.element.style;
207
- this.extendedItem.element.getBoundingClientRect;
208
- if (circle.style.cursor == "ew-resize")
209
- elementStyle.gridTemplateColumns = this._calculateNewSize(this._initialSizes.x, this._initialSizes.xUnit, (event.clientX - this._initialPoint.x) / this.designerCanvas.zoomFactor, gapColumn, "width");
210
- else if (circle.style.cursor == "ns-resize")
211
- elementStyle.gridTemplateRows = this._calculateNewSize(this._initialSizes.y, this._initialSizes.yUnit, (event.clientY - this._initialPoint.y) / this.designerCanvas.zoomFactor, gapRow, "height");
212
- this.refresh();
213
- }
214
- break;
215
- case EventNames.PointerUp:
216
- circle.releasePointerCapture(event.pointerId);
217
- if (circle.style.cursor == "ew-resize")
218
- this.extendedItem.setStyle("grid-template-columns", this._calculateNewSize(this._initialSizes.x, this._initialSizes.xUnit, (event.clientX - this._initialPoint.x) / this.designerCanvas.zoomFactor, gapColumn, "width", true));
219
- else if (circle.style.cursor == "ns-resize")
220
- this.extendedItem.setStyle("grid-template-rows", this._calculateNewSize(this._initialSizes.y, this._initialSizes.yUnit, (event.clientY - this._initialPoint.y) / this.designerCanvas.zoomFactor, gapRow, "height", true));
221
- this._initialPoint = null;
222
- this._initialSizes = null;
223
- this.refresh();
224
- break;
225
- }
226
- }
227
- _calculateNewSize(iSizes, iUnits, diff, gapIndex, percentTarget, pointerUp = false) {
228
- let newSizes = [];
229
- let edited = [];
230
- for (let i = 0; i < iSizes.length; i++) {
231
- newSizes.push(i + 1 == gapIndex ? iSizes[i] + diff : i == gapIndex ? iSizes[i] - diff : iSizes[i]);
232
- edited.push(i + 1 == gapIndex || i == gapIndex);
233
- }
234
- for (let i = 0; i < newSizes.length; i++) {
235
- let index = edited[i + 1] ? i + 1 : edited[i - 1] ? i - 1 : null;
236
- if (newSizes[i] < 0 && pointerUp) {
237
- if (confirm("Do you want to delete this " + (percentTarget == "width" ? "column" : "row") + "?")) {
238
- this._editGrid(i, percentTarget == "width" ? "horizontal" : "vertical", "del");
239
- newSizes[index] = iSizes[i] + iSizes[index];
240
- newSizes.splice(i, 1);
241
- break;
242
- }
243
- }
244
- if (newSizes[i] < this.minPixelSize) {
245
- newSizes[index] = newSizes[i] + newSizes[index] - this.minPixelSize;
246
- newSizes[i] = this.minPixelSize;
247
- break;
248
- }
249
- }
250
- let retVal = "";
251
- newSizes.forEach((newSize, i) => retVal += this._convertCssUnit(newSize + "px", this.extendedItem.element, percentTarget, iUnits[i]) + ' ');
252
- return retVal;
253
- }
254
- _editGrid(pos, alignment, task) {
255
- let cellTarget;
256
- let elementTarget;
257
- if (alignment == "vertical") {
258
- cellTarget = "grid-template-rows";
259
- elementTarget = "height";
260
- }
261
- else {
262
- cellTarget = "grid-template-columns";
263
- elementTarget = "width";
264
- }
265
- let sizes = this.extendedItem.getStyle(cellTarget).split(' ');
266
- if (task == "add")
267
- sizes.splice(pos, 0, this.defaultSizeOfNewRowOrColumn);
268
- else
269
- sizes.splice(pos, 1);
270
- this.extendedItem.setStyle(cellTarget, sizes.join(' '));
271
- if (task == "add") {
272
- this.extendedItem.setStyle(elementTarget, convertCssUnit(this._calculateNewElementSize(elementTarget), this.designerCanvas.canvas, elementTarget, getCssUnit(this.extendedItem.getStyle(elementTarget))));
273
- }
274
- else {
275
- this.extendedItem.setStyle(elementTarget, convertCssUnit(convertCssUnitToPixel(this.extendedItem.getStyle(elementTarget), this.designerCanvas.canvas, elementTarget) - convertCssUnitToPixel(this.extendedItem.getStyle(alignment == "vertical" ? "row-gap" : "column-gap"), this.extendedItem.element, elementTarget), this.designerCanvas.canvas, elementTarget, getCssUnit(this.extendedItem.getStyle(elementTarget))));
276
- }
277
- }
278
- _calculateNewElementSize(elementTarget) {
279
- let gc = CalculateGridInformation(this.extendedItem);
280
- let tmpSize = 0;
281
- if (elementTarget == "width") {
282
- gc.cells[0].forEach(cell => { tmpSize += cell.width; });
283
- tmpSize += convertCssUnitToPixel(this.extendedItem.getStyle("column-gap"), this.extendedItem.element, elementTarget) * (gc.cells[0].length - 1);
284
- }
285
- else {
286
- gc.cells.forEach(row => { tmpSize += row[0].height; });
287
- tmpSize += convertCssUnitToPixel(this.extendedItem.getStyle("row-gap"), this.extendedItem.element, elementTarget) * (gc.cells.length - 1);
288
- }
289
- return tmpSize + "px";
290
- }
291
- _toggleDisplayPlusCircles(index, alignment, double = false) {
292
- this._plusCircles.forEach(alignment => {
293
- alignment.forEach(element => {
294
- element.circle.style.display = "none";
295
- element.verticalLine.style.display = "none";
296
- element.horizontalLine.style.display = "none";
297
- });
298
- });
299
- if (index != -1) {
300
- this._plusCircles[alignment == "vertical" ? 0 : 1][index].circle.style.display = "inline";
301
- this._plusCircles[alignment == "vertical" ? 0 : 1][index].verticalLine.style.display = "inline";
302
- this._plusCircles[alignment == "vertical" ? 0 : 1][index].horizontalLine.style.display = "inline";
303
- if (double) {
304
- this._plusCircles[alignment == "vertical" ? 0 : 1][index + 1].circle.style.display = "inline";
305
- this._plusCircles[alignment == "vertical" ? 0 : 1][index + 1].verticalLine.style.display = "inline";
306
- this._plusCircles[alignment == "vertical" ? 0 : 1][index + 1].horizontalLine.style.display = "inline";
307
- }
308
- }
309
- }
310
- _convertCssUnit(cssValue, target, percentTarget, unit) {
311
- if (unit == "fr") {
312
- let containerSize = convertCssUnitToPixel(target.style.width, target, percentTarget);
313
- let amountGaps = percentTarget == "height" ? this.gridInformation.cells.length - 1 : this.gridInformation.cells[0].length - 1;
314
- let gapSize = convertCssUnitToPixel(percentTarget == "width" ? target.style.columnGap : target.style.rowGap, target, percentTarget);
315
- let containerSizeWithoutGaps = containerSize - gapSize * amountGaps;
316
- let amountFrSizes = 0;
317
- let leftOver = containerSizeWithoutGaps;
318
- if (percentTarget == "width") {
319
- this.gridInformation.cells[0].forEach((column, i) => {
320
- if (column.initWidthUnit == "fr")
321
- amountFrSizes++;
322
- else
323
- leftOver -= column.width;
324
- });
325
- }
326
- else {
327
- this.gridInformation.cells.forEach((row, i) => {
328
- if (row[0].initHeightUnit == "fr")
329
- amountFrSizes++;
330
- else
331
- leftOver -= row[0].height;
332
- });
333
- }
334
- let frRatio = leftOver / amountFrSizes;
335
- if (typeof cssValue == "number") {
336
- //expected Value in Pixel
337
- return (cssValue / frRatio) + "fr";
338
- }
339
- else {
340
- return (convertCssUnitToPixel(cssValue, target, percentTarget) / frRatio) + "fr";
341
- }
342
- }
343
- else
344
- return convertCssUnit(cssValue, target, percentTarget, unit);
345
- }
346
- }
@@ -1,51 +0,0 @@
1
- import { IDesignItem } from '../../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../../IDesignerCanvas.js';
3
- import { AbstractExtension } from '../AbstractExtension.js';
4
- import { IExtensionManager } from '../IExtensionManger.js';
5
- export declare class GridExtension extends AbstractExtension {
6
- private _initialPoint;
7
- private _initialSizes;
8
- private _cells;
9
- private _gaps;
10
- private _headers;
11
- private _headerTexts;
12
- private _plusCircles;
13
- private _resizeCircles;
14
- private minPixelSize;
15
- private gridInformation;
16
- private defaultHeaderSize;
17
- private defaultPlusSize;
18
- private defaultDistanceToBox;
19
- private defaultDistanceBetweenHeaders;
20
- private defaultSizeOfNewRowOrColumn;
21
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
22
- extend(): void;
23
- refresh(): void;
24
- dispose(): void;
25
- _initSVGArrays(): void;
26
- _drawResizeCircle(gap: any, oldCircle?: SVGCircleElement): SVGCircleElement;
27
- _drawHeader(cell: any, oldHeader: any, index: any, alignment: "vertical" | "horizontal"): SVGRectElement;
28
- _drawHeaderText(cell: any, oldHeaderText: any, alignment: "vertical" | "horizontal"): SVGTextElement;
29
- _drawPlusCircle(x: any, y: any, oldPlusElement: {
30
- circle: SVGCircleElement;
31
- verticalLine: SVGLineElement;
32
- horizontalLine: SVGLineElement;
33
- }, index: any, alignment: "vertical" | "horizontal", final?: boolean): {
34
- circle: any;
35
- verticalLine: any;
36
- horizontalLine: any;
37
- };
38
- _getHeaderText(size: number, unit: string, percentTarget: "width" | "height"): string;
39
- _getInitialSizes(): {
40
- x: any[];
41
- xUnit: any[];
42
- y: any[];
43
- yUnit: any[];
44
- };
45
- _pointerActionTypeResize(event: PointerEvent, circle: SVGCircleElement, gapColumn: any, gapRow: any): void;
46
- _calculateNewSize(iSizes: number[], iUnits: string[], diff: any, gapIndex: any, percentTarget: 'width' | 'height', pointerUp?: boolean): string;
47
- _editGrid(pos: number, alignment: "vertical" | "horizontal", task: "add" | "del"): void;
48
- _calculateNewElementSize(elementTarget: "width" | "height"): string;
49
- _toggleDisplayPlusCircles(index: any, alignment: "vertical" | "horizontal", double?: boolean): void;
50
- _convertCssUnit(cssValue: string | number, target: HTMLElement, percentTarget: 'width' | 'height', unit: string): string | number;
51
- }