This commit is contained in:
shamoon 2024-11-27 16:47:55 -08:00
parent e4212f527f
commit 964844bd30
3 changed files with 9 additions and 6 deletions

View File

@ -1,9 +1,10 @@
import { useRef, useEffect } from "react";
import classNames from "classnames";
import { columnMap } from "../../utils/layout/columns";
import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md";
import { columnMap } from "../../utils/layout/columns";
import List from "components/services/list";
import ResolvedIcon from "components/resolvedicon";

View File

@ -88,6 +88,7 @@ export async function widgetsResponse() {
function mergeSubgroups(configuredGroups, mergedGroup) {
configuredGroups.forEach((group) => {
if (group.name === mergedGroup.name) {
// eslint-disable-next-line no-param-reassign
group.services = mergedGroup.services;
} else if (group.groups) {
mergeSubgroups(group.groups, mergedGroup);

View File

@ -22,16 +22,16 @@ function parseServicesToGroups(services) {
return services.map((serviceGroup) => {
const name = Object.keys(serviceGroup)[0];
let groups = [];
let services = [];
const serviceGroupServices = [];
serviceGroup[name].forEach((entries) => {
const entryName = Object.keys(entries)[0];
if (Array.isArray(entries[entryName])) {
groups = groups.concat(parseServicesToGroups([{ [entryName]: entries[entryName] }]));
} else {
services.push({
serviceGroupServices.push({
name: entryName,
...entries[entryName],
weight: entries[entryName].weight || services.length * 100, // default weight
weight: entries[entryName].weight || serviceGroupServices.length * 100, // default weight
type: "service",
});
}
@ -39,7 +39,7 @@ function parseServicesToGroups(services) {
return {
name,
type: "group",
services,
services: serviceGroupServices,
groups,
};
});
@ -681,7 +681,8 @@ export function cleanServiceGroups(groups) {
}
export function findGroupByName(groups, name) {
for (const group of groups) {
for (let i = 0; i < groups.length; i += 1) {
const group = groups[i];
if (group.name === name) {
return group;
} else if (group.groups) {