2019-11-05 05:09:50 +00:00
|
|
|
import React from "react";
|
|
|
|
|
import BaseControl, { ControlProps } from "./BaseControl";
|
2019-11-25 05:07:27 +00:00
|
|
|
import { ControlType } from "constants/PropertyControlConstants";
|
2019-11-05 05:09:50 +00:00
|
|
|
import { ControlWrapper } from "./StyledControls";
|
2019-11-25 05:07:27 +00:00
|
|
|
import CodeEditor from "components/editorComponents/CodeEditor";
|
2019-11-05 05:09:50 +00:00
|
|
|
class CodeEditorControl extends BaseControl<ControlProps> {
|
|
|
|
|
render() {
|
|
|
|
|
return (
|
|
|
|
|
<ControlWrapper>
|
|
|
|
|
<label>{this.props.label}</label>
|
|
|
|
|
<CodeEditor
|
|
|
|
|
language={"json"}
|
|
|
|
|
height={200}
|
|
|
|
|
input={{ value: this.props.propertyValue, onChange: this.onChange }}
|
|
|
|
|
lineNumbers={"off"}
|
|
|
|
|
glyphMargin={false}
|
|
|
|
|
folding={false}
|
|
|
|
|
lineDecorationsWidth={0}
|
|
|
|
|
lineNumbersMinChars={0}
|
|
|
|
|
theme={"DARK"}
|
|
|
|
|
/>
|
|
|
|
|
</ControlWrapper>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onChange = (value: string) => {
|
|
|
|
|
this.updateProperty(this.props.propertyName, value);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
getControlType(): ControlType {
|
|
|
|
|
return "CODE_EDITOR";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default CodeEditorControl;
|