Merge pull request #4661 from buinsky/WebUI_labels_menu

WebUI: Implement labels filter context menu
This commit is contained in:
sledgehammer999
2016-04-17 11:36:58 -05:00
11 changed files with 402 additions and 151 deletions

View File

@@ -202,32 +202,8 @@ window.addEvent('load', function () {
return false;
};
var updateContextMenu = function () {
var categoryList = $('contextCategoryList');
categoryList.empty();
categoryList.appendChild(new Element('li', {html: '<a href="javascript:newCategoryFN();"><img src="theme/list-add" alt="QBT_TR(New...)QBT_TR"/> QBT_TR(New...)QBT_TR</a>'}));
categoryList.appendChild(new Element('li', {html: '<a href="javascript:updateCategoryFN(0);"><img src="theme/edit-clear" alt="QBT_TR(Reset)QBT_TR"/> QBT_TR(Reset)QBT_TR</a>'}));
var sortedCategories = []
Object.each(category_list, function(category) {
sortedCategories.push(category.name);
});
sortedCategories.sort();
var first = true;
Object.each(sortedCategories, function(categoryName) {
var categoryHash = genHash(categoryName);
var el = new Element('li', {html: '<a href="javascript:updateCategoryFN(\'' + categoryHash + '\');"><img src="theme/inode-directory"/> ' + categoryName + '</a>'});
if (first) {
el.addClass('separator');
first = false;
}
categoryList.appendChild(el);
});
};
var updateFilter = function(filter, filterTitle) {
$(filter + '_filter').firstChild.childNodes[1].nodeValue = filterTitle.replace('%1', torrentsTable.getFilteredTorrentsNumber(filter));
$(filter + '_filter').firstChild.childNodes[1].nodeValue = filterTitle.replace('%1', torrentsTable.getFilteredTorrentsNumber(filter, CATEGORIES_ALL));
};
var updateFiltersList = function() {
@@ -251,8 +227,10 @@ window.addEvent('load', function () {
var create_link = function(hash, text, count) {
var html = '<a href="#" onclick="setCategoryFilter(' + hash + ');return false;">' +
'<img src="theme/inode-directory"/>' +
text + ' (' + count + ')' + '</a>';
return new Element('li', {id: hash, html: html});
escapeHtml(text) + ' (' + count + ')' + '</a>';
var el = new Element('li', {id: hash, html: html});
categoriesFilterContextMenu.addTarget(el);
return el;
};
var all = torrentsTable.getRowIds().length;
@@ -357,7 +335,7 @@ window.addEvent('load', function () {
updateFiltersList();
if (update_categories) {
updateCategoryList();
updateContextMenu();
torrentsTableContextMenu.updateCategoriesSubMenu(category_list);
}
}
clearTimeout(syncMainDataTimer);