Spaces:
Build error
Build 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 |
+
}
|