@iobroker/adapter-react-v5 4.13.2 → 4.13.4
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/AdminConnection.js.map +1 -1
- package/Components/404.js +13 -13
- package/Components/ColorPicker.js +54 -54
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +3 -3
- package/Components/FileViewer.js +9 -16
- package/Components/Loader.js +223 -223
- package/Components/Loaders/PT.css +108 -108
- package/Components/Loaders/PT.js +103 -103
- package/Components/Loaders/Vendor.css +13 -13
- package/Components/Loaders/Vendor.js +7 -7
- package/Components/ObjectBrowser.d.ts +2 -2
- package/Components/ObjectBrowser.js +359 -351
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/TabContent.d.ts +3 -7
- package/Components/TabContent.js +1 -3
- package/Components/TableResize.d.ts +20 -13
- package/Components/TableResize.js +244 -262
- package/Components/TreeTable.js +70 -70
- package/Components/TreeTable.js.map +1 -1
- package/Components/UploadImage.js +305 -305
- package/Components/loader.css +221 -221
- package/Components/types.d.ts +82 -82
- package/Components/withWidth.js +2 -2
- package/Components/withWidth.js.map +1 -1
- package/Connection.js.map +1 -1
- package/GenericApp.js +49 -49
- package/LICENSE +22 -22
- package/LegacyConnection.d.ts +4 -0
- package/LegacyConnection.js +14 -0
- package/Prompt.js +7 -7
- package/README.md +1105 -1101
- package/assets/devices/Alarm Systems.svg +18 -18
- package/assets/devices/Amplifier.svg +21 -21
- package/assets/devices/Awnings.svg +4 -4
- package/assets/devices/Battery Status.svg +4 -4
- package/assets/devices/Ceiling Spotlights.svg +15 -15
- package/assets/devices/Chandelier.svg +6 -6
- package/assets/devices/Climate.svg +11 -11
- package/assets/devices/Coffee Makers.svg +5 -5
- package/assets/devices/Cold Water.svg +31 -31
- package/assets/devices/Computer.svg +21 -21
- package/assets/devices/Consumption.svg +7 -7
- package/assets/devices/Curtains.svg +43 -43
- package/assets/devices/Dishwashers.svg +11 -11
- package/assets/devices/Doors.svg +5 -5
- package/assets/devices/Doorstep.svg +35 -35
- package/assets/devices/Dryer.svg +13 -13
- package/assets/devices/Fan.svg +20 -20
- package/assets/devices/Floor Lamps.svg +4 -4
- package/assets/devices/Garage Doors.svg +9 -9
- package/assets/devices/Gates.svg +32 -32
- package/assets/devices/Hairdryer.svg +23 -23
- package/assets/devices/Handle.svg +6 -6
- package/assets/devices/Hanging Lamps.svg +8 -8
- package/assets/devices/Heater.svg +44 -44
- package/assets/devices/Hoods.svg +11 -11
- package/assets/devices/Hot Water.svg +9 -9
- package/assets/devices/Humidity.svg +41 -41
- package/assets/devices/Iron.svg +4 -4
- package/assets/devices/Irrigation.svg +22 -22
- package/assets/devices/Led Strip.svg +30 -30
- package/assets/devices/Light.svg +29 -29
- package/assets/devices/Lightings.svg +46 -46
- package/assets/devices/Lock.svg +19 -19
- package/assets/devices/Louvre.svg +6 -6
- package/assets/devices/Mowing Machine.svg +8 -8
- package/assets/devices/Music.svg +12 -12
- package/assets/devices/Outdoor Blinds.svg +6 -6
- package/assets/devices/People.svg +19 -19
- package/assets/devices/Pool.svg +7 -7
- package/assets/devices/Power Consumption.svg +12 -12
- package/assets/devices/Printer.svg +9 -9
- package/assets/devices/Pump.svg +9 -9
- package/assets/devices/Receiver.svg +18 -18
- package/assets/devices/Sconces.svg +9 -9
- package/assets/devices/Security.svg +34 -34
- package/assets/devices/Shading.svg +4 -4
- package/assets/devices/Shutters.svg +10 -10
- package/assets/devices/SmokeDetector.svg +12 -12
- package/assets/devices/Sockets.svg +13 -13
- package/assets/devices/Speaker.svg +35 -35
- package/assets/devices/Stove.svg +11 -11
- package/assets/devices/Table Lamps.svg +11 -11
- package/assets/devices/Temperature Sensors.svg +28 -28
- package/assets/devices/Tv.svg +7 -7
- package/assets/devices/Vacuum Cleaner.svg +15 -15
- package/assets/devices/Ventilation.svg +12 -12
- package/assets/devices/Washing Machines.svg +15 -15
- package/assets/devices/Water Consumption.svg +5 -5
- package/assets/devices/Water Heater.svg +8 -8
- package/assets/devices/Water.svg +40 -40
- package/assets/devices/Weather.svg +28 -28
- package/assets/devices/Window.svg +7 -7
- package/assets/devices/list.json +993 -993
- package/assets/devices/names.txt +62 -62
- package/assets/devices/parseNames.js +34 -34
- package/assets/lamp_ceiling.svg +8 -8
- package/assets/lamp_table.svg +7 -7
- package/assets/no_icon.svg +9 -9
- package/assets/rooms/Anteroom.svg +52 -52
- package/assets/rooms/Attic.svg +21 -21
- package/assets/rooms/Balcony.svg +12 -12
- package/assets/rooms/Barn.svg +5 -5
- package/assets/rooms/Basement.svg +4 -4
- package/assets/rooms/Bathroom.svg +38 -38
- package/assets/rooms/Bedroom.svg +5 -5
- package/assets/rooms/Boiler Room.svg +12 -12
- package/assets/rooms/Carport.svg +17 -17
- package/assets/rooms/Cellar.svg +89 -89
- package/assets/rooms/Chamber.svg +9 -9
- package/assets/rooms/Corridor.svg +52 -52
- package/assets/rooms/Dining Area.svg +37 -37
- package/assets/rooms/Dining Room.svg +37 -37
- package/assets/rooms/Dining.svg +37 -37
- package/assets/rooms/Dressing Room.svg +4 -4
- package/assets/rooms/Driveway.svg +14 -14
- package/assets/rooms/Entrance.svg +44 -44
- package/assets/rooms/Equipment Room.svg +14 -14
- package/assets/rooms/Front Yard.svg +64 -64
- package/assets/rooms/Gallery.svg +13 -13
- package/assets/rooms/Garage.svg +20 -20
- package/assets/rooms/Garden.svg +12 -12
- package/assets/rooms/Ground Floor.svg +95 -95
- package/assets/rooms/Guest Bathroom.svg +32 -32
- package/assets/rooms/Guest Room.svg +5 -5
- package/assets/rooms/Gym.svg +4 -4
- package/assets/rooms/Hall.svg +19 -19
- package/assets/rooms/Home Theater.svg +7 -7
- package/assets/rooms/Kitchen.svg +17 -17
- package/assets/rooms/Laundry Room.svg +11 -11
- package/assets/rooms/Living Area.svg +10 -10
- package/assets/rooms/Living Room.svg +10 -10
- package/assets/rooms/Locker Room.svg +16 -16
- package/assets/rooms/Nursery.svg +4 -4
- package/assets/rooms/Office.svg +8 -8
- package/assets/rooms/Outdoors.svg +7 -7
- package/assets/rooms/Playroom.svg +5 -5
- package/assets/rooms/Pool.svg +7 -7
- package/assets/rooms/Rear Wall.svg +30 -30
- package/assets/rooms/Second Floor.svg +95 -95
- package/assets/rooms/Shed.svg +16 -16
- package/assets/rooms/Sleeping Area.svg +22 -22
- package/assets/rooms/Stairway.svg +4 -4
- package/assets/rooms/Stairwell.svg +15 -15
- package/assets/rooms/Storeroom.svg +4 -4
- package/assets/rooms/Summer House.svg +27 -27
- package/assets/rooms/Swimming Pool.svg +21 -21
- package/assets/rooms/Terrace.svg +6 -6
- package/assets/rooms/Toilet.svg +10 -10
- package/assets/rooms/Upstairs.svg +5 -5
- package/assets/rooms/Wardrobe.svg +60 -60
- package/assets/rooms/Washroom.svg +19 -19
- package/assets/rooms/Wc.svg +10 -10
- package/assets/rooms/Windscreen.svg +60 -60
- package/assets/rooms/Workshop.svg +22 -22
- package/assets/rooms/Workspace.svg +8 -8
- package/assets/rooms/list.json +945 -945
- package/assets/rooms/names.txt +59 -59
- package/assets/rooms/parseNames.js +34 -34
- package/craco-module-federation.js +69 -69
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js +8 -8
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconDocumentReadOnly.js.map +1 -1
- package/icons/IconFx.js +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js +9 -9
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconNoIcon.js +8 -8
- package/icons/IconNoIcon.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/index.css +54 -54
- package/package.json +2 -2
- package/types.d.ts +94 -94
- package/Components/404.js.map +0 -1
- package/Components/CustomModal.js.map +0 -1
- package/Components/FileBrowser.js.map +0 -1
- package/Components/FileViewer.js.map +0 -1
- package/Components/Icon.js.map +0 -1
- package/Components/IconPicker.js.map +0 -1
- package/Components/IconSelector.js.map +0 -1
- package/Components/Image.js.map +0 -1
- package/Components/JsonConfigComponent/ChipInput.d.ts +0 -12
- package/Components/JsonConfigComponent/ChipInput.js +0 -763
- package/Components/JsonConfigComponent/ChipInput.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigAccordion.d.ts +0 -15
- package/Components/JsonConfigComponent/ConfigAccordion.js +0 -348
- package/Components/JsonConfigComponent/ConfigAccordion.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigAlive.d.ts +0 -10
- package/Components/JsonConfigComponent/ConfigAlive.js +0 -105
- package/Components/JsonConfigComponent/ConfigAlive.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.d.ts +0 -37
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +0 -73
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.d.ts +0 -17
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +0 -131
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCRON.d.ts +0 -15
- package/Components/JsonConfigComponent/ConfigCRON.js +0 -157
- package/Components/JsonConfigComponent/ConfigCRON.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCertCollection.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigCertCollection.js +0 -128
- package/Components/JsonConfigComponent/ConfigCertCollection.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCertificateSelect.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +0 -149
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCertificates.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigCertificates.js +0 -284
- package/Components/JsonConfigComponent/ConfigCertificates.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCheckLicense.d.ts +0 -3
- package/Components/JsonConfigComponent/ConfigCheckLicense.js +0 -821
- package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.d.ts +0 -15
- package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -40
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigChip.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigChip.js +0 -120
- package/Components/JsonConfigComponent/ConfigChip.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigColor.d.ts +0 -22
- package/Components/JsonConfigComponent/ConfigColor.js +0 -120
- package/Components/JsonConfigComponent/ConfigColor.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -265
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigCustom.d.ts +0 -26
- package/Components/JsonConfigComponent/ConfigCustom.js +0 -316
- package/Components/JsonConfigComponent/ConfigCustom.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigDatePicker.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -91
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigDeviceManager.d.ts +0 -6
- package/Components/JsonConfigComponent/ConfigDeviceManager.js +0 -18
- package/Components/JsonConfigComponent/ConfigFile.d.ts +0 -15
- package/Components/JsonConfigComponent/ConfigFile.js +0 -228
- package/Components/JsonConfigComponent/ConfigFile.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigFileSelector.d.ts +0 -3
- package/Components/JsonConfigComponent/ConfigFileSelector.js +0 -625
- package/Components/JsonConfigComponent/ConfigFileSelector.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigFunc.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigFunc.js +0 -124
- package/Components/JsonConfigComponent/ConfigFunc.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigGeneric.d.ts +0 -95
- package/Components/JsonConfigComponent/ConfigGeneric.js +0 -646
- package/Components/JsonConfigComponent/ConfigIP.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigIP.js +0 -130
- package/Components/JsonConfigComponent/ConfigIP.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigImageSendTo.d.ts +0 -10
- package/Components/JsonConfigComponent/ConfigImageSendTo.js +0 -114
- package/Components/JsonConfigComponent/ConfigImageSendTo.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigImageUpload.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigImageUpload.js +0 -166
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +0 -264
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigInterface.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigInterface.js +0 -146
- package/Components/JsonConfigComponent/ConfigInterface.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.d.ts +0 -13
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +0 -145
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigLanguage.d.ts +0 -7
- package/Components/JsonConfigComponent/ConfigLanguage.js +0 -110
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigLicense.d.ts +0 -24
- package/Components/JsonConfigComponent/ConfigLicense.js +0 -183
- package/Components/JsonConfigComponent/ConfigLicense.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigNumber.d.ts +0 -17
- package/Components/JsonConfigComponent/ConfigNumber.js +0 -117
- package/Components/JsonConfigComponent/ConfigObjectId.d.ts +0 -17
- package/Components/JsonConfigComponent/ConfigObjectId.js +0 -167
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigPanel.d.ts +0 -3
- package/Components/JsonConfigComponent/ConfigPanel.js +0 -396
- package/Components/JsonConfigComponent/ConfigPanel.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigPassword.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigPassword.js +0 -193
- package/Components/JsonConfigComponent/ConfigPassword.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigPattern.d.ts +0 -21
- package/Components/JsonConfigComponent/ConfigPattern.js +0 -65
- package/Components/JsonConfigComponent/ConfigPattern.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigPort.d.ts +0 -3
- package/Components/JsonConfigComponent/ConfigPort.js +0 -176
- package/Components/JsonConfigComponent/ConfigRoom.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigRoom.js +0 -124
- package/Components/JsonConfigComponent/ConfigRoom.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigSelect.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigSelect.js +0 -159
- package/Components/JsonConfigComponent/ConfigSelect.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.d.ts +0 -17
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +0 -272
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigSendto.d.ts +0 -24
- package/Components/JsonConfigComponent/ConfigSendto.js +0 -294
- package/Components/JsonConfigComponent/ConfigSendto.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigSetState.d.ts +0 -18
- package/Components/JsonConfigComponent/ConfigSetState.js +0 -185
- package/Components/JsonConfigComponent/ConfigSetState.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigSlider.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigSlider.js +0 -119
- package/Components/JsonConfigComponent/ConfigSlider.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigStaticDivider.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -68
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigStaticHeader.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -81
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigStaticImage.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -71
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigStaticText.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigStaticText.js +0 -88
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigTable.d.ts +0 -3
- package/Components/JsonConfigComponent/ConfigTable.js +0 -1064
- package/Components/JsonConfigComponent/ConfigTable.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigTabs.d.ts +0 -34
- package/Components/JsonConfigComponent/ConfigTabs.js +0 -162
- package/Components/JsonConfigComponent/ConfigTabs.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigText.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigText.js +0 -226
- package/Components/JsonConfigComponent/ConfigText.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigTextSendTo.d.ts +0 -10
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -129
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigTimePicker.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -85
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigTopic.d.ts +0 -17
- package/Components/JsonConfigComponent/ConfigTopic.js +0 -110
- package/Components/JsonConfigComponent/ConfigTopic.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigUUID.d.ts +0 -15
- package/Components/JsonConfigComponent/ConfigUUID.js +0 -95
- package/Components/JsonConfigComponent/ConfigUUID.js.map +0 -1
- package/Components/JsonConfigComponent/ConfigUser.d.ts +0 -14
- package/Components/JsonConfigComponent/ConfigUser.js +0 -142
- package/Components/JsonConfigComponent/ConfigUser.js.map +0 -1
- package/Components/JsonConfigComponent/DeviceManager/Communication.d.ts +0 -63
- package/Components/JsonConfigComponent/DeviceManager/Communication.js +0 -268
- package/Components/JsonConfigComponent/DeviceManager/DeviceActionButton.d.ts +0 -11
- package/Components/JsonConfigComponent/DeviceManager/DeviceActionButton.js +0 -15
- package/Components/JsonConfigComponent/DeviceManager/DeviceCard.d.ts +0 -53
- package/Components/JsonConfigComponent/DeviceManager/DeviceCard.js +0 -340
- package/Components/JsonConfigComponent/DeviceManager/DeviceControl.d.ts +0 -45
- package/Components/JsonConfigComponent/DeviceManager/DeviceControl.js +0 -146
- package/Components/JsonConfigComponent/DeviceManager/DeviceImageUpload.d.ts +0 -12
- package/Components/JsonConfigComponent/DeviceManager/DeviceImageUpload.js +0 -69
- package/Components/JsonConfigComponent/DeviceManager/DeviceList.d.ts +0 -51
- package/Components/JsonConfigComponent/DeviceManager/DeviceList.js +0 -226
- package/Components/JsonConfigComponent/DeviceManager/DeviceStatus.d.ts +0 -13
- package/Components/JsonConfigComponent/DeviceManager/DeviceStatus.js +0 -111
- package/Components/JsonConfigComponent/DeviceManager/InstanceActionButton.d.ts +0 -7
- package/Components/JsonConfigComponent/DeviceManager/InstanceActionButton.js +0 -16
- package/Components/JsonConfigComponent/DeviceManager/JsonConfig.d.ts +0 -11
- package/Components/JsonConfigComponent/DeviceManager/JsonConfig.js +0 -94
- package/Components/JsonConfigComponent/DeviceManager/TooltipButton.d.ts +0 -10
- package/Components/JsonConfigComponent/DeviceManager/TooltipButton.js +0 -22
- package/Components/JsonConfigComponent/DeviceManager/Utils.d.ts +0 -12
- package/Components/JsonConfigComponent/DeviceManager/Utils.js +0 -158
- package/Components/JsonConfigComponent/DeviceManager/i18n/de.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/en.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/es.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/fr.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/i18n.d.ts +0 -26
- package/Components/JsonConfigComponent/DeviceManager/i18n/it.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/nl.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/pl.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/pt.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/ru.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/uk.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/i18n/zh-cn.json +0 -21
- package/Components/JsonConfigComponent/DeviceManager/index.d.ts +0 -2
- package/Components/JsonConfigComponent/DeviceManager/index.js +0 -10
- package/Components/JsonConfigComponent/DeviceManager/index.js.map +0 -1
- package/Components/JsonConfigComponent/Utils.d.ts +0 -9
- package/Components/JsonConfigComponent/Utils.js +0 -13
- package/Components/JsonConfigComponent/index.d.ts +0 -26
- package/Components/JsonConfigComponent/index.js +0 -520
- package/Components/JsonConfigComponent/index.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/AdminConnection.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/AdminConnection.js +0 -7
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Components/Icon.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Components/Icon.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Components/Utils.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Components/Utils.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js +0 -10
- package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/i18n.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/i18n.js +0 -10
- package/Components/JsonConfigComponent/wrapper/i18n.js.map +0 -1
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.d.ts +0 -2
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js +0 -10
- package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +0 -1
- package/Components/Loader.js.map +0 -1
- package/Components/Loaders/PT.js.map +0 -1
- package/Components/Loaders/Vendor.js.map +0 -1
- package/Components/Logo.js.map +0 -1
- package/Components/MDUtils.js.map +0 -1
- package/Components/Router.js.map +0 -1
- package/Components/SaveCloseButtons.js.map +0 -1
- package/Components/Schedule.js.map +0 -1
- package/Components/SelectWithIcon.js.map +0 -1
- package/Components/SimpleCron/cron2text.js.map +0 -1
- package/Components/SimpleCron/cronText.js.map +0 -1
- package/Components/SimpleCron/index.js.map +0 -1
- package/Components/SimpleCron/jquery.cron.locale.js.map +0 -1
- package/Components/TabContainer.js.map +0 -1
- package/Components/TabContent.js.map +0 -1
- package/Components/TabHeader.js.map +0 -1
- package/Components/TableResize.js.map +0 -1
- package/Components/TextWithIcon.js.map +0 -1
- package/Components/ToggleThemeMenu.js.map +0 -1
- package/Components/UploadImage.js.map +0 -1
- package/Components/Utils.js.map +0 -1
- package/Components/copy-to-clipboard.d.ts +0 -13
- package/Components/copy-to-clipboard.js +0 -156
- package/Components/copy-to-clipboard.js.map +0 -1
- package/Dialogs/ComplexCron.js.map +0 -1
- package/Dialogs/Confirm.js.map +0 -1
- package/Dialogs/Cron.js.map +0 -1
- package/Dialogs/Error.js.map +0 -1
- package/Dialogs/Message.js.map +0 -1
- package/Dialogs/SelectFile.js.map +0 -1
- package/Dialogs/SelectID.js.map +0 -1
- package/Dialogs/SimpleCron.js.map +0 -1
- package/Dialogs/TextInput.js.map +0 -1
- package/GenericApp.js.map +0 -1
- package/LegacyConnection.js.map +0 -1
- package/Prompt.js.map +0 -1
- package/Theme.js.map +0 -1
- package/i18n.js.map +0 -1
- package/icons/IconExpert.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectBrowser.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInlinesvg","_material","_iconsMaterial","_IconExpert","_IconAdapter","_IconAlias","_IconChannel","_IconCopy","_IconDevice","_IconDocument","_IconDocumentReadOnly","_IconInstance","_IconState","_IconClosed","_IconOpen","_IconClearFilter","_Connection","_Icon","_withWidth","_Utils","_TabContainer","_TabContent","_TabHeader","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","privateCollection","TypeError","_classPrivateFieldGet","s","_assertClassBrand","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","done","_e","f","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ICON_SIZE","ROW_HEIGHT","ITEM_LEVEL","SMALL_BUTTON_SIZE","COLOR_NAME_SYSTEM","COLOR_NAME_SYSTEM_ADAPTER","COLOR_NAME_ERROR_DARK","COLOR_NAME_ERROR_LIGHT","COLOR_NAME_CONNECTED_DARK","COLOR_NAME_CONNECTED_LIGHT","COLOR_NAME_DISCONNECTED_DARK","COLOR_NAME_DISCONNECTED_LIGHT","styles","theme","toolbar","minHeight","toolbarButtons","padding","marginLeft","switchColumnAuto","spacing","dialogColumns","transition","dialogColumnsLabel","fontSize","paddingTop","columnCustom","width","display","columnCustomEditable","cursor","columnCustomCenter","textAlign","columnCustomLeft","columnCustomRight","width100","transparent_10","opacity","transparent_20","transparent_30","transparent_40","transparent_50","transparent_60","transparent_70","transparent_80","transparent_90","transparent_100","columnsDialogInputWidth","headerRow","paddingLeft","height","whiteSpace","userSelect","buttonClearFilter","position","buttonClearFilterIcon","zIndex","top","left","color","tableDiv","concat","overflow","tableRow","lineHeight","verticalAlign","background","palette","mode","primary","dark","light","Utils","invertColor","main","flexWrap","tableRowLines","borderBottom","borderRight","tableRowNoDragging","tableRowAlias","tableRowAliasReadWrite","checkBox","cellId","textOverflow","marginTop","cellIdSpan","cellIdIconFolder","marginRight","secondary","cellIdIconDocument","cellIdIconOwn","cellIdTooltip","cellIdTooltipLink","cellCopyButton","right","cellEditButton","cellName","cellNameWithDesc","cellNameDivDiv","cellDescription","fontStyle","cellIdAlias","cellIdAliasReadWriteDiv","cellIdAliasAlone","cellIdAliasReadWrite","cellType","cellRole","cellRoom","cellEnumParent","cellFunc","cellValue","cellValueButton","transform","cellValueButtonFalse","cellAdapter","cellValueTooltip","cellValueText","cellValueFile","cellValueTooltipTitle","cellValueTooltipValue","cellValueTooltipBoth","cellValueTooltipBox","pointerEvents","tooltip","cellValueTextUnit","newValue","animation","cellValueTextState","cellValueTooltipCopy","bottom","cellValueTooltipEdit","cellButtons","cellButtonsButton","cellButtonsEmptyButton","cellButtonMinWidth","minWidth","cellButtonsButtonAlone","cellButtonsButtonWithCustoms","cellButtonsButtonWithoutCustoms","cellButtonsValueButton","action","active","cellButtonsValueButtonCopy","cellButtonsValueButtonEdit","parseInt","filteredOut","filteredParentOut","filterInput","marginBottom","selectIcon","selectNone","itemSelected","header","headerCell","headerCellValue","headerCellInput","headerCellSelectItem","visibleButtons","grow","flexGrow","enumIconDiv","borderRadius","enumIcon","enumDialog","enumList","enumButton","enumCheckbox","buttonDiv","alignItems","aclText","rightsObject","rightsState","textCenter","tooltipAccessControl","flexDirection","fontSizeTitle","draggable","nonDraggable","selectClearButton","backgroundColor","iconDeviceConnected","iconDeviceDisconnected","iconDeviceError","resizeHandle","resizeHandleRight","borderColor","borderRightStyle","resizeHandleLeft","borderLeft","borderLeftStyle","invertedBackground","invertedBackgroundFlex","contextMenuEdit","contextMenuEditValue","contextMenuView","contextMenuCustom","contextMenuACL","contextMenuRoom","contextMenuRole","contextMenuAlias","contextMenuDelete","contextMenuKeys","contextMenuWithSubMenu","walkThrough","object","iteratee","copiedObject","index","key","filterObject","filterKeys","excludeTranslations","result","undefined","includes","isObject","_typeof2","en","de","generateFile","filename","options","el","document","createElement","excludeSystemRepositories","filteredObject","data","beautify","JSON","stringify","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","binarySearch","list","find","_start","_end","middle","Math","floor","getName","lang","getSelectIdIcon","objects","id","imagePrefix","src","_id_","aIcon","common","icon","startsWith","className","cIcon","instance","type","split","applyFilter","item","filters","context","counter","customFilter","selectedTypes","_depth","toLowerCase","custom","role","room","members","func","_data$obj","_customFilter$common","_customFilter$common2","_customFilter$common3","_customFilter$common4","_customFilter$common5","expertMode","endsWith","expert","fID","fName","visible","hasVisibleChildren","children","_item","sumVisibility","count","hasVisibleParent","getVisibleItems","_result","_item$children","getSystemIcon","k","SettingsApplications","Photo","SupervisedUserCircle","PersonOutlined","Router","Wifi","Info","Description","getObjectTooltip","_data$obj2","desc","getIdFieldTooltip","classes","clsx","href","target","rel","buildTree","ids","sort","b","replace","root","currentPathArr","currentPath","currentPathLen","info","funcEnums","roomEnums","roles","types","customs","enums","hasSomeCustoms","croot","_loop","parts","_common$adminUI","supportCustoms","adminUI","substring","repeat","_obj$common","_obj$common2","_obj$common3","_obj$common4","curPath","_loop2","_croot","parent","level","generated","title","hasCustoms","button","write","move","splice","join","_objects$a","_objects$b","aName","pop","bName","_objects$a2","_objects$b2","findNode","_parts","_path","_level","found","_id","findRoomsForObject","withParentInfo","rooms","per","_iterator","_step","_data$objects$room","_common$members","origin","ownEnums","findEnumsForObjectAsIds","enumName","funcs","_data$objects$data$en","_common$members2","findFunctionsForObject","pef","_data$objects$data$fu","_common$members3","formatValue","dateFormat","state","isFloatComma","texts","states","getStates","isCommon","valText","v","val","match","isStringInteger","Date","parsedDate","isValidDate","_unused","round","unit","valFull","ack","ts","formatDate","lc","user","c","quality","quality2text","q","nbr","getValueStyle","isExpertMode","isButton","prepareSparkData","values","time","DEFAULT_FILTER","ITEM_IMAGES","channel","device","adapter","meta","ListAlt","chart","ShowChart","config","Settings","group","host","schedule","CalendarToday","script","Code","folder","StyledBadge","withStyles","badge","border","paper","Badge","SCREEN_WIDTHS","xs","idWidth","fields","widths","sm","md","buttons","lg","changedFrom","qualityCode","timestamp","lastChange","xl","objectsAlreadyLoaded","_NON_EXPERT_NAMESPACES","ObjectBrowser","_Component","props","_this","_classCallCheck2","contextMenu","now","preventDefault","setState","showContextMenu","console","log","findItem","pausedSubscribes","statesUpdateTimer","setTimeout","forceUpdate","clearTimeout","newState","event","_this$processOnObject","processOnObjectChangeElement","newInnerState","filtered","_this$processOnObject2","objectsUpdateTimer","_buildTree","lastAppliedFilter","_this$objects$_id","parse","mobile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","objId","_oldObj$common","newObj","oldObj","wrap","_callee$","_context","prev","socket","setObject","stop","_x","_x2","_ref2","_callee2","objs","_callee2$","_context2","t0","t1","hasOwn","abrupt","t2","_createAllEnums","t3","window","alert","getState","sent","def","t4","t5","t6","_x3","evt","files","FileReader","onload","_ref3","_callee3","contents","json","_callee3$","_context3","loadObjects","_x4","readAsText","selected","selectedNonObject","_this$objects$id","_this$objects$id2","acl","check","valueNum","arrayTooltipText","funcRenderStateObject","rights","ownerGroup","ownerUser","owner","map","resizerActiveDiv","widthNext","resizeLeft","resizerOldWidth","clientX","resizerPosition","resizerOldWidthNext","resizerMin","resizerNextMin","resizerCurrentWidths","resizerActiveName","resizerNextName","resizerNextDiv","columnsVisibility","scrollBarWidth","customWidth","resizeTimeout","_localStorage","localStorage","setItem","dialogName","removeEventListener","resizerMouseMove","resizerMouseUp","resizerActiveIndex","storedWidths","parentNode","dataset","previousElementSibling","handle","querySelector","nextElementSibling","min","offsetWidth","addEventListener","calculateColumnsVisibility","removeItem","lastSelectedItems","getItem","expanded","defaultFilters","_sessionStorage","sessionStorage","tableRef","createRef","filterRefs","selectedFound","subscribes","visibleCols","columns","pos","indexOf","possibleCols","customDialog","router","location","getLocation","dialog","pauseSubscribe","columnsWidths","foldersFirst","statesView","objectStatesView","error","loaded","filterKey","depth","expandAllVisible","toast","editObjectDialog","editObjectAlias","viewFileDialog","showAliasEditor","roleDialog","columnsForAdmin","columnsSelectorShow","columnsAuto","columnsDialogTransparent","columnsEditCustomDialog","customColumnDialogValueChanged","showExportDialog","showAllExportOptions","linesEnabled","showDescription","noStatesByExportImport","beautifyJsonExport","excludeSystemRepositoriesFromExport","edit","editObject","deleteObject","customConfig","copyState","editState","close","filter_id","filter_name","filter_type","filter_role","filter_room","filter_func","filter_custom","filterCustomsWithout","objectChangedByUser","objectChangedBy","objectChangedFrom","stateChangedBy","stateChangedFrom","deviceError","deviceDisconnected","deviceConnected","aclOwner_read_object","aclOwner_read_state","aclOwner_write_object","aclOwner_write_state","aclGroup_read_object","aclGroup_read_state","aclGroup_write_object","aclGroup_write_state","aclEveryone_read_object","aclEveryone_read_state","aclEveryone_write_object","aclEveryone_write_state","create","createBooleanState","createNumberState","createStringState","createState","createChannel","createDevice","createFolder","levelPadding","_inherits2","_createClass2","_loadAllObjects","_callee4","update","_this2","moreObjects","_buildTree2","node","_callee4$","_context4","Promise","resolve","updating","objectsWorker","getObjects","Connection","isWeb","getObjectViewSystem","assign","systemConfig","getObject","defaultNewAcl","filterFunc","defaultHistory","then","getAdditionalColumns","expandAllSelected","onAfterSelect","showError","loadAllObjects","_x5","isNonExpertId","saveNamespace","cb","_toConsumableArray2","changed","path","isDouble","_this3","getObjectName","language","onSelect","_componentDidMount","_callee5","_callee5$","_context5","registerHandler","onObjectChange","subscribeObject","onContextMenu","componentDidMount","componentWillUnmount","_this4","filterTimer","unregisterHandler","unsubscribeObject","pattern","unsubscribeState","onStateChange","showDeleteDialog","_item$children2","_obj$common5","start","onObjectDelete","dontDelete","refreshComponent","_this5","renderErrorDialog","_this6","Dialog","open","maxWidth","fullWidth","onClose","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","variant","onClick","autoFocus","startIcon","Check","toggleItem","_this7","multiSelect","_renderDefinedList","isLast","_this8","cols","unshift","ListItemButton","Checkbox","edge","disabled","checked","disableRipple","ListItemText","renderColumnsSelectorDialog","_this9","FormControlLabel","control","Switch","onChange","label","List","column","ListItemIcon","Close","_this10","getAdapters","instances","parseObjectForAdmins","checkUnsubscribes","recordStates","unsubscribe","_root","_partyId","shift","_this11","adminColumns","objTypes","warn","subscribe","subscribeState","isPause","_this12","onFilter","_this13","_name","current","tagName","onFilterChanged","clearFilter","_this14","childNodes","isFilterEmpty","_this15","someNotEmpty","attr","getFilterInput","_this16","_this$filterRefs$name","FormControl","margin","Input","ref","underline","placeholder","defaultValue","autoComplete","firstChild","IconButton","size","getFilterSelect","_this17","_this$filterRefs$name2","hasIcons","Select","inputProps","displayEmpty","MenuItem","newFilter","getFilterSelectRole","getFilterSelectRoom","_this18","_this18$objects$id","_this18$objects$id2","getFilterSelectFunction","_this19","_this19$objects$id","_this19$objects$id2","getFilterSelectType","getFilterSelectCustoms","_this20","onExpandAll","_this21","onCollapseAll","_this22","expandDepth","_this23","onExpandVisible","onStatesViewVisible","onCollapseVisible","collapseDepth","_getSelectedIdsForExport","idDot","idLen","_exportObjects2","_callee6","_iterator2","_step2","_result$key","_callee6$","_context6","isAll","getEnumsForId","finish","_exportObjects","_x6","renderExportDialog","_this24","Fragment","getToolbar","_this25","allowObjectCreation","Tooltip","popper","Refresh","showExpertButton","disableColumnSelector","ViewColumn","badgeContent","LooksOne","TextFields","objectAddBoolean","toolTipObjectCreating","modalNewObj","Add","objectImportExport","input","handleJsonUpload","Publish","objectBrowserEditObject","objectEditBoolean","doNavigate","Build","toggleExpanded","onCopy","text","stopPropagation","copyToClipboard","renderColumnButtons","_this26","_item$children4","_item$data$obj$common","_item$data$obj$common3","objectEditOfAccessControl","modalEditOfAccess","modalEditOfAccessObjData","_item$children3","Delete","cellButtonsButtonIcon","aclTooltip","renderTooltipAccessControl","aclSystemConfig","showEdit","Number","isNaN","Edit","_item$children5","_item$data$obj$common2","objectCustomDialog","readHistory","sparkline","setHours","getHours","setMinutes","setSeconds","setMilliseconds","nowMs","getTime","getHistory","end","addID","aggregate","sparks","getElementsByClassName","renderColumnValue","_obj$common6","_this27","fill","strokeWidth","copyText","RoomService","onOpen","_syncEnum","enumIds","newArray","_this$info$objects$en","_this28","enumId","promises","_this$info$objects$en2","_this$info$objects$en3","all","syncEnum","_this29","toCheck","renderEnumDialog","_this30","itemEnums","enumDialogEnums","enumsOriginal","_this30$objects$id","alt","Fab","labelId","ListItem","tabIndex","ListItemSecondaryAction","renderEditRoleDialog","_this31","objectBrowserEditRole","ObjectBrowserEditRole","onColumnsEditCustomDialogClose","isSave","_this32","customColumnDialog","parseFloat","setCustomValue","Error","renderColumnsEditCustomDialog","_this33","getCustomValue","initValue","onKeyUp","keyCode","defaultChecked","pathText","TextField","renderCustomValue","_this34","notEditable","align","renderLeaf","isExpanded","_this35","_common$alias","_common$alias2","_this$states$id2","_item$data","_item$data2","_this$states$id3","_this$states$id4","_this$states$id5","iconFolder","itemType","iconItem","typeImg","_findRoomsForObject","_findFunctionsForObje","checkbox","valueEditable","objectBrowserViewFile","enumEditable","checkVisibleObjectType","newValueTitle","_this$states$id","readWriteAlias","alias","read","scrollToItem","checkColor","invertBackground","themeName","distance","colorDistance","themeType","icons","statusStates","_this35$objects$_id","colorSet","errorId","onlineId","WifiOff","offlineId","useDesc","Grid","container","direction","dragEnabled","onMouseDown","isRightMB","which","onDoubleClick","adapterColumns","updateOpened","renderItem","_this36","items","leaf","DragWrapper","_this37","WIDTHS","nameHeader","widthSum","newWidth","reduce","accumulator","navigateKeyPress","selectedId","code","idx","newIdx","newId","_obj$common7","getItemFromRoot","idArr","currId","_iterator3","_step3","idEntry","renderHandleRight","resizerMouseDown","resizerReset","renderHeader","_this38","filterClearInValue","renderToast","_this39","Snackbar","autoHideDuration","message","componentDidUpdate","_this40","clientWidth","getElementById","scrollIntoView","behavior","block","inline","renderCustomDialog","_this41","ObjectCustomDialog","reportChangedIds","changedIds","objectIDs","customsInstances","onUpdate","valAck","_this42","expire","renderEditObjectDialog","_this43","ObjectBrowserEditObject","roleArray","aliasTab","onNewObject","updateAlias","_this43$objects$_this","_obj$common8","renderViewObjectFileDialog","_this44","ObjectBrowserViewFile","renderAliasEditorDialog","_this45","objectBrowserAliasEditor","ObjectBrowserAliasEditor","onRedirect","timeout","showAddDataPointDialog","initialType","initialStateType","renderContextMenu","_this46","_obj$common9","_obj$common10","_obj$common11","_obj$common12","_obj$common13","_item$children6","_obj$common15","showACL","createStateVisible","createChannelVisible","createDeviceVisible","createFolderVisible","ITEMS","EDIT","visibility","EDIT_VALUE","FormatItalic","VIEW","FindInPage","CUSTOM","ACL","iconStyle","listItemIconClass","ROLE","BorderColor","FUNCTION","BedroomParent","ROOM","Construction","ALIAS","Link","_obj$common14","CREATE","subMenu","CreateNewFolder","DELETE","subItem","subAnchor","ArrowRight","Menu","anchorEl","altKey","renderEditValueDialog","_this$objects$this$ed","_this47","objectBrowserValue","ObjectBrowserValue","res","render","_this48","unsubscribeTimer","jsonFilter","CircularProgress","onKeyDown","modalNewObject","modalEditOfAccessControl","getDerivedStateFromProps","p","Component","defaultProps","propTypes","PropTypes","string","oneOfType","array","bool","isRequired","number","_export","withWidth","_default","exports"],"sources":["ObjectBrowser.js"],"sourcesContent":["/**\r\n * Copyright 2020-2024, Denis Haev <dogafox@gmail.com>\r\n *\r\n * MIT License\r\n *\r\n **/\r\nimport React, { Component, createRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from '@mui/styles';\r\nimport SVG from 'react-inlinesvg';\r\n\r\nimport {\r\n Badge,\r\n Button,\r\n Checkbox,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogContentText,\r\n DialogTitle,\r\n Fab,\r\n FormControl,\r\n FormControlLabel,\r\n Grid,\r\n IconButton,\r\n Input,\r\n List,\r\n ListItem,\r\n ListItemButton,\r\n ListItemIcon,\r\n ListItemSecondaryAction,\r\n ListItemText,\r\n Menu,\r\n MenuItem,\r\n Select,\r\n Snackbar,\r\n Switch,\r\n TextField,\r\n Tooltip,\r\n} from '@mui/material';\r\n\r\n// Icons\r\nimport {\r\n Add as AddIcon,\r\n ArrowRight as ArrowRightIcon,\r\n BedroomParent,\r\n BorderColor,\r\n Build as BuildIcon,\r\n CalendarToday as IconSchedule,\r\n Check as IconCheck,\r\n Close as IconClose,\r\n Code as IconScript,\r\n Construction,\r\n CreateNewFolder as IconFolder,\r\n Delete as IconDelete,\r\n Description as IconMeta,\r\n Edit as IconEdit,\r\n Error as IconError,\r\n FindInPage,\r\n FormatItalic as IconValueEdit,\r\n Info as IconInfo,\r\n Link as IconLink,\r\n ListAlt as IconEnum,\r\n LooksOne as LooksOneIcon,\r\n PersonOutlined as IconUser,\r\n Photo as IconPhoto,\r\n Publish as PublishIcon,\r\n Refresh as RefreshIcon,\r\n RoomService as PressButtonIcon,\r\n Router as IconHost,\r\n Settings as IconConfig,\r\n SettingsApplications as IconSystem,\r\n ShowChart as IconChart,\r\n SupervisedUserCircle as IconGroup,\r\n TextFields as TextFieldsIcon,\r\n ViewColumn as IconColumns,\r\n Wifi as IconConnection,\r\n WifiOff as IconDisconnected,\r\n} from '@mui/icons-material';\r\n\r\nimport IconExpert from '../icons/IconExpert';\r\nimport IconAdapter from '../icons/IconAdapter';\r\nimport IconAlias from '../icons/IconAlias';\r\nimport IconChannel from '../icons/IconChannel';\r\nimport IconCopy from '../icons/IconCopy';\r\nimport IconDevice from '../icons/IconDevice';\r\nimport IconDocument from '../icons/IconDocument';\r\nimport IconDocumentReadOnly from '../icons/IconDocumentReadOnly';\r\nimport IconInstance from '../icons/IconInstance';\r\nimport IconState from '../icons/IconState';\r\nimport IconClosed from '../icons/IconClosed';\r\nimport IconOpen from '../icons/IconOpen';\r\nimport IconClearFilter from '../icons/IconClearFilter';\r\n\r\n// own\r\nimport Connection from '../Connection';\r\nimport Icon from './Icon';\r\nimport withWidth from './withWidth';\r\nimport Utils from './Utils';\r\nimport TabContainer from './TabContainer';\r\nimport TabContent from './TabContent';\r\nimport TabHeader from './TabHeader';\r\n\r\nconst ICON_SIZE = 24;\r\nconst ROW_HEIGHT = 32;\r\nconst ITEM_LEVEL = 16;\r\nconst SMALL_BUTTON_SIZE = 20;\r\nconst COLOR_NAME_SYSTEM = '#ff6d69';\r\nconst COLOR_NAME_SYSTEM_ADAPTER = '#5773ff';\r\nconst COLOR_NAME_ERROR_DARK = '#ff413c';\r\nconst COLOR_NAME_ERROR_LIGHT = '#86211f';\r\nconst COLOR_NAME_CONNECTED_DARK = '#57ff45';\r\nconst COLOR_NAME_CONNECTED_LIGHT = '#098c04';\r\nconst COLOR_NAME_DISCONNECTED_DARK = '#f3ad11';\r\nconst COLOR_NAME_DISCONNECTED_LIGHT = '#6c5008';\r\n\r\nconst styles = theme => ({\r\n toolbar: {\r\n minHeight: 38, // Theme.toolbar.height,\r\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\r\n },\r\n toolbarButtons: {\r\n padding: 4,\r\n marginLeft: 4,\r\n },\r\n switchColumnAuto: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n dialogColumns: {\r\n transition: 'opacity 1s',\r\n },\r\n dialogColumnsLabel: {\r\n fontSize: 12,\r\n paddingTop: theme.spacing(1),\r\n },\r\n columnCustom: {\r\n width: '100%',\r\n display: 'inline-block',\r\n },\r\n columnCustomEditable: {\r\n cursor: 'text',\r\n },\r\n columnCustomCenter: {\r\n textAlign: 'center',\r\n },\r\n columnCustomLeft: {\r\n textAlign: 'left',\r\n },\r\n columnCustomRight: {\r\n textAlign: 'right',\r\n },\r\n width100: {\r\n width: '100%',\r\n },\r\n transparent_10: {\r\n opacity: 0.1,\r\n },\r\n transparent_20: {\r\n opacity: 0.2,\r\n },\r\n transparent_30: {\r\n opacity: 0.3,\r\n },\r\n transparent_40: {\r\n opacity: 0.4,\r\n },\r\n transparent_50: {\r\n opacity: 0.5,\r\n },\r\n transparent_60: {\r\n opacity: 0.6,\r\n },\r\n transparent_70: {\r\n opacity: 0.7,\r\n },\r\n transparent_80: {\r\n opacity: 0.8,\r\n },\r\n transparent_90: {\r\n opacity: 0.9,\r\n },\r\n transparent_100: {\r\n opacity: 1,\r\n },\r\n columnsDialogInputWidth: {\r\n width: 80,\r\n },\r\n headerRow: {\r\n paddingLeft: theme.spacing(1),\r\n height: 38,\r\n whiteSpace: 'nowrap',\r\n userSelect: 'none',\r\n },\r\n buttonClearFilter: {\r\n position: 'relative',\r\n float: 'right',\r\n padding: 0,\r\n },\r\n buttonClearFilterIcon: {\r\n zIndex: 2,\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n color: '#FF0000',\r\n opacity: 0.7,\r\n },\r\n\r\n tableDiv: {\r\n paddingTop: 0, // theme.spacing(1),\r\n paddingLeft: 0,\r\n width: `calc(100% - ${theme.spacing(1)})`,\r\n height: 'calc(100% - 38px)',\r\n overflow: 'auto',\r\n },\r\n tableRow: {\r\n paddingLeft: theme.spacing(1),\r\n height: ROW_HEIGHT,\r\n lineHeight: `${ROW_HEIGHT}px`,\r\n verticalAlign: 'top',\r\n userSelect: 'none',\r\n width: '100%',\r\n '&:hover': {\r\n background: `${\r\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\r\n } !important`,\r\n color: Utils.invertColor(theme.palette.primary.main, true),\r\n },\r\n whiteSpace: 'nowrap',\r\n flexWrap: 'nowrap',\r\n },\r\n tableRowLines: {\r\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\r\n '& > div': {\r\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\r\n },\r\n },\r\n tableRowNoDragging: {\r\n cursor: 'pointer',\r\n },\r\n tableRowAlias: {\r\n height: ROW_HEIGHT + 10,\r\n },\r\n tableRowAliasReadWrite: {\r\n height: ROW_HEIGHT + 22,\r\n },\r\n checkBox: {\r\n padding: 0,\r\n },\r\n cellId: {\r\n position: 'relative',\r\n fontSize: '1rem',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n // verticalAlign: 'top',\r\n // position: 'relative',\r\n '& .copyButton': {\r\n display: 'none',\r\n },\r\n '&:hover .copyButton': {\r\n display: 'block',\r\n },\r\n '& .iconOwn': {\r\n display: 'block',\r\n width: ROW_HEIGHT - 4,\r\n height: ROW_HEIGHT - 4,\r\n marginTop: 2,\r\n float: 'right',\r\n },\r\n '&:hover .iconOwn': {\r\n display: 'none',\r\n },\r\n '& *': {\r\n width: 'initial',\r\n },\r\n },\r\n cellIdSpan: {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n // display: 'inline-block',\r\n // verticalAlign: 'top',\r\n },\r\n cellIdIconFolder: {\r\n marginRight: theme.spacing(1),\r\n width: ROW_HEIGHT - 4,\r\n height: ROW_HEIGHT - 4,\r\n cursor: 'pointer',\r\n color: theme.palette.secondary.main || '#fbff7d',\r\n verticalAlign: 'top',\r\n },\r\n cellIdIconDocument: {\r\n verticalAlign: 'middle',\r\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\r\n marginRight: theme.spacing(1),\r\n width: SMALL_BUTTON_SIZE,\r\n height: SMALL_BUTTON_SIZE,\r\n },\r\n cellIdIconOwn: {\r\n\r\n },\r\n cellIdTooltip: {\r\n fontSize: 14,\r\n },\r\n cellIdTooltipLink: {\r\n color: '#7ec2fd',\r\n '&:hover': {\r\n color: '#7ec2fd',\r\n },\r\n '&:visited': {\r\n color: '#7ec2fd',\r\n },\r\n },\r\n cellCopyButton: {\r\n width: SMALL_BUTTON_SIZE,\r\n height: SMALL_BUTTON_SIZE,\r\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\r\n opacity: 0.8,\r\n '&:hover': {\r\n opacity: 1,\r\n },\r\n position: 'absolute',\r\n right: 3,\r\n },\r\n cellEditButton: {\r\n width: SMALL_BUTTON_SIZE,\r\n height: SMALL_BUTTON_SIZE,\r\n color: 'white',\r\n position: 'absolute',\r\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\r\n right: SMALL_BUTTON_SIZE + 3,\r\n opacity: 0.7,\r\n '&:hover': {\r\n opacity: 1,\r\n },\r\n },\r\n cellName: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n fontSize: 14,\r\n marginLeft: 5,\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n position: 'relative',\r\n '& .copyButton': {\r\n display: 'none',\r\n },\r\n '&:hover .copyButton': {\r\n display: 'block',\r\n },\r\n },\r\n cellNameWithDesc: {\r\n lineHeight: 'normal',\r\n },\r\n cellNameDivDiv: {\r\n\r\n },\r\n cellDescription: {\r\n fontSize: 10,\r\n opacity: 0.5,\r\n fontStyle: 'italic',\r\n },\r\n cellIdAlias: {\r\n fontStyle: 'italic',\r\n fontSize: 12,\r\n opacity: 0.7,\r\n '&:hover': {\r\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\r\n },\r\n },\r\n cellIdAliasReadWriteDiv: {\r\n height: 24,\r\n marginTop: -5,\r\n },\r\n cellIdAliasAlone: {\r\n lineHeight: 0,\r\n },\r\n cellIdAliasReadWrite: {\r\n lineHeight: '12px',\r\n },\r\n cellType: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n '& .itemIcon': {\r\n verticalAlign: 'middle',\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n display: 'inline-block',\r\n },\r\n '& .itemIconFolder': {\r\n marginLeft: 3,\r\n },\r\n },\r\n cellRole: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n cellRoom: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n cellEnumParent: {\r\n opacity: 0.4,\r\n },\r\n cellFunc: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n cellValue: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n cellValueButton: {\r\n marginTop: 5,\r\n '&:active': {\r\n transform: 'scale(0.8)',\r\n },\r\n },\r\n cellValueButtonFalse: {\r\n opacity: 0.3,\r\n },\r\n cellAdapter: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n },\r\n cellValueTooltip: {\r\n fontSize: 12,\r\n },\r\n cellValueText: {\r\n width: '100%',\r\n height: ROW_HEIGHT,\r\n fontSize: 16,\r\n display: 'inline-block',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n position: 'relative',\r\n verticalAlign: 'top',\r\n '& .copyButton': {\r\n display: 'none',\r\n },\r\n '&:hover .copyButton': {\r\n display: 'block',\r\n },\r\n },\r\n cellValueFile: {\r\n color: '#2837b9',\r\n },\r\n cellValueTooltipTitle: {\r\n fontStyle: 'italic',\r\n width: 100,\r\n display: 'inline-block',\r\n },\r\n cellValueTooltipValue: {\r\n width: 120,\r\n display: 'inline-block',\r\n // overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n },\r\n cellValueTooltipBoth: {\r\n width: 220,\r\n display: 'inline-block',\r\n whiteSpace: 'nowrap',\r\n },\r\n cellValueTooltipBox: {\r\n width: 250,\r\n overflow: 'hidden',\r\n pointerEvents: 'none',\r\n },\r\n tooltip: {\r\n pointerEvents: 'none',\r\n },\r\n cellValueTextUnit: {\r\n marginLeft: theme.spacing(0.5),\r\n opacity: 0.8,\r\n },\r\n newValue: {\r\n animation: '$newValueAnimation 2s ease-in-out',\r\n },\r\n '@keyframes newValueAnimation': {\r\n '0%': {\r\n color: '#00f900',\r\n },\r\n '80%': {\r\n color: '#008000',\r\n },\r\n '100%': {\r\n color: theme.palette.mode === 'dark' ? '#fff' : '#000',\r\n },\r\n },\r\n cellValueTextState: {\r\n opacity: 0.7,\r\n },\r\n cellValueTooltipCopy: {\r\n position: 'absolute',\r\n bottom: 3,\r\n right: 3,\r\n },\r\n cellValueTooltipEdit: {\r\n position: 'absolute',\r\n bottom: 3,\r\n right: 15,\r\n },\r\n cellButtons: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n },\r\n cellButtonsButton: {\r\n display: 'inline-block',\r\n opacity: 0.7,\r\n width: SMALL_BUTTON_SIZE + 4,\r\n height: SMALL_BUTTON_SIZE + 4,\r\n '&:hover': {\r\n opacity: 1,\r\n },\r\n paddingTop: 0,\r\n paddingLeft: 0,\r\n marginTop: -2,\r\n },\r\n cellButtonsEmptyButton: {\r\n fontSize: 12,\r\n },\r\n cellButtonMinWidth: {\r\n minWidth: 47,\r\n },\r\n cellButtonsButtonAlone: {\r\n marginLeft: SMALL_BUTTON_SIZE + 4,\r\n paddingTop: 0,\r\n marginTop: -2,\r\n },\r\n cellButtonsButtonWithCustoms: {\r\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\r\n },\r\n cellButtonsButtonWithoutCustoms: {\r\n opacity: 0.2,\r\n },\r\n cellButtonsValueButton: {\r\n position: 'absolute',\r\n display: 'inline-block',\r\n top: SMALL_BUTTON_SIZE / 2 - 2,\r\n opacity: 0.7,\r\n width: SMALL_BUTTON_SIZE - 2,\r\n height: SMALL_BUTTON_SIZE - 2,\r\n color: theme.palette.action.active,\r\n '&:hover': {\r\n opacity: 1,\r\n },\r\n },\r\n cellButtonsValueButtonCopy: {\r\n right: theme.spacing(1),\r\n cursor: 'pointer',\r\n },\r\n cellButtonsValueButtonEdit: {\r\n right: SMALL_BUTTON_SIZE / 2 + parseInt(theme.spacing(2), 10),\r\n },\r\n\r\n filteredOut: {\r\n opacity: 0.5,\r\n },\r\n filteredParentOut: {\r\n opacity: 0.3,\r\n },\r\n filterInput: {\r\n marginTop: 0,\r\n marginBottom: 0,\r\n },\r\n selectIcon: {\r\n width: 24,\r\n height: 24,\r\n marginRight: 4,\r\n },\r\n selectNone: {\r\n opacity: 0.5,\r\n },\r\n itemSelected: {\r\n background: `${theme.palette.primary.main} !important`,\r\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\r\n },\r\n header: {\r\n width: '100%',\r\n },\r\n headerCell: {\r\n display: 'inline-block',\r\n verticalAlign: 'top',\r\n },\r\n headerCellValue: {\r\n paddingTop: 4,\r\n // paddingLeft: 5,\r\n fontSize: 16,\r\n },\r\n headerCellInput: {\r\n width: 'calc(100% - 5px)',\r\n height: ROW_HEIGHT,\r\n paddingTop: 3,\r\n '& .itemIcon': {\r\n verticalAlign: 'middle',\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n display: 'inline-block',\r\n },\r\n },\r\n headerCellSelectItem: {\r\n '& .itemIcon': {\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n marginRight: 5,\r\n display: 'inline-block',\r\n },\r\n },\r\n visibleButtons: {\r\n color: '#2196f3',\r\n opacity: 0.7,\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n enumIconDiv: {\r\n marginRight: theme.spacing(1),\r\n width: 32,\r\n height: 32,\r\n borderRadius: 8,\r\n background: '#FFFFFF',\r\n },\r\n enumIcon: {\r\n marginTop: 4,\r\n marginLeft: 4,\r\n width: 24,\r\n height: 24,\r\n },\r\n enumDialog: {\r\n overflow: 'hidden',\r\n },\r\n enumList: {\r\n minWidth: 250,\r\n height: 'calc(100% - 50px)',\r\n overflow: 'auto',\r\n },\r\n enumButton: {\r\n float: 'right',\r\n },\r\n enumCheckbox: {\r\n minWidth: 0,\r\n },\r\n buttonDiv: {\r\n display: 'flex',\r\n height: '100%',\r\n alignItems: 'center',\r\n },\r\n aclText: {\r\n fontSize: 13,\r\n },\r\n rightsObject: {\r\n color: '#55ff55',\r\n paddingLeft: 3,\r\n },\r\n rightsState: {\r\n color: '#86b6ff',\r\n paddingLeft: 3,\r\n },\r\n textCenter: {\r\n padding: 12,\r\n textAlign: 'center',\r\n },\r\n tooltipAccessControl: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n '@media screen and (max-width: 465px)': {\r\n columnsDialogInputWidth: {\r\n width: 50,\r\n },\r\n fontSizeTitle: {\r\n '& *': {\r\n fontSize: 12,\r\n },\r\n },\r\n },\r\n '@media screen and (max-width: 700px)': {\r\n\r\n },\r\n '@media screen and (max-width: 430px)': {\r\n\r\n },\r\n draggable: {\r\n cursor: 'copy',\r\n },\r\n nonDraggable: {\r\n cursor: 'no-drop',\r\n },\r\n selectClearButton: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n borderRadius: 20,\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n iconDeviceConnected: {\r\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\r\n opacity: 0.8,\r\n position: 'absolute',\r\n top: 4,\r\n right: 32,\r\n width: 20,\r\n },\r\n iconDeviceDisconnected: {\r\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\r\n opacity: 0.8,\r\n position: 'absolute',\r\n top: 4,\r\n right: 32,\r\n width: 20,\r\n },\r\n iconDeviceError: {\r\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\r\n opacity: 0.8,\r\n position: 'absolute',\r\n top: 4,\r\n right: 50,\r\n width: 20,\r\n },\r\n resizeHandle: {\r\n display: 'block',\r\n position: 'absolute',\r\n cursor: 'col-resize',\r\n width: 7,\r\n top: 2,\r\n bottom: 2,\r\n zIndex: 1,\r\n },\r\n resizeHandleRight: {\r\n right: 3,\r\n borderRight: '2px dotted #888',\r\n '&:hover': {\r\n borderColor: '#ccc',\r\n borderRightStyle: 'solid',\r\n },\r\n '&.active': {\r\n borderColor: '#517ea5',\r\n borderRightStyle: 'solid',\r\n },\r\n },\r\n resizeHandleLeft: {\r\n left: -4,\r\n borderLeft: '2px dotted #888',\r\n '&:hover': {\r\n borderColor: '#ccc',\r\n borderLeftStyle: 'solid',\r\n },\r\n '&.active': {\r\n borderColor: '#517ea5',\r\n borderLeftStyle: 'solid',\r\n },\r\n },\r\n invertedBackground: {\r\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\r\n padding: '0 3px',\r\n borderRadius: '2px 0 0 2px',\r\n },\r\n invertedBackgroundFlex: {\r\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\r\n borderRadius: '0 2px 2px 0',\r\n },\r\n contextMenuEdit: {\r\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\r\n },\r\n contextMenuEditValue: {\r\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\r\n },\r\n contextMenuView: {\r\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\r\n },\r\n contextMenuCustom: {\r\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\r\n },\r\n contextMenuACL: {\r\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\r\n },\r\n contextMenuRoom: {\r\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\r\n },\r\n contextMenuRole: {\r\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\r\n },\r\n contextMenuAlias: {\r\n color: theme.palette.mode === 'dark' ? '#5cabfb' : '#011ed0',\r\n },\r\n contextMenuDelete: {\r\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\r\n },\r\n contextMenuKeys: {\r\n marginLeft: theme.spacing(1),\r\n opacity: 0.7,\r\n fontSize: 'smaller',\r\n },\r\n contextMenuWithSubMenu: {\r\n display: 'flex',\r\n },\r\n});\r\n\r\n/**\r\n * Function that walks through all keys of an object or array and applies a function to each key.\r\n * @returns {unknown} The copied object\r\n */\r\nfunction walkThrough(object, iteratee) {\r\n if (Array.isArray(object)) {\r\n const copiedObject = [];\r\n for (let index = 0; index < object.length; index++) {\r\n iteratee(copiedObject, object[index], index);\r\n }\r\n return copiedObject;\r\n }\r\n\r\n const copiedObject = {};\r\n for (const key in object) {\r\n if (Object.prototype.hasOwnProperty.call(object, key)) {\r\n iteratee(copiedObject, object[key], key);\r\n }\r\n }\r\n return copiedObject;\r\n}\r\n\r\n/**\r\n * Function to reduce an object primarily by a given list of keys\r\n * @param obj The object which should be filtered\r\n * @param filterKeys The keys which should be excluded\r\n * @param excludeTranslations Whether translations should be reduced to only the english value\r\n * @returns {unknown} The filtered object\r\n */\r\nfunction filterObject(obj, filterKeys, excludeTranslations) {\r\n return walkThrough(obj, (result, value, key) => {\r\n if (value === undefined || value === null) {\r\n return;\r\n }\r\n if (typeof key === 'string' && filterKeys.includes(key)) {\r\n return;\r\n }\r\n // if the key is an object, run it through the inner function - omitFromObject\r\n const isObject = typeof value === 'object';\r\n if (excludeTranslations && isObject) {\r\n if (typeof value.en === 'string' && typeof value.de === 'string') {\r\n result[key] = value.en;\r\n return;\r\n }\r\n }\r\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\r\n });\r\n}\r\n\r\n/**\r\n * Function to generate a json-file for an object and trigger download it\r\n * @param filename {string} The desired filename\r\n * @param obj {unknown} The obj which should be downloaded\r\n * @param options Options to filter/reduce the output\r\n * @param options.beautify {boolean} Whether the output should be beautified\r\n * @param options.excludeSystemRepositories {boolean} Whether \"system.repositories\" should be excluded\r\n * @param options.excludeTranslations {boolean} Whether translations should be reduced to only the english value\r\n */\r\nfunction generateFile(filename, obj, options) {\r\n const el = document.createElement('a');\r\n const filterKeys = [];\r\n if (options.excludeSystemRepositories) {\r\n filterKeys.push('system.repositories');\r\n }\r\n const filteredObject = filterKeys.length > 0 || options.excludeTranslations ? filterObject(obj, filterKeys, options.excludeTranslations) : obj;\r\n const data = options.beautify ? JSON.stringify(filteredObject, null, 2) : JSON.stringify(filteredObject);\r\n el.setAttribute('href', `data:application/json;charset=utf-8,${encodeURIComponent(data)}`);\r\n el.setAttribute('download', filename);\r\n\r\n el.style.display = 'none';\r\n document.body.appendChild(el);\r\n\r\n el.click();\r\n\r\n document.body.removeChild(el);\r\n}\r\n\r\n// d=data, t=target, s=start, e=end, m=middle\r\nfunction binarySearch(list, find, _start, _end) {\r\n _start = _start || 0;\r\n if (_end === undefined) {\r\n _end = list.length - 1;\r\n if (!_end) {\r\n return list[0] === find;\r\n }\r\n }\r\n const middle = Math.floor((_start + _end) / 2);\r\n if (find === list[middle]) {\r\n return list[middle];\r\n }\r\n if (_end - 1 === _start) {\r\n return list[_start] === find || list[_end] === find;\r\n }\r\n if (find > list[middle]) {\r\n return binarySearch(list, find, middle, _end);\r\n }\r\n if (find < list[middle]) {\r\n return binarySearch(list, find, _start, middle);\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Check if browser is running on iOS\r\n *\r\n * @return {boolean}\r\n */\r\n// function isIOS() {\r\n// return [\r\n// 'iPad Simulator',\r\n// 'iPhone Simulator',\r\n// 'iPod Simulator',\r\n// 'iPad',\r\n// 'iPhone',\r\n// 'iPod',\r\n// ].includes(navigator.platform)\r\n// // iPad on iOS 13 detection\r\n// || (navigator.userAgent.includes('Mac') && 'ontouchend' in document);\r\n// }\r\n\r\nfunction getName(name, lang) {\r\n if (name && typeof name === 'object') {\r\n return (name[lang] || name.en || '').toString();\r\n }\r\n\r\n return (name || '').toString();\r\n}\r\n\r\nfunction getSelectIdIcon(objects, id, imagePrefix) {\r\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\r\n let src = '';\r\n const _id_ = `system.adapter.${id}`;\r\n const aIcon = id && objects[_id_] && objects[_id_].common && objects[_id_].common.icon;\r\n if (aIcon) {\r\n // if not BASE64\r\n if (!aIcon.startsWith('data:image/')) {\r\n if (aIcon.includes('.')) {\r\n src = `${imagePrefix}/adapter/${objects[_id_].common.name}/${aIcon}`;\r\n } else if (aIcon && aIcon.length < 3) {\r\n return aIcon; // utf-8\r\n } else {\r\n return null; // '<i class=\"material-icons iob-list-icon\">' + objects[_id_].common.icon + '</i>';\r\n }\r\n } else if (aIcon.startsWith('data:image/svg')) {\r\n src = <SVG className=\"iconOwn\" src={aIcon} width={28} height={28} />;\r\n } else {\r\n src = aIcon;\r\n }\r\n } else {\r\n const common = objects[id] && objects[id].common;\r\n\r\n if (common) {\r\n const cIcon = common.icon;\r\n if (cIcon) {\r\n if (!cIcon.startsWith('data:image/')) {\r\n if (cIcon.includes('.')) {\r\n let instance;\r\n if (objects[id].type === 'instance' || objects[id].type === 'adapter') {\r\n src = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\r\n } else if (id && id.startsWith('system.adapter.')) {\r\n instance = id.split('.', 3);\r\n if (cIcon[0] === '/') {\r\n instance[2] += cIcon;\r\n } else {\r\n instance[2] += `/${cIcon}`;\r\n }\r\n src = `${imagePrefix}/adapter/${instance[2]}`;\r\n } else {\r\n instance = id.split('.', 2);\r\n if (cIcon[0] === '/') {\r\n instance[0] += cIcon;\r\n } else {\r\n instance[0] += `/${cIcon}`;\r\n }\r\n src = `${imagePrefix}/adapter/${instance[0]}`;\r\n }\r\n } else if (aIcon && aIcon.length < 3) {\r\n return aIcon; // utf-8\r\n } else {\r\n return null;\r\n }\r\n } else if (cIcon.startsWith('data:image/svg')) {\r\n // if base 64 image\r\n src = <SVG className=\"iconOwn\" src={cIcon} width={28} height={28} />;\r\n } else {\r\n src = cIcon;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return src || null;\r\n}\r\n\r\nfunction applyFilter(item, filters, lang, objects, context, counter, customFilter, selectedTypes, _depth) {\r\n _depth = _depth || 0;\r\n let filteredOut = false;\r\n if (!context) {\r\n context = {};\r\n if (filters.id) {\r\n context.id = filters.id.toLowerCase();\r\n }\r\n if (filters.name) {\r\n context.name = filters.name.toLowerCase();\r\n }\r\n if (filters.type) {\r\n context.type = filters.type.toLowerCase();\r\n }\r\n if (filters.custom) {\r\n context.custom = filters.custom.toLowerCase();\r\n }\r\n if (filters.role) {\r\n context.role = filters.role.toLowerCase();\r\n }\r\n if (filters.room) {\r\n context.room =\r\n (objects[filters.room] && objects[filters.room].common && objects[filters.room].common.members) || [];\r\n }\r\n if (filters.func) {\r\n context.func =\r\n (objects[filters.func] && objects[filters.func].common && objects[filters.func].common.members) || [];\r\n }\r\n }\r\n\r\n const data = item.data;\r\n\r\n if (data && data.id) {\r\n const common = data.obj?.common;\r\n\r\n if (customFilter) {\r\n if (customFilter.type) {\r\n if (typeof customFilter.type === 'string') {\r\n if (!data.obj || customFilter.type !== data.obj.type) {\r\n filteredOut = true;\r\n }\r\n } else if (Array.isArray(customFilter.type)) {\r\n if (!data.obj || !customFilter.type.includes(data.obj.type)) {\r\n filteredOut = true;\r\n }\r\n }\r\n }\r\n if (!filteredOut && customFilter.common?.type) {\r\n if (!common?.type) {\r\n filteredOut = true;\r\n } else if (typeof customFilter.common.type === 'string') {\r\n if (customFilter.common.type !== common.type) {\r\n filteredOut = true;\r\n }\r\n } else if (Array.isArray(customFilter.common.type)) {\r\n if (!customFilter.type.includes(common.type)) {\r\n filteredOut = true;\r\n }\r\n }\r\n }\r\n if (!filteredOut && customFilter.common?.role) {\r\n if (!common?.role) {\r\n filteredOut = true;\r\n } else if (typeof customFilter.common.role === 'string') {\r\n if (common.role.startsWith(customFilter.common.role)) {\r\n filteredOut = true;\r\n }\r\n } else if (Array.isArray(customFilter.common.role)) {\r\n if (!customFilter.common.role.find(role => customFilter.role.includes(role))) {\r\n filteredOut = true;\r\n }\r\n }\r\n }\r\n if (!filteredOut && customFilter.common?.custom === '_' && common?.custom) {\r\n filteredOut = true;\r\n }\r\n\r\n if (!filteredOut && customFilter.common?.custom && customFilter.common?.custom !== '_') {\r\n if (!common?.custom) {\r\n filteredOut = true;\r\n } else if (customFilter.common.custom === '_dataSources') {\r\n // TODO: make it configurable\r\n if (\r\n !Object.keys(common.custom).find(\r\n id => id.startsWith('history.') || id.startsWith('sql.') || id.startsWith('influxdb.'),\r\n )\r\n ) {\r\n filteredOut = true;\r\n }\r\n } else if (\r\n customFilter.common.custom !== true &&\r\n !Object.keys(common.custom).find(id => id.startsWith(customFilter.common.custom))\r\n ) {\r\n filteredOut = true;\r\n }\r\n }\r\n }\r\n\r\n if (!filteredOut && !filters.expertMode) {\r\n filteredOut =\r\n data.id === 'system' ||\r\n data.id === 'enum' ||\r\n // (data.obj && data.obj.type === 'meta') ||\r\n data.id.startsWith('system.') ||\r\n data.id.startsWith('enum.') ||\r\n data.id.startsWith('_design/') ||\r\n data.id.endsWith('.admin') ||\r\n (common && common.expert);\r\n }\r\n if (!filteredOut && context.id) {\r\n if (data.fID === undefined) {\r\n data.fID = data.id.toLowerCase();\r\n }\r\n filteredOut = !data.fID.includes(context.id);\r\n }\r\n if (!filteredOut && context.name) {\r\n if (common) {\r\n if (data.fName === undefined) {\r\n data.fName = (common && getName(common.name, lang)) || '';\r\n data.fName = data.fName.toLowerCase();\r\n }\r\n filteredOut = !data.fName.includes(context.name);\r\n } else {\r\n filteredOut = true;\r\n }\r\n }\r\n if (!filteredOut && filters.role && common) {\r\n if (common) {\r\n filteredOut = !(common.role && common.role.startsWith(context.role));\r\n } else {\r\n filteredOut = true;\r\n }\r\n }\r\n if (!filteredOut && context.room) {\r\n filteredOut = !context.room.find(id => id === data.id || data.id.startsWith(`${id}.`));\r\n }\r\n if (!filteredOut && context.func) {\r\n filteredOut = !context.func.find(id => id === data.id || data.id.startsWith(`${id}.`));\r\n }\r\n if (!filteredOut && context.type) {\r\n filteredOut = !(data.obj && data.obj.type && data.obj.type === context.type);\r\n }\r\n if (!filteredOut && selectedTypes) {\r\n filteredOut = !(data.obj && data.obj.type && selectedTypes.includes(data.obj.type));\r\n }\r\n if (!filteredOut && context.custom) {\r\n if (common) {\r\n if (context.custom === '_') {\r\n filteredOut = !!common.custom;\r\n } else {\r\n filteredOut = !common.custom || !common.custom[context.custom];\r\n }\r\n } else {\r\n filteredOut = true;\r\n }\r\n }\r\n }\r\n\r\n data.visible = !filteredOut;\r\n\r\n data.hasVisibleChildren = false;\r\n if (item.children && _depth < 20) {\r\n item.children.forEach(_item => {\r\n const visible = applyFilter(\r\n _item,\r\n filters,\r\n lang,\r\n objects,\r\n context,\r\n counter,\r\n customFilter,\r\n selectedTypes,\r\n _depth + 1,\r\n );\r\n if (visible) {\r\n data.hasVisibleChildren = true;\r\n }\r\n });\r\n }\r\n\r\n // const visible = data.visible || data.hasVisibleChildren;\r\n data.sumVisibility = data.visible || data.hasVisibleChildren; // || data.hasVisibleParent;\r\n if (counter && data.sumVisibility) {\r\n counter.count++;\r\n }\r\n\r\n // show all children of visible object with opacity 0.5\r\n if (data.id && data.sumVisibility && item.children) {\r\n item.children.forEach(_item => (_item.data.hasVisibleParent = true));\r\n }\r\n\r\n return data.visible || data.hasVisibleChildren;\r\n}\r\n\r\nfunction getVisibleItems(item, type, objects, _result) {\r\n _result = _result || [];\r\n const data = item.data;\r\n if (data.sumVisibility) {\r\n data.id && objects[data.id] && (!type || objects[data.id].type === type) && _result.push(data.id);\r\n item.children?.forEach(_item =>\r\n getVisibleItems(_item, type, objects, _result));\r\n }\r\n\r\n return _result;\r\n}\r\n\r\nfunction getSystemIcon(objects, id, k, imagePrefix) {\r\n let icon;\r\n\r\n // system or design have special icons\r\n if (id.startsWith('_design/') || id === 'system') {\r\n icon = <IconSystem className=\"iconOwn\" />;\r\n } else if (id === '0_userdata' || id === '0_userdata.0') {\r\n icon = <IconPhoto className=\"iconOwn\" />;\r\n } else if (id === 'alias' || id === 'alias.0') {\r\n icon = <IconAlias className=\"iconOwn\" />;\r\n } else if (id === 'system.adapter') {\r\n icon = <IconSystem className=\"iconOwn\" />;\r\n } else if (id === 'system.group') {\r\n icon = <IconGroup className=\"iconOwn\" />;\r\n } else if (id === 'system.user') {\r\n icon = <IconUser className=\"iconOwn\" />;\r\n } else if (id === 'system.host') {\r\n icon = <IconHost className=\"iconOwn\" />;\r\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\r\n icon = <IconConnection className=\"iconOwn\" />;\r\n } else if (id.endsWith('.info')) {\r\n icon = <IconInfo className=\"iconOwn\" />;\r\n } else if (objects[id] && objects[id].type === 'meta') {\r\n icon = <IconMeta className=\"iconOwn\" />;\r\n } else if (k < 2) {\r\n // detect \"cloud.0\"\r\n if (objects[`system.adapter.${id}`]) {\r\n icon = getSelectIdIcon(objects, `system.adapter.${id}`, imagePrefix);\r\n }\r\n }\r\n\r\n return icon || null;\r\n}\r\n\r\nfunction getObjectTooltip(data, lang) {\r\n if (!data) {\r\n return null;\r\n }\r\n if (data.obj?.common?.desc) {\r\n let tooltip = '';\r\n\r\n if (typeof data.obj.common.desc === 'object') {\r\n tooltip = data.obj.common.desc[lang] || data.obj.common.desc.en;\r\n } else {\r\n tooltip = data.obj.common.desc;\r\n }\r\n if (!tooltip) {\r\n return null;\r\n }\r\n\r\n return tooltip.toString();\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction getIdFieldTooltip(data, classes, lang) {\r\n const tooltip = getObjectTooltip(data, lang);\r\n if (tooltip?.startsWith('http')) {\r\n return <a\r\n className={Utils.clsx(classes.cellIdTooltipLink)}\r\n href={tooltip}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n {tooltip}\r\n </a>;\r\n }\r\n return <span className={Utils.clsx(classes.cellIdTooltip)}>{tooltip || data.id || ''}</span>;\r\n}\r\n\r\nfunction buildTree(objects, options) {\r\n options = options || {};\r\n const imagePrefix = options.imagePrefix || '.';\r\n\r\n let ids = Object.keys(objects);\r\n\r\n ids.sort((a, b) => {\r\n if (a === b) {\r\n return 0;\r\n }\r\n a = a.replace(/\\./g, '!!!');\r\n b = b.replace(/\\./g, '!!!');\r\n if (a > b) {\r\n return 1;\r\n }\r\n return -1;\r\n });\r\n\r\n if (options.root) {\r\n ids = ids.filter(id => id === options.root || id.startsWith(`${options.root}.`));\r\n }\r\n\r\n // find empty nodes and create names for it\r\n let currentPathArr = [];\r\n let currentPath = '';\r\n let currentPathLen = 0;\r\n const root = {\r\n data: {\r\n name: '',\r\n id: '',\r\n },\r\n children: [],\r\n };\r\n\r\n const info = {\r\n funcEnums: [],\r\n roomEnums: [],\r\n roles: [],\r\n ids: [],\r\n types: [],\r\n objects,\r\n customs: ['_'],\r\n enums: [],\r\n hasSomeCustoms: false,\r\n };\r\n\r\n let croot = root;\r\n\r\n for (let i = 0; i < ids.length; i++) {\r\n const id = ids[i];\r\n if (!id) {\r\n continue;\r\n }\r\n const obj = objects[id];\r\n const parts = id.split('.');\r\n\r\n if (obj.type && !info.types.includes(obj.type)) {\r\n info.types.push(obj.type);\r\n }\r\n\r\n if (obj) {\r\n const common = obj.common;\r\n const role = common && common.role;\r\n if (role && !info.roles.includes(role)) {\r\n info.roles.push(role);\r\n } else if (id.startsWith('enum.rooms.')) {\r\n info.roomEnums.push(id);\r\n info.enums.push(id);\r\n } else if (id.startsWith('enum.functions.')) {\r\n info.funcEnums.push(id);\r\n info.enums.push(id);\r\n } else if (obj.type === 'enum') {\r\n info.enums.push(id);\r\n } else if (obj.type === 'instance' && common && (common.supportCustoms || common.adminUI?.custom)) {\r\n info.hasSomeCustoms = true;\r\n info.customs.push(id.substring('system.adapter.'.length));\r\n }\r\n }\r\n\r\n info.ids.push(id);\r\n\r\n let repeat;\r\n\r\n // if next level\r\n do {\r\n repeat = false;\r\n\r\n // If the current level is still OK, and we can add ID to children\r\n if (!currentPath || id.startsWith(`${currentPath}.`)) {\r\n // if more than one level added\r\n if (parts.length - currentPathLen > 1) {\r\n let curPath = currentPath;\r\n // generate missing levels\r\n for (let k = currentPathLen; k < parts.length - 1; k++) {\r\n curPath += (curPath ? '.' : '') + parts[k];\r\n // level does not exist\r\n if (!binarySearch(info.ids, curPath)) {\r\n const _croot = {\r\n data: {\r\n name: parts[k],\r\n parent: croot,\r\n id: curPath,\r\n obj: objects[curPath],\r\n level: k,\r\n icon: getSystemIcon(objects, curPath, k, imagePrefix),\r\n generated: true,\r\n },\r\n };\r\n\r\n croot.children = croot.children || [];\r\n croot.children.push(_croot);\r\n croot = _croot;\r\n info.ids.push(curPath); // IDs will be added by alphabet\r\n } else {\r\n croot = croot.children.find(item => item.data.name === parts[k]);\r\n }\r\n }\r\n }\r\n\r\n const _croot = {\r\n data: {\r\n name: parts[parts.length - 1],\r\n title: getName(obj?.common?.name, options.lang),\r\n obj,\r\n parent: croot,\r\n icon: getSelectIdIcon(objects, id, imagePrefix) || getSystemIcon(objects, id, 0, imagePrefix),\r\n id,\r\n hasCustoms: obj.common?.custom && Object.keys(obj.common.custom).length,\r\n level: parts.length - 1,\r\n generated: false,\r\n button: obj.type === 'state' &&\r\n obj.common?.role &&\r\n typeof obj.common.role === 'string' &&\r\n obj.common.role.startsWith('button') &&\r\n obj.common?.write !== false,\r\n },\r\n };\r\n\r\n croot.children = croot.children || [];\r\n croot.children.push(_croot);\r\n croot = _croot;\r\n\r\n currentPathLen = parts.length;\r\n currentPathArr = parts;\r\n currentPath = id;\r\n } else {\r\n let u = 0;\r\n\r\n while (currentPathArr[u] === parts[u]) {\r\n u++;\r\n }\r\n\r\n if (u > 0) {\r\n let move = currentPathArr.length;\r\n currentPathArr = currentPathArr.splice(0, u);\r\n currentPathLen = u;\r\n currentPath = currentPathArr.join('.');\r\n while (move > u) {\r\n croot = croot.data.parent;\r\n move--;\r\n }\r\n } else {\r\n croot = root;\r\n currentPathArr = [];\r\n currentPath = '';\r\n currentPathLen = 0;\r\n }\r\n repeat = true;\r\n }\r\n } while (repeat);\r\n }\r\n\r\n info.roomEnums.sort((a, b) => {\r\n const aName = getName(objects[a]?.common?.name || a.split('.').pop());\r\n const bName = getName(objects[b]?.common?.name || b.split('.').pop());\r\n if (aName > bName) {\r\n return 1;\r\n }\r\n if (aName < bName) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n info.funcEnums.sort((a, b) => {\r\n const aName = getName(objects[a]?.common?.name || a.split('.').pop());\r\n const bName = getName(objects[b]?.common?.name || b.split('.').pop());\r\n if (aName > bName) {\r\n return 1;\r\n }\r\n if (aName < bName) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n info.roles.sort();\r\n info.types.sort();\r\n\r\n return { info, root };\r\n}\r\n\r\nfunction findNode(root, id, _parts, _path, _level) {\r\n if (root.data.id === id) {\r\n return root;\r\n }\r\n if (!_parts) {\r\n _parts = id.split('.');\r\n _level = 0;\r\n _path = _parts[_level];\r\n }\r\n if (!root.children && root.data.id !== id) {\r\n return null;\r\n }\r\n let found;\r\n for (let i = 0; i < root.children.length; i++) {\r\n const _id = root.children[i].data.id;\r\n if (_id === _path) {\r\n found = root.children[i];\r\n break;\r\n } else if (_id > _path) {\r\n break;\r\n }\r\n }\r\n if (found) {\r\n return findNode(found, id, _parts, `${_path}.${_parts[_level + 1]}`, _level + 1);\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction findRoomsForObject(data, id, lang, withParentInfo, rooms) {\r\n if (!id) {\r\n return { rooms: [], per: false };\r\n }\r\n rooms = rooms || [];\r\n for (const room of data.roomEnums) {\r\n const common = data.objects[room]?.common;\r\n\r\n if (!common) {\r\n continue;\r\n }\r\n\r\n const name = getName(common.name, lang);\r\n\r\n if (common.members?.includes(id) && !rooms.includes(name)) {\r\n if (!withParentInfo) {\r\n rooms.push(name);\r\n } else {\r\n rooms.push({ name, origin: id });\r\n }\r\n }\r\n }\r\n\r\n let ownEnums;\r\n\r\n // Check parent\r\n const parts = id.split('.');\r\n parts.pop();\r\n id = parts.join('.');\r\n if (data.objects[id]) {\r\n ownEnums = rooms.length;\r\n findRoomsForObject(data, id, lang, withParentInfo, rooms);\r\n }\r\n\r\n return { rooms, per: !ownEnums }; // pe is if the enums are from parent\r\n}\r\n\r\nfunction findEnumsForObjectAsIds(data, id, enumName, funcs) {\r\n if (!id) {\r\n return [];\r\n }\r\n funcs = funcs || [];\r\n for (let i = 0; i < data[enumName].length; i++) {\r\n const common = data.objects[data[enumName][i]]?.common;\r\n if (common?.members?.includes(id) && !funcs.includes(data[enumName][i])) {\r\n funcs.push(data[enumName][i]);\r\n }\r\n }\r\n funcs.sort();\r\n\r\n return funcs;\r\n}\r\n\r\nfunction findFunctionsForObject(data, id, lang, withParentInfo, funcs) {\r\n if (!id) {\r\n return { funcs: [], pef: false };\r\n }\r\n funcs = funcs || [];\r\n for (let i = 0; i < data.funcEnums.length; i++) {\r\n const common = data.objects[data.funcEnums[i]]?.common;\r\n\r\n if (!common) {\r\n continue;\r\n }\r\n\r\n const name = getName(common.name, lang);\r\n if (common.members?.includes(id) && !funcs.includes(name)) {\r\n if (!withParentInfo) {\r\n funcs.push(name);\r\n } else {\r\n funcs.push({ name, origin: id });\r\n }\r\n }\r\n }\r\n\r\n let ownEnums;\r\n\r\n // Check parent\r\n const parts = id.split('.');\r\n parts.pop();\r\n id = parts.join('.');\r\n if (data.objects[id]) {\r\n ownEnums = funcs.length;\r\n findFunctionsForObject(data, id, lang, withParentInfo, funcs);\r\n }\r\n\r\n return { funcs, pef: !ownEnums };\r\n}\r\n\r\n/*\r\nfunction quality2text(q) {\r\n if (!q) {\r\n return 'ok';\r\n }\r\n const custom = q & 0xFFFF0000;\r\n let text = '';\r\n if (q & 0x40) text += 'device';\r\n if (q & 0x80) text += 'sensor';\r\n if (q & 0x01) text += ' bad';\r\n if (q & 0x02) text += ' not connected';\r\n if (q & 0x04) text += ' error';\r\n\r\n return text + (custom ? '|0x' + (custom >> 16).toString(16).toUpperCase() : '') + ' [0x' + q.toString(16).toUpperCase() + ']';\r\n}\r\n*/\r\n\r\n/** @typedef {{ state: ioBroker.State, obj: Record<string, any>, texts: Record<string, any>, dateFormat: any, isFloatComma: boolean }} FormatValueOptions */\r\n\r\n/**\r\n * Format a state value for visualization\r\n *\r\n * @param {FormatValueOptions} options\r\n * @return {{valText: {}, valFull: [{t: (*|String), v: (string|*)}] }}\r\n */\r\nfunction formatValue(options) {\r\n const {\r\n dateFormat, obj, state, isFloatComma, texts,\r\n } = options;\r\n const states = Utils.getStates(obj);\r\n const isCommon = obj.common;\r\n\r\n const valText = {};\r\n let v =\r\n isCommon && isCommon.type === 'file'\r\n ? '[file]'\r\n : !state || state.val === null\r\n ? '(null)'\r\n : state.val === undefined\r\n ? '[undef]'\r\n : state.val;\r\n const type = typeof v;\r\n\r\n if (isCommon?.role && typeof isCommon.role === 'string' && isCommon.role.match(/^value\\.time|^date/)) {\r\n if (v && typeof v === 'string') {\r\n if (Utils.isStringInteger(v)) {\r\n // we assume a unix ts\r\n v = new Date(parseInt(v, 10)).toString();\r\n } else {\r\n // check if parsable by new date\r\n try {\r\n const parsedDate = new Date(v);\r\n\r\n if (Utils.isValidDate(parsedDate)) {\r\n v = parsedDate.toString();\r\n }\r\n } catch {\r\n // ignore\r\n }\r\n }\r\n } else {\r\n if (v > 946681200 && v < 946681200000) {\r\n // '2000-01-01T00:00:00' => 946681200000\r\n v *= 1_000; // maybe the time is in seconds (UNIX time)\r\n }\r\n // null and undefined could not be here. See `let v = (isCommon && isCommon.type === 'file') ....` above\r\n v = v ? new Date(v).toString() : v;\r\n }\r\n } else {\r\n if (type === 'number') {\r\n v = Math.round(v * 100_000_000) / 100_000_000; // remove 4.00000000000000001\r\n if (isFloatComma) {\r\n v = v.toString().replace('.', ',');\r\n }\r\n } else if (type === 'object') {\r\n v = JSON.stringify(v);\r\n } else if (type !== 'string') {\r\n v = v.toString();\r\n }\r\n\r\n if (typeof v !== 'string') {\r\n v = v.toString();\r\n }\r\n }\r\n\r\n // try to replace number with \"common.states\"\r\n if (states && states[v] !== undefined) {\r\n if (v !== states[v]) {\r\n valText.s = v;\r\n v = states[v];\r\n }\r\n }\r\n\r\n if (isCommon?.unit) {\r\n valText.u = isCommon.unit;\r\n }\r\n const valFull = [{ t: texts.value, v }];\r\n\r\n if (state) {\r\n if (state.ack !== undefined && state.ack !== null) {\r\n valFull.push({ t: texts.ack, v: state.ack.toString() });\r\n }\r\n if (state.ts) {\r\n valFull.push({ t: texts.ts, v: state.ts ? Utils.formatDate(new Date(state.ts), dateFormat) : '' });\r\n }\r\n if (state.lc) {\r\n valFull.push({ t: texts.lc, v: state.lc ? Utils.formatDate(new Date(state.lc), dateFormat) : '' });\r\n }\r\n if (state.from) {\r\n let from = state.from.toString();\r\n if (from.startsWith('system.adapter.')) {\r\n from = from.substring(15);\r\n }\r\n valFull.push({ t: texts.from, v: from });\r\n }\r\n if (state.user) {\r\n let user = state.user.toString();\r\n if (user.startsWith('system.user.')) {\r\n user = user.substring(12);\r\n }\r\n valFull.push({ t: texts.user, v: user });\r\n }\r\n if (state.c) {\r\n valFull.push({ t: texts.c, v: state.c });\r\n }\r\n valFull.push({ t: texts.quality, v: Utils.quality2text(state.q || 0).join(', '), nbr: true });\r\n }\r\n\r\n valText.v = v;\r\n\r\n return {\r\n valText,\r\n valFull,\r\n };\r\n}\r\n\r\n/** @typedef {{ state: ioBroker.State, isExpertMode: boolean, isButton: boolean }} GetValueStyleOptions */\r\n\r\n/**\r\n * Get css style for given state value\r\n *\r\n * @param {GetValueStyleOptions} options\r\n * @return {{color: (string)}}\r\n */\r\nfunction getValueStyle(options) {\r\n const { state, isExpertMode, isButton } = options;\r\n let color = state?.ack ? (state.q ? '#ffa500' : '') : '#ff2222c9';\r\n\r\n if (!isExpertMode && isButton) {\r\n color = '';\r\n }\r\n\r\n return { color };\r\n}\r\n\r\nfunction prepareSparkData(values, from) {\r\n // set every hour one point\r\n let time = from;\r\n let i = 1;\r\n const v = [];\r\n\r\n while (i < values.length && time < from + 25 * 3600000) {\r\n // find the interval\r\n while (values[i - 1].ts < time && time <= values[i].ts && i < values.length) {\r\n i++;\r\n }\r\n if (i === 1 && values[i - 1].ts >= time) {\r\n // assume the value was always null\r\n v.push(0);\r\n } else if (i < values.length) {\r\n if (typeof values[i].val === 'boolean' || typeof values[i - 1].val === 'boolean') {\r\n v.push(values[i].val ? 1 : 0);\r\n } else {\r\n // remove nulls\r\n values[i - 1].val = values[i - 1].val || 0;\r\n values[i].val = values[i].val || 0;\r\n // interpolate\r\n const val =\r\n values[i - 1].val +\r\n ((values[i].val - values[i - 1].val) * (time - values[i - 1].ts)) /\r\n (values[i].ts - values[i - 1].ts);\r\n\r\n v.push(val);\r\n }\r\n }\r\n\r\n time += 3600000;\r\n }\r\n\r\n return v;\r\n}\r\n\r\n/**\r\n * @type {import('./types').ObjectBrowserTableFilter}\r\n */\r\nconst DEFAULT_FILTER = {\r\n id: '',\r\n name: '',\r\n room: '',\r\n func: '',\r\n role: '',\r\n type: '',\r\n custom: '',\r\n expertMode: false,\r\n};\r\n\r\nconst ITEM_IMAGES = {\r\n state: <IconState className=\"itemIcon\" />,\r\n channel: <IconChannel className=\"itemIcon\" />,\r\n device: <IconDevice className=\"itemIcon\" />,\r\n adapter: <IconAdapter className=\"itemIcon\" />,\r\n meta: <IconMeta className=\"itemIcon\" />,\r\n instance: <IconInstance className=\"itemIcon\" style={{ color: '#7da7ff' }} />,\r\n enum: <IconEnum className=\"itemIcon\" />,\r\n chart: <IconChart className=\"itemIcon\" />,\r\n config: <IconConfig className=\"itemIcon\" />,\r\n group: <IconGroup className=\"itemIcon\" />,\r\n user: <IconUser className=\"itemIcon\" />,\r\n host: <IconHost className=\"itemIcon\" />,\r\n schedule: <IconSchedule className=\"itemIcon\" />,\r\n script: <IconScript className=\"itemIcon\" />,\r\n folder: <IconClosed className=\"itemIcon itemIconFolder\" />,\r\n};\r\n\r\nconst StyledBadge = withStyles(theme => ({\r\n badge: {\r\n right: 3,\r\n top: 3,\r\n border: `2px solid ${theme.palette.background.paper}`,\r\n padding: '0 4px',\r\n },\r\n}))(Badge);\r\n\r\nconst SCREEN_WIDTHS = {\r\n // extra-small: 0px\r\n xs: { idWidth: '100%', fields: [], widths: {} },\r\n // small: 600px\r\n sm: { idWidth: 300, fields: ['room', 'val'], widths: { room: 100, val: 200 } },\r\n // medium: 960px\r\n md: {\r\n idWidth: 300,\r\n fields: ['room', 'func', 'val', 'buttons'],\r\n widths: {\r\n name: 200,\r\n room: 150,\r\n func: 150,\r\n val: 120,\r\n buttons: 120,\r\n },\r\n },\r\n // large: 1280px\r\n lg: {\r\n idWidth: 300,\r\n fields: [\r\n 'name',\r\n 'type',\r\n 'role',\r\n 'room',\r\n 'func',\r\n 'val',\r\n 'buttons',\r\n 'changedFrom',\r\n 'qualityCode',\r\n 'timestamp',\r\n 'lastChange',\r\n ],\r\n widths: {\r\n name: 300,\r\n type: 80,\r\n role: 120,\r\n room: 180,\r\n func: 180,\r\n val: 140,\r\n buttons: 120,\r\n changedFrom: 120,\r\n qualityCode: 100,\r\n timestamp: 165,\r\n lastChange: 165,\r\n },\r\n },\r\n // /////////////\r\n // extra-large: 1920px\r\n xl: {\r\n idWidth: 550,\r\n fields: [\r\n 'name',\r\n 'type',\r\n 'role',\r\n 'room',\r\n 'func',\r\n 'val',\r\n 'buttons',\r\n 'changedFrom',\r\n 'qualityCode',\r\n 'timestamp',\r\n 'lastChange',\r\n ],\r\n widths: {\r\n name: 400,\r\n type: 80,\r\n role: 120,\r\n room: 180,\r\n func: 180,\r\n val: 140,\r\n buttons: 120,\r\n changedFrom: 120,\r\n qualityCode: 100,\r\n timestamp: 170,\r\n lastChange: 170,\r\n },\r\n },\r\n};\r\n\r\nlet objectsAlreadyLoaded = false;\r\n\r\n/**\r\n * @extends {React.Component<import('./types').ObjectBrowserProps>}\r\n */\r\nclass ObjectBrowser extends Component {\r\n /**\r\n * Namespaces which are allowed to be edited by non-expert users\r\n * @type {string[]}\r\n */\r\n #NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];\r\n\r\n /**\r\n * @param {import('./types').ObjectBrowserProps} props\r\n */\r\n constructor(props) {\r\n super(props);\r\n\r\n this.lastSelectedItems =\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectSelected`) ||\r\n '[]';\r\n try {\r\n this.lastSelectedItems = JSON.parse(this.lastSelectedItems);\r\n if (typeof this.lastSelectedItems !== 'object') {\r\n this.lastSelectedItems = [this.lastSelectedItems];\r\n }\r\n this.lastSelectedItems = this.lastSelectedItems.filter(id => id);\r\n } catch (e) {\r\n // ignore\r\n }\r\n\r\n let expanded =\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectExpanded`) ||\r\n '[]';\r\n try {\r\n expanded = JSON.parse(expanded);\r\n } catch (e) {\r\n expanded = [];\r\n }\r\n\r\n let filter = props.defaultFilters ||\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectFilter`) || {\r\n ...DEFAULT_FILTER,\r\n };\r\n\r\n if (typeof filter === 'string') {\r\n try {\r\n filter = JSON.parse(filter);\r\n } catch (e) {\r\n filter = { ...DEFAULT_FILTER };\r\n }\r\n }\r\n\r\n filter.expertMode =\r\n props.expertMode !== undefined\r\n ? props.expertMode\r\n : (window._sessionStorage || window.sessionStorage).getItem('App.expertMode') === 'true';\r\n this.tableRef = createRef();\r\n this.filterRefs = {};\r\n\r\n Object.keys(DEFAULT_FILTER).forEach(name => (this.filterRefs[name] = createRef()));\r\n\r\n this.lastAppliedFilter = null;\r\n this.pausedSubscribes = false;\r\n\r\n this.selectedFound = false;\r\n this.root = null;\r\n this.states = {};\r\n this.subscribes = [];\r\n this.statesUpdateTimer = null;\r\n this.objectsUpdateTimer = null;\r\n\r\n this.visibleCols = props.columns || SCREEN_WIDTHS[props.width].fields;\r\n // remove type column if only one type must be selected\r\n if (props.types && props.types.length === 1) {\r\n const pos = this.visibleCols.indexOf('type');\r\n pos !== -1 && this.visibleCols.splice(pos, 1);\r\n }\r\n\r\n this.possibleCols = SCREEN_WIDTHS.xl.fields;\r\n\r\n let customDialog = null;\r\n\r\n if (props.router) {\r\n const location = props.router.getLocation();\r\n if (location.id && location.dialog === 'customs') {\r\n customDialog = [location.id];\r\n this.pauseSubscribe(true);\r\n }\r\n }\r\n\r\n let selected = props.selected || '';\r\n if (typeof selected !== 'object') {\r\n selected = [selected];\r\n }\r\n selected = selected.map(id => id.replace(/[\"']/g, '')).filter(id => id);\r\n\r\n let columns = (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columns`);\r\n try {\r\n columns = columns ? JSON.parse(columns) : null;\r\n } catch (e) {\r\n columns = null;\r\n }\r\n\r\n let columnsWidths = null; // (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columnsWidths`);\r\n try {\r\n columnsWidths = columnsWidths ? JSON.parse(columnsWidths) : {};\r\n } catch (e) {\r\n columnsWidths = {};\r\n }\r\n\r\n this.imagePrefix = props.imagePrefix || '.';\r\n let foldersFirst = (window._localStorage || window.localStorage).getItem(\r\n `${props.dialogName || 'App'}.foldersFirst`,\r\n );\r\n if (foldersFirst === 'false') {\r\n foldersFirst = false;\r\n } else if (foldersFirst === 'true') {\r\n foldersFirst = true;\r\n } else {\r\n foldersFirst = props.foldersFirst === undefined ? true : props.foldersFirst;\r\n }\r\n\r\n let statesView = false;\r\n try {\r\n statesView = this.props.objectStatesView\r\n ? JSON.parse(\r\n (window._localStorage || window.localStorage).getItem(\r\n `${props.dialogName || 'App'}.objectStatesView`,\r\n ),\r\n ) || false\r\n : false;\r\n } catch (error) {\r\n // ignore\r\n }\r\n\r\n this.state = {\r\n loaded: false,\r\n foldersFirst,\r\n selected,\r\n selectedNonObject:\r\n (window._localStorage || window.localStorage).getItem(\r\n `${props.dialogName || 'App'}.selectedNonObject`,\r\n ) || '',\r\n filter,\r\n filterKey: 0,\r\n depth: 0,\r\n expandAllVisible: false,\r\n expanded,\r\n toast: '',\r\n scrollBarWidth: 16,\r\n customDialog,\r\n editObjectDialog: '',\r\n editObjectAlias: false, // open the edit object dialog on alias tab\r\n viewFileDialog: '',\r\n showAliasEditor: '',\r\n enumDialog: null,\r\n roleDialog: null,\r\n statesView,\r\n columns,\r\n columnsForAdmin: null,\r\n columnsSelectorShow: false,\r\n columnsAuto:\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columnsAuto`) !==\r\n 'false',\r\n columnsWidths,\r\n columnsDialogTransparent: 100,\r\n columnsEditCustomDialog: null,\r\n customColumnDialogValueChanged: false,\r\n showExportDialog: false,\r\n showAllExportOptions: false,\r\n linesEnabled:\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.lines`) === 'true',\r\n showDescription:\r\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.desc`) !== 'false',\r\n showContextMenu: null,\r\n noStatesByExportImport: false,\r\n beautifyJsonExport: true,\r\n excludeSystemRepositoriesFromExport: true,\r\n excludeTranslations: false,\r\n };\r\n\r\n this.edit = {};\r\n\r\n this.texts = {\r\n value: props.t('ra_tooltip_value'),\r\n ack: props.t('ra_tooltip_ack'),\r\n ts: props.t('ra_tooltip_ts'),\r\n lc: props.t('ra_tooltip_lc'),\r\n from: props.t('ra_tooltip_from'),\r\n user: props.t('ra_tooltip_user'),\r\n c: props.t('ra_tooltip_comment'),\r\n quality: props.t('ra_tooltip_quality'),\r\n editObject: props.t('ra_tooltip_editObject'),\r\n deleteObject: props.t('ra_tooltip_deleteObject'),\r\n customConfig: props.t('ra_tooltip_customConfig'),\r\n copyState: props.t('ra_tooltip_copyState'),\r\n editState: props.t('ra_tooltip_editState'),\r\n close: props.t('ra_Close'),\r\n filter_id: props.t('ra_filter_id'),\r\n filter_name: props.t('ra_filter_name'),\r\n filter_type: props.t('ra_filter_type'),\r\n filter_role: props.t('ra_filter_role'),\r\n filter_room: props.t('ra_filter_room'),\r\n filter_func: props.t('ra_filter_func'),\r\n filter_custom: props.t('ra_filter_customs'), //\r\n filterCustomsWithout: props.t('ra_filter_customs_without'), //\r\n objectChangedByUser: props.t('ra_object_changed_by_user'), // Object last changed at\r\n objectChangedBy: props.t('ra_object_changed_by'), // Object changed by\r\n objectChangedFrom: props.t('ra_state_changed_from'), // Object changed from\r\n stateChangedBy: props.t('ra_state_changed_by'), // State changed by\r\n stateChangedFrom: props.t('ra_state_changed_from'), // State changed from\r\n ownerGroup: props.t('ra_Owner group'),\r\n ownerUser: props.t('ra_Owner user'),\r\n deviceError: props.t('ra_Error'),\r\n deviceDisconnected: props.t('ra_Disconnected'),\r\n deviceConnected: props.t('ra_Connected'),\r\n\r\n aclOwner_read_object: props.t('ra_aclOwner_read_object'),\r\n aclOwner_read_state: props.t('ra_aclOwner_read_state'),\r\n aclOwner_write_object: props.t('ra_aclOwner_write_object'),\r\n aclOwner_write_state: props.t('ra_aclOwner_write_state'),\r\n aclGroup_read_object: props.t('ra_aclGroup_read_object'),\r\n aclGroup_read_state: props.t('ra_aclGroup_read_state'),\r\n aclGroup_write_object: props.t('ra_aclGroup_write_object'),\r\n aclGroup_write_state: props.t('ra_aclGroup_write_state'),\r\n aclEveryone_read_object: props.t('ra_aclEveryone_read_object'),\r\n aclEveryone_read_state: props.t('ra_aclEveryone_read_state'),\r\n aclEveryone_write_object: props.t('ra_aclEveryone_write_object'),\r\n aclEveryone_write_state: props.t('ra_aclEveryone_write_state'),\r\n\r\n create: props.t('ra_Create'),\r\n createBooleanState: props.t('ra_create_boolean_state'),\r\n createNumberState: props.t('ra_create_number_state'),\r\n createStringState: props.t('ra_create_string_state'),\r\n createState: props.t('ra_create_state'),\r\n createChannel: props.t('ra_create_channel'),\r\n createDevice: props.t('ra_create_device'),\r\n createFolder: props.t('ra_Create folder'),\r\n };\r\n\r\n this.levelPadding = props.levelPadding || ITEM_LEVEL;\r\n\r\n let resizerCurrentWidths = (window._localStorage || window.localStorage).getItem(\r\n `${this.props.dialogName || 'App'}.table`,\r\n );\r\n if (resizerCurrentWidths) {\r\n try {\r\n resizerCurrentWidths = JSON.parse(resizerCurrentWidths);\r\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width]));\r\n Object.keys(resizerCurrentWidths).forEach(id => {\r\n if (id === 'id') {\r\n SCREEN_WIDTHS[this.props.width].idWidth = resizerCurrentWidths.id;\r\n } else if (id === 'nameHeader') {\r\n SCREEN_WIDTHS[this.props.width].widths.name = resizerCurrentWidths[id];\r\n } else if (SCREEN_WIDTHS[this.props.width].widths[id] !== undefined) {\r\n SCREEN_WIDTHS[this.props.width].widths[id] = resizerCurrentWidths[id];\r\n }\r\n });\r\n\r\n this.customWidth = true;\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n\r\n this.calculateColumnsVisibility();\r\n }\r\n\r\n async loadAllObjects(update) {\r\n const props = this.props;\r\n\r\n try {\r\n await new Promise(resolve => {\r\n this.setState({ updating: true }, () => resolve());\r\n });\r\n\r\n const objects = this.props.objectsWorker ? (await this.props.objectsWorker.getObjects(update)) : (await props.socket.getObjects(update, true));\r\n if (props.types && Connection.isWeb()) {\r\n for (let i = 0; i < props.types.length; i++) {\r\n // admin has ALL objects\r\n // web has only state, channel, device, enum, and system.config\r\n if (props.types[i] === 'state' || props.types[i] === 'channel' || props.types[i] === 'device' || props.types[i] === 'enum') {\r\n continue;\r\n }\r\n const moreObjects = await props.socket.getObjectViewSystem(props.types[i], null, null);\r\n Object.assign(objects, moreObjects);\r\n }\r\n }\r\n\r\n this.systemConfig = this.systemConfig || objects['system.config'] || (await props.socket.getObject('system.config'));\r\n\r\n this.systemConfig.common = this.systemConfig.common || {};\r\n this.systemConfig.common.defaultNewAcl = this.systemConfig.common.defaultNewAcl || {};\r\n this.systemConfig.common.defaultNewAcl.owner =\r\n this.systemConfig.common.defaultNewAcl.owner || 'system.user.admin';\r\n this.systemConfig.common.defaultNewAcl.ownerGroup =\r\n this.systemConfig.common.defaultNewAcl.ownerGroup || 'system.group.administrator';\r\n if (typeof this.systemConfig.common.defaultNewAcl.state !== 'number') {\r\n // TODO: may be convert here from string\r\n this.systemConfig.common.defaultNewAcl.state = 0x664;\r\n }\r\n if (typeof this.systemConfig.common.defaultNewAcl.object !== 'number') {\r\n // TODO: may be convert here from string\r\n this.systemConfig.common.defaultNewAcl.state = 0x664;\r\n }\r\n\r\n if (typeof props.filterFunc === 'function') {\r\n this.objects = {};\r\n Object.keys(objects).forEach(id => {\r\n try {\r\n if (props.filterFunc(objects[id])) {\r\n this.objects[id] = objects[id];\r\n }\r\n } catch (e) {\r\n console.log(`Error by filtering of \"${id}\": ${e}`);\r\n }\r\n });\r\n } else if (props.types) {\r\n this.objects = {};\r\n Object.keys(objects).forEach(id => {\r\n const type = objects[id] && objects[id].type;\r\n // include \"folder\" types too\r\n if (\r\n type &&\r\n (type === 'channel' ||\r\n type === 'device' ||\r\n type === 'enum' ||\r\n type === 'folder' ||\r\n type === 'adapter' ||\r\n type === 'instance' ||\r\n props.types.includes(type))\r\n ) {\r\n this.objects[id] = objects[id];\r\n }\r\n });\r\n } else {\r\n this.objects = objects;\r\n }\r\n\r\n // read default history\r\n this.defaultHistory = this.systemConfig.common.defaultHistory;\r\n if (this.defaultHistory) {\r\n props.socket\r\n .getState(`system.adapter.${this.defaultHistory}.alive`)\r\n .then(state => {\r\n if (!state || !state.val) {\r\n this.defaultHistory = '';\r\n }\r\n })\r\n .catch(e => window.alert(`Cannot get state: ${e}`));\r\n }\r\n\r\n const columnsForAdmin = await this.getAdditionalColumns();\r\n this.calculateColumnsVisibility(null, null, columnsForAdmin);\r\n\r\n const { info, root } = buildTree(this.objects, this.props);\r\n this.root = root;\r\n this.info = info;\r\n\r\n // Show first selected item\r\n const node =\r\n this.state.selected && this.state.selected.length && findNode(this.root, this.state.selected[0]);\r\n\r\n this.lastAppliedFilter = null;\r\n\r\n // If the selected ID is not visible, reset filter\r\n if (\r\n node &&\r\n !applyFilter(\r\n node,\r\n this.state.filter,\r\n this.props.lang,\r\n this.objects,\r\n null,\r\n null,\r\n props.customFilter,\r\n props.types,\r\n )\r\n ) {\r\n // reset filter\r\n this.setState({ filter: { ...DEFAULT_FILTER }, columnsForAdmin }, () => {\r\n this.setState({ loaded: true, updating: false }, () =>\r\n this.expandAllSelected(() => this.onAfterSelect()));\r\n });\r\n } else {\r\n this.setState({ loaded: true, updating: false, columnsForAdmin }, () =>\r\n this.expandAllSelected(() => this.onAfterSelect()));\r\n }\r\n } catch (e1) {\r\n this.showError(e1);\r\n }\r\n }\r\n\r\n /**\r\n * Check if it is a non-expert id\r\n *\r\n * @param id id to test\r\n * @return {boolean}\r\n */\r\n isNonExpertId(id) {\r\n return !!this.#NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {ioBroker.EmptyCallback?} cb\r\n */\r\n expandAllSelected(cb) {\r\n const expanded = [...this.state.expanded];\r\n let changed = false;\r\n this.state.selected.forEach(id => {\r\n const parts = id.split('.');\r\n const path = [];\r\n for (let i = 0; i < parts.length - 1; i++) {\r\n path.push(parts[i]);\r\n if (!expanded.includes(path.join('.'))) {\r\n expanded.push(path.join('.'));\r\n changed = true;\r\n }\r\n }\r\n });\r\n if (changed) {\r\n expanded.sort();\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify(expanded),\r\n );\r\n this.setState({ expanded }, cb);\r\n } else {\r\n cb && cb();\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {boolean} [isDouble]\r\n */\r\n onAfterSelect(isDouble) {\r\n this.lastSelectedItems = [...this.state.selected];\r\n if (this.state.selected && this.state.selected.length) {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectSelected`,\r\n JSON.stringify(this.lastSelectedItems),\r\n );\r\n\r\n const name =\r\n this.lastSelectedItems.length === 1\r\n ? Utils.getObjectName(this.objects, this.lastSelectedItems[0], null, { language: this.props.lang })\r\n : '';\r\n this.props.onSelect && this.props.onSelect(this.lastSelectedItems, name, isDouble);\r\n } else {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectSelected`,\r\n '',\r\n );\r\n if (this.state.selected.length) {\r\n this.setState({ selected: [] }, () => this.props.onSelect && this.props.onSelect([], ''));\r\n } else {\r\n this.props.onSelect && this.props.onSelect([], '');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {import('./types').ObjectBrowserProps} props\r\n * @param {any} state\r\n */\r\n static getDerivedStateFromProps(props, state) {\r\n const newState = {};\r\n let changed = false;\r\n if (props.expertMode !== undefined && props.expertMode !== state.filter.expertMode) {\r\n changed = true;\r\n newState.filter = { ...state.filter };\r\n newState.filter.expertMode = props.expertMode;\r\n }\r\n return changed ? newState : null;\r\n }\r\n\r\n /**\r\n * Called when component is mounted.\r\n */\r\n async componentDidMount() {\r\n await this.loadAllObjects(!objectsAlreadyLoaded);\r\n if (this.props.objectsWorker) {\r\n this.props.objectsWorker.registerHandler(this.onObjectChange);\r\n } else {\r\n this.props.socket.subscribeObject('*', this.onObjectChange);\r\n }\r\n\r\n objectsAlreadyLoaded = true;\r\n\r\n window.addEventListener('contextmenu', this.onContextMenu, true);\r\n }\r\n\r\n /**\r\n * Called when component is unmounted.\r\n */\r\n componentWillUnmount() {\r\n this.filterTimer && clearTimeout(this.filterTimer);\r\n this.filterTimer = null;\r\n window.removeEventListener('contextmenu', this.onContextMenu, true);\r\n\r\n if (this.props.objectsWorker) {\r\n this.props.objectsWorker.unregisterHandler(this.onObjectChange, true);\r\n } else {\r\n this.props.socket.unsubscribeObject('*', this.onObjectChange);\r\n }\r\n\r\n // remove all subscribes\r\n this.subscribes.forEach(pattern => {\r\n console.log(`- unsubscribe ${pattern}`);\r\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\r\n });\r\n\r\n this.subscribes = [];\r\n this.objects = {};\r\n }\r\n\r\n /** @typedef {{ id: string, obj: ioBroker.Object, item: any }} ShowDeleteDialogOptions */\r\n\r\n /**\r\n * Show the delete dialog for a given object\r\n *\r\n * @param {ShowDeleteDialogOptions} options\r\n */\r\n showDeleteDialog(options) {\r\n const { id, obj, item } = options;\r\n\r\n // calculate the number of children\r\n const keys = Object.keys(this.objects);\r\n keys.sort();\r\n let count = 0;\r\n const start = `${id}.`;\r\n for (let i = 0; i < keys.length; i++) {\r\n if (keys[i].startsWith(start)) {\r\n count++;\r\n } else if (keys[i] > start) {\r\n break;\r\n }\r\n }\r\n\r\n this.props.onObjectDelete(\r\n id,\r\n !!item.children?.length,\r\n !obj.common?.dontDelete,\r\n count + 1,\r\n );\r\n }\r\n\r\n /**\r\n * Context menu handler.\r\n */\r\n onContextMenu = e => {\r\n // console.log(`CONTEXT MENU: ${this.contextMenu ? Date.now() - this.contextMenu.ts : 'false'}`);\r\n if (this.contextMenu && Date.now() - this.contextMenu.ts < 2000) {\r\n e.preventDefault();\r\n this.setState({ showContextMenu: { item: this.contextMenu.item } });\r\n } else if (this.state.showContextMenu) {\r\n e.preventDefault();\r\n this.setState({ showContextMenu: null });\r\n }\r\n this.contextMenu = null;\r\n };\r\n\r\n /**\r\n * Called when component is mounted.\r\n */\r\n refreshComponent() {\r\n // remove all subscribes\r\n this.subscribes.forEach(pattern => {\r\n console.log(`- unsubscribe ${pattern}`);\r\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\r\n });\r\n\r\n this.subscribes = [];\r\n\r\n this.loadAllObjects(true)\r\n .then(() => console.log('updated!'));\r\n }\r\n\r\n /**\r\n * Renders the error dialog.\r\n * @returns {JSX.Element | null}\r\n */\r\n renderErrorDialog() {\r\n return this.state.error ? <Dialog\r\n open={!0}\r\n maxWidth=\"sm\"\r\n fullWidth\r\n onClose={() => this.setState({ error: '' })}\r\n aria-labelledby=\"error-dialog-title\"\r\n aria-describedby=\"error-dialog-description\"\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">{this.props.title || this.props.t('ra_Error')}</DialogTitle>\r\n <DialogContent>\r\n <DialogContentText id=\"alert-dialog-description\">\r\n {this.state.error}\r\n </DialogContentText>\r\n </DialogContent>\r\n <DialogActions>\r\n <Button\r\n variant=\"contained\"\r\n onClick={() => this.setState({ error: '' })}\r\n color=\"primary\"\r\n autoFocus\r\n startIcon={<IconCheck />}\r\n >\r\n {this.props.t('ra_Ok')}\r\n </Button>\r\n </DialogActions>\r\n </Dialog> : null;\r\n }\r\n\r\n /**\r\n * Show the error dialog.\r\n * @param {any} error\r\n */\r\n showError(error) {\r\n this.setState({\r\n error:\r\n typeof error === 'object'\r\n ? error && typeof error.toString === 'function'\r\n ? error.toString()\r\n : JSON.stringify(error)\r\n : error,\r\n });\r\n }\r\n\r\n /**\r\n * Called when an item is selected/deselected.\r\n * @param {string} toggleItem\r\n * @param {boolean} [isDouble]\r\n */\r\n onSelect(toggleItem, isDouble, cb) {\r\n if (!this.props.multiSelect) {\r\n if (\r\n this.objects[toggleItem] &&\r\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\r\n ) {\r\n (window._localStorage || window.localStorage).removeItem(\r\n `${this.props.dialogName || 'App'}.selectedNonObject`,\r\n );\r\n if (this.state.selected[0] !== toggleItem) {\r\n this.setState({ selected: [toggleItem], selectedNonObject: '' }, () => {\r\n this.onAfterSelect(isDouble);\r\n cb && cb();\r\n });\r\n } else if (isDouble && this.props.onSelect) {\r\n this.onAfterSelect(isDouble);\r\n }\r\n } else {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.selectedNonObject`,\r\n toggleItem,\r\n );\r\n this.setState({ selected: [], selectedNonObject: toggleItem }, () => {\r\n this.onAfterSelect();\r\n cb && cb();\r\n });\r\n }\r\n } else if (\r\n this.objects[toggleItem] &&\r\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\r\n ) {\r\n (window._localStorage || window.localStorage).removeItem(\r\n `${this.props.dialogName || 'App'}.selectedNonObject`,\r\n );\r\n\r\n const selected = [...this.state.selected];\r\n const pos = selected.indexOf(toggleItem);\r\n if (pos === -1) {\r\n selected.push(toggleItem);\r\n selected.sort();\r\n } else if (!isDouble) {\r\n selected.splice(pos, 1);\r\n }\r\n\r\n this.setState({ selected, selectedNonObject: '' }, () => {\r\n this.onAfterSelect(isDouble);\r\n cb && cb();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {boolean} isLast\r\n */\r\n _renderDefinedList(isLast) {\r\n const cols = [...this.possibleCols];\r\n cols.unshift('id');\r\n if (this.props.columns && !this.props.columns.includes('buttons')) {\r\n const pos = cols.indexOf('buttons');\r\n if (pos !== -1) {\r\n cols.splice(pos, 1);\r\n }\r\n }\r\n return cols\r\n .filter(\r\n id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'),\r\n )\r\n .map(id =>\r\n <ListItemButton\r\n onClick={() => {\r\n if (!this.state.columnsAuto && id !== 'id') {\r\n const columns = [...(this.state.columns || [])];\r\n const pos = columns.indexOf(id);\r\n if (pos === -1) {\r\n columns.push(id);\r\n columns.sort();\r\n } else {\r\n columns.splice(pos, 1);\r\n }\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.columns`,\r\n JSON.stringify(columns),\r\n );\r\n this.calculateColumnsVisibility(null, columns);\r\n this.setState({ columns });\r\n }\r\n }}\r\n key={id}\r\n >\r\n <Checkbox\r\n edge=\"start\"\r\n disabled={id === 'id' || this.state.columnsAuto}\r\n checked={\r\n id === 'id' ||\r\n (this.state.columnsAuto\r\n ? this.visibleCols.includes(id)\r\n : this.state.columns && this.state.columns.includes(id))\r\n }\r\n disableRipple\r\n />\r\n <ListItemText primary={this.texts[`filter_${id}`] || this.props.t(`ra_${id}`)} />\r\n {/*\r\n <ListItemSecondaryAction>\r\n <FormControl\r\n variant=\"standard\"\r\n className={this.props.classes.columnsDialogInputWidth}\r\n style={{ marginTop: 0, marginBottom: 0 }}\r\n margin=\"dense\"\r\n >\r\n <Input\r\n classes={{ underline: 'no-underline' }}\r\n placeholder={this.props.t('ra_Width')}\r\n value={this.state.columnsWidths[id] || ''}\r\n onChange={e => {\r\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\r\n columnsWidths[id] = e.target.value;\r\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\r\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\r\n this.setState({ columnsWidths });\r\n }}\r\n autoComplete=\"off\"\r\n />\r\n </FormControl>\r\n </ListItemSecondaryAction>\r\n */}\r\n </ListItemButton>);\r\n }\r\n\r\n /**\r\n * Renders the columns' selector.\r\n * @returns {JSX.Element | null}\r\n */\r\n renderColumnsSelectorDialog() {\r\n if (!this.state.columnsSelectorShow) {\r\n return null;\r\n }\r\n return <Dialog\r\n onClose={() => this.setState({ columnsSelectorShow: false })}\r\n open={!0}\r\n classes={{\r\n root: Utils.clsx(\r\n this.props.classes.dialogColumns,\r\n this.props.classes[`transparent_${this.state.columnsDialogTransparent}`],\r\n ),\r\n }}\r\n >\r\n <DialogTitle className={this.props.classes.fontSizeTitle}>{this.props.t('ra_Configure')}</DialogTitle>\r\n <DialogContent className={this.props.classes.fontSizeTitle}>\r\n <FormControlLabel\r\n className={this.props.classes.switchColumnAuto}\r\n control={\r\n <Switch\r\n checked={this.state.foldersFirst}\r\n onChange={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.foldersFirst`,\r\n this.state.foldersFirst ? 'false' : 'true',\r\n );\r\n this.setState({ foldersFirst: !this.state.foldersFirst });\r\n }}\r\n />\r\n }\r\n label={this.props.t('ra_Folders always first')}\r\n />\r\n <FormControlLabel\r\n className={this.props.classes.switchColumnAuto}\r\n control={\r\n <Switch\r\n checked={this.state.linesEnabled}\r\n onChange={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.lines`,\r\n this.state.linesEnabled ? 'false' : 'true',\r\n );\r\n this.setState({ linesEnabled: !this.state.linesEnabled });\r\n }}\r\n />\r\n }\r\n label={this.props.t('ra_Show lines between rows')}\r\n />\r\n <FormControlLabel\r\n className={this.props.classes.switchColumnAuto}\r\n control={\r\n <Switch\r\n checked={this.state.columnsAuto}\r\n onChange={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.columnsAuto`,\r\n this.state.columnsAuto ? 'false' : 'true',\r\n );\r\n if (!this.state.columnsAuto) {\r\n this.calculateColumnsVisibility(true);\r\n this.setState({ columnsAuto: true });\r\n } else if (!this.state.columns) {\r\n this.calculateColumnsVisibility(false, [...this.visibleCols]);\r\n this.setState({ columnsAuto: false, columns: [...this.visibleCols] });\r\n } else {\r\n this.calculateColumnsVisibility(false);\r\n this.setState({ columnsAuto: false });\r\n }\r\n }}\r\n />\r\n }\r\n label={this.props.t('ra_Auto (no custom columns)')}\r\n />\r\n {/*\r\n <Typography classes={{ root: this.props.classes.dialogColumnsLabel }}>{this.props.t('ra_Transparent dialog')}</Typography>\r\n <Slider classes={{ root: this.props.classes.width100 }} value={this.state.columnsDialogTransparent} min={20} max={100} step={10} onChange={(event, newValue) =>\r\n this.setState({ columnsDialogTransparent: newValue })\r\n } />\r\n */}\r\n <List>\r\n {this._renderDefinedList(false)}\r\n\r\n {this.state.columnsForAdmin &&\r\n Object.keys(this.state.columnsForAdmin)\r\n .sort()\r\n .map(adapter =>\r\n this.state.columnsForAdmin[adapter].map(column => (\r\n <ListItemButton\r\n onClick={() => {\r\n if (!this.state.columnsAuto) {\r\n const columns = [...(this.state.columns || [])];\r\n const id = `_${adapter}_${column.path}`;\r\n const pos = columns.indexOf(id);\r\n if (pos === -1) {\r\n columns.push(id);\r\n columns.sort();\r\n } else {\r\n columns.splice(pos, 1);\r\n }\r\n this.calculateColumnsVisibility(null, columns);\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.columns`,\r\n JSON.stringify(columns),\r\n );\r\n this.setState({ columns });\r\n }\r\n }}\r\n key={`${adapter}_${column.name}`}\r\n >\r\n <ListItemIcon>\r\n <Checkbox\r\n disabled={this.state.columnsAuto}\r\n edge=\"start\"\r\n checked={\r\n !this.state.columnsAuto &&\r\n this.state.columns &&\r\n this.state.columns.includes(`_${adapter}_${column.path}`)\r\n }\r\n disableRipple\r\n />\r\n </ListItemIcon>\r\n <ListItemText primary={`${column.name} (${adapter})`} />\r\n {/*\r\n <ListItemSecondaryAction>\r\n <FormControl\r\n variant=\"standard\"\r\n className={this.props.classes.columnsDialogInputWidth}\r\n style={{ marginTop: 0, marginBottom: 0 }}\r\n margin=\"dense\"\r\n >\r\n <Input\r\n classes={{ underline: 'no-underline' }}\r\n placeholder={this.props.t('ra_Width')}\r\n value={this.state.columnsWidths['_' + adapter + '_' + column.path] || ''}\r\n onChange={e => {\r\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\r\n columnsWidths['_' + adapter + '_' + column.path] = e.target.value;\r\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\r\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\r\n this.setState({ columnsWidths });\r\n }}\r\n autoComplete=\"off\"\r\n />\r\n </FormControl>\r\n </ListItemSecondaryAction>\r\n */}\r\n </ListItemButton>\r\n )))}\r\n {this._renderDefinedList(true)}\r\n </List>\r\n </DialogContent>\r\n <DialogActions>\r\n <Button\r\n variant=\"contained\"\r\n onClick={() => this.setState({ columnsSelectorShow: false })}\r\n color=\"primary\"\r\n startIcon={<IconClose />}\r\n >\r\n {this.texts.close}\r\n </Button>\r\n </DialogActions>\r\n </Dialog>;\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getAdditionalColumns() {\r\n return this.props.socket\r\n .getAdapters()\r\n .then(instances => {\r\n let columnsForAdmin = null;\r\n // find all additional columns\r\n instances.forEach(obj => (columnsForAdmin = this.parseObjectForAdmins(columnsForAdmin, obj)));\r\n\r\n return columnsForAdmin;\r\n })\r\n .catch(() => {\r\n // window.alert('Cannot get adapters: ' + e);\r\n // Object browser in Web has no additional columns\r\n });\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n checkUnsubscribes() {\r\n // Remove unused subscriptions\r\n for (let i = this.subscribes.length - 1; i >= 0; i--) {\r\n !this.recordStates.includes(this.subscribes[i]) && this.unsubscribe(this.subscribes[i]);\r\n }\r\n this.recordStates = [];\r\n }\r\n\r\n /**\r\n * Find an item.\r\n * @param {string} id\r\n * @param {string[] | undefined} [_parts]\r\n * @param {{ data: { name: string; id: string; }; children: never[]; } | null | undefined} [_root]\r\n * @param {string | undefined} [_partyId]\r\n * @returns {any}\r\n */\r\n findItem(id, _parts, _root, _partyId) {\r\n _parts = _parts || id.split('.');\r\n _root = _root || this.root;\r\n if (!_root || !_parts.length) {\r\n return null;\r\n }\r\n\r\n _partyId = (_partyId ? `${_partyId}.` : '') + _parts.shift();\r\n\r\n if (_root.children) {\r\n const item = _root.children.find(i => i.data.id === _partyId);\r\n if (item) {\r\n if (item.data.id === id) {\r\n return item;\r\n }\r\n if (_parts.length) {\r\n return this.findItem(id, _parts, item, _partyId);\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Called when a state changes.\r\n * @param {string} id\r\n * @param {ioBroker.State} state\r\n */\r\n onStateChange = (id, state) => {\r\n console.log(`> stateChange ${id}`);\r\n if (this.states[id]) {\r\n const item = this.findItem(id);\r\n if (item && item.data.state) {\r\n item.data.state = null;\r\n }\r\n }\r\n this.states[id] = state;\r\n\r\n if (!this.pausedSubscribes) {\r\n if (!this.statesUpdateTimer) {\r\n this.statesUpdateTimer = setTimeout(() => {\r\n this.statesUpdateTimer = null;\r\n this.forceUpdate();\r\n }, 300);\r\n }\r\n } else if (this.statesUpdateTimer) {\r\n clearTimeout(this.statesUpdateTimer);\r\n this.statesUpdateTimer = null;\r\n }\r\n };\r\n\r\n /**\r\n * @private\r\n * @param {{ [x: string]: any; }} columnsForAdmin\r\n * @param {any} obj\r\n */\r\n parseObjectForAdmins(columnsForAdmin, obj) {\r\n if (obj.common && obj.common.adminColumns && obj.common.name) {\r\n let columns = obj.common.adminColumns;\r\n if (typeof columns !== 'object') {\r\n columns = [columns];\r\n }\r\n columns = columns\r\n .map(item => {\r\n if (typeof item !== 'object') {\r\n return { path: item, name: item.split('.').pop() };\r\n }\r\n\r\n // string => array\r\n if (item.objTypes && typeof item.objTypes !== 'object') {\r\n item.objTypes = [item.objTypes];\r\n } else if (!item.objTypes) {\r\n item.objTypes = null;\r\n }\r\n\r\n if (!item.name && item.path) {\r\n return {\r\n path: item.path,\r\n name: item.path.split('.').pop(),\r\n width: item.width,\r\n edit: !!item.edit,\r\n type: item.type,\r\n objTypes: item.objTypes,\r\n };\r\n }\r\n if (typeof item.name !== 'object' && item.path) {\r\n return {\r\n path: item.path,\r\n name: item.name,\r\n width: item.width,\r\n edit: !!item.edit,\r\n type: item.type,\r\n objTypes: item.objTypes,\r\n };\r\n }\r\n if (!item.path) {\r\n console.warn(`Admin columns for ${obj._id} ignored, because path not found`);\r\n return null;\r\n }\r\n return {\r\n path: item.path,\r\n name: item.name[this.props.lang] || item.name.en,\r\n width: item.width,\r\n edit: !!item.edit,\r\n type: item.type,\r\n objTypes: item.objTypes,\r\n };\r\n })\r\n .filter(item => item);\r\n\r\n if (columns && columns.length) {\r\n columnsForAdmin = columnsForAdmin || {};\r\n columnsForAdmin[obj.common.name] = columns.sort((a, b) =>\r\n (a.path > b.path ? -1 : a.path < b.path ? 1 : 0));\r\n }\r\n } else if (obj.common && obj.common.name && columnsForAdmin && columnsForAdmin[obj.common.name]) {\r\n delete columnsForAdmin[obj.common.name];\r\n }\r\n return columnsForAdmin;\r\n }\r\n\r\n /**\r\n * @param {string} id\r\n * @param {ioBroker.Object} obj\r\n */\r\n onObjectChange = (id, obj /* , oldObj */) => {\r\n let newState;\r\n\r\n if (Array.isArray(id)) {\r\n id.forEach(event => {\r\n const { newInnerState, filtered } = this.processOnObjectChangeElement(event.id, event.obj);\r\n if (filtered) {\r\n return;\r\n }\r\n if (newInnerState) {\r\n newState = newInnerState;\r\n }\r\n });\r\n } else {\r\n const { newInnerState, filtered } = this.processOnObjectChangeElement(id, obj);\r\n if (filtered) {\r\n return;\r\n }\r\n newState = newInnerState;\r\n }\r\n\r\n newState && this.setState(newState);\r\n\r\n if (!this.objectsUpdateTimer && this.objects) {\r\n this.objectsUpdateTimer = setTimeout(() => {\r\n this.objectsUpdateTimer = null;\r\n const { info, root } = buildTree(this.objects, this.props);\r\n this.root = root;\r\n this.info = info;\r\n this.lastAppliedFilter = null; // apply filter anew\r\n\r\n if (!this.pausedSubscribes) {\r\n this.forceUpdate();\r\n }\r\n // else it will be re-rendered when dialog will be closed\r\n }, 500);\r\n }\r\n };\r\n\r\n /**\r\n * Processes a single element in regard to certain filters, columns for admin and updates object dict\r\n * @param id The id of the object\r\n * @param obj The object itself\r\n * @returns {{filtered: boolean, newState: null}} Returns an object containing the new state (if any) and whether the object was filtered.\r\n */\r\n processOnObjectChangeElement(id, obj) {\r\n console.log(`> objectChange ${id}`);\r\n let newState = null;\r\n\r\n if (obj && typeof this.props.filterFunc === 'function' && !this.props.filterFunc(obj)) {\r\n return { newState, filtered: true };\r\n }\r\n\r\n if (id.startsWith('system.adapter.') && obj && obj.type === 'adapter') {\r\n const columnsForAdmin = JSON.parse(JSON.stringify(this.state.columnsForAdmin));\r\n\r\n this.parseObjectForAdmins(columnsForAdmin, obj);\r\n\r\n if (JSON.stringify(this.state.columnsForAdmin) !== JSON.stringify(columnsForAdmin)) {\r\n newState = { columnsForAdmin };\r\n }\r\n }\r\n this.objects = this.objects || [];\r\n if (obj) {\r\n this.objects[id] = obj;\r\n } else if (this.objects[id]) {\r\n delete this.objects[id];\r\n }\r\n return { newState, filtered: false };\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n */\r\n subscribe(id) {\r\n if (!this.subscribes.includes(id)) {\r\n this.subscribes.push(id);\r\n console.log(`+ subscribe ${id}`);\r\n !this.pausedSubscribes && this.props.socket.subscribeState(id, this.onStateChange);\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n */\r\n unsubscribe(id) {\r\n const pos = this.subscribes.indexOf(id);\r\n if (pos !== -1) {\r\n this.subscribes.splice(pos, 1);\r\n if (this.states[id]) {\r\n delete this.states[id];\r\n }\r\n console.log(`- unsubscribe ${id}`);\r\n this.props.socket.unsubscribeState(id, this.onStateChange);\r\n\r\n if (this.pausedSubscribes) {\r\n console.warn('Unsubscribe during pause?');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {boolean} isPause\r\n */\r\n pauseSubscribe(isPause) {\r\n if (!this.pausedSubscribes && isPause) {\r\n this.pausedSubscribes = true;\r\n this.subscribes.forEach(id => this.props.socket.unsubscribeState(id, this.onStateChange));\r\n } else if (this.pausedSubscribes && !isPause) {\r\n this.pausedSubscribes = false;\r\n this.subscribes.forEach(id => this.props.socket.subscribeState(id, this.onStateChange));\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} [name]\r\n * @param {boolean} [value]\r\n */\r\n onFilter(name, value) {\r\n this.filterTimer = null;\r\n const filter = { ...this.state.filter };\r\n\r\n Object.keys(this.filterRefs).forEach(_name => {\r\n if (this.filterRefs[_name] && this.filterRefs[_name].current) {\r\n for (let i = 0; i < this.filterRefs[_name].current.children.length; i++) {\r\n if (this.filterRefs[_name].current.children[i].tagName === 'INPUT') {\r\n filter[_name] = this.filterRefs[_name].current.children[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (name) {\r\n filter[name] = value;\r\n if (name === 'expertMode') {\r\n (window._sessionStorage || window.sessionStorage).setItem('App.expertMode', value ? 'true' : 'false');\r\n }\r\n }\r\n\r\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectFilter`,\r\n JSON.stringify(filter),\r\n );\r\n this.setState({ filter }, () => this.props.onFilterChanged && this.props.onFilterChanged(filter));\r\n }\r\n }\r\n\r\n clearFilter() {\r\n const filter = { ...this.state.filter };\r\n\r\n Object.keys(this.filterRefs).forEach(name => {\r\n if (this.filterRefs[name] && this.filterRefs[name].current) {\r\n for (let i = 0; i < this.filterRefs[name].current.childNodes.length; i++) {\r\n const item = this.filterRefs[name].current.childNodes[i];\r\n if (item.tagName === 'INPUT') {\r\n filter[name] = '';\r\n item.value = '';\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectFilter`,\r\n JSON.stringify(filter),\r\n );\r\n this.setState(\r\n { filter, filterKey: this.state.filterKey + 1 },\r\n () => this.props.onFilterChanged && this.props.onFilterChanged(filter),\r\n );\r\n }\r\n }\r\n\r\n isFilterEmpty() {\r\n const someNotEmpty = Object.keys(this.state.filter).find(\r\n attr => attr !== 'expertMode' && this.state.filter[attr],\r\n );\r\n return !someNotEmpty;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} name\r\n */\r\n getFilterInput(name) {\r\n return <FormControl\r\n className={Utils.clsx(this.props.classes.headerCellInput, this.props.classes.filterInput)}\r\n key={`${name}_${this.state.filterKey}`}\r\n // style={{ marginTop: 0, marginBottom: 0 }}\r\n margin=\"dense\"\r\n >\r\n <Input\r\n ref={this.filterRefs[name]}\r\n classes={{ underline: 'no-underline' }}\r\n id={name}\r\n placeholder={this.texts[`filter_${name}`]}\r\n defaultValue={this.state.filter[name]}\r\n onChange={() => {\r\n this.filterTimer && clearTimeout(this.filterTimer);\r\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\r\n }}\r\n autoComplete=\"off\"\r\n />\r\n {this.filterRefs[name]?.current?.firstChild.value ?\r\n <div\r\n style={{\r\n position: 'absolute',\r\n right: 0,\r\n }}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => {\r\n this.filterRefs[name].current.firstChild.value = '';\r\n this.onFilter(name, '');\r\n }}\r\n >\r\n <IconClose />\r\n </IconButton>\r\n </div> : null}\r\n </FormControl>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} name\r\n * @param {any[]} values\r\n */\r\n getFilterSelect(name, values) {\r\n const hasIcons = !!values.find(item => item.icon);\r\n return <div style={{ position: 'relative' }}>\r\n <Select\r\n variant=\"standard\"\r\n key={`${name}_${this.state.filterKey}`}\r\n ref={this.filterRefs[name]}\r\n className={`${this.props.classes.headerCellInput} no-underline`}\r\n onChange={() => {\r\n this.filterTimer && clearTimeout(this.filterTimer);\r\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\r\n }}\r\n defaultValue={this.state.filter[name] || ''}\r\n inputProps={{ name, id: name }}\r\n displayEmpty\r\n >\r\n <MenuItem key=\"empty\" value=\"\">\r\n <span className={this.props.classes.selectNone}>{this.texts[`filter_${name}`]}</span>\r\n </MenuItem>\r\n {values.map(item => {\r\n let id;\r\n let _name;\r\n let icon;\r\n if (typeof item === 'object') {\r\n id = item.value;\r\n _name = item.name;\r\n icon = item.icon;\r\n } else {\r\n id = item;\r\n _name = item;\r\n }\r\n return <MenuItem className={this.props.classes.headerCellSelectItem} key={id} value={id}>\r\n {icon || (hasIcons ? <div className=\"itemIcon\" /> : null)}\r\n {_name}\r\n </MenuItem>;\r\n })}\r\n </Select>\r\n {this.filterRefs[name]?.current?.childNodes[1]?.value ?\r\n <div className={Utils.clsx(this.props.classes.selectClearButton)}>\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => {\r\n const newFilter = { ...this.state.filter };\r\n newFilter[name] = '';\r\n this.filterRefs[name].current.childNodes[1].value = '';\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectFilter`,\r\n JSON.stringify(newFilter),\r\n );\r\n this.setState(\r\n { filter: newFilter, filterKey: this.state.filterKey + 1 },\r\n () => this.props.onFilterChanged && this.props.onFilterChanged(newFilter),\r\n );\r\n }}\r\n >\r\n <IconClose />\r\n </IconButton>\r\n </div> : null}\r\n </div>;\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getFilterSelectRole() {\r\n return this.getFilterSelect('role', this.info.roles);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getFilterSelectRoom() {\r\n const rooms = this.info.roomEnums.map(id => ({\r\n name: getName(this.objects[id]?.common?.name || id.split('.').pop()),\r\n value: id,\r\n icon: <Icon src={this.objects[id]?.common?.icon || ''} className={this.props.classes.selectIcon} />,\r\n }));\r\n\r\n return this.getFilterSelect('room', rooms);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getFilterSelectFunction() {\r\n const func = this.info.funcEnums.map(id => ({\r\n name: getName(\r\n this.objects[id]?.common?.name || id.split('.').pop(),\r\n ),\r\n value: id,\r\n icon: <Icon src={this.objects[id]?.common?.icon || ''} className={this.props.classes.selectIcon} />,\r\n }));\r\n\r\n return this.getFilterSelect('func', func);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getFilterSelectType() {\r\n const types = this.info.types.map(type => ({\r\n name: type,\r\n value: type,\r\n icon: ITEM_IMAGES[type],\r\n }));\r\n\r\n return this.getFilterSelect('type', types);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n getFilterSelectCustoms() {\r\n if (this.info.customs.length > 1) {\r\n const customs = this.info.customs.map(id => ({\r\n name: id === '_' ? this.texts.filterCustomsWithout : id,\r\n value: id,\r\n icon: id === '_' ? null : <Icon\r\n src={getSelectIdIcon(this.objects, id, this.imagePrefix) || ''}\r\n className={this.props.classes.selectIcon}\r\n />,\r\n }));\r\n return this.getFilterSelect('custom', customs);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {any} [root]\r\n * @param {any[]} [expanded]\r\n */\r\n onExpandAll(root, expanded) {\r\n root = root || this.root;\r\n expanded = expanded || [];\r\n\r\n root.children &&\r\n root.children.forEach(item => {\r\n if (item.data.sumVisibility) {\r\n expanded.push(item.data.id);\r\n this.onExpandAll(item, expanded);\r\n }\r\n });\r\n\r\n if (root === this.root) {\r\n expanded.sort();\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify(expanded),\r\n );\r\n\r\n this.setState({ expanded });\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n onCollapseAll() {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify([]),\r\n );\r\n (window._localStorage || window.localStorage).setItem(`${this.props.dialogName || 'App'}.objectSelected`, '[]');\r\n this.setState({ expanded: [], depth: 0, selected: [] }, () =>\r\n this.onAfterSelect());\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {any} root\r\n * @param {number} depth\r\n * @param {any[]} expanded\r\n */\r\n expandDepth(root, depth, expanded) {\r\n root = root || this.root;\r\n if (depth > 0) {\r\n if (root.children) {\r\n root.children.forEach(item => {\r\n if (item.data.sumVisibility) {\r\n if (!binarySearch(expanded, item.data.id)) {\r\n expanded.push(item.data.id);\r\n expanded.sort();\r\n }\r\n if (depth - 1 > 0) {\r\n this.expandDepth(item, depth - 1, expanded);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {number} depth\r\n * @param {any[]} expanded\r\n */\r\n static collapseDepth(depth, expanded) {\r\n return expanded.filter(id => id.split('.').length <= depth);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n onExpandVisible() {\r\n if (this.state.depth < 9) {\r\n const depth = this.state.depth + 1;\r\n const expanded = [...this.state.expanded];\r\n this.expandDepth(this.root, depth, expanded);\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify(expanded),\r\n );\r\n this.setState({ depth, expanded });\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n onStatesViewVisible() {\r\n const statesView = !this.state.statesView;\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectStatesView`,\r\n JSON.stringify(statesView),\r\n );\r\n this.setState({ statesView });\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n onCollapseVisible() {\r\n if (this.state.depth > 0) {\r\n const depth = this.state.depth - 1;\r\n const expanded = ObjectBrowser.collapseDepth(depth, this.state.expanded);\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify(expanded),\r\n );\r\n this.setState({ depth, expanded });\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n */\r\n getEnumsForId = id => {\r\n const result = [];\r\n this.info.enums.forEach(_id => {\r\n if (this.objects[_id]?.common?.members?.includes(id)) {\r\n const en = {\r\n _id: this.objects[_id]._id,\r\n common: JSON.parse(JSON.stringify(this.objects[_id].common)),\r\n native: this.objects[_id].native,\r\n type: 'enum',\r\n };\r\n if (en.common) {\r\n delete en.common.members;\r\n delete en.common.custom;\r\n delete en.common.mobile;\r\n }\r\n result.push(en);\r\n }\r\n });\r\n\r\n return result.length ? result : undefined;\r\n };\r\n\r\n /**\r\n * @private\r\n * @param {array} enums\r\n * @param {string} objId\r\n */\r\n _createAllEnums = async (enums, objId) => {\r\n for (let e = 0; e < enums.length; e++) {\r\n let id = enums[e];\r\n let newObj;\r\n // some admin version delivered enums as string\r\n if (typeof id === 'object') {\r\n newObj = id;\r\n id = id._id;\r\n }\r\n let oldObj = this.objects[id];\r\n // if enum does not exist\r\n if (!oldObj) {\r\n // create a new one\r\n oldObj = newObj || {\r\n _id: id,\r\n common: {\r\n name: id.split('.').pop(),\r\n members: [],\r\n },\r\n native: {},\r\n type: 'enum',\r\n };\r\n\r\n oldObj.common = oldObj.common || {};\r\n oldObj.common.members = [objId];\r\n oldObj.type = 'enum';\r\n\r\n await this.props.socket.setObject(id, oldObj);\r\n } else if (!oldObj.common?.members?.includes(objId)) {\r\n oldObj.common = oldObj.common || {};\r\n oldObj.type = 'enum';\r\n oldObj.common.members = oldObj.common.members || [];\r\n // add the missing object\r\n oldObj.common.members.push(objId);\r\n oldObj.common.members.sort();\r\n await this.props.socket.setObject(id, oldObj);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @private\r\n * @param {any} objs\r\n */\r\n loadObjects = async objs => {\r\n if (objs) {\r\n for (const id in objs) {\r\n if (!Object.hasOwn(objs, id) || !objs[id]) {\r\n continue;\r\n }\r\n const obj = objs[id];\r\n let enums = null;\r\n let val;\r\n let ack;\r\n if (obj && obj.common && obj.common.enums) {\r\n enums = obj.common.enums;\r\n delete obj.common.enums;\r\n } else {\r\n enums = null;\r\n }\r\n\r\n if (obj.val) {\r\n val = obj.val;\r\n delete obj.val;\r\n }\r\n if (obj.ack !== undefined) {\r\n ack = obj.ack;\r\n delete obj.ack;\r\n }\r\n try {\r\n await this.props.socket.setObject(id, obj);\r\n enums && (await this._createAllEnums(enums, obj._id));\r\n if (obj.type === 'state') {\r\n if (val !== undefined && val !== null) {\r\n try {\r\n await this.props.socket.setState(\r\n obj._id,\r\n val,\r\n ack !== undefined ? ack : true,\r\n );\r\n } catch (e) {\r\n window.alert(`Cannot set state \"${obj._id} with ${val}\": ${e}`);\r\n }\r\n } else {\r\n try {\r\n const state = await this.props.socket.getState(obj._id);\r\n if (!state || state.val === null) {\r\n try {\r\n await this.props.socket.setState(\r\n obj._id,\r\n !obj.common || obj.common.def === undefined ? null : obj.common.def,\r\n true,\r\n );\r\n } catch (e) {\r\n window.alert(`Cannot set state \"${obj._id}\": ${e}`);\r\n }\r\n }\r\n } catch (e) {\r\n window.alert(`Cannot read state \"${obj._id}\": ${e}`);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n window.alert(error);\r\n }\r\n }\r\n }\r\n };\r\n\r\n _getSelectedIdsForExport() {\r\n if (this.state.selected.length || this.state.selectedNonObject) {\r\n const result = [];\r\n const keys = Object.keys(this.objects);\r\n keys.sort();\r\n const id = this.state.selected[0] || this.state.selectedNonObject;\r\n const idDot = `${id}.`;\r\n const idLen = idDot.length;\r\n for (let k = 0; k < keys.length; k++) {\r\n const key = keys[k];\r\n if (id === key || key.startsWith(idDot)) {\r\n result.push(key);\r\n }\r\n if (key.substring(0, idLen) > idDot) {\r\n break;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * Exports the selected objects based on the given options and triggers file generation\r\n * @param options Options to filter/reduce the output\r\n * @param options.isAll {boolean} Whether all objects should be exported or only the selected ones\r\n * @param options.beautify {boolean} Whether the output should be beautified\r\n * @param options.excludeSystemRepositories {boolean} Whether \"system.repositories\" should be excluded\r\n * @param options.excludeTranslations {boolean} Whether translations should be reduced to only the english value\r\n * @returns {Promise<void>}\r\n * @private\r\n */\r\n async _exportObjects(options) {\r\n if (options.isAll) {\r\n generateFile('allObjects.json', this.objects, options);\r\n return;\r\n }\r\n if (!(this.state.selected.length || this.state.selectedNonObject)) {\r\n window.alert(this.props.t('ra_Save of objects-tree is not possible'));\r\n return;\r\n }\r\n const result = {};\r\n const id = this.state.selected[0] || this.state.selectedNonObject;\r\n const ids = this._getSelectedIdsForExport();\r\n\r\n for (const key of ids) {\r\n result[key] = JSON.parse(JSON.stringify(this.objects[key]));\r\n // read states values\r\n if (result[key]?.type === 'state' && !options.noStatesByExportImport) {\r\n const state = await this.props.socket.getState(key);\r\n if (state) {\r\n result[key].val = state.val;\r\n result[key].ack = state.ack;\r\n }\r\n }\r\n // add enum information\r\n if (result[key].common) {\r\n const enums = this.getEnumsForId(key);\r\n if (enums) {\r\n result[key].common.enums = enums;\r\n }\r\n }\r\n }\r\n\r\n generateFile(`${id}.json`, result, options);\r\n }\r\n\r\n renderExportDialog() {\r\n if (this.state.showExportDialog === false) {\r\n return null;\r\n }\r\n return <Dialog open={!0}>\r\n <DialogTitle>{this.props.t('ra_Select type of export')}</DialogTitle>\r\n <DialogContent>\r\n <DialogContentText>\r\n {this.state.filter.expertMode || this.state.showAllExportOptions ?\r\n <>\r\n {this.props.t('ra_You can export all objects or just the selected branch.')}\r\n <br />\r\n {this.props.t('ra_Selected %s object(s)', this.state.showExportDialog)}\r\n <br />\r\n <FormControlLabel\r\n control={<Checkbox\r\n checked={this.state.noStatesByExportImport}\r\n onChange={e => this.setState({ noStatesByExportImport: e.target.checked })}\r\n />}\r\n label={this.props.t('ra_Do not export values of states')}\r\n />\r\n <br />\r\n {this.props.t('These options can reduce the size of the export file:')}\r\n <FormControlLabel\r\n control={<Checkbox\r\n checked={this.state.beautifyJsonExport}\r\n onChange={e => this.setState({ beautifyJsonExport: e.target.checked })}\r\n />}\r\n label={this.props.t('Beautify JSON output')}\r\n />\r\n <br />\r\n <FormControlLabel\r\n control={<Checkbox\r\n checked={this.state.excludeSystemRepositoriesFromExport}\r\n onChange={e => this.setState({ excludeSystemRepositoriesFromExport: e.target.checked })}\r\n />}\r\n label={this.props.t('Exclude system repositories from export JSON')}\r\n />\r\n <FormControlLabel\r\n control={<Checkbox\r\n checked={this.state.excludeTranslations}\r\n onChange={e => this.setState({ excludeTranslations: e.target.checked })}\r\n />}\r\n label={this.props.t('Exclude translations (except english) from export JSON')}\r\n />\r\n </> : null}\r\n </DialogContentText>\r\n </DialogContent>\r\n <DialogActions>\r\n {this.state.filter.expertMode || this.state.showAllExportOptions ? <Button\r\n color=\"grey\"\r\n variant=\"outlined\"\r\n onClick={() => this.setState(\r\n { showExportDialog: false, showAllExportOptions: false },\r\n () => this._exportObjects({\r\n isAll: true,\r\n noStatesByExportImport: this.state.noStatesByExportImport,\r\n beautify: this.state.beautifyJsonExport,\r\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\r\n excludeTranslations: this.state.excludeTranslations,\r\n }),\r\n )}\r\n >\r\n {this.props.t('ra_All objects')}\r\n {' '}\r\n(\r\n {Object.keys(this.objects).length}\r\n)\r\n </Button> : <Button\r\n color=\"grey\"\r\n variant=\"outlined\"\r\n startIcon={<IconExpert />}\r\n onClick={() => this.setState({ showAllExportOptions: true })}\r\n >\r\n {this.props.t('ra_Advanced options')}\r\n </Button>}\r\n <Button\r\n color=\"primary\"\r\n variant=\"contained\"\r\n autoFocus\r\n onClick={() => this.setState(\r\n { showExportDialog: false, showAllExportOptions: false },\r\n () => this._exportObjects({\r\n isAll: false,\r\n noStatesByExportImport: this.state.noStatesByExportImport,\r\n beautify: this.state.beautifyJsonExport,\r\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\r\n excludeTranslations: this.state.excludeTranslations,\r\n }),\r\n )}\r\n >\r\n {this.props.t('ra_Only selected')}\r\n {' '}\r\n(\r\n {this.state.showExportDialog}\r\n)\r\n </Button>\r\n <Button\r\n color=\"grey\"\r\n variant=\"contained\"\r\n onClick={() => this.setState({ showExportDialog: false, showAllExportOptions: false })}\r\n startIcon={<IconClose />}\r\n >\r\n {this.props.t('ra_Cancel')}\r\n </Button>\r\n </DialogActions>\r\n </Dialog>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {object} evt\r\n */\r\n handleJsonUpload = evt => {\r\n const f = evt.target.files[0];\r\n if (f) {\r\n const r = new FileReader();\r\n r.onload = async e => {\r\n const contents = e.target.result;\r\n try {\r\n const json = JSON.parse(contents);\r\n const len = Object.keys(json).length;\r\n const id = json._id;\r\n if (id === undefined && len) {\r\n await this.loadObjects(json);\r\n window.alert(this.props.t('ra_%s object(s) processed', len));\r\n } else {\r\n // it is only one object in form\r\n // {\r\n // \"_id\": \"xxx\",\r\n // \"common\": \"yyy\",\r\n // \"native\": \"zzz\"\r\n // \"val\": JSON.stringify(value)\r\n // \"ack\": true\r\n // }\r\n if (!id) {\r\n return window.alert(this.props.t('ra_Invalid structure'));\r\n }\r\n try {\r\n let enums;\r\n let val;\r\n let ack;\r\n if (json.common.enums) {\r\n enums = json.common.enums;\r\n delete json.common.enums;\r\n }\r\n if (json.val) {\r\n val = json.val;\r\n delete json.val;\r\n }\r\n if (json.ack !== undefined) {\r\n ack = json.ack;\r\n delete json.ack;\r\n }\r\n await this.props.socket.setObject(json._id, json);\r\n\r\n if (json.type === 'state') {\r\n if (val !== undefined && val !== null) {\r\n await this.props.socket.setState(json._id, val, ack === undefined ? true : ack);\r\n } else {\r\n const state = await this.props.socket.getState(json._id);\r\n if (!state || state.val === null || state.val === undefined) {\r\n await this.props.socket.setState(\r\n json._id,\r\n json.common.def === undefined ? null : json.common.def,\r\n true,\r\n );\r\n }\r\n }\r\n }\r\n if (enums) {\r\n await this._createAllEnums(enums, json._id);\r\n }\r\n\r\n window.alert(this.props.t('ra_%s was imported', json._id));\r\n } catch (err) {\r\n window.alert(err);\r\n }\r\n }\r\n } catch (err) {\r\n window.alert(err);\r\n }\r\n return null;\r\n };\r\n r.readAsText(f);\r\n } else {\r\n window.alert(this.props.t('ra_Failed to open JSON File'));\r\n }\r\n };\r\n\r\n toolTipObjectCreating = () => {\r\n const { t } = this.props;\r\n\r\n let value = [\r\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\r\n <div key={2}>{t('ra_Folder → State')}</div>,\r\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\r\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\r\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\r\n <div key={6}>{t('ra_Channel → State')}</div>,\r\n <div key={7} style={{ height: 10 }} />,\r\n <div key={8}>{t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}</div>,\r\n <div key={9}>\r\n {t(\r\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\r\n )}\r\n </div>,\r\n ];\r\n\r\n if (this.state.selected.length || this.state.selectedNonObject) {\r\n const id = this.state.selected[0] || this.state.selectedNonObject;\r\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id]?.type === 'state')) {\r\n // show default tooltip\r\n } else if (this.state.filter.expertMode) {\r\n switch (this.objects[id]?.type) {\r\n case 'device':\r\n value = [\r\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\r\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\r\n <div key={7} style={{ height: 10 }} />,\r\n <div key={8}>\r\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\r\n </div>,\r\n <div key={9}>\r\n {t(\r\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\r\n )}\r\n </div>,\r\n ];\r\n break;\r\n case 'folder':\r\n value = [\r\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\r\n <div key={2}>{t('ra_Folder → State')}</div>,\r\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\r\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\r\n <div key={7} style={{ height: 10 }} />,\r\n <div key={8}>\r\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\r\n </div>,\r\n <div key={9}>\r\n {t(\r\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\r\n )}\r\n </div>,\r\n ];\r\n break;\r\n case 'channel':\r\n value = [\r\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\r\n <div key={1}>{t('ra_Channel → State')}</div>,\r\n <div key={7} style={{ height: 10 }} />,\r\n <div key={8}>\r\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\r\n </div>,\r\n <div key={9}>\r\n {t(\r\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\r\n )}\r\n </div>,\r\n ];\r\n break;\r\n default:\r\n break;\r\n }\r\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\r\n value = [\r\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\r\n <div key={2}>{t('ra_Folder → State')}</div>,\r\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\r\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\r\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\r\n <div key={6}>{t('ra_Channel → State')}</div>,\r\n <div key={7} style={{ height: 10 }} />,\r\n <div key={7}>\r\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\r\n </div>,\r\n <div key={8}>\r\n {t(\r\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\r\n )}\r\n </div>,\r\n ];\r\n }\r\n }\r\n\r\n return value.length ? value : t('ra_Add new child object to selected parent');\r\n };\r\n\r\n /**\r\n * Renders the toolbar.\r\n * @returns {JSX.Element}\r\n */\r\n getToolbar() {\r\n let allowObjectCreation = false;\r\n if (this.state.selected.length || this.state.selectedNonObject) {\r\n const id = this.state.selected[0] || this.state.selectedNonObject;\r\n\r\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id].type === 'state')) {\r\n allowObjectCreation = false;\r\n } else if (this.state.filter.expertMode) {\r\n allowObjectCreation = true;\r\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\r\n allowObjectCreation = true;\r\n }\r\n }\r\n\r\n return <div\r\n style={{\r\n display: 'flex',\r\n width: '100%',\r\n alignItems: 'center',\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: 'flex',\r\n width: '100%',\r\n alignItems: 'center',\r\n }}\r\n >\r\n <Tooltip title={this.props.t('ra_Refresh tree')} classes={{ popper: this.props.classes.tooltip }}>\r\n <div>\r\n <IconButton\r\n onClick={() => this.refreshComponent()}\r\n disabled={this.state.updating}\r\n size=\"large\"\r\n >\r\n <RefreshIcon />\r\n </IconButton>\r\n </div>\r\n </Tooltip>\r\n {this.props.showExpertButton && !this.props.expertMode &&\r\n <Tooltip title={this.props.t('ra_expertMode')} classes={{ popper: this.props.classes.tooltip }}>\r\n <IconButton\r\n key=\"expertMode\"\r\n color={this.state.filter.expertMode ? 'secondary' : 'default'}\r\n onClick={() => this.onFilter('expertMode', !this.state.filter.expertMode)}\r\n size=\"large\"\r\n >\r\n <IconExpert />\r\n </IconButton>\r\n </Tooltip>}\r\n {!this.props.disableColumnSelector &&\r\n <Tooltip title={this.props.t('ra_Configure')} classes={{ popper: this.props.classes.tooltip }}>\r\n <IconButton\r\n key=\"columnSelector\"\r\n color={this.state.columnsAuto ? 'primary' : 'default'}\r\n onClick={() => this.setState({ columnsSelectorShow: true })}\r\n size=\"large\"\r\n >\r\n <IconColumns />\r\n </IconButton>\r\n </Tooltip>}\r\n {this.state.expandAllVisible &&\r\n <Tooltip\r\n title={this.props.t('ra_Expand all nodes')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n key=\"expandAll\"\r\n onClick={() => this.onExpandAll()}\r\n size=\"large\"\r\n >\r\n <IconOpen />\r\n </IconButton>\r\n </Tooltip>}\r\n <Tooltip\r\n title={this.props.t('ra_Collapse all nodes')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n key=\"collapseAll\"\r\n onClick={() => this.onCollapseAll()}\r\n size=\"large\"\r\n >\r\n <IconClosed />\r\n </IconButton>\r\n </Tooltip>\r\n <Tooltip\r\n title={this.props.t('ra_Expand one step node')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n key=\"expandVisible\"\r\n color=\"primary\"\r\n onClick={() => this.onExpandVisible()}\r\n size=\"large\"\r\n >\r\n <StyledBadge badgeContent={this.state.depth} color=\"secondary\">\r\n <IconOpen />\r\n </StyledBadge>\r\n </IconButton>\r\n </Tooltip>\r\n <Tooltip\r\n title={this.props.t('ra_Collapse one step node')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n key=\"collapseVisible\"\r\n color=\"primary\"\r\n onClick={() => this.onCollapseVisible()}\r\n size=\"large\"\r\n >\r\n <StyledBadge badgeContent={this.state.depth} color=\"secondary\">\r\n <IconClosed />\r\n </StyledBadge>\r\n </IconButton>\r\n </Tooltip>\r\n {this.props.objectStatesView &&\r\n <Tooltip\r\n title={this.props.t('ra_Toggle the states view')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n onClick={() => this.onStatesViewVisible()}\r\n size=\"large\"\r\n >\r\n <LooksOneIcon color={this.state.statesView ? 'primary' : 'inherit'} />\r\n </IconButton>\r\n </Tooltip>}\r\n\r\n <Tooltip\r\n title={this.props.t('ra_Show/Hide object descriptions')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n onClick={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.desc`,\r\n this.state.showDescription ? 'false' : 'true',\r\n );\r\n this.setState({ showDescription: !this.state.showDescription });\r\n }}\r\n size=\"large\"\r\n >\r\n <TextFieldsIcon color={this.state.showDescription ? 'primary' : 'inherit'} />\r\n </IconButton>\r\n </Tooltip>\r\n\r\n {this.props.objectAddBoolean ?\r\n <Tooltip title={this.toolTipObjectCreating()} classes={{ popper: this.props.classes.tooltip }}>\r\n <div>\r\n <IconButton\r\n disabled={!allowObjectCreation}\r\n onClick={() => this.setState({\r\n modalNewObj: {\r\n id: this.state.selected[0] || this.state.selectedNonObject,\r\n },\r\n })}\r\n size=\"large\"\r\n >\r\n <AddIcon />\r\n </IconButton>\r\n </div>\r\n </Tooltip> : null}\r\n\r\n {this.props.objectImportExport &&\r\n <Tooltip\r\n title={this.props.t('ra_Add objects tree from JSON file')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n onClick={() => {\r\n const input = document.createElement('input');\r\n input.setAttribute('type', 'file');\r\n input.setAttribute('id', 'files');\r\n input.setAttribute('opacity', 0);\r\n input.addEventListener('change', e => this.handleJsonUpload(e), false);\r\n input.click();\r\n }}\r\n size=\"large\"\r\n >\r\n <PublishIcon />\r\n </IconButton>\r\n </Tooltip>}\r\n {this.props.objectImportExport &&\r\n (!!this.state.selected.length || this.state.selectedNonObject) &&\r\n <Tooltip\r\n title={this.props.t('ra_Save objects tree as JSON file')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n onClick={() =>\r\n this.setState({ showExportDialog: this._getSelectedIdsForExport().length })}\r\n size=\"large\"\r\n >\r\n <PublishIcon style={{ transform: 'rotate(180deg)' }} />\r\n </IconButton>\r\n </Tooltip>}\r\n </div>\r\n {!!this.props.objectBrowserEditObject &&\r\n <div style={{ display: 'flex', whiteSpace: 'nowrap' }}>\r\n {`${this.props.t('ra_Objects')}: ${Object.keys(this.info.objects).length}, ${this.props.t(\r\n 'ra_States',\r\n )}: ${\r\n Object.keys(this.info.objects).filter(el => this.info.objects[el].type === 'state').length\r\n }`}\r\n </div>}\r\n {this.props.objectEditBoolean &&\r\n <Tooltip\r\n title={this.props.t('ra_Edit custom config')}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <IconButton\r\n onClick={() => {\r\n // get all visible states\r\n const ids = getVisibleItems(this.root, 'state', this.objects);\r\n\r\n if (ids.length) {\r\n this.pauseSubscribe(true);\r\n\r\n if (ids.length === 1) {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectSelected`,\r\n this.state.selected[0],\r\n );\r\n this.props.router &&\r\n this.props.router.doNavigate(null, 'custom', this.state.selected[0]);\r\n }\r\n this.setState({ customDialog: ids });\r\n } else {\r\n this.setState({ toast: this.props.t('ra_please select object') });\r\n }\r\n }}\r\n size=\"large\"\r\n >\r\n <BuildIcon />\r\n </IconButton>\r\n </Tooltip>}\r\n </div>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n */\r\n toggleExpanded(id) {\r\n const expanded = JSON.parse(JSON.stringify(this.state.expanded));\r\n const pos = expanded.indexOf(id);\r\n if (pos === -1) {\r\n expanded.push(id);\r\n expanded.sort();\r\n } else {\r\n expanded.splice(pos, 1);\r\n }\r\n\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectExpanded`,\r\n JSON.stringify(expanded),\r\n );\r\n\r\n this.setState({ expanded });\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {Event} e\r\n * @param {string} text\r\n */\r\n onCopy(e, text) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n Utils.copyToClipboard(text, null);\r\n if (text.length < 50) {\r\n this.setState({ toast: this.props.t('ra_Copied %s', text) });\r\n } else {\r\n this.setState({ toast: this.props.t('ra_Copied') });\r\n }\r\n }\r\n\r\n renderTooltipAccessControl = acl => {\r\n // acl ={object,state,owner,ownerGroup}\r\n if (!acl) {\r\n return null;\r\n }\r\n const check = [\r\n {\r\n value: '0x400',\r\n valueNum: 0x400,\r\n title: 'read',\r\n group: 'Owner',\r\n },\r\n {\r\n value: '0x200',\r\n valueNum: 0x200,\r\n title: 'write',\r\n group: 'Owner',\r\n },\r\n {\r\n value: '0x40',\r\n valueNum: 0x40,\r\n title: 'read',\r\n group: 'Group',\r\n },\r\n {\r\n value: '0x20',\r\n valueNum: 0x20,\r\n title: 'write',\r\n group: 'Group',\r\n },\r\n {\r\n value: '0x4',\r\n valueNum: 0x4,\r\n title: 'read',\r\n group: 'Everyone',\r\n },\r\n {\r\n value: '0x2',\r\n valueNum: 0x2,\r\n title: 'write',\r\n group: 'Everyone',\r\n },\r\n ];\r\n const arrayTooltipText = [];\r\n const funcRenderStateObject = (value = 'object') => {\r\n const rights = acl[value];\r\n check.forEach((el, i) => {\r\n // eslint-disable-next-line no-bitwise\r\n if (rights & el.valueNum) {\r\n arrayTooltipText.push(\r\n <span key={value + i}>\r\n {this.texts[`acl${el.group}_${el.title}_${value}`]}\r\n,\r\n <span\r\n className={\r\n value === 'object'\r\n ? this.props.classes.rightsObject\r\n : this.props.classes.rightsState\r\n }\r\n >\r\n {el.value}\r\n </span>\r\n </span>,\r\n );\r\n }\r\n });\r\n };\r\n arrayTooltipText.push(\r\n <span key=\"group\">\r\n {`${this.texts.ownerGroup}: ${(acl.ownerGroup || '').replace(\r\n 'system.group.',\r\n '',\r\n )}`}\r\n </span>,\r\n );\r\n arrayTooltipText.push(\r\n <span key=\"owner\">{`${this.texts.ownerUser}: ${(acl.owner || '').replace('system.user.', '')}`}</span>,\r\n );\r\n funcRenderStateObject();\r\n if (acl.state) {\r\n funcRenderStateObject('state');\r\n }\r\n\r\n return arrayTooltipText.length ?\r\n <span className={this.props.classes.tooltipAccessControl}>{arrayTooltipText.map(el => el)}</span>\r\n :\r\n '';\r\n };\r\n\r\n /**\r\n * @param {string} id\r\n * @param {{ data: { obj: { type: string; }; hasCustoms: any; }; }} item\r\n * @param {{ cellButtonsButton: string | undefined; cellButtonsButtonAlone: any; cellButtonsButtonIcon: string | undefined; cellButtonsButtonWithCustoms: any; }} classes\r\n */\r\n renderColumnButtons(id, item, classes) {\r\n if (!item.data.obj) {\r\n return this.props.onObjectDelete || this.props.objectEditOfAccessControl ?\r\n <div className={classes.buttonDiv}>\r\n {this.state.filter.expertMode && this.props.objectEditOfAccessControl ?\r\n <IconButton\r\n className={Utils.clsx(\r\n classes.cellButtonsButton,\r\n classes.cellButtonsEmptyButton,\r\n classes.cellButtonMinWidth,\r\n )}\r\n onClick={() =>\r\n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\r\n size=\"large\"\r\n >\r\n ---\r\n </IconButton> : null}\r\n {this.props.onObjectDelete && item.children && item.children.length ?\r\n <IconButton\r\n className={Utils.clsx(classes.cellButtonsButton, classes.cellButtonsButtonAlone)}\r\n size=\"small\"\r\n aria-label=\"delete\"\r\n title={this.texts.deleteObject}\r\n onClick={() => {\r\n // calculate number of children\r\n const keys = Object.keys(this.objects);\r\n keys.sort();\r\n let count = 0;\r\n const start = `${id}.`;\r\n for (let i = 0; i < keys.length; i++) {\r\n if (keys[i].startsWith(start)) {\r\n count++;\r\n } else if (keys[i] > start) {\r\n break;\r\n }\r\n }\r\n\r\n this.props.onObjectDelete(\r\n id,\r\n !!item.children?.length,\r\n false,\r\n count + 1,\r\n );\r\n }}\r\n >\r\n <IconDelete className={classes.cellButtonsButtonIcon} />\r\n </IconButton> : null}\r\n </div> : null;\r\n }\r\n\r\n item.data.aclTooltip = item.data.aclTooltip || this.renderTooltipAccessControl(item.data.obj.acl);\r\n\r\n const acl = item.data.obj.acl\r\n ? item.data.obj.type === 'state'\r\n ? item.data.obj.acl.state\r\n : item.data.obj.acl.object\r\n : 0;\r\n const aclSystemConfig =\r\n item.data.obj.acl &&\r\n (item.data.obj.type === 'state'\r\n ? this.systemConfig.common.defaultNewAcl.state\r\n : this.systemConfig.common.defaultNewAcl.object);\r\n\r\n const showEdit = this.state.filter.expertMode || this.isNonExpertId(item.data.id);\r\n\r\n return [\r\n this.state.filter.expertMode && this.props.objectEditOfAccessControl ?\r\n <Tooltip key=\"acl\" title={item.data.aclTooltip} classes={{ popper: this.props.classes.tooltip }}>\r\n <IconButton\r\n className={classes.cellButtonMinWidth}\r\n onClick={() => this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\r\n size=\"large\"\r\n >\r\n <div className={classes.aclText}>\r\n {Number.isNaN(Number(acl))\r\n ? Number(aclSystemConfig).toString(16)\r\n : Number(acl).toString(16)}\r\n </div>\r\n </IconButton>\r\n </Tooltip>\r\n :\r\n <div key=\"aclEmpty\" className={classes.cellButtonMinWidth} />,\r\n showEdit ? <IconButton\r\n key=\"edit\"\r\n className={classes.cellButtonsButton}\r\n size=\"small\"\r\n aria-label=\"edit\"\r\n title={this.texts.editObject}\r\n onClick={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectSelected`,\r\n id,\r\n );\r\n this.setState({ editObjectDialog: id, editObjectAlias: false });\r\n }}\r\n >\r\n <IconEdit className={classes.cellButtonsButtonIcon} />\r\n </IconButton> : <div key=\"editDisabled\" className={classes.cellButtonsButton} />,\r\n this.props.onObjectDelete && (item.children?.length || !item.data.obj.common?.dontDelete) ?\r\n <IconButton\r\n key=\"delete\"\r\n className={classes.cellButtonsButton}\r\n size=\"small\"\r\n aria-label=\"delete\"\r\n onClick={() => {\r\n const keys = Object.keys(this.objects);\r\n keys.sort();\r\n let count = 0;\r\n const start = `${id}.`;\r\n for (let i = 0; i < keys.length; i++) {\r\n if (keys[i].startsWith(start)) {\r\n count++;\r\n } else if (keys[i] > start) {\r\n break;\r\n }\r\n }\r\n this.props.onObjectDelete(\r\n id,\r\n !!item.children?.length,\r\n !item.data.obj.common?.dontDelete,\r\n count,\r\n );\r\n }}\r\n title={this.texts.deleteObject}\r\n >\r\n <IconDelete className={classes.cellButtonsButtonIcon} />\r\n </IconButton> : null,\r\n this.props.objectCustomDialog &&\r\n this.info.hasSomeCustoms &&\r\n item.data.obj.type === 'state' &&\r\n item.data.obj.common?.type !== 'file' ?\r\n <IconButton\r\n className={Utils.clsx(\r\n classes.cellButtonsButton,\r\n item.data.hasCustoms\r\n ? classes.cellButtonsButtonWithCustoms\r\n : classes.cellButtonsButtonWithoutCustoms,\r\n )}\r\n key=\"custom\"\r\n size=\"small\"\r\n aria-label=\"config\"\r\n title={this.texts.customConfig}\r\n onClick={() => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.objectSelected`,\r\n id,\r\n );\r\n\r\n this.pauseSubscribe(true);\r\n this.props.router && this.props.router.doNavigate(null, 'customs', id);\r\n this.setState({ customDialog: [id] });\r\n }}\r\n >\r\n <IconConfig className={classes.cellButtonsButtonIcon} />\r\n </IconButton> : null,\r\n ];\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n */\r\n readHistory(id) {\r\n /* interface GetHistoryOptions {\r\n instance?: string;\r\n start?: number;\r\n end?: number;\r\n step?: number;\r\n count?: number;\r\n from?: boolean;\r\n ack?: boolean;\r\n q?: boolean;\r\n addID?: boolean;\r\n limit?: number;\r\n ignoreNull?: boolean;\r\n sessionId?: any;\r\n aggregate?: 'minmax' | 'min' | 'max' | 'average' | 'total' | 'count' | 'none';\r\n } */\r\n if (\r\n window.sparkline &&\r\n this.defaultHistory &&\r\n this.objects[id] &&\r\n this.objects[id].common &&\r\n this.objects[id].common.custom &&\r\n this.objects[id].common.custom[this.defaultHistory]\r\n ) {\r\n const now = new Date();\r\n now.setHours(now.getHours() - 24);\r\n now.setMinutes(0);\r\n now.setSeconds(0);\r\n now.setMilliseconds(0);\r\n const nowMs = now.getTime();\r\n\r\n this.props.socket\r\n .getHistory(id, {\r\n instance: this.defaultHistory,\r\n start: nowMs,\r\n end: Date.now(),\r\n step: 3600000,\r\n from: false,\r\n ack: false,\r\n q: false,\r\n addID: false,\r\n aggregate: 'minmax',\r\n })\r\n .then(values => {\r\n const sparks = window.document.getElementsByClassName('sparkline');\r\n\r\n for (let s = 0; s < sparks.length; s++) {\r\n if (sparks[s].dataset.id === id) {\r\n const v = prepareSparkData(values, nowMs);\r\n\r\n window.sparkline.sparkline(sparks[s], v);\r\n break;\r\n }\r\n }\r\n })\r\n .catch(e => console.warn(`Cannot read history: ${e}`));\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {string} id\r\n * @param {any} item\r\n * @param {Record<string, any>} classes\r\n * @returns {JSX.Element | null}\r\n */\r\n renderColumnValue(id, item, classes) {\r\n const obj = item.data.obj;\r\n if (!obj || !this.states) {\r\n return null;\r\n }\r\n\r\n if (obj.common?.type === 'file') {\r\n return <div className={Utils.clsx(classes.cellValueText, classes.cellValueFile)}>[file]</div>;\r\n }\r\n if (!this.states[id]) {\r\n if (obj.type === 'state') {\r\n !this.recordStates.includes(id) && this.recordStates.push(id);\r\n this.states[id] = { val: null };\r\n this.subscribe(id);\r\n }\r\n return null;\r\n }\r\n !this.recordStates.includes(id) && this.recordStates.push(id);\r\n\r\n const state = this.states[id];\r\n let info = item.data.state;\r\n if (!info) {\r\n item.data.state = formatValue({\r\n state,\r\n obj,\r\n texts: this.texts,\r\n dateFormat: this.props.dateFormat,\r\n isFloatComma: this.props.isFloatComma,\r\n });\r\n info = item.data.state;\r\n\r\n info.valFull = info.valFull.map(_item => {\r\n if (_item.t === this.texts.quality && state.q) {\r\n return [\r\n <div className={classes.cellValueTooltipBoth} key={_item.t}>\r\n {_item.t}\r\n : \r\n {_item.v}\r\n </div>,\r\n // <div className={classes.cellValueTooltipValue} key={item.t + '_v'}>{item.v}</div>,\r\n !_item.nbr ? <br key={`${_item.t}_br`} /> : null,\r\n ];\r\n }\r\n return [\r\n <div className={classes.cellValueTooltipTitle} key={_item.t}>\r\n {_item.t}\r\n : \r\n </div>,\r\n <div className={classes.cellValueTooltipValue} key={`${_item.t}_v`}>\r\n {_item.v}\r\n </div>,\r\n !_item.nbr ? <br key={`${_item.t}_br`} /> : null,\r\n ];\r\n });\r\n\r\n if (\r\n this.defaultHistory &&\r\n this.objects[id] &&\r\n this.objects[id].common &&\r\n this.objects[id].common.custom &&\r\n this.objects[id].common.custom[this.defaultHistory]\r\n ) {\r\n info.valFull.push(<svg\r\n key=\"sparkline\"\r\n className=\"sparkline\"\r\n data-id={id}\r\n style={{ fill: '#3d85de' }}\r\n width=\"200\"\r\n height=\"30\"\r\n strokeWidth=\"3\"\r\n />);\r\n }\r\n\r\n const copyText = info.valText.v || '';\r\n info.val = copyText;\r\n info.valText = [\r\n <span className={classes.newValue} key={`${info.valText.v.toString()}valText`}>\r\n {info.valText.v.toString()}\r\n </span>,\r\n info.valText.u ? <span\r\n className={Utils.clsx(classes.cellValueTextUnit, classes.newValue)}\r\n key={`${info.valText.v.toString()}unit`}\r\n >\r\n {info.valText.u}\r\n </span> : null,\r\n info.valText.s !== undefined ? <span\r\n className={Utils.clsx(classes.cellValueTextState, classes.newValue)}\r\n key={`${info.valText.v.toString()}states`}\r\n >\r\n (\r\n {info.valText.s}\r\n)\r\n </span> : null,\r\n <IconCopy\r\n className={Utils.clsx(\r\n classes.cellButtonsValueButton,\r\n 'copyButton',\r\n classes.cellButtonsValueButtonCopy,\r\n )}\r\n onClick={e => this.onCopy(e, copyText)}\r\n key=\"cc\"\r\n />,\r\n // <IconEdit className={ Utils.clsx(classes.cellButtonsValueButton, 'copyButton', classes.cellButtonsValueButtonEdit) } key=\"ce\" />\r\n ];\r\n }\r\n\r\n info.style = getValueStyle({ state, isExpertMode: this.state.filter.expertMode, isButton: item.data.button });\r\n\r\n let val = info.valText;\r\n if (!this.state.filter.expertMode && item.data.button) {\r\n val = <PressButtonIcon className={this.props.classes.cellValueButton} />;\r\n }\r\n\r\n return <Tooltip\r\n key=\"value\"\r\n title={info.valFull}\r\n classes={{\r\n tooltip: this.props.classes.cellValueTooltip,\r\n popper: this.props.classes.cellValueTooltipBox,\r\n }}\r\n onOpen={() => this.readHistory(id)}\r\n >\r\n <div style={info.style} className={classes.cellValueText}>\r\n {val}\r\n </div>\r\n </Tooltip>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {undefined}\r\n */\r\n _syncEnum(id, enumIds, newArray, cb) {\r\n if (!enumIds || !enumIds.length) {\r\n cb && cb();\r\n return;\r\n }\r\n const enumId = enumIds.pop();\r\n const promises = [];\r\n if (this.info.objects[enumId]?.common) {\r\n if (this.info.objects[enumId].common.members?.length) {\r\n const pos = this.info.objects[enumId].common.members.indexOf(id);\r\n if (pos !== -1 && !newArray.includes(enumId)) {\r\n // delete from members\r\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\r\n obj.common.members.splice(pos, 1);\r\n promises.push(\r\n this.props.socket\r\n .setObject(enumId, obj)\r\n .then(() => (this.info.objects[enumId] = obj))\r\n .catch(e => this.showError(e)),\r\n );\r\n }\r\n }\r\n\r\n // add to it\r\n if (newArray.includes(enumId) && !this.info.objects[enumId].common.members?.includes(id)) {\r\n // add to object\r\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\r\n obj.common.members = obj.common.members || [];\r\n obj.common.members.push(id);\r\n obj.common.members.sort();\r\n promises.push(\r\n this.props.socket\r\n .setObject(enumId, obj)\r\n .then(() => (this.info.objects[enumId] = obj))\r\n .catch(e => this.showError(e)),\r\n );\r\n }\r\n }\r\n\r\n Promise.all(promises)\r\n .then(() => setTimeout(() =>\r\n this._syncEnum(id, enumIds, newArray, cb), 0));\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {Promise}\r\n */\r\n syncEnum(id, enumName, newArray) {\r\n const toCheck = [...this.info[enumName === 'func' ? 'funcEnums' : 'roomEnums']];\r\n\r\n return new Promise(resolve => {\r\n this._syncEnum(id, toCheck, newArray, error => {\r\n error && this.showError(error);\r\n // force update of object\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderEnumDialog() {\r\n if (this.state.enumDialog) {\r\n const type = this.state.enumDialog.type;\r\n const item = this.state.enumDialog.item;\r\n const itemEnums = this.state.enumDialogEnums;\r\n const enumsOriginal = this.state.enumDialog.enumsOriginal;\r\n\r\n const enums = (type === 'room' ? this.info.roomEnums : this.info.funcEnums)\r\n .map(id => ({\r\n name: getName(\r\n this.objects[id]?.common?.name ||\r\n id.split('.').pop(),\r\n this.props.lang,\r\n ),\r\n value: id,\r\n icon: getSelectIdIcon(this.objects, id, this.imagePrefix),\r\n }))\r\n .sort((a, b) => (a.name > b.name ? 1 : -1));\r\n\r\n enums.forEach(_item => {\r\n if (_item.icon && typeof _item.icon === 'string') {\r\n _item.icon = <div className={this.props.classes.enumIconDiv}>\r\n <img src={_item.icon} className={this.props.classes.enumIcon} alt={_item.name} />\r\n </div>;\r\n }\r\n });\r\n\r\n // const hasIcons = !!enums.find(item => item.icon);\r\n\r\n return <Dialog\r\n className={this.props.classes.enumDialog}\r\n onClose={() => this.setState({ enumDialog: null })}\r\n aria-labelledby=\"enum-dialog-title\"\r\n open={!0} // true\r\n >\r\n <DialogTitle id=\"enum-dialog-title\">\r\n {type === 'func' ? this.props.t('ra_Define functions') : this.props.t('ra_Define rooms')}\r\n <Fab\r\n className={this.props.classes.enumButton}\r\n color=\"primary\"\r\n disabled={JSON.stringify(enumsOriginal) === JSON.stringify(itemEnums)}\r\n size=\"small\"\r\n onClick={() =>\r\n this.syncEnum(item.data.id, type, itemEnums)\r\n .then(() => this.setState({ enumDialog: null, enumDialogEnums: null }))}\r\n >\r\n <IconCheck />\r\n </Fab>\r\n </DialogTitle>\r\n <List classes={{ root: this.props.classes.enumList }}>\r\n {enums.map(_item => {\r\n let id;\r\n let name;\r\n let icon;\r\n\r\n if (typeof _item === 'object') {\r\n id = _item.value;\r\n name = _item.name;\r\n icon = _item.icon;\r\n } else {\r\n id = _item;\r\n name = _item;\r\n }\r\n const labelId = `checkbox-list-label-${id}`;\r\n\r\n return <ListItem\r\n className={this.props.classes.headerCellSelectItem}\r\n key={id}\r\n onClick={() => {\r\n const pos = itemEnums.indexOf(id);\r\n const enumDialogEnums = JSON.parse(JSON.stringify(this.state.enumDialogEnums));\r\n if (pos === -1) {\r\n enumDialogEnums.push(id);\r\n enumDialogEnums.sort();\r\n } else {\r\n enumDialogEnums.splice(pos, 1);\r\n }\r\n this.setState({ enumDialogEnums });\r\n }}\r\n >\r\n <ListItemIcon classes={{ root: this.props.classes.enumCheckbox }}>\r\n <Checkbox\r\n edge=\"start\"\r\n checked={itemEnums.includes(id)}\r\n tabIndex={-1}\r\n disableRipple\r\n inputProps={{ 'aria-labelledby': labelId }}\r\n />\r\n </ListItemIcon>\r\n <ListItemText id={labelId}>{name}</ListItemText>\r\n {icon ? <ListItemSecondaryAction>{icon}</ListItemSecondaryAction> : null}\r\n </ListItem>;\r\n })}\r\n </List>\r\n </Dialog>;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderEditRoleDialog() {\r\n if (this.state.roleDialog && this.props.objectBrowserEditRole) {\r\n const ObjectBrowserEditRole = this.props.objectBrowserEditRole;\r\n return <ObjectBrowserEditRole\r\n key=\"objectBrowserEditRole\"\r\n id={this.state.roleDialog}\r\n socket={this.props.socket}\r\n t={this.props.t}\r\n roles={this.info.roles}\r\n onClose={obj => {\r\n if (obj) {\r\n this.info.objects[this.state.roleDialog] = obj;\r\n }\r\n this.setState({ roleDialog: false });\r\n }}\r\n />;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {boolean} [isSave]\r\n */\r\n onColumnsEditCustomDialogClose(isSave) {\r\n if (isSave) {\r\n let value = this.customColumnDialog.value;\r\n if (this.customColumnDialog.type === 'boolean') {\r\n value = value === 'true' || value === true;\r\n } else if (this.customColumnDialog.type === 'number') {\r\n value = parseFloat(value);\r\n }\r\n this.customColumnDialog = null;\r\n this.props.socket\r\n .getObject(this.state.columnsEditCustomDialog.obj._id)\r\n .then(obj => {\r\n if (ObjectBrowser.setCustomValue(obj, this.state.columnsEditCustomDialog.it, value)) {\r\n return this.props.socket.setObject(obj._id, obj);\r\n }\r\n throw new Error(this.props.t('ra_Cannot update attribute, because not found in the object'));\r\n })\r\n .then(() => this.setState({ columnsEditCustomDialog: null }))\r\n .catch(e => this.showError(e));\r\n } else {\r\n this.customColumnDialog = null;\r\n this.setState({ columnsEditCustomDialog: null });\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n renderColumnsEditCustomDialog() {\r\n if (this.state.columnsEditCustomDialog) {\r\n if (!this.customColumnDialog) {\r\n const value = ObjectBrowser.getCustomValue(\r\n this.state.columnsEditCustomDialog.obj,\r\n this.state.columnsEditCustomDialog.it,\r\n );\r\n this.customColumnDialog = {\r\n type: this.state.columnsEditCustomDialog.it.type || typeof value,\r\n initValue: (value === null || value === undefined ? '' : value).toString(),\r\n value: (value === null || value === undefined ? '' : value).toString(),\r\n };\r\n }\r\n\r\n return <Dialog\r\n onClose={() => this.setState({ columnsEditCustomDialog: null })}\r\n maxWidth=\"md\"\r\n aria-labelledby=\"custom-dialog-title\"\r\n open={!0}\r\n >\r\n <DialogTitle id=\"custom-dialog-title\">\r\n {`${this.props.t('ra_Edit object field')}: ${\r\n this.state.columnsEditCustomDialog.obj._id\r\n }`}\r\n </DialogTitle>\r\n <DialogContent>\r\n <DialogContentText id=\"alert-dialog-description\">\r\n {this.customColumnDialog.type === 'boolean' ?\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n onKeyUp={e => e.keyCode === 13 && this.onColumnsEditCustomDialogClose(true)}\r\n defaultChecked={this.customColumnDialog.value === 'true'}\r\n onChange={e => {\r\n this.customColumnDialog.value = e.target.checked.toString();\r\n const changed =\r\n this.customColumnDialog.value !== this.customColumnDialog.initValue;\r\n if (changed === !this.state.customColumnDialogValueChanged) {\r\n this.setState({ customColumnDialogValueChanged: changed });\r\n }\r\n }}\r\n />\r\n }\r\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\r\n />\r\n :\r\n <TextField\r\n variant=\"standard\"\r\n defaultValue={this.customColumnDialog.value}\r\n fullWidth\r\n onKeyUp={e => e.keyCode === 13 && this.onColumnsEditCustomDialogClose(true)}\r\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\r\n onChange={e => {\r\n this.customColumnDialog.value = e.target.value;\r\n const changed =\r\n this.customColumnDialog.value !== this.customColumnDialog.initValue;\r\n if (changed === !this.state.customColumnDialogValueChanged) {\r\n this.setState({ customColumnDialogValueChanged: changed });\r\n }\r\n }}\r\n autoFocus\r\n />}\r\n </DialogContentText>\r\n </DialogContent>\r\n <DialogActions>\r\n <Button\r\n variant=\"contained\"\r\n onClick={() => this.onColumnsEditCustomDialogClose(true)}\r\n disabled={!this.state.customColumnDialogValueChanged}\r\n color=\"primary\"\r\n startIcon={<IconCheck />}\r\n >\r\n {this.props.t('ra_Update')}\r\n </Button>\r\n <Button\r\n color=\"grey\"\r\n variant=\"contained\"\r\n onClick={() => this.onColumnsEditCustomDialogClose()}\r\n startIcon={<IconClose />}\r\n >\r\n {this.props.t('ra_Cancel')}\r\n </Button>\r\n </DialogActions>\r\n </Dialog>;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {any} obj\r\n * @param {any} it\r\n */\r\n static getCustomValue(obj, it) {\r\n if (obj && obj._id && obj._id.startsWith(`${it.adapter}.`) && it.path.length > 1) {\r\n const p = it.path;\r\n let value;\r\n if (obj[p[0]] && typeof obj[p[0]] === 'object') {\r\n if (p.length === 2) {\r\n // most common case\r\n value = obj[p[0]][p[1]];\r\n } else if (p.length === 3) {\r\n value = obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object' ? obj[p[0]][p[1]][p[2]] : null;\r\n } else if (p.length === 4) {\r\n value =\r\n obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object' && obj[p[0]][p[1]][p[2]]\r\n ? obj[p[0]][p[1]][p[2]][p[3]]\r\n : null;\r\n } else if (p.length === 5) {\r\n value =\r\n obj[p[0]][p[1]] &&\r\n typeof obj[p[0]][p[1]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]] &&\r\n obj[p[0]][p[1]][p[2]][p[3]]\r\n ? obj[p[0]][p[1]][p[2]][p[3]][p[4]]\r\n : null;\r\n } else if (p.length === 6) {\r\n value =\r\n obj[p[0]][p[1]] &&\r\n typeof obj[p[0]][p[1]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]] &&\r\n obj[p[0]][p[1]][p[2]][p[3]] &&\r\n obj[p[0]][p[1]][p[2]][p[3]][p[4]]\r\n ? obj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]]\r\n : null;\r\n }\r\n if (value === undefined || value === null) {\r\n return null;\r\n }\r\n return value;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {any} obj\r\n * @param {any} it\r\n * @param {any} value\r\n */\r\n static setCustomValue(obj, it, value) {\r\n if (obj && obj._id && obj._id.startsWith(`${it.adapter}.`) && it.path.length > 1) {\r\n const p = it.path;\r\n if (obj[p[0]] && typeof obj[p[0]] === 'object') {\r\n if (p.length === 2) {\r\n // most common case\r\n obj[p[0]][p[1]] = value;\r\n return true;\r\n }\r\n if (p.length === 3) {\r\n if (obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object') {\r\n obj[p[0]][p[1]][p[2]] = value;\r\n return true;\r\n }\r\n } else if (p.length === 4) {\r\n if (\r\n obj[p[0]][p[1]] &&\r\n typeof obj[p[0]][p[1]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]] &&\r\n typeof obj[p[0]][p[1]][p[2]] === 'object'\r\n ) {\r\n obj[p[0]][p[1]][p[2]][p[3]] = value;\r\n return true;\r\n }\r\n } else if (p.length === 5) {\r\n if (\r\n obj[p[0]][p[1]] &&\r\n typeof obj[p[0]][p[1]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]] &&\r\n typeof obj[p[0]][p[1]][p[2]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]][p[3]] &&\r\n typeof obj[p[0]][p[1]][p[2]][p[3]] === 'object'\r\n ) {\r\n obj[p[0]][p[1]][p[2]][p[3]][p[4]] = value;\r\n return true;\r\n }\r\n } else if (p.length === 6) {\r\n if (\r\n obj[p[0]][p[1]] &&\r\n typeof obj[p[0]][p[1]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]] &&\r\n typeof obj[p[0]][p[1]][p[2]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]][p[3]] &&\r\n typeof obj[p[0]][p[1]][p[2]][p[3]] === 'object' &&\r\n obj[p[0]][p[1]][p[2]][p[3]][p[4]] &&\r\n typeof obj[p[0]][p[1]][p[2]][p[3]][p[4]] === 'object'\r\n ) {\r\n obj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]] = value;\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Renders a custom value.\r\n * @param {any} obj\r\n * @param {any} it\r\n * @param {any} item\r\n * @returns {JSX.Element | null}\r\n */\r\n renderCustomValue(obj, it, item) {\r\n const text = ObjectBrowser.getCustomValue(obj, it);\r\n if (text !== null && text !== undefined) {\r\n if (it.edit && !this.props.notEditable && (!it.objTypes || it.objTypes.includes(obj.type))) {\r\n return <div\r\n className={Utils.clsx(\r\n this.props.classes.columnCustom,\r\n this.props.classes.columnCustomEditable,\r\n this.props.classes[`columnCustom_${it.align}`],\r\n )}\r\n onClick={() =>\r\n this.setState({\r\n columnsEditCustomDialog: { item, it, obj },\r\n customColumnDialogValueChanged: false,\r\n })}\r\n >\r\n {text}\r\n </div>;\r\n }\r\n return <div\r\n className={Utils.clsx(\r\n this.props.classes.columnCustom,\r\n this.props.classes[`columnCustom_${it.align}`],\r\n )}\r\n >\r\n {text}\r\n </div>;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Renders a leaf.\r\n * @param {any} item\r\n * @param {boolean} isExpanded\r\n * @param {Record<string, any>} classes\r\n * @param {{ count: number; }} counter\r\n * @returns {JSX.Element}\r\n */\r\n renderLeaf(item, isExpanded, classes, counter) {\r\n const id = item.data.id;\r\n counter.count++;\r\n isExpanded = isExpanded === undefined ? this.state.expanded.includes(id) : isExpanded;\r\n\r\n // icon\r\n let iconFolder;\r\n const obj = item.data.obj;\r\n const itemType = obj?.type;\r\n\r\n if (\r\n item.children ||\r\n itemType === 'folder' ||\r\n itemType === 'device' ||\r\n itemType === 'channel' ||\r\n itemType === 'meta'\r\n ) {\r\n iconFolder = isExpanded ? <IconOpen\r\n className={classes.cellIdIconFolder}\r\n onClick={() => this.toggleExpanded(id)}\r\n /> : <IconClosed\r\n className={classes.cellIdIconFolder}\r\n onClick={() => this.toggleExpanded(id)}\r\n />;\r\n } else if (obj.common && obj.common.write === false && obj.type === 'state') {\r\n iconFolder = <IconDocumentReadOnly className={classes.cellIdIconDocument} />;\r\n } else {\r\n iconFolder = <IconDocument className={classes.cellIdIconDocument} />;\r\n }\r\n\r\n let iconItem = null;\r\n if (item.data.icon) {\r\n if (typeof item.data.icon === 'string') {\r\n if (item.data.icon.length < 3) {\r\n iconItem = <span className={Utils.clsx(classes.cellIdIconOwn, 'iconOwn')}>{item.data.icon}</span>; // utf-8 char\r\n } else {\r\n iconItem = <img className={Utils.clsx(classes.cellIdIconOwn, 'iconOwn')} src={item.data.icon} alt=\"\" />;\r\n }\r\n } else {\r\n iconItem = item.data.icon;\r\n }\r\n }\r\n\r\n const common = obj?.common;\r\n\r\n const typeImg = (obj && obj.type && ITEM_IMAGES[obj.type]) || <div className=\"itemIcon\" />;\r\n\r\n const paddingLeft = this.levelPadding * item.data.level;\r\n\r\n if (item.data.lang !== this.props.lang) {\r\n const { rooms, per } = findRoomsForObject(this.info, id, this.props.lang);\r\n item.data.rooms = rooms.join(', ');\r\n item.data.per = per;\r\n const { funcs, pef } = findFunctionsForObject(this.info, id, this.props.lang);\r\n item.data.funcs = funcs.join(', ');\r\n item.data.pef = pef;\r\n item.data.lang = this.props.lang;\r\n }\r\n\r\n const checkbox =\r\n this.props.multiSelect &&\r\n this.objects[id] &&\r\n (!this.props.types || this.props.types.includes(this.objects[id].type)) ?\r\n <Checkbox\r\n className={classes.checkBox}\r\n checked={this.state.selected.includes(id)}\r\n /> : null;\r\n\r\n let valueEditable =\r\n !this.props.notEditable &&\r\n itemType === 'state' &&\r\n (this.state.filter.expertMode || common?.write !== false);\r\n if (this.props.objectBrowserViewFile && common?.type === 'file') {\r\n valueEditable = true;\r\n }\r\n const enumEditable =\r\n !this.props.notEditable &&\r\n this.objects[id] &&\r\n (this.state.filter.expertMode || itemType === 'state' || itemType === 'channel' || itemType === 'device');\r\n const checkVisibleObjectType =\r\n this.state.statesView && (itemType === 'state' || itemType === 'channel' || itemType === 'device');\r\n let newValue = '';\r\n const newValueTitle = [];\r\n if (checkVisibleObjectType) {\r\n newValue = this.states[id]?.from;\r\n if (newValue === undefined) {\r\n newValue = ' ';\r\n } else {\r\n newValue = newValue ? newValue.replace(/^system\\.adapter\\.|^system\\./, '') : '';\r\n newValueTitle.push(`${this.texts.stateChangedFrom} ${newValue}`);\r\n }\r\n if (obj.user) {\r\n const user = obj.user.replace('system.user.', '');\r\n newValue += `/${user}`;\r\n newValueTitle.push(`${this.texts.stateChangedBy} ${user}`);\r\n }\r\n }\r\n if (obj) {\r\n obj.from &&\r\n newValueTitle.push(\r\n `${this.texts.objectChangedFrom} ${obj.from.replace(/^system\\.adapter\\.|^system\\./, '')}`,\r\n );\r\n obj.user && newValueTitle.push(`${this.texts.objectChangedBy} ${obj.user.replace(/^system\\.user\\./, '')}`);\r\n obj.ts &&\r\n newValueTitle.push(\r\n `${this.texts.objectChangedByUser} ${Utils.formatDate(new Date(obj.ts), this.props.dateFormat)}`,\r\n );\r\n }\r\n\r\n const readWriteAlias = typeof common?.alias?.id === 'object';\r\n\r\n const alias =\r\n id.startsWith('alias.') && common?.alias?.id ? (\r\n readWriteAlias ?\r\n <div className={classes.cellIdAliasReadWriteDiv}>\r\n {common.alias.id.read ? <div\r\n onClick={e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.onSelect(common.alias.id.read);\r\n setTimeout(() =>\r\n this.expandAllSelected(() =>\r\n this.scrollToItem(common.alias.id.read)), 100);\r\n }}\r\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasReadWrite)}\r\n >\r\n ←\r\n {common.alias.id.read}\r\n </div> : null}\r\n {common.alias.id.write ? <div\r\n onClick={e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.onSelect(common.alias.id.write);\r\n setTimeout(() =>\r\n this.expandAllSelected(() =>\r\n this.scrollToItem(common.alias.id.write)), 100);\r\n }}\r\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasReadWrite)}\r\n >\r\n →\r\n {common.alias.id.write}\r\n </div> : null}\r\n </div>\r\n :\r\n <div\r\n onClick={e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n this.onSelect(common.alias.id);\r\n setTimeout(() =>\r\n this.expandAllSelected(() =>\r\n this.scrollToItem(common.alias.id)), 100);\r\n }}\r\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasAlone)}\r\n >\r\n →\r\n {common.alias.id}\r\n </div>\r\n ) : null;\r\n\r\n let checkColor = common?.color;\r\n let invertBackground;\r\n if (checkColor && !this.state.selected.includes(id)) {\r\n const background =\r\n this.props.themeName === 'dark' ? '#1f1f1f' : this.props.themeName === 'blue' ? '#222a2e' : '#FFFFFF';\r\n const distance = Utils.colorDistance(checkColor, background);\r\n // console.log(`Distance: ${checkColor} - ${background} = ${distance}`);\r\n if (distance < 1000) {\r\n invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';\r\n }\r\n }\r\n if (id === 'system') {\r\n checkColor = COLOR_NAME_SYSTEM;\r\n } else if (id === 'system.adapter') {\r\n checkColor = COLOR_NAME_SYSTEM_ADAPTER;\r\n } else if (!checkColor || this.state.selected.includes(id)) {\r\n checkColor = 'inherit';\r\n }\r\n\r\n const icons = [];\r\n\r\n if (common?.statusStates) {\r\n const ids = {};\r\n Object.keys(common.statusStates).forEach(name => {\r\n let _id = common.statusStates[name];\r\n if (_id.split('.').length < 3) {\r\n _id = `${id}.${_id}`;\r\n }\r\n ids[name] = _id;\r\n\r\n if (!this.states[_id]) {\r\n if (this.objects[_id]?.type === 'state') {\r\n !this.recordStates.includes(_id) && this.recordStates.push(_id);\r\n this.states[_id] = { val: null };\r\n this.subscribe(_id);\r\n }\r\n } else {\r\n !this.recordStates.includes(_id) && this.recordStates.push(_id);\r\n }\r\n });\r\n // calculate color\r\n // errorId has priority\r\n let colorSet = false;\r\n if (common.statusStates.errorId && this.states[ids.errorId] && this.states[ids.errorId].val) {\r\n checkColor = this.props.themeType === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT;\r\n colorSet = true;\r\n icons.push(<IconError\r\n key=\"error\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceError}\r\n />);\r\n }\r\n\r\n if (ids.onlineId && this.states[ids.onlineId]) {\r\n if (!colorSet) {\r\n if (this.states[ids.onlineId].val) {\r\n checkColor =\r\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\r\n icons.push(<IconConnection\r\n key=\"conn\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceConnected}\r\n />);\r\n } else {\r\n checkColor =\r\n this.props.themeType === 'dark'\r\n ? COLOR_NAME_DISCONNECTED_DARK\r\n : COLOR_NAME_DISCONNECTED_LIGHT;\r\n icons.push(<IconDisconnected\r\n key=\"disc\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceDisconnected}\r\n />);\r\n }\r\n } else if (this.states[ids.onlineId].val) {\r\n icons.push(<IconConnection\r\n key=\"conn\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceConnected}\r\n />);\r\n } else {\r\n icons.push(<IconDisconnected\r\n key=\"disc\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceDisconnected}\r\n />);\r\n }\r\n } else if (ids.offlineId && this.states[ids.offlineId]) {\r\n if (!colorSet) {\r\n if (this.states[ids.offlineId].val) {\r\n checkColor =\r\n this.props.themeType === 'dark'\r\n ? COLOR_NAME_DISCONNECTED_DARK\r\n : COLOR_NAME_DISCONNECTED_LIGHT;\r\n icons.push(<IconDisconnected\r\n key=\"disc\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceDisconnected}\r\n />);\r\n } else {\r\n checkColor =\r\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\r\n icons.push(<IconConnection\r\n key=\"conn\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceConnected}\r\n />);\r\n }\r\n } else if (this.states[ids.offlineId].val) {\r\n icons.push(<IconDisconnected\r\n key=\"disc\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceDisconnected}\r\n />);\r\n } else {\r\n icons.push(<IconConnection\r\n key=\"conn\"\r\n title={this.texts.deviceError}\r\n className={this.props.classes.iconDeviceConnected}\r\n />);\r\n }\r\n }\r\n }\r\n\r\n const q = checkVisibleObjectType ? Utils.quality2text(this.states[id]?.q || 0).join(', ') : null;\r\n\r\n let name = item.data?.title || '';\r\n let useDesc;\r\n if (this.state.showDescription) {\r\n useDesc = getObjectTooltip(item.data, this.props.lang);\r\n if (useDesc) {\r\n name = [\r\n <div key=\"name\" className={classes.cellNameDivDiv}>\r\n {name}\r\n </div>,\r\n <div key=\"desc\" className={classes.cellDescription}>\r\n {useDesc}\r\n </div>,\r\n ];\r\n useDesc = !!useDesc;\r\n }\r\n }\r\n\r\n return <Grid\r\n container\r\n direction=\"row\"\r\n wrap=\"nowrap\"\r\n className={Utils.clsx(\r\n classes.tableRow,\r\n this.state.linesEnabled && classes.tableRowLines,\r\n !this.props.dragEnabled && classes.tableRowNoDragging,\r\n alias && classes.tableRowAlias,\r\n readWriteAlias && classes.tableRowAliasReadWrite,\r\n !item.data.visible && classes.filteredOut,\r\n item.data.hasVisibleParent &&\r\n !item.data.visible &&\r\n !item.data.hasVisibleChildren &&\r\n classes.filteredParentOut,\r\n this.state.selected.includes(id) && classes.itemSelected,\r\n this.state.selectedNonObject === id && classes.itemSelected,\r\n )}\r\n key={id}\r\n id={id}\r\n onMouseDown={e => {\r\n this.onSelect(id);\r\n let isRightMB;\r\n if ('which' in e) {\r\n // Gecko (Firefox), WebKit (Safari/Chrome) & Opera\r\n isRightMB = e.which === 3;\r\n } else if ('button' in e) { // IE, Opera\r\n isRightMB = e.button === 2;\r\n }\r\n if (isRightMB) {\r\n this.contextMenu = {\r\n item,\r\n ts: Date.now(),\r\n };\r\n } else {\r\n this.contextMenu = null;\r\n }\r\n }}\r\n onDoubleClick={() => {\r\n if (!item.children) {\r\n this.onSelect(id, true);\r\n } else {\r\n this.toggleExpanded(id);\r\n }\r\n }}\r\n >\r\n <Grid\r\n container\r\n wrap=\"nowrap\"\r\n direction=\"row\"\r\n className={classes.cellId}\r\n style={{ width: this.columnsVisibility.id, paddingLeft }}\r\n >\r\n <Grid\r\n item\r\n container\r\n alignItems=\"center\"\r\n >\r\n {checkbox}\r\n {iconFolder}\r\n </Grid>\r\n <Grid\r\n item\r\n style={{ color: checkColor }}\r\n className={Utils.clsx(classes.cellIdSpan, invertBackground && classes.invertedBackground)}\r\n >\r\n <Tooltip\r\n title={getIdFieldTooltip(item.data, this.props.classes, this.props.lang)}\r\n classes={{ popper: this.props.classes.tooltip }}\r\n >\r\n <div>{item.data.name}</div>\r\n </Tooltip>\r\n {alias}\r\n {icons}\r\n </Grid>\r\n <div className={Utils.clsx(classes.grow, invertBackground && classes.invertedBackgroundFlex)} />\r\n <Grid\r\n item\r\n container\r\n alignItems=\"center\"\r\n >\r\n {iconItem}\r\n </Grid>\r\n <div>\r\n <IconCopy\r\n className={Utils.clsx(classes.cellCopyButton, 'copyButton')}\r\n onClick={e => this.onCopy(e, id)}\r\n />\r\n </div>\r\n </Grid>\r\n\r\n {this.columnsVisibility.name ? <div\r\n className={Utils.clsx(classes.cellName, useDesc && classes.cellNameWithDesc)}\r\n style={{ width: this.columnsVisibility.name }}\r\n >\r\n {name}\r\n {item.data?.title ? <div style={{ color: checkColor }}>\r\n <IconCopy\r\n className={Utils.clsx(classes.cellCopyButton, 'copyButton')}\r\n onClick={e => this.onCopy(e, item.data.title)}\r\n />\r\n </div> : null}\r\n </div> : null}\r\n\r\n {!this.state.statesView ? <>\r\n {this.columnsVisibility.type ? <div\r\n className={classes.cellType}\r\n style={{ width: this.columnsVisibility.type }}\r\n >\r\n {typeImg}\r\n \r\n {obj && obj.type}\r\n </div> : null}\r\n {this.columnsVisibility.role ? <div\r\n className={classes.cellRole}\r\n style={{\r\n width: this.columnsVisibility.role,\r\n cursor:\r\n this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole\r\n ? 'text'\r\n : 'default',\r\n }}\r\n onClick={\r\n this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole\r\n ? () => this.setState({ roleDialog: item.data.id })\r\n : undefined\r\n }\r\n >\r\n {common?.role}\r\n </div> : null}\r\n {this.columnsVisibility.room ? <div\r\n className={`${classes.cellRoom} ${item.data.per ? classes.cellEnumParent : ''}`}\r\n style={{\r\n width: this.columnsVisibility.room,\r\n cursor: enumEditable ? 'text' : 'default',\r\n }}\r\n onClick={\r\n enumEditable\r\n ? () => {\r\n const enums = findEnumsForObjectAsIds(\r\n this.info,\r\n item.data.id,\r\n 'roomEnums',\r\n );\r\n this.setState({\r\n enumDialogEnums: enums,\r\n enumDialog: {\r\n item,\r\n type: 'room',\r\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\r\n },\r\n });\r\n }\r\n : undefined\r\n }\r\n >\r\n {item.data.rooms}\r\n </div> : null}\r\n {this.columnsVisibility.func ? <div\r\n className={`${classes.cellFunc} ${item.data.pef ? classes.cellEnumParent : ''}`}\r\n style={{\r\n width: this.columnsVisibility.func,\r\n cursor: enumEditable ? 'text' : 'default',\r\n }}\r\n onClick={\r\n enumEditable\r\n ? () => {\r\n const enums = findEnumsForObjectAsIds(\r\n this.info,\r\n item.data.id,\r\n 'funcEnums',\r\n );\r\n this.setState({\r\n enumDialogEnums: enums,\r\n enumDialog: {\r\n item,\r\n type: 'func',\r\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\r\n },\r\n });\r\n }\r\n : undefined\r\n }\r\n >\r\n {item.data.funcs}\r\n </div> : null}\r\n </>\r\n :\r\n <>\r\n {this.columnsVisibility.changedFrom ? <div\r\n className={classes.cellRole}\r\n style={{ width: this.columnsVisibility.changedFrom }}\r\n title={newValueTitle.join('\\n')}\r\n >\r\n {checkVisibleObjectType && this.states[id]?.from ? newValue : null}\r\n </div> : null}\r\n {this.columnsVisibility.qualityCode ? <div\r\n className={classes.cellRole}\r\n style={{ width: this.columnsVisibility.qualityCode }}\r\n title={q || ''}\r\n >\r\n {q}\r\n </div> : null}\r\n {this.columnsVisibility.timestamp ? <div\r\n className={classes.cellRole}\r\n style={{ width: this.columnsVisibility.timestamp }}\r\n >\r\n {checkVisibleObjectType && this.states[id]?.ts\r\n ? Utils.formatDate(new Date(this.states[id].ts), this.props.dateFormat)\r\n : null}\r\n </div> : null}\r\n {this.columnsVisibility.lastChange ? <div\r\n className={classes.cellRole}\r\n style={{ width: this.columnsVisibility.lastChange }}\r\n >\r\n {checkVisibleObjectType && this.states[id]?.lc\r\n ? Utils.formatDate(new Date(this.states[id].lc), this.props.dateFormat)\r\n : null}\r\n </div> : null}\r\n </>}\r\n {this.adapterColumns.map(it => <div\r\n className={classes.cellAdapter}\r\n style={{ width: this.columnsVisibility[it.id] }}\r\n key={it.id}\r\n title={`${it.adapter} => ${it.pathText}`}\r\n >\r\n {this.renderCustomValue(obj, it, item)}\r\n </div>)}\r\n {this.columnsVisibility.val ? <div\r\n className={classes.cellValue}\r\n style={{\r\n width: this.columnsVisibility.val,\r\n cursor: valueEditable\r\n ? common?.type === 'file'\r\n ? 'zoom-in'\r\n : item.data.button\r\n ? 'grab'\r\n : 'text'\r\n : 'default',\r\n }}\r\n onClick={\r\n valueEditable\r\n ? () => {\r\n if (!obj || !this.states) {\r\n // return;\r\n } else if (common?.type === 'file') {\r\n this.setState({ viewFileDialog: id });\r\n // eslint-disable-next-line brace-style\r\n } else if (!this.state.filter.expertMode && item.data.button) {\r\n // in non-expert mode control button directly\r\n this.props.socket\r\n .setState(id, true)\r\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\r\n } else {\r\n this.edit = {\r\n val: this.states[id] ? this.states[id].val : '',\r\n q: this.states[id] ? this.states[id].q || 0 : 0,\r\n ack: false,\r\n id,\r\n };\r\n this.setState({ updateOpened: true });\r\n }\r\n }\r\n : undefined\r\n }\r\n >\r\n {this.renderColumnValue(id, item, classes)}\r\n </div> : null}\r\n {this.columnsVisibility.buttons ? <div\r\n className={classes.cellButtons}\r\n style={{ width: this.columnsVisibility.buttons }}\r\n >\r\n {this.renderColumnButtons(id, item, classes)}\r\n </div> : null}\r\n </Grid>;\r\n }\r\n\r\n /**\r\n * Renders an item.\r\n * @param {any} root\r\n * @param {boolean} isExpanded\r\n * @param {Record<string, any>} classes\r\n * @param {{ count: any; }} [counter]\r\n * @returns {JSX.Element[]}\r\n */\r\n renderItem(root, isExpanded, classes, counter) {\r\n const items = [];\r\n counter = counter || { count: 0 };\r\n let leaf = this.renderLeaf(root, isExpanded, classes, counter);\r\n const DragWrapper = this.props.DragWrapper;\r\n if (this.props.dragEnabled) {\r\n if (root.data.sumVisibility) {\r\n leaf = <DragWrapper key={root.data.id} item={root} className={classes.draggable}>\r\n {leaf}\r\n </DragWrapper>;\r\n } else {\r\n // change cursor\r\n leaf = <div key={root.data.id} className={classes.nonDraggable}>\r\n {leaf}\r\n </div>;\r\n }\r\n }\r\n root.data.id && items.push(leaf);\r\n\r\n isExpanded = isExpanded === undefined ? binarySearch(this.state.expanded, root.data.id) : isExpanded;\r\n\r\n if (!root.data.id || isExpanded) {\r\n if (!this.state.foldersFirst) {\r\n root.children &&\r\n items.push(\r\n root.children.map(item => {\r\n // do not render too many items in column editor mode\r\n if (!this.state.columnsSelectorShow || counter.count < 15) {\r\n if (item.data.sumVisibility) {\r\n return this.renderItem(item, undefined, classes, counter);\r\n }\r\n }\r\n return null;\r\n }),\r\n );\r\n } else {\r\n // first only folder\r\n root.children &&\r\n items.push(\r\n root.children.map(item => {\r\n if (item.children) {\r\n // do not render too many items in column editor mode\r\n if (!this.state.columnsSelectorShow || counter.count < 15) {\r\n if (item.data.sumVisibility) {\r\n return this.renderItem(item, undefined, classes, counter);\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }),\r\n );\r\n // then items\r\n root.children &&\r\n items.push(\r\n root.children.map(item => {\r\n if (!item.children) {\r\n // do not render too many items in column editor mode\r\n if (!this.state.columnsSelectorShow || counter.count < 15) {\r\n if (item.data.sumVisibility) {\r\n return this.renderItem(item, undefined, classes, counter);\r\n }\r\n }\r\n }\r\n return null;\r\n }),\r\n );\r\n }\r\n }\r\n\r\n return items;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {boolean} [columnsAuto]\r\n * @param {string[]} [columns]\r\n * @param {any} [columnsForAdmin]\r\n * @param {Record<string, number>} [columnsWidths]\r\n */\r\n calculateColumnsVisibility(columnsAuto, columns, columnsForAdmin, columnsWidths) {\r\n columnsWidths = columnsWidths || this.state.columnsWidths;\r\n columnsForAdmin = columnsForAdmin || this.state.columnsForAdmin;\r\n columns = columns || this.state.columns || [];\r\n columnsAuto = typeof columnsAuto !== 'boolean' ? this.state.columnsAuto : columnsAuto;\r\n\r\n columnsWidths = JSON.parse(JSON.stringify(columnsWidths));\r\n Object.keys(columnsWidths).forEach(name => {\r\n if (columnsWidths[name]) {\r\n columnsWidths[name] = parseInt(columnsWidths[name], 10) || 0;\r\n }\r\n });\r\n\r\n this.adapterColumns = [];\r\n const WIDTHS = SCREEN_WIDTHS[this.props.width].widths;\r\n\r\n if (columnsAuto) {\r\n this.columnsVisibility = {\r\n id: SCREEN_WIDTHS[this.props.width].idWidth,\r\n name: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\r\n nameHeader: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\r\n type: this.visibleCols.includes('type') ? WIDTHS.type || 0 : 0,\r\n role: this.visibleCols.includes('role') ? WIDTHS.role || 0 : 0,\r\n room: this.visibleCols.includes('room') ? WIDTHS.room || 0 : 0,\r\n func: this.visibleCols.includes('func') ? WIDTHS.func || 0 : 0,\r\n changedFrom: this.visibleCols.includes('changedFrom') ? WIDTHS.changedFrom || 0 : 0,\r\n qualityCode: this.visibleCols.includes('qualityCode') ? WIDTHS.qualityCode || 0 : 0,\r\n timestamp: this.visibleCols.includes('timestamp') ? WIDTHS.timestamp || 0 : 0,\r\n lastChange: this.visibleCols.includes('lastChange') ? WIDTHS.lastChange || 0 : 0,\r\n val: this.visibleCols.includes('val') ? WIDTHS.val || 0 : 0,\r\n buttons: this.visibleCols.includes('buttons') ? WIDTHS.buttons || 0 : 0,\r\n };\r\n\r\n if (this.columnsVisibility.name && !this.customWidth) {\r\n let widthSum = this.columnsVisibility.id; // id is always visible\r\n if (this.state.statesView) {\r\n widthSum += this.columnsVisibility.changedFrom;\r\n widthSum += this.columnsVisibility.qualityCode;\r\n widthSum += this.columnsVisibility.timestamp;\r\n widthSum += this.columnsVisibility.lastChange;\r\n } else {\r\n widthSum += this.columnsVisibility.type;\r\n widthSum += this.columnsVisibility.role;\r\n widthSum += this.columnsVisibility.room;\r\n widthSum += this.columnsVisibility.func;\r\n }\r\n widthSum += this.columnsVisibility.val;\r\n widthSum += this.columnsVisibility.buttons;\r\n this.columnsVisibility.name = `calc(100% - ${widthSum + 5}px)`;\r\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\r\n } else if (!this.customWidth) {\r\n // Calculate the with of ID\r\n let widthSum = 0; // id is always visible\r\n if (this.state.statesView) {\r\n widthSum += this.columnsVisibility.changedFrom;\r\n widthSum += this.columnsVisibility.qualityCode;\r\n widthSum += this.columnsVisibility.timestamp;\r\n widthSum += this.columnsVisibility.lastChange;\r\n } else {\r\n widthSum += this.columnsVisibility.type;\r\n widthSum += this.columnsVisibility.role;\r\n widthSum += this.columnsVisibility.room;\r\n widthSum += this.columnsVisibility.func;\r\n }\r\n widthSum += this.columnsVisibility.val;\r\n widthSum += this.columnsVisibility.buttons;\r\n this.columnsVisibility.id = `calc(100% - ${widthSum + 5}px)`;\r\n }\r\n } else {\r\n this.columnsVisibility = {\r\n id: columnsWidths.id || SCREEN_WIDTHS[this.props.width].idWidth,\r\n name: columns.includes('name')\r\n ? columnsWidths.name || WIDTHS.name || SCREEN_WIDTHS[this.props.width].widths.name || 0\r\n : 0,\r\n type: columns.includes('type')\r\n ? columnsWidths.type || WIDTHS.type || SCREEN_WIDTHS[this.props.width].widths.type || 0\r\n : 0,\r\n role: columns.includes('role')\r\n ? columnsWidths.role || WIDTHS.role || SCREEN_WIDTHS[this.props.width].widths.role || 0\r\n : 0,\r\n room: columns.includes('room')\r\n ? columnsWidths.room || WIDTHS.room || SCREEN_WIDTHS[this.props.width].widths.room || 0\r\n : 0,\r\n func: columns.includes('func')\r\n ? columnsWidths.func || WIDTHS.func || SCREEN_WIDTHS[this.props.width].widths.func || 0\r\n : 0,\r\n };\r\n let widthSum = this.columnsVisibility.id; // id is always visible\r\n if (this.columnsVisibility.name) {\r\n widthSum += this.columnsVisibility.type;\r\n widthSum += this.columnsVisibility.role;\r\n widthSum += this.columnsVisibility.room;\r\n widthSum += this.columnsVisibility.func;\r\n }\r\n\r\n if (columnsForAdmin && columns) {\r\n Object.keys(columnsForAdmin)\r\n .sort()\r\n .forEach(adapter =>\r\n columnsForAdmin[adapter].forEach(column => {\r\n const id = `_${adapter}_${column.path}`;\r\n this.columnsVisibility[id] = columns.includes(id);\r\n if (columns.includes(id)) {\r\n const item = {\r\n adapter,\r\n id: `_${adapter}_${column.path}`,\r\n name: column.name,\r\n path: column.path.split('.'),\r\n pathText: column.path,\r\n };\r\n if (column.edit) {\r\n item.edit = true;\r\n if (column.type) {\r\n item.type = column.type;\r\n }\r\n if (column.objTypes) {\r\n item.objTypes = column.objTypes;\r\n }\r\n }\r\n\r\n this.adapterColumns.push(item);\r\n this.columnsVisibility[id] =\r\n columnsWidths[item.id] ||\r\n column.width ||\r\n SCREEN_WIDTHS[this.props.width].widths.func ||\r\n SCREEN_WIDTHS.xl.widths.func;\r\n widthSum += this.columnsVisibility[id];\r\n } else {\r\n this.columnsVisibility[id] = 0;\r\n }\r\n }));\r\n }\r\n this.adapterColumns.sort((a, b) => (a.id > b.id ? -1 : a.id < b.id ? 1 : 0));\r\n this.columnsVisibility.val = columns.includes('val')\r\n ? columnsWidths.val || WIDTHS.val || SCREEN_WIDTHS.xl.widths.val\r\n : 0;\r\n\r\n // do not show buttons if not desired\r\n if (!this.props.columns || this.props.columns.includes('buttons')) {\r\n this.columnsVisibility.buttons = columns.includes('buttons')\r\n ? columnsWidths.buttons || WIDTHS.buttons || SCREEN_WIDTHS.xl.widths.buttons\r\n : 0;\r\n widthSum += this.columnsVisibility.buttons;\r\n }\r\n\r\n if (this.columnsVisibility.name && !columnsWidths.name) {\r\n widthSum += this.columnsVisibility.val;\r\n this.columnsVisibility.name = `calc(100% - ${widthSum}px)`;\r\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\r\n } else {\r\n const newWidth = Object.keys(this.columnsVisibility).reduce((accumulator, name) => {\r\n if (\r\n name === 'id' ||\r\n typeof this.columnsVisibility[name] === 'string' ||\r\n !this.columnsVisibility[name]\r\n ) {\r\n return accumulator;\r\n }\r\n return accumulator + this.columnsVisibility[name];\r\n }, 0);\r\n this.columnsVisibility.id = `calc(100% - ${newWidth}px)`;\r\n }\r\n }\r\n }\r\n\r\n resizerMouseMove = e => {\r\n if (this.resizerActiveDiv) {\r\n let width;\r\n let widthNext;\r\n if (this.resizeLeft) {\r\n width = this.resizerOldWidth - e.clientX + this.resizerPosition;\r\n widthNext = this.resizerOldWidthNext + e.clientX - this.resizerPosition;\r\n } else {\r\n width = this.resizerOldWidth + e.clientX - this.resizerPosition;\r\n widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\r\n }\r\n\r\n if (\r\n (!this.resizerMin || width > this.resizerMin) &&\r\n (!this.resizerNextMin || widthNext > this.resizerNextMin)\r\n ) {\r\n this.resizerCurrentWidths[this.resizerActiveName] = width;\r\n this.resizerCurrentWidths[this.resizerNextName] = widthNext;\r\n\r\n this.resizerActiveDiv.style.width = `${width}px`;\r\n this.resizerNextDiv.style.width = `${widthNext}px`;\r\n\r\n this.columnsVisibility[this.resizerActiveName] = width;\r\n this.columnsVisibility[this.resizerNextName] = widthNext;\r\n if (this.resizerNextName === 'nameHeader') {\r\n this.columnsVisibility.name = widthNext - this.state.scrollBarWidth;\r\n this.resizerCurrentWidths.name = widthNext - this.state.scrollBarWidth;\r\n } else if (this.resizerActiveName === 'nameHeader') {\r\n this.columnsVisibility.name = width - this.state.scrollBarWidth;\r\n this.resizerCurrentWidths.name = width - this.state.scrollBarWidth;\r\n }\r\n this.customWidth = true;\r\n this.resizeTimeout && clearTimeout(this.resizeTimeout);\r\n this.resizeTimeout = setTimeout(() => {\r\n this.resizeTimeout = null;\r\n this.forceUpdate();\r\n }, 200);\r\n }\r\n }\r\n };\r\n\r\n resizerMouseUp = () => {\r\n (window._localStorage || window.localStorage).setItem(\r\n `${this.props.dialogName || 'App'}.table`,\r\n JSON.stringify(this.resizerCurrentWidths),\r\n );\r\n this.resizerActiveName = null;\r\n this.resizerNextName = null;\r\n this.resizerActiveDiv = null;\r\n this.resizerNextDiv = null;\r\n window.removeEventListener('mousemove', this.resizerMouseMove);\r\n window.removeEventListener('mouseup', this.resizerMouseUp);\r\n };\r\n\r\n resizerMouseDown = e => {\r\n if (this.resizerActiveIndex === null || this.resizerActiveIndex === undefined) {\r\n if (!this.storedWidths) {\r\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width]));\r\n }\r\n\r\n this.resizerCurrentWidths = this.resizerCurrentWidths || {};\r\n this.resizerActiveDiv = e.target.parentNode;\r\n this.resizerActiveName = this.resizerActiveDiv.dataset.name;\r\n\r\n let i = 0;\r\n if (e.target.dataset.left === 'true') {\r\n this.resizeLeft = true;\r\n this.resizerNextDiv = this.resizerActiveDiv.previousElementSibling;\r\n let handle = this.resizerNextDiv.querySelector(`.${this.props.classes.resizeHandle}`);\r\n while (this.resizerNextDiv && !handle && i < 10) {\r\n this.resizerNextDiv = this.resizerNextDiv.previousElementSibling;\r\n handle = this.resizerNextDiv.querySelector(`.${this.props.classes.resizeHandle}`);\r\n i++;\r\n }\r\n if (handle && handle.dataset.left !== 'true') {\r\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\r\n }\r\n } else {\r\n this.resizeLeft = false;\r\n this.resizerNextDiv = this.resizerActiveDiv.nextElementSibling;\r\n /* while (this.resizerNextDiv && !this.resizerNextDiv.querySelector('.' + this.props.classes.resizeHandle) && i < 10) {\r\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\r\n i++;\r\n } */\r\n }\r\n this.resizerNextName = this.resizerNextDiv.dataset.name;\r\n\r\n this.resizerMin = parseInt(this.resizerActiveDiv.dataset.min, 10) || 0;\r\n this.resizerNextMin = parseInt(this.resizerNextDiv.dataset.min, 10) || 0;\r\n\r\n this.resizerPosition = e.clientX;\r\n\r\n this.resizerCurrentWidths[this.resizerActiveName] = this.resizerActiveDiv.offsetWidth;\r\n this.resizerCurrentWidths[this.resizerNextName] = this.resizerNextDiv.offsetWidth;\r\n\r\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveName];\r\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerNextName];\r\n\r\n window.addEventListener('mousemove', this.resizerMouseMove);\r\n window.addEventListener('mouseup', this.resizerMouseUp);\r\n }\r\n };\r\n\r\n /**\r\n * Handle keyboard events for navigation\r\n *\r\n * @param {KeyboardEvent} event\r\n */\r\n navigateKeyPress(event) {\r\n const selectedId = this.state.selectedNonObject || this.state.selected[0];\r\n\r\n if (!selectedId) {\r\n return;\r\n }\r\n\r\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\r\n event.preventDefault();\r\n const ids = [];\r\n this.tableRef.current.childNodes.forEach(node => ids.push(node.id));\r\n const idx = ids.indexOf(selectedId);\r\n const newIdx = event.code === 'ArrowDown' ? idx + 1 : idx - 1;\r\n const newId = ids[newIdx] || selectedId;\r\n this.onSelect(newId);\r\n this.scrollToItem(newId);\r\n }\r\n\r\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\r\n this.toggleExpanded(selectedId);\r\n }\r\n\r\n if (event.code === 'Delete') {\r\n const item = this.getItemFromRoot(this.root, selectedId);\r\n const { obj } = item.data;\r\n\r\n if (obj && !obj.common?.dontDelete) {\r\n this.showDeleteDialog({ id: selectedId, obj, item });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Find the id from the root\r\n *\r\n * @param {Record<string, any>} root The current root\r\n * @param {string} id the object id\r\n *\r\n * @returns {any}\r\n */\r\n getItemFromRoot(root, id) {\r\n const idArr = id.split('.');\r\n let currId = '';\r\n\r\n for (const idEntry of idArr) {\r\n currId = currId ? `${currId}.${idEntry}` : idEntry;\r\n root = root.children.find(item => item.data.id === currId);\r\n }\r\n\r\n return root;\r\n }\r\n\r\n resizerReset = () => {\r\n this.customWidth = false;\r\n SCREEN_WIDTHS[this.props.width] = JSON.parse(JSON.stringify(this.storedWidths));\r\n this.calculateColumnsVisibility();\r\n (window._localStorage || window.localStorage).removeItem(`${this.props.dialogName || 'App'}.table`);\r\n this.forceUpdate();\r\n };\r\n\r\n /**\r\n * Render a right handle for resizing\r\n *\r\n * @return {JSX.Element}\r\n */\r\n renderHandleRight() {\r\n return <div\r\n className={`${this.props.classes.resizeHandle} ${this.props.classes.resizeHandleRight}`}\r\n onMouseDown={this.resizerMouseDown}\r\n onDoubleClick={this.resizerReset}\r\n title={this.props.t('ra_Double click to reset table layout')}\r\n />;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element}\r\n */\r\n renderHeader() {\r\n const classes = this.props.classes;\r\n\r\n let filterClearInValue = null;\r\n if (!this.columnsVisibility.buttons && !this.isFilterEmpty()) {\r\n filterClearInValue = <IconButton\r\n onClick={() => this.clearFilter()}\r\n className={classes.buttonClearFilter}\r\n title={this.props.t('ra_Clear filter')}\r\n size=\"large\"\r\n >\r\n <IconClearFilter />\r\n <IconClose className={classes.buttonClearFilterIcon} />\r\n </IconButton>;\r\n }\r\n\r\n return <div className={classes.headerRow}>\r\n <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.id, position: 'relative' }}\r\n data-min={240}\r\n data-name=\"id\"\r\n >\r\n {this.getFilterInput('id')}\r\n {this.renderHandleRight()}\r\n </div>\r\n {this.columnsVisibility.name ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.nameHeader, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"nameHeader\"\r\n >\r\n {this.getFilterInput('name')}\r\n {this.renderHandleRight()}\r\n\r\n </div> : null}\r\n {!this.state.statesView && <>\r\n {this.columnsVisibility.type ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.type, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"type\"\r\n >\r\n {this.getFilterSelectType()}\r\n {this.renderHandleRight()}\r\n </div> : null}\r\n {this.columnsVisibility.role ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.role, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"role\"\r\n >\r\n {this.getFilterSelectRole()}\r\n {this.renderHandleRight()}\r\n </div> : null}\r\n {this.columnsVisibility.room ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.room, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"room\"\r\n >\r\n {this.getFilterSelectRoom()}\r\n {this.renderHandleRight()}\r\n </div> : null}\r\n {this.columnsVisibility.func ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.func, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"func\"\r\n >\r\n {this.getFilterSelectFunction()}\r\n {this.renderHandleRight()}\r\n </div> : null}\r\n </>}\r\n {this.state.statesView && <>\r\n <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility.changedFrom, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"changedFrom\"\r\n >\r\n {this.props.t('ra_Changed from')}\r\n {this.renderHandleRight()}\r\n </div>\r\n <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility.qualityCode, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"qualityCode\"\r\n >\r\n {this.props.t('ra_Quality code')}\r\n {this.renderHandleRight()}\r\n </div>\r\n <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility.timestamp, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"timestamp\"\r\n >\r\n {this.props.t('ra_Timestamp')}\r\n {this.renderHandleRight()}\r\n </div>\r\n <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility.lastChange, position: 'relative' }}\r\n data-min={100}\r\n data-name=\"lastChange\"\r\n >\r\n {this.props.t('ra_Last change')}\r\n {this.renderHandleRight()}\r\n </div>\r\n </>}\r\n {this.adapterColumns.map(item => <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility[item.id] }}\r\n title={item.adapter}\r\n key={item.id}\r\n data-min={100}\r\n data-name={item.id}\r\n >\r\n {item.name}\r\n </div>)}\r\n {this.columnsVisibility.val ? <div\r\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\r\n style={{ width: this.columnsVisibility.val, position: 'relative' }}\r\n data-min={120}\r\n data-name=\"val\"\r\n >\r\n <div\r\n className={`${this.props.classes.resizeHandle} ${this.props.classes.resizeHandleLeft}`}\r\n data-left=\"true\"\r\n onMouseDown={this.resizerMouseDown}\r\n onDoubleClick={this.resizerReset}\r\n title={this.props.t('ra_Double click to reset table layout')}\r\n />\r\n {this.props.t('ra_Value')}\r\n {filterClearInValue}\r\n </div> : null}\r\n {this.columnsVisibility.buttons ? <div\r\n className={classes.headerCell}\r\n style={{ width: this.columnsVisibility.buttons }}\r\n >\r\n {' '}\r\n {this.getFilterSelectCustoms()}\r\n </div> : null}\r\n </div>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element}\r\n */\r\n renderToast() {\r\n return <Snackbar\r\n open={!!this.state.toast}\r\n autoHideDuration={3000}\r\n onClick={() => this.setState({ toast: '' })}\r\n onClose={() => this.setState({ toast: '' })}\r\n message={this.state.toast}\r\n action={\r\n <IconButton\r\n size=\"small\"\r\n aria-label=\"close\"\r\n color=\"inherit\"\r\n onClick={() => this.setState({ toast: '' })}\r\n >\r\n <IconClose fontSize=\"small\" />\r\n </IconButton>\r\n }\r\n />;\r\n }\r\n\r\n /**\r\n * Called when component is updated.\r\n */\r\n componentDidUpdate() {\r\n if (this.tableRef.current) {\r\n const scrollBarWidth = this.tableRef.current.offsetWidth - this.tableRef.current.clientWidth;\r\n if (this.state.scrollBarWidth !== scrollBarWidth) {\r\n setTimeout(() => this.setState({ scrollBarWidth }), 100);\r\n } else if (\r\n !this.selectedFound &&\r\n ((this.state.selected && this.state.selected[0]) || this.lastSelectedItems)\r\n ) {\r\n this.scrollToItem((this.state.selected && this.state.selected[0]) || this.lastSelectedItems);\r\n }\r\n }\r\n }\r\n\r\n scrollToItem(id) {\r\n const node = window.document.getElementById(id);\r\n node &&\r\n node.scrollIntoView({\r\n behavior: 'auto',\r\n block: 'center',\r\n inline: 'center',\r\n });\r\n this.selectedFound = true;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderCustomDialog() {\r\n if (this.state.customDialog && this.props.objectCustomDialog) {\r\n const ObjectCustomDialog = this.props.objectCustomDialog;\r\n\r\n return <ObjectCustomDialog\r\n reportChangedIds={changedIds => (this.changedIds = [...changedIds])}\r\n objectIDs={this.state.customDialog}\r\n expertMode={this.state.filter.expertMode}\r\n isFloatComma={this.props.isFloatComma}\r\n t={this.props.t}\r\n lang={this.props.lang}\r\n socket={this.props.socket}\r\n themeName={this.props.themeName}\r\n themeType={this.props.themeType}\r\n theme={this.props.theme}\r\n objects={this.objects}\r\n customsInstances={this.info.customs}\r\n onClose={() => {\r\n this.pauseSubscribe(false);\r\n this.setState({ customDialog: null });\r\n if (this.changedIds) {\r\n this.changedIds = null;\r\n // update all changed IDs\r\n this.forceUpdate();\r\n }\r\n\r\n this.props.router && this.props.router.doNavigate('tab-objects');\r\n }}\r\n />;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {Partial<ioBroker.State>} valAck\r\n */\r\n onUpdate(valAck) {\r\n this.props.socket\r\n .setState(this.edit.id, {\r\n val: valAck.val,\r\n ack: valAck.ack,\r\n q: valAck.q || 0,\r\n expire: valAck.expire || undefined,\r\n })\r\n .catch(e => this.showError(`Cannot write value: ${e}`));\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderEditObjectDialog() {\r\n if (!this.state.editObjectDialog || !this.props.objectBrowserEditObject) {\r\n return null;\r\n }\r\n\r\n const ObjectBrowserEditObject = this.props.objectBrowserEditObject;\r\n\r\n return <ObjectBrowserEditObject\r\n key={this.state.editObjectDialog}\r\n obj={this.objects[this.state.editObjectDialog]}\r\n roleArray={this.info.roles}\r\n objects={this.objects}\r\n dateFormat={this.props.dateFormat}\r\n isFloatComma={this.props.isFloatComma}\r\n themeType={this.props.themeType}\r\n socket={this.props.socket}\r\n dialogName={this.props.dialogName}\r\n aliasTab={this.state.editObjectAlias}\r\n t={this.props.t}\r\n expertMode={this.state.filter.expertMode}\r\n onNewObject={obj =>\r\n this.props.socket\r\n .setObject(obj._id, obj)\r\n .then(() => this.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () => this.onSelect(obj._id)))\r\n .catch(e => this.showError(`Cannot write object: ${e}`))}\r\n onClose={obj => {\r\n if (obj) {\r\n let updateAlias;\r\n if (this.state.editObjectDialog.startsWith('alias.')) {\r\n if (\r\n JSON.stringify(this.objects[this.state.editObjectDialog].common?.alias) !==\r\n JSON.stringify(obj.common?.alias)\r\n ) {\r\n updateAlias = this.state.editObjectDialog;\r\n }\r\n }\r\n\r\n this.props.socket\r\n .setObject(obj._id, obj)\r\n .then(() => {\r\n if (updateAlias && this.subscribes.includes(updateAlias)) {\r\n this.unsubscribe(updateAlias);\r\n setTimeout(() => this.subscribe(updateAlias), 100);\r\n }\r\n })\r\n .catch(e => this.showError(`Cannot write object: ${e}`));\r\n }\r\n this.setState({ editObjectDialog: '', editObjectAlias: false });\r\n }}\r\n />;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderViewObjectFileDialog() {\r\n if (!this.state.viewFileDialog || !this.props.objectBrowserViewFile) {\r\n return null;\r\n }\r\n const ObjectBrowserViewFile = this.props.objectBrowserViewFile;\r\n\r\n return <ObjectBrowserViewFile\r\n key=\"viewFile\"\r\n obj={this.objects[this.state.viewFileDialog]}\r\n themeType={this.props.themeType}\r\n socket={this.props.socket}\r\n dialogName={this.props.dialogName}\r\n t={this.props.t}\r\n expertMode={this.state.filter.expertMode}\r\n onClose={() => this.setState({ viewFileDialog: '' })}\r\n />;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderAliasEditorDialog() {\r\n if (!this.props.objectBrowserAliasEditor || !this.state.showAliasEditor) {\r\n return null;\r\n }\r\n const ObjectBrowserAliasEditor = this.props.objectBrowserAliasEditor;\r\n\r\n return <ObjectBrowserAliasEditor\r\n key=\"editAlias\"\r\n obj={this.objects[this.state.showAliasEditor]}\r\n objects={this.objects}\r\n themeType={this.props.themeType}\r\n socket={this.props.socket}\r\n dialogName={this.props.dialogName}\r\n t={this.props.t}\r\n expertMode={this.state.filter.expertMode}\r\n onClose={() => this.setState({ showAliasEditor: '' })}\r\n onRedirect={(id, timeout) =>\r\n setTimeout(() =>\r\n this.onSelect(id, false, () =>\r\n this.expandAllSelected(() => {\r\n this.scrollToItem(id);\r\n setTimeout(() => this.setState({ editObjectDialog: id, showAliasEditor: false, editObjectAlias: true }), 300);\r\n })), timeout || 0)}\r\n />;\r\n }\r\n\r\n showAddDataPointDialog(id, initialType, initialStateType) {\r\n this.setState({\r\n showContextMenu: null,\r\n modalNewObj: {\r\n id,\r\n initialType,\r\n initialStateType,\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Renders the right mouse button context menu\r\n *\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderContextMenu() {\r\n if (!this.state.showContextMenu) {\r\n return null;\r\n }\r\n const item = this.state.showContextMenu.item;\r\n const id = item.data.id;\r\n const items = [];\r\n // const ctrl = isIOS() ? '⌘' : (this.props.lang === 'de' ? 'Strg+' : 'Ctrl+');\r\n\r\n const obj = item.data.obj;\r\n\r\n let showACL = '';\r\n if (this.props.objectEditOfAccessControl && this.state.filter.expertMode) {\r\n if (!obj) {\r\n showACL = '---';\r\n } else {\r\n const acl = obj.acl\r\n ? obj.type === 'state'\r\n ? obj.acl.state\r\n : obj.acl.object\r\n : 0;\r\n const aclSystemConfig =\r\n obj.acl &&\r\n (obj.type === 'state'\r\n ? this.systemConfig.common.defaultNewAcl.state\r\n : this.systemConfig.common.defaultNewAcl.object);\r\n showACL = Number.isNaN(Number(acl)) ? Number(aclSystemConfig).toString(16) : Number(acl).toString(16);\r\n }\r\n }\r\n\r\n const enumEditable = !this.props.notEditable && obj &&\r\n (this.state.filter.expertMode || obj.type === 'state' || obj.type === 'channel' || obj.type === 'device');\r\n\r\n const createStateVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.obj.type === 'channel' || item.data.obj.type === 'device' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\r\n const createChannelVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.obj.type === 'device' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\r\n const createDeviceVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\r\n const createFolderVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\r\n\r\n const ITEMS = {\r\n EDIT: {\r\n key: '0',\r\n visibility: this.props.objectBrowserEditObject && obj && (this.state.filter.expertMode || this.isNonExpertId(id)),\r\n icon: <IconEdit fontSize=\"small\" className={this.props.classes.contextMenuEdit} />,\r\n label: this.texts.editObject,\r\n onClick: () => this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: false }),\r\n },\r\n EDIT_VALUE: {\r\n key: '1',\r\n visibility: this.states &&\r\n !this.props.notEditable &&\r\n obj &&\r\n obj.type === 'state' &&\r\n obj.common?.type !== 'file' &&\r\n (this.state.filter.expertMode || obj.common.write !== false),\r\n icon: <IconValueEdit fontSize=\"small\" className={this.props.classes.contextMenuEditValue} />,\r\n label: this.props.t('ra_Edit value'),\r\n onClick: () => {\r\n this.edit = {\r\n val: this.states[id] ? this.states[id].val : '',\r\n q: this.states[id] ? this.states[id].q || 0 : 0,\r\n ack: false,\r\n id,\r\n };\r\n this.setState({ updateOpened: true, showContextMenu: null });\r\n },\r\n },\r\n VIEW: {\r\n visibility: this.props.objectBrowserViewFile && obj && obj.type === 'state' && obj.common?.type === 'file',\r\n icon: <FindInPage fontSize=\"small\" className={this.props.classes.contextMenuView} />,\r\n className: '',\r\n label: this.props.t('ra_View file'),\r\n onClick: () => this.setState({ viewFileDialog: obj._id, showContextMenu: null }),\r\n },\r\n CUSTOM: {\r\n key: '2',\r\n visibility: this.props.objectCustomDialog &&\r\n this.info.hasSomeCustoms &&\r\n obj &&\r\n obj.type === 'state' &&\r\n obj.common?.type !== 'file',\r\n icon: <IconConfig\r\n fontSize=\"small\"\r\n className={item.data.hasCustoms\r\n ? this.props.classes.cellButtonsButtonWithCustoms\r\n : this.props.classes.cellButtonsButtonWithoutCustoms}\r\n />,\r\n className: this.props.classes.contextMenuCustom,\r\n label: this.texts.customConfig,\r\n onClick: () => {\r\n this.pauseSubscribe(true);\r\n this.props.router && this.props.router.doNavigate(null, 'customs', id);\r\n this.setState({ customDialog: [id], showContextMenu: null });\r\n },\r\n },\r\n ACL: {\r\n key: '3',\r\n visibility: !!showACL,\r\n icon: showACL,\r\n iconStyle: { fontSize: 'smaller' },\r\n listItemIconClass: this.props.classes.contextMenuACL,\r\n className: this.props.classes.contextMenuACL,\r\n label: this.props.t('ra_Edit ACL'),\r\n onClick: () => this.setState({\r\n showContextMenu: null,\r\n modalEditOfAccess: true,\r\n modalEditOfAccessObjData: item.data,\r\n }),\r\n },\r\n ROLE: {\r\n key: '4',\r\n visibility: this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole,\r\n icon: <BorderColor fontSize=\"small\" className={this.props.classes.contextMenuRole} />,\r\n className: '',\r\n label: this.props.t('ra_Edit role'),\r\n onClick: () => this.setState({ roleDialog: item.data.id, showContextMenu: null }),\r\n },\r\n FUNCTION: {\r\n key: '5',\r\n visibility: enumEditable,\r\n icon: <BedroomParent fontSize=\"small\" className={this.props.classes.contextMenuRole} />,\r\n className: '',\r\n label: this.props.t('ra_Edit function'),\r\n onClick: () => {\r\n const enums = findEnumsForObjectAsIds(\r\n this.info,\r\n item.data.id,\r\n 'funcEnums',\r\n );\r\n this.setState({\r\n enumDialogEnums: enums,\r\n enumDialog: {\r\n item,\r\n type: 'func',\r\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\r\n },\r\n showContextMenu: null,\r\n });\r\n },\r\n },\r\n ROOM: {\r\n key: '6',\r\n visibility: enumEditable,\r\n icon: <Construction fontSize=\"small\" className={this.props.classes.contextMenuRoom} />,\r\n className: '',\r\n label: this.props.t('ra_Edit room'),\r\n onClick: () => {\r\n const enums = findEnumsForObjectAsIds(\r\n this.info,\r\n item.data.id,\r\n 'roomEnums',\r\n );\r\n this.setState({\r\n enumDialogEnums: enums,\r\n enumDialog: {\r\n item,\r\n type: 'room',\r\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\r\n },\r\n showContextMenu: null,\r\n });\r\n },\r\n },\r\n ALIAS: {\r\n key: '7',\r\n visibility: !this.props.notEditable &&\r\n this.props.objectBrowserAliasEditor &&\r\n this.props.objectBrowserEditObject &&\r\n this.state.filter.expertMode &&\r\n obj &&\r\n obj.type === 'state' &&\r\n obj.common?.type !== 'file',\r\n icon: <IconLink className={obj?.common?.alias\r\n ? this.props.classes.cellButtonsButtonWithCustoms\r\n : this.props.classes.cellButtonsButtonWithoutCustoms}\r\n />,\r\n className: '',\r\n label: this.props.t('ra_Edit alias'),\r\n onClick: () => {\r\n if (obj.common?.alias) {\r\n this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: true });\r\n } else {\r\n this.setState({ showContextMenu: null, showAliasEditor: item.data.id });\r\n }\r\n },\r\n },\r\n CREATE: {\r\n key: '+',\r\n visibility: (item.data.id.startsWith('0_userdata.0') || item.data.id.startsWith('javascript.')) &&\r\n (createStateVisible || createChannelVisible || createDeviceVisible || createFolderVisible),\r\n icon: <AddIcon fontSize=\"small\" className={this.props.classes.cellButtonsButtonWithCustoms} />,\r\n className: this.props.classes.contextMenuWithSubMenu,\r\n label: this.texts.create,\r\n subMenu: [\r\n {\r\n label: this.texts.createBooleanState,\r\n visibility: createStateVisible,\r\n icon: <IconState fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'boolean'),\r\n },\r\n {\r\n label: this.texts.createNumberState,\r\n visibility: createStateVisible,\r\n icon: <IconState fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'number'),\r\n },\r\n {\r\n label: this.texts.createStringState,\r\n visibility: createStateVisible,\r\n icon: <IconState fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'string'),\r\n },\r\n {\r\n label: this.texts.createState,\r\n visibility: createStateVisible,\r\n icon: <IconState fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state'),\r\n },\r\n {\r\n label: this.texts.createChannel,\r\n visibility: createChannelVisible,\r\n icon: <IconChannel fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'channel'),\r\n },\r\n {\r\n label: this.texts.createDevice,\r\n visibility: createDeviceVisible,\r\n icon: <IconDevice fontSize=\"small\" />,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'device'),\r\n },\r\n {\r\n label: this.texts.createFolder,\r\n icon: <IconFolder fontSize=\"small\" />,\r\n visibility: createFolderVisible,\r\n onClick: () => this.showAddDataPointDialog(item.data.id, 'folder'),\r\n },\r\n ],\r\n },\r\n DELETE: {\r\n key: 'Delete',\r\n visibility: this.props.onObjectDelete && (item.children?.length || (obj && !obj.common?.dontDelete)),\r\n icon: <IconDelete fontSize=\"small\" className={this.props.classes.contextMenuDelete} />,\r\n className: this.props.classes.contextMenuDelete,\r\n label: this.texts.deleteObject,\r\n onClick: () => this.setState({ showContextMenu: null }, () =>\r\n this.showDeleteDialog({ id, obj: obj || {}, item })),\r\n },\r\n };\r\n\r\n Object.keys(ITEMS).forEach(key => {\r\n if (ITEMS[key].visibility) {\r\n if (ITEMS[key].subMenu) {\r\n items.push(<MenuItem\r\n key={key}\r\n onClick={e => this.setState({ showContextMenu: { item: this.state.showContextMenu.item, subItem: key, subAnchor: e.target } })}\r\n className={ITEMS[key].className}\r\n >\r\n <ListItemIcon style={ITEMS[key].iconStyle} className={ITEMS[key].listItemIconClass}>\r\n {ITEMS[key].icon}\r\n </ListItemIcon>\r\n <ListItemText>\r\n {ITEMS[key].label}\r\n ...\r\n </ListItemText>\r\n <ListItemSecondaryAction>\r\n <ArrowRightIcon />\r\n </ListItemSecondaryAction>\r\n </MenuItem>);\r\n if (this.state.showContextMenu.subItem === key) {\r\n items.push(<Menu\r\n key=\"subContextMenu\"\r\n open={!0}\r\n anchorEl={this.state.showContextMenu.subAnchor}\r\n onClose={() => {\r\n this.setState({ showContextMenu: { item: this.state.showContextMenu.item } });\r\n this.contextMenu = null;\r\n }}\r\n >\r\n {ITEMS[key].subMenu.map(subItem => (subItem.visibility ? <MenuItem\r\n key={subItem.label}\r\n onClick={subItem.onClick}\r\n className={subItem.className}\r\n >\r\n <ListItemIcon style={subItem.iconStyle} className={subItem.listItemIconClass}>\r\n {subItem.icon}\r\n </ListItemIcon>\r\n <ListItemText>{subItem.label}</ListItemText>\r\n </MenuItem> : null))}\r\n </Menu>);\r\n }\r\n } else {\r\n items.push(<MenuItem key={key} onClick={ITEMS[key].onClick} className={ITEMS[key].className}>\r\n <ListItemIcon style={ITEMS[key].iconStyle} className={ITEMS[key].listItemIconClass}>\r\n {ITEMS[key].icon}\r\n </ListItemIcon>\r\n <ListItemText>{ITEMS[key].label}</ListItemText>\r\n {ITEMS[key].key ? <div className={this.props.classes.contextMenuKeys}>\r\n {`Alt+${ITEMS[key].key === 'Delete' ? this.props.t('ra_Del') : ITEMS[key].key}`}\r\n </div> : null}\r\n </MenuItem>);\r\n }\r\n }\r\n });\r\n\r\n if (!items.length) {\r\n setTimeout(() => this.setState({ showContextMenu: null }), 100);\r\n return null;\r\n }\r\n\r\n const el = document.getElementById(id);\r\n\r\n return <Menu\r\n key=\"contextMenu\"\r\n open={!0}\r\n onKeyUp={e => {\r\n e.preventDefault();\r\n if (e.altKey) {\r\n Object.keys(ITEMS).forEach(key => {\r\n if (e.key === ITEMS[key].key) {\r\n ITEMS[key].onClick();\r\n }\r\n });\r\n }\r\n }}\r\n anchorEl={el}\r\n onClose={() => {\r\n this.setState({ showContextMenu: null });\r\n this.contextMenu = null;\r\n }}\r\n >\r\n {items}\r\n </Menu>;\r\n }\r\n\r\n /**\r\n * @private\r\n * @returns {JSX.Element | null}\r\n */\r\n renderEditValueDialog() {\r\n if (!this.state.updateOpened || !this.props.objectBrowserValue) {\r\n return null;\r\n }\r\n\r\n if (!this.edit.id) {\r\n console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`);\r\n return null;\r\n }\r\n\r\n if (!this.objects[this.edit.id]) {\r\n console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`);\r\n return null;\r\n }\r\n\r\n const type = this.objects[this.edit.id].common?.type\r\n ? this.objects[this.edit.id].common.type\r\n : typeof this.edit.val;\r\n\r\n const role = this.objects[this.edit.id].common.role;\r\n\r\n const ObjectBrowserValue = this.props.objectBrowserValue;\r\n\r\n return <ObjectBrowserValue\r\n t={this.props.t}\r\n lang={this.props.lang}\r\n type={type}\r\n role={role}\r\n states={Utils.getStates(this.objects[this.edit.id])}\r\n themeType={this.props.themeType}\r\n expertMode={this.state.filter.expertMode}\r\n value={this.edit.val}\r\n socket={this.props.socket}\r\n object={this.objects[this.edit.id]}\r\n defaultHistory={this.defaultHistory}\r\n dateFormat={this.props.dateFormat}\r\n onClose={res => {\r\n this.setState({ updateOpened: false });\r\n res && this.onUpdate(res);\r\n }}\r\n />;\r\n }\r\n\r\n /**\r\n * The rendering method of this component.\r\n * @returns {JSX.Element}\r\n */\r\n render() {\r\n this.recordStates = [];\r\n this.unsubscribeTimer && clearTimeout(this.unsubscribeTimer);\r\n\r\n // apply filter if changed\r\n const jsonFilter = JSON.stringify(this.state.filter);\r\n\r\n if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {\r\n const counter = { count: 0 };\r\n\r\n applyFilter(\r\n this.root,\r\n this.state.filter,\r\n this.props.lang,\r\n this.objects,\r\n null,\r\n counter,\r\n this.props.customFilter,\r\n this.props.types,\r\n );\r\n\r\n if (counter.count < 500 && !this.state.expandAllVisible) {\r\n setTimeout(() => this.setState({ expandAllVisible: true }));\r\n } else if (counter.count >= 500 && this.state.expandAllVisible) {\r\n setTimeout(() => this.setState({ expandAllVisible: false }));\r\n }\r\n\r\n this.lastAppliedFilter = jsonFilter;\r\n }\r\n\r\n this.unsubscribeTimer = setTimeout(() => {\r\n this.unsubscribeTimer = null;\r\n this.checkUnsubscribes();\r\n }, 200);\r\n\r\n if (!this.state.loaded) {\r\n return <CircularProgress key={`${this.props.dialogName}_c`} />;\r\n }\r\n const classes = this.props.classes;\r\n const items = this.renderItem(this.root, undefined, classes);\r\n\r\n return <TabContainer key={this.props.dialogName}>\r\n <TabHeader>\r\n {this.getToolbar()}\r\n </TabHeader>\r\n <TabContent>\r\n {this.renderHeader()}\r\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\r\n <div className={this.props.classes.tableDiv} ref={this.tableRef} onKeyDown={event => this.navigateKeyPress(event)} tabIndex={0}>\r\n {items}\r\n </div>\r\n </TabContent>\r\n {this.renderContextMenu()}\r\n {this.renderToast()}\r\n {this.renderColumnsEditCustomDialog()}\r\n {this.renderColumnsSelectorDialog()}\r\n {this.renderCustomDialog()}\r\n {this.renderEditValueDialog()}\r\n {this.renderEditObjectDialog()}\r\n {this.renderViewObjectFileDialog()}\r\n {this.renderAliasEditorDialog()}\r\n {this.renderEditRoleDialog()}\r\n {this.renderEnumDialog()}\r\n {this.renderErrorDialog()}\r\n {this.renderExportDialog()}\r\n {this.state.modalNewObj && this.props.modalNewObject && this.props.modalNewObject(this)}\r\n {this.state.modalEditOfAccess &&\r\n this.props.modalEditOfAccessControl &&\r\n this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\r\n </TabContainer>;\r\n }\r\n}\r\n\r\nObjectBrowser.defaultProps = {\r\n objectAddBoolean: false,\r\n objectEditBoolean: false,\r\n objectStatesView: false,\r\n objectImportExport: false,\r\n objectEditOfAccessControl: false,\r\n modalNewObject: () => undefined,\r\n modalEditOfAccessControl: () => undefined,\r\n};\r\n\r\nObjectBrowser.propTypes = {\r\n dialogName: PropTypes.string, // where to store settings in localStorage\r\n classes: PropTypes.object,\r\n defaultFilters: PropTypes.object,\r\n selected: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.array,\r\n ]),\r\n onSelect: PropTypes.func,\r\n onFilterChanged: PropTypes.func,\r\n socket: PropTypes.object,\r\n showExpertButton: PropTypes.bool,\r\n expertMode: PropTypes.bool,\r\n imagePrefix: PropTypes.string,\r\n themeName: PropTypes.string,\r\n themeType: PropTypes.string,\r\n theme: PropTypes.object,\r\n t: PropTypes.func,\r\n lang: PropTypes.string.isRequired,\r\n multiSelect: PropTypes.bool,\r\n notEditable: PropTypes.bool,\r\n foldersFirst: PropTypes.bool,\r\n disableColumnSelector: PropTypes.bool,\r\n isFloatComma: PropTypes.bool,\r\n dateFormat: PropTypes.string,\r\n levelPadding: PropTypes.number,\r\n\r\n // components\r\n objectCustomDialog: PropTypes.oneOfType([\r\n PropTypes.object,\r\n PropTypes.func,\r\n ]),\r\n objectAddBoolean: PropTypes.bool, // optional toolbar button\r\n objectEditBoolean: PropTypes.bool, // optional toolbar button\r\n objectStatesView: PropTypes.bool, // optional toolbar button\r\n objectImportExport: PropTypes.bool, // optional toolbar button\r\n objectEditOfAccessControl: PropTypes.bool, // Access Control\r\n modalNewObject: PropTypes.func, // modal add object\r\n modalEditOfAccessControl: PropTypes.func, // modal Edit Of Access Control\r\n onObjectDelete: PropTypes.func, // optional function (id, hasChildren, objectExists, childrenCount+1) { }\r\n customFilter: PropTypes.object, // optional\r\n // `{common: {custom: true}}` - show only objects with some custom settings\r\n // `{common: {custom: 'sql.0'}}` - show only objects with sql.0 custom settings (only of the specific instance)\r\n // `{common: {custom: '_dataSources'}}` - show only objects of adapters `influxdb' or 'sql' or 'history'\r\n // `{common: {custom: 'adapterName.'}}` - show only objects of custom settings of specific adapter (all instances)\r\n // `{type: 'channel'}` - show only channels\r\n // `{type: ['channel', 'device']}` - show only channels and devices\r\n // `{common: {type: 'number'}` - show only states of type 'number\r\n // `{common: {type: ['number', 'string']}` - show only states of type 'number and string\r\n // `{common: {role: 'switch']}` - show only states with roles starting from switch\r\n // `{common: {role: ['switch', 'button]}` - show only states with roles starting from `switch` and `button`\r\n objectBrowserValue: PropTypes.object,\r\n objectBrowserEditObject: PropTypes.object,\r\n objectBrowserAliasEditor: PropTypes.func, // on edit alias\r\n objectBrowserEditRole: PropTypes.object, // on Edit role\r\n objectBrowserViewFile: PropTypes.func, // on view file state\r\n router: PropTypes.oneOfType([\r\n PropTypes.object,\r\n PropTypes.func,\r\n ]),\r\n types: PropTypes.array, // optional ['state', 'instance', 'channel']\r\n columns: PropTypes.array, // optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons']\r\n // eslint-disable-next-line react/no-unused-prop-types\r\n root: PropTypes.string, // optional. Shows only elements of this root\r\n\r\n objectsWorker: PropTypes.object, // optional cache of objects\r\n filterFunc: PropTypes.func, // function to filter out all unnecessary objects. It cannot be used together with \"types\"\r\n // Example for function: `obj => obj.common && obj.common.type === 'boolean'` to show only boolean states\r\n\r\n DragWrapper: PropTypes.func,\r\n dragEnabled: PropTypes.bool,\r\n};\r\n\r\n/** @type {typeof ObjectBrowser} */\r\nconst _export = withWidth()(withStyles(styles)(ObjectBrowser));\r\nexport default _export;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectBrowser.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInlinesvg","_material","_iconsMaterial","_IconExpert","_IconAdapter","_IconAlias","_IconChannel","_IconCopy","_IconDevice","_IconDocument","_IconDocumentReadOnly","_IconInstance","_IconState","_IconClosed","_IconOpen","_IconClearFilter","_Connection","_Icon","_withWidth","_Utils","_TabContainer","_TabContent","_TabHeader","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof3","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","privateCollection","TypeError","_classPrivateFieldGet","s","_assertClassBrand","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","done","_e","f","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ICON_SIZE","ROW_HEIGHT","ITEM_LEVEL","SMALL_BUTTON_SIZE","COLOR_NAME_SYSTEM","COLOR_NAME_SYSTEM_ADAPTER","COLOR_NAME_ERROR_DARK","COLOR_NAME_ERROR_LIGHT","COLOR_NAME_CONNECTED_DARK","COLOR_NAME_CONNECTED_LIGHT","COLOR_NAME_DISCONNECTED_DARK","COLOR_NAME_DISCONNECTED_LIGHT","styles","theme","toolbar","minHeight","toolbarButtons","padding","marginLeft","switchColumnAuto","spacing","dialogColumns","transition","dialogColumnsLabel","fontSize","paddingTop","columnCustom","width","display","columnCustomEditable","cursor","columnCustomCenter","textAlign","columnCustomLeft","columnCustomRight","width100","transparent_10","opacity","transparent_20","transparent_30","transparent_40","transparent_50","transparent_60","transparent_70","transparent_80","transparent_90","transparent_100","columnsDialogInputWidth","headerRow","paddingLeft","height","whiteSpace","userSelect","buttonClearFilter","position","buttonClearFilterIcon","zIndex","top","left","color","tableDiv","concat","overflow","tableRow","lineHeight","verticalAlign","background","palette","mode","primary","dark","light","Utils","invertColor","main","flexWrap","tableRowLines","borderBottom","borderRight","tableRowNoDragging","tableRowAlias","tableRowAliasReadWrite","checkBox","cellId","textOverflow","marginTop","cellIdSpan","cellIdIconFolder","marginRight","secondary","cellIdIconDocument","cellIdIconOwn","cellIdTooltip","cellIdTooltipLink","cellCopyButton","right","cellEditButton","cellName","cellNameWithDesc","cellNameDivDiv","cellDescription","fontStyle","cellIdAlias","cellIdAliasReadWriteDiv","cellIdAliasAlone","cellIdAliasReadWrite","cellType","cellRole","cellRoom","cellEnumParent","cellFunc","cellValue","cellValueButton","transform","cellValueButtonFalse","cellAdapter","cellValueTooltip","cellValueText","cellValueFile","cellValueTooltipTitle","cellValueTooltipValue","cellValueTooltipBoth","cellValueTooltipBox","pointerEvents","tooltip","cellValueTextUnit","newValue","animation","cellValueTextState","cellValueTooltipCopy","bottom","cellValueTooltipEdit","cellButtons","cellButtonsButton","cellButtonsEmptyButton","cellButtonMinWidth","minWidth","cellButtonsButtonAlone","cellButtonsButtonWithCustoms","cellButtonsButtonWithoutCustoms","cellButtonsValueButton","action","active","cellButtonsValueButtonCopy","cellButtonsValueButtonEdit","parseInt","filteredOut","filteredParentOut","filterInput","marginBottom","selectIcon","selectNone","itemSelected","header","headerCell","headerCellValue","headerCellInput","headerCellSelectItem","visibleButtons","grow","flexGrow","enumIconDiv","borderRadius","enumIcon","enumDialog","enumList","enumButton","enumCheckbox","buttonDiv","alignItems","aclText","rightsObject","rightsState","textCenter","tooltipAccessControl","flexDirection","fontSizeTitle","draggable","nonDraggable","selectClearButton","backgroundColor","iconDeviceConnected","iconDeviceDisconnected","iconDeviceError","resizeHandle","resizeHandleRight","borderColor","borderRightStyle","resizeHandleLeft","borderLeft","borderLeftStyle","invertedBackground","invertedBackgroundFlex","contextMenuEdit","contextMenuEditValue","contextMenuView","contextMenuCustom","contextMenuACL","contextMenuRoom","contextMenuRole","contextMenuAlias","contextMenuDelete","contextMenuKeys","contextMenuWithSubMenu","walkThrough","object","iteratee","copiedObject","index","key","filterObject","filterKeys","excludeTranslations","result","undefined","includes","isObject","_typeof2","en","de","generateFile","filename","options","el","document","createElement","excludeSystemRepositories","filteredObject","data","beautify","JSON","stringify","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","binarySearch","list","find","_start","_end","middle","Math","floor","getName","lang","getSelectIdIcon","objects","id","imagePrefix","src","_id_","aIcon","common","icon","startsWith","className","cIcon","instance","type","split","applyFilter","item","filters","context","counter","customFilter","selectedTypes","_depth","toLowerCase","custom","role","room","members","func","_data$obj","_customFilter$common","_customFilter$common2","_customFilter$common3","_customFilter$common4","_customFilter$common5","expertMode","endsWith","expert","fID","fName","visible","hasVisibleChildren","children","_item","sumVisibility","count","hasVisibleParent","getVisibleItems","_result","_item$children","getSystemIcon","k","SettingsApplications","Photo","SupervisedUserCircle","PersonOutlined","Router","Wifi","Info","Description","getObjectTooltip","_data$obj2","desc","getIdFieldTooltip","classes","clsx","href","target","rel","buildTree","ids","sort","b","replace","root","currentPathArr","currentPath","currentPathLen","info","funcEnums","roomEnums","roles","types","customs","enums","hasSomeCustoms","croot","_loop","parts","_common$adminUI","supportCustoms","adminUI","substring","repeat","_obj$common","_obj$common2","_obj$common3","_obj$common4","curPath","_loop2","_croot","parent","level","generated","title","hasCustoms","button","write","move","splice","join","_objects$a","_objects$b","aName","pop","bName","_objects$a2","_objects$b2","findNode","_parts","_path","_level","found","_id","findRoomsForObject","withParentInfo","rooms","per","_iterator","_step","_data$objects$room","_common$members","origin","ownEnums","findEnumsForObjectAsIds","enumName","funcs","_data$objects$data$en","_common$members2","findFunctionsForObject","pef","_data$objects$data$fu","_common$members3","formatValue","dateFormat","state","isFloatComma","texts","states","getStates","isCommon","valText","v","val","match","isStringInteger","Date","parsedDate","isValidDate","_unused","round","unit","valFull","ack","ts","formatDate","lc","user","c","quality","quality2text","q","nbr","getValueStyle","isExpertMode","isButton","prepareSparkData","values","time","DEFAULT_FILTER","ITEM_IMAGES","channel","device","adapter","meta","ListAlt","chart","ShowChart","config","Settings","group","host","schedule","CalendarToday","script","Code","folder","StyledBadge","withStyles","badge","border","paper","Badge","SCREEN_WIDTHS","xs","idWidth","fields","widths","sm","md","buttons","lg","changedFrom","qualityCode","timestamp","lastChange","xl","objectsAlreadyLoaded","_NON_EXPERT_NAMESPACES","ObjectBrowser","_Component","props","_this","_classCallCheck2","contextMenu","now","preventDefault","setState","showContextMenu","console","log","findItem","pausedSubscribes","statesUpdateTimer","setTimeout","forceUpdate","clearTimeout","newState","event","_this$processOnObject","processOnObjectChangeElement","newInnerState","filtered","_this$processOnObject2","objectsUpdateTimer","_buildTree","lastAppliedFilter","_this$objects$_id","parse","mobile","_ref","_asyncToGenerator2","_regenerator","mark","_callee","objId","_oldObj$common","newObj","oldObj","wrap","_callee$","_context","prev","socket","setObject","stop","_x","_x2","_ref2","_callee2","objs","_callee2$","_context2","t0","t1","hasOwn","abrupt","t2","_createAllEnums","t3","window","alert","getState","sent","def","t4","t5","t6","_x3","evt","files","FileReader","onload","_ref3","_callee3","contents","json","_callee3$","_context3","loadObjects","_x4","readAsText","selected","selectedNonObject","_this$objects$id","_this$objects$id2","acl","check","valueNum","arrayTooltipText","funcRenderStateObject","rights","ownerGroup","ownerUser","owner","map","resizerActiveDiv","widthNext","resizeLeft","resizerOldWidth","clientX","resizerPosition","resizerOldWidthNext","resizerMin","resizerNextMin","resizerCurrentWidths","resizerActiveName","resizerNextName","resizerNextDiv","columnsVisibility","scrollBarWidth","customWidth","resizeTimeout","_localStorage","localStorage","setItem","dialogName","removeEventListener","resizerMouseMove","resizerMouseUp","resizerActiveIndex","storedWidths","parentNode","dataset","previousElementSibling","handle","querySelector","nextElementSibling","min","offsetWidth","addEventListener","calculateColumnsVisibility","removeItem","lastSelectedItems","getItem","expanded","defaultFilters","_sessionStorage","sessionStorage","tableRef","createRef","filterRefs","selectedFound","subscribes","visibleCols","columns","pos","indexOf","possibleCols","customDialog","router","location","getLocation","dialog","pauseSubscribe","columnsWidths","foldersFirst","statesView","objectStatesView","error","loaded","filterKey","depth","expandAllVisible","toast","editObjectDialog","editObjectAlias","viewFileDialog","showAliasEditor","roleDialog","columnsForAdmin","columnsSelectorShow","columnsAuto","columnsDialogTransparent","columnsEditCustomDialog","customColumnDialogValueChanged","showExportDialog","showAllExportOptions","linesEnabled","showDescription","noStatesByExportImport","beautifyJsonExport","excludeSystemRepositoriesFromExport","edit","editObject","deleteObject","customConfig","copyState","editState","close","filter_id","filter_name","filter_type","filter_role","filter_room","filter_func","filter_custom","filterCustomsWithout","objectChangedByUser","objectChangedBy","objectChangedFrom","stateChangedBy","stateChangedFrom","deviceError","deviceDisconnected","deviceConnected","aclOwner_read_object","aclOwner_read_state","aclOwner_write_object","aclOwner_write_state","aclGroup_read_object","aclGroup_read_state","aclGroup_write_object","aclGroup_write_state","aclEveryone_read_object","aclEveryone_read_state","aclEveryone_write_object","aclEveryone_write_state","create","createBooleanState","createNumberState","createStringState","createState","createChannel","createDevice","createFolder","levelPadding","_inherits2","_createClass2","_loadAllObjects","_callee4","update","_this2","moreObjects","_buildTree2","node","_callee4$","_context4","Promise","resolve","updating","objectsWorker","getObjects","Connection","isWeb","getObjectViewSystem","assign","systemConfig","getObject","defaultNewAcl","filterFunc","defaultHistory","then","getAdditionalColumns","expandAllSelected","onAfterSelect","showError","loadAllObjects","_x5","isNonExpertId","saveNamespace","cb","_toConsumableArray2","changed","path","isDouble","_this3","getObjectName","language","onSelect","_componentDidMount","_callee5","_callee5$","_context5","registerHandler","onObjectChange","subscribeObject","onContextMenu","componentDidMount","componentWillUnmount","_this4","filterTimer","unregisterHandler","unsubscribeObject","pattern","unsubscribeState","onStateChange","showDeleteDialog","_item$children2","_obj$common5","start","onObjectDelete","dontDelete","refreshComponent","_this5","renderErrorDialog","_this6","Dialog","open","maxWidth","fullWidth","onClose","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","variant","onClick","autoFocus","startIcon","Check","toggleItem","_this7","multiSelect","_renderDefinedList","isLast","_this8","cols","unshift","ListItemButton","Checkbox","edge","disabled","checked","disableRipple","ListItemText","renderColumnsSelectorDialog","_this9","FormControlLabel","control","Switch","onChange","label","List","column","ListItemIcon","Close","_this10","getAdapters","instances","parseObjectForAdmins","checkUnsubscribes","recordStates","unsubscribe","_root","_partyId","shift","_this11","adminColumns","objTypes","warn","subscribe","subscribeState","isPause","_this12","onFilter","_this13","_name","current","tagName","onFilterChanged","clearFilter","_this14","childNodes","isFilterEmpty","_this15","someNotEmpty","attr","getFilterInput","_this16","_this$filterRefs$name","FormControl","margin","Input","ref","underline","placeholder","defaultValue","autoComplete","firstChild","IconButton","size","getFilterSelect","_this17","_this$filterRefs$name2","hasIcons","Select","inputProps","displayEmpty","MenuItem","newFilter","getFilterSelectRole","getFilterSelectRoom","_this18","_this18$objects$id","_this18$objects$id2","getFilterSelectFunction","_this19","_this19$objects$id","_this19$objects$id2","getFilterSelectType","getFilterSelectCustoms","_this20","onExpandAll","_this21","onCollapseAll","_this22","expandDepth","_this23","onExpandVisible","onStatesViewVisible","onCollapseVisible","collapseDepth","_getSelectedIdsForExport","idDot","idLen","_exportObjects2","_callee6","_iterator2","_step2","_result$key","_callee6$","_context6","isAll","getEnumsForId","finish","_exportObjects","_x6","renderExportDialog","_this24","Fragment","getToolbar","_this25","allowObjectCreation","Tooltip","popper","Refresh","showExpertButton","disableColumnSelector","ViewColumn","badgeContent","LooksOne","TextFields","objectAddBoolean","toolTipObjectCreating","modalNewObj","Add","objectImportExport","input","handleJsonUpload","Publish","objectBrowserEditObject","objectEditBoolean","doNavigate","Build","toggleExpanded","onCopy","text","stopPropagation","copyToClipboard","renderColumnButtons","_this26","_item$children4","_item$data$obj$common","_item$data$obj$common3","objectEditOfAccessControl","modalEditOfAccess","modalEditOfAccessObjData","_item$children3","Delete","cellButtonsButtonIcon","aclTooltip","renderTooltipAccessControl","aclSystemConfig","showEdit","Number","isNaN","Edit","_item$children5","_item$data$obj$common2","objectCustomDialog","readHistory","sparkline","setHours","getHours","setMinutes","setSeconds","setMilliseconds","nowMs","getTime","getHistory","end","addID","aggregate","sparks","getElementsByClassName","renderColumnValue","_obj$common6","_this27","fill","strokeWidth","copyText","RoomService","onOpen","_syncEnum","enumIds","newArray","_this$info$objects$en","_this28","enumId","promises","_this$info$objects$en2","_this$info$objects$en3","all","syncEnum","_this29","toCheck","renderEnumDialog","_this30","itemEnums","enumDialogEnums","enumsOriginal","_this30$objects$id","alt","Fab","labelId","ListItem","tabIndex","ListItemSecondaryAction","renderEditRoleDialog","_this31","objectBrowserEditRole","ObjectBrowserEditRole","onColumnsEditCustomDialogClose","isSave","_this32","customColumnDialog","parseFloat","setCustomValue","Error","renderColumnsEditCustomDialog","_this33","getCustomValue","initValue","onKeyUp","keyCode","defaultChecked","pathText","TextField","renderCustomValue","_this34","notEditable","align","renderLeaf","isExpanded","_this35","_common$alias","_common$alias2","_this$states$id2","_item$data","_item$data2","_this$states$id3","_this$states$id4","_this$states$id5","iconFolder","itemType","iconItem","typeImg","_findRoomsForObject","_findFunctionsForObje","checkbox","valueEditable","objectBrowserViewFile","enumEditable","checkVisibleObjectType","newValueTitle","_this$states$id","readWriteAlias","alias","read","scrollToItem","checkColor","invertBackground","themeName","distance","colorDistance","themeType","icons","statusStates","_this35$objects$_id","colorSet","errorId","onlineId","WifiOff","offlineId","useDesc","Grid","container","direction","dragEnabled","onMouseDown","isRightMB","which","onDoubleClick","adapterColumns","updateOpened","renderItem","_this36","items","leaf","DragWrapper","_this37","WIDTHS","nameHeader","widthSum","newWidth","reduce","accumulator","navigateKeyPress","selectedId","code","idx","newIdx","newId","_obj$common7","getItemFromRoot","idArr","currId","_iterator3","_step3","idEntry","renderHandleRight","resizerMouseDown","resizerReset","renderHeader","_this38","filterClearInValue","renderToast","_this39","Snackbar","autoHideDuration","message","componentDidUpdate","_this40","clientWidth","getElementById","scrollIntoView","behavior","block","inline","renderCustomDialog","_this41","ObjectCustomDialog","reportChangedIds","changedIds","objectIDs","customsInstances","onUpdate","valAck","_this42","expire","renderEditObjectDialog","_this43","ObjectBrowserEditObject","roleArray","aliasTab","onNewObject","updateAlias","_this43$objects$_this","_obj$common8","renderViewObjectFileDialog","_this44","ObjectBrowserViewFile","renderAliasEditorDialog","_this45","objectBrowserAliasEditor","ObjectBrowserAliasEditor","onRedirect","timeout","showAddDataPointDialog","initialType","initialStateType","renderContextMenu","_this46","_obj$common9","_obj$common10","_obj$common11","_obj$common12","_obj$common13","_item$children6","_obj$common15","showACL","createStateVisible","createChannelVisible","createDeviceVisible","createFolderVisible","ITEMS","EDIT","visibility","EDIT_VALUE","FormatItalic","VIEW","FindInPage","CUSTOM","ACL","iconStyle","listItemIconClass","ROLE","BorderColor","FUNCTION","BedroomParent","ROOM","Construction","ALIAS","Link","_obj$common14","CREATE","subMenu","CreateNewFolder","DELETE","subItem","subAnchor","ArrowRight","Menu","anchorEl","altKey","renderEditValueDialog","_this$objects$this$ed","_this47","objectBrowserValue","ObjectBrowserValue","res","render","_this48","unsubscribeTimer","jsonFilter","CircularProgress","onKeyDown","modalNewObject","modalEditOfAccessControl","getDerivedStateFromProps","p","Component","defaultProps","propTypes","PropTypes","string","oneOfType","array","bool","isRequired","number","_export","withWidth","_default","exports"],"sources":["ObjectBrowser.js"],"sourcesContent":["/**\n * Copyright 2020-2024, Denis Haev <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React, { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport SVG from 'react-inlinesvg';\n\nimport {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Fab,\n FormControl,\n FormControlLabel,\n Grid,\n IconButton,\n Input,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemSecondaryAction,\n ListItemText,\n Menu,\n MenuItem,\n Select,\n Snackbar,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material';\n\n// Icons\nimport {\n Add as AddIcon,\n ArrowRight as ArrowRightIcon,\n BedroomParent,\n BorderColor,\n Build as BuildIcon,\n CalendarToday as IconSchedule,\n Check as IconCheck,\n Close as IconClose,\n Code as IconScript,\n Construction,\n CreateNewFolder as IconFolder,\n Delete as IconDelete,\n Description as IconMeta,\n Edit as IconEdit,\n Error as IconError,\n FindInPage,\n FormatItalic as IconValueEdit,\n Info as IconInfo,\n Link as IconLink,\n ListAlt as IconEnum,\n LooksOne as LooksOneIcon,\n PersonOutlined as IconUser,\n Photo as IconPhoto,\n Publish as PublishIcon,\n Refresh as RefreshIcon,\n RoomService as PressButtonIcon,\n Router as IconHost,\n Settings as IconConfig,\n SettingsApplications as IconSystem,\n ShowChart as IconChart,\n SupervisedUserCircle as IconGroup,\n TextFields as TextFieldsIcon,\n ViewColumn as IconColumns,\n Wifi as IconConnection,\n WifiOff as IconDisconnected,\n} from '@mui/icons-material';\n\nimport IconExpert from '../icons/IconExpert';\nimport IconAdapter from '../icons/IconAdapter';\nimport IconAlias from '../icons/IconAlias';\nimport IconChannel from '../icons/IconChannel';\nimport IconCopy from '../icons/IconCopy';\nimport IconDevice from '../icons/IconDevice';\nimport IconDocument from '../icons/IconDocument';\nimport IconDocumentReadOnly from '../icons/IconDocumentReadOnly';\nimport IconInstance from '../icons/IconInstance';\nimport IconState from '../icons/IconState';\nimport IconClosed from '../icons/IconClosed';\nimport IconOpen from '../icons/IconOpen';\nimport IconClearFilter from '../icons/IconClearFilter';\n\n// own\nimport Connection from '../Connection';\nimport Icon from './Icon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\nimport TabContainer from './TabContainer';\nimport TabContent from './TabContent';\nimport TabHeader from './TabHeader';\n\nconst ICON_SIZE = 24;\nconst ROW_HEIGHT = 32;\nconst ITEM_LEVEL = 16;\nconst SMALL_BUTTON_SIZE = 20;\nconst COLOR_NAME_SYSTEM = '#ff6d69';\nconst COLOR_NAME_SYSTEM_ADAPTER = '#5773ff';\nconst COLOR_NAME_ERROR_DARK = '#ff413c';\nconst COLOR_NAME_ERROR_LIGHT = '#86211f';\nconst COLOR_NAME_CONNECTED_DARK = '#57ff45';\nconst COLOR_NAME_CONNECTED_LIGHT = '#098c04';\nconst COLOR_NAME_DISCONNECTED_DARK = '#f3ad11';\nconst COLOR_NAME_DISCONNECTED_LIGHT = '#6c5008';\n\nconst styles = theme => ({\n toolbar: {\n minHeight: 38, // Theme.toolbar.height,\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n toolbarButtons: {\n padding: 4,\n marginLeft: 4,\n },\n switchColumnAuto: {\n marginLeft: theme.spacing(2),\n },\n dialogColumns: {\n transition: 'opacity 1s',\n },\n dialogColumnsLabel: {\n fontSize: 12,\n paddingTop: theme.spacing(1),\n },\n columnCustom: {\n width: '100%',\n display: 'inline-block',\n },\n columnCustomEditable: {\n cursor: 'text',\n },\n columnCustomCenter: {\n textAlign: 'center',\n },\n columnCustomLeft: {\n textAlign: 'left',\n },\n columnCustomRight: {\n textAlign: 'right',\n },\n width100: {\n width: '100%',\n },\n transparent_10: {\n opacity: 0.1,\n },\n transparent_20: {\n opacity: 0.2,\n },\n transparent_30: {\n opacity: 0.3,\n },\n transparent_40: {\n opacity: 0.4,\n },\n transparent_50: {\n opacity: 0.5,\n },\n transparent_60: {\n opacity: 0.6,\n },\n transparent_70: {\n opacity: 0.7,\n },\n transparent_80: {\n opacity: 0.8,\n },\n transparent_90: {\n opacity: 0.9,\n },\n transparent_100: {\n opacity: 1,\n },\n columnsDialogInputWidth: {\n width: 80,\n },\n headerRow: {\n paddingLeft: theme.spacing(1),\n height: 38,\n whiteSpace: 'nowrap',\n userSelect: 'none',\n },\n buttonClearFilter: {\n position: 'relative',\n float: 'right',\n padding: 0,\n },\n buttonClearFilterIcon: {\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n color: '#FF0000',\n opacity: 0.7,\n },\n\n tableDiv: {\n paddingTop: 0, // theme.spacing(1),\n paddingLeft: 0,\n width: `calc(100% - ${theme.spacing(1)})`,\n height: 'calc(100% - 38px)',\n overflow: 'auto',\n },\n tableRow: {\n paddingLeft: theme.spacing(1),\n height: ROW_HEIGHT,\n lineHeight: `${ROW_HEIGHT}px`,\n verticalAlign: 'top',\n userSelect: 'none',\n width: '100%',\n '&:hover': {\n background: `${\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\n } !important`,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n whiteSpace: 'nowrap',\n flexWrap: 'nowrap',\n },\n tableRowLines: {\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n '& > div': {\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n },\n },\n tableRowNoDragging: {\n cursor: 'pointer',\n },\n tableRowAlias: {\n height: ROW_HEIGHT + 10,\n },\n tableRowAliasReadWrite: {\n height: ROW_HEIGHT + 22,\n },\n checkBox: {\n padding: 0,\n },\n cellId: {\n position: 'relative',\n fontSize: '1rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // verticalAlign: 'top',\n // position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n '& .iconOwn': {\n display: 'block',\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n marginTop: 2,\n float: 'right',\n },\n '&:hover .iconOwn': {\n display: 'none',\n },\n '& *': {\n width: 'initial',\n },\n },\n cellIdSpan: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n // display: 'inline-block',\n // verticalAlign: 'top',\n },\n cellIdIconFolder: {\n marginRight: theme.spacing(1),\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n cursor: 'pointer',\n color: theme.palette.secondary.main || '#fbff7d',\n verticalAlign: 'top',\n },\n cellIdIconDocument: {\n verticalAlign: 'middle',\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n marginRight: theme.spacing(1),\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n },\n cellIdIconOwn: {\n\n },\n cellIdTooltip: {\n fontSize: 14,\n },\n cellIdTooltipLink: {\n color: '#7ec2fd',\n '&:hover': {\n color: '#7ec2fd',\n },\n '&:visited': {\n color: '#7ec2fd',\n },\n },\n cellCopyButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n '&:hover': {\n opacity: 1,\n },\n position: 'absolute',\n right: 3,\n },\n cellEditButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n color: 'white',\n position: 'absolute',\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n right: SMALL_BUTTON_SIZE + 3,\n opacity: 0.7,\n '&:hover': {\n opacity: 1,\n },\n },\n cellName: {\n display: 'inline-block',\n verticalAlign: 'top',\n fontSize: 14,\n marginLeft: 5,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellNameWithDesc: {\n lineHeight: 'normal',\n },\n cellNameDivDiv: {\n\n },\n cellDescription: {\n fontSize: 10,\n opacity: 0.5,\n fontStyle: 'italic',\n },\n cellIdAlias: {\n fontStyle: 'italic',\n fontSize: 12,\n opacity: 0.7,\n '&:hover': {\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\n },\n },\n cellIdAliasReadWriteDiv: {\n height: 24,\n marginTop: -5,\n },\n cellIdAliasAlone: {\n lineHeight: 0,\n },\n cellIdAliasReadWrite: {\n lineHeight: '12px',\n },\n cellType: {\n display: 'inline-block',\n verticalAlign: 'top',\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n '& .itemIconFolder': {\n marginLeft: 3,\n },\n },\n cellRole: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellRoom: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellEnumParent: {\n opacity: 0.4,\n },\n cellFunc: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValue: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValueButton: {\n marginTop: 5,\n '&:active': {\n transform: 'scale(0.8)',\n },\n },\n cellValueButtonFalse: {\n opacity: 0.3,\n },\n cellAdapter: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellValueTooltip: {\n fontSize: 12,\n },\n cellValueText: {\n width: '100%',\n height: ROW_HEIGHT,\n fontSize: 16,\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n verticalAlign: 'top',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellValueFile: {\n color: '#2837b9',\n },\n cellValueTooltipTitle: {\n fontStyle: 'italic',\n width: 100,\n display: 'inline-block',\n },\n cellValueTooltipValue: {\n width: 120,\n display: 'inline-block',\n // overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n cellValueTooltipBoth: {\n width: 220,\n display: 'inline-block',\n whiteSpace: 'nowrap',\n },\n cellValueTooltipBox: {\n width: 250,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n tooltip: {\n pointerEvents: 'none',\n },\n cellValueTextUnit: {\n marginLeft: theme.spacing(0.5),\n opacity: 0.8,\n },\n newValue: {\n animation: '$newValueAnimation 2s ease-in-out',\n },\n '@keyframes newValueAnimation': {\n '0%': {\n color: '#00f900',\n },\n '80%': {\n color: '#008000',\n },\n '100%': {\n color: theme.palette.mode === 'dark' ? '#fff' : '#000',\n },\n },\n cellValueTextState: {\n opacity: 0.7,\n },\n cellValueTooltipCopy: {\n position: 'absolute',\n bottom: 3,\n right: 3,\n },\n cellValueTooltipEdit: {\n position: 'absolute',\n bottom: 3,\n right: 15,\n },\n cellButtons: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellButtonsButton: {\n display: 'inline-block',\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE + 4,\n height: SMALL_BUTTON_SIZE + 4,\n '&:hover': {\n opacity: 1,\n },\n paddingTop: 0,\n paddingLeft: 0,\n marginTop: -2,\n },\n cellButtonsEmptyButton: {\n fontSize: 12,\n },\n cellButtonMinWidth: {\n minWidth: 47,\n },\n cellButtonsButtonAlone: {\n marginLeft: SMALL_BUTTON_SIZE + 4,\n paddingTop: 0,\n marginTop: -2,\n },\n cellButtonsButtonWithCustoms: {\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\n },\n cellButtonsButtonWithoutCustoms: {\n opacity: 0.2,\n },\n cellButtonsValueButton: {\n position: 'absolute',\n display: 'inline-block',\n top: SMALL_BUTTON_SIZE / 2 - 2,\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE - 2,\n height: SMALL_BUTTON_SIZE - 2,\n color: theme.palette.action.active,\n '&:hover': {\n opacity: 1,\n },\n },\n cellButtonsValueButtonCopy: {\n right: theme.spacing(1),\n cursor: 'pointer',\n },\n cellButtonsValueButtonEdit: {\n right: SMALL_BUTTON_SIZE / 2 + parseInt(theme.spacing(2), 10),\n },\n\n filteredOut: {\n opacity: 0.5,\n },\n filteredParentOut: {\n opacity: 0.3,\n },\n filterInput: {\n marginTop: 0,\n marginBottom: 0,\n },\n selectIcon: {\n width: 24,\n height: 24,\n marginRight: 4,\n },\n selectNone: {\n opacity: 0.5,\n },\n itemSelected: {\n background: `${theme.palette.primary.main} !important`,\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\n },\n header: {\n width: '100%',\n },\n headerCell: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n headerCellValue: {\n paddingTop: 4,\n // paddingLeft: 5,\n fontSize: 16,\n },\n headerCellInput: {\n width: 'calc(100% - 5px)',\n height: ROW_HEIGHT,\n paddingTop: 3,\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n },\n headerCellSelectItem: {\n '& .itemIcon': {\n width: ICON_SIZE,\n height: ICON_SIZE,\n marginRight: 5,\n display: 'inline-block',\n },\n },\n visibleButtons: {\n color: '#2196f3',\n opacity: 0.7,\n },\n grow: {\n flexGrow: 1,\n },\n enumIconDiv: {\n marginRight: theme.spacing(1),\n width: 32,\n height: 32,\n borderRadius: 8,\n background: '#FFFFFF',\n },\n enumIcon: {\n marginTop: 4,\n marginLeft: 4,\n width: 24,\n height: 24,\n },\n enumDialog: {\n overflow: 'hidden',\n },\n enumList: {\n minWidth: 250,\n height: 'calc(100% - 50px)',\n overflow: 'auto',\n },\n enumButton: {\n float: 'right',\n },\n enumCheckbox: {\n minWidth: 0,\n },\n buttonDiv: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n aclText: {\n fontSize: 13,\n },\n rightsObject: {\n color: '#55ff55',\n paddingLeft: 3,\n },\n rightsState: {\n color: '#86b6ff',\n paddingLeft: 3,\n },\n textCenter: {\n padding: 12,\n textAlign: 'center',\n },\n tooltipAccessControl: {\n display: 'flex',\n flexDirection: 'column',\n },\n '@media screen and (max-width: 465px)': {\n columnsDialogInputWidth: {\n width: 50,\n },\n fontSizeTitle: {\n '& *': {\n fontSize: 12,\n },\n },\n },\n '@media screen and (max-width: 700px)': {\n\n },\n '@media screen and (max-width: 430px)': {\n\n },\n draggable: {\n cursor: 'copy',\n },\n nonDraggable: {\n cursor: 'no-drop',\n },\n selectClearButton: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 20,\n backgroundColor: theme.palette.background.default,\n },\n iconDeviceConnected: {\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n },\n iconDeviceDisconnected: {\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n },\n iconDeviceError: {\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 50,\n width: 20,\n },\n resizeHandle: {\n display: 'block',\n position: 'absolute',\n cursor: 'col-resize',\n width: 7,\n top: 2,\n bottom: 2,\n zIndex: 1,\n },\n resizeHandleRight: {\n right: 3,\n borderRight: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderRightStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderRightStyle: 'solid',\n },\n },\n resizeHandleLeft: {\n left: -4,\n borderLeft: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderLeftStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderLeftStyle: 'solid',\n },\n },\n invertedBackground: {\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n padding: '0 3px',\n borderRadius: '2px 0 0 2px',\n },\n invertedBackgroundFlex: {\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n borderRadius: '0 2px 2px 0',\n },\n contextMenuEdit: {\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\n },\n contextMenuEditValue: {\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\n },\n contextMenuView: {\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n },\n contextMenuCustom: {\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\n },\n contextMenuACL: {\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\n },\n contextMenuRoom: {\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\n },\n contextMenuRole: {\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\n },\n contextMenuAlias: {\n color: theme.palette.mode === 'dark' ? '#5cabfb' : '#011ed0',\n },\n contextMenuDelete: {\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\n },\n contextMenuKeys: {\n marginLeft: theme.spacing(1),\n opacity: 0.7,\n fontSize: 'smaller',\n },\n contextMenuWithSubMenu: {\n display: 'flex',\n },\n});\n\n/**\n * Function that walks through all keys of an object or array and applies a function to each key.\n * @returns {unknown} The copied object\n */\nfunction walkThrough(object, iteratee) {\n if (Array.isArray(object)) {\n const copiedObject = [];\n for (let index = 0; index < object.length; index++) {\n iteratee(copiedObject, object[index], index);\n }\n return copiedObject;\n }\n\n const copiedObject = {};\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n iteratee(copiedObject, object[key], key);\n }\n }\n return copiedObject;\n}\n\n/**\n * Function to reduce an object primarily by a given list of keys\n * @param obj The object which should be filtered\n * @param filterKeys The keys which should be excluded\n * @param excludeTranslations Whether translations should be reduced to only the english value\n * @returns {unknown} The filtered object\n */\nfunction filterObject(obj, filterKeys, excludeTranslations) {\n return walkThrough(obj, (result, value, key) => {\n if (value === undefined || value === null) {\n return;\n }\n if (typeof key === 'string' && filterKeys.includes(key)) {\n return;\n }\n // if the key is an object, run it through the inner function - omitFromObject\n const isObject = typeof value === 'object';\n if (excludeTranslations && isObject) {\n if (typeof value.en === 'string' && typeof value.de === 'string') {\n result[key] = value.en;\n return;\n }\n }\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\n });\n}\n\n/**\n * Function to generate a json-file for an object and trigger download it\n * @param filename {string} The desired filename\n * @param obj {unknown} The obj which should be downloaded\n * @param options Options to filter/reduce the output\n * @param options.beautify {boolean} Whether the output should be beautified\n * @param options.excludeSystemRepositories {boolean} Whether \"system.repositories\" should be excluded\n * @param options.excludeTranslations {boolean} Whether translations should be reduced to only the english value\n */\nfunction generateFile(filename, obj, options) {\n const el = document.createElement('a');\n const filterKeys = [];\n if (options.excludeSystemRepositories) {\n filterKeys.push('system.repositories');\n }\n const filteredObject = filterKeys.length > 0 || options.excludeTranslations ? filterObject(obj, filterKeys, options.excludeTranslations) : obj;\n const data = options.beautify ? JSON.stringify(filteredObject, null, 2) : JSON.stringify(filteredObject);\n el.setAttribute('href', `data:application/json;charset=utf-8,${encodeURIComponent(data)}`);\n el.setAttribute('download', filename);\n\n el.style.display = 'none';\n document.body.appendChild(el);\n\n el.click();\n\n document.body.removeChild(el);\n}\n\n// d=data, t=target, s=start, e=end, m=middle\nfunction binarySearch(list, find, _start, _end) {\n _start = _start || 0;\n if (_end === undefined) {\n _end = list.length - 1;\n if (!_end) {\n return list[0] === find;\n }\n }\n const middle = Math.floor((_start + _end) / 2);\n if (find === list[middle]) {\n return list[middle];\n }\n if (_end - 1 === _start) {\n return list[_start] === find || list[_end] === find;\n }\n if (find > list[middle]) {\n return binarySearch(list, find, middle, _end);\n }\n if (find < list[middle]) {\n return binarySearch(list, find, _start, middle);\n }\n return false;\n}\n\n/**\n * Check if browser is running on iOS\n *\n * @return {boolean}\n */\n// function isIOS() {\n// return [\n// 'iPad Simulator',\n// 'iPhone Simulator',\n// 'iPod Simulator',\n// 'iPad',\n// 'iPhone',\n// 'iPod',\n// ].includes(navigator.platform)\n// // iPad on iOS 13 detection\n// || (navigator.userAgent.includes('Mac') && 'ontouchend' in document);\n// }\n\nfunction getName(name, lang) {\n if (name && typeof name === 'object') {\n return (name[lang] || name.en || '').toString();\n }\n\n return (name || '').toString();\n}\n\nfunction getSelectIdIcon(objects, id, imagePrefix) {\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\n let src = '';\n const _id_ = `system.adapter.${id}`;\n const aIcon = id && objects[_id_] && objects[_id_].common && objects[_id_].common.icon;\n if (aIcon) {\n // if not BASE64\n if (!aIcon.startsWith('data:image/')) {\n if (aIcon.includes('.')) {\n src = `${imagePrefix}/adapter/${objects[_id_].common.name}/${aIcon}`;\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null; // '<i class=\"material-icons iob-list-icon\">' + objects[_id_].common.icon + '</i>';\n }\n } else if (aIcon.startsWith('data:image/svg')) {\n src = <SVG className=\"iconOwn\" src={aIcon} width={28} height={28} />;\n } else {\n src = aIcon;\n }\n } else {\n const common = objects[id] && objects[id].common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (objects[id].type === 'instance' || objects[id].type === 'adapter') {\n src = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\n } else if (id && id.startsWith('system.adapter.')) {\n instance = id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null;\n }\n } else if (cIcon.startsWith('data:image/svg')) {\n // if base 64 image\n src = <SVG className=\"iconOwn\" src={cIcon} width={28} height={28} />;\n } else {\n src = cIcon;\n }\n }\n }\n }\n\n return src || null;\n}\n\nfunction applyFilter(item, filters, lang, objects, context, counter, customFilter, selectedTypes, _depth) {\n _depth = _depth || 0;\n let filteredOut = false;\n if (!context) {\n context = {};\n if (filters.id) {\n context.id = filters.id.toLowerCase();\n }\n if (filters.name) {\n context.name = filters.name.toLowerCase();\n }\n if (filters.type) {\n context.type = filters.type.toLowerCase();\n }\n if (filters.custom) {\n context.custom = filters.custom.toLowerCase();\n }\n if (filters.role) {\n context.role = filters.role.toLowerCase();\n }\n if (filters.room) {\n context.room =\n (objects[filters.room] && objects[filters.room].common && objects[filters.room].common.members) || [];\n }\n if (filters.func) {\n context.func =\n (objects[filters.func] && objects[filters.func].common && objects[filters.func].common.members) || [];\n }\n }\n\n const data = item.data;\n\n if (data && data.id) {\n const common = data.obj?.common;\n\n if (customFilter) {\n if (customFilter.type) {\n if (typeof customFilter.type === 'string') {\n if (!data.obj || customFilter.type !== data.obj.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.type)) {\n if (!data.obj || !customFilter.type.includes(data.obj.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.type) {\n if (!common?.type) {\n filteredOut = true;\n } else if (typeof customFilter.common.type === 'string') {\n if (customFilter.common.type !== common.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.type)) {\n if (!customFilter.type.includes(common.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.role) {\n if (!common?.role) {\n filteredOut = true;\n } else if (typeof customFilter.common.role === 'string') {\n if (common.role.startsWith(customFilter.common.role)) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.role)) {\n if (!customFilter.common.role.find(role => customFilter.role.includes(role))) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.custom === '_' && common?.custom) {\n filteredOut = true;\n }\n\n if (!filteredOut && customFilter.common?.custom && customFilter.common?.custom !== '_') {\n if (!common?.custom) {\n filteredOut = true;\n } else if (customFilter.common.custom === '_dataSources') {\n // TODO: make it configurable\n if (\n !Object.keys(common.custom).find(\n id => id.startsWith('history.') || id.startsWith('sql.') || id.startsWith('influxdb.'),\n )\n ) {\n filteredOut = true;\n }\n } else if (\n customFilter.common.custom !== true &&\n !Object.keys(common.custom).find(id => id.startsWith(customFilter.common.custom))\n ) {\n filteredOut = true;\n }\n }\n }\n\n if (!filteredOut && !filters.expertMode) {\n filteredOut =\n data.id === 'system' ||\n data.id === 'enum' ||\n // (data.obj && data.obj.type === 'meta') ||\n data.id.startsWith('system.') ||\n data.id.startsWith('enum.') ||\n data.id.startsWith('_design/') ||\n data.id.endsWith('.admin') ||\n (common && common.expert);\n }\n if (!filteredOut && context.id) {\n if (data.fID === undefined) {\n data.fID = data.id.toLowerCase();\n }\n filteredOut = !data.fID.includes(context.id);\n }\n if (!filteredOut && context.name) {\n if (common) {\n if (data.fName === undefined) {\n data.fName = (common && getName(common.name, lang)) || '';\n data.fName = data.fName.toLowerCase();\n }\n filteredOut = !data.fName.includes(context.name);\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && filters.role && common) {\n if (common) {\n filteredOut = !(common.role && common.role.startsWith(context.role));\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && context.room) {\n filteredOut = !context.room.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.func) {\n filteredOut = !context.func.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.type) {\n filteredOut = !(data.obj && data.obj.type && data.obj.type === context.type);\n }\n if (!filteredOut && selectedTypes) {\n filteredOut = !(data.obj && data.obj.type && selectedTypes.includes(data.obj.type));\n }\n if (!filteredOut && context.custom) {\n if (common) {\n if (context.custom === '_') {\n filteredOut = !!common.custom;\n } else {\n filteredOut = !common.custom || !common.custom[context.custom];\n }\n } else {\n filteredOut = true;\n }\n }\n }\n\n data.visible = !filteredOut;\n\n data.hasVisibleChildren = false;\n if (item.children && _depth < 20) {\n item.children.forEach(_item => {\n const visible = applyFilter(\n _item,\n filters,\n lang,\n objects,\n context,\n counter,\n customFilter,\n selectedTypes,\n _depth + 1,\n );\n if (visible) {\n data.hasVisibleChildren = true;\n }\n });\n }\n\n // const visible = data.visible || data.hasVisibleChildren;\n data.sumVisibility = data.visible || data.hasVisibleChildren; // || data.hasVisibleParent;\n if (counter && data.sumVisibility) {\n counter.count++;\n }\n\n // show all children of visible object with opacity 0.5\n if (data.id && data.sumVisibility && item.children) {\n item.children.forEach(_item => (_item.data.hasVisibleParent = true));\n }\n\n return data.visible || data.hasVisibleChildren;\n}\n\nfunction getVisibleItems(item, type, objects, _result) {\n _result = _result || [];\n const data = item.data;\n if (data.sumVisibility) {\n data.id && objects[data.id] && (!type || objects[data.id].type === type) && _result.push(data.id);\n item.children?.forEach(_item =>\n getVisibleItems(_item, type, objects, _result));\n }\n\n return _result;\n}\n\nfunction getSystemIcon(objects, id, k, imagePrefix) {\n let icon;\n\n // system or design have special icons\n if (id.startsWith('_design/') || id === 'system') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = <IconPhoto className=\"iconOwn\" />;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = <IconAlias className=\"iconOwn\" />;\n } else if (id === 'system.adapter') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === 'system.group') {\n icon = <IconGroup className=\"iconOwn\" />;\n } else if (id === 'system.user') {\n icon = <IconUser className=\"iconOwn\" />;\n } else if (id === 'system.host') {\n icon = <IconHost className=\"iconOwn\" />;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = <IconConnection className=\"iconOwn\" />;\n } else if (id.endsWith('.info')) {\n icon = <IconInfo className=\"iconOwn\" />;\n } else if (objects[id] && objects[id].type === 'meta') {\n icon = <IconMeta className=\"iconOwn\" />;\n } else if (k < 2) {\n // detect \"cloud.0\"\n if (objects[`system.adapter.${id}`]) {\n icon = getSelectIdIcon(objects, `system.adapter.${id}`, imagePrefix);\n }\n }\n\n return icon || null;\n}\n\nfunction getObjectTooltip(data, lang) {\n if (!data) {\n return null;\n }\n if (data.obj?.common?.desc) {\n let tooltip = '';\n\n if (typeof data.obj.common.desc === 'object') {\n tooltip = data.obj.common.desc[lang] || data.obj.common.desc.en;\n } else {\n tooltip = data.obj.common.desc;\n }\n if (!tooltip) {\n return null;\n }\n\n return tooltip.toString();\n }\n\n return null;\n}\n\nfunction getIdFieldTooltip(data, classes, lang) {\n const tooltip = getObjectTooltip(data, lang);\n if (tooltip?.startsWith('http')) {\n return <a\n className={Utils.clsx(classes.cellIdTooltipLink)}\n href={tooltip}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {tooltip}\n </a>;\n }\n return <span className={Utils.clsx(classes.cellIdTooltip)}>{tooltip || data.id || ''}</span>;\n}\n\nfunction buildTree(objects, options) {\n options = options || {};\n const imagePrefix = options.imagePrefix || '.';\n\n let ids = Object.keys(objects);\n\n ids.sort((a, b) => {\n if (a === b) {\n return 0;\n }\n a = a.replace(/\\./g, '!!!');\n b = b.replace(/\\./g, '!!!');\n if (a > b) {\n return 1;\n }\n return -1;\n });\n\n if (options.root) {\n ids = ids.filter(id => id === options.root || id.startsWith(`${options.root}.`));\n }\n\n // find empty nodes and create names for it\n let currentPathArr = [];\n let currentPath = '';\n let currentPathLen = 0;\n const root = {\n data: {\n name: '',\n id: '',\n },\n children: [],\n };\n\n const info = {\n funcEnums: [],\n roomEnums: [],\n roles: [],\n ids: [],\n types: [],\n objects,\n customs: ['_'],\n enums: [],\n hasSomeCustoms: false,\n };\n\n let croot = root;\n\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i];\n if (!id) {\n continue;\n }\n const obj = objects[id];\n const parts = id.split('.');\n\n if (obj.type && !info.types.includes(obj.type)) {\n info.types.push(obj.type);\n }\n\n if (obj) {\n const common = obj.common;\n const role = common && common.role;\n if (role && !info.roles.includes(role)) {\n info.roles.push(role);\n } else if (id.startsWith('enum.rooms.')) {\n info.roomEnums.push(id);\n info.enums.push(id);\n } else if (id.startsWith('enum.functions.')) {\n info.funcEnums.push(id);\n info.enums.push(id);\n } else if (obj.type === 'enum') {\n info.enums.push(id);\n } else if (obj.type === 'instance' && common && (common.supportCustoms || common.adminUI?.custom)) {\n info.hasSomeCustoms = true;\n info.customs.push(id.substring('system.adapter.'.length));\n }\n }\n\n info.ids.push(id);\n\n let repeat;\n\n // if next level\n do {\n repeat = false;\n\n // If the current level is still OK, and we can add ID to children\n if (!currentPath || id.startsWith(`${currentPath}.`)) {\n // if more than one level added\n if (parts.length - currentPathLen > 1) {\n let curPath = currentPath;\n // generate missing levels\n for (let k = currentPathLen; k < parts.length - 1; k++) {\n curPath += (curPath ? '.' : '') + parts[k];\n // level does not exist\n if (!binarySearch(info.ids, curPath)) {\n const _croot = {\n data: {\n name: parts[k],\n parent: croot,\n id: curPath,\n obj: objects[curPath],\n level: k,\n icon: getSystemIcon(objects, curPath, k, imagePrefix),\n generated: true,\n },\n };\n\n croot.children = croot.children || [];\n croot.children.push(_croot);\n croot = _croot;\n info.ids.push(curPath); // IDs will be added by alphabet\n } else {\n croot = croot.children.find(item => item.data.name === parts[k]);\n }\n }\n }\n\n const _croot = {\n data: {\n name: parts[parts.length - 1],\n title: getName(obj?.common?.name, options.lang),\n obj,\n parent: croot,\n icon: getSelectIdIcon(objects, id, imagePrefix) || getSystemIcon(objects, id, 0, imagePrefix),\n id,\n hasCustoms: obj.common?.custom && Object.keys(obj.common.custom).length,\n level: parts.length - 1,\n generated: false,\n button: obj.type === 'state' &&\n obj.common?.role &&\n typeof obj.common.role === 'string' &&\n obj.common.role.startsWith('button') &&\n obj.common?.write !== false,\n },\n };\n\n croot.children = croot.children || [];\n croot.children.push(_croot);\n croot = _croot;\n\n currentPathLen = parts.length;\n currentPathArr = parts;\n currentPath = id;\n } else {\n let u = 0;\n\n while (currentPathArr[u] === parts[u]) {\n u++;\n }\n\n if (u > 0) {\n let move = currentPathArr.length;\n currentPathArr = currentPathArr.splice(0, u);\n currentPathLen = u;\n currentPath = currentPathArr.join('.');\n while (move > u) {\n croot = croot.data.parent;\n move--;\n }\n } else {\n croot = root;\n currentPathArr = [];\n currentPath = '';\n currentPathLen = 0;\n }\n repeat = true;\n }\n } while (repeat);\n }\n\n info.roomEnums.sort((a, b) => {\n const aName = getName(objects[a]?.common?.name || a.split('.').pop());\n const bName = getName(objects[b]?.common?.name || b.split('.').pop());\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.funcEnums.sort((a, b) => {\n const aName = getName(objects[a]?.common?.name || a.split('.').pop());\n const bName = getName(objects[b]?.common?.name || b.split('.').pop());\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.roles.sort();\n info.types.sort();\n\n return { info, root };\n}\n\nfunction findNode(root, id, _parts, _path, _level) {\n if (root.data.id === id) {\n return root;\n }\n if (!_parts) {\n _parts = id.split('.');\n _level = 0;\n _path = _parts[_level];\n }\n if (!root.children && root.data.id !== id) {\n return null;\n }\n let found;\n for (let i = 0; i < root.children.length; i++) {\n const _id = root.children[i].data.id;\n if (_id === _path) {\n found = root.children[i];\n break;\n } else if (_id > _path) {\n break;\n }\n }\n if (found) {\n return findNode(found, id, _parts, `${_path}.${_parts[_level + 1]}`, _level + 1);\n }\n\n return null;\n}\n\nfunction findRoomsForObject(data, id, lang, withParentInfo, rooms) {\n if (!id) {\n return { rooms: [], per: false };\n }\n rooms = rooms || [];\n for (const room of data.roomEnums) {\n const common = data.objects[room]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n\n if (common.members?.includes(id) && !rooms.includes(name)) {\n if (!withParentInfo) {\n rooms.push(name);\n } else {\n rooms.push({ name, origin: id });\n }\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (data.objects[id]) {\n ownEnums = rooms.length;\n findRoomsForObject(data, id, lang, withParentInfo, rooms);\n }\n\n return { rooms, per: !ownEnums }; // pe is if the enums are from parent\n}\n\nfunction findEnumsForObjectAsIds(data, id, enumName, funcs) {\n if (!id) {\n return [];\n }\n funcs = funcs || [];\n for (let i = 0; i < data[enumName].length; i++) {\n const common = data.objects[data[enumName][i]]?.common;\n if (common?.members?.includes(id) && !funcs.includes(data[enumName][i])) {\n funcs.push(data[enumName][i]);\n }\n }\n funcs.sort();\n\n return funcs;\n}\n\nfunction findFunctionsForObject(data, id, lang, withParentInfo, funcs) {\n if (!id) {\n return { funcs: [], pef: false };\n }\n funcs = funcs || [];\n for (let i = 0; i < data.funcEnums.length; i++) {\n const common = data.objects[data.funcEnums[i]]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n if (common.members?.includes(id) && !funcs.includes(name)) {\n if (!withParentInfo) {\n funcs.push(name);\n } else {\n funcs.push({ name, origin: id });\n }\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (data.objects[id]) {\n ownEnums = funcs.length;\n findFunctionsForObject(data, id, lang, withParentInfo, funcs);\n }\n\n return { funcs, pef: !ownEnums };\n}\n\n/*\nfunction quality2text(q) {\n if (!q) {\n return 'ok';\n }\n const custom = q & 0xFFFF0000;\n let text = '';\n if (q & 0x40) text += 'device';\n if (q & 0x80) text += 'sensor';\n if (q & 0x01) text += ' bad';\n if (q & 0x02) text += ' not connected';\n if (q & 0x04) text += ' error';\n\n return text + (custom ? '|0x' + (custom >> 16).toString(16).toUpperCase() : '') + ' [0x' + q.toString(16).toUpperCase() + ']';\n}\n*/\n\n/** @typedef {{ state: ioBroker.State, obj: Record<string, any>, texts: Record<string, any>, dateFormat: any, isFloatComma: boolean }} FormatValueOptions */\n\n/**\n * Format a state value for visualization\n *\n * @param {FormatValueOptions} options\n * @return {{valText: {}, valFull: [{t: (*|String), v: (string|*)}] }}\n */\nfunction formatValue(options) {\n const {\n dateFormat, obj, state, isFloatComma, texts,\n } = options;\n const states = Utils.getStates(obj);\n const isCommon = obj.common;\n\n const valText = {};\n let v =\n isCommon && isCommon.type === 'file'\n ? '[file]'\n : !state || state.val === null\n ? '(null)'\n : state.val === undefined\n ? '[undef]'\n : state.val;\n const type = typeof v;\n\n if (isCommon?.role && typeof isCommon.role === 'string' && isCommon.role.match(/^value\\.time|^date/)) {\n if (v && typeof v === 'string') {\n if (Utils.isStringInteger(v)) {\n // we assume a unix ts\n v = new Date(parseInt(v, 10)).toString();\n } else {\n // check if parsable by new date\n try {\n const parsedDate = new Date(v);\n\n if (Utils.isValidDate(parsedDate)) {\n v = parsedDate.toString();\n }\n } catch {\n // ignore\n }\n }\n } else {\n if (v > 946681200 && v < 946681200000) {\n // '2000-01-01T00:00:00' => 946681200000\n v *= 1_000; // maybe the time is in seconds (UNIX time)\n }\n // null and undefined could not be here. See `let v = (isCommon && isCommon.type === 'file') ....` above\n v = v ? new Date(v).toString() : v;\n }\n } else {\n if (type === 'number') {\n v = Math.round(v * 100_000_000) / 100_000_000; // remove 4.00000000000000001\n if (isFloatComma) {\n v = v.toString().replace('.', ',');\n }\n } else if (type === 'object') {\n v = JSON.stringify(v);\n } else if (type !== 'string') {\n v = v.toString();\n }\n\n if (typeof v !== 'string') {\n v = v.toString();\n }\n }\n\n // try to replace number with \"common.states\"\n if (states && states[v] !== undefined) {\n if (v !== states[v]) {\n valText.s = v;\n v = states[v];\n }\n }\n\n if (isCommon?.unit) {\n valText.u = isCommon.unit;\n }\n const valFull = [{ t: texts.value, v }];\n\n if (state) {\n if (state.ack !== undefined && state.ack !== null) {\n valFull.push({ t: texts.ack, v: state.ack.toString() });\n }\n if (state.ts) {\n valFull.push({ t: texts.ts, v: state.ts ? Utils.formatDate(new Date(state.ts), dateFormat) : '' });\n }\n if (state.lc) {\n valFull.push({ t: texts.lc, v: state.lc ? Utils.formatDate(new Date(state.lc), dateFormat) : '' });\n }\n if (state.from) {\n let from = state.from.toString();\n if (from.startsWith('system.adapter.')) {\n from = from.substring(15);\n }\n valFull.push({ t: texts.from, v: from });\n }\n if (state.user) {\n let user = state.user.toString();\n if (user.startsWith('system.user.')) {\n user = user.substring(12);\n }\n valFull.push({ t: texts.user, v: user });\n }\n if (state.c) {\n valFull.push({ t: texts.c, v: state.c });\n }\n valFull.push({ t: texts.quality, v: Utils.quality2text(state.q || 0).join(', '), nbr: true });\n }\n\n valText.v = v;\n\n return {\n valText,\n valFull,\n };\n}\n\n/** @typedef {{ state: ioBroker.State, isExpertMode: boolean, isButton: boolean }} GetValueStyleOptions */\n\n/**\n * Get css style for given state value\n *\n * @param {GetValueStyleOptions} options\n * @return {{color: (string)}}\n */\nfunction getValueStyle(options) {\n const { state, isExpertMode, isButton } = options;\n let color = state?.ack ? (state.q ? '#ffa500' : '') : '#ff2222c9';\n\n if (!isExpertMode && isButton) {\n color = '';\n }\n\n return { color };\n}\n\nfunction prepareSparkData(values, from) {\n // set every hour one point\n let time = from;\n let i = 1;\n const v = [];\n\n while (i < values.length && time < from + 25 * 3600000) {\n // find the interval\n while (values[i - 1].ts < time && time <= values[i].ts && i < values.length) {\n i++;\n }\n if (i === 1 && values[i - 1].ts >= time) {\n // assume the value was always null\n v.push(0);\n } else if (i < values.length) {\n if (typeof values[i].val === 'boolean' || typeof values[i - 1].val === 'boolean') {\n v.push(values[i].val ? 1 : 0);\n } else {\n // remove nulls\n values[i - 1].val = values[i - 1].val || 0;\n values[i].val = values[i].val || 0;\n // interpolate\n const val =\n values[i - 1].val +\n ((values[i].val - values[i - 1].val) * (time - values[i - 1].ts)) /\n (values[i].ts - values[i - 1].ts);\n\n v.push(val);\n }\n }\n\n time += 3600000;\n }\n\n return v;\n}\n\n/**\n * @type {import('./types').ObjectBrowserTableFilter}\n */\nconst DEFAULT_FILTER = {\n id: '',\n name: '',\n room: '',\n func: '',\n role: '',\n type: '',\n custom: '',\n expertMode: false,\n};\n\nconst ITEM_IMAGES = {\n state: <IconState className=\"itemIcon\" />,\n channel: <IconChannel className=\"itemIcon\" />,\n device: <IconDevice className=\"itemIcon\" />,\n adapter: <IconAdapter className=\"itemIcon\" />,\n meta: <IconMeta className=\"itemIcon\" />,\n instance: <IconInstance className=\"itemIcon\" style={{ color: '#7da7ff' }} />,\n enum: <IconEnum className=\"itemIcon\" />,\n chart: <IconChart className=\"itemIcon\" />,\n config: <IconConfig className=\"itemIcon\" />,\n group: <IconGroup className=\"itemIcon\" />,\n user: <IconUser className=\"itemIcon\" />,\n host: <IconHost className=\"itemIcon\" />,\n schedule: <IconSchedule className=\"itemIcon\" />,\n script: <IconScript className=\"itemIcon\" />,\n folder: <IconClosed className=\"itemIcon itemIconFolder\" />,\n};\n\nconst StyledBadge = withStyles(theme => ({\n badge: {\n right: 3,\n top: 3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px',\n },\n}))(Badge);\n\nconst SCREEN_WIDTHS = {\n // extra-small: 0px\n xs: { idWidth: '100%', fields: [], widths: {} },\n // small: 600px\n sm: { idWidth: 300, fields: ['room', 'val'], widths: { room: 100, val: 200 } },\n // medium: 960px\n md: {\n idWidth: 300,\n fields: ['room', 'func', 'val', 'buttons'],\n widths: {\n name: 200,\n room: 150,\n func: 150,\n val: 120,\n buttons: 120,\n },\n },\n // large: 1280px\n lg: {\n idWidth: 300,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 300,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 165,\n lastChange: 165,\n },\n },\n // /////////////\n // extra-large: 1920px\n xl: {\n idWidth: 550,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 400,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 170,\n lastChange: 170,\n },\n },\n};\n\nlet objectsAlreadyLoaded = false;\n\n/**\n * @extends {React.Component<import('./types').ObjectBrowserProps>}\n */\nclass ObjectBrowser extends Component {\n /**\n * Namespaces which are allowed to be edited by non-expert users\n * @type {string[]}\n */\n #NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];\n\n /**\n * @param {import('./types').ObjectBrowserProps} props\n */\n constructor(props) {\n super(props);\n\n this.lastSelectedItems =\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectSelected`) ||\n '[]';\n try {\n this.lastSelectedItems = JSON.parse(this.lastSelectedItems);\n if (typeof this.lastSelectedItems !== 'object') {\n this.lastSelectedItems = [this.lastSelectedItems];\n }\n this.lastSelectedItems = this.lastSelectedItems.filter(id => id);\n } catch (e) {\n // ignore\n }\n\n let expanded =\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectExpanded`) ||\n '[]';\n try {\n expanded = JSON.parse(expanded);\n } catch (e) {\n expanded = [];\n }\n\n let filter = props.defaultFilters ||\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.objectFilter`) || {\n ...DEFAULT_FILTER,\n };\n\n if (typeof filter === 'string') {\n try {\n filter = JSON.parse(filter);\n } catch (e) {\n filter = { ...DEFAULT_FILTER };\n }\n }\n\n filter.expertMode =\n props.expertMode !== undefined\n ? props.expertMode\n : (window._sessionStorage || window.sessionStorage).getItem('App.expertMode') === 'true';\n this.tableRef = createRef();\n this.filterRefs = {};\n\n Object.keys(DEFAULT_FILTER).forEach(name => (this.filterRefs[name] = createRef()));\n\n this.lastAppliedFilter = null;\n this.pausedSubscribes = false;\n\n this.selectedFound = false;\n this.root = null;\n this.states = {};\n this.subscribes = [];\n this.statesUpdateTimer = null;\n this.objectsUpdateTimer = null;\n\n this.visibleCols = props.columns || SCREEN_WIDTHS[props.width].fields;\n // remove type column if only one type must be selected\n if (props.types && props.types.length === 1) {\n const pos = this.visibleCols.indexOf('type');\n pos !== -1 && this.visibleCols.splice(pos, 1);\n }\n\n this.possibleCols = SCREEN_WIDTHS.xl.fields;\n\n let customDialog = null;\n\n if (props.router) {\n const location = props.router.getLocation();\n if (location.id && location.dialog === 'customs') {\n customDialog = [location.id];\n this.pauseSubscribe(true);\n }\n }\n\n let selected = props.selected || '';\n if (typeof selected !== 'object') {\n selected = [selected];\n }\n selected = selected.map(id => id.replace(/[\"']/g, '')).filter(id => id);\n\n let columns = (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columns`);\n try {\n columns = columns ? JSON.parse(columns) : null;\n } catch (e) {\n columns = null;\n }\n\n let columnsWidths = null; // (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columnsWidths`);\n try {\n columnsWidths = columnsWidths ? JSON.parse(columnsWidths) : {};\n } catch (e) {\n columnsWidths = {};\n }\n\n this.imagePrefix = props.imagePrefix || '.';\n let foldersFirst = (window._localStorage || window.localStorage).getItem(\n `${props.dialogName || 'App'}.foldersFirst`,\n );\n if (foldersFirst === 'false') {\n foldersFirst = false;\n } else if (foldersFirst === 'true') {\n foldersFirst = true;\n } else {\n foldersFirst = props.foldersFirst === undefined ? true : props.foldersFirst;\n }\n\n let statesView = false;\n try {\n statesView = this.props.objectStatesView\n ? JSON.parse(\n (window._localStorage || window.localStorage).getItem(\n `${props.dialogName || 'App'}.objectStatesView`,\n ),\n ) || false\n : false;\n } catch (error) {\n // ignore\n }\n\n this.state = {\n loaded: false,\n foldersFirst,\n selected,\n selectedNonObject:\n (window._localStorage || window.localStorage).getItem(\n `${props.dialogName || 'App'}.selectedNonObject`,\n ) || '',\n filter,\n filterKey: 0,\n depth: 0,\n expandAllVisible: false,\n expanded,\n toast: '',\n scrollBarWidth: 16,\n customDialog,\n editObjectDialog: '',\n editObjectAlias: false, // open the edit object dialog on alias tab\n viewFileDialog: '',\n showAliasEditor: '',\n enumDialog: null,\n roleDialog: null,\n statesView,\n columns,\n columnsForAdmin: null,\n columnsSelectorShow: false,\n columnsAuto:\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.columnsAuto`) !==\n 'false',\n columnsWidths,\n columnsDialogTransparent: 100,\n columnsEditCustomDialog: null,\n customColumnDialogValueChanged: false,\n showExportDialog: false,\n showAllExportOptions: false,\n linesEnabled:\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.lines`) === 'true',\n showDescription:\n (window._localStorage || window.localStorage).getItem(`${props.dialogName || 'App'}.desc`) !== 'false',\n showContextMenu: null,\n noStatesByExportImport: false,\n beautifyJsonExport: true,\n excludeSystemRepositoriesFromExport: true,\n excludeTranslations: false,\n };\n\n this.edit = {};\n\n this.texts = {\n value: props.t('ra_tooltip_value'),\n ack: props.t('ra_tooltip_ack'),\n ts: props.t('ra_tooltip_ts'),\n lc: props.t('ra_tooltip_lc'),\n from: props.t('ra_tooltip_from'),\n user: props.t('ra_tooltip_user'),\n c: props.t('ra_tooltip_comment'),\n quality: props.t('ra_tooltip_quality'),\n editObject: props.t('ra_tooltip_editObject'),\n deleteObject: props.t('ra_tooltip_deleteObject'),\n customConfig: props.t('ra_tooltip_customConfig'),\n copyState: props.t('ra_tooltip_copyState'),\n editState: props.t('ra_tooltip_editState'),\n close: props.t('ra_Close'),\n filter_id: props.t('ra_filter_id'),\n filter_name: props.t('ra_filter_name'),\n filter_type: props.t('ra_filter_type'),\n filter_role: props.t('ra_filter_role'),\n filter_room: props.t('ra_filter_room'),\n filter_func: props.t('ra_filter_func'),\n filter_custom: props.t('ra_filter_customs'), //\n filterCustomsWithout: props.t('ra_filter_customs_without'), //\n objectChangedByUser: props.t('ra_object_changed_by_user'), // Object last changed at\n objectChangedBy: props.t('ra_object_changed_by'), // Object changed by\n objectChangedFrom: props.t('ra_state_changed_from'), // Object changed from\n stateChangedBy: props.t('ra_state_changed_by'), // State changed by\n stateChangedFrom: props.t('ra_state_changed_from'), // State changed from\n ownerGroup: props.t('ra_Owner group'),\n ownerUser: props.t('ra_Owner user'),\n deviceError: props.t('ra_Error'),\n deviceDisconnected: props.t('ra_Disconnected'),\n deviceConnected: props.t('ra_Connected'),\n\n aclOwner_read_object: props.t('ra_aclOwner_read_object'),\n aclOwner_read_state: props.t('ra_aclOwner_read_state'),\n aclOwner_write_object: props.t('ra_aclOwner_write_object'),\n aclOwner_write_state: props.t('ra_aclOwner_write_state'),\n aclGroup_read_object: props.t('ra_aclGroup_read_object'),\n aclGroup_read_state: props.t('ra_aclGroup_read_state'),\n aclGroup_write_object: props.t('ra_aclGroup_write_object'),\n aclGroup_write_state: props.t('ra_aclGroup_write_state'),\n aclEveryone_read_object: props.t('ra_aclEveryone_read_object'),\n aclEveryone_read_state: props.t('ra_aclEveryone_read_state'),\n aclEveryone_write_object: props.t('ra_aclEveryone_write_object'),\n aclEveryone_write_state: props.t('ra_aclEveryone_write_state'),\n\n create: props.t('ra_Create'),\n createBooleanState: props.t('ra_create_boolean_state'),\n createNumberState: props.t('ra_create_number_state'),\n createStringState: props.t('ra_create_string_state'),\n createState: props.t('ra_create_state'),\n createChannel: props.t('ra_create_channel'),\n createDevice: props.t('ra_create_device'),\n createFolder: props.t('ra_Create folder'),\n };\n\n this.levelPadding = props.levelPadding || ITEM_LEVEL;\n\n let resizerCurrentWidths = (window._localStorage || window.localStorage).getItem(\n `${this.props.dialogName || 'App'}.table`,\n );\n if (resizerCurrentWidths) {\n try {\n resizerCurrentWidths = JSON.parse(resizerCurrentWidths);\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width]));\n Object.keys(resizerCurrentWidths).forEach(id => {\n if (id === 'id') {\n SCREEN_WIDTHS[this.props.width].idWidth = resizerCurrentWidths.id;\n } else if (id === 'nameHeader') {\n SCREEN_WIDTHS[this.props.width].widths.name = resizerCurrentWidths[id];\n } else if (SCREEN_WIDTHS[this.props.width].widths[id] !== undefined) {\n SCREEN_WIDTHS[this.props.width].widths[id] = resizerCurrentWidths[id];\n }\n });\n\n this.customWidth = true;\n } catch (e) {\n // ignore\n }\n }\n\n this.calculateColumnsVisibility();\n }\n\n async loadAllObjects(update) {\n const props = this.props;\n\n try {\n await new Promise(resolve => {\n this.setState({ updating: true }, () => resolve());\n });\n\n const objects = this.props.objectsWorker ? (await this.props.objectsWorker.getObjects(update)) : (await props.socket.getObjects(update, true));\n if (props.types && Connection.isWeb()) {\n for (let i = 0; i < props.types.length; i++) {\n // admin has ALL objects\n // web has only state, channel, device, enum, and system.config\n if (props.types[i] === 'state' || props.types[i] === 'channel' || props.types[i] === 'device' || props.types[i] === 'enum') {\n continue;\n }\n const moreObjects = await props.socket.getObjectViewSystem(props.types[i], null, null);\n Object.assign(objects, moreObjects);\n }\n }\n\n this.systemConfig = this.systemConfig || objects['system.config'] || (await props.socket.getObject('system.config'));\n\n this.systemConfig.common = this.systemConfig.common || {};\n this.systemConfig.common.defaultNewAcl = this.systemConfig.common.defaultNewAcl || {};\n this.systemConfig.common.defaultNewAcl.owner =\n this.systemConfig.common.defaultNewAcl.owner || 'system.user.admin';\n this.systemConfig.common.defaultNewAcl.ownerGroup =\n this.systemConfig.common.defaultNewAcl.ownerGroup || 'system.group.administrator';\n if (typeof this.systemConfig.common.defaultNewAcl.state !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n if (typeof this.systemConfig.common.defaultNewAcl.object !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n\n if (typeof props.filterFunc === 'function') {\n this.objects = {};\n Object.keys(objects).forEach(id => {\n try {\n if (props.filterFunc(objects[id])) {\n this.objects[id] = objects[id];\n } else {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too for icons and names of nodes\n if (type &&\n (\n type === 'channel' ||\n type === 'device' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance'\n )\n ) {\n this.objects[id] = objects[id];\n }\n }\n } catch (e) {\n console.log(`Error by filtering of \"${id}\": ${e}`);\n }\n });\n } else if (props.types) {\n this.objects = {};\n Object.keys(objects).forEach(id => {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too\n if (\n type &&\n (type === 'channel' ||\n type === 'device' ||\n type === 'enum' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance' ||\n props.types.includes(type))\n ) {\n this.objects[id] = objects[id];\n }\n });\n } else {\n this.objects = objects;\n }\n\n // read default history\n this.defaultHistory = this.systemConfig.common.defaultHistory;\n if (this.defaultHistory) {\n props.socket\n .getState(`system.adapter.${this.defaultHistory}.alive`)\n .then(state => {\n if (!state || !state.val) {\n this.defaultHistory = '';\n }\n })\n .catch(e => window.alert(`Cannot get state: ${e}`));\n }\n\n const columnsForAdmin = await this.getAdditionalColumns();\n this.calculateColumnsVisibility(null, null, columnsForAdmin);\n\n const { info, root } = buildTree(this.objects, this.props);\n this.root = root;\n this.info = info;\n\n // Show first selected item\n const node =\n this.state.selected && this.state.selected.length && findNode(this.root, this.state.selected[0]);\n\n this.lastAppliedFilter = null;\n\n // If the selected ID is not visible, reset filter\n if (\n node &&\n !applyFilter(\n node,\n this.state.filter,\n this.props.lang,\n this.objects,\n null,\n null,\n props.customFilter,\n props.types,\n )\n ) {\n // reset filter\n this.setState({ filter: { ...DEFAULT_FILTER }, columnsForAdmin }, () => {\n this.setState({ loaded: true, updating: false }, () =>\n this.expandAllSelected(() => this.onAfterSelect()));\n });\n } else {\n this.setState({ loaded: true, updating: false, columnsForAdmin }, () =>\n this.expandAllSelected(() => this.onAfterSelect()));\n }\n } catch (e1) {\n this.showError(e1);\n }\n }\n\n /**\n * Check if it is a non-expert id\n *\n * @param id id to test\n * @return {boolean}\n */\n isNonExpertId(id) {\n return !!this.#NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));\n }\n\n /**\n * @private\n * @param {ioBroker.EmptyCallback?} cb\n */\n expandAllSelected(cb) {\n const expanded = [...this.state.expanded];\n let changed = false;\n this.state.selected.forEach(id => {\n const parts = id.split('.');\n const path = [];\n for (let i = 0; i < parts.length - 1; i++) {\n path.push(parts[i]);\n if (!expanded.includes(path.join('.'))) {\n expanded.push(path.join('.'));\n changed = true;\n }\n }\n });\n if (changed) {\n expanded.sort();\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify(expanded),\n );\n this.setState({ expanded }, cb);\n } else {\n cb && cb();\n }\n }\n\n /**\n * @private\n * @param {boolean} [isDouble]\n */\n onAfterSelect(isDouble) {\n this.lastSelectedItems = [...this.state.selected];\n if (this.state.selected && this.state.selected.length) {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n JSON.stringify(this.lastSelectedItems),\n );\n\n const name =\n this.lastSelectedItems.length === 1\n ? Utils.getObjectName(this.objects, this.lastSelectedItems[0], null, { language: this.props.lang })\n : '';\n this.props.onSelect && this.props.onSelect(this.lastSelectedItems, name, isDouble);\n } else {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n '',\n );\n if (this.state.selected.length) {\n this.setState({ selected: [] }, () => this.props.onSelect && this.props.onSelect([], ''));\n } else {\n this.props.onSelect && this.props.onSelect([], '');\n }\n }\n }\n\n /**\n * @private\n * @param {import('./types').ObjectBrowserProps} props\n * @param {any} state\n */\n static getDerivedStateFromProps(props, state) {\n const newState = {};\n let changed = false;\n if (props.expertMode !== undefined && props.expertMode !== state.filter.expertMode) {\n changed = true;\n newState.filter = { ...state.filter };\n newState.filter.expertMode = props.expertMode;\n }\n return changed ? newState : null;\n }\n\n /**\n * Called when component is mounted.\n */\n async componentDidMount() {\n await this.loadAllObjects(!objectsAlreadyLoaded);\n if (this.props.objectsWorker) {\n this.props.objectsWorker.registerHandler(this.onObjectChange);\n } else {\n this.props.socket.subscribeObject('*', this.onObjectChange);\n }\n\n objectsAlreadyLoaded = true;\n\n window.addEventListener('contextmenu', this.onContextMenu, true);\n }\n\n /**\n * Called when component is unmounted.\n */\n componentWillUnmount() {\n this.filterTimer && clearTimeout(this.filterTimer);\n this.filterTimer = null;\n window.removeEventListener('contextmenu', this.onContextMenu, true);\n\n if (this.props.objectsWorker) {\n this.props.objectsWorker.unregisterHandler(this.onObjectChange, true);\n } else {\n this.props.socket.unsubscribeObject('*', this.onObjectChange);\n }\n\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n this.objects = {};\n }\n\n /** @typedef {{ id: string, obj: ioBroker.Object, item: any }} ShowDeleteDialogOptions */\n\n /**\n * Show the delete dialog for a given object\n *\n * @param {ShowDeleteDialogOptions} options\n */\n showDeleteDialog(options) {\n const { id, obj, item } = options;\n\n // calculate the number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n this.props.onObjectDelete(\n id,\n !!item.children?.length,\n !obj.common?.dontDelete,\n count + 1,\n );\n }\n\n /**\n * Context menu handler.\n */\n onContextMenu = e => {\n // console.log(`CONTEXT MENU: ${this.contextMenu ? Date.now() - this.contextMenu.ts : 'false'}`);\n if (this.contextMenu && Date.now() - this.contextMenu.ts < 2000) {\n e.preventDefault();\n this.setState({ showContextMenu: { item: this.contextMenu.item } });\n } else if (this.state.showContextMenu) {\n e.preventDefault();\n this.setState({ showContextMenu: null });\n }\n this.contextMenu = null;\n };\n\n /**\n * Called when component is mounted.\n */\n refreshComponent() {\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n\n this.loadAllObjects(true)\n .then(() => console.log('updated!'));\n }\n\n /**\n * Renders the error dialog.\n * @returns {JSX.Element | null}\n */\n renderErrorDialog() {\n return this.state.error ? <Dialog\n open={!0}\n maxWidth=\"sm\"\n fullWidth\n onClose={() => this.setState({ error: '' })}\n aria-labelledby=\"error-dialog-title\"\n aria-describedby=\"error-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">{this.props.title || this.props.t('ra_Error')}</DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {this.state.error}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => this.setState({ error: '' })}\n color=\"primary\"\n autoFocus\n startIcon={<IconCheck />}\n >\n {this.props.t('ra_Ok')}\n </Button>\n </DialogActions>\n </Dialog> : null;\n }\n\n /**\n * Show the error dialog.\n * @param {any} error\n */\n showError(error) {\n this.setState({\n error:\n typeof error === 'object'\n ? error && typeof error.toString === 'function'\n ? error.toString()\n : JSON.stringify(error)\n : error,\n });\n }\n\n /**\n * Called when an item is selected/deselected.\n * @param {string} toggleItem\n * @param {boolean} [isDouble]\n */\n onSelect(toggleItem, isDouble, cb) {\n if (!this.props.multiSelect) {\n if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n (window._localStorage || window.localStorage).removeItem(\n `${this.props.dialogName || 'App'}.selectedNonObject`,\n );\n if (this.state.selected[0] !== toggleItem) {\n this.setState({ selected: [toggleItem], selectedNonObject: '' }, () => {\n this.onAfterSelect(isDouble);\n cb && cb();\n });\n } else if (isDouble && this.props.onSelect) {\n this.onAfterSelect(isDouble);\n }\n } else {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.selectedNonObject`,\n toggleItem,\n );\n this.setState({ selected: [], selectedNonObject: toggleItem }, () => {\n this.onAfterSelect();\n cb && cb();\n });\n }\n } else if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n (window._localStorage || window.localStorage).removeItem(\n `${this.props.dialogName || 'App'}.selectedNonObject`,\n );\n\n const selected = [...this.state.selected];\n const pos = selected.indexOf(toggleItem);\n if (pos === -1) {\n selected.push(toggleItem);\n selected.sort();\n } else if (!isDouble) {\n selected.splice(pos, 1);\n }\n\n this.setState({ selected, selectedNonObject: '' }, () => {\n this.onAfterSelect(isDouble);\n cb && cb();\n });\n }\n }\n\n /**\n * @private\n * @param {boolean} isLast\n */\n _renderDefinedList(isLast) {\n const cols = [...this.possibleCols];\n cols.unshift('id');\n if (this.props.columns && !this.props.columns.includes('buttons')) {\n const pos = cols.indexOf('buttons');\n if (pos !== -1) {\n cols.splice(pos, 1);\n }\n }\n return cols\n .filter(\n id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'),\n )\n .map(id =>\n <ListItemButton\n onClick={() => {\n if (!this.state.columnsAuto && id !== 'id') {\n const columns = [...(this.state.columns || [])];\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.calculateColumnsVisibility(null, columns);\n this.setState({ columns });\n }\n }}\n key={id}\n >\n <Checkbox\n edge=\"start\"\n disabled={id === 'id' || this.state.columnsAuto}\n checked={\n id === 'id' ||\n (this.state.columnsAuto\n ? this.visibleCols.includes(id)\n : this.state.columns && this.state.columns.includes(id))\n }\n disableRipple\n />\n <ListItemText primary={this.texts[`filter_${id}`] || this.props.t(`ra_${id}`)} />\n {/*\n <ListItemSecondaryAction>\n <FormControl\n variant=\"standard\"\n className={this.props.classes.columnsDialogInputWidth}\n style={{ marginTop: 0, marginBottom: 0 }}\n margin=\"dense\"\n >\n <Input\n classes={{ underline: 'no-underline' }}\n placeholder={this.props.t('ra_Width')}\n value={this.state.columnsWidths[id] || ''}\n onChange={e => {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths[id] = e.target.value;\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n </FormControl>\n </ListItemSecondaryAction>\n */}\n </ListItemButton>);\n }\n\n /**\n * Renders the columns' selector.\n * @returns {JSX.Element | null}\n */\n renderColumnsSelectorDialog() {\n if (!this.state.columnsSelectorShow) {\n return null;\n }\n return <Dialog\n onClose={() => this.setState({ columnsSelectorShow: false })}\n open={!0}\n classes={{\n root: Utils.clsx(\n this.props.classes.dialogColumns,\n this.props.classes[`transparent_${this.state.columnsDialogTransparent}`],\n ),\n }}\n >\n <DialogTitle className={this.props.classes.fontSizeTitle}>{this.props.t('ra_Configure')}</DialogTitle>\n <DialogContent className={this.props.classes.fontSizeTitle}>\n <FormControlLabel\n className={this.props.classes.switchColumnAuto}\n control={\n <Switch\n checked={this.state.foldersFirst}\n onChange={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.foldersFirst`,\n this.state.foldersFirst ? 'false' : 'true',\n );\n this.setState({ foldersFirst: !this.state.foldersFirst });\n }}\n />\n }\n label={this.props.t('ra_Folders always first')}\n />\n <FormControlLabel\n className={this.props.classes.switchColumnAuto}\n control={\n <Switch\n checked={this.state.linesEnabled}\n onChange={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.lines`,\n this.state.linesEnabled ? 'false' : 'true',\n );\n this.setState({ linesEnabled: !this.state.linesEnabled });\n }}\n />\n }\n label={this.props.t('ra_Show lines between rows')}\n />\n <FormControlLabel\n className={this.props.classes.switchColumnAuto}\n control={\n <Switch\n checked={this.state.columnsAuto}\n onChange={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.columnsAuto`,\n this.state.columnsAuto ? 'false' : 'true',\n );\n if (!this.state.columnsAuto) {\n this.calculateColumnsVisibility(true);\n this.setState({ columnsAuto: true });\n } else if (!this.state.columns) {\n this.calculateColumnsVisibility(false, [...this.visibleCols]);\n this.setState({ columnsAuto: false, columns: [...this.visibleCols] });\n } else {\n this.calculateColumnsVisibility(false);\n this.setState({ columnsAuto: false });\n }\n }}\n />\n }\n label={this.props.t('ra_Auto (no custom columns)')}\n />\n {/*\n <Typography classes={{ root: this.props.classes.dialogColumnsLabel }}>{this.props.t('ra_Transparent dialog')}</Typography>\n <Slider classes={{ root: this.props.classes.width100 }} value={this.state.columnsDialogTransparent} min={20} max={100} step={10} onChange={(event, newValue) =>\n this.setState({ columnsDialogTransparent: newValue })\n } />\n */}\n <List>\n {this._renderDefinedList(false)}\n\n {this.state.columnsForAdmin &&\n Object.keys(this.state.columnsForAdmin)\n .sort()\n .map(adapter =>\n this.state.columnsForAdmin[adapter].map(column => (\n <ListItemButton\n onClick={() => {\n if (!this.state.columnsAuto) {\n const columns = [...(this.state.columns || [])];\n const id = `_${adapter}_${column.path}`;\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n this.calculateColumnsVisibility(null, columns);\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.setState({ columns });\n }\n }}\n key={`${adapter}_${column.name}`}\n >\n <ListItemIcon>\n <Checkbox\n disabled={this.state.columnsAuto}\n edge=\"start\"\n checked={\n !this.state.columnsAuto &&\n this.state.columns &&\n this.state.columns.includes(`_${adapter}_${column.path}`)\n }\n disableRipple\n />\n </ListItemIcon>\n <ListItemText primary={`${column.name} (${adapter})`} />\n {/*\n <ListItemSecondaryAction>\n <FormControl\n variant=\"standard\"\n className={this.props.classes.columnsDialogInputWidth}\n style={{ marginTop: 0, marginBottom: 0 }}\n margin=\"dense\"\n >\n <Input\n classes={{ underline: 'no-underline' }}\n placeholder={this.props.t('ra_Width')}\n value={this.state.columnsWidths['_' + adapter + '_' + column.path] || ''}\n onChange={e => {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths['_' + adapter + '_' + column.path] = e.target.value;\n (window._localStorage || window.localStorage).setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n </FormControl>\n </ListItemSecondaryAction>\n */}\n </ListItemButton>\n )))}\n {this._renderDefinedList(true)}\n </List>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => this.setState({ columnsSelectorShow: false })}\n color=\"primary\"\n startIcon={<IconClose />}\n >\n {this.texts.close}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n\n /**\n * @private\n */\n getAdditionalColumns() {\n return this.props.socket\n .getAdapters()\n .then(instances => {\n let columnsForAdmin = null;\n // find all additional columns\n instances.forEach(obj => (columnsForAdmin = this.parseObjectForAdmins(columnsForAdmin, obj)));\n\n return columnsForAdmin;\n })\n .catch(() => {\n // window.alert('Cannot get adapters: ' + e);\n // Object browser in Web has no additional columns\n });\n }\n\n /**\n * @private\n */\n checkUnsubscribes() {\n // Remove unused subscriptions\n for (let i = this.subscribes.length - 1; i >= 0; i--) {\n !this.recordStates.includes(this.subscribes[i]) && this.unsubscribe(this.subscribes[i]);\n }\n this.recordStates = [];\n }\n\n /**\n * Find an item.\n * @param {string} id\n * @param {string[] | undefined} [_parts]\n * @param {{ data: { name: string; id: string; }; children: never[]; } | null | undefined} [_root]\n * @param {string | undefined} [_partyId]\n * @returns {any}\n */\n findItem(id, _parts, _root, _partyId) {\n _parts = _parts || id.split('.');\n _root = _root || this.root;\n if (!_root || !_parts.length) {\n return null;\n }\n\n _partyId = (_partyId ? `${_partyId}.` : '') + _parts.shift();\n\n if (_root.children) {\n const item = _root.children.find(i => i.data.id === _partyId);\n if (item) {\n if (item.data.id === id) {\n return item;\n }\n if (_parts.length) {\n return this.findItem(id, _parts, item, _partyId);\n }\n } else {\n return null;\n }\n }\n\n return null;\n }\n\n /**\n * Called when a state changes.\n * @param {string} id\n * @param {ioBroker.State} state\n */\n onStateChange = (id, state) => {\n console.log(`> stateChange ${id}`);\n if (this.states[id]) {\n const item = this.findItem(id);\n if (item && item.data.state) {\n item.data.state = null;\n }\n }\n this.states[id] = state;\n\n if (!this.pausedSubscribes) {\n if (!this.statesUpdateTimer) {\n this.statesUpdateTimer = setTimeout(() => {\n this.statesUpdateTimer = null;\n this.forceUpdate();\n }, 300);\n }\n } else if (this.statesUpdateTimer) {\n clearTimeout(this.statesUpdateTimer);\n this.statesUpdateTimer = null;\n }\n };\n\n /**\n * @private\n * @param {{ [x: string]: any; }} columnsForAdmin\n * @param {any} obj\n */\n parseObjectForAdmins(columnsForAdmin, obj) {\n if (obj.common && obj.common.adminColumns && obj.common.name) {\n let columns = obj.common.adminColumns;\n if (typeof columns !== 'object') {\n columns = [columns];\n }\n columns = columns\n .map(item => {\n if (typeof item !== 'object') {\n return { path: item, name: item.split('.').pop() };\n }\n\n // string => array\n if (item.objTypes && typeof item.objTypes !== 'object') {\n item.objTypes = [item.objTypes];\n } else if (!item.objTypes) {\n item.objTypes = null;\n }\n\n if (!item.name && item.path) {\n return {\n path: item.path,\n name: item.path.split('.').pop(),\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n };\n }\n if (typeof item.name !== 'object' && item.path) {\n return {\n path: item.path,\n name: item.name,\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n };\n }\n if (!item.path) {\n console.warn(`Admin columns for ${obj._id} ignored, because path not found`);\n return null;\n }\n return {\n path: item.path,\n name: item.name[this.props.lang] || item.name.en,\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n };\n })\n .filter(item => item);\n\n if (columns && columns.length) {\n columnsForAdmin = columnsForAdmin || {};\n columnsForAdmin[obj.common.name] = columns.sort((a, b) =>\n (a.path > b.path ? -1 : a.path < b.path ? 1 : 0));\n }\n } else if (obj.common && obj.common.name && columnsForAdmin && columnsForAdmin[obj.common.name]) {\n delete columnsForAdmin[obj.common.name];\n }\n return columnsForAdmin;\n }\n\n /**\n * @param {string} id\n * @param {ioBroker.Object} obj\n */\n onObjectChange = (id, obj /* , oldObj */) => {\n let newState;\n\n if (Array.isArray(id)) {\n id.forEach(event => {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(event.id, event.obj);\n if (filtered) {\n return;\n }\n if (newInnerState) {\n newState = newInnerState;\n }\n });\n } else {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(id, obj);\n if (filtered) {\n return;\n }\n newState = newInnerState;\n }\n\n newState && this.setState(newState);\n\n if (!this.objectsUpdateTimer && this.objects) {\n this.objectsUpdateTimer = setTimeout(() => {\n this.objectsUpdateTimer = null;\n const { info, root } = buildTree(this.objects, this.props);\n this.root = root;\n this.info = info;\n this.lastAppliedFilter = null; // apply filter anew\n\n if (!this.pausedSubscribes) {\n this.forceUpdate();\n }\n // else it will be re-rendered when dialog will be closed\n }, 500);\n }\n };\n\n /**\n * Processes a single element in regard to certain filters, columns for admin and updates object dict\n * @param id The id of the object\n * @param obj The object itself\n * @returns {{filtered: boolean, newInnerState: null}} Returns an object containing the new state (if any) and whether the object was filtered.\n */\n processOnObjectChangeElement(id, obj) {\n console.log(`> objectChange ${id}`);\n let newInnerState = null;\n const type = obj && obj.type;\n\n if (obj &&\n typeof this.props.filterFunc === 'function' &&\n !this.props.filterFunc(obj) &&\n type !== 'channel' &&\n type !== 'device' &&\n type !== 'folder' &&\n type !== 'adapter' &&\n type !== 'instance'\n ) {\n return { newInnerState, filtered: true };\n }\n\n if (id.startsWith('system.adapter.') && obj && obj.type === 'adapter') {\n const columnsForAdmin = JSON.parse(JSON.stringify(this.state.columnsForAdmin));\n\n this.parseObjectForAdmins(columnsForAdmin, obj);\n\n if (JSON.stringify(this.state.columnsForAdmin) !== JSON.stringify(columnsForAdmin)) {\n newInnerState = { columnsForAdmin };\n }\n }\n this.objects = this.objects || [];\n if (obj) {\n this.objects[id] = obj;\n } else if (this.objects[id]) {\n delete this.objects[id];\n }\n return { newInnerState, filtered: false };\n }\n\n /**\n * @private\n * @param {string} id\n */\n subscribe(id) {\n if (!this.subscribes.includes(id)) {\n this.subscribes.push(id);\n console.log(`+ subscribe ${id}`);\n !this.pausedSubscribes && this.props.socket.subscribeState(id, this.onStateChange);\n }\n }\n\n /**\n * @private\n * @param {string} id\n */\n unsubscribe(id) {\n const pos = this.subscribes.indexOf(id);\n if (pos !== -1) {\n this.subscribes.splice(pos, 1);\n if (this.states[id]) {\n delete this.states[id];\n }\n console.log(`- unsubscribe ${id}`);\n this.props.socket.unsubscribeState(id, this.onStateChange);\n\n if (this.pausedSubscribes) {\n console.warn('Unsubscribe during pause?');\n }\n }\n }\n\n /**\n * @private\n * @param {boolean} isPause\n */\n pauseSubscribe(isPause) {\n if (!this.pausedSubscribes && isPause) {\n this.pausedSubscribes = true;\n this.subscribes.forEach(id => this.props.socket.unsubscribeState(id, this.onStateChange));\n } else if (this.pausedSubscribes && !isPause) {\n this.pausedSubscribes = false;\n this.subscribes.forEach(id => this.props.socket.subscribeState(id, this.onStateChange));\n }\n }\n\n /**\n * @private\n * @param {string} [name]\n * @param {boolean} [value]\n */\n onFilter(name, value) {\n this.filterTimer = null;\n const filter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(_name => {\n if (this.filterRefs[_name] && this.filterRefs[_name].current) {\n for (let i = 0; i < this.filterRefs[_name].current.children.length; i++) {\n if (this.filterRefs[_name].current.children[i].tagName === 'INPUT') {\n filter[_name] = this.filterRefs[_name].current.children[i].value;\n break;\n }\n }\n }\n });\n\n if (name) {\n filter[name] = value;\n if (name === 'expertMode') {\n (window._sessionStorage || window.sessionStorage).setItem('App.expertMode', value ? 'true' : 'false');\n }\n }\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectFilter`,\n JSON.stringify(filter),\n );\n this.setState({ filter }, () => this.props.onFilterChanged && this.props.onFilterChanged(filter));\n }\n }\n\n clearFilter() {\n const filter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(name => {\n if (this.filterRefs[name] && this.filterRefs[name].current) {\n for (let i = 0; i < this.filterRefs[name].current.childNodes.length; i++) {\n const item = this.filterRefs[name].current.childNodes[i];\n if (item.tagName === 'INPUT') {\n filter[name] = '';\n item.value = '';\n break;\n }\n }\n }\n });\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectFilter`,\n JSON.stringify(filter),\n );\n this.setState(\n { filter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(filter),\n );\n }\n }\n\n isFilterEmpty() {\n const someNotEmpty = Object.keys(this.state.filter).find(\n attr => attr !== 'expertMode' && this.state.filter[attr],\n );\n return !someNotEmpty;\n }\n\n /**\n * @private\n * @param {string} name\n */\n getFilterInput(name) {\n return <FormControl\n className={Utils.clsx(this.props.classes.headerCellInput, this.props.classes.filterInput)}\n key={`${name}_${this.state.filterKey}`}\n // style={{ marginTop: 0, marginBottom: 0 }}\n margin=\"dense\"\n >\n <Input\n ref={this.filterRefs[name]}\n classes={{ underline: 'no-underline' }}\n id={name}\n placeholder={this.texts[`filter_${name}`]}\n defaultValue={this.state.filter[name]}\n onChange={() => {\n this.filterTimer && clearTimeout(this.filterTimer);\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n autoComplete=\"off\"\n />\n {this.filterRefs[name]?.current?.firstChild.value ?\n <div\n style={{\n position: 'absolute',\n right: 0,\n }}\n >\n <IconButton\n size=\"small\"\n onClick={() => {\n this.filterRefs[name].current.firstChild.value = '';\n this.onFilter(name, '');\n }}\n >\n <IconClose />\n </IconButton>\n </div> : null}\n </FormControl>;\n }\n\n /**\n * @private\n * @param {string} name\n * @param {any[]} values\n */\n getFilterSelect(name, values) {\n const hasIcons = !!values.find(item => item.icon);\n return <div style={{ position: 'relative' }}>\n <Select\n variant=\"standard\"\n key={`${name}_${this.state.filterKey}`}\n ref={this.filterRefs[name]}\n className={`${this.props.classes.headerCellInput} no-underline`}\n onChange={() => {\n this.filterTimer && clearTimeout(this.filterTimer);\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n defaultValue={this.state.filter[name] || ''}\n inputProps={{ name, id: name }}\n displayEmpty\n >\n <MenuItem key=\"empty\" value=\"\">\n <span className={this.props.classes.selectNone}>{this.texts[`filter_${name}`]}</span>\n </MenuItem>\n {values.map(item => {\n let id;\n let _name;\n let icon;\n if (typeof item === 'object') {\n id = item.value;\n _name = item.name;\n icon = item.icon;\n } else {\n id = item;\n _name = item;\n }\n return <MenuItem className={this.props.classes.headerCellSelectItem} key={id} value={id}>\n {icon || (hasIcons ? <div className=\"itemIcon\" /> : null)}\n {_name}\n </MenuItem>;\n })}\n </Select>\n {this.filterRefs[name]?.current?.childNodes[1]?.value ?\n <div className={Utils.clsx(this.props.classes.selectClearButton)}>\n <IconButton\n size=\"small\"\n onClick={() => {\n const newFilter = { ...this.state.filter };\n newFilter[name] = '';\n this.filterRefs[name].current.childNodes[1].value = '';\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectFilter`,\n JSON.stringify(newFilter),\n );\n this.setState(\n { filter: newFilter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(newFilter),\n );\n }}\n >\n <IconClose />\n </IconButton>\n </div> : null}\n </div>;\n }\n\n /**\n * @private\n */\n getFilterSelectRole() {\n return this.getFilterSelect('role', this.info.roles);\n }\n\n /**\n * @private\n */\n getFilterSelectRoom() {\n const rooms = this.info.roomEnums.map(id => ({\n name: getName(this.objects[id]?.common?.name || id.split('.').pop()),\n value: id,\n icon: <Icon src={this.objects[id]?.common?.icon || ''} className={this.props.classes.selectIcon} />,\n }));\n\n return this.getFilterSelect('room', rooms);\n }\n\n /**\n * @private\n */\n getFilterSelectFunction() {\n const func = this.info.funcEnums.map(id => ({\n name: getName(\n this.objects[id]?.common?.name || id.split('.').pop(),\n ),\n value: id,\n icon: <Icon src={this.objects[id]?.common?.icon || ''} className={this.props.classes.selectIcon} />,\n }));\n\n return this.getFilterSelect('func', func);\n }\n\n /**\n * @private\n */\n getFilterSelectType() {\n const types = this.info.types.map(type => ({\n name: type,\n value: type,\n icon: ITEM_IMAGES[type],\n }));\n\n return this.getFilterSelect('type', types);\n }\n\n /**\n * @private\n */\n getFilterSelectCustoms() {\n if (this.info.customs.length > 1) {\n const customs = this.info.customs.map(id => ({\n name: id === '_' ? this.texts.filterCustomsWithout : id,\n value: id,\n icon: id === '_' ? null : <Icon\n src={getSelectIdIcon(this.objects, id, this.imagePrefix) || ''}\n className={this.props.classes.selectIcon}\n />,\n }));\n return this.getFilterSelect('custom', customs);\n }\n return null;\n }\n\n /**\n * @private\n * @param {any} [root]\n * @param {any[]} [expanded]\n */\n onExpandAll(root, expanded) {\n root = root || this.root;\n expanded = expanded || [];\n\n root.children &&\n root.children.forEach(item => {\n if (item.data.sumVisibility) {\n expanded.push(item.data.id);\n this.onExpandAll(item, expanded);\n }\n });\n\n if (root === this.root) {\n expanded.sort();\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify(expanded),\n );\n\n this.setState({ expanded });\n }\n }\n\n /**\n * @private\n */\n onCollapseAll() {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify([]),\n );\n (window._localStorage || window.localStorage).setItem(`${this.props.dialogName || 'App'}.objectSelected`, '[]');\n this.setState({ expanded: [], depth: 0, selected: [] }, () =>\n this.onAfterSelect());\n }\n\n /**\n * @private\n * @param {any} root\n * @param {number} depth\n * @param {any[]} expanded\n */\n expandDepth(root, depth, expanded) {\n root = root || this.root;\n if (depth > 0) {\n if (root.children) {\n root.children.forEach(item => {\n if (item.data.sumVisibility) {\n if (!binarySearch(expanded, item.data.id)) {\n expanded.push(item.data.id);\n expanded.sort();\n }\n if (depth - 1 > 0) {\n this.expandDepth(item, depth - 1, expanded);\n }\n }\n });\n }\n }\n }\n\n /**\n * @private\n * @param {number} depth\n * @param {any[]} expanded\n */\n static collapseDepth(depth, expanded) {\n return expanded.filter(id => id.split('.').length <= depth);\n }\n\n /**\n * @private\n */\n onExpandVisible() {\n if (this.state.depth < 9) {\n const depth = this.state.depth + 1;\n const expanded = [...this.state.expanded];\n this.expandDepth(this.root, depth, expanded);\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify(expanded),\n );\n this.setState({ depth, expanded });\n }\n }\n\n /**\n * @private\n */\n onStatesViewVisible() {\n const statesView = !this.state.statesView;\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectStatesView`,\n JSON.stringify(statesView),\n );\n this.setState({ statesView });\n }\n\n /**\n * @private\n */\n onCollapseVisible() {\n if (this.state.depth > 0) {\n const depth = this.state.depth - 1;\n const expanded = ObjectBrowser.collapseDepth(depth, this.state.expanded);\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify(expanded),\n );\n this.setState({ depth, expanded });\n }\n }\n\n /**\n * @private\n * @param {string} id\n */\n getEnumsForId = id => {\n const result = [];\n this.info.enums.forEach(_id => {\n if (this.objects[_id]?.common?.members?.includes(id)) {\n const en = {\n _id: this.objects[_id]._id,\n common: JSON.parse(JSON.stringify(this.objects[_id].common)),\n native: this.objects[_id].native,\n type: 'enum',\n };\n if (en.common) {\n delete en.common.members;\n delete en.common.custom;\n delete en.common.mobile;\n }\n result.push(en);\n }\n });\n\n return result.length ? result : undefined;\n };\n\n /**\n * @private\n * @param {array} enums\n * @param {string} objId\n */\n _createAllEnums = async (enums, objId) => {\n for (let e = 0; e < enums.length; e++) {\n let id = enums[e];\n let newObj;\n // some admin version delivered enums as string\n if (typeof id === 'object') {\n newObj = id;\n id = id._id;\n }\n let oldObj = this.objects[id];\n // if enum does not exist\n if (!oldObj) {\n // create a new one\n oldObj = newObj || {\n _id: id,\n common: {\n name: id.split('.').pop(),\n members: [],\n },\n native: {},\n type: 'enum',\n };\n\n oldObj.common = oldObj.common || {};\n oldObj.common.members = [objId];\n oldObj.type = 'enum';\n\n await this.props.socket.setObject(id, oldObj);\n } else if (!oldObj.common?.members?.includes(objId)) {\n oldObj.common = oldObj.common || {};\n oldObj.type = 'enum';\n oldObj.common.members = oldObj.common.members || [];\n // add the missing object\n oldObj.common.members.push(objId);\n oldObj.common.members.sort();\n await this.props.socket.setObject(id, oldObj);\n }\n }\n };\n\n /**\n * @private\n * @param {any} objs\n */\n loadObjects = async objs => {\n if (objs) {\n for (const id in objs) {\n if (!Object.hasOwn(objs, id) || !objs[id]) {\n continue;\n }\n const obj = objs[id];\n let enums = null;\n let val;\n let ack;\n if (obj && obj.common && obj.common.enums) {\n enums = obj.common.enums;\n delete obj.common.enums;\n } else {\n enums = null;\n }\n\n if (obj.val) {\n val = obj.val;\n delete obj.val;\n }\n if (obj.ack !== undefined) {\n ack = obj.ack;\n delete obj.ack;\n }\n try {\n await this.props.socket.setObject(id, obj);\n enums && (await this._createAllEnums(enums, obj._id));\n if (obj.type === 'state') {\n if (val !== undefined && val !== null) {\n try {\n await this.props.socket.setState(\n obj._id,\n val,\n ack !== undefined ? ack : true,\n );\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id} with ${val}\": ${e}`);\n }\n } else {\n try {\n const state = await this.props.socket.getState(obj._id);\n if (!state || state.val === null) {\n try {\n await this.props.socket.setState(\n obj._id,\n !obj.common || obj.common.def === undefined ? null : obj.common.def,\n true,\n );\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id}\": ${e}`);\n }\n }\n } catch (e) {\n window.alert(`Cannot read state \"${obj._id}\": ${e}`);\n }\n }\n }\n } catch (error) {\n window.alert(error);\n }\n }\n }\n };\n\n _getSelectedIdsForExport() {\n if (this.state.selected.length || this.state.selectedNonObject) {\n const result = [];\n const keys = Object.keys(this.objects);\n keys.sort();\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const idDot = `${id}.`;\n const idLen = idDot.length;\n for (let k = 0; k < keys.length; k++) {\n const key = keys[k];\n if (id === key || key.startsWith(idDot)) {\n result.push(key);\n }\n if (key.substring(0, idLen) > idDot) {\n break;\n }\n }\n\n return result;\n }\n return [];\n }\n\n /**\n * Exports the selected objects based on the given options and triggers file generation\n * @param options Options to filter/reduce the output\n * @param options.isAll {boolean} Whether all objects should be exported or only the selected ones\n * @param options.beautify {boolean} Whether the output should be beautified\n * @param options.excludeSystemRepositories {boolean} Whether \"system.repositories\" should be excluded\n * @param options.excludeTranslations {boolean} Whether translations should be reduced to only the english value\n * @returns {Promise<void>}\n * @private\n */\n async _exportObjects(options) {\n if (options.isAll) {\n generateFile('allObjects.json', this.objects, options);\n return;\n }\n if (!(this.state.selected.length || this.state.selectedNonObject)) {\n window.alert(this.props.t('ra_Save of objects-tree is not possible'));\n return;\n }\n const result = {};\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const ids = this._getSelectedIdsForExport();\n\n for (const key of ids) {\n result[key] = JSON.parse(JSON.stringify(this.objects[key]));\n // read states values\n if (result[key]?.type === 'state' && !options.noStatesByExportImport) {\n const state = await this.props.socket.getState(key);\n if (state) {\n result[key].val = state.val;\n result[key].ack = state.ack;\n }\n }\n // add enum information\n if (result[key].common) {\n const enums = this.getEnumsForId(key);\n if (enums) {\n result[key].common.enums = enums;\n }\n }\n }\n\n generateFile(`${id}.json`, result, options);\n }\n\n renderExportDialog() {\n if (this.state.showExportDialog === false) {\n return null;\n }\n return <Dialog\n open={!0}\n maxWidth=\"lg\"\n >\n <DialogTitle>{this.props.t('ra_Select type of export')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {this.state.filter.expertMode || this.state.showAllExportOptions ?\n <>\n {this.props.t('ra_You can export all objects or just the selected branch.')}\n <br />\n {this.props.t('ra_Selected %s object(s)', this.state.showExportDialog)}\n <br />\n <FormControlLabel\n control={<Checkbox\n checked={this.state.noStatesByExportImport}\n onChange={e => this.setState({ noStatesByExportImport: e.target.checked })}\n />}\n label={this.props.t('ra_Do not export values of states')}\n />\n <br />\n {this.props.t('These options can reduce the size of the export file:')}\n <FormControlLabel\n control={<Checkbox\n checked={this.state.beautifyJsonExport}\n onChange={e => this.setState({ beautifyJsonExport: e.target.checked })}\n />}\n label={this.props.t('Beautify JSON output')}\n />\n <br />\n <FormControlLabel\n control={<Checkbox\n checked={this.state.excludeSystemRepositoriesFromExport}\n onChange={e => this.setState({ excludeSystemRepositoriesFromExport: e.target.checked })}\n />}\n label={this.props.t('Exclude system repositories from export JSON')}\n />\n <FormControlLabel\n control={<Checkbox\n checked={this.state.excludeTranslations}\n onChange={e => this.setState({ excludeTranslations: e.target.checked })}\n />}\n label={this.props.t('Exclude translations (except english) from export JSON')}\n />\n </> : null}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n {this.state.filter.expertMode || this.state.showAllExportOptions ? <Button\n color=\"grey\"\n variant=\"outlined\"\n onClick={() => this.setState(\n { showExportDialog: false, showAllExportOptions: false },\n () => this._exportObjects({\n isAll: true,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )}\n >\n {this.props.t('ra_All objects')}\n {' '}\n (\n {Object.keys(this.objects).length}\n )\n </Button> : <Button\n color=\"grey\"\n variant=\"outlined\"\n startIcon={<IconExpert />}\n onClick={() => this.setState({ showAllExportOptions: true })}\n >\n {this.props.t('ra_Advanced options')}\n </Button>}\n <Button\n color=\"primary\"\n variant=\"contained\"\n autoFocus\n onClick={() => this.setState(\n { showExportDialog: false, showAllExportOptions: false },\n () => this._exportObjects({\n isAll: false,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )}\n >\n {this.props.t('ra_Only selected')}\n {' '}\n (\n {this.state.showExportDialog}\n )\n </Button>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.setState({ showExportDialog: false, showAllExportOptions: false })}\n startIcon={<IconClose />}\n >\n {this.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n\n /**\n * @private\n * @param {object} evt\n */\n handleJsonUpload = evt => {\n const f = evt.target.files[0];\n if (f) {\n const r = new FileReader();\n r.onload = async e => {\n const contents = e.target.result;\n try {\n const json = JSON.parse(contents);\n const len = Object.keys(json).length;\n const id = json._id;\n if (id === undefined && len) {\n await this.loadObjects(json);\n window.alert(this.props.t('ra_%s object(s) processed', len));\n } else {\n // it is only one object in form\n // {\n // \"_id\": \"xxx\",\n // \"common\": \"yyy\",\n // \"native\": \"zzz\"\n // \"val\": JSON.stringify(value)\n // \"ack\": true\n // }\n if (!id) {\n return window.alert(this.props.t('ra_Invalid structure'));\n }\n try {\n let enums;\n let val;\n let ack;\n if (json.common.enums) {\n enums = json.common.enums;\n delete json.common.enums;\n }\n if (json.val) {\n val = json.val;\n delete json.val;\n }\n if (json.ack !== undefined) {\n ack = json.ack;\n delete json.ack;\n }\n await this.props.socket.setObject(json._id, json);\n\n if (json.type === 'state') {\n if (val !== undefined && val !== null) {\n await this.props.socket.setState(json._id, val, ack === undefined ? true : ack);\n } else {\n const state = await this.props.socket.getState(json._id);\n if (!state || state.val === null || state.val === undefined) {\n await this.props.socket.setState(\n json._id,\n json.common.def === undefined ? null : json.common.def,\n true,\n );\n }\n }\n }\n if (enums) {\n await this._createAllEnums(enums, json._id);\n }\n\n window.alert(this.props.t('ra_%s was imported', json._id));\n } catch (err) {\n window.alert(err);\n }\n }\n } catch (err) {\n window.alert(err);\n }\n return null;\n };\n r.readAsText(f);\n } else {\n window.alert(this.props.t('ra_Failed to open JSON File'));\n }\n };\n\n toolTipObjectCreating = () => {\n const { t } = this.props;\n\n let value = [\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\n <div key={2}>{t('ra_Folder → State')}</div>,\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\n <div key={6}>{t('ra_Channel → State')}</div>,\n <div key={7} style={{ height: 10 }} />,\n <div key={8}>{t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}</div>,\n <div key={9}>\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n </div>,\n ];\n\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id]?.type === 'state')) {\n // show default tooltip\n } else if (this.state.filter.expertMode) {\n switch (this.objects[id]?.type) {\n case 'device':\n value = [\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\n <div key={7} style={{ height: 10 }} />,\n <div key={8}>\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n </div>,\n <div key={9}>\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n </div>,\n ];\n break;\n case 'folder':\n value = [\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\n <div key={2}>{t('ra_Folder → State')}</div>,\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\n <div key={7} style={{ height: 10 }} />,\n <div key={8}>\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n </div>,\n <div key={9}>\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n </div>,\n ];\n break;\n case 'channel':\n value = [\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\n <div key={1}>{t('ra_Channel → State')}</div>,\n <div key={7} style={{ height: 10 }} />,\n <div key={8}>\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n </div>,\n <div key={9}>\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n </div>,\n ];\n break;\n default:\n break;\n }\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n value = [\n <div key={1}>{t('ra_Only following structures of objects are available:')}</div>,\n <div key={2}>{t('ra_Folder → State')}</div>,\n <div key={3}>{t('ra_Folder → Channel → State')}</div>,\n <div key={4}>{t('ra_Folder → Device → Channel → State')}</div>,\n <div key={5}>{t('ra_Device → Channel → State')}</div>,\n <div key={6}>{t('ra_Channel → State')}</div>,\n <div key={7} style={{ height: 10 }} />,\n <div key={7}>\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n </div>,\n <div key={8}>\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n </div>,\n ];\n }\n }\n\n return value.length ? value : t('ra_Add new child object to selected parent');\n };\n\n /**\n * Renders the toolbar.\n * @returns {JSX.Element}\n */\n getToolbar() {\n let allowObjectCreation = false;\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id].type === 'state')) {\n allowObjectCreation = false;\n } else if (this.state.filter.expertMode) {\n allowObjectCreation = true;\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n allowObjectCreation = true;\n }\n }\n\n return <div\n style={{\n display: 'flex',\n width: '100%',\n alignItems: 'center',\n }}\n >\n <div\n style={{\n display: 'flex',\n width: '100%',\n alignItems: 'center',\n }}\n >\n <Tooltip title={this.props.t('ra_Refresh tree')} classes={{ popper: this.props.classes.tooltip }}>\n <div>\n <IconButton\n onClick={() => this.refreshComponent()}\n disabled={this.state.updating}\n size=\"large\"\n >\n <RefreshIcon />\n </IconButton>\n </div>\n </Tooltip>\n {this.props.showExpertButton && !this.props.expertMode &&\n <Tooltip title={this.props.t('ra_expertMode')} classes={{ popper: this.props.classes.tooltip }}>\n <IconButton\n key=\"expertMode\"\n color={this.state.filter.expertMode ? 'secondary' : 'default'}\n onClick={() => this.onFilter('expertMode', !this.state.filter.expertMode)}\n size=\"large\"\n >\n <IconExpert />\n </IconButton>\n </Tooltip>}\n {!this.props.disableColumnSelector &&\n <Tooltip title={this.props.t('ra_Configure')} classes={{ popper: this.props.classes.tooltip }}>\n <IconButton\n key=\"columnSelector\"\n color={this.state.columnsAuto ? 'primary' : 'default'}\n onClick={() => this.setState({ columnsSelectorShow: true })}\n size=\"large\"\n >\n <IconColumns />\n </IconButton>\n </Tooltip>}\n {this.state.expandAllVisible &&\n <Tooltip\n title={this.props.t('ra_Expand all nodes')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n key=\"expandAll\"\n onClick={() => this.onExpandAll()}\n size=\"large\"\n >\n <IconOpen />\n </IconButton>\n </Tooltip>}\n <Tooltip\n title={this.props.t('ra_Collapse all nodes')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n key=\"collapseAll\"\n onClick={() => this.onCollapseAll()}\n size=\"large\"\n >\n <IconClosed />\n </IconButton>\n </Tooltip>\n <Tooltip\n title={this.props.t('ra_Expand one step node')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n key=\"expandVisible\"\n color=\"primary\"\n onClick={() => this.onExpandVisible()}\n size=\"large\"\n >\n <StyledBadge badgeContent={this.state.depth} color=\"secondary\">\n <IconOpen />\n </StyledBadge>\n </IconButton>\n </Tooltip>\n <Tooltip\n title={this.props.t('ra_Collapse one step node')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n key=\"collapseVisible\"\n color=\"primary\"\n onClick={() => this.onCollapseVisible()}\n size=\"large\"\n >\n <StyledBadge badgeContent={this.state.depth} color=\"secondary\">\n <IconClosed />\n </StyledBadge>\n </IconButton>\n </Tooltip>\n {this.props.objectStatesView &&\n <Tooltip\n title={this.props.t('ra_Toggle the states view')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n onClick={() => this.onStatesViewVisible()}\n size=\"large\"\n >\n <LooksOneIcon color={this.state.statesView ? 'primary' : 'inherit'} />\n </IconButton>\n </Tooltip>}\n\n <Tooltip\n title={this.props.t('ra_Show/Hide object descriptions')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n onClick={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.desc`,\n this.state.showDescription ? 'false' : 'true',\n );\n this.setState({ showDescription: !this.state.showDescription });\n }}\n size=\"large\"\n >\n <TextFieldsIcon color={this.state.showDescription ? 'primary' : 'inherit'} />\n </IconButton>\n </Tooltip>\n\n {this.props.objectAddBoolean ?\n <Tooltip title={this.toolTipObjectCreating()} classes={{ popper: this.props.classes.tooltip }}>\n <div>\n <IconButton\n disabled={!allowObjectCreation}\n onClick={() => this.setState({\n modalNewObj: {\n id: this.state.selected[0] || this.state.selectedNonObject,\n },\n })}\n size=\"large\"\n >\n <AddIcon />\n </IconButton>\n </div>\n </Tooltip> : null}\n\n {this.props.objectImportExport &&\n <Tooltip\n title={this.props.t('ra_Add objects tree from JSON file')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n onClick={() => {\n const input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', 0);\n input.addEventListener('change', e => this.handleJsonUpload(e), false);\n input.click();\n }}\n size=\"large\"\n >\n <PublishIcon />\n </IconButton>\n </Tooltip>}\n {this.props.objectImportExport &&\n (!!this.state.selected.length || this.state.selectedNonObject) &&\n <Tooltip\n title={this.props.t('ra_Save objects tree as JSON file')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n onClick={() =>\n this.setState({ showExportDialog: this._getSelectedIdsForExport().length })}\n size=\"large\"\n >\n <PublishIcon style={{ transform: 'rotate(180deg)' }} />\n </IconButton>\n </Tooltip>}\n </div>\n {!!this.props.objectBrowserEditObject &&\n <div style={{ display: 'flex', whiteSpace: 'nowrap' }}>\n {`${this.props.t('ra_Objects')}: ${Object.keys(this.info.objects).length}, ${this.props.t(\n 'ra_States',\n )}: ${\n Object.keys(this.info.objects).filter(el => this.info.objects[el].type === 'state').length\n }`}\n </div>}\n {this.props.objectEditBoolean &&\n <Tooltip\n title={this.props.t('ra_Edit custom config')}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <IconButton\n onClick={() => {\n // get all visible states\n const ids = getVisibleItems(this.root, 'state', this.objects);\n\n if (ids.length) {\n this.pauseSubscribe(true);\n\n if (ids.length === 1) {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n this.state.selected[0],\n );\n this.props.router &&\n this.props.router.doNavigate(null, 'custom', this.state.selected[0]);\n }\n this.setState({ customDialog: ids });\n } else {\n this.setState({ toast: this.props.t('ra_please select object') });\n }\n }}\n size=\"large\"\n >\n <BuildIcon />\n </IconButton>\n </Tooltip>}\n </div>;\n }\n\n /**\n * @private\n * @param {string} id\n */\n toggleExpanded(id) {\n const expanded = JSON.parse(JSON.stringify(this.state.expanded));\n const pos = expanded.indexOf(id);\n if (pos === -1) {\n expanded.push(id);\n expanded.sort();\n } else {\n expanded.splice(pos, 1);\n }\n\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectExpanded`,\n JSON.stringify(expanded),\n );\n\n this.setState({ expanded });\n }\n\n /**\n * @private\n * @param {Event} e\n * @param {string} text\n */\n onCopy(e, text) {\n e.stopPropagation();\n e.preventDefault();\n Utils.copyToClipboard(text, null);\n if (text.length < 50) {\n this.setState({ toast: this.props.t('ra_Copied %s', text) });\n } else {\n this.setState({ toast: this.props.t('ra_Copied') });\n }\n }\n\n renderTooltipAccessControl = acl => {\n // acl ={object,state,owner,ownerGroup}\n if (!acl) {\n return null;\n }\n const check = [\n {\n value: '0x400',\n valueNum: 0x400,\n title: 'read',\n group: 'Owner',\n },\n {\n value: '0x200',\n valueNum: 0x200,\n title: 'write',\n group: 'Owner',\n },\n {\n value: '0x40',\n valueNum: 0x40,\n title: 'read',\n group: 'Group',\n },\n {\n value: '0x20',\n valueNum: 0x20,\n title: 'write',\n group: 'Group',\n },\n {\n value: '0x4',\n valueNum: 0x4,\n title: 'read',\n group: 'Everyone',\n },\n {\n value: '0x2',\n valueNum: 0x2,\n title: 'write',\n group: 'Everyone',\n },\n ];\n const arrayTooltipText = [];\n const funcRenderStateObject = (value = 'object') => {\n const rights = acl[value];\n check.forEach((el, i) => {\n // eslint-disable-next-line no-bitwise\n if (rights & el.valueNum) {\n arrayTooltipText.push(\n <span key={value + i}>\n {this.texts[`acl${el.group}_${el.title}_${value}`]}\n ,\n <span\n className={\n value === 'object'\n ? this.props.classes.rightsObject\n : this.props.classes.rightsState\n }\n >\n {el.value}\n </span>\n </span>,\n );\n }\n });\n };\n arrayTooltipText.push(\n <span key=\"group\">\n {`${this.texts.ownerGroup}: ${(acl.ownerGroup || '').replace(\n 'system.group.',\n '',\n )}`}\n </span>,\n );\n arrayTooltipText.push(\n <span key=\"owner\">{`${this.texts.ownerUser}: ${(acl.owner || '').replace('system.user.', '')}`}</span>,\n );\n funcRenderStateObject();\n if (acl.state) {\n funcRenderStateObject('state');\n }\n\n return arrayTooltipText.length ?\n <span className={this.props.classes.tooltipAccessControl}>{arrayTooltipText.map(el => el)}</span>\n :\n '';\n };\n\n /**\n * @param {string} id\n * @param {{ data: { obj: { type: string; }; hasCustoms: any; }; }} item\n * @param {{ cellButtonsButton: string | undefined; cellButtonsButtonAlone: any; cellButtonsButtonIcon: string | undefined; cellButtonsButtonWithCustoms: any; }} classes\n */\n renderColumnButtons(id, item, classes) {\n if (!item.data.obj) {\n return this.props.onObjectDelete || this.props.objectEditOfAccessControl ?\n <div className={classes.buttonDiv}>\n {this.state.filter.expertMode && this.props.objectEditOfAccessControl ?\n <IconButton\n className={Utils.clsx(\n classes.cellButtonsButton,\n classes.cellButtonsEmptyButton,\n classes.cellButtonMinWidth,\n )}\n onClick={() =>\n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\n size=\"large\"\n >\n ---\n </IconButton> : null}\n {this.props.onObjectDelete && item.children && item.children.length ?\n <IconButton\n className={Utils.clsx(classes.cellButtonsButton, classes.cellButtonsButtonAlone)}\n size=\"small\"\n aria-label=\"delete\"\n title={this.texts.deleteObject}\n onClick={() => {\n // calculate number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n this.props.onObjectDelete(\n id,\n !!item.children?.length,\n false,\n count + 1,\n );\n }}\n >\n <IconDelete className={classes.cellButtonsButtonIcon} />\n </IconButton> : null}\n </div> : null;\n }\n\n item.data.aclTooltip = item.data.aclTooltip || this.renderTooltipAccessControl(item.data.obj.acl);\n\n const acl = item.data.obj.acl\n ? item.data.obj.type === 'state'\n ? item.data.obj.acl.state\n : item.data.obj.acl.object\n : 0;\n const aclSystemConfig =\n item.data.obj.acl &&\n (item.data.obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n\n const showEdit = this.state.filter.expertMode || this.isNonExpertId(item.data.id);\n\n return [\n this.state.filter.expertMode && this.props.objectEditOfAccessControl ?\n <Tooltip key=\"acl\" title={item.data.aclTooltip} classes={{ popper: this.props.classes.tooltip }}>\n <IconButton\n className={classes.cellButtonMinWidth}\n onClick={() => this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\n size=\"large\"\n >\n <div className={classes.aclText}>\n {Number.isNaN(Number(acl))\n ? Number(aclSystemConfig).toString(16)\n : Number(acl).toString(16)}\n </div>\n </IconButton>\n </Tooltip>\n :\n <div key=\"aclEmpty\" className={classes.cellButtonMinWidth} />,\n showEdit ? <IconButton\n key=\"edit\"\n className={classes.cellButtonsButton}\n size=\"small\"\n aria-label=\"edit\"\n title={this.texts.editObject}\n onClick={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n id,\n );\n this.setState({ editObjectDialog: id, editObjectAlias: false });\n }}\n >\n <IconEdit className={classes.cellButtonsButtonIcon} />\n </IconButton> : <div key=\"editDisabled\" className={classes.cellButtonsButton} />,\n this.props.onObjectDelete && (item.children?.length || !item.data.obj.common?.dontDelete) ?\n <IconButton\n key=\"delete\"\n className={classes.cellButtonsButton}\n size=\"small\"\n aria-label=\"delete\"\n onClick={() => {\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n this.props.onObjectDelete(\n id,\n !!item.children?.length,\n !item.data.obj.common?.dontDelete,\n count,\n );\n }}\n title={this.texts.deleteObject}\n >\n <IconDelete className={classes.cellButtonsButtonIcon} />\n </IconButton> : null,\n this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n item.data.obj.type === 'state' &&\n item.data.obj.common?.type !== 'file' ?\n <IconButton\n className={Utils.clsx(\n classes.cellButtonsButton,\n item.data.hasCustoms\n ? classes.cellButtonsButtonWithCustoms\n : classes.cellButtonsButtonWithoutCustoms,\n )}\n key=\"custom\"\n size=\"small\"\n aria-label=\"config\"\n title={this.texts.customConfig}\n onClick={() => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n id,\n );\n\n this.pauseSubscribe(true);\n this.props.router && this.props.router.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id] });\n }}\n >\n <IconConfig className={classes.cellButtonsButtonIcon} />\n </IconButton> : null,\n ];\n }\n\n /**\n * @private\n * @param {string} id\n */\n readHistory(id) {\n /* interface GetHistoryOptions {\n instance?: string;\n start?: number;\n end?: number;\n step?: number;\n count?: number;\n from?: boolean;\n ack?: boolean;\n q?: boolean;\n addID?: boolean;\n limit?: number;\n ignoreNull?: boolean;\n sessionId?: any;\n aggregate?: 'minmax' | 'min' | 'max' | 'average' | 'total' | 'count' | 'none';\n } */\n if (\n window.sparkline &&\n this.defaultHistory &&\n this.objects[id] &&\n this.objects[id].common &&\n this.objects[id].common.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n const now = new Date();\n now.setHours(now.getHours() - 24);\n now.setMinutes(0);\n now.setSeconds(0);\n now.setMilliseconds(0);\n const nowMs = now.getTime();\n\n this.props.socket\n .getHistory(id, {\n instance: this.defaultHistory,\n start: nowMs,\n end: Date.now(),\n step: 3600000,\n from: false,\n ack: false,\n q: false,\n addID: false,\n aggregate: 'minmax',\n })\n .then(values => {\n const sparks = window.document.getElementsByClassName('sparkline');\n\n for (let s = 0; s < sparks.length; s++) {\n if (sparks[s].dataset.id === id) {\n const v = prepareSparkData(values, nowMs);\n\n window.sparkline.sparkline(sparks[s], v);\n break;\n }\n }\n })\n .catch(e => console.warn(`Cannot read history: ${e}`));\n }\n }\n\n /**\n * @private\n * @param {string} id\n * @param {any} item\n * @param {Record<string, any>} classes\n * @returns {JSX.Element | null}\n */\n renderColumnValue(id, item, classes) {\n const obj = item.data.obj;\n if (!obj || !this.states) {\n return null;\n }\n\n if (obj.common?.type === 'file') {\n return <div className={Utils.clsx(classes.cellValueText, classes.cellValueFile)}>[file]</div>;\n }\n if (!this.states[id]) {\n if (obj.type === 'state') {\n !this.recordStates.includes(id) && this.recordStates.push(id);\n this.states[id] = { val: null };\n this.subscribe(id);\n }\n return null;\n }\n !this.recordStates.includes(id) && this.recordStates.push(id);\n\n const state = this.states[id];\n let info = item.data.state;\n if (!info) {\n item.data.state = formatValue({\n state,\n obj,\n texts: this.texts,\n dateFormat: this.props.dateFormat,\n isFloatComma: this.props.isFloatComma,\n });\n info = item.data.state;\n\n info.valFull = info.valFull.map(_item => {\n if (_item.t === this.texts.quality && state.q) {\n return [\n <div className={classes.cellValueTooltipBoth} key={_item.t}>\n {_item.t}\n : \n {_item.v}\n </div>,\n // <div className={classes.cellValueTooltipValue} key={item.t + '_v'}>{item.v}</div>,\n !_item.nbr ? <br key={`${_item.t}_br`} /> : null,\n ];\n }\n return [\n <div className={classes.cellValueTooltipTitle} key={_item.t}>\n {_item.t}\n : \n </div>,\n <div className={classes.cellValueTooltipValue} key={`${_item.t}_v`}>\n {_item.v}\n </div>,\n !_item.nbr ? <br key={`${_item.t}_br`} /> : null,\n ];\n });\n\n if (\n this.defaultHistory &&\n this.objects[id] &&\n this.objects[id].common &&\n this.objects[id].common.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n info.valFull.push(<svg\n key=\"sparkline\"\n className=\"sparkline\"\n data-id={id}\n style={{ fill: '#3d85de' }}\n width=\"200\"\n height=\"30\"\n strokeWidth=\"3\"\n />);\n }\n\n const copyText = info.valText.v || '';\n info.val = copyText;\n info.valText = [\n <span className={classes.newValue} key={`${info.valText.v.toString()}valText`}>\n {info.valText.v.toString()}\n </span>,\n info.valText.u ? <span\n className={Utils.clsx(classes.cellValueTextUnit, classes.newValue)}\n key={`${info.valText.v.toString()}unit`}\n >\n {info.valText.u}\n </span> : null,\n info.valText.s !== undefined ? <span\n className={Utils.clsx(classes.cellValueTextState, classes.newValue)}\n key={`${info.valText.v.toString()}states`}\n >\n (\n {info.valText.s}\n )\n </span> : null,\n <IconCopy\n className={Utils.clsx(\n classes.cellButtonsValueButton,\n 'copyButton',\n classes.cellButtonsValueButtonCopy,\n )}\n onClick={e => this.onCopy(e, copyText)}\n key=\"cc\"\n />,\n // <IconEdit className={ Utils.clsx(classes.cellButtonsValueButton, 'copyButton', classes.cellButtonsValueButtonEdit) } key=\"ce\" />\n ];\n }\n\n info.style = getValueStyle({ state, isExpertMode: this.state.filter.expertMode, isButton: item.data.button });\n\n let val = info.valText;\n if (!this.state.filter.expertMode && item.data.button) {\n val = <PressButtonIcon className={this.props.classes.cellValueButton} />;\n }\n\n return <Tooltip\n key=\"value\"\n title={info.valFull}\n classes={{\n tooltip: this.props.classes.cellValueTooltip,\n popper: this.props.classes.cellValueTooltipBox,\n }}\n onOpen={() => this.readHistory(id)}\n >\n <div style={info.style} className={classes.cellValueText}>\n {val}\n </div>\n </Tooltip>;\n }\n\n /**\n * @private\n * @returns {undefined}\n */\n _syncEnum(id, enumIds, newArray, cb) {\n if (!enumIds || !enumIds.length) {\n cb && cb();\n return;\n }\n const enumId = enumIds.pop();\n const promises = [];\n if (this.info.objects[enumId]?.common) {\n if (this.info.objects[enumId].common.members?.length) {\n const pos = this.info.objects[enumId].common.members.indexOf(id);\n if (pos !== -1 && !newArray.includes(enumId)) {\n // delete from members\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members.splice(pos, 1);\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n // add to it\n if (newArray.includes(enumId) && !this.info.objects[enumId].common.members?.includes(id)) {\n // add to object\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members = obj.common.members || [];\n obj.common.members.push(id);\n obj.common.members.sort();\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n Promise.all(promises)\n .then(() => setTimeout(() =>\n this._syncEnum(id, enumIds, newArray, cb), 0));\n }\n\n /**\n * @private\n * @returns {Promise}\n */\n syncEnum(id, enumName, newArray) {\n const toCheck = [...this.info[enumName === 'func' ? 'funcEnums' : 'roomEnums']];\n\n return new Promise(resolve => {\n this._syncEnum(id, toCheck, newArray, error => {\n error && this.showError(error);\n // force update of object\n resolve();\n });\n });\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderEnumDialog() {\n if (this.state.enumDialog) {\n const type = this.state.enumDialog.type;\n const item = this.state.enumDialog.item;\n const itemEnums = this.state.enumDialogEnums;\n const enumsOriginal = this.state.enumDialog.enumsOriginal;\n\n const enums = (type === 'room' ? this.info.roomEnums : this.info.funcEnums)\n .map(id => ({\n name: getName(\n this.objects[id]?.common?.name ||\n id.split('.').pop(),\n this.props.lang,\n ),\n value: id,\n icon: getSelectIdIcon(this.objects, id, this.imagePrefix),\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n\n enums.forEach(_item => {\n if (_item.icon && typeof _item.icon === 'string') {\n _item.icon = <div className={this.props.classes.enumIconDiv}>\n <img src={_item.icon} className={this.props.classes.enumIcon} alt={_item.name} />\n </div>;\n }\n });\n\n // const hasIcons = !!enums.find(item => item.icon);\n\n return <Dialog\n className={this.props.classes.enumDialog}\n onClose={() => this.setState({ enumDialog: null })}\n aria-labelledby=\"enum-dialog-title\"\n open={!0} // true\n >\n <DialogTitle id=\"enum-dialog-title\">\n {type === 'func' ? this.props.t('ra_Define functions') : this.props.t('ra_Define rooms')}\n <Fab\n className={this.props.classes.enumButton}\n color=\"primary\"\n disabled={JSON.stringify(enumsOriginal) === JSON.stringify(itemEnums)}\n size=\"small\"\n onClick={() =>\n this.syncEnum(item.data.id, type, itemEnums)\n .then(() => this.setState({ enumDialog: null, enumDialogEnums: null }))}\n >\n <IconCheck />\n </Fab>\n </DialogTitle>\n <List classes={{ root: this.props.classes.enumList }}>\n {enums.map(_item => {\n let id;\n let name;\n let icon;\n\n if (typeof _item === 'object') {\n id = _item.value;\n name = _item.name;\n icon = _item.icon;\n } else {\n id = _item;\n name = _item;\n }\n const labelId = `checkbox-list-label-${id}`;\n\n return <ListItem\n className={this.props.classes.headerCellSelectItem}\n key={id}\n onClick={() => {\n const pos = itemEnums.indexOf(id);\n const enumDialogEnums = JSON.parse(JSON.stringify(this.state.enumDialogEnums));\n if (pos === -1) {\n enumDialogEnums.push(id);\n enumDialogEnums.sort();\n } else {\n enumDialogEnums.splice(pos, 1);\n }\n this.setState({ enumDialogEnums });\n }}\n >\n <ListItemIcon classes={{ root: this.props.classes.enumCheckbox }}>\n <Checkbox\n edge=\"start\"\n checked={itemEnums.includes(id)}\n tabIndex={-1}\n disableRipple\n inputProps={{ 'aria-labelledby': labelId }}\n />\n </ListItemIcon>\n <ListItemText id={labelId}>{name}</ListItemText>\n {icon ? <ListItemSecondaryAction>{icon}</ListItemSecondaryAction> : null}\n </ListItem>;\n })}\n </List>\n </Dialog>;\n }\n return null;\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderEditRoleDialog() {\n if (this.state.roleDialog && this.props.objectBrowserEditRole) {\n const ObjectBrowserEditRole = this.props.objectBrowserEditRole;\n return <ObjectBrowserEditRole\n key=\"objectBrowserEditRole\"\n id={this.state.roleDialog}\n socket={this.props.socket}\n t={this.props.t}\n roles={this.info.roles}\n onClose={obj => {\n if (obj) {\n this.info.objects[this.state.roleDialog] = obj;\n }\n this.setState({ roleDialog: false });\n }}\n />;\n }\n return null;\n }\n\n /**\n * @private\n * @param {boolean} [isSave]\n */\n onColumnsEditCustomDialogClose(isSave) {\n if (isSave) {\n let value = this.customColumnDialog.value;\n if (this.customColumnDialog.type === 'boolean') {\n value = value === 'true' || value === true;\n } else if (this.customColumnDialog.type === 'number') {\n value = parseFloat(value);\n }\n this.customColumnDialog = null;\n this.props.socket\n .getObject(this.state.columnsEditCustomDialog.obj._id)\n .then(obj => {\n if (ObjectBrowser.setCustomValue(obj, this.state.columnsEditCustomDialog.it, value)) {\n return this.props.socket.setObject(obj._id, obj);\n }\n throw new Error(this.props.t('ra_Cannot update attribute, because not found in the object'));\n })\n .then(() => this.setState({ columnsEditCustomDialog: null }))\n .catch(e => this.showError(e));\n } else {\n this.customColumnDialog = null;\n this.setState({ columnsEditCustomDialog: null });\n }\n }\n\n /**\n * @private\n */\n renderColumnsEditCustomDialog() {\n if (this.state.columnsEditCustomDialog) {\n if (!this.customColumnDialog) {\n const value = ObjectBrowser.getCustomValue(\n this.state.columnsEditCustomDialog.obj,\n this.state.columnsEditCustomDialog.it,\n );\n this.customColumnDialog = {\n type: this.state.columnsEditCustomDialog.it.type || typeof value,\n initValue: (value === null || value === undefined ? '' : value).toString(),\n value: (value === null || value === undefined ? '' : value).toString(),\n };\n }\n\n return <Dialog\n onClose={() => this.setState({ columnsEditCustomDialog: null })}\n maxWidth=\"md\"\n aria-labelledby=\"custom-dialog-title\"\n open={!0}\n >\n <DialogTitle id=\"custom-dialog-title\">\n {`${this.props.t('ra_Edit object field')}: ${\n this.state.columnsEditCustomDialog.obj._id\n }`}\n </DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {this.customColumnDialog.type === 'boolean' ?\n <FormControlLabel\n control={\n <Checkbox\n onKeyUp={e => e.keyCode === 13 && this.onColumnsEditCustomDialogClose(true)}\n defaultChecked={this.customColumnDialog.value === 'true'}\n onChange={e => {\n this.customColumnDialog.value = e.target.checked.toString();\n const changed =\n this.customColumnDialog.value !== this.customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n />\n }\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n />\n :\n <TextField\n variant=\"standard\"\n defaultValue={this.customColumnDialog.value}\n fullWidth\n onKeyUp={e => e.keyCode === 13 && this.onColumnsEditCustomDialogClose(true)}\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n onChange={e => {\n this.customColumnDialog.value = e.target.value;\n const changed =\n this.customColumnDialog.value !== this.customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n autoFocus\n />}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => this.onColumnsEditCustomDialogClose(true)}\n disabled={!this.state.customColumnDialogValueChanged}\n color=\"primary\"\n startIcon={<IconCheck />}\n >\n {this.props.t('ra_Update')}\n </Button>\n <Button\n color=\"grey\"\n variant=\"contained\"\n onClick={() => this.onColumnsEditCustomDialogClose()}\n startIcon={<IconClose />}\n >\n {this.props.t('ra_Cancel')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n return null;\n }\n\n /**\n * @private\n * @param {any} obj\n * @param {any} it\n */\n static getCustomValue(obj, it) {\n if (obj && obj._id && obj._id.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n let value;\n if (obj[p[0]] && typeof obj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n value = obj[p[0]][p[1]];\n } else if (p.length === 3) {\n value = obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object' ? obj[p[0]][p[1]][p[2]] : null;\n } else if (p.length === 4) {\n value =\n obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object' && obj[p[0]][p[1]][p[2]]\n ? obj[p[0]][p[1]][p[2]][p[3]]\n : null;\n } else if (p.length === 5) {\n value =\n obj[p[0]][p[1]] &&\n typeof obj[p[0]][p[1]] === 'object' &&\n obj[p[0]][p[1]][p[2]] &&\n obj[p[0]][p[1]][p[2]][p[3]]\n ? obj[p[0]][p[1]][p[2]][p[3]][p[4]]\n : null;\n } else if (p.length === 6) {\n value =\n obj[p[0]][p[1]] &&\n typeof obj[p[0]][p[1]] === 'object' &&\n obj[p[0]][p[1]][p[2]] &&\n obj[p[0]][p[1]][p[2]][p[3]] &&\n obj[p[0]][p[1]][p[2]][p[3]][p[4]]\n ? obj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]]\n : null;\n }\n if (value === undefined || value === null) {\n return null;\n }\n return value;\n }\n }\n\n return null;\n }\n\n /**\n * @private\n * @param {any} obj\n * @param {any} it\n * @param {any} value\n */\n static setCustomValue(obj, it, value) {\n if (obj && obj._id && obj._id.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n if (obj[p[0]] && typeof obj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n obj[p[0]][p[1]] = value;\n return true;\n }\n if (p.length === 3) {\n if (obj[p[0]][p[1]] && typeof obj[p[0]][p[1]] === 'object') {\n obj[p[0]][p[1]][p[2]] = value;\n return true;\n }\n } else if (p.length === 4) {\n if (\n obj[p[0]][p[1]] &&\n typeof obj[p[0]][p[1]] === 'object' &&\n obj[p[0]][p[1]][p[2]] &&\n typeof obj[p[0]][p[1]][p[2]] === 'object'\n ) {\n obj[p[0]][p[1]][p[2]][p[3]] = value;\n return true;\n }\n } else if (p.length === 5) {\n if (\n obj[p[0]][p[1]] &&\n typeof obj[p[0]][p[1]] === 'object' &&\n obj[p[0]][p[1]][p[2]] &&\n typeof obj[p[0]][p[1]][p[2]] === 'object' &&\n obj[p[0]][p[1]][p[2]][p[3]] &&\n typeof obj[p[0]][p[1]][p[2]][p[3]] === 'object'\n ) {\n obj[p[0]][p[1]][p[2]][p[3]][p[4]] = value;\n return true;\n }\n } else if (p.length === 6) {\n if (\n obj[p[0]][p[1]] &&\n typeof obj[p[0]][p[1]] === 'object' &&\n obj[p[0]][p[1]][p[2]] &&\n typeof obj[p[0]][p[1]][p[2]] === 'object' &&\n obj[p[0]][p[1]][p[2]][p[3]] &&\n typeof obj[p[0]][p[1]][p[2]][p[3]] === 'object' &&\n obj[p[0]][p[1]][p[2]][p[3]][p[4]] &&\n typeof obj[p[0]][p[1]][p[2]][p[3]][p[4]] === 'object'\n ) {\n obj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]] = value;\n return true;\n }\n }\n }\n }\n return false;\n }\n\n /**\n * Renders a custom value.\n * @param {any} obj\n * @param {any} it\n * @param {any} item\n * @returns {JSX.Element | null}\n */\n renderCustomValue(obj, it, item) {\n const text = ObjectBrowser.getCustomValue(obj, it);\n if (text !== null && text !== undefined) {\n if (it.edit && !this.props.notEditable && (!it.objTypes || it.objTypes.includes(obj.type))) {\n return <div\n className={Utils.clsx(\n this.props.classes.columnCustom,\n this.props.classes.columnCustomEditable,\n this.props.classes[`columnCustom_${it.align}`],\n )}\n onClick={() =>\n this.setState({\n columnsEditCustomDialog: { item, it, obj },\n customColumnDialogValueChanged: false,\n })}\n >\n {text}\n </div>;\n }\n return <div\n className={Utils.clsx(\n this.props.classes.columnCustom,\n this.props.classes[`columnCustom_${it.align}`],\n )}\n >\n {text}\n </div>;\n }\n return null;\n }\n\n /**\n * Renders a leaf.\n * @param {any} item\n * @param {boolean} isExpanded\n * @param {Record<string, any>} classes\n * @param {{ count: number; }} counter\n * @returns {JSX.Element}\n */\n renderLeaf(item, isExpanded, classes, counter) {\n const id = item.data.id;\n counter.count++;\n isExpanded = isExpanded === undefined ? this.state.expanded.includes(id) : isExpanded;\n\n // icon\n let iconFolder;\n const obj = item.data.obj;\n const itemType = obj?.type;\n\n if (\n item.children ||\n itemType === 'folder' ||\n itemType === 'device' ||\n itemType === 'channel' ||\n itemType === 'meta'\n ) {\n iconFolder = isExpanded ? <IconOpen\n className={classes.cellIdIconFolder}\n onClick={() => this.toggleExpanded(id)}\n /> : <IconClosed\n className={classes.cellIdIconFolder}\n onClick={() => this.toggleExpanded(id)}\n />;\n } else if (obj.common && obj.common.write === false && obj.type === 'state') {\n iconFolder = <IconDocumentReadOnly className={classes.cellIdIconDocument} />;\n } else {\n iconFolder = <IconDocument className={classes.cellIdIconDocument} />;\n }\n\n let iconItem = null;\n if (item.data.icon) {\n if (typeof item.data.icon === 'string') {\n if (item.data.icon.length < 3) {\n iconItem = <span className={Utils.clsx(classes.cellIdIconOwn, 'iconOwn')}>{item.data.icon}</span>; // utf-8 char\n } else {\n iconItem = <Icon className={Utils.clsx(classes.cellIdIconOwn, 'iconOwn')} src={item.data.icon} alt=\"\" />;\n }\n } else {\n iconItem = item.data.icon;\n }\n }\n\n const common = obj?.common;\n\n const typeImg = (obj && obj.type && ITEM_IMAGES[obj.type]) || <div className=\"itemIcon\" />;\n\n const paddingLeft = this.levelPadding * item.data.level;\n\n if (item.data.lang !== this.props.lang) {\n const { rooms, per } = findRoomsForObject(this.info, id, this.props.lang);\n item.data.rooms = rooms.join(', ');\n item.data.per = per;\n const { funcs, pef } = findFunctionsForObject(this.info, id, this.props.lang);\n item.data.funcs = funcs.join(', ');\n item.data.pef = pef;\n item.data.lang = this.props.lang;\n }\n\n const checkbox =\n this.props.multiSelect &&\n this.objects[id] &&\n (!this.props.types || this.props.types.includes(this.objects[id].type)) ?\n <Checkbox\n className={classes.checkBox}\n checked={this.state.selected.includes(id)}\n /> : null;\n\n let valueEditable =\n !this.props.notEditable &&\n itemType === 'state' &&\n (this.state.filter.expertMode || common?.write !== false);\n if (this.props.objectBrowserViewFile && common?.type === 'file') {\n valueEditable = true;\n }\n const enumEditable =\n !this.props.notEditable &&\n this.objects[id] &&\n (this.state.filter.expertMode || itemType === 'state' || itemType === 'channel' || itemType === 'device');\n const checkVisibleObjectType =\n this.state.statesView && (itemType === 'state' || itemType === 'channel' || itemType === 'device');\n let newValue = '';\n const newValueTitle = [];\n if (checkVisibleObjectType) {\n newValue = this.states[id]?.from;\n if (newValue === undefined) {\n newValue = ' ';\n } else {\n newValue = newValue ? newValue.replace(/^system\\.adapter\\.|^system\\./, '') : '';\n newValueTitle.push(`${this.texts.stateChangedFrom} ${newValue}`);\n }\n if (obj.user) {\n const user = obj.user.replace('system.user.', '');\n newValue += `/${user}`;\n newValueTitle.push(`${this.texts.stateChangedBy} ${user}`);\n }\n }\n if (obj) {\n obj.from &&\n newValueTitle.push(\n `${this.texts.objectChangedFrom} ${obj.from.replace(/^system\\.adapter\\.|^system\\./, '')}`,\n );\n obj.user && newValueTitle.push(`${this.texts.objectChangedBy} ${obj.user.replace(/^system\\.user\\./, '')}`);\n obj.ts &&\n newValueTitle.push(\n `${this.texts.objectChangedByUser} ${Utils.formatDate(new Date(obj.ts), this.props.dateFormat)}`,\n );\n }\n\n const readWriteAlias = typeof common?.alias?.id === 'object';\n\n const alias =\n id.startsWith('alias.') && common?.alias?.id ? (\n readWriteAlias ?\n <div className={classes.cellIdAliasReadWriteDiv}>\n {common.alias.id.read ? <div\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.read);\n setTimeout(() =>\n this.expandAllSelected(() =>\n this.scrollToItem(common.alias.id.read)), 100);\n }}\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasReadWrite)}\n >\n ←\n {common.alias.id.read}\n </div> : null}\n {common.alias.id.write ? <div\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.write);\n setTimeout(() =>\n this.expandAllSelected(() =>\n this.scrollToItem(common.alias.id.write)), 100);\n }}\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasReadWrite)}\n >\n →\n {common.alias.id.write}\n </div> : null}\n </div>\n :\n <div\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id);\n setTimeout(() =>\n this.expandAllSelected(() =>\n this.scrollToItem(common.alias.id)), 100);\n }}\n className={Utils.clsx(classes.cellIdAlias, classes.cellIdAliasAlone)}\n >\n →\n {common.alias.id}\n </div>\n ) : null;\n\n let checkColor = common?.color;\n let invertBackground;\n if (checkColor && !this.state.selected.includes(id)) {\n const background =\n this.props.themeName === 'dark' ? '#1f1f1f' : this.props.themeName === 'blue' ? '#222a2e' : '#FFFFFF';\n const distance = Utils.colorDistance(checkColor, background);\n // console.log(`Distance: ${checkColor} - ${background} = ${distance}`);\n if (distance < 1000) {\n invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';\n }\n }\n if (id === 'system') {\n checkColor = COLOR_NAME_SYSTEM;\n } else if (id === 'system.adapter') {\n checkColor = COLOR_NAME_SYSTEM_ADAPTER;\n } else if (!checkColor || this.state.selected.includes(id)) {\n checkColor = 'inherit';\n }\n\n const icons = [];\n\n if (common?.statusStates) {\n const ids = {};\n Object.keys(common.statusStates).forEach(name => {\n let _id = common.statusStates[name];\n if (_id.split('.').length < 3) {\n _id = `${id}.${_id}`;\n }\n ids[name] = _id;\n\n if (!this.states[_id]) {\n if (this.objects[_id]?.type === 'state') {\n !this.recordStates.includes(_id) && this.recordStates.push(_id);\n this.states[_id] = { val: null };\n this.subscribe(_id);\n }\n } else {\n !this.recordStates.includes(_id) && this.recordStates.push(_id);\n }\n });\n // calculate color\n // errorId has priority\n let colorSet = false;\n if (common.statusStates.errorId && this.states[ids.errorId] && this.states[ids.errorId].val) {\n checkColor = this.props.themeType === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT;\n colorSet = true;\n icons.push(<IconError\n key=\"error\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceError}\n />);\n }\n\n if (ids.onlineId && this.states[ids.onlineId]) {\n if (!colorSet) {\n if (this.states[ids.onlineId].val) {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(<IconConnection\n key=\"conn\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceConnected}\n />);\n } else {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(<IconDisconnected\n key=\"disc\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceDisconnected}\n />);\n }\n } else if (this.states[ids.onlineId].val) {\n icons.push(<IconConnection\n key=\"conn\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceConnected}\n />);\n } else {\n icons.push(<IconDisconnected\n key=\"disc\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceDisconnected}\n />);\n }\n } else if (ids.offlineId && this.states[ids.offlineId]) {\n if (!colorSet) {\n if (this.states[ids.offlineId].val) {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(<IconDisconnected\n key=\"disc\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceDisconnected}\n />);\n } else {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(<IconConnection\n key=\"conn\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceConnected}\n />);\n }\n } else if (this.states[ids.offlineId].val) {\n icons.push(<IconDisconnected\n key=\"disc\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceDisconnected}\n />);\n } else {\n icons.push(<IconConnection\n key=\"conn\"\n title={this.texts.deviceError}\n className={this.props.classes.iconDeviceConnected}\n />);\n }\n }\n }\n\n const q = checkVisibleObjectType ? Utils.quality2text(this.states[id]?.q || 0).join(', ') : null;\n\n let name = item.data?.title || '';\n let useDesc;\n if (this.state.showDescription) {\n useDesc = getObjectTooltip(item.data, this.props.lang);\n if (useDesc) {\n name = [\n <div key=\"name\" className={classes.cellNameDivDiv}>\n {name}\n </div>,\n <div key=\"desc\" className={classes.cellDescription}>\n {useDesc}\n </div>,\n ];\n useDesc = !!useDesc;\n }\n }\n\n return <Grid\n container\n direction=\"row\"\n wrap=\"nowrap\"\n className={Utils.clsx(\n classes.tableRow,\n this.state.linesEnabled && classes.tableRowLines,\n !this.props.dragEnabled && classes.tableRowNoDragging,\n alias && classes.tableRowAlias,\n readWriteAlias && classes.tableRowAliasReadWrite,\n !item.data.visible && classes.filteredOut,\n item.data.hasVisibleParent &&\n !item.data.visible &&\n !item.data.hasVisibleChildren &&\n classes.filteredParentOut,\n this.state.selected.includes(id) && classes.itemSelected,\n this.state.selectedNonObject === id && classes.itemSelected,\n )}\n key={id}\n id={id}\n onMouseDown={e => {\n this.onSelect(id);\n let isRightMB;\n if ('which' in e) {\n // Gecko (Firefox), WebKit (Safari/Chrome) & Opera\n isRightMB = e.which === 3;\n } else if ('button' in e) { // IE, Opera\n isRightMB = e.button === 2;\n }\n if (isRightMB) {\n this.contextMenu = {\n item,\n ts: Date.now(),\n };\n } else {\n this.contextMenu = null;\n }\n }}\n onDoubleClick={() => {\n if (!item.children) {\n this.onSelect(id, true);\n } else {\n this.toggleExpanded(id);\n }\n }}\n >\n <Grid\n container\n wrap=\"nowrap\"\n direction=\"row\"\n className={classes.cellId}\n style={{ width: this.columnsVisibility.id, paddingLeft }}\n >\n <Grid\n item\n container\n alignItems=\"center\"\n >\n {checkbox}\n {iconFolder}\n </Grid>\n <Grid\n item\n style={{ color: checkColor }}\n className={Utils.clsx(classes.cellIdSpan, invertBackground && classes.invertedBackground)}\n >\n <Tooltip\n title={getIdFieldTooltip(item.data, this.props.classes, this.props.lang)}\n classes={{ popper: this.props.classes.tooltip }}\n >\n <div>{item.data.name}</div>\n </Tooltip>\n {alias}\n {icons}\n </Grid>\n <div className={Utils.clsx(classes.grow, invertBackground && classes.invertedBackgroundFlex)} />\n <Grid\n item\n container\n alignItems=\"center\"\n >\n {iconItem}\n </Grid>\n <div>\n <IconCopy\n className={Utils.clsx(classes.cellCopyButton, 'copyButton')}\n onClick={e => this.onCopy(e, id)}\n />\n </div>\n </Grid>\n\n {this.columnsVisibility.name ? <div\n className={Utils.clsx(classes.cellName, useDesc && classes.cellNameWithDesc)}\n style={{ width: this.columnsVisibility.name }}\n >\n {name}\n {item.data?.title ? <div style={{ color: checkColor }}>\n <IconCopy\n className={Utils.clsx(classes.cellCopyButton, 'copyButton')}\n onClick={e => this.onCopy(e, item.data.title)}\n />\n </div> : null}\n </div> : null}\n\n {!this.state.statesView ? <>\n {this.columnsVisibility.type ? <div\n className={classes.cellType}\n style={{ width: this.columnsVisibility.type }}\n >\n {typeImg}\n \n {obj && obj.type}\n </div> : null}\n {this.columnsVisibility.role ? <div\n className={classes.cellRole}\n style={{\n width: this.columnsVisibility.role,\n cursor:\n this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole\n ? 'text'\n : 'default',\n }}\n onClick={\n this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole\n ? () => this.setState({ roleDialog: item.data.id })\n : undefined\n }\n >\n {common?.role}\n </div> : null}\n {this.columnsVisibility.room ? <div\n className={`${classes.cellRoom} ${item.data.per ? classes.cellEnumParent : ''}`}\n style={{\n width: this.columnsVisibility.room,\n cursor: enumEditable ? 'text' : 'default',\n }}\n onClick={\n enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'roomEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\n },\n });\n }\n : undefined\n }\n >\n {item.data.rooms}\n </div> : null}\n {this.columnsVisibility.func ? <div\n className={`${classes.cellFunc} ${item.data.pef ? classes.cellEnumParent : ''}`}\n style={{\n width: this.columnsVisibility.func,\n cursor: enumEditable ? 'text' : 'default',\n }}\n onClick={\n enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'funcEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\n },\n });\n }\n : undefined\n }\n >\n {item.data.funcs}\n </div> : null}\n </>\n :\n <>\n {this.columnsVisibility.changedFrom ? <div\n className={classes.cellRole}\n style={{ width: this.columnsVisibility.changedFrom }}\n title={newValueTitle.join('\\n')}\n >\n {checkVisibleObjectType && this.states[id]?.from ? newValue : null}\n </div> : null}\n {this.columnsVisibility.qualityCode ? <div\n className={classes.cellRole}\n style={{ width: this.columnsVisibility.qualityCode }}\n title={q || ''}\n >\n {q}\n </div> : null}\n {this.columnsVisibility.timestamp ? <div\n className={classes.cellRole}\n style={{ width: this.columnsVisibility.timestamp }}\n >\n {checkVisibleObjectType && this.states[id]?.ts\n ? Utils.formatDate(new Date(this.states[id].ts), this.props.dateFormat)\n : null}\n </div> : null}\n {this.columnsVisibility.lastChange ? <div\n className={classes.cellRole}\n style={{ width: this.columnsVisibility.lastChange }}\n >\n {checkVisibleObjectType && this.states[id]?.lc\n ? Utils.formatDate(new Date(this.states[id].lc), this.props.dateFormat)\n : null}\n </div> : null}\n </>}\n {this.adapterColumns.map(it => <div\n className={classes.cellAdapter}\n style={{ width: this.columnsVisibility[it.id] }}\n key={it.id}\n title={`${it.adapter} => ${it.pathText}`}\n >\n {this.renderCustomValue(obj, it, item)}\n </div>)}\n {this.columnsVisibility.val ? <div\n className={classes.cellValue}\n style={{\n width: this.columnsVisibility.val,\n cursor: valueEditable\n ? common?.type === 'file'\n ? 'zoom-in'\n : item.data.button\n ? 'grab'\n : 'text'\n : 'default',\n }}\n onClick={\n valueEditable\n ? () => {\n if (!obj || !this.states) {\n // return;\n } else if (common?.type === 'file') {\n this.setState({ viewFileDialog: id });\n // eslint-disable-next-line brace-style\n } else if (!this.state.filter.expertMode && item.data.button) {\n // in non-expert mode control button directly\n this.props.socket\n .setState(id, true)\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\n } else {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true });\n }\n }\n : undefined\n }\n >\n {this.renderColumnValue(id, item, classes)}\n </div> : null}\n {this.columnsVisibility.buttons ? <div\n className={classes.cellButtons}\n style={{ width: this.columnsVisibility.buttons }}\n >\n {this.renderColumnButtons(id, item, classes)}\n </div> : null}\n </Grid>;\n }\n\n /**\n * Renders an item.\n * @param {any} root\n * @param {boolean} isExpanded\n * @param {Record<string, any>} classes\n * @param {{ count: any; }} [counter]\n * @returns {JSX.Element[]}\n */\n renderItem(root, isExpanded, classes, counter) {\n const items = [];\n counter = counter || { count: 0 };\n let leaf = this.renderLeaf(root, isExpanded, classes, counter);\n const DragWrapper = this.props.DragWrapper;\n if (this.props.dragEnabled) {\n if (root.data.sumVisibility) {\n leaf = <DragWrapper key={root.data.id} item={root} className={classes.draggable}>\n {leaf}\n </DragWrapper>;\n } else {\n // change cursor\n leaf = <div key={root.data.id} className={classes.nonDraggable}>\n {leaf}\n </div>;\n }\n }\n root.data.id && items.push(leaf);\n\n isExpanded = isExpanded === undefined ? binarySearch(this.state.expanded, root.data.id) : isExpanded;\n\n if (!root.data.id || isExpanded) {\n if (!this.state.foldersFirst) {\n root.children &&\n items.push(\n root.children.map(item => {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, classes, counter);\n }\n }\n return null;\n }),\n );\n } else {\n // first only folder\n root.children &&\n items.push(\n root.children.map(item => {\n if (item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, classes, counter);\n }\n }\n }\n\n return null;\n }),\n );\n // then items\n root.children &&\n items.push(\n root.children.map(item => {\n if (!item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, classes, counter);\n }\n }\n }\n return null;\n }),\n );\n }\n }\n\n return items;\n }\n\n /**\n * @private\n * @param {boolean} [columnsAuto]\n * @param {string[]} [columns]\n * @param {any} [columnsForAdmin]\n * @param {Record<string, number>} [columnsWidths]\n */\n calculateColumnsVisibility(columnsAuto, columns, columnsForAdmin, columnsWidths) {\n columnsWidths = columnsWidths || this.state.columnsWidths;\n columnsForAdmin = columnsForAdmin || this.state.columnsForAdmin;\n columns = columns || this.state.columns || [];\n columnsAuto = typeof columnsAuto !== 'boolean' ? this.state.columnsAuto : columnsAuto;\n\n columnsWidths = JSON.parse(JSON.stringify(columnsWidths));\n Object.keys(columnsWidths).forEach(name => {\n if (columnsWidths[name]) {\n columnsWidths[name] = parseInt(columnsWidths[name], 10) || 0;\n }\n });\n\n this.adapterColumns = [];\n const WIDTHS = SCREEN_WIDTHS[this.props.width].widths;\n\n if (columnsAuto) {\n this.columnsVisibility = {\n id: SCREEN_WIDTHS[this.props.width].idWidth,\n name: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n nameHeader: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n type: this.visibleCols.includes('type') ? WIDTHS.type || 0 : 0,\n role: this.visibleCols.includes('role') ? WIDTHS.role || 0 : 0,\n room: this.visibleCols.includes('room') ? WIDTHS.room || 0 : 0,\n func: this.visibleCols.includes('func') ? WIDTHS.func || 0 : 0,\n changedFrom: this.visibleCols.includes('changedFrom') ? WIDTHS.changedFrom || 0 : 0,\n qualityCode: this.visibleCols.includes('qualityCode') ? WIDTHS.qualityCode || 0 : 0,\n timestamp: this.visibleCols.includes('timestamp') ? WIDTHS.timestamp || 0 : 0,\n lastChange: this.visibleCols.includes('lastChange') ? WIDTHS.lastChange || 0 : 0,\n val: this.visibleCols.includes('val') ? WIDTHS.val || 0 : 0,\n buttons: this.visibleCols.includes('buttons') ? WIDTHS.buttons || 0 : 0,\n };\n\n if (this.columnsVisibility.name && !this.customWidth) {\n let widthSum = this.columnsVisibility.id; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom;\n widthSum += this.columnsVisibility.qualityCode;\n widthSum += this.columnsVisibility.timestamp;\n widthSum += this.columnsVisibility.lastChange;\n } else {\n widthSum += this.columnsVisibility.type;\n widthSum += this.columnsVisibility.role;\n widthSum += this.columnsVisibility.room;\n widthSum += this.columnsVisibility.func;\n }\n widthSum += this.columnsVisibility.val;\n widthSum += this.columnsVisibility.buttons;\n this.columnsVisibility.name = `calc(100% - ${widthSum + 5}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else if (!this.customWidth) {\n // Calculate the with of ID\n let widthSum = 0; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom;\n widthSum += this.columnsVisibility.qualityCode;\n widthSum += this.columnsVisibility.timestamp;\n widthSum += this.columnsVisibility.lastChange;\n } else {\n widthSum += this.columnsVisibility.type;\n widthSum += this.columnsVisibility.role;\n widthSum += this.columnsVisibility.room;\n widthSum += this.columnsVisibility.func;\n }\n widthSum += this.columnsVisibility.val;\n widthSum += this.columnsVisibility.buttons;\n this.columnsVisibility.id = `calc(100% - ${widthSum + 5}px)`;\n }\n } else {\n this.columnsVisibility = {\n id: columnsWidths.id || SCREEN_WIDTHS[this.props.width].idWidth,\n name: columns.includes('name')\n ? columnsWidths.name || WIDTHS.name || SCREEN_WIDTHS[this.props.width].widths.name || 0\n : 0,\n type: columns.includes('type')\n ? columnsWidths.type || WIDTHS.type || SCREEN_WIDTHS[this.props.width].widths.type || 0\n : 0,\n role: columns.includes('role')\n ? columnsWidths.role || WIDTHS.role || SCREEN_WIDTHS[this.props.width].widths.role || 0\n : 0,\n room: columns.includes('room')\n ? columnsWidths.room || WIDTHS.room || SCREEN_WIDTHS[this.props.width].widths.room || 0\n : 0,\n func: columns.includes('func')\n ? columnsWidths.func || WIDTHS.func || SCREEN_WIDTHS[this.props.width].widths.func || 0\n : 0,\n };\n let widthSum = this.columnsVisibility.id; // id is always visible\n if (this.columnsVisibility.name) {\n widthSum += this.columnsVisibility.type;\n widthSum += this.columnsVisibility.role;\n widthSum += this.columnsVisibility.room;\n widthSum += this.columnsVisibility.func;\n }\n\n if (columnsForAdmin && columns) {\n Object.keys(columnsForAdmin)\n .sort()\n .forEach(adapter =>\n columnsForAdmin[adapter].forEach(column => {\n const id = `_${adapter}_${column.path}`;\n this.columnsVisibility[id] = columns.includes(id);\n if (columns.includes(id)) {\n const item = {\n adapter,\n id: `_${adapter}_${column.path}`,\n name: column.name,\n path: column.path.split('.'),\n pathText: column.path,\n };\n if (column.edit) {\n item.edit = true;\n if (column.type) {\n item.type = column.type;\n }\n if (column.objTypes) {\n item.objTypes = column.objTypes;\n }\n }\n\n this.adapterColumns.push(item);\n this.columnsVisibility[id] =\n columnsWidths[item.id] ||\n column.width ||\n SCREEN_WIDTHS[this.props.width].widths.func ||\n SCREEN_WIDTHS.xl.widths.func;\n widthSum += this.columnsVisibility[id];\n } else {\n this.columnsVisibility[id] = 0;\n }\n }));\n }\n this.adapterColumns.sort((a, b) => (a.id > b.id ? -1 : a.id < b.id ? 1 : 0));\n this.columnsVisibility.val = columns.includes('val')\n ? columnsWidths.val || WIDTHS.val || SCREEN_WIDTHS.xl.widths.val\n : 0;\n\n // do not show buttons if not desired\n if (!this.props.columns || this.props.columns.includes('buttons')) {\n this.columnsVisibility.buttons = columns.includes('buttons')\n ? columnsWidths.buttons || WIDTHS.buttons || SCREEN_WIDTHS.xl.widths.buttons\n : 0;\n widthSum += this.columnsVisibility.buttons;\n }\n\n if (this.columnsVisibility.name && !columnsWidths.name) {\n widthSum += this.columnsVisibility.val;\n this.columnsVisibility.name = `calc(100% - ${widthSum}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else {\n const newWidth = Object.keys(this.columnsVisibility).reduce((accumulator, name) => {\n if (\n name === 'id' ||\n typeof this.columnsVisibility[name] === 'string' ||\n !this.columnsVisibility[name]\n ) {\n return accumulator;\n }\n return accumulator + this.columnsVisibility[name];\n }, 0);\n this.columnsVisibility.id = `calc(100% - ${newWidth}px)`;\n }\n }\n }\n\n resizerMouseMove = e => {\n if (this.resizerActiveDiv) {\n let width;\n let widthNext;\n if (this.resizeLeft) {\n width = this.resizerOldWidth - e.clientX + this.resizerPosition;\n widthNext = this.resizerOldWidthNext + e.clientX - this.resizerPosition;\n } else {\n width = this.resizerOldWidth + e.clientX - this.resizerPosition;\n widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\n }\n\n if (\n (!this.resizerMin || width > this.resizerMin) &&\n (!this.resizerNextMin || widthNext > this.resizerNextMin)\n ) {\n this.resizerCurrentWidths[this.resizerActiveName] = width;\n this.resizerCurrentWidths[this.resizerNextName] = widthNext;\n\n this.resizerActiveDiv.style.width = `${width}px`;\n this.resizerNextDiv.style.width = `${widthNext}px`;\n\n this.columnsVisibility[this.resizerActiveName] = width;\n this.columnsVisibility[this.resizerNextName] = widthNext;\n if (this.resizerNextName === 'nameHeader') {\n this.columnsVisibility.name = widthNext - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = widthNext - this.state.scrollBarWidth;\n } else if (this.resizerActiveName === 'nameHeader') {\n this.columnsVisibility.name = width - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = width - this.state.scrollBarWidth;\n }\n this.customWidth = true;\n this.resizeTimeout && clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.resizeTimeout = null;\n this.forceUpdate();\n }, 200);\n }\n }\n };\n\n resizerMouseUp = () => {\n (window._localStorage || window.localStorage).setItem(\n `${this.props.dialogName || 'App'}.table`,\n JSON.stringify(this.resizerCurrentWidths),\n );\n this.resizerActiveName = null;\n this.resizerNextName = null;\n this.resizerActiveDiv = null;\n this.resizerNextDiv = null;\n window.removeEventListener('mousemove', this.resizerMouseMove);\n window.removeEventListener('mouseup', this.resizerMouseUp);\n };\n\n resizerMouseDown = e => {\n if (this.resizerActiveIndex === null || this.resizerActiveIndex === undefined) {\n if (!this.storedWidths) {\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width]));\n }\n\n this.resizerCurrentWidths = this.resizerCurrentWidths || {};\n this.resizerActiveDiv = e.target.parentNode;\n this.resizerActiveName = this.resizerActiveDiv.dataset.name;\n\n let i = 0;\n if (e.target.dataset.left === 'true') {\n this.resizeLeft = true;\n this.resizerNextDiv = this.resizerActiveDiv.previousElementSibling;\n let handle = this.resizerNextDiv.querySelector(`.${this.props.classes.resizeHandle}`);\n while (this.resizerNextDiv && !handle && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.previousElementSibling;\n handle = this.resizerNextDiv.querySelector(`.${this.props.classes.resizeHandle}`);\n i++;\n }\n if (handle && handle.dataset.left !== 'true') {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\n }\n } else {\n this.resizeLeft = false;\n this.resizerNextDiv = this.resizerActiveDiv.nextElementSibling;\n /* while (this.resizerNextDiv && !this.resizerNextDiv.querySelector('.' + this.props.classes.resizeHandle) && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\n i++;\n } */\n }\n this.resizerNextName = this.resizerNextDiv.dataset.name;\n\n this.resizerMin = parseInt(this.resizerActiveDiv.dataset.min, 10) || 0;\n this.resizerNextMin = parseInt(this.resizerNextDiv.dataset.min, 10) || 0;\n\n this.resizerPosition = e.clientX;\n\n this.resizerCurrentWidths[this.resizerActiveName] = this.resizerActiveDiv.offsetWidth;\n this.resizerCurrentWidths[this.resizerNextName] = this.resizerNextDiv.offsetWidth;\n\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveName];\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerNextName];\n\n window.addEventListener('mousemove', this.resizerMouseMove);\n window.addEventListener('mouseup', this.resizerMouseUp);\n }\n };\n\n /**\n * Handle keyboard events for navigation\n *\n * @param {KeyboardEvent} event\n */\n navigateKeyPress(event) {\n const selectedId = this.state.selectedNonObject || this.state.selected[0];\n\n if (!selectedId) {\n return;\n }\n\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\n event.preventDefault();\n const ids = [];\n this.tableRef.current.childNodes.forEach(node => ids.push(node.id));\n const idx = ids.indexOf(selectedId);\n const newIdx = event.code === 'ArrowDown' ? idx + 1 : idx - 1;\n const newId = ids[newIdx] || selectedId;\n this.onSelect(newId);\n this.scrollToItem(newId);\n }\n\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n this.toggleExpanded(selectedId);\n }\n\n if (event.code === 'Delete') {\n const item = this.getItemFromRoot(this.root, selectedId);\n const { obj } = item.data;\n\n if (obj && !obj.common?.dontDelete) {\n this.showDeleteDialog({ id: selectedId, obj, item });\n }\n }\n }\n\n /**\n * Find the id from the root\n *\n * @param {Record<string, any>} root The current root\n * @param {string} id the object id\n *\n * @returns {any}\n */\n getItemFromRoot(root, id) {\n const idArr = id.split('.');\n let currId = '';\n\n for (const idEntry of idArr) {\n currId = currId ? `${currId}.${idEntry}` : idEntry;\n root = root.children.find(item => item.data.id === currId);\n }\n\n return root;\n }\n\n resizerReset = () => {\n this.customWidth = false;\n SCREEN_WIDTHS[this.props.width] = JSON.parse(JSON.stringify(this.storedWidths));\n this.calculateColumnsVisibility();\n (window._localStorage || window.localStorage).removeItem(`${this.props.dialogName || 'App'}.table`);\n this.forceUpdate();\n };\n\n /**\n * Render a right handle for resizing\n *\n * @return {JSX.Element}\n */\n renderHandleRight() {\n return <div\n className={`${this.props.classes.resizeHandle} ${this.props.classes.resizeHandleRight}`}\n onMouseDown={this.resizerMouseDown}\n onDoubleClick={this.resizerReset}\n title={this.props.t('ra_Double click to reset table layout')}\n />;\n }\n\n /**\n * @private\n * @returns {JSX.Element}\n */\n renderHeader() {\n const classes = this.props.classes;\n\n let filterClearInValue = null;\n if (!this.columnsVisibility.buttons && !this.isFilterEmpty()) {\n filterClearInValue = <IconButton\n onClick={() => this.clearFilter()}\n className={classes.buttonClearFilter}\n title={this.props.t('ra_Clear filter')}\n size=\"large\"\n >\n <IconClearFilter />\n <IconClose className={classes.buttonClearFilterIcon} />\n </IconButton>;\n }\n\n return <div className={classes.headerRow}>\n <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.id, position: 'relative' }}\n data-min={240}\n data-name=\"id\"\n >\n {this.getFilterInput('id')}\n {this.renderHandleRight()}\n </div>\n {this.columnsVisibility.name ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.nameHeader, position: 'relative' }}\n data-min={100}\n data-name=\"nameHeader\"\n >\n {this.getFilterInput('name')}\n {this.renderHandleRight()}\n\n </div> : null}\n {!this.state.statesView && <>\n {this.columnsVisibility.type ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.type, position: 'relative' }}\n data-min={100}\n data-name=\"type\"\n >\n {this.getFilterSelectType()}\n {this.renderHandleRight()}\n </div> : null}\n {this.columnsVisibility.role ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.role, position: 'relative' }}\n data-min={100}\n data-name=\"role\"\n >\n {this.getFilterSelectRole()}\n {this.renderHandleRight()}\n </div> : null}\n {this.columnsVisibility.room ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.room, position: 'relative' }}\n data-min={100}\n data-name=\"room\"\n >\n {this.getFilterSelectRoom()}\n {this.renderHandleRight()}\n </div> : null}\n {this.columnsVisibility.func ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.func, position: 'relative' }}\n data-min={100}\n data-name=\"func\"\n >\n {this.getFilterSelectFunction()}\n {this.renderHandleRight()}\n </div> : null}\n </>}\n {this.state.statesView && <>\n <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility.changedFrom, position: 'relative' }}\n data-min={100}\n data-name=\"changedFrom\"\n >\n {this.props.t('ra_Changed from')}\n {this.renderHandleRight()}\n </div>\n <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility.qualityCode, position: 'relative' }}\n data-min={100}\n data-name=\"qualityCode\"\n >\n {this.props.t('ra_Quality code')}\n {this.renderHandleRight()}\n </div>\n <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility.timestamp, position: 'relative' }}\n data-min={100}\n data-name=\"timestamp\"\n >\n {this.props.t('ra_Timestamp')}\n {this.renderHandleRight()}\n </div>\n <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility.lastChange, position: 'relative' }}\n data-min={100}\n data-name=\"lastChange\"\n >\n {this.props.t('ra_Last change')}\n {this.renderHandleRight()}\n </div>\n </>}\n {this.adapterColumns.map(item => <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility[item.id] }}\n title={item.adapter}\n key={item.id}\n data-min={100}\n data-name={item.id}\n >\n {item.name}\n </div>)}\n {this.columnsVisibility.val ? <div\n className={Utils.clsx(classes.headerCell, classes.headerCellValue)}\n style={{ width: this.columnsVisibility.val, position: 'relative' }}\n data-min={120}\n data-name=\"val\"\n >\n <div\n className={`${this.props.classes.resizeHandle} ${this.props.classes.resizeHandleLeft}`}\n data-left=\"true\"\n onMouseDown={this.resizerMouseDown}\n onDoubleClick={this.resizerReset}\n title={this.props.t('ra_Double click to reset table layout')}\n />\n {this.props.t('ra_Value')}\n {filterClearInValue}\n </div> : null}\n {this.columnsVisibility.buttons ? <div\n className={classes.headerCell}\n style={{ width: this.columnsVisibility.buttons }}\n >\n {' '}\n {this.getFilterSelectCustoms()}\n </div> : null}\n </div>;\n }\n\n /**\n * @private\n * @returns {JSX.Element}\n */\n renderToast() {\n return <Snackbar\n open={!!this.state.toast}\n autoHideDuration={3000}\n onClick={() => this.setState({ toast: '' })}\n onClose={() => this.setState({ toast: '' })}\n message={this.state.toast}\n action={\n <IconButton\n size=\"small\"\n aria-label=\"close\"\n color=\"inherit\"\n onClick={() => this.setState({ toast: '' })}\n >\n <IconClose fontSize=\"small\" />\n </IconButton>\n }\n />;\n }\n\n /**\n * Called when component is updated.\n */\n componentDidUpdate() {\n if (this.tableRef.current) {\n const scrollBarWidth = this.tableRef.current.offsetWidth - this.tableRef.current.clientWidth;\n if (this.state.scrollBarWidth !== scrollBarWidth) {\n setTimeout(() => this.setState({ scrollBarWidth }), 100);\n } else if (\n !this.selectedFound &&\n ((this.state.selected && this.state.selected[0]) || this.lastSelectedItems)\n ) {\n this.scrollToItem((this.state.selected && this.state.selected[0]) || this.lastSelectedItems);\n }\n }\n }\n\n scrollToItem(id) {\n const node = window.document.getElementById(id);\n node &&\n node.scrollIntoView({\n behavior: 'auto',\n block: 'center',\n inline: 'center',\n });\n this.selectedFound = true;\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderCustomDialog() {\n if (this.state.customDialog && this.props.objectCustomDialog) {\n const ObjectCustomDialog = this.props.objectCustomDialog;\n\n return <ObjectCustomDialog\n reportChangedIds={changedIds => (this.changedIds = [...changedIds])}\n objectIDs={this.state.customDialog}\n expertMode={this.state.filter.expertMode}\n isFloatComma={this.props.isFloatComma}\n t={this.props.t}\n lang={this.props.lang}\n socket={this.props.socket}\n themeName={this.props.themeName}\n themeType={this.props.themeType}\n theme={this.props.theme}\n objects={this.objects}\n customsInstances={this.info.customs}\n onClose={() => {\n this.pauseSubscribe(false);\n this.setState({ customDialog: null });\n if (this.changedIds) {\n this.changedIds = null;\n // update all changed IDs\n this.forceUpdate();\n }\n\n this.props.router && this.props.router.doNavigate('tab-objects');\n }}\n />;\n }\n return null;\n }\n\n /**\n * @private\n * @param {Partial<ioBroker.State>} valAck\n */\n onUpdate(valAck) {\n this.props.socket\n .setState(this.edit.id, {\n val: valAck.val,\n ack: valAck.ack,\n q: valAck.q || 0,\n expire: valAck.expire || undefined,\n })\n .catch(e => this.showError(`Cannot write value: ${e}`));\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderEditObjectDialog() {\n if (!this.state.editObjectDialog || !this.props.objectBrowserEditObject) {\n return null;\n }\n\n const ObjectBrowserEditObject = this.props.objectBrowserEditObject;\n\n return <ObjectBrowserEditObject\n key={this.state.editObjectDialog}\n obj={this.objects[this.state.editObjectDialog]}\n roleArray={this.info.roles}\n objects={this.objects}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n themeType={this.props.themeType}\n socket={this.props.socket}\n dialogName={this.props.dialogName}\n aliasTab={this.state.editObjectAlias}\n t={this.props.t}\n expertMode={this.state.filter.expertMode}\n onNewObject={obj =>\n this.props.socket\n .setObject(obj._id, obj)\n .then(() => this.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () => this.onSelect(obj._id)))\n .catch(e => this.showError(`Cannot write object: ${e}`))}\n onClose={obj => {\n if (obj) {\n let updateAlias;\n if (this.state.editObjectDialog.startsWith('alias.')) {\n if (\n JSON.stringify(this.objects[this.state.editObjectDialog].common?.alias) !==\n JSON.stringify(obj.common?.alias)\n ) {\n updateAlias = this.state.editObjectDialog;\n }\n }\n\n this.props.socket\n .setObject(obj._id, obj)\n .then(() => {\n if (updateAlias && this.subscribes.includes(updateAlias)) {\n this.unsubscribe(updateAlias);\n setTimeout(() => this.subscribe(updateAlias), 100);\n }\n })\n .catch(e => this.showError(`Cannot write object: ${e}`));\n }\n this.setState({ editObjectDialog: '', editObjectAlias: false });\n }}\n />;\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderViewObjectFileDialog() {\n if (!this.state.viewFileDialog || !this.props.objectBrowserViewFile) {\n return null;\n }\n const ObjectBrowserViewFile = this.props.objectBrowserViewFile;\n\n return <ObjectBrowserViewFile\n key=\"viewFile\"\n obj={this.objects[this.state.viewFileDialog]}\n themeType={this.props.themeType}\n socket={this.props.socket}\n dialogName={this.props.dialogName}\n t={this.props.t}\n expertMode={this.state.filter.expertMode}\n onClose={() => this.setState({ viewFileDialog: '' })}\n />;\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderAliasEditorDialog() {\n if (!this.props.objectBrowserAliasEditor || !this.state.showAliasEditor) {\n return null;\n }\n const ObjectBrowserAliasEditor = this.props.objectBrowserAliasEditor;\n\n return <ObjectBrowserAliasEditor\n key=\"editAlias\"\n obj={this.objects[this.state.showAliasEditor]}\n objects={this.objects}\n themeType={this.props.themeType}\n socket={this.props.socket}\n dialogName={this.props.dialogName}\n t={this.props.t}\n expertMode={this.state.filter.expertMode}\n onClose={() => this.setState({ showAliasEditor: '' })}\n onRedirect={(id, timeout) =>\n setTimeout(() =>\n this.onSelect(id, false, () =>\n this.expandAllSelected(() => {\n this.scrollToItem(id);\n setTimeout(() => this.setState({ editObjectDialog: id, showAliasEditor: false, editObjectAlias: true }), 300);\n })), timeout || 0)}\n />;\n }\n\n showAddDataPointDialog(id, initialType, initialStateType) {\n this.setState({\n showContextMenu: null,\n modalNewObj: {\n id,\n initialType,\n initialStateType,\n },\n });\n }\n\n /**\n * Renders the right mouse button context menu\n *\n * @private\n * @returns {JSX.Element | null}\n */\n renderContextMenu() {\n if (!this.state.showContextMenu) {\n return null;\n }\n const item = this.state.showContextMenu.item;\n const id = item.data.id;\n const items = [];\n // const ctrl = isIOS() ? '⌘' : (this.props.lang === 'de' ? 'Strg+' : 'Ctrl+');\n\n const obj = item.data.obj;\n\n let showACL = '';\n if (this.props.objectEditOfAccessControl && this.state.filter.expertMode) {\n if (!obj) {\n showACL = '---';\n } else {\n const acl = obj.acl\n ? obj.type === 'state'\n ? obj.acl.state\n : obj.acl.object\n : 0;\n const aclSystemConfig =\n obj.acl &&\n (obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n showACL = Number.isNaN(Number(acl)) ? Number(aclSystemConfig).toString(16) : Number(acl).toString(16);\n }\n }\n\n const enumEditable = !this.props.notEditable && obj &&\n (this.state.filter.expertMode || obj.type === 'state' || obj.type === 'channel' || obj.type === 'device');\n\n const createStateVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.obj.type === 'channel' || item.data.obj.type === 'device' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\n const createChannelVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.obj.type === 'device' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\n const createDeviceVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\n const createFolderVisible = !item.data.obj || item.data.obj.type === 'folder' || item.data.id === '0_userdata.0' || item.data.obj.type === 'meta';\n\n const ITEMS = {\n EDIT: {\n key: '0',\n visibility: this.props.objectBrowserEditObject && obj && (this.state.filter.expertMode || this.isNonExpertId(id)),\n icon: <IconEdit fontSize=\"small\" className={this.props.classes.contextMenuEdit} />,\n label: this.texts.editObject,\n onClick: () => this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: false }),\n },\n EDIT_VALUE: {\n key: '1',\n visibility: this.states &&\n !this.props.notEditable &&\n obj &&\n obj.type === 'state' &&\n obj.common?.type !== 'file' &&\n (this.state.filter.expertMode || obj.common.write !== false),\n icon: <IconValueEdit fontSize=\"small\" className={this.props.classes.contextMenuEditValue} />,\n label: this.props.t('ra_Edit value'),\n onClick: () => {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true, showContextMenu: null });\n },\n },\n VIEW: {\n visibility: this.props.objectBrowserViewFile && obj && obj.type === 'state' && obj.common?.type === 'file',\n icon: <FindInPage fontSize=\"small\" className={this.props.classes.contextMenuView} />,\n className: '',\n label: this.props.t('ra_View file'),\n onClick: () => this.setState({ viewFileDialog: obj._id, showContextMenu: null }),\n },\n CUSTOM: {\n key: '2',\n visibility: this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n obj &&\n obj.type === 'state' &&\n obj.common?.type !== 'file',\n icon: <IconConfig\n fontSize=\"small\"\n className={item.data.hasCustoms\n ? this.props.classes.cellButtonsButtonWithCustoms\n : this.props.classes.cellButtonsButtonWithoutCustoms}\n />,\n className: this.props.classes.contextMenuCustom,\n label: this.texts.customConfig,\n onClick: () => {\n this.pauseSubscribe(true);\n this.props.router && this.props.router.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id], showContextMenu: null });\n },\n },\n ACL: {\n key: '3',\n visibility: !!showACL,\n icon: showACL,\n iconStyle: { fontSize: 'smaller' },\n listItemIconClass: this.props.classes.contextMenuACL,\n className: this.props.classes.contextMenuACL,\n label: this.props.t('ra_Edit ACL'),\n onClick: () => this.setState({\n showContextMenu: null,\n modalEditOfAccess: true,\n modalEditOfAccessObjData: item.data,\n }),\n },\n ROLE: {\n key: '4',\n visibility: this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole,\n icon: <BorderColor fontSize=\"small\" className={this.props.classes.contextMenuRole} />,\n className: '',\n label: this.props.t('ra_Edit role'),\n onClick: () => this.setState({ roleDialog: item.data.id, showContextMenu: null }),\n },\n FUNCTION: {\n key: '5',\n visibility: enumEditable,\n icon: <BedroomParent fontSize=\"small\" className={this.props.classes.contextMenuRole} />,\n className: '',\n label: this.props.t('ra_Edit function'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'funcEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\n },\n showContextMenu: null,\n });\n },\n },\n ROOM: {\n key: '6',\n visibility: enumEditable,\n icon: <Construction fontSize=\"small\" className={this.props.classes.contextMenuRoom} />,\n className: '',\n label: this.props.t('ra_Edit room'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'roomEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.parse(JSON.stringify(enums)),\n },\n showContextMenu: null,\n });\n },\n },\n ALIAS: {\n key: '7',\n visibility: !this.props.notEditable &&\n this.props.objectBrowserAliasEditor &&\n this.props.objectBrowserEditObject &&\n this.state.filter.expertMode &&\n obj &&\n obj.type === 'state' &&\n obj.common?.type !== 'file',\n icon: <IconLink className={obj?.common?.alias\n ? this.props.classes.cellButtonsButtonWithCustoms\n : this.props.classes.cellButtonsButtonWithoutCustoms}\n />,\n className: '',\n label: this.props.t('ra_Edit alias'),\n onClick: () => {\n if (obj.common?.alias) {\n this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: true });\n } else {\n this.setState({ showContextMenu: null, showAliasEditor: item.data.id });\n }\n },\n },\n CREATE: {\n key: '+',\n visibility: (item.data.id.startsWith('0_userdata.0') || item.data.id.startsWith('javascript.')) &&\n (createStateVisible || createChannelVisible || createDeviceVisible || createFolderVisible),\n icon: <AddIcon fontSize=\"small\" className={this.props.classes.cellButtonsButtonWithCustoms} />,\n className: this.props.classes.contextMenuWithSubMenu,\n label: this.texts.create,\n subMenu: [\n {\n label: this.texts.createBooleanState,\n visibility: createStateVisible,\n icon: <IconState fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'boolean'),\n },\n {\n label: this.texts.createNumberState,\n visibility: createStateVisible,\n icon: <IconState fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'number'),\n },\n {\n label: this.texts.createStringState,\n visibility: createStateVisible,\n icon: <IconState fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'string'),\n },\n {\n label: this.texts.createState,\n visibility: createStateVisible,\n icon: <IconState fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state'),\n },\n {\n label: this.texts.createChannel,\n visibility: createChannelVisible,\n icon: <IconChannel fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'channel'),\n },\n {\n label: this.texts.createDevice,\n visibility: createDeviceVisible,\n icon: <IconDevice fontSize=\"small\" />,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'device'),\n },\n {\n label: this.texts.createFolder,\n icon: <IconFolder fontSize=\"small\" />,\n visibility: createFolderVisible,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'folder'),\n },\n ],\n },\n DELETE: {\n key: 'Delete',\n visibility: this.props.onObjectDelete && (item.children?.length || (obj && !obj.common?.dontDelete)),\n icon: <IconDelete fontSize=\"small\" className={this.props.classes.contextMenuDelete} />,\n className: this.props.classes.contextMenuDelete,\n label: this.texts.deleteObject,\n onClick: () => this.setState({ showContextMenu: null }, () =>\n this.showDeleteDialog({ id, obj: obj || {}, item })),\n },\n };\n\n Object.keys(ITEMS).forEach(key => {\n if (ITEMS[key].visibility) {\n if (ITEMS[key].subMenu) {\n items.push(<MenuItem\n key={key}\n onClick={e => this.setState({ showContextMenu: { item: this.state.showContextMenu.item, subItem: key, subAnchor: e.target } })}\n className={ITEMS[key].className}\n >\n <ListItemIcon style={ITEMS[key].iconStyle} className={ITEMS[key].listItemIconClass}>\n {ITEMS[key].icon}\n </ListItemIcon>\n <ListItemText>\n {ITEMS[key].label}\n ...\n </ListItemText>\n <ListItemSecondaryAction>\n <ArrowRightIcon />\n </ListItemSecondaryAction>\n </MenuItem>);\n if (this.state.showContextMenu.subItem === key) {\n items.push(<Menu\n key=\"subContextMenu\"\n open={!0}\n anchorEl={this.state.showContextMenu.subAnchor}\n onClose={() => {\n this.setState({ showContextMenu: { item: this.state.showContextMenu.item } });\n this.contextMenu = null;\n }}\n >\n {ITEMS[key].subMenu.map(subItem => (subItem.visibility ? <MenuItem\n key={subItem.label}\n onClick={subItem.onClick}\n className={subItem.className}\n >\n <ListItemIcon style={subItem.iconStyle} className={subItem.listItemIconClass}>\n {subItem.icon}\n </ListItemIcon>\n <ListItemText>{subItem.label}</ListItemText>\n </MenuItem> : null))}\n </Menu>);\n }\n } else {\n items.push(<MenuItem key={key} onClick={ITEMS[key].onClick} className={ITEMS[key].className}>\n <ListItemIcon style={ITEMS[key].iconStyle} className={ITEMS[key].listItemIconClass}>\n {ITEMS[key].icon}\n </ListItemIcon>\n <ListItemText>{ITEMS[key].label}</ListItemText>\n {ITEMS[key].key ? <div className={this.props.classes.contextMenuKeys}>\n {`Alt+${ITEMS[key].key === 'Delete' ? this.props.t('ra_Del') : ITEMS[key].key}`}\n </div> : null}\n </MenuItem>);\n }\n }\n });\n\n if (!items.length) {\n setTimeout(() => this.setState({ showContextMenu: null }), 100);\n return null;\n }\n\n const el = document.getElementById(id);\n\n return <Menu\n key=\"contextMenu\"\n open={!0}\n onKeyUp={e => {\n e.preventDefault();\n if (e.altKey) {\n Object.keys(ITEMS).forEach(key => {\n if (e.key === ITEMS[key].key) {\n ITEMS[key].onClick();\n }\n });\n }\n }}\n anchorEl={el}\n onClose={() => {\n this.setState({ showContextMenu: null });\n this.contextMenu = null;\n }}\n >\n {items}\n </Menu>;\n }\n\n /**\n * @private\n * @returns {JSX.Element | null}\n */\n renderEditValueDialog() {\n if (!this.state.updateOpened || !this.props.objectBrowserValue) {\n return null;\n }\n\n if (!this.edit.id) {\n console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`);\n return null;\n }\n\n if (!this.objects[this.edit.id]) {\n console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`);\n return null;\n }\n\n const type = this.objects[this.edit.id].common?.type\n ? this.objects[this.edit.id].common.type\n : typeof this.edit.val;\n\n const role = this.objects[this.edit.id].common.role;\n\n const ObjectBrowserValue = this.props.objectBrowserValue;\n\n return <ObjectBrowserValue\n t={this.props.t}\n lang={this.props.lang}\n type={type}\n role={role}\n states={Utils.getStates(this.objects[this.edit.id])}\n themeType={this.props.themeType}\n expertMode={this.state.filter.expertMode}\n value={this.edit.val}\n socket={this.props.socket}\n object={this.objects[this.edit.id]}\n defaultHistory={this.defaultHistory}\n dateFormat={this.props.dateFormat}\n onClose={res => {\n this.setState({ updateOpened: false });\n res && this.onUpdate(res);\n }}\n />;\n }\n\n /**\n * The rendering method of this component.\n * @returns {JSX.Element}\n */\n render() {\n this.recordStates = [];\n this.unsubscribeTimer && clearTimeout(this.unsubscribeTimer);\n\n // apply filter if changed\n const jsonFilter = JSON.stringify(this.state.filter);\n\n if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {\n const counter = { count: 0 };\n\n applyFilter(\n this.root,\n this.state.filter,\n this.props.lang,\n this.objects,\n null,\n counter,\n this.props.customFilter,\n this.props.types,\n );\n\n if (counter.count < 500 && !this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: true }));\n } else if (counter.count >= 500 && this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: false }));\n }\n\n this.lastAppliedFilter = jsonFilter;\n }\n\n this.unsubscribeTimer = setTimeout(() => {\n this.unsubscribeTimer = null;\n this.checkUnsubscribes();\n }, 200);\n\n if (!this.state.loaded) {\n return <CircularProgress key={`${this.props.dialogName}_c`} />;\n }\n const classes = this.props.classes;\n const items = this.renderItem(this.root, undefined, classes);\n\n return <TabContainer key={this.props.dialogName}>\n <TabHeader>\n {this.getToolbar()}\n </TabHeader>\n <TabContent>\n {this.renderHeader()}\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div className={this.props.classes.tableDiv} ref={this.tableRef} onKeyDown={event => this.navigateKeyPress(event)} tabIndex={0}>\n {items}\n </div>\n </TabContent>\n {this.renderContextMenu()}\n {this.renderToast()}\n {this.renderColumnsEditCustomDialog()}\n {this.renderColumnsSelectorDialog()}\n {this.renderCustomDialog()}\n {this.renderEditValueDialog()}\n {this.renderEditObjectDialog()}\n {this.renderViewObjectFileDialog()}\n {this.renderAliasEditorDialog()}\n {this.renderEditRoleDialog()}\n {this.renderEnumDialog()}\n {this.renderErrorDialog()}\n {this.renderExportDialog()}\n {this.state.modalNewObj && this.props.modalNewObject && this.props.modalNewObject(this)}\n {this.state.modalEditOfAccess &&\n this.props.modalEditOfAccessControl &&\n this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\n </TabContainer>;\n }\n}\n\nObjectBrowser.defaultProps = {\n objectAddBoolean: false,\n objectEditBoolean: false,\n objectStatesView: false,\n objectImportExport: false,\n objectEditOfAccessControl: false,\n modalNewObject: () => undefined,\n modalEditOfAccessControl: () => undefined,\n};\n\nObjectBrowser.propTypes = {\n dialogName: PropTypes.string, // where to store settings in localStorage\n classes: PropTypes.object,\n defaultFilters: PropTypes.object,\n selected: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n ]),\n onSelect: PropTypes.func,\n onFilterChanged: PropTypes.func,\n socket: PropTypes.object,\n showExpertButton: PropTypes.bool,\n expertMode: PropTypes.bool,\n imagePrefix: PropTypes.string,\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n theme: PropTypes.object,\n t: PropTypes.func,\n lang: PropTypes.string.isRequired,\n multiSelect: PropTypes.bool,\n notEditable: PropTypes.bool,\n foldersFirst: PropTypes.bool,\n disableColumnSelector: PropTypes.bool,\n isFloatComma: PropTypes.bool,\n dateFormat: PropTypes.string,\n levelPadding: PropTypes.number,\n\n // components\n objectCustomDialog: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]),\n objectAddBoolean: PropTypes.bool, // optional toolbar button\n objectEditBoolean: PropTypes.bool, // optional toolbar button\n objectStatesView: PropTypes.bool, // optional toolbar button\n objectImportExport: PropTypes.bool, // optional toolbar button\n objectEditOfAccessControl: PropTypes.bool, // Access Control\n modalNewObject: PropTypes.func, // modal add object\n modalEditOfAccessControl: PropTypes.func, // modal Edit Of Access Control\n onObjectDelete: PropTypes.func, // optional function (id, hasChildren, objectExists, childrenCount+1) { }\n customFilter: PropTypes.object, // optional\n // `{common: {custom: true}}` - show only objects with some custom settings\n // `{common: {custom: 'sql.0'}}` - show only objects with sql.0 custom settings (only of the specific instance)\n // `{common: {custom: '_dataSources'}}` - show only objects of adapters `influxdb' or 'sql' or 'history'\n // `{common: {custom: 'adapterName.'}}` - show only objects of custom settings of specific adapter (all instances)\n // `{type: 'channel'}` - show only channels\n // `{type: ['channel', 'device']}` - show only channels and devices\n // `{common: {type: 'number'}` - show only states of type 'number\n // `{common: {type: ['number', 'string']}` - show only states of type 'number and string\n // `{common: {role: 'switch']}` - show only states with roles starting from switch\n // `{common: {role: ['switch', 'button]}` - show only states with roles starting from `switch` and `button`\n objectBrowserValue: PropTypes.object,\n objectBrowserEditObject: PropTypes.object,\n objectBrowserAliasEditor: PropTypes.func, // on edit alias\n objectBrowserEditRole: PropTypes.object, // on Edit role\n objectBrowserViewFile: PropTypes.func, // on view file state\n router: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ]),\n types: PropTypes.array, // optional ['state', 'instance', 'channel']\n columns: PropTypes.array, // optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons']\n // eslint-disable-next-line react/no-unused-prop-types\n root: PropTypes.string, // optional. Shows only elements of this root\n\n objectsWorker: PropTypes.object, // optional cache of objects\n filterFunc: PropTypes.func, // function to filter out all unnecessary objects. It cannot be used together with \"types\"\n // Example for function: `obj => obj.common && obj.common.type === 'boolean'` to show only boolean states\n\n DragWrapper: PropTypes.func,\n dragEnabled: PropTypes.bool,\n};\n\n/** @type {typeof ObjectBrowser} */\nconst _export = withWidth()(withStyles(styles)(ObjectBrowser));\nexport default _export;\n"],"mappings":"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","ignoreList":[]}
|