@iobroker/json-config 1.0.0
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/LICENSE +21 -0
- package/build/JsonConfig.d.ts +22 -0
- package/build/JsonConfig.js +535 -0
- package/build/JsonConfig.js.map +1 -0
- package/build/JsonConfigComponent/ChipInput.d.ts +12 -0
- package/build/JsonConfigComponent/ChipInput.js +595 -0
- package/build/JsonConfigComponent/ChipInput.js.map +1 -0
- package/build/JsonConfigComponent/ConfigAccordion.d.ts +15 -0
- package/build/JsonConfigComponent/ConfigAccordion.js +185 -0
- package/build/JsonConfigComponent/ConfigAccordion.js.map +1 -0
- package/build/JsonConfigComponent/ConfigAlive.d.ts +10 -0
- package/build/JsonConfigComponent/ConfigAlive.js +63 -0
- package/build/JsonConfigComponent/ConfigAlive.js.map +1 -0
- package/build/JsonConfigComponent/ConfigAutocomplete.d.ts +37 -0
- package/build/JsonConfigComponent/ConfigAutocomplete.js +69 -0
- package/build/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
- package/build/JsonConfigComponent/ConfigAutocompleteSendTo.d.ts +17 -0
- package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js +127 -0
- package/build/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCRON.d.ts +15 -0
- package/build/JsonConfigComponent/ConfigCRON.js +55 -0
- package/build/JsonConfigComponent/ConfigCRON.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCertCollection.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigCertCollection.js +50 -0
- package/build/JsonConfigComponent/ConfigCertCollection.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCertificateSelect.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigCertificateSelect.js +59 -0
- package/build/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCertificates.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigCertificates.js +104 -0
- package/build/JsonConfigComponent/ConfigCertificates.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCheckLicense.d.ts +3 -0
- package/build/JsonConfigComponent/ConfigCheckLicense.js +546 -0
- package/build/JsonConfigComponent/ConfigCheckLicense.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCheckbox.d.ts +15 -0
- package/build/JsonConfigComponent/ConfigCheckbox.js +36 -0
- package/build/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
- package/build/JsonConfigComponent/ConfigChip.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigChip.js +67 -0
- package/build/JsonConfigComponent/ConfigChip.js.map +1 -0
- package/build/JsonConfigComponent/ConfigColor.d.ts +22 -0
- package/build/JsonConfigComponent/ConfigColor.js +57 -0
- package/build/JsonConfigComponent/ConfigColor.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCoordinates.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigCoordinates.js +146 -0
- package/build/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
- package/build/JsonConfigComponent/ConfigCustom.d.ts +26 -0
- package/build/JsonConfigComponent/ConfigCustom.js +195 -0
- package/build/JsonConfigComponent/ConfigCustom.js.map +1 -0
- package/build/JsonConfigComponent/ConfigDatePicker.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigDatePicker.js +39 -0
- package/build/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
- package/build/JsonConfigComponent/ConfigDeviceManager.d.ts +6 -0
- package/build/JsonConfigComponent/ConfigDeviceManager.js +14 -0
- package/build/JsonConfigComponent/ConfigDeviceManager.js.map +1 -0
- package/build/JsonConfigComponent/ConfigFile.d.ts +15 -0
- package/build/JsonConfigComponent/ConfigFile.js +131 -0
- package/build/JsonConfigComponent/ConfigFile.js.map +1 -0
- package/build/JsonConfigComponent/ConfigFileSelector.d.ts +3 -0
- package/build/JsonConfigComponent/ConfigFileSelector.js +434 -0
- package/build/JsonConfigComponent/ConfigFileSelector.js.map +1 -0
- package/build/JsonConfigComponent/ConfigFunc.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigFunc.js +56 -0
- package/build/JsonConfigComponent/ConfigFunc.js.map +1 -0
- package/build/JsonConfigComponent/ConfigGeneric.d.ts +95 -0
- package/build/JsonConfigComponent/ConfigGeneric.js +632 -0
- package/build/JsonConfigComponent/ConfigGeneric.js.map +1 -0
- package/build/JsonConfigComponent/ConfigIP.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigIP.js +64 -0
- package/build/JsonConfigComponent/ConfigIP.js.map +1 -0
- package/build/JsonConfigComponent/ConfigImageSendTo.d.ts +10 -0
- package/build/JsonConfigComponent/ConfigImageSendTo.js +62 -0
- package/build/JsonConfigComponent/ConfigImageSendTo.js.map +1 -0
- package/build/JsonConfigComponent/ConfigImageUpload.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigImageUpload.js +91 -0
- package/build/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
- package/build/JsonConfigComponent/ConfigInstanceSelect.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigInstanceSelect.js +133 -0
- package/build/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
- package/build/JsonConfigComponent/ConfigInterface.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigInterface.js +74 -0
- package/build/JsonConfigComponent/ConfigInterface.js.map +1 -0
- package/build/JsonConfigComponent/ConfigJsonEditor.d.ts +13 -0
- package/build/JsonConfigComponent/ConfigJsonEditor.js +59 -0
- package/build/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
- package/build/JsonConfigComponent/ConfigLanguage.d.ts +7 -0
- package/build/JsonConfigComponent/ConfigLanguage.js +105 -0
- package/build/JsonConfigComponent/ConfigLanguage.js.map +1 -0
- package/build/JsonConfigComponent/ConfigLicense.d.ts +24 -0
- package/build/JsonConfigComponent/ConfigLicense.js +95 -0
- package/build/JsonConfigComponent/ConfigLicense.js.map +1 -0
- package/build/JsonConfigComponent/ConfigNumber.d.ts +17 -0
- package/build/JsonConfigComponent/ConfigNumber.js +114 -0
- package/build/JsonConfigComponent/ConfigNumber.js.map +1 -0
- package/build/JsonConfigComponent/ConfigObjectId.d.ts +17 -0
- package/build/JsonConfigComponent/ConfigObjectId.js +59 -0
- package/build/JsonConfigComponent/ConfigObjectId.js.map +1 -0
- package/build/JsonConfigComponent/ConfigPanel.d.ts +3 -0
- package/build/JsonConfigComponent/ConfigPanel.js +271 -0
- package/build/JsonConfigComponent/ConfigPanel.js.map +1 -0
- package/build/JsonConfigComponent/ConfigPassword.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigPassword.js +105 -0
- package/build/JsonConfigComponent/ConfigPassword.js.map +1 -0
- package/build/JsonConfigComponent/ConfigPattern.d.ts +21 -0
- package/build/JsonConfigComponent/ConfigPattern.js +32 -0
- package/build/JsonConfigComponent/ConfigPattern.js.map +1 -0
- package/build/JsonConfigComponent/ConfigPort.d.ts +3 -0
- package/build/JsonConfigComponent/ConfigPort.js +174 -0
- package/build/JsonConfigComponent/ConfigPort.js.map +1 -0
- package/build/JsonConfigComponent/ConfigRoom.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigRoom.js +56 -0
- package/build/JsonConfigComponent/ConfigRoom.js.map +1 -0
- package/build/JsonConfigComponent/ConfigSelect.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigSelect.js +90 -0
- package/build/JsonConfigComponent/ConfigSelect.js.map +1 -0
- package/build/JsonConfigComponent/ConfigSelectSendTo.d.ts +17 -0
- package/build/JsonConfigComponent/ConfigSelectSendTo.js +175 -0
- package/build/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
- package/build/JsonConfigComponent/ConfigSendto.d.ts +24 -0
- package/build/JsonConfigComponent/ConfigSendto.js +290 -0
- package/build/JsonConfigComponent/ConfigSendto.js.map +1 -0
- package/build/JsonConfigComponent/ConfigSetState.d.ts +18 -0
- package/build/JsonConfigComponent/ConfigSetState.js +93 -0
- package/build/JsonConfigComponent/ConfigSetState.js.map +1 -0
- package/build/JsonConfigComponent/ConfigSlider.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigSlider.js +62 -0
- package/build/JsonConfigComponent/ConfigSlider.js.map +1 -0
- package/build/JsonConfigComponent/ConfigStaticDivider.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigStaticDivider.js +39 -0
- package/build/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
- package/build/JsonConfigComponent/ConfigStaticHeader.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigStaticHeader.js +45 -0
- package/build/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
- package/build/JsonConfigComponent/ConfigStaticImage.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigStaticImage.js +36 -0
- package/build/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
- package/build/JsonConfigComponent/ConfigStaticText.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigStaticText.js +51 -0
- package/build/JsonConfigComponent/ConfigStaticText.js.map +1 -0
- package/build/JsonConfigComponent/ConfigTable.d.ts +3 -0
- package/build/JsonConfigComponent/ConfigTable.js +670 -0
- package/build/JsonConfigComponent/ConfigTable.js.map +1 -0
- package/build/JsonConfigComponent/ConfigTabs.d.ts +34 -0
- package/build/JsonConfigComponent/ConfigTabs.js +90 -0
- package/build/JsonConfigComponent/ConfigTabs.js.map +1 -0
- package/build/JsonConfigComponent/ConfigText.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigText.js +105 -0
- package/build/JsonConfigComponent/ConfigText.js.map +1 -0
- package/build/JsonConfigComponent/ConfigTextSendTo.d.ts +10 -0
- package/build/JsonConfigComponent/ConfigTextSendTo.js +76 -0
- package/build/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
- package/build/JsonConfigComponent/ConfigTimePicker.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigTimePicker.js +37 -0
- package/build/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
- package/build/JsonConfigComponent/ConfigTopic.d.ts +17 -0
- package/build/JsonConfigComponent/ConfigTopic.js +61 -0
- package/build/JsonConfigComponent/ConfigTopic.js.map +1 -0
- package/build/JsonConfigComponent/ConfigUUID.d.ts +15 -0
- package/build/JsonConfigComponent/ConfigUUID.js +31 -0
- package/build/JsonConfigComponent/ConfigUUID.js.map +1 -0
- package/build/JsonConfigComponent/ConfigUser.d.ts +14 -0
- package/build/JsonConfigComponent/ConfigUser.js +70 -0
- package/build/JsonConfigComponent/ConfigUser.js.map +1 -0
- package/build/JsonConfigComponent/index.d.ts +26 -0
- package/build/JsonConfigComponent/index.js +312 -0
- package/build/JsonConfigComponent/index.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/AdminConnection.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/AdminConnection.js +3 -0
- package/build/JsonConfigComponent/wrapper/AdminConnection.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/ColorPicker.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Components/ColorPicker.js +3 -0
- package/build/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/CustomModal.d.ts +3 -0
- package/build/JsonConfigComponent/wrapper/Components/CustomModal.js +87 -0
- package/build/JsonConfigComponent/wrapper/Components/CustomModal.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/Editor.d.ts +14 -0
- package/build/JsonConfigComponent/wrapper/Components/Editor.js +43 -0
- package/build/JsonConfigComponent/wrapper/Components/Editor.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/Icon.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Components/Icon.js +3 -0
- package/build/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.js +3 -0
- package/build/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/UploadImage.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Components/UploadImage.js +3 -0
- package/build/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Components/Utils.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Components/Utils.js +3 -0
- package/build/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Cron.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Cron.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Error.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Error.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Message.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Message.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.js +3 -0
- package/build/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/i18n.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/i18n.js +3 -0
- package/build/JsonConfigComponent/wrapper/i18n.js.map +1 -0
- package/build/JsonConfigComponent/wrapper/icons/IconCopy.d.ts +2 -0
- package/build/JsonConfigComponent/wrapper/icons/IconCopy.js +3 -0
- package/build/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -0
- package/build/Utils.d.ts +376 -0
- package/build/Utils.js +1595 -0
- package/build/Utils.js.map +1 -0
- package/build/index.d.ts +5 -0
- package/build/index.js +6 -0
- package/build/index.js.map +1 -0
- package/package.json +17 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { withStyles } from '@mui/styles';
|
|
4
|
+
import { DatePicker } from '@mui/x-date-pickers';
|
|
5
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
6
|
+
const styles = () => ({
|
|
7
|
+
indeterminate: {
|
|
8
|
+
opacity: 0.5,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
class ConfigDatePicker extends ConfigGeneric {
|
|
12
|
+
componentDidMount() {
|
|
13
|
+
super.componentDidMount();
|
|
14
|
+
const value = ConfigGeneric.getValue(this.props.data, this.props.attr);
|
|
15
|
+
this.setState({ value });
|
|
16
|
+
}
|
|
17
|
+
renderItem(error, disabled /* , defaultValue */) {
|
|
18
|
+
return React.createElement(DatePicker, { fullWidth: true, margin: "normal", format: this.props.systemConfig.dateFormat.toLowerCase().replace('mm', 'MM'), error: !!error, disabled: !!disabled, value: this.state.value === null || this.state.value === undefined ? new Date() : this.state.value, KeyboardButtonProps: {
|
|
19
|
+
'aria-label': 'change date',
|
|
20
|
+
}, inputProps: { maxLength: this.props.schema.maxLength || this.props.schema.max || undefined }, onChange: value => {
|
|
21
|
+
this.setState({ value }, () => this.onChange(this.props.attr, value));
|
|
22
|
+
}, InputLabelProps: {
|
|
23
|
+
shrink: true,
|
|
24
|
+
}, placeholder: this.getText(this.props.schema.placeholder), label: this.getText(this.props.schema.label), helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation) });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
ConfigDatePicker.propTypes = {
|
|
28
|
+
socket: PropTypes.object.isRequired,
|
|
29
|
+
themeType: PropTypes.string,
|
|
30
|
+
themeName: PropTypes.string,
|
|
31
|
+
style: PropTypes.object,
|
|
32
|
+
className: PropTypes.string,
|
|
33
|
+
data: PropTypes.object.isRequired,
|
|
34
|
+
schema: PropTypes.object,
|
|
35
|
+
onError: PropTypes.func,
|
|
36
|
+
onChange: PropTypes.func,
|
|
37
|
+
};
|
|
38
|
+
export default withStyles(styles)(ConfigDatePicker);
|
|
39
|
+
//# sourceMappingURL=ConfigDatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigDatePicker.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigDatePicker.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ConfigGeneric, { ConfigGenericProps, ConfigGenericState } from './ConfigGeneric';
|
|
3
|
+
declare class ConfigDeviceManager extends ConfigGeneric<ConfigGenericProps, ConfigGenericState> {
|
|
4
|
+
renderItem(): React.JSX.Element | null;
|
|
5
|
+
}
|
|
6
|
+
export default ConfigDeviceManager;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
3
|
+
import DeviceManager from "@iobroker/dm-gui-components";
|
|
4
|
+
class ConfigDeviceManager extends ConfigGeneric {
|
|
5
|
+
renderItem() {
|
|
6
|
+
const schema = this.props.schema;
|
|
7
|
+
if (!schema) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return React.createElement(DeviceManager, { uploadImagesToInstance: `${this.props.adapterName}.${this.props.instance}`, title: this.props.schema.label, socket: this.props.socket, selectedInstance: `${this.props.adapterName}.${this.props.instance}` });
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export default ConfigDeviceManager;
|
|
14
|
+
//# sourceMappingURL=ConfigDeviceManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigDeviceManager.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigDeviceManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,aAAyD,MAAM,iBAAiB,CAAC;AACxF,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD,MAAM,mBAAoB,SAAQ,aAAqD;IACnF,UAAU;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,IAAI,CAAC;SACf;QAED,OAAO,oBAAC,aAAa,IACjB,sBAAsB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAC1E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GACtE,CAAC;IACP,CAAC;CACJ;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const _default: React.JSXElementConstructor<Omit<Pick<import("./ConfigGeneric").ConfigGenericProps, "data" | "originalData" | "instanceObj" | "customObj" | "schema" | "attr" | "onChange" | "custom" | "forceUpdate" | "alive" | "systemConfig" | "socket" | "changed" | "adapterName" | "instance" | "common" | "onError" | "themeType" | "disabled" | "classes"> & Pick<PropTypes.InferProps<{
|
|
2
|
+
socket: PropTypes.Validator<object>;
|
|
3
|
+
themeType: PropTypes.Requireable<string>;
|
|
4
|
+
themeName: PropTypes.Requireable<string>;
|
|
5
|
+
style: PropTypes.Requireable<object>;
|
|
6
|
+
className: PropTypes.Requireable<string>;
|
|
7
|
+
data: PropTypes.Validator<object>;
|
|
8
|
+
schema: PropTypes.Requireable<object>;
|
|
9
|
+
onError: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
11
|
+
imagePrefix: PropTypes.Requireable<(...args: any[]) => any>;
|
|
12
|
+
}>, "className" | "style" | "themeName" | "imagePrefix"> & Pick<import("./ConfigGeneric").ConfigGenericProps, "originalData" | "instanceObj" | "customObj" | "arrayIndex" | "globalData" | "registerOnForceUpdate" | "attr" | "custom" | "forceUpdate" | "alive" | "systemConfig" | "changed" | "adapterName" | "instance" | "common" | "commandRunning" | "disabled" | "classes">, "classes"> & import("@mui/styles").StyledComponentProps<"fullWidth" | "fullWidthOneButton" | "selectedImage" | "fullWidthIcon"> & object>;
|
|
13
|
+
export default _default;
|
|
14
|
+
import PropTypes from 'prop-types';
|
|
15
|
+
import React from 'react';
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { withStyles } from '@mui/styles';
|
|
4
|
+
import { Button, TextField, IconButton, } from '@mui/material';
|
|
5
|
+
import { Article as IconText, Code as IconCode, PlayArrow as IconPlay, Videocam as IconVideo, } from '@mui/icons-material';
|
|
6
|
+
import SelectFileDialog from './wrapper/Dialogs/SelectFile';
|
|
7
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
8
|
+
import ConfigFileSelector from './ConfigFileSelector';
|
|
9
|
+
const styles = () => ({
|
|
10
|
+
fullWidth: {
|
|
11
|
+
width: '100%',
|
|
12
|
+
},
|
|
13
|
+
fullWidthOneButton: {
|
|
14
|
+
width: 'calc(100% - 69px)',
|
|
15
|
+
marginRight: 4,
|
|
16
|
+
},
|
|
17
|
+
fullWidthIcon: {
|
|
18
|
+
width: 'calc(100% - 119px)',
|
|
19
|
+
marginRight: 4,
|
|
20
|
+
},
|
|
21
|
+
selectedImage: {
|
|
22
|
+
height: 40,
|
|
23
|
+
width: 40,
|
|
24
|
+
display: 'inline-block',
|
|
25
|
+
marginRight: 8,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
const IMAGE_EXT = ['jpg', 'jpeg', 'svg', 'png', 'webp', 'gif', 'apng', 'avif', 'webp'];
|
|
29
|
+
const AUDIO_EXT = ['mp3', 'ogg', 'wav', 'aac'];
|
|
30
|
+
const VIDEO_EXT = ['avi', 'mp4', 'mov'];
|
|
31
|
+
const DOC_EXT = ['txt', 'log', 'html', 'htm'];
|
|
32
|
+
const JS_EXT = ['json', 'js', 'ts'];
|
|
33
|
+
class ConfigFile extends ConfigGeneric {
|
|
34
|
+
componentDidMount() {
|
|
35
|
+
super.componentDidMount();
|
|
36
|
+
const value = ConfigGeneric.getValue(this.props.data, this.props.attr);
|
|
37
|
+
this.imagePrefix = this.props.imagePrefix === undefined ? './files' : this.props.imagePrefix;
|
|
38
|
+
this.setState({ value: value ?? '' });
|
|
39
|
+
}
|
|
40
|
+
static getDerivedStateFromProps(props, state) {
|
|
41
|
+
const value = ConfigGeneric.getValue(props.data, props.attr);
|
|
42
|
+
if (value === null || value === undefined || value.toString().trim() !== (state.value || '').toString().trim()) {
|
|
43
|
+
return { value: value ?? '' };
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
loadFile() {
|
|
48
|
+
const pos = this.state.value.indexOf('/');
|
|
49
|
+
if (pos !== -1) {
|
|
50
|
+
const adapter = this.state.value.substring(0, pos);
|
|
51
|
+
const path = this.state.value.substring(pos + 1);
|
|
52
|
+
return this.props.socket.readFile(adapter, path, true);
|
|
53
|
+
}
|
|
54
|
+
return Promise.resolve(null);
|
|
55
|
+
}
|
|
56
|
+
play() {
|
|
57
|
+
this.loadFile()
|
|
58
|
+
.then(data => {
|
|
59
|
+
if (typeof AudioContext !== 'undefined' && data?.file) {
|
|
60
|
+
const context = new AudioContext();
|
|
61
|
+
const buf = ConfigFileSelector.base64ToArrayBuffer(data.file);
|
|
62
|
+
context.decodeAudioData(buf, buffer => {
|
|
63
|
+
const source = context.createBufferSource(); // creates a sound source
|
|
64
|
+
source.buffer = buffer; // tell the source which sounds to play
|
|
65
|
+
source.connect(context.destination); // connect the source to the context's destination (the speakers)
|
|
66
|
+
source.start(0);
|
|
67
|
+
}, err => window.alert(`Cannot play: ${err}`));
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
getIcon() {
|
|
72
|
+
const extension = this.state.value.split('.').pop().toLowerCase();
|
|
73
|
+
if (IMAGE_EXT.includes(extension)) {
|
|
74
|
+
return React.createElement("div", { className: this.props.classes.selectedImage, style: {
|
|
75
|
+
backgroundImage: `url(${this.imagePrefix}/${this.state.value})`,
|
|
76
|
+
backgroundSize: 'contain',
|
|
77
|
+
backgroundRepeat: 'no-repeat',
|
|
78
|
+
} });
|
|
79
|
+
}
|
|
80
|
+
if (AUDIO_EXT.includes(extension)) {
|
|
81
|
+
return React.createElement(IconButton, { style: { color: '#00FF00' }, onClick: () => this.play() },
|
|
82
|
+
React.createElement(IconPlay, null));
|
|
83
|
+
}
|
|
84
|
+
if (DOC_EXT.includes(extension)) {
|
|
85
|
+
return React.createElement(IconText, null);
|
|
86
|
+
}
|
|
87
|
+
if (VIDEO_EXT.includes(extension)) {
|
|
88
|
+
return React.createElement(IconVideo, null);
|
|
89
|
+
}
|
|
90
|
+
if (JS_EXT.includes(extension)) {
|
|
91
|
+
return React.createElement(IconCode, null);
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
renderFileBrowser() {
|
|
96
|
+
if (!this.state.showFileBrowser) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return React.createElement(SelectFileDialog, { imagePrefix: this.props.imagePrefix, socket: this.props.socket, selected: this.state.value, onClose: () => this.setState({ showFileBrowser: false }), onOk: value => {
|
|
100
|
+
this.setState({ value }, () => this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));
|
|
101
|
+
}, selectOnlyFolders: this.props.schema.selectOnlyFolders, allowUpload: this.props.schema.allowUpload, allowDownload: this.props.schema.allowDownload, allowCreateFolder: this.props.schema.allowCreateFolder, allowView: this.props.schema.allowView, showToolbar: this.props.schema.showToolbar, limitPath: this.props.schema.limitPath });
|
|
102
|
+
}
|
|
103
|
+
renderItem(error, disabled /* , defaultValue */) {
|
|
104
|
+
const icon = this.getIcon();
|
|
105
|
+
return React.createElement("div", { className: this.props.classes.fullWidth },
|
|
106
|
+
icon,
|
|
107
|
+
React.createElement(TextField, { variant: "standard", className: icon ? this.props.classes.fullWidthIcon : this.props.classes.fullWidthOneButton, value: this.state.value === null || this.state.value === undefined ? '' : this.state.value, error: !!error, disabled: !!disabled, inputProps: {
|
|
108
|
+
maxLength: this.props.schema.maxLength || this.props.schema.max || undefined,
|
|
109
|
+
readOnly: !!this.props.schema.disableEdit,
|
|
110
|
+
}, onChange: e => {
|
|
111
|
+
const value = e.target.value;
|
|
112
|
+
this.setState({ value }, () => this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));
|
|
113
|
+
}, placeholder: this.getText(this.props.schema.placeholder), label: this.getText(this.props.schema.label), helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation) }),
|
|
114
|
+
React.createElement(Button, { variant: "outlined", onClick: () => this.setState({ showFileBrowser: true }) }, "..."),
|
|
115
|
+
this.renderFileBrowser());
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
ConfigFile.propTypes = {
|
|
119
|
+
socket: PropTypes.object.isRequired,
|
|
120
|
+
themeType: PropTypes.string,
|
|
121
|
+
themeName: PropTypes.string,
|
|
122
|
+
style: PropTypes.object,
|
|
123
|
+
className: PropTypes.string,
|
|
124
|
+
data: PropTypes.object.isRequired,
|
|
125
|
+
schema: PropTypes.object,
|
|
126
|
+
onError: PropTypes.func,
|
|
127
|
+
onChange: PropTypes.func,
|
|
128
|
+
imagePrefix: PropTypes.func,
|
|
129
|
+
};
|
|
130
|
+
export default withStyles(styles)(ConfigFile);
|
|
131
|
+
//# sourceMappingURL=ConfigFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigFile.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigFile.jsx"],"names":[],"mappings":"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"}
|