Sort layout groups by default, simplify sorting

pull/358/head
Michael Shamoon 2 years ago
parent bd97d5ff2e
commit ae3f847cef

@ -77,6 +77,7 @@ export async function servicesResponse() {
]; ];
const mergedGroups = []; const mergedGroups = [];
const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null;
mergedGroupsNames.forEach((groupName) => { mergedGroupsNames.forEach((groupName) => {
const discoveredGroup = discoveredServices.find((group) => group.name === groupName) || { services: [] }; const discoveredGroup = discoveredServices.find((group) => group.name === groupName) || { services: [] };
@ -87,21 +88,14 @@ export async function servicesResponse() {
services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service), services: [...discoveredGroup.services, ...configuredGroup.services].filter((service) => service),
}; };
mergedGroups.push(mergedGroup); if (definedLayouts) {
}); const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name);
if (layoutIndex > -1) mergedGroups.splice(layoutIndex, 0, mergedGroup);
let sortedServices = []; else mergedGroups.push(mergedGroup);
} else {
const layouts = Object.keys(initialSettings.layout); mergedGroups.push(mergedGroup);
layouts.forEach((currentServer) => {
if (initialSettings.layout[currentServer]?.sort) {
const idx = mergedGroups.findIndex((service) => service.name === currentServer);
sortedServices.push(...mergedGroups.splice(idx, 1));
} }
}); });
if (mergedGroups.length) {
sortedServices = sortedServices.concat(mergedGroups);
}
return sortedServices; return mergedGroups;
} }

Loading…
Cancel
Save