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 { useRef, useEffect } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { columnMap } from "../../utils/layout/columns";
import { Disclosure, Transition } from "@headlessui/react"; import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md"; import { MdKeyboardArrowDown } from "react-icons/md";
import { columnMap } from "../../utils/layout/columns";
import List from "components/services/list"; import List from "components/services/list";
import ResolvedIcon from "components/resolvedicon"; import ResolvedIcon from "components/resolvedicon";

View File

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

View File

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