PTMagic/Monitor/wwwroot/assets/js/jquery.core.js

324 lines
10 KiB
JavaScript

//portlets
!function($) {
"use strict";
/**
Portlet Widget
*/
var Portlet = function() {
this.$body = $("body"),
this.$portletIdentifier = ".portlet",
this.$portletCloser = '.portlet a[data-toggle="remove"]',
this.$portletRefresher = '.portlet a[data-toggle="reload"]'
};
//on init
Portlet.prototype.init = function() {
// Panel closest
var $this = this;
$(document).on("click",this.$portletCloser, function (ev) {
ev.preventDefault();
var $portlet = $(this).closest($this.$portletIdentifier);
var $portlet_parent = $portlet.parent();
$portlet.remove();
if ($portlet_parent.children().length == 0) {
$portlet_parent.remove();
}
});
// Panel Reload
$(document).on("click",this.$portletRefresher, function (ev) {
ev.preventDefault();
var $portlet = $(this).closest($this.$portletIdentifier);
// This is just a simulation, nothing is going to be reloaded
$portlet.append('<div class="panel-disabled"><div class="loader-1"></div></div>');
var $pd = $portlet.find('.panel-disabled');
setTimeout(function () {
$pd.fadeOut('fast', function () {
$pd.remove();
});
}, 500 + 300 * (Math.random() * 5));
});
},
//
$.Portlet = new Portlet, $.Portlet.Constructor = Portlet
}(window.jQuery),
/**
* Notifications
*/
function($) {
"use strict";
var Notification = function() {};
//simple notificaiton
Notification.prototype.notify = function(style,position, title, text) {
var icon = 'fa fa-adjust';
if(style == "error"){
icon = "fa fa-exclamation";
}else if(style == "warning"){
icon = "fa fa-warning";
}else if(style == "success"){
icon = "fa fa-check";
}else if(style == "custom"){
icon = "md md-album";
}else if(style == "info"){
icon = "fa fa-question";
}else{
icon = "fa fa-adjust";
}
$.notify({
title: title,
text: text,
image: "<i class='"+icon+"'></i>"
}, {
style: 'metro',
className: style,
globalPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHide: true,
clickToHide: true
});
},
//auto hide notification
Notification.prototype.autoHideNotify = function (style,position, title, text) {
var icon = "fa fa-adjust";
if(style == "error"){
icon = "fa fa-exclamation";
}else if(style == "warning"){
icon = "fa fa-warning";
}else if(style == "success"){
icon = "fa fa-check";
}else if(style == "custom"){
icon = "md md-album";
}else if(style == "info"){
icon = "fa fa-question";
}else{
icon = "fa fa-adjust";
}
$.notify({
title: title,
text: text,
image: "<i class='"+icon+"'></i>"
}, {
style: 'metro',
className: style,
globalPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHideDelay: 5000,
autoHide: true,
clickToHide: true
});
},
//confirmation notification
Notification.prototype.confirm = function(style,position, title) {
var icon = "fa fa-adjust";
if(style == "error"){
icon = "fa fa-exclamation";
}else if(style == "warning"){
icon = "fa fa-warning";
}else if(style == "success"){
icon = "fa fa-check";
}else if(style == "custom"){
icon = "md md-album";
}else if(style == "info"){
icon = "fa fa-question";
}else{
icon = "fa fa-adjust";
}
$.notify({
title: title,
text: 'Are you sure you want to do nothing?<div class="clearfix"></div><br><a class="btn btn-sm btn-white yes">Yes</a> <a class="btn btn-sm btn-danger no">No</a>',
image: "<i class='"+icon+"'></i>"
}, {
style: 'metro',
className: style,
globalPosition:position,
showAnimation: "show",
showDuration: 0,
hideDuration: 0,
autoHide: false,
clickToHide: false
});
//listen for click events from this style
$(document).on('click', '.notifyjs-metro-base .no', function() {
//programmatically trigger propogating hide event
$(this).trigger('notify-hide');
});
$(document).on('click', '.notifyjs-metro-base .yes', function() {
//show button text
alert($(this).text() + " clicked!");
//hide notification
$(this).trigger('notify-hide');
});
},
//init - examples
Notification.prototype.init = function() {
},
//init
$.Notification = new Notification, $.Notification.Constructor = Notification
}(window.jQuery),
/**
* Components
*/
function($) {
"use strict";
var Components = function() {};
//initializing tooltip
Components.prototype.initTooltipPlugin = function() {
$.fn.tooltip && $('[data-toggle="tooltip"]').tooltip()
},
//initializing popover
Components.prototype.initPopoverPlugin = function() {
$.fn.popover && $('[data-toggle="popover"]').popover()
},
//initializing custom modal
Components.prototype.initCustomModalPlugin = function() {
$('[data-plugin="custommodal"]').on('click', function(e) {
Custombox.open({
target: $(this).attr("href"),
effect: $(this).attr("data-animation"),
overlaySpeed: $(this).attr("data-overlaySpeed"),
overlayColor: $(this).attr("data-overlayColor")
});
e.preventDefault();
});
},
//initializing nicescroll
Components.prototype.initNiceScrollPlugin = function() {
//You can change the color of scroll bar here
$.fn.niceScroll && $(".nicescroll").niceScroll({ cursorcolor: '#98a6ad',cursorwidth:'6px', cursorborderradius: '5px'});
},
//initializing Slimscroll
Components.prototype.initSlimScrollPlugin = function() {
//You can change the color of scroll bar here
$.fn.niceScroll && $(".slimscroll-noti").slimScroll({ position: 'right',size: "5px", color: '#98a6ad',height: '230px',wheelStep: 10});
},
//range slider
Components.prototype.initRangeSlider = function() {
$.fn.slider && $('[data-plugin="range-slider"]').slider({});
},
/* -------------
* Form related controls
*/
//switch
Components.prototype.initSwitchery = function() {
$('[data-plugin="switchery"]').each(function (idx, obj) {
new Switchery($(this)[0], $(this).data());
});
},
//multiselect
Components.prototype.initMultiSelect = function() {
if($('[data-plugin="multiselect"]').length > 0)
$('[data-plugin="multiselect"]').multiSelect($(this).data());
},
/* -------------
* small charts related widgets
*/
//peity charts
Components.prototype.initPeityCharts = function() {
$('[data-plugin="peity-pie"]').each(function(idx, obj) {
var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(","):[];
var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20
var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20
$(this).peity("pie", {
fill: colors,
width: width,
height: height
});
});
//donut
$('[data-plugin="peity-donut"]').each(function(idx, obj) {
var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(","):[];
var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20
var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20
$(this).peity("donut", {
fill: colors,
width: width,
height: height
});
});
$('[data-plugin="peity-donut-alt"]').each(function(idx, obj) {
$(this).peity("donut");
});
// line
$('[data-plugin="peity-line"]').each(function(idx, obj) {
$(this).peity("line", $(this).data());
});
// bar
$('[data-plugin="peity-bar"]').each(function(idx, obj) {
var colors = $(this).attr('data-colors')?$(this).attr('data-colors').split(","):[];
var width = $(this).attr('data-width')?$(this).attr('data-width'):20; //default is 20
var height = $(this).attr('data-height')?$(this).attr('data-height'):20; //default is 20
$(this).peity("bar", {
fill: colors,
width: width,
height: height
});
});
},
Components.prototype.initCounterUp = function() {
var delay = $(this).attr('data-delay')?$(this).attr('data-delay'):100; //default is 100
var time = $(this).attr('data-time')?$(this).attr('data-time'):1200; //default is 1200
$('[data-plugin="counterup"]').each(function(idx, obj) {
$(this).counterUp({
delay: 100,
time: 1200
});
});
},
//initilizing
Components.prototype.init = function() {
var $this = this;
this.initTooltipPlugin(),
this.initPopoverPlugin(),
this.initNiceScrollPlugin(),
this.initSlimScrollPlugin(),
this.initCustomModalPlugin(),
this.initRangeSlider(),
this.initSwitchery(),
this.initMultiSelect(),
this.initPeityCharts(),
this.initCounterUp(),
//creating portles
$.Portlet.init();
},
$.Components = new Components, $.Components.Constructor = Components
}(window.jQuery),
//initializing main application module
function($) {
"use strict";
$.Components.init();
}(window.jQuery);