Omada widget : spliting widget between WLAN and LAN/WAN fields to have no more than 5 fields per widget.
This commit is contained in:
parent
e12cc65c77
commit
a1babd860c
7 changed files with 64 additions and 14 deletions
|
@ -25,6 +25,7 @@ const components = {
|
|||
npm: dynamic(() => import("./npm/component")),
|
||||
nzbget: dynamic(() => import("./nzbget/component")),
|
||||
omada: dynamic(() => import("./omada/component")),
|
||||
omadalan: dynamic(() => import("./omadalan/component")),
|
||||
ombi: dynamic(() => import("./ombi/component")),
|
||||
overseerr: dynamic(() => import("./overseerr/component")),
|
||||
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
||||
|
|
|
@ -24,11 +24,6 @@ export default function Component({ service }) {
|
|||
<Block label="omada.activeUser" />
|
||||
<Block label="omada.alerts" />
|
||||
<Block label="omada.isolatedAp" />
|
||||
<Block label="omada.connectedGateway" />
|
||||
<Block label="omada.powerConsumption" />
|
||||
<Block label="omada.availablePorts" />
|
||||
<Block label="omada.connectedSwitches" />
|
||||
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
@ -39,11 +34,6 @@ export default function Component({ service }) {
|
|||
<Block label="omada.activeUser" value={t( "common.number", { value: omadaData.activeUser })} />
|
||||
<Block label="omada.alerts" value={t( "common.number", { value: omadaData.alerts })} />
|
||||
<Block label="omada.isolatedAp" value={t("common.number", { value: omadaData.isolatedAp})} />
|
||||
<Block label="omada.connectedGateway" value={t("common.number", { value: omadaData.connectedGateways})}/>
|
||||
<Block label="omada.powerConsumption" value={t("common.power", { value: omadaData.powerConsumption})}/>
|
||||
<Block label="omada.availablePorts" value={t("common.number", { value: omadaData.availablePorts})}/>
|
||||
<Block label="omada.connectedSwitches" value={t("common.number", { value: omadaData.connectedSwitches})} />
|
||||
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import createLogger from "utils/logger";
|
|||
import widgets from "widgets/widgets";
|
||||
|
||||
const proxyName = "omadaProxyHandler";
|
||||
// const tokenCacheKey = `${proxyName}__token`;
|
||||
|
||||
const logger = createLogger(proxyName);
|
||||
|
||||
|
||||
|
@ -61,6 +61,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||
let cversion;
|
||||
let connectedAp;
|
||||
let isolatedAp;
|
||||
let disconnectedAp;
|
||||
let activeuser;
|
||||
let connectedSwitches;
|
||||
let connectedGateways;
|
||||
|
@ -210,6 +211,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||
connectedAp = data.result.connectedAp;
|
||||
activeuser = data.result.activeUser;
|
||||
isolatedAp = data.result.isolatedAp;
|
||||
disconnectedAp = data.result.disconnectedAp;
|
||||
alerts = data.result.alerts;
|
||||
|
||||
} else {
|
||||
|
@ -274,7 +276,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||
"connectedSwitches": connectedSwitches,
|
||||
"availablePorts": availablePorts,
|
||||
"powerConsumption": powerConsumption,
|
||||
|
||||
"disconnectedAp": disconnectedAp,
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ const widget = {
|
|||
mappings: {
|
||||
stats: {
|
||||
endpoint: "controller",
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
41
src/widgets/omadalan/component.jsx
Normal file
41
src/widgets/omadalan/component.jsx
Normal file
|
@ -0,0 +1,41 @@
|
|||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import useWidgetAPI from "../../utils/proxy/use-widget-api";
|
||||
import Container from "../../components/services/widget/container";
|
||||
import Block from "../../components/services/widget/block";
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { widget } = service;
|
||||
|
||||
const { data: omadaData, error: omadaAPIError } = useWidgetAPI(widget, "stats", {
|
||||
refreshInterval: 5000,
|
||||
});
|
||||
|
||||
if (omadaAPIError) {
|
||||
return <Container error={omadaAPIError} />;
|
||||
}
|
||||
|
||||
if (!omadaData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="omada.alerts" />
|
||||
<Block label="omada.connectedGateway" />
|
||||
<Block label="omada.powerConsumption" />
|
||||
<Block label="omada.availablePorts" />
|
||||
<Block label="omada.connectedSwitches" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="omada.alerts" value={t( "common.number", { value: omadaData.alerts })} />
|
||||
<Block label="omada.connectedGateway" value={t("common.number", { value: omadaData.connectedGateways})}/>
|
||||
<Block label="omada.powerConsumption" value={t("common.power", { value: omadaData.powerConsumption})}/>
|
||||
<Block label="omada.availablePorts" value={t("common.number", { value: omadaData.availablePorts})}/>
|
||||
<Block label="omada.connectedSwitches" value={t("common.number", { value: omadaData.connectedSwitches})} />
|
||||
</Container>
|
||||
);
|
||||
}
|
15
src/widgets/omadalan/widget.js
Normal file
15
src/widgets/omadalan/widget.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
import omadaProxyHandler from "../omada/proxy";
|
||||
// import genericProxyHandler from "../../utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/web/v1/{endpoint}",
|
||||
proxyHandler: omadaProxyHandler,
|
||||
|
||||
mappings: {
|
||||
stats: {
|
||||
endpoint: "controller",
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default widget;
|
|
@ -19,6 +19,8 @@ import mastodon from "./mastodon/widget";
|
|||
import navidrome from "./navidrome/widget";
|
||||
import npm from "./npm/widget";
|
||||
import nzbget from "./nzbget/widget";
|
||||
import omada from "./omada/widget";
|
||||
import omadalan from './omadalan/widget';
|
||||
import ombi from "./ombi/widget";
|
||||
import overseerr from "./overseerr/widget";
|
||||
import paperlessngx from "./paperlessngx/widget";
|
||||
|
@ -43,7 +45,6 @@ import transmission from "./transmission/widget";
|
|||
import tubearchivist from "./tubearchivist/widget";
|
||||
import truenas from "./truenas/widget";
|
||||
import unifi from "./unifi/widget";
|
||||
import omada from "./omada/widget";
|
||||
import watchtower from './watchtower/widget'
|
||||
|
||||
const widgets = {
|
||||
|
@ -70,6 +71,7 @@ const widgets = {
|
|||
npm,
|
||||
nzbget,
|
||||
omada,
|
||||
omadalan,
|
||||
ombi,
|
||||
overseerr,
|
||||
paperlessngx,
|
||||
|
|
Loading…
Add table
Reference in a new issue