Files
2020-10-07 10:37:15 +02:00

87 lines
2.8 KiB
JavaScript

/**
* Default layout instanciation
*/
$(document).ready(function() {
var $this = $(this);
var $ajaxSpinner = $('.ajax-spinner');
$('[data-toggle="tooltip"]').tooltip();
rightSidebar.init();
/** spinner loading */
$this.ajaxStart(function () {
$ajaxSpinner.show();
});
$this.ajaxStop(function () {
$ajaxSpinner.hide();
});
$this.ajaxError(function () {
$ajaxSpinner.hide();
});
});
var rightSidebar = (function() {
return {
'init': function() {
$('.btn-sidebar').on('click', function initLoadQuickNav() {
$('div.right-sidebar-flex').removeClass('col-lg-12').addClass('col-lg-9');
/** Lazy load of sidebar */
var url = $(this).data('url');
var target = $(this).data('target');
if (url) {
rightSidebar.loadQuickNav(url,target);
}
});
$(document).on('hide.bs.sidebar', function(e) {
$('div.right-sidebar-flex').removeClass('col-lg-9').addClass('col-lg-12');
});
},
'loadQuickNav': function(url, target) {
/** Loads inner HTML in the sidebar container */
$(target).load(url, function() {
$(this).removeAttr('data-url');
$('ul.pagination > li > a[href]', this).on('click', function(e) {
e.preventDefault();
rightSidebar.navigationChange($(e.target).attr('href'), $(target));
});
$('ul.pagination > li > input[name="paginator_jump_page"]', this).on('keyup', function(e) {
if (e.which === 13) { // ENTER
e.preventDefault();
var val = parseInt($(e.target).val());
var limit = $(e.target).attr('pslimit');
var url = $(this).attr('psurl').replace(/999999/, (val-1)*limit);
rightSidebar.navigationChange(url, $(target));
}
});
});
},
'navigationChange': function(url, sidebar) {
rightSidebar.loadQuickNav(url, sidebar);
}
};
})();
/**
* BO Events Handler
*/
var BOEvent = {
on: function(eventName, callback, context) {
document.addEventListener(eventName, function(event) {
if (typeof context !== 'undefined') {
callback.call(context, event);
} else {
callback(event);
}
});
},
emitEvent: function(eventName, eventType) {
var _event = document.createEvent(eventType);
// true values stand for: can bubble, and is cancellable
_event.initEvent(eventName, true, true);
document.dispatchEvent(_event);
}
};