diff --git a/ui/src/app/components/react/json-form-ace-editor.jsx b/ui/src/app/components/react/json-form-ace-editor.jsx
index 2329bbddf7..966419b3fe 100644
--- a/ui/src/app/components/react/json-form-ace-editor.jsx
+++ b/ui/src/app/components/react/json-form-ace-editor.jsx
@@ -83,9 +83,9 @@ class ThingsboardAceEditor extends React.Component {
fixAceEditor(editor);
}
- onToggleFull() {
+ onToggleFull(groupId) {
this.setState({ isFull: !this.state.isFull });
- this.props.onToggleFullscreen();
+ this.props.onToggleFullscreen(groupId);
this.updateAceEditorSize = true;
}
@@ -140,7 +140,7 @@ class ThingsboardAceEditor extends React.Component {
-
+ this.onToggleFull(this.props.groupId)}/>
+ return
}
- createSchema(theForm) {
+ createSchema(theForm, groupId) {
let merged = utils.merge(this.props.schema, theForm, this.props.ignore, this.props.option);
let mapper = this.mapper;
if(this.props.mapper) {
mapper = _.merge(this.mapper, this.props.mapper);
}
let forms = merged.map(function(form, index) {
- return this.builder(form, this.props.model, index, this.onChange, this.onColorClick, this.onIconClick, this.onToggleFullscreen, mapper);
+ return this.builder(form, groupId, this.props.model, index, this.onChange, this.onColorClick, this.onIconClick, this.onToggleFullscreen, mapper);
}.bind(this));
let formClass = 'SchemaForm';
- if (this.props.isFullscreen) {
+ if (this.props.isFullscreen && groupId === this.state.groupId) {
formClass += ' SchemaFormFullscreen';
}
@@ -131,7 +136,7 @@ class ThingsboardSchemaForm extends React.Component {
if(this.props.groupInfoes&&this.props.groupInfoes.length>0){
let content=[];
for(let info of this.props.groupInfoes){
- let forms = this.createSchema(this.props.form[info.formIndex]);
+ let forms = this.createSchema(this.props.form[info.formIndex], info.formIndex);
let item = ;
content.push(item);
}
@@ -165,4 +170,4 @@ class ThingsboardSchemaGroup extends React.Component{
{this.props.forms}
);
}
-}
+}
diff --git a/ui/src/app/components/react/json-form.scss b/ui/src/app/components/react/json-form.scss
index 85825abf42..91c14d51ff 100644
--- a/ui/src/app/components/react/json-form.scss
+++ b/ui/src/app/components/react/json-form.scss
@@ -24,12 +24,15 @@ $input-label-float-scale: .75 !default;
.tb-fullscreen {
[name="ReactSchemaForm"] {
.SchemaForm {
+ display: none;
+
&.SchemaFormFullscreen {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
+ display: block;
> div:not(.fullscreen-form-field) {
display: none !important;