@iobroker/adapter-react-v5 5.0.4 → 5.0.6

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 (55) hide show
  1. package/Components/ColorPicker.d.ts +0 -1
  2. package/Components/ColorPicker.js +1 -1
  3. package/Components/ComplexCron.js +20 -28
  4. package/Components/CopyToClipboard.js +0 -4
  5. package/Components/CustomModal.js +1 -5
  6. package/Components/FileBrowser.js +13 -18
  7. package/Components/FileViewer.js +4 -11
  8. package/Components/Icon.d.ts +2 -2
  9. package/Components/Icon.js +2 -2
  10. package/Components/IconSelector.js +2 -10
  11. package/Components/Image.js +3 -1
  12. package/Components/Loader.d.ts +2 -2
  13. package/Components/Loader.js +1 -1
  14. package/Components/Loaders/PT.d.ts +1 -1
  15. package/Components/Loaders/PT.js +1 -1
  16. package/Components/Loaders/Vendor.d.ts +1 -1
  17. package/Components/Loaders/Vendor.js +2 -2
  18. package/Components/Logo.js +1 -1
  19. package/Components/MDUtils.js +2 -0
  20. package/Components/ObjectBrowser.d.ts +526 -2
  21. package/Components/ObjectBrowser.js +100 -84
  22. package/Components/SaveCloseButtons.js +9 -18
  23. package/Components/Schedule.js +2 -2
  24. package/Components/SimpleCron/cron2text.js +5 -3
  25. package/Components/SimpleCron/cronText.js +1 -1
  26. package/Components/SimpleCron/index.js +29 -35
  27. package/Components/TableResize.d.ts +1 -1
  28. package/Components/TableResize.js +1 -1
  29. package/Components/TextWithIcon.js +1 -1
  30. package/Components/TreeTable.js +5 -4
  31. package/Components/Utils.d.ts +58 -60
  32. package/Components/Utils.js +239 -197
  33. package/Dialogs/ComplexCron.js +2 -10
  34. package/Dialogs/Confirm.d.ts +1 -1
  35. package/Dialogs/Confirm.js +2 -4
  36. package/Dialogs/Cron.js +1 -3
  37. package/Dialogs/Error.d.ts +1 -11
  38. package/Dialogs/Error.js +1 -7
  39. package/Dialogs/Message.d.ts +1 -12
  40. package/Dialogs/Message.js +1 -8
  41. package/Dialogs/SelectFile.js +1 -5
  42. package/Dialogs/SelectID.d.ts +1 -1
  43. package/Dialogs/SelectID.js +13 -7
  44. package/Dialogs/SimpleCron.js +1 -3
  45. package/Dialogs/TextInput.js +1 -5
  46. package/GenericApp.d.ts +2 -3
  47. package/GenericApp.js +11 -9
  48. package/LegacyConnection.d.ts +11 -12
  49. package/LegacyConnection.js +350 -222
  50. package/README.md +25 -0
  51. package/craco-module-federation.js +2 -2
  52. package/i18n.d.ts +1 -1
  53. package/i18n.js +6 -8
  54. package/package.json +7 -7
  55. package/types.d.ts +27 -27
@@ -4,7 +4,15 @@
4
4
  * MIT License
5
5
  *
6
6
  * */
