From df750eb071fc64a1e5f3790a986262c917446bb1 Mon Sep 17 00:00:00 2001 From: Beka Westberg Date: Fri, 16 Dec 2022 18:20:43 +0000 Subject: [PATCH] chore: fix tests failures --- blocks/procedures.js | 19 +++++++++++-------- core/procedures/observable_parameter_model.ts | 4 ++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/blocks/procedures.js b/blocks/procedures.js index 1ecb8bcdd78..f4c29643c35 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -581,7 +581,8 @@ const procedureDefMutator = { if (node.nodeName.toLowerCase() !== 'arg') continue; this.getProcedureModel().insertParameter( new ObservableParameterModel( - this.workspace, node.getAttribute('name')), + this.workspace, node.getAttribute('name'), + node.getAttribute('varid')), i); } @@ -645,11 +646,13 @@ const procedureDefMutator = { * statements. */ loadExtraState: function(state) { - for (let i = 0; i < state['params'].length; i++) { - const param = state['params'][i]; - this.getProcedureModel().insertParameter( - new ObservableParameterModel(this.workspace, param.name, param.id), - i); + if (state['params']) { + for (let i = 0; i < state['params'].length; i++) { + const param = state['params'][i]; + this.getProcedureModel().insertParameter( + new ObservableParameterModel(this.workspace, param.name, param.id), + i); + } } // TODO: Remove this data update code. @@ -815,8 +818,8 @@ Extensions.registerMixin( const procedureDefOnChangeMixin = { onchange: function(e) { if (e.type === Events.BLOCK_CHANGE && e.blockId === this.id && - e.element == 'disabled') { - this.model.setEnabled(!e.newValue); + e.element === 'disabled') { + this.getProcedureModel().setEnabled(!e.newValue); } }, }; diff --git a/core/procedures/observable_parameter_model.ts b/core/procedures/observable_parameter_model.ts index 8b0fd5309ac..91f624f951d 100644 --- a/core/procedures/observable_parameter_model.ts +++ b/core/procedures/observable_parameter_model.ts @@ -24,8 +24,8 @@ export class ObservableParameterModel implements IParameterModel { constructor( private readonly workspace: Workspace, name: string, id?: string) { this.id = id ?? genUid(); - this.variable = - this.workspace.getVariable(name) ?? workspace.createVariable(name); + this.variable = this.workspace.getVariable(name) ?? + workspace.createVariable(name, '', id); } /**