mirror of
https://github.com/google/blockly.git
synced 2026-01-07 09:00:11 +01:00
chore: Convert == to === and != to !== where possible. (#5599)
This commit is contained in:
@@ -201,7 +201,7 @@ Blockly.Blocks['lists_create_with'] = {
|
||||
// Disconnect any children that don't belong.
|
||||
for (var i = 0; i < this.itemCount_; i++) {
|
||||
var connection = this.getInput('ADD' + i).connection.targetConnection;
|
||||
if (connection && connections.indexOf(connection) == -1) {
|
||||
if (connection && connections.indexOf(connection) === -1) {
|
||||
connection.disconnect();
|
||||
}
|
||||
}
|
||||
@@ -245,7 +245,7 @@ Blockly.Blocks['lists_create_with'] = {
|
||||
if (!this.getInput('ADD' + i)) {
|
||||
var input = this.appendValueInput('ADD' + i)
|
||||
.setAlign(Blockly.ALIGN_RIGHT);
|
||||
if (i == 0) {
|
||||
if (i === 0) {
|
||||
input.appendField(Blockly.Msg['LISTS_CREATE_WITH_INPUT_WITH']);
|
||||
}
|
||||
}
|
||||
@@ -341,7 +341,7 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
this.setHelpUrl(Blockly.Msg['LISTS_GET_INDEX_HELPURL']);
|
||||
this.setStyle('list_blocks');
|
||||
var modeMenu = new Blockly.FieldDropdown(MODE, function(value) {
|
||||
var isStatement = (value == 'REMOVE');
|
||||
var isStatement = (value === 'REMOVE');
|
||||
this.getSourceBlock().updateStatement_(isStatement);
|
||||
});
|
||||
this.appendValueInput('VALUE')
|
||||
@@ -405,8 +405,8 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
tooltip = Blockly.Msg['LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM'];
|
||||
break;
|
||||
}
|
||||
if (where == 'FROM_START' || where == 'FROM_END') {
|
||||
var msg = (where == 'FROM_START') ?
|
||||
if (where === 'FROM_START' || where === 'FROM_END') {
|
||||
var msg = (where === 'FROM_START') ?
|
||||
Blockly.Msg['LISTS_INDEX_FROM_START_TOOLTIP'] :
|
||||
Blockly.Msg['LISTS_INDEX_FROM_END_TOOLTIP'];
|
||||
tooltip += ' ' + msg.replace('%1',
|
||||
@@ -425,7 +425,7 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
var container = Blockly.utils.xml.createElement('mutation');
|
||||
var isStatement = !this.outputConnection;
|
||||
container.setAttribute('statement', isStatement);
|
||||
var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE;
|
||||
var isAt = this.getInput('AT').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at', isAt);
|
||||
return container;
|
||||
},
|
||||
@@ -437,9 +437,9 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
domToMutation: function(xmlElement) {
|
||||
// Note: Until January 2013 this block did not have mutations,
|
||||
// so 'statement' defaults to false and 'at' defaults to true.
|
||||
var isStatement = (xmlElement.getAttribute('statement') == 'true');
|
||||
var isStatement = (xmlElement.getAttribute('statement') === 'true');
|
||||
this.updateStatement_(isStatement);
|
||||
var isAt = (xmlElement.getAttribute('at') != 'false');
|
||||
var isAt = (xmlElement.getAttribute('at') !== 'false');
|
||||
this.updateAt_(isAt);
|
||||
},
|
||||
|
||||
@@ -457,7 +457,7 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
*/
|
||||
updateStatement_: function(newStatement) {
|
||||
var oldStatement = !this.outputConnection;
|
||||
if (newStatement != oldStatement) {
|
||||
if (newStatement !== oldStatement) {
|
||||
this.unplug(true, true);
|
||||
if (newStatement) {
|
||||
this.setOutput(false);
|
||||
@@ -491,9 +491,9 @@ Blockly.Blocks['lists_getIndex'] = {
|
||||
this.appendDummyInput('AT');
|
||||
}
|
||||
var menu = new Blockly.FieldDropdown(this.WHERE_OPTIONS, function(value) {
|
||||
var newAt = (value == 'FROM_START') || (value == 'FROM_END');
|
||||
var newAt = (value === 'FROM_START') || (value === 'FROM_END');
|
||||
// The 'isAt' variable is available due to this function being a closure.
|
||||
if (newAt != isAt) {
|
||||
if (newAt !== isAt) {
|
||||
var block = this.getSourceBlock();
|
||||
block.updateAt_(newAt);
|
||||
// This menu has been destroyed and replaced. Update the replacement.
|
||||
@@ -578,7 +578,7 @@ Blockly.Blocks['lists_setIndex'] = {
|
||||
tooltip = Blockly.Msg['LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM'];
|
||||
break;
|
||||
}
|
||||
if (where == 'FROM_START' || where == 'FROM_END') {
|
||||
if (where === 'FROM_START' || where === 'FROM_END') {
|
||||
tooltip += ' ' + Blockly.Msg['LISTS_INDEX_FROM_START_TOOLTIP']
|
||||
.replace('%1',
|
||||
thisBlock.workspace.options.oneBasedIndex ? '#1' : '#0');
|
||||
@@ -593,7 +593,7 @@ Blockly.Blocks['lists_setIndex'] = {
|
||||
*/
|
||||
mutationToDom: function() {
|
||||
var container = Blockly.utils.xml.createElement('mutation');
|
||||
var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE;
|
||||
var isAt = this.getInput('AT').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at', isAt);
|
||||
return container;
|
||||
},
|
||||
@@ -605,7 +605,7 @@ Blockly.Blocks['lists_setIndex'] = {
|
||||
domToMutation: function(xmlElement) {
|
||||
// Note: Until January 2013 this block did not have mutations,
|
||||
// so 'at' defaults to true.
|
||||
var isAt = (xmlElement.getAttribute('at') != 'false');
|
||||
var isAt = (xmlElement.getAttribute('at') !== 'false');
|
||||
this.updateAt_(isAt);
|
||||
},
|
||||
|
||||
@@ -635,9 +635,9 @@ Blockly.Blocks['lists_setIndex'] = {
|
||||
this.appendDummyInput('AT');
|
||||
}
|
||||
var menu = new Blockly.FieldDropdown(this.WHERE_OPTIONS, function(value) {
|
||||
var newAt = (value == 'FROM_START') || (value == 'FROM_END');
|
||||
var newAt = (value === 'FROM_START') || (value === 'FROM_END');
|
||||
// The 'isAt' variable is available due to this function being a closure.
|
||||
if (newAt != isAt) {
|
||||
if (newAt !== isAt) {
|
||||
var block = this.getSourceBlock();
|
||||
block.updateAt_(newAt);
|
||||
// This menu has been destroyed and replaced. Update the replacement.
|
||||
@@ -697,9 +697,9 @@ Blockly.Blocks['lists_getSublist'] = {
|
||||
*/
|
||||
mutationToDom: function() {
|
||||
var container = Blockly.utils.xml.createElement('mutation');
|
||||
var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE;
|
||||
var isAt1 = this.getInput('AT1').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at1', isAt1);
|
||||
var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE;
|
||||
var isAt2 = this.getInput('AT2').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at2', isAt2);
|
||||
return container;
|
||||
},
|
||||
@@ -709,8 +709,8 @@ Blockly.Blocks['lists_getSublist'] = {
|
||||
* @this {Blockly.Block}
|
||||
*/
|
||||
domToMutation: function(xmlElement) {
|
||||
var isAt1 = (xmlElement.getAttribute('at1') == 'true');
|
||||
var isAt2 = (xmlElement.getAttribute('at2') == 'true');
|
||||
var isAt1 = (xmlElement.getAttribute('at1') === 'true');
|
||||
var isAt2 = (xmlElement.getAttribute('at2') === 'true');
|
||||
this.updateAt_(1, isAt1);
|
||||
this.updateAt_(2, isAt2);
|
||||
},
|
||||
@@ -745,10 +745,10 @@ Blockly.Blocks['lists_getSublist'] = {
|
||||
}
|
||||
var menu = new Blockly.FieldDropdown(this['WHERE_OPTIONS_' + n],
|
||||
function(value) {
|
||||
var newAt = (value == 'FROM_START') || (value == 'FROM_END');
|
||||
var newAt = (value === 'FROM_START') || (value === 'FROM_END');
|
||||
// The 'isAt' variable is available due to this function being a
|
||||
// closure.
|
||||
if (newAt != isAt) {
|
||||
if (newAt !== isAt) {
|
||||
var block = this.getSourceBlock();
|
||||
block.updateAt_(n, newAt);
|
||||
// This menu has been destroyed and replaced.
|
||||
@@ -759,7 +759,7 @@ Blockly.Blocks['lists_getSublist'] = {
|
||||
});
|
||||
this.getInput('AT' + n)
|
||||
.appendField(menu, 'WHERE' + n);
|
||||
if (n == 1) {
|
||||
if (n === 1) {
|
||||
this.moveInputBefore('AT1', 'AT2');
|
||||
if (this.getInput('ORDINAL1')) {
|
||||
this.moveInputBefore('ORDINAL1', 'AT2');
|
||||
@@ -839,9 +839,9 @@ Blockly.Blocks['lists_split'] = {
|
||||
this.setOutput(true, 'Array');
|
||||
this.setTooltip(function() {
|
||||
var mode = thisBlock.getFieldValue('MODE');
|
||||
if (mode == 'SPLIT') {
|
||||
if (mode === 'SPLIT') {
|
||||
return Blockly.Msg['LISTS_SPLIT_TOOLTIP_SPLIT'];
|
||||
} else if (mode == 'JOIN') {
|
||||
} else if (mode === 'JOIN') {
|
||||
return Blockly.Msg['LISTS_SPLIT_TOOLTIP_JOIN'];
|
||||
}
|
||||
throw Error('Unknown mode: ' + mode);
|
||||
@@ -855,7 +855,7 @@ Blockly.Blocks['lists_split'] = {
|
||||
*/
|
||||
updateType_: function(newMode) {
|
||||
var mode = this.getFieldValue('MODE');
|
||||
if (mode != newMode) {
|
||||
if (mode !== newMode) {
|
||||
var inputConnection = this.getInput('INPUT').connection;
|
||||
inputConnection.setShadowDom(null);
|
||||
var inputBlock = inputConnection.targetBlock();
|
||||
@@ -868,7 +868,7 @@ Blockly.Blocks['lists_split'] = {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (newMode == 'SPLIT') {
|
||||
if (newMode === 'SPLIT') {
|
||||
this.outputConnection.setCheck('Array');
|
||||
this.getInput('INPUT').setCheck('String');
|
||||
} else {
|
||||
|
||||
@@ -635,7 +635,7 @@ Blockly.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN = {
|
||||
// Disconnect blocks that existed prior to this change if they don't match.
|
||||
if ((blockA || blockB) && parentConnection) {
|
||||
for (var i = 0; i < 2; i++) {
|
||||
var block = (i == 1) ? blockA : blockB;
|
||||
var block = (i === 1) ? blockA : blockB;
|
||||
if (block &&
|
||||
!block.workspace.connectionChecker.doTypeChecks(
|
||||
block.outputConnection, parentConnection)) {
|
||||
|
||||
@@ -254,7 +254,7 @@ Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN = {
|
||||
}
|
||||
var variable = this.getField('VAR').getVariable();
|
||||
var varName = variable.name;
|
||||
if (!this.isCollapsed() && varName != null) {
|
||||
if (!this.isCollapsed() && varName !== null) {
|
||||
var option = {enabled: true};
|
||||
option.text =
|
||||
Blockly.Msg['VARIABLES_SET_CREATE_GET'].replace('%1', varName);
|
||||
@@ -310,7 +310,7 @@ Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN = {
|
||||
// Is the block nested in a loop?
|
||||
do {
|
||||
if (Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.LOOP_TYPES
|
||||
.indexOf(block.type) != -1) {
|
||||
.indexOf(block.type) !== -1) {
|
||||
return block;
|
||||
}
|
||||
block = block.getSurroundParent();
|
||||
@@ -329,7 +329,7 @@ Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN = {
|
||||
// * It's at the start of a drag.
|
||||
// * It's not a move event.
|
||||
if (!this.workspace.isDragging || this.workspace.isDragging() ||
|
||||
e.type != Blockly.Events.BLOCK_MOVE) {
|
||||
e.type !== Blockly.Events.BLOCK_MOVE) {
|
||||
return;
|
||||
}
|
||||
var enabled = Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN
|
||||
|
||||
@@ -451,7 +451,7 @@ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN = {
|
||||
*/
|
||||
mutationToDom: function() {
|
||||
var container = Blockly.utils.xml.createElement('mutation');
|
||||
var divisorInput = (this.getFieldValue('PROPERTY') == 'DIVISIBLE_BY');
|
||||
var divisorInput = (this.getFieldValue('PROPERTY') === 'DIVISIBLE_BY');
|
||||
container.setAttribute('divisor_input', divisorInput);
|
||||
return container;
|
||||
},
|
||||
@@ -462,7 +462,7 @@ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN = {
|
||||
* @this {Blockly.Block}
|
||||
*/
|
||||
domToMutation: function(xmlElement) {
|
||||
var divisorInput = (xmlElement.getAttribute('divisor_input') == 'true');
|
||||
var divisorInput = (xmlElement.getAttribute('divisor_input') === 'true');
|
||||
this.updateShape_(divisorInput);
|
||||
},
|
||||
|
||||
@@ -500,7 +500,7 @@ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN = {
|
||||
*/
|
||||
Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION = function() {
|
||||
this.getField('PROPERTY').setValidator(function(option) {
|
||||
var divisorInput = (option == 'DIVISIBLE_BY');
|
||||
var divisorInput = (option === 'DIVISIBLE_BY');
|
||||
this.getSourceBlock().updateShape_(divisorInput);
|
||||
});
|
||||
};
|
||||
@@ -530,7 +530,7 @@ Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN = {
|
||||
* @this {Blockly.Block}
|
||||
*/
|
||||
updateType_: function(newOp) {
|
||||
if (newOp == 'MODE') {
|
||||
if (newOp === 'MODE') {
|
||||
this.outputConnection.setCheck('Array');
|
||||
} else {
|
||||
this.outputConnection.setCheck('Number');
|
||||
|
||||
@@ -132,13 +132,13 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
this.arguments_ = [];
|
||||
this.argumentVarModels_ = [];
|
||||
for (var i = 0, childNode; (childNode = xmlElement.childNodes[i]); i++) {
|
||||
if (childNode.nodeName.toLowerCase() == 'arg') {
|
||||
if (childNode.nodeName.toLowerCase() === 'arg') {
|
||||
var varName = childNode.getAttribute('name');
|
||||
var varId = childNode.getAttribute('varid') || childNode.getAttribute('varId');
|
||||
this.arguments_.push(varName);
|
||||
var variable = Blockly.Variables.getOrCreateVariablePackage(
|
||||
this.workspace, varId, varName, '');
|
||||
if (variable != null) {
|
||||
if (variable !== null) {
|
||||
this.argumentVarModels_.push(variable);
|
||||
} else {
|
||||
console.log('Failed to create a variable with name ' + varName + ', ignoring.');
|
||||
@@ -242,7 +242,7 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
|
||||
var containerBlock = Blockly.Xml.domToBlock(containerBlockNode, workspace);
|
||||
|
||||
if (this.type == 'procedures_defreturn') {
|
||||
if (this.type === 'procedures_defreturn') {
|
||||
containerBlock.setFieldValue(this.hasStatements_, 'STATEMENTS');
|
||||
} else {
|
||||
containerBlock.removeInput('STATEMENT_INPUT');
|
||||
@@ -279,8 +279,8 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
// Show/hide the statement input.
|
||||
var hasStatements = containerBlock.getFieldValue('STATEMENTS');
|
||||
if (hasStatements !== null) {
|
||||
hasStatements = hasStatements == 'TRUE';
|
||||
if (this.hasStatements_ != hasStatements) {
|
||||
hasStatements = hasStatements === 'TRUE';
|
||||
if (this.hasStatements_ !== hasStatements) {
|
||||
if (hasStatements) {
|
||||
this.setStatements_(true);
|
||||
// Restore the stack, if one was saved.
|
||||
@@ -339,7 +339,7 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
*/
|
||||
renameVarById: function(oldId, newId) {
|
||||
var oldVariable = this.workspace.getVariableById(oldId);
|
||||
if (oldVariable.type != '') {
|
||||
if (oldVariable.type !== '') {
|
||||
// Procedure arguments always have the empty type.
|
||||
return;
|
||||
}
|
||||
@@ -348,7 +348,7 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
|
||||
var change = false;
|
||||
for (var i = 0; i < this.argumentVarModels_.length; i++) {
|
||||
if (this.argumentVarModels_[i].getId() == oldId) {
|
||||
if (this.argumentVarModels_[i].getId() === oldId) {
|
||||
this.arguments_[i] = newVar.name;
|
||||
this.argumentVarModels_[i] = newVar;
|
||||
change = true;
|
||||
@@ -371,7 +371,7 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
var newName = variable.name;
|
||||
var change = false;
|
||||
for (var i = 0; i < this.argumentVarModels_.length; i++) {
|
||||
if (this.argumentVarModels_[i].getId() == variable.getId()) {
|
||||
if (this.argumentVarModels_[i].getId() === variable.getId()) {
|
||||
var oldName = this.arguments_[i];
|
||||
this.arguments_[i] = newName;
|
||||
change = true;
|
||||
@@ -395,7 +395,7 @@ Blockly.Blocks['procedures_defnoreturn'] = {
|
||||
if (this.mutator && this.mutator.isVisible()) {
|
||||
var blocks = this.mutator.workspace_.getAllBlocks(false);
|
||||
for (var i = 0, block; (block = blocks[i]); i++) {
|
||||
if (block.type == 'procedures_mutatorarg' &&
|
||||
if (block.type === 'procedures_mutatorarg' &&
|
||||
Blockly.Names.equals(oldName, block.getFieldValue('NAME'))) {
|
||||
block.setFieldValue(newName, 'NAME');
|
||||
}
|
||||
@@ -586,12 +586,12 @@ Blockly.Blocks['procedures_mutatorarg'] = {
|
||||
var blocks = workspace.getAllBlocks(false);
|
||||
var caselessName = varName.toLowerCase();
|
||||
for (var i = 0; i < blocks.length; i++) {
|
||||
if (blocks[i].id == this.getSourceBlock().id) {
|
||||
if (blocks[i].id === this.getSourceBlock().id) {
|
||||
continue;
|
||||
}
|
||||
// Other blocks values may not be set yet when this is loaded.
|
||||
var otherVar = blocks[i].getFieldValue('NAME');
|
||||
if (otherVar && otherVar.toLowerCase() == caselessName) {
|
||||
if (otherVar && otherVar.toLowerCase() === caselessName) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -603,7 +603,7 @@ Blockly.Blocks['procedures_mutatorarg'] = {
|
||||
}
|
||||
|
||||
var model = outerWs.getVariable(varName, '');
|
||||
if (model && model.name != varName) {
|
||||
if (model && model.name !== varName) {
|
||||
// Rename the variable (case change)
|
||||
outerWs.renameVariableById(model.getId(), varName);
|
||||
}
|
||||
@@ -631,7 +631,7 @@ Blockly.Blocks['procedures_mutatorarg'] = {
|
||||
}
|
||||
for (var i = 0; i < this.createdVariables_.length; i++) {
|
||||
var model = this.createdVariables_[i];
|
||||
if (model.name != newText) {
|
||||
if (model.name !== newText) {
|
||||
outerWs.deleteVariableById(model.getId());
|
||||
}
|
||||
}
|
||||
@@ -716,12 +716,12 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
}
|
||||
// Test arguments (arrays of strings) for changes. '\n' is not a valid
|
||||
// argument name character, so it is a valid delimiter here.
|
||||
if (paramNames.join('\n') == this.arguments_.join('\n')) {
|
||||
if (paramNames.join('\n') === this.arguments_.join('\n')) {
|
||||
// No change.
|
||||
this.quarkIds_ = paramIds;
|
||||
return;
|
||||
}
|
||||
if (paramIds.length != paramNames.length) {
|
||||
if (paramIds.length !== paramNames.length) {
|
||||
throw RangeError('paramNames and paramIds must be the same length.');
|
||||
}
|
||||
this.setCollapsed(false);
|
||||
@@ -740,7 +740,7 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
var connection = input.connection.targetConnection;
|
||||
this.quarkConnections_[this.quarkIds_[i]] = connection;
|
||||
if (mutatorOpen && connection &&
|
||||
paramIds.indexOf(this.quarkIds_[i]) == -1) {
|
||||
paramIds.indexOf(this.quarkIds_[i]) === -1) {
|
||||
// This connection should no longer be attached to this block.
|
||||
connection.disconnect();
|
||||
connection.getSourceBlock().bumpNeighbours();
|
||||
@@ -853,7 +853,7 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
var args = [];
|
||||
var paramIds = [];
|
||||
for (var i = 0, childNode; (childNode = xmlElement.childNodes[i]); i++) {
|
||||
if (childNode.nodeName.toLowerCase() == 'arg') {
|
||||
if (childNode.nodeName.toLowerCase() === 'arg') {
|
||||
args.push(childNode.getAttribute('name'));
|
||||
paramIds.push(childNode.getAttribute('paramId'));
|
||||
}
|
||||
@@ -919,15 +919,15 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
// Events not generated by user. Skip handling.
|
||||
return;
|
||||
}
|
||||
if (event.type == Blockly.Events.BLOCK_CREATE &&
|
||||
event.ids.indexOf(this.id) != -1) {
|
||||
if (event.type === Blockly.Events.BLOCK_CREATE &&
|
||||
event.ids.indexOf(this.id) !== -1) {
|
||||
// Look for the case where a procedure call was created (usually through
|
||||
// paste) and there is no matching definition. In this case, create
|
||||
// an empty definition block with the correct signature.
|
||||
var name = this.getProcedureCall();
|
||||
var def = Blockly.Procedures.getDefinition(name, this.workspace);
|
||||
if (def && (def.type != this.defType_ ||
|
||||
JSON.stringify(def.getVars()) != JSON.stringify(this.arguments_))) {
|
||||
if (def && (def.type !== this.defType_ ||
|
||||
JSON.stringify(def.getVars()) !== JSON.stringify(this.arguments_))) {
|
||||
// The signatures don't match.
|
||||
def = null;
|
||||
}
|
||||
@@ -968,7 +968,7 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
Blockly.Xml.domToWorkspace(xml, this.workspace);
|
||||
Blockly.Events.setGroup(false);
|
||||
}
|
||||
} else if (event.type == Blockly.Events.BLOCK_DELETE) {
|
||||
} else if (event.type === Blockly.Events.BLOCK_DELETE) {
|
||||
// Look for the case where a procedure definition has been deleted,
|
||||
// leaving this block (a procedure call) orphaned. In this case, delete
|
||||
// the orphan.
|
||||
@@ -979,10 +979,10 @@ Blockly.Blocks['procedures_callnoreturn'] = {
|
||||
this.dispose(true);
|
||||
Blockly.Events.setGroup(false);
|
||||
}
|
||||
} else if (event.type == Blockly.Events.CHANGE && event.element == 'disabled') {
|
||||
} else if (event.type === Blockly.Events.CHANGE && event.element === 'disabled') {
|
||||
var name = this.getProcedureCall();
|
||||
var def = Blockly.Procedures.getDefinition(name, this.workspace);
|
||||
if (def && def.id == event.blockId) {
|
||||
if (def && def.id === event.blockId) {
|
||||
// in most cases the old group should be ''
|
||||
var oldGroup = Blockly.Events.getGroup();
|
||||
if (oldGroup) {
|
||||
@@ -1102,7 +1102,7 @@ Blockly.Blocks['procedures_ifreturn'] = {
|
||||
*/
|
||||
domToMutation: function(xmlElement) {
|
||||
var value = xmlElement.getAttribute('value');
|
||||
this.hasReturnValue_ = (value == 1);
|
||||
this.hasReturnValue_ = (value === '1');
|
||||
if (!this.hasReturnValue_) {
|
||||
this.removeInput('VALUE');
|
||||
this.appendDummyInput('VALUE')
|
||||
@@ -1129,7 +1129,7 @@ Blockly.Blocks['procedures_ifreturn'] = {
|
||||
// Is the block nested in a procedure?
|
||||
var block = this;
|
||||
do {
|
||||
if (this.FUNCTION_TYPES.indexOf(block.type) != -1) {
|
||||
if (this.FUNCTION_TYPES.indexOf(block.type) !== -1) {
|
||||
legal = true;
|
||||
break;
|
||||
}
|
||||
@@ -1137,12 +1137,12 @@ Blockly.Blocks['procedures_ifreturn'] = {
|
||||
} while (block);
|
||||
if (legal) {
|
||||
// If needed, toggle whether this block has a return value.
|
||||
if (block.type == 'procedures_defnoreturn' && this.hasReturnValue_) {
|
||||
if (block.type === 'procedures_defnoreturn' && this.hasReturnValue_) {
|
||||
this.removeInput('VALUE');
|
||||
this.appendDummyInput('VALUE')
|
||||
.appendField(Blockly.Msg['PROCEDURES_DEFRETURN_RETURN']);
|
||||
this.hasReturnValue_ = false;
|
||||
} else if (block.type == 'procedures_defreturn' &&
|
||||
} else if (block.type === 'procedures_defreturn' &&
|
||||
!this.hasReturnValue_) {
|
||||
this.removeInput('VALUE');
|
||||
this.appendValueInput('VALUE')
|
||||
|
||||
@@ -266,9 +266,9 @@ Blockly.Blocks['text_getSubstring'] = {
|
||||
*/
|
||||
mutationToDom: function() {
|
||||
var container = Blockly.utils.xml.createElement('mutation');
|
||||
var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE;
|
||||
var isAt1 = this.getInput('AT1').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at1', isAt1);
|
||||
var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE;
|
||||
var isAt2 = this.getInput('AT2').type === Blockly.INPUT_VALUE;
|
||||
container.setAttribute('at2', isAt2);
|
||||
return container;
|
||||
},
|
||||
@@ -279,8 +279,8 @@ Blockly.Blocks['text_getSubstring'] = {
|
||||
* @this {Blockly.Block}
|
||||
*/
|
||||
domToMutation: function(xmlElement) {
|
||||
var isAt1 = (xmlElement.getAttribute('at1') == 'true');
|
||||
var isAt2 = (xmlElement.getAttribute('at2') == 'true');
|
||||
var isAt1 = (xmlElement.getAttribute('at1') === 'true');
|
||||
var isAt2 = (xmlElement.getAttribute('at2') === 'true');
|
||||
this.updateAt_(1, isAt1);
|
||||
this.updateAt_(2, isAt2);
|
||||
},
|
||||
@@ -314,17 +314,17 @@ Blockly.Blocks['text_getSubstring'] = {
|
||||
this.appendDummyInput('AT' + n);
|
||||
}
|
||||
// Move tail, if present, to end of block.
|
||||
if (n == 2 && Blockly.Msg['TEXT_GET_SUBSTRING_TAIL']) {
|
||||
if (n === 2 && Blockly.Msg['TEXT_GET_SUBSTRING_TAIL']) {
|
||||
this.removeInput('TAIL', true);
|
||||
this.appendDummyInput('TAIL')
|
||||
.appendField(Blockly.Msg['TEXT_GET_SUBSTRING_TAIL']);
|
||||
}
|
||||
var menu = new Blockly.FieldDropdown(this['WHERE_OPTIONS_' + n],
|
||||
function(value) {
|
||||
var newAt = (value == 'FROM_START') || (value == 'FROM_END');
|
||||
var newAt = (value === 'FROM_START') || (value === 'FROM_END');
|
||||
// The 'isAt' variable is available due to this function being a
|
||||
// closure.
|
||||
if (newAt != isAt) {
|
||||
if (newAt !== isAt) {
|
||||
var block = this.getSourceBlock();
|
||||
block.updateAt_(n, newAt);
|
||||
// This menu has been destroyed and replaced.
|
||||
@@ -337,7 +337,7 @@ Blockly.Blocks['text_getSubstring'] = {
|
||||
|
||||
this.getInput('AT' + n)
|
||||
.appendField(menu, 'WHERE' + n);
|
||||
if (n == 1) {
|
||||
if (n === 1) {
|
||||
this.moveInputBefore('AT1', 'AT2');
|
||||
if (this.getInput('ORDINAL1')) {
|
||||
this.moveInputBefore('ORDINAL1', 'AT2');
|
||||
@@ -432,7 +432,7 @@ Blockly.Blocks['text_prompt_ext'] = {
|
||||
.appendField(dropdown, 'TYPE');
|
||||
this.setOutput(true, 'String');
|
||||
this.setTooltip(function() {
|
||||
return (thisBlock.getFieldValue('TYPE') == 'TEXT') ?
|
||||
return (thisBlock.getFieldValue('TYPE') === 'TEXT') ?
|
||||
Blockly.Msg['TEXT_PROMPT_TOOLTIP_TEXT'] :
|
||||
Blockly.Msg['TEXT_PROMPT_TOOLTIP_NUMBER'];
|
||||
});
|
||||
@@ -444,7 +444,7 @@ Blockly.Blocks['text_prompt_ext'] = {
|
||||
* @this {Blockly.Block}
|
||||
*/
|
||||
updateType_: function(newOp) {
|
||||
this.outputConnection.setCheck(newOp == 'NUMBER' ? 'Number' : 'String');
|
||||
this.outputConnection.setCheck(newOp === 'NUMBER' ? 'Number' : 'String');
|
||||
},
|
||||
/**
|
||||
* Create XML to represent the output type.
|
||||
@@ -500,7 +500,7 @@ Blockly.Blocks['text_prompt'] = {
|
||||
.appendField(this.newQuote_(false));
|
||||
this.setOutput(true, 'String');
|
||||
this.setTooltip(function() {
|
||||
return (thisBlock.getFieldValue('TYPE') == 'TEXT') ?
|
||||
return (thisBlock.getFieldValue('TYPE') === 'TEXT') ?
|
||||
Blockly.Msg['TEXT_PROMPT_TOOLTIP_TEXT'] :
|
||||
Blockly.Msg['TEXT_PROMPT_TOOLTIP_NUMBER'];
|
||||
});
|
||||
@@ -643,7 +643,7 @@ Blockly.Constants.Text.QUOTE_IMAGE_MIXIN = {
|
||||
quoteField_: function(fieldName) {
|
||||
for (var i = 0, input; (input = this.inputList[i]); i++) {
|
||||
for (var j = 0, field; (field = input.fieldRow[j]); j++) {
|
||||
if (fieldName == field.name) {
|
||||
if (fieldName === field.name) {
|
||||
input.insertFieldAt(j, this.newQuote_(true));
|
||||
input.insertFieldAt(j + 2, this.newQuote_(false));
|
||||
return;
|
||||
@@ -763,7 +763,7 @@ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN = {
|
||||
// Disconnect any children that don't belong.
|
||||
for (var i = 0; i < this.itemCount_; i++) {
|
||||
var connection = this.getInput('ADD' + i).connection.targetConnection;
|
||||
if (connection && connections.indexOf(connection) == -1) {
|
||||
if (connection && connections.indexOf(connection) === -1) {
|
||||
connection.disconnect();
|
||||
}
|
||||
}
|
||||
@@ -808,7 +808,7 @@ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN = {
|
||||
if (!this.getInput('ADD' + i)) {
|
||||
var input = this.appendValueInput('ADD' + i)
|
||||
.setAlign(Blockly.ALIGN_RIGHT);
|
||||
if (i == 0) {
|
||||
if (i === 0) {
|
||||
input.appendField(Blockly.Msg['TEXT_JOIN_TITLE_CREATEWITH']);
|
||||
}
|
||||
}
|
||||
@@ -880,7 +880,7 @@ Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN = {
|
||||
domToMutation: function(xmlElement) {
|
||||
// Note: Until January 2013 this block did not have mutations,
|
||||
// so 'at' defaults to true.
|
||||
var isAt = (xmlElement.getAttribute('at') != 'false');
|
||||
var isAt = (xmlElement.getAttribute('at') !== 'false');
|
||||
this.updateAt_(isAt);
|
||||
},
|
||||
|
||||
@@ -924,8 +924,8 @@ Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN = {
|
||||
Blockly.Constants.Text.TEXT_CHARAT_EXTENSION = function() {
|
||||
var dropdown = this.getField('WHERE');
|
||||
dropdown.setValidator(function(value) {
|
||||
var newAt = (value == 'FROM_START') || (value == 'FROM_END');
|
||||
if (newAt != this.isAt_) {
|
||||
var newAt = (value === 'FROM_START') || (value === 'FROM_END');
|
||||
if (newAt !== this.isAt_) {
|
||||
var block = this.getSourceBlock();
|
||||
block.updateAt_(newAt);
|
||||
}
|
||||
@@ -936,8 +936,8 @@ Blockly.Constants.Text.TEXT_CHARAT_EXTENSION = function() {
|
||||
this.setTooltip(function() {
|
||||
var where = thisBlock.getFieldValue('WHERE');
|
||||
var tooltip = Blockly.Msg['TEXT_CHARAT_TOOLTIP'];
|
||||
if (where == 'FROM_START' || where == 'FROM_END') {
|
||||
var msg = (where == 'FROM_START') ?
|
||||
if (where === 'FROM_START' || where === 'FROM_END') {
|
||||
var msg = (where === 'FROM_START') ?
|
||||
Blockly.Msg['LISTS_INDEX_FROM_START_TOOLTIP'] :
|
||||
Blockly.Msg['LISTS_INDEX_FROM_END_TOOLTIP'];
|
||||
if (msg) {
|
||||
|
||||
@@ -89,7 +89,7 @@ Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN = {
|
||||
customContextMenu: function(options) {
|
||||
if (!this.isInFlyout) {
|
||||
// Getter blocks have the option to create a setter block, and vice versa.
|
||||
if (this.type == 'variables_get') {
|
||||
if (this.type === 'variables_get') {
|
||||
var opposite_type = 'variables_set';
|
||||
var contextMenuMsg = Blockly.Msg['VARIABLES_GET_CREATE_SET'];
|
||||
} else {
|
||||
@@ -110,7 +110,7 @@ Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN = {
|
||||
options.push(option);
|
||||
// Getter blocks have the option to rename or delete that variable.
|
||||
} else {
|
||||
if (this.type == 'variables_get' || this.type == 'variables_get_reporter') {
|
||||
if (this.type === 'variables_get' || this.type === 'variables_get_reporter') {
|
||||
var renameOption = {
|
||||
text: Blockly.Msg.RENAME_VARIABLE,
|
||||
enabled: true,
|
||||
|
||||
@@ -90,7 +90,7 @@ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MI
|
||||
var id = this.getFieldValue('VAR');
|
||||
var variableModel = this.workspace.getVariableById(id);
|
||||
var varType = variableModel.type;
|
||||
if (this.type == 'variables_get_dynamic') {
|
||||
if (this.type === 'variables_get_dynamic') {
|
||||
opposite_type = 'variables_set_dynamic';
|
||||
contextMenuMsg = Blockly.Msg['VARIABLES_GET_CREATE_SET'];
|
||||
} else {
|
||||
@@ -111,8 +111,8 @@ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MI
|
||||
option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock);
|
||||
options.push(option);
|
||||
} else {
|
||||
if (this.type == 'variables_get_dynamic' ||
|
||||
this.type == 'variables_get_reporter_dynamic') {
|
||||
if (this.type === 'variables_get_dynamic' ||
|
||||
this.type === 'variables_get_reporter_dynamic') {
|
||||
var renameOption = {
|
||||
text: Blockly.Msg.RENAME_VARIABLE,
|
||||
enabled: true,
|
||||
@@ -138,7 +138,7 @@ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MI
|
||||
onchange: function(_e) {
|
||||
var id = this.getFieldValue('VAR');
|
||||
var variableModel = Blockly.Variables.getVariable(this.workspace, id);
|
||||
if (this.type == 'variables_get_dynamic') {
|
||||
if (this.type === 'variables_get_dynamic') {
|
||||
this.outputConnection.setCheck(variableModel.type);
|
||||
} else {
|
||||
this.getInput('VALUE').connection.setCheck(variableModel.type);
|
||||
|
||||
Reference in New Issue
Block a user