@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,13 @@
|
|
|
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
|
+
style: PropTypes.Requireable<object>;
|
|
5
|
+
className: PropTypes.Requireable<string>;
|
|
6
|
+
data: PropTypes.Validator<object>;
|
|
7
|
+
schema: PropTypes.Requireable<object>;
|
|
8
|
+
onError: PropTypes.Requireable<(...args: any[]) => any>;
|
|
9
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
10
|
+
}>, "className" | "style"> & 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" | "button" | "flex" | "wrapper"> & object>;
|
|
11
|
+
export default _default;
|
|
12
|
+
import PropTypes from 'prop-types';
|
|
13
|
+
import React from 'react';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { withStyles } from '@mui/styles';
|
|
4
|
+
import { FormHelperText, FormControl, Button, } from '@mui/material';
|
|
5
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
6
|
+
import I18n from './wrapper/i18n';
|
|
7
|
+
import CustomModal from './wrapper/Components/CustomModal';
|
|
8
|
+
import Editor from './wrapper/Components/Editor';
|
|
9
|
+
const styles = () => ({
|
|
10
|
+
fullWidth: {
|
|
11
|
+
width: '100%',
|
|
12
|
+
},
|
|
13
|
+
flex: {
|
|
14
|
+
display: 'flex',
|
|
15
|
+
},
|
|
16
|
+
button: {
|
|
17
|
+
height: 48,
|
|
18
|
+
// marginLeft: 4,
|
|
19
|
+
minWidth: 48,
|
|
20
|
+
},
|
|
21
|
+
wrapper: {
|
|
22
|
+
width: 'calc(100vw - 40px)',
|
|
23
|
+
height: 'calc(100vh - 188px)',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
class ConfigJsonEditor extends ConfigGeneric {
|
|
27
|
+
async componentDidMount() {
|
|
28
|
+
super.componentDidMount();
|
|
29
|
+
const { data, attr } = this.props;
|
|
30
|
+
const value = ConfigGeneric.getValue(data, attr) || {};
|
|
31
|
+
this.setState({ value, initialized: true });
|
|
32
|
+
}
|
|
33
|
+
renderItem( /* error, disabled, defaultValue */) {
|
|
34
|
+
if (!this.state.initialized) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const { classes, schema, data, attr, } = this.props;
|
|
38
|
+
const { value, showSelectId } = this.state;
|
|
39
|
+
return React.createElement(FormControl, { className: classes.fullWidth, variant: "standard" },
|
|
40
|
+
React.createElement("div", { className: classes.flex },
|
|
41
|
+
React.createElement(Button, { color: "grey", className: classes.button, size: "small", variant: "outlined", onClick: () => this.setState({ showSelectId: true }) }, I18n.t('ra_JSON editor'))),
|
|
42
|
+
showSelectId ? React.createElement(CustomModal, { title: this.getText(schema.label), open: showSelectId, overflowHidden: true, onClose: () => this.setState({ showSelectId: false, value: ConfigGeneric.getValue(data, attr) || {} }), onApply: () => this.setState({ showSelectId: false }, () => this.onChange(attr, value)) },
|
|
43
|
+
React.createElement("div", { className: classes.wrapper },
|
|
44
|
+
React.createElement(Editor, { value: typeof value === 'object' ? JSON.stringify(value) : value, onChange: newValue => this.setState({ value: newValue }), name: "ConfigJsonEditor", themeType: this.props.themeType }))) : null,
|
|
45
|
+
schema.help ? React.createElement(FormHelperText, null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
ConfigJsonEditor.propTypes = {
|
|
49
|
+
socket: PropTypes.object.isRequired,
|
|
50
|
+
themeType: PropTypes.string,
|
|
51
|
+
style: PropTypes.object,
|
|
52
|
+
className: PropTypes.string,
|
|
53
|
+
data: PropTypes.object.isRequired,
|
|
54
|
+
schema: PropTypes.object,
|
|
55
|
+
onError: PropTypes.func,
|
|
56
|
+
onChange: PropTypes.func,
|
|
57
|
+
};
|
|
58
|
+
export default withStyles(styles)(ConfigJsonEditor);
|
|
59
|
+
//# sourceMappingURL=ConfigJsonEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigJsonEditor.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigJsonEditor.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ConfigGenericProps } from './ConfigGeneric';
|
|
3
|
+
interface ConfigLanguageProps extends ConfigGenericProps {
|
|
4
|
+
changeLanguage: () => void;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: React.JSXElementConstructor<Omit<ConfigLanguageProps, "classes"> & import("@mui/styles").StyledComponentProps<"fullWidth"> & object>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { withStyles } from '@mui/styles';
|
|
3
|
+
import { InputLabel, MenuItem, FormHelperText, FormControl, Select, } from '@mui/material';
|
|
4
|
+
import I18n from './wrapper/i18n';
|
|
5
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
6
|
+
const styles = () => ({
|
|
7
|
+
fullWidth: {
|
|
8
|
+
width: '100%',
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
const LANGUAGES = [
|
|
12
|
+
{
|
|
13
|
+
value: 'en',
|
|
14
|
+
label: 'English',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
value: 'de',
|
|
18
|
+
label: 'Deutsch',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
value: 'ru',
|
|
22
|
+
label: 'русский',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
value: 'pt',
|
|
26
|
+
label: 'Portugues',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
value: 'nl',
|
|
30
|
+
label: 'Nederlands',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: 'fr',
|
|
34
|
+
label: 'français',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
value: 'it',
|
|
38
|
+
label: 'Italiano',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
value: 'es',
|
|
42
|
+
label: 'Espanol',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
value: 'pl',
|
|
46
|
+
label: 'Polski',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
value: 'uk',
|
|
50
|
+
label: 'Український',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
value: 'zh-ch',
|
|
54
|
+
label: '简体中文',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
class ConfigLanguage extends ConfigGeneric {
|
|
58
|
+
componentDidMount() {
|
|
59
|
+
super.componentDidMount();
|
|
60
|
+
const value = ConfigGeneric.getValue(this.props.data, this.props.attr);
|
|
61
|
+
const languages = [...LANGUAGES];
|
|
62
|
+
if (this.props.schema.system) {
|
|
63
|
+
languages.unshift({ value: '', label: I18n.t('ra_System language') });
|
|
64
|
+
}
|
|
65
|
+
this.setState({ value: this.props.schema.system ? (value || '') : (value || I18n.getLanguage()), selectOptions: languages });
|
|
66
|
+
}
|
|
67
|
+
renderItem(error, disabled) {
|
|
68
|
+
if (!this.state.selectOptions) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const item = this.state.selectOptions?.find(it => it.value === this.state.value || (!it.value && !this.state.value));
|
|
72
|
+
return React.createElement(FormControl, { className: this.props.classes.fullWidth, variant: "standard" },
|
|
73
|
+
this.props.schema.label ? React.createElement(InputLabel, null, this.getText(this.props.schema.label)) : null,
|
|
74
|
+
React.createElement(Select, { variant: "standard", error: !!error, disabled: disabled, value: this.state.value || '_', renderValue: () => this.getText(item?.label, this.props.schema.noTranslation), onChange: e => {
|
|
75
|
+
const { value } = e.target;
|
|
76
|
+
this.setState({ value }, () => {
|
|
77
|
+
this.onChange(this.props.attr, value);
|
|
78
|
+
if (this.props.schema.changeGuiLanguage) {
|
|
79
|
+
if (value) {
|
|
80
|
+
if (value === I18n.getLanguage()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
I18n.setLanguage(value);
|
|
84
|
+
this.props.changeLanguage && this.props.changeLanguage();
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.props.socket.getSystemConfig()
|
|
88
|
+
.then((systemConfig) => {
|
|
89
|
+
if (systemConfig.common.language === I18n.getLanguage()) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (systemConfig.common.language) {
|
|
93
|
+
I18n.setLanguage(systemConfig.common.language);
|
|
94
|
+
this.props.changeLanguage && this.props.changeLanguage();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
} }, this.state.selectOptions?.map(it => React.createElement(MenuItem, { key: it.value, value: it.value }, it.label))),
|
|
101
|
+
this.props.schema.help ? React.createElement(FormHelperText, null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export default withStyles(styles)(ConfigLanguage);
|
|
105
|
+
//# sourceMappingURL=ConfigLanguage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLanguage.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigLanguage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default ConfigLicense;
|
|
2
|
+
declare class ConfigLicense extends ConfigGeneric<import("./ConfigGeneric").ConfigGenericProps, import("./ConfigGeneric").ConfigGenericState> {
|
|
3
|
+
constructor(props: any);
|
|
4
|
+
scrollRef: React.RefObject<any>;
|
|
5
|
+
noPlaceRequired: boolean;
|
|
6
|
+
scrolledDown(): boolean;
|
|
7
|
+
renderItem(): React.JSX.Element;
|
|
8
|
+
}
|
|
9
|
+
declare namespace ConfigLicense {
|
|
10
|
+
namespace propTypes {
|
|
11
|
+
let socket: PropTypes.Validator<object>;
|
|
12
|
+
let themeType: PropTypes.Requireable<string>;
|
|
13
|
+
let themeName: PropTypes.Requireable<string>;
|
|
14
|
+
let style: PropTypes.Requireable<object>;
|
|
15
|
+
let className: PropTypes.Requireable<string>;
|
|
16
|
+
let data: PropTypes.Validator<object>;
|
|
17
|
+
let schema: PropTypes.Requireable<object>;
|
|
18
|
+
let onError: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
23
|
+
import React from 'react';
|
|
24
|
+
import PropTypes from 'prop-types';
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, LinearProgress, FormControlLabel, Checkbox, } from '@mui/material';
|
|
4
|
+
import { Check, Close } from '@mui/icons-material';
|
|
5
|
+
import I18n from './wrapper/i18n';
|
|
6
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
7
|
+
class ConfigLicense extends ConfigGeneric {
|
|
8
|
+
constructor(props) {
|
|
9
|
+
super(props);
|
|
10
|
+
this.scrollRef = React.createRef();
|
|
11
|
+
this.noPlaceRequired = true;
|
|
12
|
+
}
|
|
13
|
+
scrolledDown() {
|
|
14
|
+
if (!this.scrollRef.current) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return this.scrollRef.current.offsetHeight + this.scrollRef.current.scrollTop >= this.scrollRef.current.scrollHeight;
|
|
18
|
+
}
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
super.componentDidMount();
|
|
21
|
+
if (!ConfigGeneric.getValue(this.props.data, this.props.attr)) {
|
|
22
|
+
if (this.props.schema.licenseUrl) {
|
|
23
|
+
this.setState({ showLicenseDialog: true, loading: true, scrolledDown: false });
|
|
24
|
+
fetch(this.props.schema.licenseUrl)
|
|
25
|
+
.then(res => res.text())
|
|
26
|
+
.then(text => this.setState({ license: text, loading: false }))
|
|
27
|
+
.catch(e => this.setState({
|
|
28
|
+
license: e.toString(), loading: false, error: true, scrolledDown: false,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.setState({ showLicenseDialog: true, scrolledDown: false });
|
|
33
|
+
}
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
// install scroll handler
|
|
36
|
+
if (this.scrollRef.current) {
|
|
37
|
+
const scrolledDown = this.scrolledDown();
|
|
38
|
+
if (!scrolledDown) {
|
|
39
|
+
this.scrollRef.current.addEventListener('scroll', () => {
|
|
40
|
+
if (!this.state.scrolledDown && this.scrolledDown()) {
|
|
41
|
+
this.setState({ scrolledDown: true });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.setState({ scrolledDown: true });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, 1000);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
renderItem( /* error, disabled, defaultValue */) {
|
|
53
|
+
if (!this.state.showLicenseDialog) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return React.createElement(Dialog, { maxWidth: "lg", open: !0, onClose: (e, reason) => {
|
|
57
|
+
if (reason !== 'escapeKeyDown' && reason !== 'backdropClick') {
|
|
58
|
+
this.setState({ showLicenseDialog: false });
|
|
59
|
+
}
|
|
60
|
+
} },
|
|
61
|
+
React.createElement(DialogTitle, null, this.props.schema.title ? I18n.t(this.props.schema.title) : I18n.t('ra_License agreement')),
|
|
62
|
+
React.createElement(DialogContent, null,
|
|
63
|
+
this.props.schema.licenseUrl ? React.createElement(React.Fragment, null,
|
|
64
|
+
this.state.loading ? React.createElement(LinearProgress, null) : null,
|
|
65
|
+
React.createElement("pre", { ref: this.scrollRef, style: {
|
|
66
|
+
width: '100%', height: '100%', overflowY: 'auto', fontSize: 14,
|
|
67
|
+
} }, this.state.license)) : null,
|
|
68
|
+
!this.props.schema.licenseUrl && this.props.schema.texts ? React.createElement("div", { ref: this.scrollRef, style: {
|
|
69
|
+
width: '100%', height: '100%', overflowY: 'auto', fontSize: 14,
|
|
70
|
+
} }, this.props.schema.texts.map(text => (this.props.schema.noTranslation ? React.createElement("p", null, text) : React.createElement("p", null, I18n.t(text))))) : null),
|
|
71
|
+
React.createElement(DialogActions, null,
|
|
72
|
+
this.props.schema.checkBox ? React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: !!this.state.licenseChecked, onClick: () => this.setState({ licenseChecked: !this.state.licenseChecked }) }), label: I18n.t(this.props.schema.checkBox) }) : null,
|
|
73
|
+
React.createElement(Button, { disabled: this.state.loading || this.state.error || (this.props.schema.checkBox && !this.state.licenseChecked) || !this.state.scrolledDown, onClick: () => {
|
|
74
|
+
this.setState({ showLicenseDialog: null });
|
|
75
|
+
this.onChange(this.props.attr, true);
|
|
76
|
+
}, color: "primary", variant: "contained", startIcon: React.createElement(Check, null) }, this.props.schema.agreeText ? I18n.t(this.props.schema.agreeText) : I18n.t('ra_Accept license')),
|
|
77
|
+
React.createElement(Button, { onClick: () => {
|
|
78
|
+
this.setState({ showLicenseDialog: false });
|
|
79
|
+
setTimeout(() => this.setState({ showLicenseDialog: true }), 2000);
|
|
80
|
+
}, color: "grey", variant: "contained", startIcon: React.createElement(Close, null) }, I18n.t('ra_Close'))));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
ConfigLicense.propTypes = {
|
|
84
|
+
socket: PropTypes.object.isRequired,
|
|
85
|
+
themeType: PropTypes.string,
|
|
86
|
+
themeName: PropTypes.string,
|
|
87
|
+
style: PropTypes.object,
|
|
88
|
+
className: PropTypes.string,
|
|
89
|
+
data: PropTypes.object.isRequired,
|
|
90
|
+
schema: PropTypes.object,
|
|
91
|
+
onError: PropTypes.func,
|
|
92
|
+
onChange: PropTypes.func,
|
|
93
|
+
};
|
|
94
|
+
export default ConfigLicense;
|
|
95
|
+
//# sourceMappingURL=ConfigLicense.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLicense.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigLicense.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type AdminConnection from './wrapper/AdminConnection';
|
|
3
|
+
import { ConfigGenericProps } from './ConfigGeneric';
|
|
4
|
+
interface ConfigNumberProps extends ConfigGenericProps {
|
|
5
|
+
socket: AdminConnection;
|
|
6
|
+
themeType: string;
|
|
7
|
+
themeName: string;
|
|
8
|
+
style: Record<string, any>;
|
|
9
|
+
className: string;
|
|
10
|
+
data: Record<string, any>;
|
|
11
|
+
schema: Record<string, any>;
|
|
12
|
+
onError: () => void;
|
|
13
|
+
onChange: () => void;
|
|
14
|
+
classes: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: React.JSXElementConstructor<Omit<ConfigNumberProps, "classes"> & import("@mui/styles").StyledComponentProps<"indeterminate" | "control"> & object>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { withStyles } from '@mui/styles';
|
|
3
|
+
import { Autocomplete, TextField, FormControl } from '@mui/material';
|
|
4
|
+
import I18n from './wrapper/i18n';
|
|
5
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
6
|
+
const styles = () => ({
|
|
7
|
+
indeterminate: {
|
|
8
|
+
opacity: 0.5,
|
|
9
|
+
},
|
|
10
|
+
control: {
|
|
11
|
+
flexDirection: 'row',
|
|
12
|
+
width: '100%',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
class ConfigNumber extends ConfigGeneric {
|
|
16
|
+
updateTimeout;
|
|
17
|
+
componentDidMount() {
|
|
18
|
+
super.componentDidMount();
|
|
19
|
+
let _value = ConfigGeneric.getValue(this.props.data, this.props.attr);
|
|
20
|
+
if (_value === null || _value === undefined) {
|
|
21
|
+
_value = '';
|
|
22
|
+
}
|
|
23
|
+
this.setState({ _value: _value.toString(), oldValue: _value.toString() });
|
|
24
|
+
// this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);
|
|
25
|
+
}
|
|
26
|
+
static getDerivedStateFromProps(props, state) {
|
|
27
|
+
if ((props.schema.min !== undefined && props.schema.min < 0) ||
|
|
28
|
+
(props.schema.max !== undefined && props.schema.max < 0)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const _value = ConfigGeneric.getValue(props.data, props.attr);
|
|
32
|
+
if (_value === null ||
|
|
33
|
+
_value === undefined ||
|
|
34
|
+
state.oldValue === null ||
|
|
35
|
+
state.oldValue === undefined ||
|
|
36
|
+
(_value.toString() !== parseFloat(state._value).toString() &&
|
|
37
|
+
_value.toString() !== state.oldValue.toString())) {
|
|
38
|
+
return { _value };
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
checkValue(value) {
|
|
43
|
+
if (value === null || value === undefined) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
value = value.toString().trim();
|
|
47
|
+
const f = value === '' ? 0 : parseFloat(value);
|
|
48
|
+
if (value !== '' && Number.isNaN(f)) {
|
|
49
|
+
return 'ra_Not a number';
|
|
50
|
+
}
|
|
51
|
+
// eslint-disable-next-line no-restricted-properties
|
|
52
|
+
if (value !== '' && window.isFinite(f)) {
|
|
53
|
+
if (this.props.schema.min !== undefined && f < this.props.schema.min) {
|
|
54
|
+
return 'ra_Too small';
|
|
55
|
+
}
|
|
56
|
+
if (this.props.schema.max !== undefined && f > this.props.schema.max) {
|
|
57
|
+
return 'ra_Too big';
|
|
58
|
+
}
|
|
59
|
+
if (value === '' || value === '-' || Number.isNaN(f)) {
|
|
60
|
+
return 'ra_Not a number';
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return 'ra_Not a number';
|
|
65
|
+
}
|
|
66
|
+
renderItem(error, disabled) {
|
|
67
|
+
const isIndeterminate = Array.isArray(this.state.value) || this.state.value === ConfigGeneric.DIFFERENT_VALUE;
|
|
68
|
+
if (this.state.oldValue !== null && this.state.oldValue !== undefined) {
|
|
69
|
+
this.updateTimeout && clearTimeout(this.updateTimeout);
|
|
70
|
+
this.updateTimeout = setTimeout(() => {
|
|
71
|
+
this.updateTimeout = undefined;
|
|
72
|
+
this.setState({ oldValue: null });
|
|
73
|
+
}, 30);
|
|
74
|
+
}
|
|
75
|
+
else if (this.updateTimeout) {
|
|
76
|
+
clearTimeout(this.updateTimeout);
|
|
77
|
+
this.updateTimeout = undefined;
|
|
78
|
+
}
|
|
79
|
+
if (isIndeterminate) {
|
|
80
|
+
const arr = [...this.state.value].map(item => ({ label: item.toString(), value: item }));
|
|
81
|
+
arr.unshift({ label: I18n.t(ConfigGeneric.DIFFERENT_LABEL), value: ConfigGeneric.DIFFERENT_VALUE });
|
|
82
|
+
return React.createElement(Autocomplete, { className: this.props.classes.indeterminate, fullWidth: true, value: arr[0],
|
|
83
|
+
// @ts-expect-error needs investigation if this really has no effect
|
|
84
|
+
getOptionSelected: (option, value) => option.label === value.label, onChange: (_, value) => this.onChange(this.props.attr, value?.value), options: arr, getOptionLabel: option => option.label, renderInput: params => (React.createElement(TextField, { variant: "standard", ...params, inputProps: { readOnly: this.props.schema.readOnly || false }, error: !!error, 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), disabled: !!disabled })) });
|
|
85
|
+
}
|
|
86
|
+
if (!error && this.state._value !== null && this.state._value !== undefined && this.state._value) {
|
|
87
|
+
error = this.checkValue(this.state._value);
|
|
88
|
+
if (error) {
|
|
89
|
+
error = I18n.t(error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return React.createElement(FormControl, { variant: "standard", className: this.props.classes.control },
|
|
93
|
+
React.createElement(TextField, { variant: "standard", type: "number", fullWidth: true, inputProps: {
|
|
94
|
+
min: this.props.schema.min,
|
|
95
|
+
max: this.props.schema.max,
|
|
96
|
+
step: this.props.schema.step,
|
|
97
|
+
readOnly: this.props.schema.readOnly || false,
|
|
98
|
+
}, value: this.state._value === null || this.state._value === undefined ? '' : this.state._value, error: !!error, disabled: !!disabled, onChange: e => {
|
|
99
|
+
const _value = e.target.value; // value is always a string and it is validly formatted
|
|
100
|
+
const _error = this.checkValue(_value);
|
|
101
|
+
if (_error) {
|
|
102
|
+
this.onError(this.props.attr, I18n.t(_error));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.onError(this.props.attr); // clear error
|
|
106
|
+
}
|
|
107
|
+
this.setState({ _value, oldValue: this.state._value }, () => this.onChange(this.props.attr, parseFloat(_value)));
|
|
108
|
+
}, placeholder: this.getText(this.props.schema.placeholder), label: this.getText(this.props.schema.label), helperText: error && typeof error === 'string'
|
|
109
|
+
? error
|
|
110
|
+
: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation) }));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export default withStyles(styles)(ConfigNumber);
|
|
114
|
+
//# sourceMappingURL=ConfigNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigNumber.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigNumber.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
dateFormat: PropTypes.Requireable<string>;
|
|
12
|
+
isFloatComma: PropTypes.Requireable<boolean>;
|
|
13
|
+
imagePrefix: PropTypes.Requireable<string>;
|
|
14
|
+
}>, "className" | "style" | "themeName" | "isFloatComma" | "dateFormat" | "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" | "button" | "flex"> & object>;
|
|
15
|
+
export default _default;
|
|
16
|
+
import PropTypes from 'prop-types';
|
|
17
|
+
import React from 'react';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { withStyles } from '@mui/styles';
|
|
4
|
+
import { InputLabel, FormControl, Button, TextField, } from '@mui/material';
|
|
5
|
+
import DialogSelectID from './wrapper/Dialogs/SelectID';
|
|
6
|
+
import ConfigGeneric from './ConfigGeneric';
|
|
7
|
+
const styles = () => ({
|
|
8
|
+
fullWidth: {
|
|
9
|
+
width: '100%',
|
|
10
|
+
},
|
|
11
|
+
flex: {
|
|
12
|
+
display: 'flex',
|
|
13
|
+
},
|
|
14
|
+
button: {
|
|
15
|
+
height: 48,
|
|
16
|
+
marginLeft: 4,
|
|
17
|
+
minWidth: 48,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
class ConfigObjectId extends ConfigGeneric {
|
|
21
|
+
async componentDidMount() {
|
|
22
|
+
super.componentDidMount();
|
|
23
|
+
const { data, attr } = this.props;
|
|
24
|
+
const value = ConfigGeneric.getValue(data, attr) || '';
|
|
25
|
+
this.setState({ value, initialized: true });
|
|
26
|
+
}
|
|
27
|
+
renderItem(error, disabled /* , defaultValue */) {
|
|
28
|
+
if (!this.state.initialized) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const { classes, schema, socket, attr, } = this.props;
|
|
32
|
+
const { value, showSelectId } = this.state;
|
|
33
|
+
return React.createElement(FormControl, { className: classes.fullWidth, variant: "standard" },
|
|
34
|
+
schema.label ? React.createElement(InputLabel, { shrink: true }, this.getText(schema.label)) : null,
|
|
35
|
+
React.createElement("div", { className: classes.flex },
|
|
36
|
+
React.createElement(TextField, { variant: "standard", fullWidth: true, value: value, error: !!error, disabled: disabled, placeholder: this.getText(schema.placeholder), label: this.getText(schema.label), helperText: this.renderHelp(schema.help, schema.helpLink, schema.noTranslation), onChange: e => {
|
|
37
|
+
const value_ = e.target.value;
|
|
38
|
+
this.setState({ value: value_ }, () => this.onChange(attr, value_));
|
|
39
|
+
} }),
|
|
40
|
+
React.createElement(Button, { color: "grey", className: this.props.classes.button, size: "small", variant: "outlined", onClick: () => this.setState({ showSelectId: true }) }, "...")),
|
|
41
|
+
showSelectId ? React.createElement(DialogSelectID, { imagePrefix: this.props.imagePrefix === undefined ? '../..' : this.props.imagePrefix, dateFormat: this.props.dateFormat, isFloatComma: this.props.isFloatComma, dialogName: `admin.${this.props.adapterName}`, themeType: this.props.themeType, types: schema.types ? [schema.types] : undefined, customFilter: schema.customFilter, filters: schema.filters, socket: socket, statesOnly: schema.all === undefined ? true : schema.all, selected: value, root: schema.root, onClose: () => this.setState({ showSelectId: false }), onOk: value_ => this.setState({ showSelectId: false, value: value_ }, () => this.onChange(attr, value_)) }) : null);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
ConfigObjectId.propTypes = {
|
|
45
|
+
socket: PropTypes.object.isRequired,
|
|
46
|
+
themeType: PropTypes.string,
|
|
47
|
+
themeName: PropTypes.string,
|
|
48
|
+
style: PropTypes.object,
|
|
49
|
+
className: PropTypes.string,
|
|
50
|
+
data: PropTypes.object.isRequired,
|
|
51
|
+
schema: PropTypes.object,
|
|
52
|
+
onError: PropTypes.func,
|
|
53
|
+
onChange: PropTypes.func,
|
|
54
|
+
dateFormat: PropTypes.string,
|
|
55
|
+
isFloatComma: PropTypes.bool,
|
|
56
|
+
imagePrefix: PropTypes.string,
|
|
57
|
+
};
|
|
58
|
+
export default withStyles(styles)(ConfigObjectId);
|
|
59
|
+
//# sourceMappingURL=ConfigObjectId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigObjectId.js","sourceRoot":"./src/","sources":["JsonConfigComponent/ConfigObjectId.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACH,UAAU,EACV,WAAW,EACX,MAAM,EACN,SAAS,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;IAClB,SAAS,EAAE;QACP,KAAK,EAAE,MAAM;KAChB;IACD,IAAI,EAAE;QACF,OAAO,EAAE,MAAM;KAClB;IACD,MAAM,EAAE;QACJ,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE;KACf;CACJ,CAAC,CAAC;AAEH,MAAM,cAAe,SAAQ,aAAa;IACtC,KAAK,CAAC,iBAAiB;QACnB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,oBAAoB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACzB,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAChC,GAAG,IAAI,CAAC,KAAK,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3C,OAAO,oBAAC,WAAW,IAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAC,UAAU;YAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAC,UAAU,IAAC,MAAM,UAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAc,CAAC,CAAC,CAAC,IAAI;YACnF,6BAAK,SAAS,EAAE,OAAO,CAAC,IAAI;gBACxB,oBAAC,SAAS,IACN,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAC7C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,EAC/E,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACV,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;oBACrC,CAAC,GACH;gBACF,oBAAC,MAAM,IACH,KAAK,EAAC,MAAM,EACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EACpC,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,UAG/C,CACP;YACL,YAAY,CAAC,CAAC,CAAC,oBAAC,cAAc,IAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EACpF,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACrC,UAAU,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAC7C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAChD,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EACxD,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EACrD,IAAI,EAAE,MAAM,CAAC,EAAE,CACX,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GACtC,CAAC,CAAC,CAAC,IAAI,CACC,CAAC;IACnB,CAAC;CACJ;AAED,cAAc,CAAC,SAAS,GAAG;IACvB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACnC,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACjC,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,OAAO,EAAE,SAAS,CAAC,IAAI;IACvB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,YAAY,EAAE,SAAS,CAAC,IAAI;IAC5B,WAAW,EAAE,SAAS,CAAC,MAAM;CAChC,CAAC;AAEF,eAAe,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC"}
|