mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Added proof of concept for pagination and search
This commit is contained in:
@ -1,19 +1,56 @@
|
||||
var App = App || {};
|
||||
App.Presenters = App.Presenters || {};
|
||||
|
||||
App.Presenters.UserListPresenter = function(jQuery, topNavigationPresenter, appState) {
|
||||
App.Presenters.UserListPresenter = function(
|
||||
jQuery,
|
||||
util,
|
||||
router,
|
||||
pagedCollectionPresenter,
|
||||
topNavigationPresenter) {
|
||||
|
||||
var $el = jQuery('#content');
|
||||
var template;
|
||||
var userList = [];
|
||||
var activeSearchOrder;
|
||||
|
||||
function init() {
|
||||
function init(args) {
|
||||
topNavigationPresenter.select('users');
|
||||
render();
|
||||
activeSearchOrder = util.parseComplexRouteArgs(args.searchArgs).order;
|
||||
|
||||
util.loadTemplate('user-list').then(function(html) {
|
||||
template = _.template(html);
|
||||
|
||||
pagedCollectionPresenter.init({
|
||||
searchArgs: args.searchArgs,
|
||||
baseUri: '#/users',
|
||||
backendUri: '/users',
|
||||
renderCallback: function updateCollection(data) {
|
||||
userList = data.entities;
|
||||
render();
|
||||
}});
|
||||
});
|
||||
}
|
||||
|
||||
function render() {
|
||||
$el.html('Logged in: ' + appState.get('loggedIn'));
|
||||
$el.html(template({
|
||||
userList: userList,
|
||||
}));
|
||||
$el.find('.order a').click(orderLinkClicked);
|
||||
$el.find('.order [data-order="' + activeSearchOrder + '"]').parent('li').addClass('active');
|
||||
console.log(activeSearchOrder);
|
||||
|
||||
var $pager = $el.find('.pager');
|
||||
pagedCollectionPresenter.render($pager);
|
||||
};
|
||||
|
||||
function orderLinkClicked(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var $orderLink = jQuery(this);
|
||||
activeSearchOrder = $orderLink.attr('data-order');
|
||||
router.navigate(pagedCollectionPresenter.getSearchOrderChangeLink(activeSearchOrder));
|
||||
}
|
||||
|
||||
return {
|
||||
init: init,
|
||||
render: render
|
||||
|
Reference in New Issue
Block a user