first commit
This commit is contained in:
152
admin-kalsport/themes/default/js/bundle/right-sidebar.js
Normal file
152
admin-kalsport/themes/default/js/bundle/right-sidebar.js
Normal file
@@ -0,0 +1,152 @@
|
||||
/* ========================================================================
|
||||
* Bootstrap: sidebar.js v0.1
|
||||
* ========================================================================
|
||||
* Copyright 2011-2014 Asyraf Abdul Rahman
|
||||
* Licensed under MIT
|
||||
* ======================================================================== */
|
||||
|
||||
(function ($) {
|
||||
// SIDEBAR PUBLIC CLASS DEFINITION
|
||||
// ================================
|
||||
|
||||
const Sidebar = function (element, options) {
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, Sidebar.DEFAULTS, options);
|
||||
this.transitioning = null;
|
||||
|
||||
if (this.options.parent) {
|
||||
this.$parent = $(this.options.parent);
|
||||
}
|
||||
if (this.options.toggle) {
|
||||
this.toggle();
|
||||
}
|
||||
};
|
||||
|
||||
Sidebar.DEFAULTS = {
|
||||
toggle: true,
|
||||
};
|
||||
|
||||
Sidebar.prototype.show = function () {
|
||||
if (this.transitioning || this.$element.hasClass('sidebar-open')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const startEvent = $.Event('show.bs.sidebar');
|
||||
this.$element.trigger(startEvent);
|
||||
if (startEvent.isDefaultPrevented()) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.$element
|
||||
.addClass('sidebar-open');
|
||||
|
||||
this.transitioning = 1;
|
||||
|
||||
const complete = function () {
|
||||
this.transitioning = 0;
|
||||
this.$element.trigger('shown.bs.sidebar');
|
||||
};
|
||||
|
||||
if (!$.support.transition) {
|
||||
// eslint-disable-next-line
|
||||
return complete.call(this);
|
||||
}
|
||||
|
||||
this.$element
|
||||
.one($.support.transition.end, $.proxy(complete, this))
|
||||
.emulateTransitionEnd(400);
|
||||
};
|
||||
|
||||
Sidebar.prototype.hide = function () {
|
||||
if (this.transitioning || !this.$element.hasClass('sidebar-open')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const startEvent = $.Event('hide.bs.sidebar');
|
||||
this.$element.trigger(startEvent);
|
||||
if (startEvent.isDefaultPrevented()) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.$element
|
||||
.removeClass('sidebar-open');
|
||||
|
||||
this.transitioning = 1;
|
||||
|
||||
const complete = function () {
|
||||
this.transitioning = 0;
|
||||
this.$element
|
||||
.trigger('hidden.bs.sidebar');
|
||||
};
|
||||
|
||||
if (!$.support.transition) {
|
||||
// eslint-disable-next-line
|
||||
return complete.call(this);
|
||||
}
|
||||
|
||||
this.$element
|
||||
.one($.support.transition.end, $.proxy(complete, this))
|
||||
.emulateTransitionEnd(400);
|
||||
};
|
||||
|
||||
Sidebar.prototype.toggle = function () {
|
||||
this[this.$element.hasClass('sidebar-open') ? 'hide' : 'show']();
|
||||
};
|
||||
|
||||
const old = $.fn.sidebar;
|
||||
|
||||
$.fn.sidebar = function (option) {
|
||||
return this.each(function () {
|
||||
const $this = $(this);
|
||||
let data = $this.data('bs.sidebar');
|
||||
const options = $.extend({}, Sidebar.DEFAULTS, $this.data(), typeof this.options === 'object' && option);
|
||||
|
||||
if (!data && options.toggle && option === 'show') {
|
||||
// eslint-disable-next-line
|
||||
option = !option;
|
||||
}
|
||||
if (!data) {
|
||||
$this.data('bs.sidebar', (data = new Sidebar(this, options)));
|
||||
}
|
||||
if (typeof option === 'string') {
|
||||
data[option]();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.sidebar.Constructor = Sidebar;
|
||||
|
||||
$.fn.sidebar.noConflict = function () {
|
||||
$.fn.sidebar = old;
|
||||
return this;
|
||||
};
|
||||
|
||||
$(document).on('click.bs.sidebar.data-api', '[data-toggle="sidebar"]', function (e) {
|
||||
const $this = $(this);
|
||||
let href;
|
||||
// eslint-disable-next-line
|
||||
const target = $this.attr('data-target') || e.preventDefault() || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '');
|
||||
const $target = $(target);
|
||||
const data = $target.data('bs.sidebar');
|
||||
const option = data ? 'toggle' : $this.data();
|
||||
|
||||
$target.sidebar(option);
|
||||
});
|
||||
|
||||
$('html').on('click.bs.sidebar.autohide', (event) => {
|
||||
const $this = $(event.target);
|
||||
/* eslint-disable */
|
||||
const isButtonOrSidebar = $this.is('.sidebar, [data-toggle="sidebar"]') || $this.parents('.sidebar, [data-toggle="sidebar"]').length;
|
||||
|
||||
if (!isButtonOrSidebar) {
|
||||
const $target = $('.sidebar');
|
||||
$target.each((i, trgt) => {
|
||||
const $trgt = $(trgt);
|
||||
|
||||
if ($trgt.data('bs.sidebar') && $trgt.hasClass('sidebar-open')) {
|
||||
$trgt.sidebar('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user