Skip to content

Commit 4576275

Browse files
cdedarm4b
authored andcommitted
handle auto save for parameters change + checkbox fix
(cherry picked from commit 32446bc)
1 parent 0c060e4 commit 4576275

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

modules/st2flow-details/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ export default class Details extends Component<{
126126

127127
const { type = 'metadata', asCode } = navigation;
128128

129+
const { autosaveEnabled } = store.getState();
130+
129131
return (
130132
<div className={cx(this.props.className, this.style.component, asCode && 'code')}>
131133
<Toolbar>
@@ -147,12 +149,13 @@ export default class Details extends Component<{
147149
<input
148150
id='autosave-checkbox'
149151
name='autosave-checkbox'
150-
type='checkbox'
152+
type='checkbox'
151153
onChange={(e) => {
152154
this.toggleAutosave(e.target.checked);
153155
onChange();
154156
}}
155157
className={cx(style.autosave)}
158+
defaultChecked={autosaveEnabled}
156159
/>
157160
<label id='autosave-checkbox__label' htmlFor='autosave-checkbox' className={cx(style.autosave)}>Autosave</label>
158161
</div>

modules/st2flow-details/meta-panel.js

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,34 @@ export default class Meta extends Component {
100100
onChange: PropTypes.func,
101101
}
102102

103-
componentDidUpdate() {
103+
componentDidUpdate(prevProps) {
104104
const { meta, setMeta } = this.props;
105105

106106
if (!meta.runner_type) {
107107
setMeta('runner_type', default_runner_type);
108108
}
109+
110+
this.handleAutoSaveUpdates(prevProps);
111+
}
112+
113+
handleAutoSaveUpdates(prevProps) {
114+
const { meta, vars, onChange } = this.props;
115+
116+
if(prevProps.meta !== meta) {
117+
onChange();
118+
}
119+
120+
if(prevProps.vars !== vars) {
121+
onChange();
122+
}
109123
}
110124

111125
handleSectionSwitch(section: string) {
112126
this.props.navigate({ section });
113127
}
114128

115129
handleVarsChange(publish: Array<{}>) {
116-
const { setVars, onChange } = this.props;
130+
const { setVars } = this.props;
117131
const val = (publish ? publish.slice(0) : []).map(kv => {
118132
const key = Object.keys(kv)[0];
119133
const val = kv[key];
@@ -136,7 +150,6 @@ export default class Meta extends Component {
136150

137151
// Make sure to mutate the copy
138152
setVars(val);
139-
onChange();
140153
}
141154

142155
addVar() {
@@ -159,7 +172,6 @@ export default class Meta extends Component {
159172
command: 'set',
160173
args: [ 'entry_point',entryPoint ],
161174
});
162-
this.props.onChange();
163175
}
164176
catch(error) {
165177
store.dispatch({
@@ -199,19 +211,13 @@ export default class Meta extends Component {
199211
name="Runner Type"
200212
value={meta.runner_type}
201213
spec={{enum: [ ...new Set([ 'mistral-v2', 'orquesta' ]) ], default: default_runner_type}}
202-
onChange={(v) => {
203-
setMeta('runner_type', v);
204-
onChange();
205-
}}
214+
onChange={(v) => setMeta('runner_type', v)}
206215
/>
207216
<EnumField
208217
name="Pack"
209218
value={pack}
210219
spec={{enum: packs}}
211-
onChange={(v) => {
212-
setPack(v);
213-
onChange();
214-
}}
220+
onChange={(v) => setPack(v)}
215221
/>
216222
<StringField
217223
name="Name"
@@ -221,27 +227,18 @@ export default class Meta extends Component {
221227
<StringField
222228
name="Description"
223229
value={meta.description}
224-
onChange={(v) => {
225-
setMeta('description', v);
226-
onChange();
227-
}}
230+
onChange={(v) => setMeta('description', v)}
228231
/>
229232
<BooleanField
230233
name="Enabled"
231234
value={meta.enabled}
232235
spec={{}}
233-
onChange={(v) => {
234-
setMeta('enabled', v);
235-
onChange();
236-
}}
236+
onChange={(v) => setMeta('enabled', v)}
237237
/>
238238
<StringField
239239
name="Entry point"
240240
value={meta.entry_point !=='undefined' ? meta.entry_point:`workflows/${meta.name}.yaml`}
241-
onChange={(v) => {
242-
setMeta('entry_point', v || '');
243-
onChange();
244-
}}
241+
onChange={(v) => setMeta('entry_point', v || '')}
245242
/>
246243
</Panel>
247244
),

0 commit comments

Comments
 (0)