@operato/scene-mqtt 9.1.1 → 10.0.0-beta.2

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.
package/dist/mqtt.d.ts CHANGED
@@ -1,13 +1,472 @@
1
- import { ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
1
+ import { Component, ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
2
2
  declare const Mqtt_base: (new (...args: any[]) => {
3
+ _convertDataFormat(data: any, format: any): any;
3
4
  isDataSource(): boolean;
4
- _convertDataFormat(data: any, format: "json" | "text" | "jsonp" | string): any;
5
+ _app: any;
6
+ _model: any;
7
+ _state: any;
8
+ _delta: any;
9
+ _animation: any;
10
+ _animate: any;
11
+ _parent: any;
12
+ _disposed: any;
13
+ _textHidden: any;
14
+ _text_substitutor: any;
15
+ _value_substitutor: any;
16
+ _mappings: any;
17
+ _realObject: import("@hatiolab/things-scene").IRealObject | undefined;
18
+ _cachedState: any;
19
+ updatedAt: any;
20
+ fontSize: any;
21
+ __cache__: any;
22
+ created(): void;
23
+ added(parent: any): void;
24
+ removed(parent: any): void;
25
+ ready(): Promise<void>;
26
+ touch(): void;
27
+ clearCache(...attrs: any[]): void;
28
+ removeSelf(completely: any): void;
29
+ resetAnimation(): void;
30
+ dispose(): void;
31
+ get nature(): import("@hatiolab/things-scene").ComponentNature;
32
+ get disposed(): boolean;
33
+ isLayer(): boolean;
34
+ isGroup(): boolean;
35
+ isContainer(): this is import("@hatiolab/things-scene/dist-types/types/component").Container;
36
+ isLine(): boolean;
37
+ isRoot(): boolean;
38
+ isRootModel(): boolean;
39
+ is3dish(): boolean;
40
+ get is3dMode(): boolean;
41
+ isIn3DSpace(): boolean;
42
+ isTemplate(): boolean;
43
+ isHTMLElement(): boolean;
44
+ isConnectable(): boolean;
45
+ isIdentifiable(): boolean;
46
+ isPositionable(): boolean;
47
+ replaceRefids(replaceMap: any): void;
48
+ get(property: any): any;
49
+ set(props: any, propval?: any): any;
50
+ getState(property: any): any;
51
+ setState(props: any, propval?: any): any;
52
+ get model(): any;
53
+ get state(): any;
54
+ get hierarchy(): any;
55
+ get volatile(): never[];
56
+ _applyProps(target: any, props: any, options: any): any;
57
+ contains(x: number, y: number): boolean;
58
+ move(offset: {
59
+ x: number;
60
+ y: number;
61
+ }, ...args: boolean[]): void;
62
+ symmetryX(x?: number): void;
63
+ symmetryY(y: number): void;
64
+ adjustResize(bounds: import("@hatiolab/things-scene").BOUNDS, origin_bounds: import("@hatiolab/things-scene").BOUNDS, diagonal: boolean): {
65
+ left: any;
66
+ top: any;
67
+ width: any;
68
+ height: any;
69
+ };
70
+ adjustRotation(rotation: number, step: boolean): number;
71
+ outline(progress: number): any;
72
+ get bounds(): import("@hatiolab/things-scene").BOUNDS;
73
+ set bounds(b: import("@hatiolab/things-scene").BOUNDS): any;
74
+ get center(): import("@hatiolab/things-scene").POINT;
75
+ set center(p: import("@hatiolab/things-scene").POINT): any;
76
+ get location(): import("@hatiolab/things-scene").POINT;
77
+ set location(l: import("@hatiolab/things-scene").POINT): any;
78
+ get rotate(): import("@hatiolab/things-scene").POINT;
79
+ set rotate(r: import("@hatiolab/things-scene").POINT): any;
80
+ get dimension(): import("@hatiolab/things-scene").DIMENSION;
81
+ set dimension(d: import("@hatiolab/things-scene").DIMENSION): any;
82
+ get path(): import("@hatiolab/things-scene").POINT[];
83
+ set path(p: import("@hatiolab/things-scene").POINT[]): any;
84
+ get drawPath(): import("@hatiolab/things-scene").POINT[];
85
+ get rotatePoint(): import("@hatiolab/things-scene").POINT;
86
+ get mutable(): boolean;
87
+ get resizable(): boolean;
88
+ get rotatable(): boolean;
89
+ buildRealObject(): import("@hatiolab/things-scene").IRealObject | undefined;
90
+ get realObject(): import("@hatiolab/things-scene").IRealObject | undefined;
91
+ draw(context?: import("@hatiolab/things-scene").SceneRenderContext): void;
92
+ prerender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
93
+ render(context: import("@hatiolab/things-scene").SceneRenderContext): void;
94
+ postrender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
95
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
96
+ prepareIf(condition: boolean): void;
97
+ drawText(context: import("@hatiolab/things-scene").SceneRenderContext): void;
98
+ drawStroke(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
99
+ drawFill(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
100
+ get strokeStyle(): any;
101
+ set strokeStyle(v: any): any;
102
+ get fillStyle(): any;
103
+ set fillStyle(v: any): any;
104
+ get fontColor(): string;
105
+ set fontColor(v: string): any;
106
+ get rotation(): number;
107
+ set rotation(v: number): any;
108
+ get decorators(): string[];
109
+ get decotag(): string;
110
+ get hidden(): boolean;
111
+ set hidden(v: boolean): any;
112
+ get tag(): string;
113
+ set tag(v: string): any;
114
+ get appendum(): any;
115
+ set appendum(v: any): any;
116
+ defaultTextSubstitutor(): string;
117
+ textLines(context?: import("@hatiolab/things-scene").SceneRenderContext): any[][];
118
+ get font(): string;
119
+ get lineHeight(): number;
120
+ get textSubstitutor(): () => string;
121
+ get text(): string;
122
+ set text(v: string): any;
123
+ get textBounds(): import("@hatiolab/things-scene").BOUNDS;
124
+ get textRotation(): number;
125
+ get textHidden(): boolean;
126
+ set textHidden(v: boolean): any;
127
+ get hasTextProperty(): boolean;
128
+ animate(opts: import("@hatiolab/things-scene").AnimationConfig): any;
129
+ effect(context: import("@hatiolab/things-scene").SceneRenderContext, model: any): void;
130
+ serialize(...others: any[]): string;
131
+ trim(): void;
132
+ closeScene(data: any): void;
133
+ delta(attr?: string | object, value?: any): any;
134
+ invalidate(): void;
135
+ get value(): any;
136
+ set value(v: any): any;
137
+ get data(): any;
138
+ set data(v: any): any;
139
+ set tap(v: any): any;
140
+ get mappings(): any[];
141
+ get retention(): number;
142
+ get animation(): import("@hatiolab/things-scene").AnimationController | undefined;
143
+ get started(): boolean;
144
+ set started(v: boolean): any;
145
+ get controls(): import("@hatiolab/things-scene").Control[] | undefined;
146
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
147
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
148
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
149
+ findAnchor(name: string): any;
150
+ isDescendible(container: Component): boolean;
151
+ getContext(component?: unknown): any;
152
+ get root(): Component;
153
+ get rootModel(): Component;
154
+ get parent(): Component;
155
+ set parent(v: Component): any;
156
+ get anchors(): import("@hatiolab/things-scene").Anchor[];
157
+ get scalable(): boolean;
158
+ get stuck(): boolean;
159
+ get capturable(): boolean;
160
+ get position(): string;
161
+ get origin(): string;
162
+ get offset(): import("@hatiolab/things-scene").POINT;
163
+ get app(): import("@hatiolab/things-scene").ApplicationContext;
164
+ drawEffect(context: import("@hatiolab/things-scene").SceneRenderContext): void;
165
+ prepareFill(resolve: Function, reject: Function): void;
166
+ prepareFillIf(condition: boolean): void;
167
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
168
+ drawImage(context: import("@hatiolab/things-scene").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
169
+ mutateBounds(logic: ((bounds: import("@hatiolab/things-scene").BOUNDS) => import("@hatiolab/things-scene").BOUNDS | void) | null, context?: any): void;
170
+ mutatePath(beforeLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, afterLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, context?: any): void;
171
+ access(accessor: string): any;
172
+ substitute(template: string, data: any): string | undefined;
173
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
174
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
175
+ buildMappings(): void;
176
+ executeMappings(force?: boolean): void;
177
+ disposeMappings(): void;
178
+ ondropfile(transfered: FileList, files: string[]): void;
179
+ transcoordS2P(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
180
+ transcoordP2S(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
181
+ transcoordS2T(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
182
+ transcoordT2P(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
183
+ transcoordT2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
184
+ transcoordS2TR(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
185
+ transcoordS2O(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
186
+ transcoordC2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
187
+ transcoordS2C(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
188
+ toParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
189
+ fromParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
190
+ toScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
191
+ fromScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
192
+ toLocal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
193
+ toGlobal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
194
+ toOther(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
195
+ on(name: string | object, callback: Function, context?: any): any;
196
+ off(name?: string | object, callback?: Function, context?: any): any;
197
+ once(name: string | object, callback: Function, context?: any): any;
198
+ trigger(name: string, ...args: any[]): any;
199
+ delegate_on(delegator: any): any;
200
+ delegate_off(delegator: any): any;
201
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
202
+ calculateBounds?(): void;
203
+ oncreate_element?(element: HTMLElement): void;
204
+ removeComponent(component: Component, ghost?: boolean): void;
205
+ addComponent(component: Component, ghost?: boolean): void;
206
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
207
+ getOverlay(component: Component): HTMLElement | undefined;
208
+ findById(id: string): Component | undefined;
209
+ findByRefid(ref: string | number): Component | undefined;
210
+ findAllById(id: string): Component[];
211
+ resize(): void;
212
+ fit(type?: string): void;
213
+ get components(): Component[] | undefined;
214
+ get layout(): any;
215
+ get auxOverlay(): HTMLElement | undefined;
216
+ get isReady(): boolean;
217
+ get unitScale(): number;
218
+ get selected(): Component[];
219
+ set selected(_v: Component[]): any;
220
+ get focused(): Component | null;
221
+ set focused(_v: Component | null): any;
222
+ get hasSameParentForAllSelected(): boolean;
223
+ set hasSameParentForAllSelected(_v: boolean): any;
224
+ get fitMode(): string | undefined;
225
+ set fitMode(_v: string | undefined): any;
226
+ get element(): HTMLElement | null;
227
+ set element(_v: HTMLElement | null): any;
228
+ }) & (new (...args: any[]) => {
229
+ contains(x: number, y: number): boolean;
230
+ get path(): {
231
+ x: any;
232
+ y: any;
233
+ }[];
234
+ set path(path: {
235
+ x: any;
236
+ y: any;
237
+ }[]): any;
238
+ get anchors(): {
239
+ name: string;
240
+ position: {
241
+ x: any;
242
+ y: any;
243
+ };
244
+ }[];
245
+ get bounds(): any;
246
+ set bounds(bounds: any): any;
247
+ render(ctx: CanvasRenderingContext2D): void;
248
+ _app: any;
249
+ _model: any;
250
+ _state: any;
251
+ _delta: any;
252
+ _animation: any;
253
+ _animate: any;
254
+ _parent: any;
255
+ _disposed: any;
256
+ _textHidden: any;
257
+ _text_substitutor: any;
258
+ _value_substitutor: any;
259
+ _mappings: any;
260
+ _realObject: import("@hatiolab/things-scene").IRealObject | undefined;
261
+ _cachedState: any;
262
+ updatedAt: any;
263
+ fontSize: any;
264
+ __cache__: any;
265
+ created(): void;
266
+ added(parent: any): void;
267
+ removed(parent: any): void;
268
+ ready(): Promise<void>;
269
+ touch(): void;
270
+ clearCache(...attrs: any[]): void;
271
+ removeSelf(completely: any): void;
272
+ resetAnimation(): void;
273
+ dispose(): void;
274
+ get nature(): import("@hatiolab/things-scene").ComponentNature;
275
+ get disposed(): boolean;
276
+ isLayer(): boolean;
277
+ isGroup(): boolean;
278
+ isContainer(): this is import("@hatiolab/things-scene/dist-types/types/component").Container;
279
+ isLine(): boolean;
280
+ isRoot(): boolean;
281
+ isRootModel(): boolean;
282
+ is3dish(): boolean;
283
+ get is3dMode(): boolean;
284
+ isIn3DSpace(): boolean;
285
+ isTemplate(): boolean;
286
+ isHTMLElement(): boolean;
287
+ isConnectable(): boolean;
288
+ isIdentifiable(): boolean;
289
+ isPositionable(): boolean;
290
+ replaceRefids(replaceMap: any): void;
291
+ get(property: any): any;
292
+ set(props: any, propval?: any): any;
293
+ getState(property: any): any;
294
+ setState(props: any, propval?: any): any;
295
+ get model(): any;
296
+ get state(): any;
297
+ get hierarchy(): any;
298
+ get volatile(): never[];
299
+ _applyProps(target: any, props: any, options: any): any;
300
+ move(offset: {
301
+ x: number;
302
+ y: number;
303
+ }, ...args: boolean[]): void;
304
+ symmetryX(x?: number): void;
305
+ symmetryY(y: number): void;
306
+ adjustResize(bounds: import("@hatiolab/things-scene").BOUNDS, origin_bounds: import("@hatiolab/things-scene").BOUNDS, diagonal: boolean): {
307
+ left: any;
308
+ top: any;
309
+ width: any;
310
+ height: any;
311
+ };
312
+ adjustRotation(rotation: number, step: boolean): number;
313
+ outline(progress: number): any;
314
+ get center(): import("@hatiolab/things-scene").POINT;
315
+ set center(p: import("@hatiolab/things-scene").POINT): any;
316
+ get location(): import("@hatiolab/things-scene").POINT;
317
+ set location(l: import("@hatiolab/things-scene").POINT): any;
318
+ get rotate(): import("@hatiolab/things-scene").POINT;
319
+ set rotate(r: import("@hatiolab/things-scene").POINT): any;
320
+ get dimension(): import("@hatiolab/things-scene").DIMENSION;
321
+ set dimension(d: import("@hatiolab/things-scene").DIMENSION): any;
322
+ get drawPath(): import("@hatiolab/things-scene").POINT[];
323
+ get rotatePoint(): import("@hatiolab/things-scene").POINT;
324
+ get mutable(): boolean;
325
+ get resizable(): boolean;
326
+ get rotatable(): boolean;
327
+ buildRealObject(): import("@hatiolab/things-scene").IRealObject | undefined;
328
+ get realObject(): import("@hatiolab/things-scene").IRealObject | undefined;
329
+ draw(context?: import("@hatiolab/things-scene").SceneRenderContext): void;
330
+ prerender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
331
+ postrender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
332
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
333
+ prepareIf(condition: boolean): void;
334
+ drawText(context: import("@hatiolab/things-scene").SceneRenderContext): void;
335
+ drawStroke(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
336
+ drawFill(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
337
+ get strokeStyle(): any;
338
+ set strokeStyle(v: any): any;
339
+ get fillStyle(): any;
340
+ set fillStyle(v: any): any;
341
+ get fontColor(): string;
342
+ set fontColor(v: string): any;
343
+ get rotation(): number;
344
+ set rotation(v: number): any;
345
+ get decorators(): string[];
346
+ get decotag(): string;
347
+ get hidden(): boolean;
348
+ set hidden(v: boolean): any;
349
+ get tag(): string;
350
+ set tag(v: string): any;
351
+ get appendum(): any;
352
+ set appendum(v: any): any;
353
+ defaultTextSubstitutor(): string;
354
+ textLines(context?: import("@hatiolab/things-scene").SceneRenderContext): any[][];
355
+ get font(): string;
356
+ get lineHeight(): number;
357
+ get textSubstitutor(): () => string;
358
+ get text(): string;
359
+ set text(v: string): any;
360
+ get textBounds(): import("@hatiolab/things-scene").BOUNDS;
361
+ get textRotation(): number;
362
+ get textHidden(): boolean;
363
+ set textHidden(v: boolean): any;
364
+ get hasTextProperty(): boolean;
365
+ animate(opts: import("@hatiolab/things-scene").AnimationConfig): any;
366
+ effect(context: import("@hatiolab/things-scene").SceneRenderContext, model: any): void;
367
+ serialize(...others: any[]): string;
368
+ trim(): void;
369
+ closeScene(data: any): void;
370
+ delta(attr?: string | object, value?: any): any;
371
+ invalidate(): void;
372
+ get value(): any;
373
+ set value(v: any): any;
374
+ get data(): any;
375
+ set data(v: any): any;
376
+ set tap(v: any): any;
377
+ get mappings(): any[];
378
+ get retention(): number;
379
+ get animation(): import("@hatiolab/things-scene").AnimationController | undefined;
380
+ get started(): boolean;
381
+ set started(v: boolean): any;
382
+ get controls(): import("@hatiolab/things-scene").Control[] | undefined;
383
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
384
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
385
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
386
+ findAnchor(name: string): any;
387
+ isDescendible(container: Component): boolean;
388
+ getContext(component?: unknown): any;
389
+ get root(): Component;
390
+ get rootModel(): Component;
391
+ get parent(): Component;
392
+ set parent(v: Component): any;
393
+ get scalable(): boolean;
394
+ get stuck(): boolean;
395
+ get capturable(): boolean;
396
+ get position(): string;
397
+ get origin(): string;
398
+ get offset(): import("@hatiolab/things-scene").POINT;
399
+ get app(): import("@hatiolab/things-scene").ApplicationContext;
400
+ drawEffect(context: import("@hatiolab/things-scene").SceneRenderContext): void;
401
+ prepareFill(resolve: Function, reject: Function): void;
402
+ prepareFillIf(condition: boolean): void;
403
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
404
+ drawImage(context: import("@hatiolab/things-scene").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
405
+ mutateBounds(logic: ((bounds: import("@hatiolab/things-scene").BOUNDS) => import("@hatiolab/things-scene").BOUNDS | void) | null, context?: any): void;
406
+ mutatePath(beforeLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, afterLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, context?: any): void;
407
+ access(accessor: string): any;
408
+ substitute(template: string, data: any): string | undefined;
409
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
410
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
411
+ buildMappings(): void;
412
+ executeMappings(force?: boolean): void;
413
+ disposeMappings(): void;
414
+ ondropfile(transfered: FileList, files: string[]): void;
415
+ transcoordS2P(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
416
+ transcoordP2S(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
417
+ transcoordS2T(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
418
+ transcoordT2P(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
419
+ transcoordT2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
420
+ transcoordS2TR(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
421
+ transcoordS2O(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
422
+ transcoordC2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
423
+ transcoordS2C(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
424
+ toParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
425
+ fromParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
426
+ toScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
427
+ fromScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
428
+ toLocal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
429
+ toGlobal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
430
+ toOther(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
431
+ on(name: string | object, callback: Function, context?: any): any;
432
+ off(name?: string | object, callback?: Function, context?: any): any;
433
+ once(name: string | object, callback: Function, context?: any): any;
434
+ trigger(name: string, ...args: any[]): any;
435
+ delegate_on(delegator: any): any;
436
+ delegate_off(delegator: any): any;
437
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
438
+ calculateBounds?(): void;
439
+ oncreate_element?(element: HTMLElement): void;
440
+ removeComponent(component: Component, ghost?: boolean): void;
441
+ addComponent(component: Component, ghost?: boolean): void;
442
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
443
+ getOverlay(component: Component): HTMLElement | undefined;
444
+ findById(id: string): Component | undefined;
445
+ findByRefid(ref: string | number): Component | undefined;
446
+ findAllById(id: string): Component[];
447
+ resize(): void;
448
+ fit(type?: string): void;
449
+ get components(): Component[] | undefined;
450
+ get layout(): any;
451
+ get auxOverlay(): HTMLElement | undefined;
452
+ get isReady(): boolean;
453
+ get unitScale(): number;
454
+ get selected(): Component[];
455
+ set selected(_v: Component[]): any;
456
+ get focused(): Component | null;
457
+ set focused(_v: Component | null): any;
458
+ get hasSameParentForAllSelected(): boolean;
459
+ set hasSameParentForAllSelected(_v: boolean): any;
460
+ get fitMode(): string | undefined;
461
+ set fitMode(_v: string | undefined): any;
462
+ get element(): HTMLElement | null;
463
+ set element(_v: HTMLElement | null): any;
5
464
  }) & typeof Shape;
6
465
  export default class Mqtt extends Mqtt_base {
7
466
  private static _image;
8
467
  private _client?;
9
468
  static get image(): HTMLImageElement;
10
- ready(): void;
469
+ ready(): Promise<void>;
11
470
  _initMqttConnection(): void;
12
471
  dispose(): void;
13
472
  render(context: CanvasRenderingContext2D): void;
package/dist/mqtt.js CHANGED
@@ -87,7 +87,10 @@ const NATURE = {
87
87
  help: 'scene/component/mqtt'
88
88
  };
89
89
  const MQTT_IMAGE = 'data:image/png;base64,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';
90
- let Mqtt = Mqtt_1 = class Mqtt extends DataSource(RectPath(Shape)) {
90
+ let Mqtt = class Mqtt extends DataSource(RectPath(Shape)) {
91
+ static { Mqtt_1 = this; }
92
+ static _image;
93
+ _client;
91
94
  static get image() {
92
95
  if (!Mqtt_1._image) {
93
96
  Mqtt_1._image = new Image();
@@ -95,8 +98,8 @@ let Mqtt = Mqtt_1 = class Mqtt extends DataSource(RectPath(Shape)) {
95
98
  }
96
99
  return Mqtt_1._image;
97
100
  }
98
- ready() {
99
- super.ready();
101
+ async ready() {
102
+ await super.ready();
100
103
  if (!this.app.isViewMode)
101
104
  return;
102
105
  this._initMqttConnection();
package/dist/mqtt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../src/mqtt.ts"],"names":[],"mappings":"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","sourcesContent":["import mqtt from 'mqtt'\n\n/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport {\n Component,\n ComponentNature,\n DataSource,\n Properties,\n RectPath,\n Shape,\n sceneComponent\n} from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'broker',\n name: 'broker',\n placeholder: 'WebSocket hostname'\n },\n {\n type: 'number',\n label: 'port',\n name: 'port',\n placeholder: '15675'\n },\n {\n type: 'string',\n label: 'path',\n name: 'path',\n placeholder: '/mqtt or /ws'\n },\n {\n type: 'string',\n label: 'user',\n name: 'user'\n },\n {\n type: 'string',\n label: 'password',\n name: 'password',\n property: 'password'\n },\n {\n type: 'string',\n label: 'topic',\n name: 'topic'\n },\n {\n type: 'number',\n label: 'qos',\n name: 'qos',\n placeholder: '0..2'\n },\n {\n type: 'string',\n label: 'client-id',\n name: 'clientId'\n },\n {\n type: 'select',\n label: 'data-format',\n name: 'dataFormat',\n property: {\n options: [\n {\n display: 'Plain Text',\n value: 'text'\n },\n {\n display: 'JSON',\n value: 'json'\n }\n ]\n }\n },\n {\n type: 'checkbox',\n label: 'retain',\n name: 'retain'\n },\n {\n type: 'checkbox',\n label: 'ssl',\n name: 'ssl'\n }\n ],\n 'value-property': 'message',\n help: 'scene/component/mqtt'\n}\n\nconst MQTT_IMAGE =\n 'data:image/png;base64,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'\n\n@sceneComponent('mqtt')\nexport default class Mqtt extends DataSource(RectPath(Shape)) {\n private static _image: HTMLImageElement\n\n private _client?: mqtt.MqttClient\n\n static get image() {\n if (!Mqtt._image) {\n Mqtt._image = new Image()\n Mqtt._image.src = MQTT_IMAGE\n }\n\n return Mqtt._image\n }\n\n ready() {\n super.ready()\n\n if (!this.app.isViewMode) return\n\n this._initMqttConnection()\n }\n\n _initMqttConnection() {\n try {\n this._client && this._client.end(true, () => {})\n } catch (e) {\n console.error(e)\n }\n delete this._client\n\n var {\n broker,\n port = 8441,\n clientId = 'THINGS-FACTORY',\n topic,\n qos = 1,\n retain = false,\n path = '/mqtt',\n dataFormat = 'text',\n user,\n password,\n ssl = false\n } = this.state\n\n if (!broker) {\n console.warn('broker not defined')\n return\n }\n\n clientId = [clientId, Date.now()].join('-')\n\n var client = mqtt.connect(`ws://${broker}:${port}${path}`, {\n keepalive: 10,\n clientId,\n protocolId: 'MQTT',\n protocolVersion: 4,\n clean: true,\n reconnectPeriod: 1000,\n connectTimeout: 30 * 1000,\n will: {\n topic: 'WillMsg',\n payload: 'Connection Closed abnormally..!',\n qos: 0,\n retain: false\n },\n username: user,\n password: password,\n rejectUnauthorized: false\n })\n\n client.on('error', err => {\n console.error(err)\n client.end()\n })\n\n client.on('connect', packet => {\n console.log('client connected:', clientId, packet)\n\n client.subscribe(\n topic,\n {\n qos\n },\n (err, granted) => {\n if (!err) {\n console.error('subscription failed', err)\n } else {\n console.log('mqtt subscription success for topic - ', topic)\n }\n }\n )\n })\n\n client.on('message', (topic, message, packet) => {\n this.data = this._convertDataFormat(message.toString(), dataFormat)\n })\n\n client.on('close', () => {\n console.log(clientId + ' disconnected')\n })\n\n this._client = client\n }\n\n dispose() {\n try {\n this._client && this._client.end(true, () => {})\n } catch (e) {\n console.error(e)\n }\n delete this._client\n\n super.dispose()\n }\n\n render(context: CanvasRenderingContext2D): void {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Mqtt.image, left, top, width, height)\n }\n\n get message() {\n return this.getState('message')\n }\n\n set message(message) {\n this.setState('message', message)\n }\n\n onchange(after: Properties, before: Properties): void {\n if ('message' in after) {\n const { message } = after\n\n if (!this._client || !this._client.connected) {\n return\n }\n\n var { topic } = this.state\n\n this._client.publish(topic, JSON.stringify(message), {\n qos: 0,\n retain: false\n })\n }\n }\n\n get nature() {\n return NATURE\n }\n}\n"]}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../src/mqtt.ts"],"names":[],"mappings":"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","sourcesContent":["import mqtt from 'mqtt'\n\n/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport {\n Component,\n ComponentNature,\n DataSource,\n Properties,\n RectPath,\n Shape,\n sceneComponent\n} from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'broker',\n name: 'broker',\n placeholder: 'WebSocket hostname'\n },\n {\n type: 'number',\n label: 'port',\n name: 'port',\n placeholder: '15675'\n },\n {\n type: 'string',\n label: 'path',\n name: 'path',\n placeholder: '/mqtt or /ws'\n },\n {\n type: 'string',\n label: 'user',\n name: 'user'\n },\n {\n type: 'string',\n label: 'password',\n name: 'password',\n property: 'password'\n },\n {\n type: 'string',\n label: 'topic',\n name: 'topic'\n },\n {\n type: 'number',\n label: 'qos',\n name: 'qos',\n placeholder: '0..2'\n },\n {\n type: 'string',\n label: 'client-id',\n name: 'clientId'\n },\n {\n type: 'select',\n label: 'data-format',\n name: 'dataFormat',\n property: {\n options: [\n {\n display: 'Plain Text',\n value: 'text'\n },\n {\n display: 'JSON',\n value: 'json'\n }\n ]\n }\n },\n {\n type: 'checkbox',\n label: 'retain',\n name: 'retain'\n },\n {\n type: 'checkbox',\n label: 'ssl',\n name: 'ssl'\n }\n ],\n 'value-property': 'message',\n help: 'scene/component/mqtt'\n}\n\nconst MQTT_IMAGE =\n 'data:image/png;base64,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'\n\n@sceneComponent('mqtt')\nexport default class Mqtt extends DataSource(RectPath(Shape)) {\n private static _image: HTMLImageElement\n\n private _client?: mqtt.MqttClient\n\n static get image() {\n if (!Mqtt._image) {\n Mqtt._image = new Image()\n Mqtt._image.src = MQTT_IMAGE\n }\n\n return Mqtt._image\n }\n\n async ready() {\n await super.ready()\n\n if (!this.app.isViewMode) return\n\n this._initMqttConnection()\n }\n\n _initMqttConnection() {\n try {\n this._client && this._client.end(true, () => {})\n } catch (e) {\n console.error(e)\n }\n delete this._client\n\n var {\n broker,\n port = 8441,\n clientId = 'THINGS-FACTORY',\n topic,\n qos = 1,\n retain = false,\n path = '/mqtt',\n dataFormat = 'text',\n user,\n password,\n ssl = false\n } = this.state\n\n if (!broker) {\n console.warn('broker not defined')\n return\n }\n\n clientId = [clientId, Date.now()].join('-')\n\n var client = mqtt.connect(`ws://${broker}:${port}${path}`, {\n keepalive: 10,\n clientId,\n protocolId: 'MQTT',\n protocolVersion: 4,\n clean: true,\n reconnectPeriod: 1000,\n connectTimeout: 30 * 1000,\n will: {\n topic: 'WillMsg',\n payload: 'Connection Closed abnormally..!',\n qos: 0,\n retain: false\n },\n username: user,\n password: password,\n rejectUnauthorized: false\n })\n\n client.on('error', err => {\n console.error(err)\n client.end()\n })\n\n client.on('connect', packet => {\n console.log('client connected:', clientId, packet)\n\n client.subscribe(\n topic,\n {\n qos\n },\n (err, granted) => {\n if (!err) {\n console.error('subscription failed', err)\n } else {\n console.log('mqtt subscription success for topic - ', topic)\n }\n }\n )\n })\n\n client.on('message', (topic, message, packet) => {\n this.data = this._convertDataFormat(message.toString(), dataFormat)\n })\n\n client.on('close', () => {\n console.log(clientId + ' disconnected')\n })\n\n this._client = client\n }\n\n dispose() {\n try {\n this._client && this._client.end(true, () => {})\n } catch (e) {\n console.error(e)\n }\n delete this._client\n\n super.dispose()\n }\n\n render(context: CanvasRenderingContext2D): void {\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, Mqtt.image, left, top, width, height)\n }\n\n get message() {\n return this.getState('message')\n }\n\n set message(message) {\n this.setState('message', message)\n }\n\n onchange(after: Properties, before: Properties): void {\n if ('message' in after) {\n const { message } = after\n\n if (!this._client || !this._client.connected) {\n return\n }\n\n var { topic } = this.state\n\n this._client.publish(topic, JSON.stringify(message), {\n qos: 0,\n retain: false\n })\n }\n }\n\n get nature() {\n return NATURE\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@operato/scene-mqtt",
3
- "version": "9.1.1",
3
+ "version": "10.0.0-beta.2",
4
4
  "type": "module",
5
5
  "description": "MQTT integration component for things-scene",
6
6
  "license": "MIT",
@@ -22,28 +22,28 @@
22
22
  "serve:dev": "npm run serve",
23
23
  "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
24
24
  "build": "tsc",
25
- "prepublish": "tsc",
26
- "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
27
- "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
25
+ "prepublishOnly": "tsc",
26
+ "lint": "eslint src/ && prettier \"src/**/*.ts\" --check",
27
+ "format": "eslint src/ --fix && prettier \"src/**/*.ts\" --write",
28
28
  "migration": "things-factory-migration"
29
29
  },
30
30
  "dependencies": {
31
- "@hatiolab/things-scene": "^9.0.0",
31
+ "@hatiolab/things-scene": "^10.0.0-beta.1",
32
32
  "mqtt-browser": "^4.2.7"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@hatiolab/prettier-config": "^1.0.0",
36
- "@things-factory/builder": "^9.0.0",
37
- "@things-factory/operato-board": "^9.0.0",
38
- "@typescript-eslint/eslint-plugin": "^4.33.0",
39
- "@typescript-eslint/parser": "^4.33.0",
36
+ "@things-factory/builder": "^10.0.0-beta.1",
37
+ "@things-factory/operato-board": "^10.0.0-beta.1",
38
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
39
+ "@typescript-eslint/parser": "^8.0.0",
40
40
  "@web/dev-server": "^0.1.28",
41
41
  "concurrently": "^8.0.1",
42
42
  "eslint": "^9.18.0",
43
43
  "eslint-config-prettier": "^10.0.1",
44
44
  "husky": "^8.0.3",
45
- "lint-staged": "^13.2.2",
46
- "prettier": "^2.4.1",
45
+ "lint-staged": "^15.2.2",
46
+ "prettier": "^3.2.5",
47
47
  "tslib": "^2.3.1",
48
48
  "typescript": "^5.0.4"
49
49
  },
@@ -59,5 +59,5 @@
59
59
  "prettier --write"
60
60
  ]
61
61
  },
62
- "gitHead": "14946e6f709e9b427a43ac6c5751b4fdb58961dd"
62
+ "gitHead": "350ece104754d007967cf8e3f54d0d157465e94a"
63
63
  }