summaryrefslogtreecommitdiffstats
path: root/interface/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'interface/index.html')
-rw-r--r--interface/index.html288
1 files changed, 142 insertions, 146 deletions
diff --git a/interface/index.html b/interface/index.html
index d2931ffba..5fe3bca68 100644
--- a/interface/index.html
+++ b/interface/index.html
@@ -15,7 +15,9 @@
<meta name="msapplication-TileColor" content="#2b5797">
<link href="./css/bootstrap.min.css" rel="stylesheet">
- <link rel="stylesheet" type="text/css" href="./css/footable.bootstrap.min.css"/>
+ <link rel="stylesheet" type="text/css" href="./css/font-glyphicons.css">
+ <link rel="stylesheet" type="text/css" href="./css/footable.standalone.min.css"/>
+ <link rel="stylesheet" type="text/css" href="./css/FooTable.Glyphicons.css"/>
<link rel="stylesheet" type="text/css" href="./css/d3evolution.css">
<link rel="stylesheet" type="text/css" href="./css/nprogress.css"/>
<link href="./css/rspamd.css" rel="stylesheet">
@@ -23,51 +25,49 @@
<body>
-<nav class="navbar navbar-default" id="navBar">
- <div class="container-fluid">
- <div class="navbar-header navbar-brand">
- <img src="./img/rspamd_logo_navbar.png" alt="Rspamd">
- </div>
- <form class="navbar-form navbar-left">
- <select id="selSrv" class="form-control"></select>
- </form>
- <ul class="nav navbar-nav nav-pills nav-tabs-sticky" role="tablist">
- <li role="presentation"><a id="status_nav" aria-controls="status" role="tab" href="#status" data-toggle="tab">Status</a></li>
-
- <li role="presentation"><a id="throughput_nav" aria-controls="throughput" role="tab" href="#throughput" data-toggle="tab">Throughput</a></li>
-
- <li role="presentation"><a id="configuration_nav" aria-controls="configuration" role="tab" href="#configuration" data-toggle="tab">Configuration</a></li>
- <li role="presentation"><a id="symbols_nav" aria-controls="symbols" role="tab" href="#symbols" data-toggle="tab">Symbols</a></li>
- <li role="presentation"><a id="scan_nav" aria-controls="scan" role="tab" href="#scan" data-toggle="tab">Scan<span class="learn" style="display: none;">/Learn</span></a></li>
- <li role="presentation"><a id="selectors_nav" aria-controls="selectors" role="tab" href="#selectors" data-toggle="tab" style="display: none;">Test selectors</a></li>
- <li role="presentation"><a id="history_nav" aria-controls="history" role="tab" href="#history" data-toggle="tab">History</a></li>
- </ul>
- <form class="navbar-form navbar-right" style="display: none;">
- <div class="btn-group">
- <a href="#" class="btn btn-default" role="button" data-toggle="button" id="refresh" style="display: none;"><i class="glyphicon glyphicon-refresh glyphicon-spin"></i> Refresh</a>
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="autoRefresh">
- <span id="countdown">--:--</span> <span class="caret"></span>
- </button>
- <ul class="dropdown-menu">
- <li class="preset"><a href="#" data-value=null>Disable</a></li>
- <li class="preset divider" role="separator"></li>
- <li class="preset active"><a href="#" data-value="10000">10 seconds</a></li>
- <li class="preset"><a href="#" data-value="30000">30 seconds</a></li>
- <li class="preset divider" role="separator"></li>
- <li class="preset"><a href="#" data-value="60000">1 minute</a></li>
- <li class="preset"><a href="#" data-value="600000">10 minutes</a></li>
- <li class="preset"><a href="#" data-value="1800000">30 minutes</a></li>
- <li class="preset divider" role="separator"></li>
- <li class="preset"><a href="#" data-value="3600000">1 hour</a></li>
-
- <li class="dynamic"><a href="#" data-value=null>Disable</a></li>
- <li class="dynamic divider" role="separator"></li>
- <li class="dynamic active"><a href="#" id="dynamic-item" data-value="3600000">1 hour</a></li>
- </ul>
- </div>
- <a href="#" class="btn btn-default" role="button" data-toggle="button" id="disconnect"><i class="glyphicon glyphicon-off"></i> Disconnect</a>
- </form>
+<nav class="navbar navbar-light bg-light navbar-expand-md" id="navBar">
+ <form class="form-inline mr-auto">
+ <div class="navbar-header navbar-brand">
+ <img src="./img/rspamd_logo_navbar.png" alt="Rspamd">
</div>
+ <select id="selSrv" class="form-control"></select>
+ </form>
+ <ul class="nav navbar-nav nav-pills nav-tabs-sticky" role="tablist">
+ <li role="presentation" class="nav-item"><a id="status_nav" aria-controls="status" role="tab" href="#status" data-toggle="tab" class="nav-link">Status</a></li>
+
+ <li role="presentation" class="nav-item"><a id="throughput_nav" aria-controls="throughput" role="tab" href="#throughput" data-toggle="tab" class="nav-link">Throughput</a></li>
+
+ <li role="presentation" class="nav-item"><a id="configuration_nav" aria-controls="configuration" role="tab" href="#configuration" data-toggle="tab" class="nav-link">Configuration</a></li>
+ <li role="presentation" class="nav-item"><a id="symbols_nav" aria-controls="symbols" role="tab" href="#symbols" data-toggle="tab" class="nav-link">Symbols</a></li>
+ <li role="presentation" class="nav-item"><a id="scan_nav" aria-controls="scan" role="tab" href="#scan" data-toggle="tab" class="nav-link">Scan<span class="learn" style="display: none;">/Learn</span></a></li>
+ <li role="presentation" class="nav-item"><a id="selectors_nav" aria-controls="selectors" role="tab" href="#selectors" data-toggle="tab" class="nav-link" style="display: none;">Test selectors</a></li>
+ <li role="presentation" class="nav-item"><a id="history_nav" aria-controls="history" role="tab" href="#history" data-toggle="tab" class="nav-link">History</a></li>
+ </ul>
+ <form class="form-inline ml-auto" id="navbar-btn-form" style="display: none;">
+ <div class="btn-group">
+ <a href="#" class="btn btn-outline-secondary" role="button" data-toggle="button" id="refresh" style="display: none;"><i class="glyphicon glyphicon-refresh glyphicon-spin"></i> Refresh</a>
+ <button class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" id="autoRefresh">
+ <span id="countdown">--:--</span>
+ </button>
+ <div class="dropdown-menu">
+ <a class="dropdown-item preset" href="#" data-value=null>Disable</a>
+ <div class="dropdown-divider preset" role="separator"></div>
+ <a class="dropdown-item preset active" href="#" data-value="10000">10 seconds</a>
+ <a class="dropdown-item preset" href="#" data-value="30000">30 seconds</a>
+ <div class="dropdown-divider preset" role="separator"></div>
+ <a class="dropdown-item preset" href="#" data-value="60000">1 minute</a>
+ <a class="dropdown-item preset" href="#" data-value="600000">10 minutes</a>
+ <a class="dropdown-item preset" href="#" data-value="1800000">30 minutes</a>
+ <div class="dropdown-divider preset" role="separator"></div>
+ <a class="dropdown-item preset" href="#" data-value="3600000">1 hour</a>
+
+ <a class="dropdown-item dynamic" href="#" data-value=null>Disable</a>
+ <div class="dropdown-divider dynamic" role="separator"></div>
+ <a class="dropdown-item dynamic active" href="#" id="dynamic-item" data-value="3600000">1 hour</a>
+ </div>
+ </div>
+ <a href="#" class="btn btn-outline-secondary ml-2" role="button" data-toggle="button" id="disconnect"><i class="glyphicon glyphicon-off"></i> Disconnect</a>
+ </form>
</nav>
<div class="notification-area"></div>
@@ -79,7 +79,7 @@
<div class="tab-content">
<div class="tab-pane active" id="status">
<div class="row">
- <div class="col-md-12">
+ <div class="col-lg-12">
<div class="widget-box widget-plain">
<ul id="statWidgets" class="stat-boxes" style="display: none;">
</ul>
@@ -87,14 +87,14 @@
</div>
</div>
<div class="row">
- <div class="col-md-6">
+ <div class="col-lg-6">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-tasks"></i></span>
<h5>Servers</h5>
</div>
<div class="widget-content nopadding table-responsive">
- <table class="table table-hover table-bordered text-nowrap mb-0" id="clusterTable">
+ <table class="table table-sm table-hover table-bordered text-nowrap mb-0" id="clusterTable">
<thead>
<tr>
<th></th>
@@ -110,7 +110,7 @@
</div>
</div>
</div>
- <div class="col-md-6">
+ <div class="col-lg-6">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-signal"></i></span>
@@ -211,7 +211,7 @@
<span class="icon"><i class="glyphicon glyphicon-list"></i></span><h5>Lists</h5>
</div>
<div class="widget-content nopadding">
- <table class="table table-condensed table-hover" id="listMaps">
+ <table class="table table-sm table-hover" id="listMaps">
</table>
</div>
</div>
@@ -219,14 +219,14 @@
<div class="tab-pane" id="symbols">
<div class="widget-box">
- <div class="widget-title">
- <div class="buttons pull-right">
+ <div class="widget-title d-flex">
+ <span class="icon"><i class="glyphicon glyphicon-tasks"></i></span>
+ <h5 class="ml-0">Symbols and rules</h5>
+ <div class="buttons align-self-center ml-auto mr-1">
<button class="btn btn-info btn-sm" id="updateSymbols">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
- <span class="icon"><i class="glyphicon glyphicon-tasks"></i></span>
- <h5>Symbols and rules</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-hover" id="symbolsTable"></table>
@@ -243,13 +243,13 @@
<div class="widget-content">
<h5>Message source:</h5>
<div class="row">
- <form class="col-md-12" id="scanForm">
+ <form class="col-lg-12" id="scanForm">
<div class="form-group">
<textarea class="form-control" id="scanMsgSource" rows="10" placeholder="Paste raw message source"></textarea>
</div>
<div class="form-group">
- <button type="submit" class="btn btn-default btn-primary" data-upload="scan"><i class="glyphicon glyphicon-search"></i> Scan message</button>
- <button class="btn btn-default pull-right" id="scanClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
+ <button type="submit" class="btn btn-primary" data-upload="scan"><i class="glyphicon glyphicon-search"></i> Scan message</button>
+ <button class="btn btn-secondary float-right" id="scanClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
</div>
</form>
</div>
@@ -262,10 +262,10 @@
</div>
<div class="widget-content">
<div class="row">
- <div class="col-md-6">
- <div class="well well-sm">
+ <div class="col-lg-6">
+ <div class="card bg-light card-body mb-3 card bg-faded p-2 mb-3">
+ <h5>Learn Bayessian classifier:</h5>
<form class="form-inline">
- <h5>Learn Bayessian classifier:</h5>
<div class="form-group">
<div class="btn-group">
<button class="btn btn-success" type="button" data-upload="ham" disabled><i class="glyphicon glyphicon-thumbs-up"></i> Upload HAM</button>
@@ -275,19 +275,19 @@
</form>
</div>
</div>
- <div class="col-md-6">
- <div class="well well-sm">
+ <div class="col-lg-6">
+ <div class="card bg-light card-body mb-3 card bg-faded p-2 mb-3">
+ <h5>Learn Fuzzy storage:</h5>
<form class="form-inline">
- <h5>Learn Fuzzy storage:</h5>
<div class="form-group">
<label for="fuzzyFlagText">Flag:</label>
- <input name="fuzzyFlagText" id="fuzzyFlagText" class="form-control" type="number" value="1"/>
+ <input name="fuzzyFlagText" id="fuzzyFlagText" class="form-control ml-1" type="number" value="1"/>
</div>
- <div class="form-group">
+ <div class="form-group ml-2">
<label for="fuzzyWeightText">Weight:</label>
- <input name="fuzzyWeightText" id="fuzzyWeightText" class="form-control" type="number" value="1"/>
+ <input name="fuzzyWeightText" id="fuzzyWeightText" class="form-control ml-1" type="number" value="1"/>
</div>
- <button class="btn btn-warning" data-upload="fuzzy" disabled><i class="glyphicon glyphicon-upload"></i> Upload FUZZY</button>
+ <button class="btn btn-warning ml-2" data-upload="fuzzy" disabled><i class="glyphicon glyphicon-upload"></i> Upload FUZZY</button>
</form>
</div>
</div>
@@ -296,22 +296,22 @@
</div>
<div class="widget-box">
- <div class="widget-title">
- <div id="scanResult" class="form-inline widget-title-form input-group-sm pull-right buttons">
+ <div class="widget-title d-flex">
+ <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
+ <h5 class="ml-0">Scan results history</h5>
+ <div id="scanResult" class="form-inline widget-title-form input-group-sm buttons align-self-center ml-auto mr-1">
<label for="selSymOrder_scan">Symbols order:</label>
- <select id="selSymOrder_scan" class="form-control">
+ <select id="selSymOrder_scan" class="form-control ml-1">
<option value="magnitude" selected>Score magnitude</option>
<option value="score">Score value</option>
<option value="name">Name</option>
</select>
- <label for="scan_page_size">Rows per page:</label>
- <input id="scan_page_size" class="form-control" value="25" min="1" type="number">
- <button class="btn btn-default btn-sm" id="cleanScanHistory">
+ <label for="scan_page_size" class="ml-2">Rows per page:</label>
+ <input id="scan_page_size" class="form-control ml-1" value="25" min="1" type="number">
+ <button class="btn btn-secondary btn-sm ml-2" id="cleanScanHistory">
<i class="glyphicon glyphicon-trash"></i> Clean history
</button>
</div>
- <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
- <h5>Scan results history</h5>
</div>
<div class="widget-content nopadding">
<div id="scanLog">
@@ -329,65 +329,69 @@
</div>
<div class="widget-content">
<div class="row" id="row-main">
- <div class="col-md-3 sidebar" id="sidebar-left">
+ <div class="col-lg-3 sidebar" id="sidebar-left">
<div class="nopadding table-responsive">
- <table class="table table-condensed small table-striped table-hover table-bordered" id="selectorsTable-extractors">
+ <table class="table table-sm small table-striped table-hover table-bordered" id="selectorsTable-extractors">
<thead><tr><th>Name</th><th>Description</th></tr></thead>
<tbody/>
</table>
</div>
</div>
- <div class="col-md-6 col-xs-12" id="content">
+ <div class="col-lg-6 col-12" id="content">
- <div class="row">
- <ul class="nav nav-tabs sidebar-nav">
- <li class="active text-nowrap" id="sidebar-tab-left">
- <a><div id="sidebar-tab-text-left">&#x2195;&ensp;List of extractors</div></a>
+ <div class="row navbar-light">
+ <ul class="nav navbar-nav nav-tabs sidebar-nav">
+ <li class="active text-nowrap nav-item" id="sidebar-tab-left">
+ <a class="nav-link" href=""><div id="sidebar-tab-text-left">&#x2195;&ensp;List of extractors</div></a>
</li>
</ul>
- <div class="col-xs-12">
- <form class="col-xs-12">
- <div class="form-group row">
- <div class="form-group">
- <label for="selectorsMsgArea">Message source:</label>
- <textarea class="form-control" id="selectorsMsgArea" rows="9" placeholder="Paste raw message source"></textarea>
- </div>
- <div class="form-group">
- <button class="btn btn-default pull-right" id="selectorsMsgClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
- </div>
- </div>
-
- <div class="form-group row">
- <div class="form-group has-feedback">
- <label for="selectorsSelArea">Selector(s):</label>
- <textarea class="form-control" id="selectorsSelArea" rows="1" placeholder="extractor.transform(arg);extractor.transform(arg);..."></textarea>
- <span id="selector-feedback-icon" class="glyphicon form-control-feedback"></span>
- </div>
- <div class="form-group">
- <button type="submit" class="btn btn-default btn-primary" id="selectorsChkMsgBtn"><i class="glyphicon glyphicon-search"></i> Check message</button>
- <button class="btn btn-default pull-right" id="selectorsClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
+ <div class="col-lg col-12">
+ <div class="row">
+ <form class="col-12">
+ <div class="row pt-3">
+ <div class="col">
+ <div class="form-group">
+ <label for="selectorsMsgArea">Message source:</label>
+ <textarea class="form-control" id="selectorsMsgArea" rows="9" placeholder="Paste raw message source"></textarea>
+ </div>
+ <button class="btn btn-secondary float-right" id="selectorsMsgClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
+ </div>
+ </div>
+ <div class="row pt-3">
+ <div class="col">
+ <div class="form-group">
+ <label for="selectorsSelArea">Selector(s):</label>
+ <textarea class="form-control" id="selectorsSelArea" rows="1" placeholder="extractor.transform(arg);extractor.transform(arg);..."></textarea>
+ </div>
+ <button type="submit" class="btn btn-primary" id="selectorsChkMsgBtn"><i class="glyphicon glyphicon-search"></i> Check message</button>
+ <button class="btn btn-secondary float-right" id="selectorsClean"><i class="glyphicon glyphicon-trash"></i> Clean form</button>
+ </div>
+ </div>
+ <div class="row pt-3">
+ <div class="col">
+ <div class="form-group">
+ <label for="selectorsResArea">Result:</label>
+ <textarea class="form-control" id="selectorsResArea" rows="5" readonly></textarea>
+ </div>
+ </div>
+ </div>
+ </form>
</div>
</div>
- <div class="form-group row">
- <label for="selectorsResArea">Result:</label>
- <textarea class="form-control" id="selectorsResArea" rows="5" readonly></textarea>
- </div>
- </form>
- </div>
- <ul class="nav nav-tabs sidebar-nav">
- <li class="active text-nowrap" id="sidebar-tab-right">
- <a>&#x2195;&ensp;List of transforms</a>
+ <ul class="nav navbar-nav nav-tabs sidebar-nav">
+ <li class="active text-nowrap nav-item" id="sidebar-tab-right">
+ <a class="nav-link" href="">&#x2195;&ensp;List of transforms</a>
</li>
</ul>
</div>
</div>
- <div class="col-md-3 sidebar" id="sidebar-right">
+ <div class="col-lg-3 sidebar" id="sidebar-right">
<div class="nopadding table-responsive">
- <table class="table table-condensed small table-striped table-hover table-bordered" id="selectorsTable-transforms">
+ <table class="table table-sm small table-striped table-hover table-bordered" id="selectorsTable-transforms">
<thead><tr><th>Name</th><th>Description</th></tr></thead>
<tbody/>
</table>
@@ -401,25 +405,25 @@
<div class="tab-pane" id="history">
<div class="widget-box">
- <div class="widget-title">
- <div class="form-inline widget-title-form input-group-sm pull-right buttons">
- <label for="selSymOrder_history">Symbols order:</label>
- <select id="selSymOrder_history" class="form-control">
- <option value="magnitude" selected>Score magnitude</option>
- <option value="score">Score value</option>
- <option value="name">Name</option>
- </select>
- <label for="history_page_size">Rows per page:</label>
- <input id="history_page_size" class="form-control" value="25" min="1" type="number">
- <button class="btn btn-danger btn-sm" id="resetHistory">
+ <div class="widget-title d-flex">
+ <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
+ <h5 class="ml-0">History</h5>
+ <div class="form-inline widget-title-form input-group-sm buttons align-self-center ml-auto mr-1">
+ <label for="selSymOrder_history">Symbols order:</label>
+ <select id="selSymOrder_history" class="form-control ml-1">
+ <option value="magnitude" selected>Score magnitude</option>
+ <option value="score">Score value</option>
+ <option value="name">Name</option>
+ </select>
+ <label for="history_page_size" class="ml-2">Rows per page:</label>
+ <input id="history_page_size" class="form-control ml-1" value="25" min="1" type="number">
+ <button class="btn btn-danger btn-sm ml-2" id="resetHistory">
<i class="glyphicon glyphicon-remove-circle"></i> Reset
</button>
- <button class="btn btn-info btn-sm" id="updateHistory">
+ <button class="btn btn-info btn-sm ml-2" id="updateHistory">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
- <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
- <h5>History</h5>
</div>
<div class="widget-content nopadding">
<div id="historyLog">
@@ -428,14 +432,14 @@
</div>
</div>
<div class="widget-box" id="errors-history">
- <div class="widget-title">
- <div class="buttons pull-right">
+ <div class="widget-title d-flex">
+ <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
+ <h5 class="ml-0">Errors</h5>
+ <div class="buttons align-self-center ml-auto mr-1">
<button class="btn btn-info btn-sm" id="updateErrors">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
- <span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
- <h5>Errors</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-hover" id="errorsLog"></table>
@@ -454,12 +458,12 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="modalTitle"></h3>
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="modalBody"></div>
<div class="modal-footer">
- <button class="btn btn-default" data-dismiss="modal" aria-hidden="true" id="modalClose">Close</button>
+ <button class="btn btn-secondary" data-dismiss="modal" aria-hidden="true" id="modalClose">Close</button>
<button class="btn btn-primary" id="modalSave">Save changes</button>
<button class="btn btn-primary" id="modalSaveAll">Save on cluster</button>
</div>
@@ -476,24 +480,16 @@
</div>
<div class="modal-body" id="connectBody">
<form id="connectForm">
- <!--
- <div class="form-group">
- <label class="control-label" for="connectHost">Hostname</label>
- <div class="controls">
- <input class=col-md-2" type="text" id="connectHost" placeholder="Hostname" tabindex="1">
- </div>
- </div>
- -->
<div class="form-group">
<div class="input-group">
<input class="form-control"
type="password"
id="connectPassword"
placeholder="Password"
- tabindex="1" data-cip-id="connectPassword">
- <span class="input-group-btn">
- <button type="submit" id="connectButton" class="btn btn-primary" tabindex="1">Connect</button>
- </span>
+ data-cip-id="connectPassword">
+ <div class="input-group-append">
+ <button type="submit" id="connectButton" class="btn btn-primary">Connect</button>
+ </div>
</div>
</div>
</form>