Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions bitrepository-webclient/src/main/webapp/CollectionNameMapper.js

This file was deleted.

64 changes: 0 additions & 64 deletions bitrepository-webclient/src/main/webapp/FileSizeUtils.js

This file was deleted.

151 changes: 10 additions & 141 deletions bitrepository-webclient/src/main/webapp/alarm-service.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
<html lang="en">
<head>
<title>Bitrepository alarm service</title>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="datepicker/css/datepicker.css" rel="stylesheet">
<link href="static/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="static/css/datepicker.css" rel="stylesheet">
<style>
.complete {
display: none;
Expand All @@ -41,7 +41,7 @@
<div class="container-fluid">
<div class="row-fluid">
<div class="span11">
<div class="span11" style="height:0px; min-height:0px"></div>
<div class="span11" style="height:0; min-height:0"></div>
<div class="span11">
<h2>Alarm service</h2>
</div>
Expand Down Expand Up @@ -126,144 +126,13 @@ <h2>Alarm service</h2>
</div>
</div>
</div>
<script src="jquery/jquery-1.9.0.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="datepicker/js/bootstrap-datepicker.js"></script>
<script src="menu.js"></script>
<script src="utils.js"></script>
<script src="CollectionNameMapper.js"></script>
<script src="static/js/jquery/jquery-3.6.1.min.js"></script>
<script src="static/bootstrap/js/bootstrap.min.js"></script>
<script src="static/js/bootstrap-datepicker.js"></script>
<script src="static/js/menu.js"></script>
<script src="static/js/utils.js"></script>
<script src="static/js/CollectionNameMapper.js"></script>
<script src="static/js/views/alarm-service.js"></script>

<script>
let nameMapper;
let descriptionExpandedMapper;
let autoGetAlarmsInterval;
let alarmServiceUrl;

function clearElement(element) {
$(element).val("");
}

function updateAlarms() {
let fromDateStr = $("#fromDate").val();
let toDateStr = $("#toDate").val();
let fileIDStr = $("#fileIDFilter").val();
let component = $("#componentFilter").val();
let alarmCodeStr = $("#alarmCodeFilter").val();
let maxAlarmStr = $("#maxAlarms").val();
let collectionIDStr = $("#collectionIDFilter").val();
let url = alarmServiceUrl + '/alarm/AlarmService/queryAlarms/';

getDescriptionExpandedState();

$.post(url,
{
fromDate: fromDateStr,
toDate: toDateStr,
fileID: fileIDStr,
reportingComponent: component,
alarmCode: alarmCodeStr,
maxAlarms: maxAlarmStr,
collectionID: collectionIDStr,
oldestAlarmFirst: false
}, function (json) {
let htmlTableBody = "";
if (json != null) {
for (let i = 0; i < json.length; i++) {
htmlTableBody += `<tr>
<td>${json[i].origDateTime}</td>
<td>${json[i].alarmRaiser}</td>
<td>${nameMapper.getName(json[i].collectionID)}</td>
<td>${json[i].fileID}</td>
<td>${json[i].alarmCode}</td>
<td class="description">${renderAlarmDescription(i, json[i].alarmText).prop('outerHTML')}</td>
</tr>`;
}
}
$("#alarms-table-body").html(htmlTableBody);
enableDescriptionExpansionOnClick();
});
}

function getDescriptionExpandedState() {
descriptionExpandedMapper = {};
$("#alarms-table-body tr").each(function (index) {
// Grab the
descriptionExpandedMapper[index] = $(this).find("td:eq(5)").find(".complete").css("display");
});
}

function renderAlarmDescription(index, alarmDescription) {
const maxLength = 80;
let descriptionHtml = $('<p class="teaser">').css("margin", 0);
let isExpandedDesc = descriptionExpandedMapper.hasOwnProperty(index) &&
descriptionExpandedMapper[index] !== "none";

if (alarmDescription.length <= maxLength || isExpandedDesc) {
let fullDescSpan = `<span class="complete" style="display: inline">${nl2br(alarmDescription)}</span>`
descriptionHtml.empty().html(fullDescSpan);
} else { // Alarm description is too long and is not expanded
let shortenedDesc = alarmDescription.substring(0, maxLength);
let remainingDesc = alarmDescription.substring(maxLength, alarmDescription.length);
descriptionHtml.empty().html(nl2br(shortenedDesc));
descriptionHtml.append(`<span class="dots">... </span>`)
descriptionHtml.append(`<span class="complete">${nl2br(remainingDesc)}</span>`);
descriptionHtml.append('<a href="javascript:void(0);" class="show-more">show more</a>');
}
return descriptionHtml;
}

function enableDescriptionExpansionOnClick() {
$(".teaser").each(function () {
$(this).children(".show-more").on("click", function () {
$(this).siblings(".complete").show();
$(this).siblings(".dots").remove();
$(this).remove();
});
});
}

function init() {
$.get('repo/urlservice/alarmService/', {}, function (url) {
alarmServiceUrl = url;
}, 'html').done(function () {
$.getJSON('repo/reposervice/getCollections/', {}, function (collections) {
nameMapper = new CollectionNameMapper(collections);
let cols = nameMapper.getCollectionIDs();
for (let i in cols) {
$("#collectionIDFilter").append(
`<option value="${cols[i]}">${nameMapper.getName(cols[i])}</option>`
);
}
updateAlarms();
autoGetAlarmsInterval = setInterval(function () {
updateAlarms();
}, 2500);
});
});
}

$(document).ready(function () {
makeMenu("alarm-service.html", "#pageMenu");
init();
$("#fromDate").datepicker({format: "yyyy/mm/dd"});
$("#toDate").datepicker({format: "yyyy/mm/dd"});
$("#toDateClearButton").click(function (event) {
event.preventDefault();
clearElement("#toDate")
});
$("#fromDateClearButton").click(function (event) {
event.preventDefault();
clearElement("#fromDate")
});
$("#fileIDClearButton").click(function (event) {
event.preventDefault();
clearElement("#fileIDFilter")
});
$("#componentIDClearButton").click(function (event) {
event.preventDefault();
clearElement("#componentFilter")
});
});
</script>
</body>
</html>
Loading