@iobroker/adapter-react-v5 6.1.10 → 7.0.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.
@@ -420,7 +420,9 @@ class FileBrowserClass extends react_1.Component {
420
420
  const folder = key.substring(0, pos);
421
421
  console.log(`File changed ${key}[${size}]`);
422
422
  if (this.state.folders[folder]) {
423
- this._tempTimeout[folder] && clearTimeout(this._tempTimeout[folder]);
423
+ if (this._tempTimeout[folder]) {
424
+ clearTimeout(this._tempTimeout[folder]);
425
+ }
424
426
  this._tempTimeout[folder] = setTimeout(() => {
425
427
  delete this._tempTimeout[folder];
426
428
  this.browseFolder(folder, null, false, true)
@@ -604,7 +606,9 @@ class FileBrowserClass extends react_1.Component {
604
606
  }
605
607
  }
606
608
  componentWillUnmount() {
607
- this.supportSubscribes && this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);
609
+ if (this.supportSubscribes) {
610
+ this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);
611
+ }
608
612
  this.mounted = false;
609
613
  this.browseList = null;
610
614
  this.browseListRunning = false;
@@ -687,7 +691,9 @@ class FileBrowserClass extends react_1.Component {
687
691
  item.reject = null;
688
692
  item.adapter = null;
689
693
  item.relPath = null;
690
- resolve && resolve(files);
694
+ if (resolve) {
695
+ resolve(files);
696
+ }
691
697
  this.browseListRunning = false;
692
698
  if (this.browseList.length) {
693
699
  if (level < 5) {
@@ -716,7 +722,9 @@ class FileBrowserClass extends react_1.Component {
716
722
  item.reject = null;
717
723
  item.adapter = null;
718
724
  item.relPath = null;
719
- reject && reject(e);
725
+ if (reject) {
726
+ reject(e);
727
+ }
720
728
  this.browseListRunning = false;
721
729
  if (this.browseList.length) {
722
730
  if (level < 5) {
@@ -804,7 +812,9 @@ class FileBrowserClass extends react_1.Component {
804
812
  });
805
813
  _folders.sort((a, b) => (a.id > b.id ? 1 : (a.id < b.id ? -1 : 0)));
806
814
  if (!this.limitToObjectID || this.limitToObjectID === USER_DATA) {
807
- userData && _folders.unshift(userData);
815
+ if (userData) {
816
+ _folders.unshift(userData);
817
+ }
808
818
  }
809
819
  newFoldersNotNull[folderId || '/'] = _folders;
810
820
  if (!_checkEmpty) {
@@ -815,7 +825,9 @@ class FileBrowserClass extends react_1.Component {
815
825
  }
816
826
  }
817
827
  catch (e) {
818
- this.initialReadFinished && window.alert(`Cannot read meta items: ${e}`);
828
+ if (this.initialReadFinished) {
829
+ window.alert(`Cannot read meta items: ${e}`);
830
+ }
819
831
  newFoldersNotNull[folderId || '/'] = [];
820
832
  }
821
833
  return newFoldersNotNull;
@@ -876,7 +888,9 @@ class FileBrowserClass extends react_1.Component {
876
888
  }
877
889
  }
878
890
  catch (e) {
879
- this.initialReadFinished && window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${e}`);
891
+ if (this.initialReadFinished) {
892
+ window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${e}`);
893
+ }
880
894
  newFoldersNotNull[folderId] = [];
881
895
  }
882
896
  return newFoldersNotNull;
@@ -907,7 +921,9 @@ class FileBrowserClass extends react_1.Component {
907
921
  }
908
922
  }
909
923
  changeFolder(e, folder) {
910
- e && e.stopPropagation();
924
+ if (e) {
925
+ e.stopPropagation();
926
+ }
911
927
  this.lastSelect = Date.now();
912
928
  let _folder = folder || getParentDir(this.state.currentDir);
913
929
  if (_folder === '/') {
@@ -935,7 +951,9 @@ class FileBrowserClass extends react_1.Component {
935
951
  }, () => this.props.onSelect && this.props.onSelect(''));
936
952
  }
937
953
  select(id, e, cb) {
938
- e && e.stopPropagation();
954
+ if (e) {
955
+ e.stopPropagation();
956
+ }
939
957
  this.lastSelect = Date.now();
940
958
  this.localStorage.setItem('files.selected', id);
941
959
  this.setState({ selected: id, path: id, pathFocus: false }, () => {
@@ -950,7 +968,9 @@ class FileBrowserClass extends react_1.Component {
950
968
  this.props.onSelect('');
951
969
  }
952
970
  }
953
- cb && cb();
971
+ if (cb) {
972
+ cb();
973
+ }
954
974
  });
955
975
  }
956
976
  getText(text) {
@@ -1236,7 +1256,7 @@ class FileBrowserClass extends react_1.Component {
1236
1256
  !this.state.selected.startsWith(`${this.limitToPath}/`) &&
1237
1257
  this.limitToPath !== this.state.selected), title: this.props.t('ra_Upload file'), style: styles.menuButton, color: "inherit", "aria-label": "upload file", onClick: () => this.setState({ uploadFile: true }), size: "small" },
1238
1258
  react_1.default.createElement(icons_material_1.Publish, { fontSize: "small" })) : null,
1239
- this.props.showTypeSelector && IconType ? react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Filter files'), componentsProps: { popper: { sx: styles.tooltip } } },
1259
+ this.props.showTypeSelector && IconType ? react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Filter files'), slotProps: { popper: { sx: styles.tooltip } } },
1240
1260
  react_1.default.createElement(material_1.IconButton, { size: "small", onClick: e => this.setState({ showTypesMenu: e.target }) },
1241
1261
  react_1.default.createElement(IconType, { fontSize: "small" }))) : null,
