You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentelella/production/js/custom.js

324 lines
9.5 KiB

/**
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
// Sidebar
$(function () {
var URL = window.location,
$BODY = $('body'),
$SIDEBAR_MENU = $('#sidebar-menu'),
$MENU_TOGGLE = $('#menu_toggle');
$SIDEBAR_FOOTER = $('.sidebar-footer');
$LEFT_COL = $('.left_col');
$SIDEBAR_MENU.find('li ul').slideUp();
$SIDEBAR_MENU.find('li').removeClass('active');
$SIDEBAR_MENU.find('li').on('click', function(ev) {
var link = $('a', this).attr('href');
// prevent event bubbling on parent menu
if (link) {
ev.stopPropagation();
}
// execute slidedown if parent menu
else {
if ($(this).is('.active')) {
$(this).removeClass('active');
$('ul', this).slideUp();
} else {
$SIDEBAR_MENU.find('li').removeClass('active');
$SIDEBAR_MENU.find('li ul').slideUp();
$(this).addClass('active');
$('ul', this).slideDown();
}
}
});
$MENU_TOGGLE.on('click', function() {
if ($BODY.hasClass('nav-md')) {
$BODY.removeClass('nav-md').addClass('nav-sm');
$LEFT_COL.removeClass('scroll-view').removeAttr('style');
$SIDEBAR_FOOTER.hide();
if ($SIDEBAR_MENU.find('li').hasClass('active')) {
$SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active');
}
} else {
$BODY.removeClass('nav-sm').addClass('nav-md');
$SIDEBAR_FOOTER.show();
if ($SIDEBAR_MENU.find('li').hasClass('active-sm')) {
$SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm');
}
}
});
// check active menu
$SIDEBAR_MENU.find('a[href="' + URL + '"]').parent('li').addClass('current-page');
$SIDEBAR_MENU.find('a').filter(function () {
return this.href == URL;
}).parent('li').addClass('current-page').parent('ul').slideDown().parent().addClass('active');
});
// Panel toolbox
$(function () {
$('.collapse-link').on('click', function() {
var $BOX_PANEL = $(this).closest('.x_panel'),
$ICON = $(this).find('i'),
$BOX_CONTENT = $BOX_PANEL.find('.x_content');
// fix for some div with hardcoded fix class
if ($BOX_PANEL.attr('style')) {
$BOX_CONTENT.slideToggle(200, function(){
$BOX_PANEL.removeAttr('style');
});
} else {
$BOX_CONTENT.slideToggle(200);
$BOX_PANEL.css('height', 'auto');
}
$ICON.toggleClass('fa-chevron-up fa-chevron-down');
});
$('.close-link').click(function () {
var $BOX_PANEL = $(this).closest('.x_panel');
$BOX_PANEL.remove();
});
});
// Right column height
$(".right_col").css("min-height", $(window).height());
$(window).resize(function () {
$(".right_col").css("min-height", $(window).height());
});
// Tooltip
$(function () {
$('[data-toggle="tooltip"]').tooltip();
});
// Progressbar
if ($(".progress .progress-bar")[0]) {
$('.progress .progress-bar').progressbar(); // bootstrap 3
}
// Switchery
if ($(".js-switch")[0]) {
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function (html) {
var switchery = new Switchery(html, {
color: '#26B99A'
});
});
}
// iCheck
if ($("input.flat")[0]) {
$(document).ready(function () {
$('input.flat').iCheck({
checkboxClass: 'icheckbox_flat-green',
radioClass: 'iradio_flat-green'
});
});
}
// Starrr
var __slice = [].slice;
(function ($, window) {
var Starrr;
Starrr = (function () {
Starrr.prototype.defaults = {
rating: void 0,
numStars: 5,
change: function (e, value) {
}
};
function Starrr($el, options) {
var i, _, _ref,
_this = this;
this.options = $.extend({}, this.defaults, options);
this.$el = $el;
_ref = this.defaults;
for (i in _ref) {
_ = _ref[i];
if (this.$el.data(i) !== null) {
this.options[i] = this.$el.data(i);
}
}
this.createStars();
this.syncRating();
this.$el.on('mouseover.starrr', 'span', function (e) {
return _this.syncRating(_this.$el.find('span').index(e.currentTarget) + 1);
});
this.$el.on('mouseout.starrr', function () {
return _this.syncRating();
});
this.$el.on('click.starrr', 'span', function (e) {
return _this.setRating(_this.$el.find('span').index(e.currentTarget) + 1);
});
this.$el.on('starrr:change', this.options.change);
}
Starrr.prototype.createStars = function () {
var _i, _ref, _results;
_results = [];
for (_i = 1, _ref = this.options.numStars; 1 <= _ref ? _i <= _ref : _i >= _ref; 1 <= _ref ? _i++ : _i--) {
_results.push(this.$el.append("<span class='glyphicon .glyphicon-star-empty'></span>"));
}
return _results;
};
Starrr.prototype.setRating = function (rating) {
if (this.options.rating === rating) {
rating = void 0;
}
this.options.rating = rating;
this.syncRating();
return this.$el.trigger('starrr:change', rating);
};
Starrr.prototype.syncRating = function (rating) {
var i, _i, _j, _ref;
rating || (rating = this.options.rating);
if (rating) {
for (i = _i = 0, _ref = rating - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
this.$el.find('span').eq(i).removeClass('glyphicon-star-empty').addClass('glyphicon-star');
}
}
if (rating && rating < 5) {
for (i = _j = rating; rating <= 4 ? _j <= 4 : _j >= 4; i = rating <= 4 ? ++_j : --_j) {
this.$el.find('span').eq(i).removeClass('glyphicon-star').addClass('glyphicon-star-empty');
}
}
if (!rating) {
return this.$el.find('span').removeClass('glyphicon-star').addClass('glyphicon-star-empty');
}
};
return Starrr;
})();
return $.fn.extend({
starrr: function () {
var args, option;
option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
return this.each(function () {
var data;
data = $(this).data('star-rating');
if (!data) {
$(this).data('star-rating', (data = new Starrr($(this), option)));
}
if (typeof option === 'string') {
return data[option].apply(data, args);
}
});
}
});
})(window.jQuery, window);
$(function () {
return $(".starrr").starrr();
});
$(document).ready(function () {
$('#stars').on('starrr:change', function (e, value) {
$('#count').html(value);
});
$('#stars-existing').on('starrr:change', function (e, value) {
$('#count-existing').html(value);
});
});
// Table
$('table input').on('ifChecked', function () {
check_state = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('table input').on('ifUnchecked', function () {
check_state = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
var check_state = '';
$('.bulk_action input').on('ifChecked', function () {
check_state = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('.bulk_action input').on('ifUnchecked', function () {
check_state = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
$('.bulk_action input#check-all').on('ifChecked', function () {
check_state = 'check_all';
countChecked();
});
$('.bulk_action input#check-all').on('ifUnchecked', function () {
check_state = 'uncheck_all';
countChecked();
});
function countChecked() {
if (check_state == 'check_all') {
$(".bulk_action input[name='table_records']").iCheck('check');
}
if (check_state == 'uncheck_all') {
$(".bulk_action input[name='table_records']").iCheck('uncheck');
}
var n = $(".bulk_action input[name='table_records']:checked").length;
if (n > 0) {
$('.column-title').hide();
$('.bulk-actions').show();
$('.action-cnt').html(n + ' Records Selected');
} else {
$('.column-title').show();
$('.bulk-actions').hide();
}
}
// Accordion
$(function () {
$(".expand").on("click", function () {
$(this).next().slideToggle(200);
$expand = $(this).find(">:first-child");
if ($expand.text() == "+") {
$expand.text("-");
} else {
$expand.text("+");
}
});
});
// NProgress
if (typeof NProgress != 'undefined') {
$(document).ready(function () {
NProgress.start();
});
$(window).load(function () {
NProgress.done();
});
}