@inweb/client 25.2.2 → 25.2.8

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 (224) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +70 -70
  3. package/dist/client.js +12369 -11952
  4. package/dist/client.js.map +1 -1
  5. package/dist/client.min.js +1 -1
  6. package/dist/client.module.js +714 -235
  7. package/dist/client.module.js.map +1 -1
  8. package/lib/Api/Assembly.d.ts +338 -338
  9. package/lib/Api/ClashTest.d.ts +175 -175
  10. package/lib/Api/Client.d.ts +451 -451
  11. package/lib/Api/ClientEvents.d.ts +28 -28
  12. package/lib/Api/File.d.ts +567 -567
  13. package/lib/Api/HttpClient.d.ts +12 -12
  14. package/lib/Api/IAssembly.d.ts +13 -13
  15. package/lib/Api/IFile.d.ts +45 -45
  16. package/lib/Api/IHttpClient.d.ts +10 -10
  17. package/lib/Api/IUser.d.ts +10 -10
  18. package/lib/Api/Job.d.ts +141 -141
  19. package/lib/Api/Member.d.ts +84 -84
  20. package/lib/Api/Model.d.ts +146 -146
  21. package/lib/Api/Permission.d.ts +92 -92
  22. package/lib/Api/Project.d.ts +246 -246
  23. package/lib/Api/Role.d.ts +81 -81
  24. package/lib/Api/User.d.ts +196 -196
  25. package/lib/Api/impl/FetchError.d.ts +17 -17
  26. package/lib/Api/impl/Utils.d.ts +32 -32
  27. package/lib/Api/impl/http.d.ts +66 -66
  28. package/lib/ConvetMath.d.ts +28 -28
  29. package/lib/Viewer/CanvasEvents.d.ts +1 -1
  30. package/lib/Viewer/Commands/ApplyModelTransform.d.ts +1 -1
  31. package/lib/Viewer/Commands/ClearMarkup.d.ts +1 -1
  32. package/lib/Viewer/Commands/ClearSlices.d.ts +1 -1
  33. package/lib/Viewer/Commands/CreatePreview.d.ts +1 -1
  34. package/lib/Viewer/Commands/Explode.d.ts +1 -1
  35. package/lib/Viewer/Commands/GetDefaultViewPositions.d.ts +1 -1
  36. package/lib/Viewer/Commands/GetModels.d.ts +1 -1
  37. package/lib/Viewer/Commands/GetSelected.d.ts +1 -1
  38. package/lib/Viewer/Commands/HideSelected.d.ts +1 -1
  39. package/lib/Viewer/Commands/IsolateSelected.d.ts +1 -1
  40. package/lib/Viewer/Commands/RegenerateAll.d.ts +1 -1
  41. package/lib/Viewer/Commands/ResetView.d.ts +1 -1
  42. package/lib/Viewer/Commands/SelectModel.d.ts +1 -1
  43. package/lib/Viewer/Commands/SetActiveDragger.d.ts +1 -1
  44. package/lib/Viewer/Commands/SetDefaultViewPosition.d.ts +1 -1
  45. package/lib/Viewer/Commands/SetMarkupColor.d.ts +1 -1
  46. package/lib/Viewer/Commands/SetSelected.d.ts +1 -1
  47. package/lib/Viewer/Commands/ShowAll.d.ts +1 -1
  48. package/lib/Viewer/Commands/Unselect.d.ts +1 -1
  49. package/lib/Viewer/Commands/ZoomToExtents.d.ts +1 -1
  50. package/lib/Viewer/Commands/ZoomToObjects.d.ts +1 -1
  51. package/lib/Viewer/Commands/ZoomToSelected.d.ts +1 -1
  52. package/lib/Viewer/Commands.d.ts +2 -2
  53. package/lib/Viewer/Draggers/Actions/OrbitAction.d.ts +21 -21
  54. package/lib/Viewer/Draggers/Actions/PanAction.d.ts +17 -17
  55. package/lib/Viewer/Draggers/Actions/ZoomAction.d.ts +7 -7
  56. package/lib/Viewer/Draggers/Common/Geometry.d.ts +114 -114
  57. package/lib/Viewer/Draggers/Common/GestureManager.d.ts +40 -40
  58. package/lib/Viewer/Draggers/Common/OdBaseDragger.d.ts +53 -53
  59. package/lib/Viewer/Draggers/Common/OdaGeAction.d.ts +29 -29
  60. package/lib/Viewer/Draggers/MeasureLineDragger/MeasureLineItem.d.ts +30 -30
  61. package/lib/Viewer/Draggers/MeasureLineDragger/MeasureUtils.d.ts +19 -19
  62. package/lib/Viewer/Draggers/MeasureLineDragger/index.d.ts +23 -23
  63. package/lib/Viewer/Draggers/OdBaseCuttingPlaneDragger.d.ts +26 -26
  64. package/lib/Viewer/Draggers/OdCuttingPlaneXAxisDragger.d.ts +7 -7
  65. package/lib/Viewer/Draggers/OdCuttingPlaneYAxisDragger.d.ts +7 -7
  66. package/lib/Viewer/Draggers/OdCuttingPlaneZAxisDragger.d.ts +7 -7
  67. package/lib/Viewer/Draggers/OdOrbitDragger.d.ts +14 -14
  68. package/lib/Viewer/Draggers/OdPanDragger.d.ts +11 -11
  69. package/lib/Viewer/Draggers/OdZoomDragger.d.ts +11 -11
  70. package/lib/Viewer/Draggers/OdZoomWheelDragger.d.ts +10 -10
  71. package/lib/Viewer/Draggers/OdZoomWindowDragger/OdSelectionFrame.d.ts +18 -18
  72. package/lib/Viewer/Draggers/OdZoomWindowDragger/index.d.ts +13 -13
  73. package/lib/Viewer/Draggers/OdaLineDragger.d.ts +14 -14
  74. package/lib/Viewer/Draggers/OdaTextDragger.d.ts +15 -15
  75. package/lib/Viewer/Draggers/OdaWalkDragger.d.ts +29 -29
  76. package/lib/Viewer/Draggers/OrbitAroundBuildingDragger.d.ts +18 -18
  77. package/lib/Viewer/EventEmitter2.d.ts +53 -53
  78. package/lib/Viewer/ICommands.d.ts +24 -24
  79. package/lib/Viewer/IEventEmitter2.d.ts +12 -12
  80. package/lib/Viewer/IViewer.d.ts +28 -26
  81. package/lib/Viewer/Loaders/BaseLoader.d.ts +10 -10
  82. package/lib/Viewer/Loaders/LoaderFactory.d.ts +10 -9
  83. package/lib/Viewer/Loaders/TCSLoader.d.ts +4 -4
  84. package/lib/Viewer/Loaders/UpdaterController.d.ts +14 -14
  85. package/lib/Viewer/Loaders/VsfXLoader.d.ts +4 -4
  86. package/lib/Viewer/Loaders/VsfXPartialLoader.d.ts +4 -4
  87. package/lib/Viewer/Loaders/VsfXStreamingLoader.d.ts +5 -0
  88. package/lib/Viewer/Markup/Api/IMarkupArrow.d.ts +21 -11
  89. package/lib/Viewer/Markup/Api/IMarkupCloud.d.ts +15 -0
  90. package/lib/Viewer/Markup/Api/IMarkupColorable.d.ts +4 -4
  91. package/lib/Viewer/Markup/Api/IMarkupEllipse.d.ts +14 -14
  92. package/lib/Viewer/Markup/Api/IMarkupImage.d.ts +14 -14
  93. package/lib/Viewer/Markup/Api/IMarkupLine.d.ts +18 -10
  94. package/lib/Viewer/Markup/Api/IMarkupObject.d.ts +11 -11
  95. package/lib/Viewer/Markup/Api/IMarkupRectangle.d.ts +14 -14
  96. package/lib/Viewer/Markup/Api/IMarkupText.d.ts +12 -12
  97. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaArrow.d.ts +46 -31
  98. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaCloud.d.ts +36 -0
  99. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaEllipse.d.ts +40 -39
  100. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaImage.d.ts +36 -35
  101. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaLine.d.ts +35 -31
  102. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaRectangle.d.ts +38 -37
  103. package/lib/Viewer/Markup/Api/Impl/Konva/KonvaText.d.ts +37 -36
  104. package/lib/Viewer/Markup/IMarkup.d.ts +38 -37
  105. package/lib/Viewer/Markup/Impl/Konva/KonvaMarkup.d.ts +71 -62
  106. package/lib/Viewer/Markup/Impl/Konva/MarkupColor.d.ts +18 -18
  107. package/lib/Viewer/Markup/Impl/Visualize/VisualizeMarkup.d.ts +33 -32
  108. package/lib/Viewer/Markup/MarkupFactory.d.ts +6 -6
  109. package/lib/Viewer/Options.d.ts +238 -227
  110. package/lib/Viewer/OptionsEvents.d.ts +25 -25
  111. package/lib/Viewer/Viewer.d.ts +358 -352
  112. package/lib/Viewer/ViewerCommands.d.ts +22 -22
  113. package/lib/Viewer/ViewerEvents.d.ts +600 -600
  114. package/lib/Viewer/utils.d.ts +3 -3
  115. package/lib/index.d.ts +23 -23
  116. package/package.json +38 -32
  117. package/src/Api/Assembly.ts +678 -678
  118. package/src/Api/ClashTest.ts +290 -290
  119. package/src/Api/Client.ts +816 -816
  120. package/src/Api/ClientEvents.ts +31 -31
  121. package/src/Api/File.ts +962 -962
  122. package/src/Api/HttpClient.ts +73 -73
  123. package/src/Api/IAssembly.ts +37 -37
  124. package/src/Api/IFile.ts +74 -74
  125. package/src/Api/IHttpClient.ts +50 -50
  126. package/src/Api/IUser.ts +33 -33
  127. package/src/Api/Job.ts +253 -253
  128. package/src/Api/Member.ts +161 -161
  129. package/src/Api/Model.ts +259 -259
  130. package/src/Api/Permission.ts +173 -173
  131. package/src/Api/Project.ts +479 -479
  132. package/src/Api/Role.ts +158 -158
  133. package/src/Api/User.ts +357 -357
  134. package/src/Api/impl/FetchError.ts +48 -48
  135. package/src/Api/impl/Utils.ts +367 -367
  136. package/src/Api/impl/http.ts +92 -92
  137. package/src/ConvetMath.ts +372 -372
  138. package/src/Viewer/CanvasEvents.ts +41 -41
  139. package/src/Viewer/Commands/ApplyModelTransform.ts +70 -70
  140. package/src/Viewer/Commands/ClearMarkup.ts +28 -28
  141. package/src/Viewer/Commands/ClearSlices.ts +27 -27
  142. package/src/Viewer/Commands/CreatePreview.ts +33 -33
  143. package/src/Viewer/Commands/Explode.ts +38 -38
  144. package/src/Viewer/Commands/GetDefaultViewPositions.ts +36 -36
  145. package/src/Viewer/Commands/GetModels.ts +43 -43
  146. package/src/Viewer/Commands/GetSelected.ts +58 -58
  147. package/src/Viewer/Commands/HideSelected.ts +37 -37
  148. package/src/Viewer/Commands/IsolateSelected.ts +37 -37
  149. package/src/Viewer/Commands/RegenerateAll.ts +37 -37
  150. package/src/Viewer/Commands/ResetView.ts +43 -43
  151. package/src/Viewer/Commands/SelectModel.ts +52 -52
  152. package/src/Viewer/Commands/SetActiveDragger.ts +29 -29
  153. package/src/Viewer/Commands/SetDefaultViewPosition.ts +50 -50
  154. package/src/Viewer/Commands/SetMarkupColor.ts +29 -29
  155. package/src/Viewer/Commands/SetSelected.ts +47 -47
  156. package/src/Viewer/Commands/ShowAll.ts +37 -37
  157. package/src/Viewer/Commands/Unselect.ts +37 -37
  158. package/src/Viewer/Commands/ZoomToExtents.ts +43 -43
  159. package/src/Viewer/Commands/ZoomToObjects.ts +47 -47
  160. package/src/Viewer/Commands/ZoomToSelected.ts +39 -39
  161. package/src/Viewer/Commands.ts +81 -81
  162. package/src/Viewer/Draggers/Actions/OrbitAction.ts +250 -250
  163. package/src/Viewer/Draggers/Actions/PanAction.ts +102 -102
  164. package/src/Viewer/Draggers/Actions/ZoomAction.ts +45 -45
  165. package/src/Viewer/Draggers/Common/Geometry.ts +152 -152
  166. package/src/Viewer/Draggers/Common/GestureManager.ts +263 -263
  167. package/src/Viewer/Draggers/Common/OdBaseDragger.ts +270 -270
  168. package/src/Viewer/Draggers/Common/OdaGeAction.ts +146 -146
  169. package/src/Viewer/Draggers/MeasureLineDragger/MeasureLineItem.ts +248 -248
  170. package/src/Viewer/Draggers/MeasureLineDragger/MeasureUtils.ts +182 -182
  171. package/src/Viewer/Draggers/MeasureLineDragger/index.ts +166 -166
  172. package/src/Viewer/Draggers/OdBaseCuttingPlaneDragger.ts +182 -182
  173. package/src/Viewer/Draggers/OdCuttingPlaneXAxisDragger.ts +53 -53
  174. package/src/Viewer/Draggers/OdCuttingPlaneYAxisDragger.ts +53 -53
  175. package/src/Viewer/Draggers/OdCuttingPlaneZAxisDragger.ts +53 -53
  176. package/src/Viewer/Draggers/OdOrbitDragger.ts +70 -70
  177. package/src/Viewer/Draggers/OdPanDragger.ts +62 -62
  178. package/src/Viewer/Draggers/OdZoomDragger.ts +59 -59
  179. package/src/Viewer/Draggers/OdZoomWheelDragger.ts +103 -103
  180. package/src/Viewer/Draggers/OdZoomWindowDragger/OdSelectionFrame.ts +123 -123
  181. package/src/Viewer/Draggers/OdZoomWindowDragger/index.ts +75 -75
  182. package/src/Viewer/Draggers/OdaLineDragger.ts +80 -80
  183. package/src/Viewer/Draggers/OdaTextDragger.ts +118 -118
  184. package/src/Viewer/Draggers/OdaWalkDragger.ts +278 -278
  185. package/src/Viewer/Draggers/OrbitAroundBuildingDragger.ts +184 -184
  186. package/src/Viewer/EventEmitter2.ts +116 -116
  187. package/src/Viewer/ICommands.ts +53 -53
  188. package/src/Viewer/IEventEmitter2.ts +36 -36
  189. package/src/Viewer/IViewer.ts +58 -55
  190. package/src/Viewer/Loaders/BaseLoader.ts +40 -40
  191. package/src/Viewer/Loaders/LoaderFactory.ts +47 -44
  192. package/src/Viewer/Loaders/TCSLoader.ts +82 -82
  193. package/src/Viewer/Loaders/UpdaterController.ts +36 -36
  194. package/src/Viewer/Loaders/VsfXLoader.ts +65 -87
  195. package/src/Viewer/Loaders/VsfXPartialLoader.ts +208 -208
  196. package/src/Viewer/Loaders/VsfXStreamingLoader.ts +87 -0
  197. package/src/Viewer/Markup/Api/IMarkupArrow.ts +12 -15
  198. package/src/Viewer/Markup/Api/IMarkupCloud.ts +15 -0
  199. package/src/Viewer/Markup/Api/IMarkupColorable.ts +4 -4
  200. package/src/Viewer/Markup/Api/IMarkupEllipse.ts +15 -15
  201. package/src/Viewer/Markup/Api/IMarkupImage.ts +15 -15
  202. package/src/Viewer/Markup/Api/IMarkupLine.ts +20 -10
  203. package/src/Viewer/Markup/Api/IMarkupObject.ts +15 -15
  204. package/src/Viewer/Markup/Api/IMarkupRectangle.ts +15 -15
  205. package/src/Viewer/Markup/Api/IMarkupText.ts +12 -12
  206. package/src/Viewer/Markup/Api/Impl/Konva/KonvaArrow.ts +117 -119
  207. package/src/Viewer/Markup/Api/Impl/Konva/KonvaCloud.ts +208 -0
  208. package/src/Viewer/Markup/Api/Impl/Konva/KonvaEllipse.ts +118 -113
  209. package/src/Viewer/Markup/Api/Impl/Konva/KonvaImage.ts +123 -121
  210. package/src/Viewer/Markup/Api/Impl/Konva/KonvaLine.ts +130 -99
  211. package/src/Viewer/Markup/Api/Impl/Konva/KonvaRectangle.ts +119 -113
  212. package/src/Viewer/Markup/Api/Impl/Konva/KonvaText.ts +110 -104
  213. package/src/Viewer/Markup/IMarkup.ts +40 -39
  214. package/src/Viewer/Markup/Impl/Konva/KonvaMarkup.ts +1144 -872
  215. package/src/Viewer/Markup/Impl/Konva/MarkupColor.ts +39 -39
  216. package/src/Viewer/Markup/Impl/Visualize/VisualizeMarkup.ts +231 -273
  217. package/src/Viewer/Markup/MarkupFactory.ts +32 -32
  218. package/src/Viewer/Options.ts +522 -502
  219. package/src/Viewer/OptionsEvents.ts +28 -28
  220. package/src/Viewer/Viewer.ts +1191 -1109
  221. package/src/Viewer/ViewerCommands.ts +45 -45
  222. package/src/Viewer/ViewerEvents.ts +700 -700
  223. package/src/Viewer/utils.ts +74 -74
  224. package/src/index.ts +48 -48
