...
|
...
|
@@ -40,9 +40,6 @@ class ThingsboardSchemaForm extends React.Component { |
40
|
40
|
|
41
|
41
|
constructor(props) {
|
42
|
42
|
super(props);
|
43
|
|
- this.state = {
|
44
|
|
- groupId: null,
|
45
|
|
- };
|
46
|
43
|
|
47
|
44
|
this.mapper = {
|
48
|
45
|
'number': ThingsboardNumber,
|
...
|
...
|
@@ -88,15 +85,12 @@ class ThingsboardSchemaForm extends React.Component { |
88
|
85
|
this.props.onIconClick(event);
|
89
|
86
|
}
|
90
|
87
|
|
91
|
|
- onToggleFullscreen(groupId) {
|
92
|
|
- this.setState({
|
93
|
|
- groupId: groupId
|
94
|
|
- });
|
|
88
|
+ onToggleFullscreen() {
|
95
|
89
|
this.props.onToggleFullscreen();
|
96
|
90
|
}
|
97
|
91
|
|
98
|
92
|
|
99
|
|
- builder(form, groupId, model, index, onChange, onColorClick, onIconClick, onToggleFullscreen, mapper) {
|
|
93
|
+ builder(form, model, index, onChange, onColorClick, onIconClick, onToggleFullscreen, mapper) {
|
100
|
94
|
var type = form.type;
|
101
|
95
|
let Field = this.mapper[type];
|
102
|
96
|
if(!Field) {
|
...
|
...
|
@@ -109,21 +103,21 @@ class ThingsboardSchemaForm extends React.Component { |
109
|
103
|
return null;
|
110
|
104
|
}
|
111
|
105
|
}
|
112
|
|
- return <Field model={model} groupId={groupId} form={form} key={index} onChange={onChange} onColorClick={onColorClick} onIconClick={onIconClick} onToggleFullscreen={onToggleFullscreen} mapper={mapper} builder={this.builder}/>
|
|
106
|
+ return <Field model={model} form={form} key={index} onChange={onChange} onColorClick={onColorClick} onIconClick={onIconClick} onToggleFullscreen={onToggleFullscreen} mapper={mapper} builder={this.builder}/>
|
113
|
107
|
}
|
114
|
108
|
|
115
|
|
- createSchema(theForm, groupId) {
|
|
109
|
+ createSchema(theForm) {
|
116
|
110
|
let merged = utils.merge(this.props.schema, theForm, this.props.ignore, this.props.option);
|
117
|
111
|
let mapper = this.mapper;
|
118
|
112
|
if(this.props.mapper) {
|
119
|
113
|
mapper = _.merge(this.mapper, this.props.mapper);
|
120
|
114
|
}
|
121
|
115
|
let forms = merged.map(function(form, index) {
|
122
|
|
- return this.builder(form, groupId, this.props.model, index, this.onChange, this.onColorClick, this.onIconClick, this.onToggleFullscreen, mapper);
|
|
116
|
+ return this.builder(form, this.props.model, index, this.onChange, this.onColorClick, this.onIconClick, this.onToggleFullscreen, mapper);
|
123
|
117
|
}.bind(this));
|
124
|
118
|
|
125
|
119
|
let formClass = 'SchemaForm';
|
126
|
|
- if (this.props.isFullscreen && groupId === this.state.groupId) {
|
|
120
|
+ if (this.props.isFullscreen) {
|
127
|
121
|
formClass += ' SchemaFormFullscreen';
|
128
|
122
|
}
|
129
|
123
|
|
...
|
...
|
@@ -136,7 +130,7 @@ class ThingsboardSchemaForm extends React.Component { |
136
|
130
|
if(this.props.groupInfoes&&this.props.groupInfoes.length>0){
|
137
|
131
|
let content=[];
|
138
|
132
|
for(let info of this.props.groupInfoes){
|
139
|
|
- let forms = this.createSchema(this.props.form[info.formIndex], info.formIndex);
|
|
133
|
+ let forms = this.createSchema(this.props.form[info.formIndex]);
|
140
|
134
|
let item = <ThingsboardSchemaGroup key={content.length} forms={forms} info={info}></ThingsboardSchemaGroup>;
|
141
|
135
|
content.push(item);
|
142
|
136
|
}
|
...
|
...
|
@@ -166,8 +160,8 @@ class ThingsboardSchemaGroup extends React.Component{ |
166
|
160
|
render() {
|
167
|
161
|
let theCla = "pull-right fa fa-chevron-down md-toggle-icon"+(this.state.showGroup?"":" tb-toggled")
|
168
|
162
|
return (<section className="md-whiteframe-z1" style={{marginTop: '10px'}}>
|
169
|
|
- <div className='SchemaGroupname md-button-toggle' onClick={this.toogleGroup.bind(this)}>{this.props.info.GroupTitle}<span className={theCla}></span></div>
|
170
|
|
- <div style={{padding: '20px'}} className={this.state.showGroup?"":"invisible"}>{this.props.forms}</div>
|
171
|
|
- </section>);
|
|
163
|
+ <div className='SchemaGroupname md-button-toggle' onClick={this.toogleGroup.bind(this)}>{this.props.info.GroupTitle}<span className={theCla}></span></div>
|
|
164
|
+ <div style={{padding: '20px'}} className={this.state.showGroup?"":"invisible"}>{this.props.forms}</div>
|
|
165
|
+ </section>);
|
172
|
166
|
}
|
173
|
167
|
} |
...
|
...
|
|