1242
1262
  this.state.showTypesMenu ? react_1.default.createElement(material_1.Menu, { open: !0, anchorEl: this.state.showTypesMenu, onClose: () => this.setState({ showTypesMenu: null }) }, Object.keys(FILE_TYPE_ICONS).map(type => {
@@ -1255,10 +1275,10 @@ class FileBrowserClass extends react_1.Component {
1255
1275
  react_1.default.createElement(MyIcon, { fontSize: "small" })),
1256
1276
  react_1.default.createElement(material_1.ListItemText, null, this.props.t(`ra_fileType_${type}`)));
1257
1277
  })) : null,
1258
- react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Background image'), componentsProps: { popper: { sx: styles.tooltip } } },
1278
+ react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Background image'), slotProps: { popper: { sx: styles.tooltip } } },
1259
1279
  react_1.default.createElement(material_1.IconButton, { color: "inherit", edge: "start", style: styles.menuButton, onClick: this.setStateBackgroundImage, size: "small" },
1260
1280
  react_1.default.createElement(icons_material_1.Brightness6, { fontSize: "small" }))),
1261
- this.state.viewType !== TABLE && this.props.allowDelete ? react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Delete'), componentsProps: { popper: { sx: styles.tooltip } } },
1281
+ this.state.viewType !== TABLE && this.props.allowDelete ? react_1.default.createElement(material_1.Tooltip, { title: this.props.t('ra_Delete'), slotProps: { popper: { sx: styles.tooltip } } },
1262
1282
  react_1.default.createElement("span", null,
1263
1283
  react_1.default.createElement(material_1.IconButton, { "aria-label": "delete", disabled: !this.state.selected ||
1264
1284
  this.state.selected === 'vis.0/' ||
@@ -1327,7 +1347,9 @@ class FileBrowserClass extends react_1.Component {
1327
1347
  return null;
1328
1348
  }
1329
1349
  componentDidUpdate( /* prevProps , prevState, snapshot */) {
1330
- this.setOpacityTimer && clearTimeout(this.setOpacityTimer);
1350
+ if (this.setOpacityTimer) {
1351
+ clearTimeout(this.setOpacityTimer);
1352
+ }
1331
1353
  this.setOpacityTimer = setTimeout(() => {
1332
1354
  this.setOpacityTimer = null;
1333
1355
  const items = window.document.getElementsByClassName('browserItem');
@@ -1545,7 +1567,9 @@ class FileBrowserClass extends react_1.Component {
1545
1567
  }
1546
1568
  });
1547
1569
  if (changed) {
1548
- this.cacheFoldersTimeout && clearTimeout(this.cacheFoldersTimeout);
1570
+ if (this.cacheFoldersTimeout) {
1571
+ clearTimeout(this.cacheFoldersTimeout);
1572
+ }
1549
1573
  this.cacheFoldersTimeout = setTimeout(() => {
1550
1574
  this.cacheFoldersTimeout = null;
1551
1575
  const folders = this.cacheFolders || {};
@@ -1588,7 +1612,9 @@ class FileBrowserClass extends react_1.Component {
1588
1612
  : `/${this.state.currentDir}`.split('/');
1589
1613
  const p = [];
1590
1614
  return react_1.default.createElement(material_1.Breadcrumbs, { style: { paddingLeft: 8 } }, parts.map((part, i) => {
1591
- part && p.push(part);
1615
+ if (part) {
1616
+ p.push(part);
1617
+ }
1592
1618
  const path = p.join('/');
1593
1619
  if (i < parts.length - 1) {
1594
1620
  return react_1.default.createElement(material_1.Box, { component: "div", key: `${this.state.selected}_${i}`, sx: styles.pathDivBreadcrumbDir, onClick: e => this.changeFolder(e, path || '/') }, part || this.props.t('ra_Root'));
@@ -331,6 +331,10 @@ interface ObjectBrowserState {
331
331
  showDescription: boolean;
332
332
  showContextMenu: {
333
333
  item: TreeItem;
334
+ position: {
335
+ left: number;
336
+ top: number;
337
+ };
334
338
  subItem?: string;
335
339
  subAnchor?: HTMLLIElement;
336
340
  } | null;
@@ -352,6 +356,8 @@ interface ObjectBrowserState {
352
356
  el: React.JSX.Element[];
353
357
  id: string;
354
358
  };
359
+ /** Show the menu with aliases for state */
360
+ aliasMenu: string;
355
361
  }
356
362
  export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, ObjectBrowserState> {
357
363
  #private;
@@ -469,6 +475,7 @@ export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, Ob
469
475
  onObjectChangeFromWorker: (events: ObjectEvent[]) => void;
470
476
  onObjectChange: (id: string, obj?: ioBroker.Object | null) => void;
471
477
  afterObjectUpdated(): void;
478
+ updateAliases(aliasId: string): void;
472
479
  /**
473
480
  * Processes a single element in regard to certain filters, columns for admin and updates object dict
474
481
  * @returns Returns an object containing the new state (if any) and whether the object was filtered.
@@ -537,6 +544,7 @@ export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, Ob
537
544
  * Renders a custom value.
538
545
  */
539
546
  renderCustomValue(obj: ioBroker.Object, it: AdapterColumn, item: TreeItem): React.JSX.Element | null;
547
+ renderAliasLink(id: string, index?: number, customStyle?: Record<string, any>): React.JSX.Element | null;
540
548
  /**
541
549
  * Renders a leaf.
542
550
  */
@@ -582,6 +590,8 @@ export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, Ob
582
590
  private renderViewObjectFileDialog;
583
591
  private renderAliasEditorDialog;
584
592
  showAddDataPointDialog(id: string, initialType: ioBroker.ObjectType, initialStateType?: ioBroker.CommonType): void;
593
+ /** Renders the aliases list for one state (if more than 2) */
594
+ private renderAliasMenu;
585
595
  /**
586
596
  * Renders the right mouse button context menu
587
597
  */