7
- import React from 'react';
7
+ import React, { Component } from 'react';
8
+ import type Router from './Router';
9
+ import type { ThemeType, ThemeName, IobTheme, Translate } from '../types';
10
+ import Connection from '../Connection';
11
+ declare module '@mui/material/Button' {
12
+ interface ButtonPropsColorOverrides {
13
+ grey: true;
14
+ }
15
+ }
8
16
  declare global {
9
17
  interface Window {
10
18
  sparkline: {
@@ -12,6 +20,26 @@ declare global {
12
20
  };
13
21
  }
14
22
  }
23
+ type ObjectEventType = 'new' | 'changed' | 'deleted';
24
+ interface ObjectEvent {
25
+ id: string;
26
+ obj?: ioBroker.Object;
27
+ type: ObjectEventType;
28
+ oldObj?: ioBroker.Object;
29
+ }
30
+ interface ObjectsWorker {
31
+ getObjects(update?: boolean): Promise<void | Record<string, ioBroker.Object>>;
32
+ registerHandler(cb: (events: ObjectEvent[]) => void): void;
33
+ unregisterHandler(cb: (events: ObjectEvent[]) => void, doNotUnsubscribe?: boolean): void;
34
+ }
35
+ interface CustomAdminColumnStored {
36
+ path: string;
37
+ name: string;
38
+ objTypes?: ioBroker.ObjectType[];
39
+ width?: number;
40
+ edit?: boolean;
41
+ type?: ioBroker.CommonType;
42
+ }
15
43
  export interface TreeItemData {
16
44
  id: string;
17
45
  name: string;
@@ -49,12 +77,19 @@ export interface TreeItemData {
49
77
  per?: boolean;
50
78
  lang?: ioBroker.Languages;
51
79
  state?: {
52
- valFullRx?: React.JSX.Element[] | null;
53
80
  valTextRx?: React.JSX.Element[] | null;
54
81
  style?: React.CSSProperties;
55
82
  };
56
83
  aclTooltip?: null | React.JSX.Element;
57
84
  }
85
+ interface ObjectBrowserCustomFilter {
86
+ type?: ioBroker.ObjectType | ioBroker.ObjectType[];
87
+ common?: {
88
+ type?: ioBroker.CommonType | ioBroker.CommonType[];
89
+ role?: string | string[];
90
+ custom?: '_' | '_dataSources' | true | string | string[];
91
+ };
92
+ }
58
93
  export interface TreeItem {
59
94
  id?: string;
60
95
  data: TreeItemData;
@@ -62,5 +97,494 @@ export interface TreeItem {
62
97
  }
63
98
  export declare function getSelectIdIconFromObjects(objects: Record<string, ioBroker.Object>, id: string, imagePrefix?: string): string | React.JSX.Element | null;
64
99
  export declare const ITEM_IMAGES: Record<string, React.JSX.Element>;
100
+ export interface ObjectBrowserFilter {
101
+ id?: string;
102
+ name?: string;
103
+ room?: string;
104
+ func?: string;
105
+ role?: string;
106
+ type?: string;
107
+ custom?: string;
108
+ expertMode?: boolean;
109
+ }
110
+ interface AdapterColumn {
111
+ adapter: string;
112
+ id: string;
113
+ name: string;
114
+ path: string[];
115
+ pathText: string;
116
+ edit?: boolean;
117
+ type?: 'boolean' | 'string' | 'number';
118
+ objTypes?: ioBroker.ObjectType[];
119
+ align?: 'center' | 'left' | 'right';
120
+ }
121
+ interface ObjectBrowserEditRoleProps {
122
+ classes: Record<string, string>;
123
+ roles: string[];
124
+ id: string;
125
+ socket: Connection;
126
+ onClose: (obj?: ioBroker.Object | null) => void;
127
+ t: Translate;
128
+ }
129
+ interface ObjectViewFileDialogProps {
130
+ t: Translate;
131
+ socket: Connection;
132
+ obj: ioBroker.AnyObject;
133
+ onClose: () => void;
134
+ }
135
+ interface DragWrapperProps {
136
+ item: TreeItem;
137
+ className: string;
138
+ children: React.JSX.Element | null;
139
+ }
140
+ interface ObjectCustomDialogProps {
141
+ t: Translate;
142
+ lang: ioBroker.Languages;
143
+ expertMode?: boolean;
144
+ objects: Record<string, ioBroker.Object>;
145
+ socket: Connection;
146
+ theme: IobTheme;
147
+ themeName: ThemeName;
148
+ themeType: ThemeType;
149
+ customsInstances: string[];
150
+ objectIDs: string[];
151
+ onClose: () => void;
152
+ reportChangedIds: (ids: string[]) => void;
153
+ isFloatComma: boolean;
154
+ classes: Record<string, string>;
155
+ allVisibleObjects: boolean;
156
+ systemConfig: ioBroker.SystemConfigObject;
157
+ }
158
+ interface ObjectBrowserValueProps {
159
+ /** Css classes */
160
+ classes: Record<string, string>;
161
+ /** State type */
162
+ type: 'states' | 'string' | 'number' | 'boolean' | 'json';
163
+ /** State role */
164
+ role: string;
165
+ /** common.states */
166
+ states: Record<string, string> | null;
167
+ /** The state value */
168
+ value: string | number | boolean | null;
169
+ /** If expert mode is enabled */
170
+ expertMode: boolean;
171
+ onClose: (newValue?: {
172
+ val: ioBroker.StateValue;
173
+ ack: boolean;
174
+ q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];
175
+ expire: number | undefined;
176
+ }) => void;
177
+ /** Configured theme */
178
+ themeType: ThemeType;
179
+ socket: Connection;
180
+ defaultHistory: string;
181
+ dateFormat: string;
182
+ object: ioBroker.StateObject;
183
+ isFloatComma: boolean;
184
+ t: Translate;
185
+ lang: ioBroker.Languages;
186
+ }
187
+ interface ObjectBrowserEditObjectProps {
188
+ classes: Record<string, string>;
189
+ socket: Connection;
190
+ obj: ioBroker.AnyObject;
191
+ roleArray: string[];
192
+ expertMode: boolean;
193
+ themeType: ThemeType;
194
+ aliasTab: boolean;
195
+ onClose: (obj?: ioBroker.AnyObject) => void;
196
+ dialogName?: string;
197
+ objects: Record<string, ioBroker.AnyObject>;
198
+ dateFormat: string;
199
+ isFloatComma: boolean;
200
+ onNewObject: (obj: ioBroker.AnyObject) => void;
201
+ t: Translate;
202
+ }
203
+ interface ObjectAliasEditorProps {
204
+ t: Translate;
205
+ socket: Connection;
206
+ objects: Record<string, ioBroker.AnyObject>;
207
+ onRedirect: (id: string, delay?: number) => void;
208
+ obj: ioBroker.AnyObject;
209
+ onClose: () => void;
210
+ }
211
+ interface ObjectBrowserProps {
212
+ /** where to store settings in localStorage */
213
+ dialogName?: string;
214
+ classes: Record<string, string>;
215
+ defaultFilters?: ObjectBrowserFilter;
216
+ selected?: string | string[];
217
+ onSelect?: (selected: string | string[], name: string, isDouble?: boolean) => void;
218
+ onFilterChanged?: (newFilter: ObjectBrowserFilter) => void;
219
+ socket: Connection;
220
+ showExpertButton?: boolean;
221
+ expertMode?: boolean;
222
+ imagePrefix?: string;
223
+ themeName: ThemeName;
224
+ themeType: ThemeType;
225
+ /** will be filled by withWidth */
226
+ width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
227
+ theme: IobTheme;
228
+ t: Translate;
229
+ lang: ioBroker.Languages;
230
+ multiSelect?: boolean;
231
+ notEditable?: boolean;
232
+ foldersFirst?: boolean;
233
+ disableColumnSelector?: boolean;
234
+ isFloatComma?: boolean;
235
+ dateFormat?: string;
236
+ levelPadding?: number;
237
+ objectCustomDialog?: React.FC<ObjectCustomDialogProps>;
238
+ objectAddBoolean?: boolean;
239
+ objectEditBoolean?: boolean;
240
+ objectStatesView?: boolean;
241
+ objectImportExport?: boolean;
242
+ objectEditOfAccessControl?: boolean;
243
+ /** modal add object */
244
+ modalNewObject?: (oBrowser: ObjectBrowserClass) => React.JSX.Element;
245
+ /** modal Edit Of Access Control */
246
+ modalEditOfAccessControl: (oBrowser: ObjectBrowserClass, data: TreeItemData) => React.JSX.Element;
247
+ onObjectDelete?: (id: string, hasChildren: boolean, objectExists: boolean, childrenCount: number) => void;
248
+ /** optional filter
249
+ * `{common: {custom: true}}` - show only objects with some custom settings
250
+ * `{common: {custom: 'sql.0'}}` - show only objects with sql.0 custom settings (only of the specific instance)
251
+ * `{common: {custom: '_dataSources'}}` - show only objects of adapters `influxdb' or 'sql' or 'history'
252
+ * `{common: {custom: 'adapterName.'}}` - show only objects of custom settings of specific adapter (all instances)
253
+ * `{type: 'channel'}` - show only channels
254
+ * `{type: ['channel', 'device']}` - show only channels and devices
255
+ * `{common: {type: 'number'}` - show only states of type 'number
256
+ * `{common: {type: ['number', 'string']}` - show only states of type 'number and string
257
+ * `{common: {role: ['switch']}` - show only states with roles starting from switch
258
+ * `{common: {role: ['switch', 'button']}` - show only states with roles starting from `switch` and `button`
259
+ */
260
+ customFilter: ObjectBrowserCustomFilter;
261
+ objectBrowserValue?: React.FC<ObjectBrowserValueProps>;
262
+ objectBrowserEditObject?: React.FC<ObjectBrowserEditObjectProps>;
263
+ /** on edit alias */
264
+ objectBrowserAliasEditor?: React.FC<ObjectAliasEditorProps>;
265
+ /** on Edit role */
266
+ objectBrowserEditRole?: React.FC<ObjectBrowserEditRoleProps>;
267
+ /** on view file state */
268
+ objectBrowserViewFile?: React.FC<ObjectViewFileDialogProps>;
269
+ router?: typeof Router;
270
+ types?: ioBroker.ObjectType[];
271
+ /** Possible columns: ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */
272
+ columns?: string[];
273
+ /** Shows only elements of this root */
274
+ root?: string;
275
+ /** cache of objects */
276
+ objectsWorker?: ObjectsWorker;
277
+ /** function to filter out all unnecessary objects. It cannot be used together with "types"
278
+ * Example for function: `obj => obj.common?.type === 'boolean'` to show only boolean states
279
+ * */
280
+ filterFunc?: (obj: ioBroker.Object) => boolean;
281
+ /** Used for enums dragging */
282
+ DragWrapper?: React.FC<DragWrapperProps>;
283
+ /** let DragWrapper know about objects to get the icons */
284
+ setObjectsReference?: (objects: Record<string, ioBroker.Object>) => void;
285
+ dragEnabled?: boolean;
286
+ }
287
+ interface ObjectBrowserState {
288
+ loaded: boolean;
289
+ foldersFirst: boolean;
290
+ selected: string[];
291
+ selectedNonObject: string;
292
+ filter: ObjectBrowserFilter;
293
+ filterKey: number;
294
+ depth: number;
295
+ expandAllVisible: boolean;
296
+ expanded: string[];
297
+ toast: string;
298
+ scrollBarWidth: number;
299
+ customDialog: null | string[];
300
+ customDialogAll?: boolean;
301
+ editObjectDialog: string;
302
+ editObjectAlias: boolean;
303
+ viewFileDialog: string;
304
+ showAliasEditor: string;
305
+ enumDialog: null | {
306
+ item: TreeItem;
307
+ type: 'room' | 'func';
308
+ enumsOriginal: string;
309
+ };
310
+ enumDialogEnums?: null | string[];
311
+ roleDialog: null | string;
312
+ statesView: boolean;
313
+ /** ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */
314
+ columns: string[] | null;
315
+ columnsForAdmin: Record<string, CustomAdminColumnStored[]> | null;
316
+ columnsSelectorShow: boolean;
317
+ columnsAuto: boolean;
318
+ columnsWidths: Record<string, number>;
319
+ columnsDialogTransparent: number;
320
+ columnsEditCustomDialog: null | {
321
+ obj: ioBroker.Object;
322
+ item: TreeItem;
323
+ it: AdapterColumn;
324
+ };
325
+ customColumnDialogValueChanged: boolean;
326
+ showExportDialog: false | number;
327
+ showAllExportOptions: boolean;
328
+ linesEnabled: boolean;
329
+ showDescription: boolean;
330
+ showContextMenu: {
331
+ item: TreeItem;
332
+ subItem?: string;
333
+ subAnchor?: HTMLLIElement;
334
+ } | null;
335
+ noStatesByExportImport: boolean;
336
+ beautifyJsonExport: boolean;
337
+ excludeSystemRepositoriesFromExport: boolean;
338
+ excludeTranslations: boolean;
339
+ updating?: boolean;
340
+ modalNewObj?: null | {
341
+ id: string;
342
+ initialType?: ioBroker.ObjectType;
343
+ initialStateType?: ioBroker.CommonType;
344
+ };
345
+ error?: undefined | any;
346
+ modalEditOfAccess?: boolean;
347
+ modalEditOfAccessObjData?: TreeItemData;
348
+ updateOpened?: boolean;
349
+ tooltipInfo: null | {
350
+ el: React.JSX.Element[];
351
+ id: string;
352
+ };
353
+ }
354
+ export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, ObjectBrowserState> {
355
+ #private;
356
+ private info;
357
+ private localStorage;
358
+ private lastSelectedItems;
359
+ private lastAppliedFilter;
360
+ private readonly tableRef;
361
+ private readonly filterRefs;
362
+ private pausedSubscribes;
363
+ private selectedFound;
364
+ private root;
365
+ private readonly states;
366
+ private subscribes;
367
+ private unsubscribeTimer;
368
+ private statesUpdateTimer;
369
+ private objectsUpdateTimer;
370
+ private filterTimer;
371
+ private readonly visibleCols;
372
+ private readonly texts;
373
+ private readonly possibleCols;
374
+ private readonly imagePrefix;
375
+ private adapterColumns;
376
+ private edit;
377
+ private readonly levelPadding;
378
+ private customWidth;
379
+ private resizeTimeout;
380
+ private resizerNextName;
381
+ private resizerActiveName;
382
+ private resizerCurrentWidths;
383
+ private resizeLeft;
384
+ private resizerOldWidth;
385
+ private resizerMin;
386
+ private resizerNextMin;
387
+ private resizerOldWidthNext;
388
+ private resizerPosition;
389
+ private resizerActiveDiv;
390
+ private resizerNextDiv;
391
+ private storedWidths;
392
+ private systemConfig;
393
+ objects: Record<string, ioBroker.Object>;
394
+ private defaultHistory;
395
+ private columnsVisibility;
396
+ private changedIds;
397
+ private contextMenu;
398
+ private recordStates;
399
+ private customColumnDialog;
400
+ constructor(props: ObjectBrowserProps);
401
+ loadAllObjects(update?: boolean): Promise<void>;
402
+ /**
403
+ * Check if it is a non-expert id
404
+ */
405
+ static isNonExpertId(
406
+ /** id to test */
407
+ id: string): boolean;
408
+ private expandAllSelected;
409
+ /**
410
+ * @param isDouble is double click
411
+ */
412
+ private onAfterSelect;
413
+ private static getDerivedStateFromProps;
414
+ /**
415
+ * Called when component is mounted.
416
+ */
417
+ componentDidMount(): Promise<void>;
418
+ /**
419
+ * Called when component is unmounted.
420
+ */
421
+ componentWillUnmount(): void;
422
+ /**
423
+ * Show the deletion dialog for a given object
424
+ */
425
+ showDeleteDialog(options: {
426
+ id: string;
427
+ obj: ioBroker.Object;
428
+ item: TreeItem;
429
+ }): void;
430
+ /**
431
+ * Context menu handler.
432
+ */
433
+ onContextMenu: (e: MouseEvent) => void;
434
+ /**
435
+ * Called when component is mounted.
436
+ */
437
+ refreshComponent(): void;
438
+ /**
439
+ * Renders the error dialog.
440
+ */
441
+ renderErrorDialog(): React.JSX.Element | null;
442
+ /**
443
+ * Show the error dialog.
444
+ */
445
+ showError(error: any): void;
446
+ /**
447
+ * Called when an item is selected/deselected.
448
+ */
449
+ onSelect(toggleItem: string, isDouble?: boolean, cb?: () => void): void;
450
+ private _renderDefinedList;
451
+ /**
452
+ * Renders the columns' selector.
453
+ */
454
+ renderColumnsSelectorDialog(): React.JSX.Element | null;
455
+ private getAdditionalColumns;
456
+ private checkUnsubscribes;
457
+ /**
458
+ * Find an item.
459
+ */
460
+ findItem(id: string, _parts?: string[], _root?: TreeItem | null, _partyId?: string): TreeItem | null;
461
+ /**
462
+ * Called when a state changes.
463
+ */
464
+ onStateChange: (id: string, state?: ioBroker.State | null) => void;
465
+ private parseObjectForAdmins;
466
+ onObjectChangeFromWorker: (events: ObjectEvent[]) => void;
467
+ onObjectChange: (id: string, obj?: ioBroker.Object | null) => void;
468
+ afterObjectUpdated(): void;
469
+ /**
470
+ * Processes a single element in regard to certain filters, columns for admin and updates object dict
471
+ * @returns Returns an object containing the new state (if any) and whether the object was filtered.
472
+ */
473
+ processOnObjectChangeElement(
474
+ /** The id of the object */
475
+ id: string,
476
+ /** The object itself */
477
+ obj?: ioBroker.Object | null): {
478
+ filtered: boolean;
479
+ newInnerState: null | {
480
+ columnsForAdmin: Record<string, CustomAdminColumnStored[]> | null;
481
+ };
482
+ };
483
+ private subscribe;
484
+ private unsubscribe;
485
+ private pauseSubscribe;
486
+ private onFilter;
487
+ clearFilter(): void;
488
+ isFilterEmpty(): boolean;
489
+ private getFilterInput;
490
+ private getFilterSelect;
491
+ private getFilterSelectRole;
492
+ private getFilterSelectRoom;
493
+ private getFilterSelectFunction;
494
+ private getFilterSelectType;
495
+ private getFilterSelectCustoms;
496
+ private onExpandAll;
497
+ private onCollapseAll;
498
+ private expandDepth;
499
+ private static collapseDepth;
500
+ private onExpandVisible;
501
+ private onStatesViewVisible;
502
+ private onCollapseVisible;
503
+ private getEnumsForId;
504
+ private _createAllEnums;
505
+ private loadObjects;
506
+ _getSelectedIdsForExport(): any[];
507
+ /**
508
+ * Exports the selected objects based on the given options and triggers file generation
509
+ */
510
+ private _exportObjects;
511
+ renderExportDialog(): React.JSX.Element;
512
+ private handleJsonUpload;
513
+ toolTipObjectCreating: () => string | React.JSX.Element[];
514
+ /**
515
+ * Renders the toolbar.
516
+ */
517
+ getToolbar(): React.JSX.Element;
518
+ private toggleExpanded;
519
+ private onCopy;
520
+ renderTooltipAccessControl: (acl: ioBroker.StateACL) => null | React.JSX.Element;
521
+ renderColumnButtons(id: string, item: TreeItem, classes: Record<string, string>): React.JSX.Element | React.JSX.Element[];
522
+ private readHistory;
523
+ private getTooltipInfo;
524
+ private renderColumnValue;
525
+ private _syncEnum;
526
+ private syncEnum;
527
+ private renderEnumDialog;
528
+ private renderEditRoleDialog;
529
+ private onColumnsEditCustomDialogClose;
530
+ private renderColumnsEditCustomDialog;
531
+ private static getCustomValue;
532
+ private static setCustomValue;
533
+ /**
534
+ * Renders a custom value.
535
+ */
536
+ renderCustomValue(obj: ioBroker.Object, it: AdapterColumn, item: TreeItem): React.JSX.Element | null;
537
+ /**
538
+ * Renders a leaf.
539
+ */
540
+ renderLeaf(item: TreeItem, isExpanded: boolean | undefined, classes: Record<string, string>, counter: {
541
+ count: number;
542
+ }): React.JSX.Element;
543
+ /**
544
+ * Renders an item.
545
+ */
546
+ renderItem(root: TreeItem, isExpanded: boolean | undefined, classes: Record<string, string>, counter?: {
547
+ count: number;
548
+ }): React.JSX.Element[];
549
+ private calculateColumnsVisibility;
550
+ resizerMouseMove: (e: MouseEvent) => void;
551
+ resizerMouseUp: () => void;
552
+ resizerMouseDown: (e: React.MouseEvent<HTMLDivElement>) => void;
553
+ /**
554
+ * Handle keyboard events for navigation
555
+ */
556
+ navigateKeyPress(event: React.KeyboardEvent): void;
557
+ /**
558
+ * Find the id from the root
559
+ */
560
+ private static getItemFromRoot;
561
+ resizerReset: () => void;
562
+ /**
563
+ * Render the right handle for resizing
564
+ */
565
+ renderHandleRight(): React.JSX.Element;
566
+ private renderHeader;
567
+ private renderToast;
568
+ /**
569
+ * Called when component is updated.
570
+ */
571
+ componentDidUpdate(): void;
572
+ scrollToItem(id: string): void;
573
+ private renderCustomDialog;
574
+ private onUpdate;
575
+ private renderEditObjectDialog;
576
+ private renderViewObjectFileDialog;
577
+ private renderAliasEditorDialog;
578
+ showAddDataPointDialog(id: string, initialType: ioBroker.ObjectType, initialStateType?: ioBroker.CommonType): void;
579
+ /**
580
+ * Renders the right mouse button context menu
581
+ */
582
+ private renderContextMenu;
583
+ private renderEditValueDialog;
584
+ /**
585
+ * The rendering method of this component.
586
+ */
587
+ render(): React.JSX.Element;
588
+ }
65
589
  declare const _default: (props: Record<string, any>) => React.JSX.Element;
66
590
  export default _default;