test
This commit is contained in:
parent
27488b6b3f
commit
fab4f59336
@ -17,6 +17,8 @@ import MenuItem from '@mui/material/MenuItem';
|
|||||||
import MenuList from '@mui/material/MenuList';
|
import MenuList from '@mui/material/MenuList';
|
||||||
import { Permission } from "./actions";
|
import { Permission } from "./actions";
|
||||||
import TerminalComponent from "./terminal";
|
import TerminalComponent from "./terminal";
|
||||||
|
import ReactDOM, { render } from "react-dom";
|
||||||
|
import { createRoot } from "react-dom/client";
|
||||||
|
|
||||||
export const apiAuthenticatedContext: Context<[boolean, Dispatch<boolean>]> = createContext([false, (value: boolean) => {}] as [boolean, Dispatch<boolean>])
|
export const apiAuthenticatedContext: Context<[boolean, Dispatch<boolean>]> = createContext([false, (value: boolean) => {}] as [boolean, Dispatch<boolean>])
|
||||||
|
|
||||||
@ -263,9 +265,18 @@ export function ActionItem(p: { action: ActionInfo, identifierSubstring?: string
|
|||||||
function onFormChange(args: IChangeEvent<any, RJSFSchema, any>) {
|
function onFormChange(args: IChangeEvent<any, RJSFSchema, any>) {
|
||||||
setFormData(args.formData)
|
setFormData(args.formData)
|
||||||
}
|
}
|
||||||
|
function openTerminalWindow(websocketUrl: string) {
|
||||||
|
const terminalWindow = window.open('', '', 'width=800,height=600');
|
||||||
|
if (terminalWindow) {
|
||||||
|
terminalWindow.document.write('<div id="terminal-root" style="width:100%; height:100%"></div>');
|
||||||
|
terminalWindow.document.title = "Terminal";
|
||||||
|
createRoot(terminalWindow.document.getElementById('terminal-root')!).render(<TerminalComponent websocket={websocketUrl} />);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (<>
|
return (<>
|
||||||
<Button variant={p.variant} disabled={!isUserAllowed(user, p.action)} onClick={() => { if (p.onClick) { p.onClick() } p.action.response_action == 'Terminal'?setTerminal(`ws${API_URL.slice("http".length)}${url}`):setForm(true) }} sx={p.sx}>{p.action.name}</Button >
|
<Button variant={p.variant} disabled={!isUserAllowed(user, p.action)} onClick={() => { if (p.onClick) { p.onClick() } p.action.response_action == 'Terminal'?openTerminalWindow(`ws${API_URL.slice("http".length)}${url}`):setForm(true) }} sx={p.sx}>{p.action.name}</Button >
|
||||||
<Modal
|
<Modal
|
||||||
onClose={() => { setForm(false); setFormData({}); }}
|
onClose={() => { setForm(false); setFormData({}); }}
|
||||||
open={form}
|
open={form}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user