Remove PluginsContext

The plugins are available as a property on the Control provided by the
ControlContext which makes the PluginsContext redundant.  Remove it and
use ControlContext to retreive the plugin list in the app.
This commit is contained in:
Hornwitser committed 2021-05-16 20:36:09 +02:00
1 parent 4014eb4ec2
commit 19ebee4697
7 files changed
+12 -16

No files matched your search

+1 -1
View File
@@ -90,5 +90,5 @@ export default async function bootstrap() {
controlConnector.setTimeout(15);
let control = new Control(controlConnector, plugins);
ReactDOM.render(<App control={control} plugins={plugins}/>, document.getElementById("root"));
ReactDOM.render(<App control={control}/>, document.getElementById("root"));
}
+3 -6
View File
@@ -7,7 +7,6 @@ import { logger } from "@clusterio/lib/logging";
import ErrorBoundary from "./ErrorBoundary";
import SiteLayout from "./SiteLayout";
import ControlContext from "./ControlContext";
import PluginsContext from "./PluginsContext";
import LoginForm from "./LoginForm";
import { Card, Spin, Typography } from "antd";
@@ -95,11 +94,9 @@ export default function App(props) {
return (
<ErrorBoundary Component={ErrorCard}>
<ControlContext.Provider value={props.control}>
<PluginsContext.Provider value={props.plugins}>
<BrowserRouter basename={webRoot}>
{page}
</BrowserRouter>
</PluginsContext.Provider>
<BrowserRouter basename={webRoot}>
{page}
</BrowserRouter>
</ControlContext.Provider>
</ErrorBoundary>
);
+2 -2
View File
@@ -3,7 +3,7 @@ import { Button, Card, Divider, Form, Image, Input, List, Space, Spin, Typograph
import LockOutlined from "@ant-design/icons/LockOutlined";
import logo from "../images/logo.png";
import PluginsContext from "./PluginsContext";
import ControlContext from "./ControlContext";
const { Paragraph, Text } = Typography;
@@ -33,7 +33,7 @@ function TokenAuth(props) {
}
export default function LoginForm(props) {
let plugins = useContext(PluginsContext);
let plugins = useContext(ControlContext).plugins;
let loginForms = [];
for (let plugin of plugins.values()) {
@@ -2,14 +2,14 @@ import React, { useEffect, useContext, useState } from "react";
import { useHistory, useParams } from "react-router-dom";
import { Alert, Descriptions, Spin } from "antd";
import PluginsContext from "./PluginsContext";
import ControlContext from "./ControlContext";
import PageLayout from "./PageLayout";
import { notifyErrorHandler } from "../util/notify";
export default function PluginViewPage() {
let params = useParams();
let plugins = useContext(PluginsContext);
let plugins = useContext(ControlContext).plugins;
let [pluginList, setPluginList] = useState(null);
let pluginName = params.name;
@@ -3,12 +3,12 @@ import { useHistory } from "react-router-dom";
import { Table } from "antd";
import notify from "../util/notify";
import PluginsContext from "./PluginsContext";
import ControlContext from "./ControlContext";
import PageLayout from "./PageLayout";
export default function PluginsPage() {
let plugins = useContext(PluginsContext);
let plugins = useContext(ControlContext).plugins;
let history = useHistory();
let [pluginList, setPluginList] = useState([]);
@@ -7,7 +7,7 @@ import webUiPackage from "../../package.json";
import { useAccount } from "../model/account";
import ErrorBoundary from "./ErrorBoundary";
import ErrorPage from "./ErrorPage";
import PluginsContext from "./PluginsContext";
import ControlContext from "./ControlContext";
import { pages } from "../pages";
const { Header, Sider } = Layout;
@@ -17,7 +17,7 @@ export default function SiteLayout(props) {
let history = useHistory();
let [currentSidebarPath, setCurrentSidebarPath] = useState(null);
let account = useAccount();
let plugins = useContext(PluginsContext);
let plugins = useContext(ControlContext).plugins;
function SetSidebar(setSidebarProps) {
useEffect(() => {
-1
View File
@@ -8,7 +8,6 @@ export * from "./model/item_metadata.jsx";
export { default as ControlContext } from "./components/ControlContext";
export { default as PluginsContext } from "./components/PluginsContext";
export { default as BaseConfigTree } from "./components/BaseConfigTree";
export { default as InstanceConfigTree } from "./components/InstanceConfigTree";