@@ -1,99 +1,130 @@
1
- import Konva from "konva";
2
- import { IMarkupLine } from "../../IMarkupLine";
3
- import { IMarkupColorable } from "../../IMarkupColorable";
4
-
5
- export class KonvaLine implements IMarkupLine, IMarkupColorable {
6
- private _ref: Konva.Line;
7
-
8
- constructor(params: { points: { x: number; y: number }[]; color: string; width: number }, ref = null) {
9
- if (ref) {
10
- this._ref = ref;
11
- this._ref.id(this._ref._id.toString());
12
- return;
13
- }
14
-
15
- if (!params.points) return;
16
-
17
- const konvaPoints = [];
18
- params.points.forEach((point) => konvaPoints.push(point.x, point.y));
19
-
20
- this._ref = new Konva.Line({
21
- stroke: params.color ?? "#ff0000",
22
- strokeWidth: params.width ?? 4,
23
- globalCompositeOperation: "source-over",
24
- lineCap: "round",
25
- lineJoin: "round",
26
- points: konvaPoints,
27
- draggable: true,
28
- strokeScaleEnabled: false,
29
- });
30
-
31
- this._ref.id(this._ref._id.toString());
32
- }
33
-
34
- ref() {
35
- return this._ref;
36
- }
37
-
38
- id(): string {
39
- return this._ref.id();
40
- }
41
-
42
- enableMouseEditing(value: boolean) {
43
- this._ref.draggable(value);
44
- }
45
-
46
- type(): string {
47
- return "line";
48
- }
49
-
50
- getColor(): string {
51
- return this._ref.stroke();
52
- }
53
-
54
- setColor(hex: string) {
55
- this._ref.stroke(hex);
56
- }
57
-
58
- getRotation(): number {
59
- return this._ref.rotation();
60
- }
61
-
62
- setRotation(degrees: number): void {
63
- this._ref.rotation(degrees);
64
- }
65
-
66
- getZIndex(): number {
67
- return this._ref.zIndex();
68
- }
69
-
70
- setZIndex(zIndex: number): void {
71
- this._ref.zIndex(zIndex);
72
- }
73
-
74
- delete() {
75
- this._ref.destroy();
76
- this._ref = null;
77
- }
78
-
79
- getPoints(): [] {
80
- return this._ref.attrs.points;
81
- }
82
-
83
- setLineWidth(size: number) {
84
- this._ref.strokeWidth(size);
85
- }
86
-
87
- getLineWidth(): number {
88
- return this._ref.strokeWidth();
89
- }
90
-
91
- addPoints(points: [{ x: number; y: number }]) {
92
- let newPoints = this._ref.points();
93
- points.forEach((point) => {
94
- newPoints = newPoints.concat([point.x, point.y]);
95
- });
96
-
97
- this._ref.points(newPoints);
98
- }
99
- }
1
+ import Konva from "konva";
2
+ import { IMarkupLine, LineType } from "../../IMarkupLine";
3
+ import { IMarkupColorable } from "../../IMarkupColorable";
4
+
5
+ const LineTypeSpecs = new Map<LineType, number[]>([
6
+ [LineType.Solid, []],
7
+ [LineType.Dot, [30, 30, 0.001, 30]],
8
+ [LineType.Dash, [30, 30]],
9
+ ]);
10
+
11
+ export class KonvaLine implements IMarkupLine, IMarkupColorable {
12
+ private _ref: Konva.Line;
13
+
14
+ constructor(
15
+ params: { points: { x: number; y: number }[]; color: string; type: LineType; width: number; id?: string },
16
+ ref = null
17
+ ) {
18
+ if (ref) {
19
+ this._ref = ref;
20
+ return;
21
+ }
22
+
23
+ if (!params.points) return;
24
+
25
+ const konvaPoints = [];
26
+ params.points.forEach((point) => konvaPoints.push(point.x, point.y));
27
+
28
+ this._ref = new Konva.Line({
29
+ stroke: params.color ?? "#ff0000",
30
+ strokeWidth: params.width ?? 4,
31
+ globalCompositeOperation: "source-over",
32
+ lineCap: "round",
33
+ lineJoin: "round",
34
+ points: konvaPoints,
35
+ draggable: true,
36
+ strokeScaleEnabled: false,
37
+ dash: LineTypeSpecs.get(params.type) || [],
38
+ });
39
+
40
+ this._ref.id(this._ref._id.toString());
41
+ }
42
+
43
+ ref() {
44
+ return this._ref;
45
+ }
46
+
47
+ id(): string {
48
+ return this._ref.id();
49
+ }
50
+
51
+ enableMouseEditing(value: boolean) {
52
+ this._ref.draggable(value);
53
+ }
54
+
55
+ type(): string {
56
+ return "line";
57
+ }
58
+
59
+ getColor(): string {
60
+ return this._ref.stroke();
61
+ }
62
+
63
+ setColor(hex: string) {
64
+ this._ref.stroke(hex);
65
+ }
66
+
67
+ getRotation(): number {
68
+ return this._ref.rotation();
69
+ }
70
+
71
+ setRotation(degrees: number): void {
72
+ this._ref.rotation(degrees);
73
+ }
74
+
75
+ getZIndex(): number {
76
+ return this._ref.zIndex();
77
+ }
78
+
79
+ setZIndex(zIndex: number): void {
80
+ this._ref.zIndex(zIndex);
81
+ }
82
+
83
+ delete() {
84
+ this._ref.destroy();
85
+ this._ref = null;
86
+ }
87
+
88
+ getPoints(): number[] {
89
+ return this._ref.points();
90
+ }
91
+
92
+ setLineWidth(size: number) {
93
+ this._ref.strokeWidth(size);
94
+ }
95
+
96
+ getLineWidth(): number {
97
+ return this._ref.strokeWidth();
98
+ }
99
+
100
+ getLineType(): string {
101
+ const typeSpecs = this._ref.dash() || [];
102
+ let type = "solid";
103
+ switch (typeSpecs) {
104
+ case LineTypeSpecs.get(LineType.Dot):
105
+ type = "dot";
106
+ break;
107
+ case LineTypeSpecs.get(LineType.Dash):
108
+ type = "dash";
109
+ break;
110
+ }
111
+ return type;
112
+ }
113
+
114
+ setLineType(type: string) {
115
+ const lineType = LineType[type];
116
+ if (lineType) {
117
+ const specs = LineTypeSpecs.get(lineType);
118
+ if (specs) this._ref.dash(specs);
119
+ }
120
+ }
121
+
122
+ addPoints(points: [{ x: number; y: number }]) {
123
+ let newPoints = this._ref.points();
124
+ points.forEach((point) => {
125
+ newPoints = newPoints.concat([point.x, point.y]);
126
+ });
127
+
128
+ this._ref.points(newPoints);
129
+ }
130
+ }
@@ -1,113 +1,119 @@
1
- import Konva from "konva";
2
- import { IMarkupRectangle } from "../../IMarkupRectangle";
3
- import { IMarkupColorable } from "../../IMarkupColorable";
4
-
5
- export class KonvaRectangle implements IMarkupRectangle, IMarkupColorable {
6
- private _ref: Konva.Rect;
7
-
8
- constructor(
9
- params: { pos: { x: number; y: number }; color: string; lineWidth: number; width: number; height: number },
10
- ref = null
11
- ) {
12
- if (ref) {
13
- this._ref = ref;
14
- this._ref.id(this._ref._id.toString());
15
- return;
16
- }
17
-
18
- if (!params.pos) return;
19
-
20
- this._ref = new Konva.Rect({
21
- stroke: params.color ?? "#ff0000",
22
- strokeWidth: params.lineWidth ?? 4,
23
- globalCompositeOperation: "source-over",
24
- lineCap: "round",
25
- lineJoin: "round",
26
- x: params.pos.x,
27
- y: params.pos.y,
28
- width: params.width,
29
- height: params.height,
30
- draggable: true,
31
- strokeScaleEnabled: false,
32
- });
33
-
34
- this._ref.id(this._ref._id.toString());
35
- }
36
-
37
- getPosition(): { x: number; y: number } {
38
- return this._ref.position();
39
- }
40
-
41
- getWidth(): number {
42
- return this._ref.width();
43
- }
44
-
45
- getHeigth(): number {
46
- return this._ref.height();
47
- }
48
-
49
- setWidth(w: number) {
50
- this._ref.width(w);
51
- }
52
-
53
- setHeight(h: number) {
54
- this._ref.height(h);
55
- }
56
-
57
- setPosition(x: number, y: number) {
58
- this._ref.setPosition({ x, y });
59
- }
60
-
61
- ref() {
62
- return this._ref;
63
- }
64
-
65
- id(): string {
66
- return this._ref.id();
67
- }
68
-
69
- enableMouseEditing(value: boolean): void {
70
- this._ref.draggable(value);
71
- }
72
-
73
- type(): string {
74
- return "rectangle";
75
- }
76
-
77
- getColor(): string {
78
- return this._ref.stroke();
79
- }
80
-
81
- setColor(hex: string): void {
82
- this._ref.stroke(hex);
83
- }
84
-
85
- getRotation(): number {
86
- return this._ref.rotation();
87
- }
88
-
89
- setRotation(degrees: number): void {
90
- this._ref.rotation(degrees);
91
- }
92
-
93
- getZIndex(): number {
94
- return this._ref.zIndex();
95
- }
96
-
97
- setZIndex(zIndex: number): void {
98
- this._ref.zIndex(zIndex);
99
- }
100
-
101
- delete(): void {
102
- this._ref.destroy();
103
- this._ref = null;
104
- }
105
-
106
- setLineWidth(size: number): void {
107
- this._ref.strokeWidth(size);
108
- }
109
-
110
- getLineWidth(): number {
111
- return this._ref.strokeWidth();
112
- }
113
- }
1
+ import Konva from "konva";
2
+ import { IMarkupRectangle } from "../../IMarkupRectangle";
3
+ import { IMarkupColorable } from "../../IMarkupColorable";
4
+
5
+ export class KonvaRectangle implements IMarkupRectangle, IMarkupColorable {
6
+ private _ref: Konva.Rect;
7
+
8
+ constructor(
9
+ params: {
10
+ position: { x: number; y: number };
11
+ color: string;
12
+ lineWidth: number;
13
+ width: number;
14
+ height: number;
15
+ id?: string;
16
+ },
17
+ ref = null
18
+ ) {
19
+ if (ref) {
20
+ this._ref = ref;
21
+ return;
22
+ }
23
+
24
+ if (!params.position) return;
25
+
26
+ this._ref = new Konva.Rect({
27
+ stroke: params.color ?? "#ff0000",
28
+ strokeWidth: params.lineWidth ?? 4,
29
+ globalCompositeOperation: "source-over",
30
+ lineCap: "round",
31
+ lineJoin: "round",
32
+ x: params.position.x,
33
+ y: params.position.y,
34
+ width: params.width,
35
+ height: params.height,
36
+ draggable: true,
37
+ strokeScaleEnabled: false,
38
+ });
39
+
40
+ this._ref.id(this._ref._id.toString());
41
+ }
42
+
43
+ getPosition(): { x: number; y: number } {
44
+ return this._ref.position();
45
+ }
46
+
47
+ getWidth(): number {
48
+ return this._ref.width();
49
+ }
50
+
51
+ getHeigth(): number {
52
+ return this._ref.height();
53
+ }
54
+
55
+ setWidth(w: number) {
56
+ this._ref.width(w);
57
+ }
58
+
59
+ setHeight(h: number) {
60
+ this._ref.height(h);
61
+ }
62
+
63
+ setPosition(x: number, y: number) {
64
+ this._ref.setPosition({ x, y });
65
+ }
66
+
67
+ ref() {
68
+ return this._ref;
69
+ }
70
+
71
+ id(): string {
72
+ return this._ref.id();
73
+ }
74
+
75
+ enableMouseEditing(value: boolean): void {
76
+ this._ref.draggable(value);
77
+ }
78
+
79
+ type(): string {
80
+ return "rectangle";
81
+ }
82
+
83
+ getColor(): string {
84
+ return this._ref.stroke();
85
+ }
86
+
87
+ setColor(hex: string): void {
88
+ this._ref.stroke(hex);
89
+ }
90
+
91
+ getRotation(): number {
92
+ return this._ref.rotation();
93
+ }
94
+
95
+ setRotation(degrees: number): void {
96
+ this._ref.rotation(degrees);
97
+ }
98
+
99
+ getZIndex(): number {
100
+ return this._ref.zIndex();
101
+ }
102
+
103
+ setZIndex(zIndex: number): void {
104
+ this._ref.zIndex(zIndex);
105
+ }
106
+
107
+ delete(): void {
108
+ this._ref.destroy();
109
+ this._ref = null;
110
+ }
111
+
112
+ setLineWidth(size: number): void {
113
+ this._ref.strokeWidth(size);
114
+ }
115
+
116
+ getLineWidth(): number {
117
+ return this._ref.strokeWidth();
118
+ }
119
+ }
@@ -1,104 +1,110 @@
1
- import Konva from "konva";
2
- import { IMarkupText } from "../../IMarkupText";
3
- import { IMarkupColorable } from "../../IMarkupColorable";
4
-
5
- export class KonvaText implements IMarkupText, IMarkupColorable {
6
- private _ref: Konva.Text;
7
- private readonly TEXT_FONT_FAMILY = "Calibri";
8
-
9
- constructor(
10
- params: { position: { x: number; y: number }; text: string; fontSize: number; color: string; rotation: number },
11
- ref = null
12
- ) {
13
- if (ref) {
14
- this._ref = ref;
15
- this._ref.id(this._ref._id.toString());
16
- return;
17
- }
18
-
19
- if (!params || !params.text) return;
20
-
21
- this._ref = new Konva.Text({
22
- x: params.position.x,
23
- y: params.position.y,
24
- text: params.text,
25
- fontSize: params.fontSize ?? 34,
26
- fontFamily: this.TEXT_FONT_FAMILY,
27
- fill: params.color ?? "#ff0000",
28
- align: "left",
29
- draggable: true,
30
- rotation: params.rotation ?? 0,
31
- });
32
-
33
- this._ref.id(this._ref._id.toString());
34
- }
35
-
36
- ref() {
37
- return this._ref;
38
- }
39
-
40
- id(): string {
41
- return this._ref.id();
42
- }
43
-
44
- enableMouseEditing(value: boolean) {
45
- this._ref.draggable(value);
46
- }
47
-
48
- type(): string {
49
- return "text";
50
- }
51
-
52
- getColor(): string {
53
- return this._ref.fill();
54
- }
55
-
56
- setColor(hex: string) {
57
- this._ref.fill(hex);
58
- }
59
-
60
- getRotation(): number {
61
- return this._ref.rotation();
62
- }
63
-
64
- setRotation(degrees: number): void {
65
- this._ref.rotation(degrees);
66
- }
67
-
68
- getZIndex(): number {
69
- return this._ref.zIndex();
70
- }
71
-
72
- setZIndex(zIndex: number): void {
73
- this._ref.zIndex(zIndex);
74
- }
75
-
76
- delete() {
77
- this._ref.destroy();
78
- this._ref = null;
79
- }
80
-
81
- getText(): string {
82
- return this._ref.text();
83
- }
84
-
85
- setText(text: string): void {
86
- this._ref.text(text);
87
- }
88
-
89
- getPosition(): { x: number; y: number } {
90
- return this._ref.getPosition();
91
- }
92
-
93
- setPosition(x: number, y: number) {
94
- this._ref.setPosition({ x, y });
95
- }
96
-
97
- getFontSize() {
98
- return this._ref.fontSize();
99
- }
100
-
101
- setFontSize(size: number) {
102
- this._ref.fontSize(size);
103
- }
104
- }
1
+ import Konva from "konva";
2
+ import { IMarkupText } from "../../IMarkupText";
3
+ import { IMarkupColorable } from "../../IMarkupColorable";
4
+
5
+ export class KonvaText implements IMarkupText, IMarkupColorable {
6
+ private _ref: Konva.Text;
7
+ private readonly TEXT_FONT_FAMILY = "Calibri";
8
+
9
+ constructor(
10
+ params: {
11
+ position: { x: number; y: number };
12
+ text: string;
13
+ fontSize: number;
14
+ color: string;
15
+ rotation: number;
16
+ id?: string;
17
+ },
18
+ ref = null
19
+ ) {
20
+ if (ref) {
21
+ this._ref = ref;
22
+ return;
23
+ }
24
+
25
+ if (!params || !params.text) return;
26
+
27
+ this._ref = new Konva.Text({
28
+ x: params.position.x,
29
+ y: params.position.y,
30
+ text: params.text,
31
+ fontSize: params.fontSize ?? 34,
32
+ fontFamily: this.TEXT_FONT_FAMILY,
33
+ fill: params.color ?? "#ff0000",
34
+ align: "left",
35
+ draggable: true,
36
+ rotation: params.rotation ?? 0,
37
+ });
38
+
39
+ this._ref.id(this._ref._id.toString());
40
+ }
41
+
42
+ ref() {
43
+ return this._ref;
44
+ }
45
+
46
+ id(): string {
47
+ return this._ref.id();
48
+ }
49
+
50
+ enableMouseEditing(value: boolean) {
51
+ this._ref.draggable(value);
52
+ }
53
+
54
+ type(): string {
55
+ return "text";
56
+ }
57
+
58
+ getColor(): string {
59
+ return this._ref.fill();
60
+ }
61
+
62
+ setColor(hex: string) {
63
+ this._ref.fill(hex);
64
+ }
65
+
66
+ getRotation(): number {
67
+ return this._ref.rotation();
68
+ }
69
+
70
+ setRotation(degrees: number): void {
71
+ this._ref.rotation(degrees);
72
+ }
73
+
74
+ getZIndex(): number {
75
+ return this._ref.zIndex();
76
+ }
77
+
78
+ setZIndex(zIndex: number): void {
79
+ this._ref.zIndex(zIndex);
80
+ }
81
+
82
+ delete() {
83
+ this._ref.destroy();
84
+ this._ref = null;
85
+ }
86
+
87
+ getText(): string {
88
+ return this._ref.text();
89
+ }
90
+
91
+ setText(text: string): void {
92
+ this._ref.text(text);
93
+ }
94
+
95
+ getPosition(): { x: number; y: number } {
96
+ return this._ref.getPosition();
97
+ }
98
+
99
+ setPosition(x: number, y: number) {
100
+ this._ref.setPosition({ x, y });
101
+ }
102
+
103
+ getFontSize() {
104
+ return this._ref.fontSize();
105
+ }
106
+
107
+ setFontSize(size: number) {
108
+ this._ref.fontSize(size);
109
+ }
110
+ }