Spaces:
Runtime error
Runtime error
Update src/lib/blocks.js
Browse files- src/lib/blocks.js +35 -4
src/lib/blocks.js
CHANGED
|
@@ -115,8 +115,20 @@ export default function (vm) {
|
|
| 115 |
};
|
| 116 |
|
| 117 |
const costumesMenu = function () {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
if (vm.editingTarget && vm.editingTarget.getCostumes().length > 0) {
|
| 119 |
-
return vm.editingTarget.getCostumes().map(costume => [costume.name, costume.name])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 120 |
}
|
| 121 |
return [['', '']];
|
| 122 |
};
|
|
@@ -474,9 +486,28 @@ export default function (vm) {
|
|
| 474 |
this.jsonInit(json);
|
| 475 |
};
|
| 476 |
|
| 477 |
-
ScratchBlocks.VerticalFlyout.getCheckboxState = function (blockId) {
|
| 478 |
const monitoredBlock = vm.runtime.monitorBlocks._blocks[blockId];
|
| 479 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 480 |
};
|
| 481 |
|
| 482 |
ScratchBlocks.FlyoutExtensionCategoryHeader.getExtensionState = function (extensionId) {
|
|
@@ -521,4 +552,4 @@ export default function (vm) {
|
|
| 521 |
]);
|
| 522 |
|
| 523 |
return ScratchBlocks;
|
| 524 |
-
}
|
|
|
|
| 115 |
};
|
| 116 |
|
| 117 |
const costumesMenu = function () {
|
| 118 |
+
const next = ScratchBlocks.ScratchMsgs.translate('LOOKS_NEXTCOSTUME', 'next costume');
|
| 119 |
+
const previous = "previous costume" //ScratchBlocks.ScratchMsgs.translate('LOOKS_PREVIOUSCOSTUME', 'previous costume');
|
| 120 |
+
// TODO: Add translation index into ScratchBlocks for this.
|
| 121 |
+
|
| 122 |
+
const random = "random costume"//ScratchBlocks.ScratchMsgs.translate('LOOKS_RANDOMBACKDROP', 'random costume');
|
| 123 |
+
// TODO: Add translation entry
|
| 124 |
if (vm.editingTarget && vm.editingTarget.getCostumes().length > 0) {
|
| 125 |
+
return vm.editingTarget.getCostumes().map(costume => [costume.name, costume.name])
|
| 126 |
+
.concat([
|
| 127 |
+
[next, "next costume"],
|
| 128 |
+
[previous, "previous costume"],
|
| 129 |
+
[random, "random costume"]
|
| 130 |
+
])
|
| 131 |
+
;
|
| 132 |
}
|
| 133 |
return [['', '']];
|
| 134 |
};
|
|
|
|
| 486 |
this.jsonInit(json);
|
| 487 |
};
|
| 488 |
|
| 489 |
+
ScratchBlocks.VerticalFlyout.getCheckboxState = function (blockId, inputList) {
|
| 490 |
const monitoredBlock = vm.runtime.monitorBlocks._blocks[blockId];
|
| 491 |
+
if (!monitoredBlock)
|
| 492 |
+
return false;
|
| 493 |
+
|
| 494 |
+
const { opcode, fields } = monitoredBlock;
|
| 495 |
+
|
| 496 |
+
if (opcode == "data_variable" || opcode == "data_listcontents")
|
| 497 |
+
return monitoredBlock ? monitoredBlock.isMonitored : false;
|
| 498 |
+
|
| 499 |
+
const parsedFields = inputList[0].fieldRow
|
| 500 |
+
.filter(({ name }) => name in fields)
|
| 501 |
+
.map(field => {
|
| 502 |
+
if (field.variable_) return field.variable_.name;
|
| 503 |
+
return field.name === "CURRENTMENU" ? field.value_.toLowerCase() : field.value_;
|
| 504 |
+
}).join("_");
|
| 505 |
+
|
| 506 |
+
const newBlockId = blockId + (parsedFields.length ? "_" : "") + parsedFields;
|
| 507 |
+
|
| 508 |
+
const newMonitoredBlock = vm.runtime.monitorBlocks._blocks[newBlockId];
|
| 509 |
+
|
| 510 |
+
return newMonitoredBlock ? newMonitoredBlock.isMonitored : false;
|
| 511 |
};
|
| 512 |
|
| 513 |
ScratchBlocks.FlyoutExtensionCategoryHeader.getExtensionState = function (extensionId) {
|
|
|
|
| 552 |
]);
|
| 553 |
|
| 554 |
return ScratchBlocks;
|
| 555 |
+
}
|