Merge pull request #178 from Lawrr/fix-refresh-resetting-loaders
Fix refresh resetting loader values to default
This commit is contained in:
+27
-2
@@ -143,14 +143,39 @@ app.registerExtension({
|
||||
// Override the option values to check if we should render a menu structure
|
||||
Object.defineProperty(res.widget.options, "values", {
|
||||
get() {
|
||||
let v = values;
|
||||
|
||||
if (submenuSetting.value) {
|
||||
if (!menu) {
|
||||
// Only build the menu once
|
||||
menu = buildMenu(res.widget, values);
|
||||
}
|
||||
return menu;
|
||||
v = menu;
|
||||
}
|
||||
return values;
|
||||
|
||||
const valuesIncludes = v.includes;
|
||||
v.includes = function (searchElement) {
|
||||
const includesFromMenuItems = function (items) {
|
||||
for (const item of items) {
|
||||
if (includesFromMenuItem(item)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
const includesFromMenuItem = function (item) {
|
||||
if (item.submenu) {
|
||||
return includesFromMenuItems(item.submenu.options)
|
||||
} else {
|
||||
return item.content === searchElement.content;
|
||||
}
|
||||
}
|
||||
|
||||
const includes = valuesIncludes.apply(this, arguments) || includesFromMenuItems(this);
|
||||
return includes;
|
||||
}
|
||||
|
||||
return v;
|
||||
},
|
||||
set(v) {
|
||||
// Options are changing (refresh) so reset the menu so it can be rebuilt if required
|
||||
|
||||
Reference in New Issue
Block a user