Commit 2a1c55f02217e72eecd955c16c8dbcab7ac74ede

Authored by Vladyslav
Committed by GitHub
1 parent 39ba550d

[2.5] Revert change JSON form (#2598)

* Revert change

* Revert file
... ... @@ -83,9 +83,9 @@ class ThingsboardAceEditor extends React.Component {
83 83 fixAceEditor(editor);
84 84 }
85 85
86   - onToggleFull(groupId) {
  86 + onToggleFull() {
87 87 this.setState({ isFull: !this.state.isFull });
88   - this.props.onToggleFullscreen(groupId);
  88 + this.props.onToggleFullscreen();
89 89 this.updateAceEditorSize = true;
90 90 }
91 91
... ... @@ -140,7 +140,7 @@ class ThingsboardAceEditor extends React.Component {
140 140 <div className="title-panel">
141 141 <label>{this.props.mode}</label>
142 142 <FlatButton style={ styles.tidyButtonStyle } className="tidy-button" label={'Tidy'} onTouchTap={this.onTidy}/>
143   - <FlatButton style={ styles.tidyButtonStyle } className="tidy-button" label={this.state.isFull ? 'Exit fullscreen' : 'Fullscreen'} onTouchTap={() => this.onToggleFull(this.props.groupId)}/>
  143 + <FlatButton style={ styles.tidyButtonStyle } className="tidy-button" label={this.state.isFull ? 'Exit fullscreen' : 'Fullscreen'} onTouchTap={this.onToggleFull}/>
144 144 </div>
145 145 <AceEditor mode={this.props.mode}
146 146 height={this.state.isFull ? "100%" : "150px"}
... ...
... ... @@ -131,7 +131,7 @@ class ThingsboardArray extends React.Component {
131 131 }
132 132 let forms = this.props.form.items.map(function(form, index){
133 133 var copy = this.copyWithIndex(form, i);
134   - return this.props.builder(copy, this.props.groupId, this.props.model, index, this.props.onChange, this.props.onColorClick, this.props.onIconClick, this.props.onToggleFullscreen, this.props.mapper, this.props.builder);
  134 + return this.props.builder(copy, this.props.model, index, this.props.onChange, this.props.onColorClick, this.props.onIconClick, this.props.onToggleFullscreen, this.props.mapper, this.props.builder);
135 135 }.bind(this));
136 136 arrays.push(
137 137 <li key={keys[i]} className="list-group-item">
... ...
... ... @@ -19,7 +19,7 @@ class ThingsboardFieldSet extends React.Component {
19 19
20 20 render() {
21 21 let forms = this.props.form.items.map(function(form, index){
22   - return this.props.builder(form, this.props.groupId, this.props.model, index, this.props.onChange, this.props.onColorClick, this.props.onIconClick, this.props.onToggleFullscreen, this.props.mapper, this.props.builder);
  22 + return this.props.builder(form, this.props.model, index, this.props.onChange, this.props.onColorClick, this.props.onIconClick, this.props.onToggleFullscreen, this.props.mapper, this.props.builder);
23 23 }.bind(this));
24 24
25 25 return (
... ...
... ... @@ -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 }
... ...
... ... @@ -24,15 +24,12 @@ $input-label-float-scale: .75 !default;
24 24 .tb-fullscreen {
25 25 [name="ReactSchemaForm"] {
26 26 .SchemaForm {
27   - display: none;
28   -
29 27 &.SchemaFormFullscreen {
30 28 position: absolute;
31 29 top: 0;
32 30 right: 0;
33 31 bottom: 0;
34 32 left: 0;
35   - display: block;
36 33
37 34 > div:not(.fullscreen-form-field) {
38 35 display: none !important;
... ...