fixed search for dynamic extension menus

snap7
jmoenig 2021-06-19 11:45:45 +02:00
rodzic 9c582e785e
commit dd17330cb8
3 zmienionych plików z 16 dodań i 12 usunięć

Wyświetl plik

@ -9,6 +9,7 @@
### 2021-06-19
* extensions: added color extension primitives
* byob: fixed search for dynamic extension menus
### 2021-06-18
* extensions: added text extension primitives

Wyświetl plik

@ -14,7 +14,7 @@
<script src="src/gui.js?version=2021-06-14"></script>
<script src="src/paint.js?version=2020-05-17"></script>
<script src="src/lists.js?version=2021-03-15"></script>
<script src="src/byob.js?version=2021-06-18"></script>
<script src="src/byob.js?version=2021-06-19"></script>
<script src="src/tables.js?version=2021-03-05"></script>
<script src="src/sketch.js?version=2020-07-13"></script>
<script src="src/video.js?version=2019-06-27"></script>

Wyświetl plik

@ -106,7 +106,7 @@ WatcherMorph, XML_Serializer, SnapTranslator, SnapExtensions*/
// Global stuff ////////////////////////////////////////////////////////
modules.byob = '2021-June-18';
modules.byob = '2021-June-19';
// Declarations
@ -380,16 +380,19 @@ CustomBlockDefinition.prototype.menuSearchWords = function () {
var menu = this.dropDownMenuOf(slot);
if (menu) {
if (isString(menu)) { // special menu, translates its values
menu = InputSlotMorph.prototype[menu](true);
terms.push(
Object.values(menu).map(entry => {
if (isNil(entry)) {return ''; }
if (entry instanceof Array) {
return localize(entry[0]);
}
return entry.toString();
}).join(' ')
);
if (typeof InputSlotMorph.prototype[menu] === 'function') {
// catch typos in extension menus
menu = InputSlotMorph.prototype[menu](true);
terms.push(
Object.values(menu).map(entry => {
if (isNil(entry)) {return ''; }
if (entry instanceof Array) {
return localize(entry[0]);
}
return entry.toString();
}).join(' ')
);
}
} else { // assume a dictionary, take its keys
terms.push(Object.keys(menu).join(' '));
}