From 1716d438fdd34015f055c5ac52873d3b39b76528 Mon Sep 17 00:00:00 2001 From: vivid Date: Thu, 18 Aug 2016 13:37:03 +0900 Subject: [PATCH] hotfix function schema --- dist/entry.js | 3 +++ dist/entry.min.js | 2 +- src/variable_container.js | 6 ++++++ src/workspace/thread.js | 3 +-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/dist/entry.js b/dist/entry.js index 81f5a7f327..b49cdd1bfd 100644 --- a/dist/entry.js +++ b/dist/entry.js @@ -13885,6 +13885,9 @@ Entry.VariableContainer.prototype.setVariables = function(b) { this.updateList(); }; Entry.VariableContainer.prototype.setFunctions = function(b) { + b && b.forEach(function(a) { + Entry.block["func_" + a.id] = !0; + }); for (var a in b) { var c = new Entry.Func(b[a]); c.generateBlock(); diff --git a/dist/entry.min.js b/dist/entry.min.js index 74834aaeeb..6d0782f671 100644 --- a/dist/entry.min.js +++ b/dist/entry.min.js @@ -1278,7 +1278,7 @@ for(c in this.lists_)d=this.lists_[c],d.object_||(a.push(d),e=d.listElement,this this.lists_[c],a.push(d),e=d.listElement,this.listView_.appendChild(e),d.callerListElement&&this.listView_.appendChild(d.callerListElement);if("all"==b||"func"==b)for(c in"func"==b&&this.listView_.appendChild(this.functionAddButton_),this.functions_)b=this.functions_[c],a.push(b),e=b.listElement,this.listView_.appendChild(e),b.callerListElement&&this.listView_.appendChild(b.callerListElement);this.listView_.appendChild(this.variableSettingView);this.listView_.appendChild(this.listSettingView)}}; Entry.VariableContainer.prototype.setMessages=function(b){for(var a in b){var c=b[a];c.id||(c.id=Entry.generateHash());this.createMessageView(c);this.messages_.push(c)}Entry.playground.reloadPlayground();this.updateList()}; Entry.VariableContainer.prototype.setVariables=function(b){for(var a in b){var c=new Entry.Variable(b[a]),d=c.getType();"variable"==d||"slide"==d?(c.generateView(this.variables_.length),this.createVariableView(c),this.variables_.push(c)):"list"==d?(c.generateView(this.lists_.length),this.createListView(c),this.lists_.push(c)):"timer"==d?this.generateTimer(c):"answer"==d&&this.generateAnswer(c)}Entry.isEmpty(Entry.engine.projectTimer)&&Entry.variableContainer.generateTimer();Entry.isEmpty(Entry.container.inputValue)&& -Entry.variableContainer.generateAnswer();Entry.playground.reloadPlayground();this.updateList()};Entry.VariableContainer.prototype.setFunctions=function(b){for(var a in b){var c=new Entry.Func(b[a]);c.generateBlock();this.createFunctionView(c);this.functions_[c.id]=c}this.updateList()};Entry.VariableContainer.prototype.getFunction=function(b){return this.functions_[b]}; +Entry.variableContainer.generateAnswer();Entry.playground.reloadPlayground();this.updateList()};Entry.VariableContainer.prototype.setFunctions=function(b){b&&b.forEach(function(a){Entry.block["func_"+a.id]=!0});for(var a in b){var c=new Entry.Func(b[a]);c.generateBlock();this.createFunctionView(c);this.functions_[c.id]=c}this.updateList()};Entry.VariableContainer.prototype.getFunction=function(b){return this.functions_[b]}; Entry.VariableContainer.prototype.getVariable=function(b,a){var c=Entry.findObjsByKey(this.variables_,"id_",b)[0];a&&a.isClone&&c.object_&&(c=Entry.findObjsByKey(a.variables,"id_",b)[0]);return c};Entry.VariableContainer.prototype.getList=function(b,a){var c=Entry.findObjsByKey(this.lists_,"id_",b)[0];a&&a.isClone&&c.object_&&(c=Entry.findObjsByKey(a.lists,"id_",b)[0]);return c};Entry.VariableContainer.prototype.createFunction=function(){if(!Entry.Func.isEdit){var b=new Entry.Func;Entry.Func.edit(b)}}; Entry.VariableContainer.prototype.addFunction=function(b){};Entry.VariableContainer.prototype.removeFunction=function(b){var a=b.id;b=this.functions_;b[a].destroy();delete b[a];a="func_"+a;Entry.container.removeFuncBlocks(a);for(var c in b)b[c].content.removeBlocksByType(a);this.updateList()};Entry.VariableContainer.prototype.checkListPosition=function(b,a){var c=b.x_+b.width_,d=-b.y_,e=-b.y_+-b.height_;return a.x>b.x_&&a.xe?!0:!1}; Entry.VariableContainer.prototype.getListById=function(b){var a=this.lists_,c=[];if(0} variables */ Entry.VariableContainer.prototype.setFunctions = function(functions) { + if (functions) { + functions.forEach(function(f) { + Entry.block['func_' + f.id] = true; + }); + } + for (var i in functions) { var func = new Entry.Func(functions[i]); func.generateBlock(); diff --git a/src/workspace/thread.js b/src/workspace/thread.js index 8ee022e3d0..eaab7b0f01 100644 --- a/src/workspace/thread.js +++ b/src/workspace/thread.js @@ -35,8 +35,7 @@ Entry.Thread = function(thread, code, parent) { if (block instanceof Entry.Block || block.isDummy) { block.setThread(this); this._data.push(block); - } else - Entry.block[block.type] && this._data.push(new Entry.Block(block, this)); + } else Entry.block[block.type] && this._data.push(new Entry.Block(block, this)); } var codeView = this._code.view;