|
|
|
@ -16,7 +16,6 @@ function loadTable() {
|
|
|
|
|
headers: { 'X-Internal-Call': true },
|
|
|
|
|
success: function(data) {
|
|
|
|
|
$tableBody.html('');
|
|
|
|
|
elements = [];
|
|
|
|
|
|
|
|
|
|
if (data.length === 0) {
|
|
|
|
|
mfhAlert.error("I couldn't find any categories :(", "No categories found");
|
|
|
|
@ -24,67 +23,54 @@ function loadTable() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var sortedElements = [];
|
|
|
|
|
|
|
|
|
|
var totalNumberOfTickets = 0;
|
|
|
|
|
$.each(data, function() {
|
|
|
|
|
|
|
|
|
|
totalNumberOfTickets += this.numberOfTickets;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var currentPlace = 0;
|
|
|
|
|
var addedElementToPlace = false;
|
|
|
|
|
var first = true;
|
|
|
|
|
var lastElement = null;
|
|
|
|
|
$.each(data, function() {
|
|
|
|
|
if (this.place !== currentPlace) {
|
|
|
|
|
if (lastElement !== null) {
|
|
|
|
|
//-- Hide the down arrow on the last element
|
|
|
|
|
$('[data-value="' + lastElement.id + '"]').parent().parent()
|
|
|
|
|
.find('[data-direction="down"]').css('visibility', 'hidden');
|
|
|
|
|
lastElement = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$('#table-body').append('<tr><td colspan="6" class="bg-gray"><i><b>' + places[this.place] + '</b></i></td></tr>');
|
|
|
|
|
currentPlace = this.place;
|
|
|
|
|
addedElementToPlace = false;
|
|
|
|
|
first = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var $template = $($('#nav-element-template').html());
|
|
|
|
|
var $template = $($('#category-row-template').html());
|
|
|
|
|
|
|
|
|
|
$template.find('span[data-property="id"]').text(this.id).attr('data-value', this.id);
|
|
|
|
|
if (this.imageUrl === null) {
|
|
|
|
|
$template.find('span[data-property="image-or-font"]').html('<i class="' + escape(this.fontIcon) + '"></i>');
|
|
|
|
|
$template.find('span[data-property="category-name"]').text(this.name);
|
|
|
|
|
var $priority = $template.find('span[data-property="priority"]');
|
|
|
|
|
if (this.priority === 0) {
|
|
|
|
|
// Critical
|
|
|
|
|
$priority.text(mfhLang.text('critical')).addClass('critical');
|
|
|
|
|
} else if (this.priority === 1) {
|
|
|
|
|
// High
|
|
|
|
|
$priority.text(mfhLang.text('high')).addClass('important');
|
|
|
|
|
} else if (this.priority === 2) {
|
|
|
|
|
// Medium
|
|
|
|
|
$priority.text(mfhLang.text('medium')).addClass('medium');
|
|
|
|
|
} else {
|
|
|
|
|
$template.find('span[data-property="image-or-font"]').text(this.imageUrl);
|
|
|
|
|
// Low
|
|
|
|
|
$priority.text(mfhLang.text('low')).addClass('normal');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$template.find('span[data-property="url"]').text(this.url);
|
|
|
|
|
|
|
|
|
|
var text = '';
|
|
|
|
|
$.each(this.text, function(key, value) {
|
|
|
|
|
text += '<li><b>' + escape(key) + ':</b> ' + escape(value) + '</li>';
|
|
|
|
|
});
|
|
|
|
|
$template.find('ul[data-property="text"]').html(text);
|
|
|
|
|
|
|
|
|
|
var subtext = '-';
|
|
|
|
|
if (this.place === 1) {
|
|
|
|
|
subtext = '';
|
|
|
|
|
$.each(this.subtext, function(key, value) {
|
|
|
|
|
subtext += '<li><b>' + escape(key) + ':</b> ' + escape(value) + '</li>';
|
|
|
|
|
});
|
|
|
|
|
$template.find('a[data-property="number-of-tickets"]')
|
|
|
|
|
.text(this.numberOfTickets)
|
|
|
|
|
.attr('href', '#' + this.numberOfTickets);
|
|
|
|
|
var percentText = mfhLang.text('perat');
|
|
|
|
|
var percentage = Math.round(this.numberOfTickets / totalNumberOfTickets * 100);
|
|
|
|
|
$template.find('div.progress').attr('title', percentText.replace('%s', percentage + '%'));
|
|
|
|
|
$template.find('div.progress-bar').attr('aria-value-now', percentage).css('width', percentage + '%');
|
|
|
|
|
|
|
|
|
|
if (this.usage === 1) {
|
|
|
|
|
// Tickets only
|
|
|
|
|
$template.find('.fa-calendar').removeClass('fa-calendar');
|
|
|
|
|
} else if (this.usage === 2) {
|
|
|
|
|
// Events only
|
|
|
|
|
$template.find('.fa-ticket').removeClass('fa-ticket');
|
|
|
|
|
}
|
|
|
|
|
$template.find('ul[data-property="subtext"]').html(subtext);
|
|
|
|
|
|
|
|
|
|
if (first) {
|
|
|
|
|
$template.find('[data-direction="up"]').css('visibility', 'hidden');
|
|
|
|
|
first = false;
|
|
|
|
|
}
|
|
|
|
|
// TODO Action buttons
|
|
|
|
|
|
|
|
|
|
$tableBody.append($template);
|
|
|
|
|
|
|
|
|
|
elements[this.id] = this;
|
|
|
|
|
categories[this.id] = this;
|
|
|
|
|
|
|
|
|
|
addedElementToPlace = true;
|
|
|
|
|
lastElement = this;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -95,7 +81,7 @@ function loadTable() {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error: function(data) {
|
|
|
|
|
mfhAlert.errorWithLog(mfhLang.text('failed_to_load_custom_nav_elements'), data.responseJSON);
|
|
|
|
|
mfhAlert.errorWithLog(mfhLang.text('Something bad happened...'), data.responseJSON);
|
|
|
|
|
console.error(data);
|
|
|
|
|
},
|
|
|
|
|
complete: function() {
|
|
|
|
|