Добавил страницу для SRM
This commit is contained in:
parent
1f6355fe32
commit
b815de23c0
|
|
@ -11,6 +11,7 @@ import { TDNSConfig } from '../pages/TDNS.js';
|
||||||
import { FRRConfig } from '../pages/FRR.js';
|
import { FRRConfig } from '../pages/FRR.js';
|
||||||
import { ROSConfig } from '../pages/ROS.js';
|
import { ROSConfig } from '../pages/ROS.js';
|
||||||
import { DNSMASQConfig } from '../pages/DNSMASQ.js';
|
import { DNSMASQConfig } from '../pages/DNSMASQ.js';
|
||||||
|
import { SRMPage } from '../pages/SRM.js';
|
||||||
import { SettingsPage } from '../pages/Settings.js';
|
import { SettingsPage } from '../pages/Settings.js';
|
||||||
import { LogsPage } from '../pages/Logs.js';
|
import { LogsPage } from '../pages/Logs.js';
|
||||||
import { NetworkResourcesPage } from '../pages/NetworkResources.js';
|
import { NetworkResourcesPage } from '../pages/NetworkResources.js';
|
||||||
|
|
@ -34,6 +35,7 @@ const allMenuItems = [
|
||||||
{ label: 'Настройка FRR', path: 'frr', component: 'ru.kirillius.pf.sdn.External.API.Components.FRR' },
|
{ label: 'Настройка FRR', path: 'frr', component: 'ru.kirillius.pf.sdn.External.API.Components.FRR' },
|
||||||
{ label: 'Настройка ROS', path: 'ros', component: 'ru.kirillius.pf.sdn.External.API.Components.ROS' },
|
{ label: 'Настройка ROS', path: 'ros', component: 'ru.kirillius.pf.sdn.External.API.Components.ROS' },
|
||||||
{ label: 'Настройка DNSMASQ', path: 'dnsmasq', component: 'ru.kirillius.pf.sdn.External.API.Components.DNSMASQ' },
|
{ label: 'Настройка DNSMASQ', path: 'dnsmasq', component: 'ru.kirillius.pf.sdn.External.API.Components.DNSMASQ' },
|
||||||
|
{ label: 'SRM', path: 'srm', component: 'ru.kirillius.pf.sdn.External.API.Components.SRM' },
|
||||||
{ label: 'Журнал', path: 'logs', component: null },
|
{ label: 'Журнал', path: 'logs', component: null },
|
||||||
{ label: 'Сетевые ресурсы', path: 'network-resources', component: null },
|
{ label: 'Сетевые ресурсы', path: 'network-resources', component: null },
|
||||||
{ label: 'Разблокировка сайта', path: 'unlock-site', component: null },
|
{ label: 'Разблокировка сайта', path: 'unlock-site', component: null },
|
||||||
|
|
@ -92,6 +94,11 @@ const routes = {
|
||||||
mount: DNSMASQConfig.mount,
|
mount: DNSMASQConfig.mount,
|
||||||
unmount: DNSMASQConfig.unmount
|
unmount: DNSMASQConfig.unmount
|
||||||
},
|
},
|
||||||
|
'#srm': {
|
||||||
|
render: SRMPage.render,
|
||||||
|
mount: SRMPage.mount,
|
||||||
|
unmount: SRMPage.unmount
|
||||||
|
},
|
||||||
'#logs': {
|
'#logs': {
|
||||||
render: LogsPage.render,
|
render: LogsPage.render,
|
||||||
mount: LogsPage.mount,
|
mount: LogsPage.mount,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
import $ from 'jquery';
|
||||||
|
|
||||||
|
function getBaseUrl() {
|
||||||
|
return window.location.origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const SRMPage = {
|
||||||
|
render: () => {
|
||||||
|
const baseUrl = getBaseUrl();
|
||||||
|
const updateUrl = `${baseUrl}/webhook/SRM/update`;
|
||||||
|
const subnetsUrl = `${baseUrl}/webhook/SRM/subnets`;
|
||||||
|
|
||||||
|
return `
|
||||||
|
<h1 class="page-title">SRM Webhooks</h1>
|
||||||
|
<div class="component-config-form">
|
||||||
|
<p class="hint-text" style="margin-bottom: 20px;">
|
||||||
|
SRM предоставляет HTTP webhook'ы для получения информации о текущем состоянии подсетей.
|
||||||
|
Настройка не требуется — компонент отслеживает изменения автоматически.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="srm-update-url">Последнее обновление</label>
|
||||||
|
<textarea id="srm-update-url" class="form-control" readonly rows="1"
|
||||||
|
style="font-family: monospace; resize: vertical; cursor: text;"
|
||||||
|
onclick="this.select();">${updateUrl}</textarea>
|
||||||
|
<small class="hint-text">Возвращает временную метку (unix timestamp) последнего обновления списка подсетей.</small>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" style="margin-top: 20px;">
|
||||||
|
<label for="srm-subnets-url">Список подсетей</label>
|
||||||
|
<textarea id="srm-subnets-url" class="form-control" readonly rows="1"
|
||||||
|
style="font-family: monospace; resize: vertical; cursor: text;"
|
||||||
|
onclick="this.select();">${subnetsUrl}</textarea>
|
||||||
|
<small class="hint-text">Возвращает текущий список подсетей в формате JSON array.</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
},
|
||||||
|
mount: async () => {},
|
||||||
|
unmount: () => {}
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue