diff options
Diffstat (limited to 'interface/index.html')
-rw-r--r-- | interface/index.html | 288 |
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">↕ 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">↕ 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>↕ 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="">↕ 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> |