rspamd/interface/index.html
Alexander Moisseev 0e39ad6729 [WebUI] Update d3evolution
- Update to moisseev/D3Evolution@c73017a039 :
	- Fix X-axis scale
	- [Fix] Do not draw paths through undefined regions
	- [Feature] Display `null` values as colored areas
- Add `step` interpolation
2016-07-10 20:25:26 +03:00

335 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Rspamd Web Interface</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./css/datatables.min.css"/>
<link rel="stylesheet" type="text/css" href="./css/d3evolution.css">
<link href="./css/rspamd.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default" id="navBar">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="."><b>Rspamd</b></a>
</div>
<ul class="nav pull-right navbar-nav" style="display:none">
<li><a href="#" data-toggle="tab" id="refresh">Refresh</a></li>
<li class="spinner"><a href="#" data-toggle="tab" id="disconnect">Disconnect</a></li>
</ul>
<ul class="nav navbar-nav nav-pills" role="tablist">
<li role="presentation" class="active"><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="learning_nav" aria-controls="learning" role="tab" href="#learning" data-toggle="tab">Learning</a></li>
<li role="presentation"><a id="scan_nav"aria-controls="scan" role="tab" href="#scan" data-toggle="tab">Scan</a></li>
<li role="presentation"><a id="history_nav" aria-controls="history" role="tab" href="#history" data-toggle="tab">History</a></li>
</ul>
</div>
</nav>
<div id="mainUI" style="display:none">
<div class="container-fluid">
<div class="tab-content">
<div class="tab-pane active" id="status">
<div class="row">
<div class="col-md-12">
<div class="widget-box widget-plain">
<ul id="statWidgets" class="stat-boxes" style="display:none">
</ul>
</div>
</div>
</div>
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-signal"></i></span>
<h5>Statistics</h5>
</div>
<div class="widget-content chart-content">
<div class="row row-chart">
<div class="chart" id="chart">
<span class="notice">Loading..</span>
<noscript>Please enable Javascript</noscript>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="throughput">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-stats"></i></span>
<h5>Throughput</h5>
</div>
<div class="widget-content chart-content">
<div class="row row-chart">
<div class="chart" id="graph">
<span class="notice">Loading..</span>
<noscript>Please enable Javascript</noscript>
</div>
</div>
<form id="graph_controls" action="#">
Select dataset:
<select id="selData" class="form-control">
<option value="hourly" selected>Hourly</option>
<option value="daily">Daily</option>
<option value="weekly">Weekly</option>
<option value="monthly">Monthly</option>
</select>
Convert to:
<select id="selConvert" class="form-control">
<option value="" selected>--</option>
<option value="percentage">percentage</option>
</select>
Select chart type:
<select id="selType" class="form-control">
<option value="line" selected>Line</option>
<option value="area">Stacked area</option>
</select>
Select <a title="View Mike Bostock's Block." href="https://bl.ocks.org/mbostock/4342190" target="_blank">interpolation mode</a>:
<select id="selInterpolate" class="form-control">
<option value="linear" selected>linear</option>
<option value="step">step</option>
<option value="step-before">step-before</option>
<option value="step-after">step-after</option>
<option value="basis">basis</option>
<option value="basis-open">basis-open</option>
<option value="bundle">bundle</option>
<option value="cardinal">cardinal</option>
<option value="cardinal-open">cardinal-open</option>
<option value="monotone">monotone</option>
</select>
</form>
</div>
</div>
</div>
<div class="tab-pane" id="configuration">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-tasks"></i></span><h5>Actions</h5>
</div>
<div class="widget-content actions-content" id="actionsBody"></div>
</div>
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-filter"></i></span><h5>Rules</h5>
</div>
<div class="widget-content">
<button role="button" class="btn btn-primary"
data-toggle="modal"
data-source="#symbolsForm"
data-target="#modalDialog"
data-title="Symbols">Edit Rules</button>
</div>
</div>
<div class="widget-box">
<div class="widget-title">
<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>
</div>
</div>
</div>
<div class="tab-pane" id="learning">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-file"></i></span>
<h5>Learn RSPAMD</h5>
</div>
<div class="widget-content">
<div class="row">
<form class="col-md-6">
<h5>Insert raw SPAM source:</h5>
<textarea class="col-md-5 upload-textarea" id="spamTextSource" value=""></textarea>
<p><button class="btn btn-default pull-right" data-upload="spam"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
<form class="col-md-6">
<h5>Insert raw HAM source:</h5>
<textarea class="col-md-5 upload-textarea" id="hamTextSource" value=""></textarea>
<p><button class="btn btn-default pull-right" data-upload="ham"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
</div>
<div class="row">
<form class="col-md-6">
<h5>Insert raw Fuzzy storage:</h5>
<textarea class="col-md-5 upload-textarea" id="fuzzyTextSource" value=""></textarea>
<div class="row">
<label class="pull-left">
Flag
</label>
<div class="pull-right col-md-10">
<input id="fuzzyFlagText" class="slider" type="slider" value="1"/>
</div>
</div>
<div class="row">
<label class="pull-left">
Weight
</label>
<div class="pull-right col-md-10">
<input id="fuzzyWeightText" class="slider" type="slider" value="1"/>
</div>
</div>
<p><button class="btn btn-default pull-right" data-upload="fuzzy"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="scan">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-info-sign"></i></span>
<h5>Online scan suspected message</h5>
</div>
<div class="widget-content">
<h5>Paste and scan suspicious message</h5>
<div class="row">
<form class="col-md-12 nomargin" id="scanForm">
<textarea class="col-md-12 scan-textarea" id="scanTextSource"></textarea>
<p><button class="btn btn-default btn-primary" data-upload="scan">Scan message</button>
<button class="btn btn-default pull-right" id="scanClean">Clean form</button></p>
</form>
</div>
<div id="scanResult" style="display:none">
<h4>Scan results:</h4>
<div class="well nomargin nopadding">
<table class="table table-log table-hover" id="scanOutput">
<thead>
<th class="col4" title="Action">Action</th>
<th class="col5" title="Score / Req.&nbsp;score">Score / Req.&nbsp;score</th>
<th class="col6" title="Symbols">Symbols</th>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="history">
<div class="widget-box">
<div class="widget-title">
<div class="buttons pull-right">
<button class="btn btn-danger btn-sm" id="resetHistory">
<i class="glyphicon glyphicon-remove-circle"></i> Reset
</button>
<button class="btn btn-info btn-sm" 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">
<table class="table table-log table-hover" id="historyLog">
<thead>
<th class="col1" title="Time">Time</th>
<th class="col2" title="ID">ID</th>
<th class="col3" title="IP">IP</th>
<th class="col4" title="Action">Action</th>
<th class="col5" title="Score / Req.&nbsp;score">Score / Req.&nbsp;score</th>
<th class="col6" title="Symbols">Symbols</th>
<th class="col7" title="Size">Size</th>
<th class="col8" title="Scan Time (s)"><div class="cell-overflow">Scan Time (s)</div></th>
<th class="col9" title="User">User</th>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Common modal -->
<div id="modalDialog" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modalLabel">
<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>
</div>
<div class="modal-body" id="modalBody">
<div class="progress progress-striped active">
<div class="bar" style="width:100%;"></div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true" id="modalClose">Close</button>
<button class="btn btn-primary" id="modalSave">Save changes</button>
</div>
</div>
</div>
</div>
<!-- login modal -->
<div id="connectDialog" class="modal" tabindex="-1" role="dialog" aria-labelledby="RSPAMD Connect">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>RSPAMD Connect</h3>
</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">
<label class="col-sm-2 control-label" for="connectPassword">Password:</label>
<div class="col-sm-10">
<input class="form-control"
type="password"
id="connectPassword"
placeholder="Password"
tabindex="1" />
</div>
</div>
<div class="form-group">
<button type="submit" id="connectButton" class="btn btn-primary" tabindex="1">Connect</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div id="backDrop" class="modal-backdrop fade in" style="display:none"></div>
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<script src="./js/d3pie.min.js"></script>
<script src="./js/d3evolution.min.js"></script>
<script src="./js/humanize.min.js"></script>
<script src="./js/datatables.min.js"></script>
<script src="./js/rspamd.js"></script>
</body>
</html>