Initial code of commit
This commit is contained in:
477
code/public/dist/js/app.js
vendored
Normal file
477
code/public/dist/js/app.js
vendored
Normal file
@@ -0,0 +1,477 @@
|
||||
/*! AdminLTE 2.0.1 app.js
|
||||
* ======================
|
||||
* Main JS application file for AdminLTE v2. This file
|
||||
* should be included in all pages. It controls some layout
|
||||
* options and implements exclusive AdminLTE plugins.
|
||||
*
|
||||
* @Author Almsaeed Studio
|
||||
* @Support <http://www.almsaeedstudio.com>
|
||||
* @Email <support@almsaeedstudio.com>
|
||||
* @version 2.0
|
||||
* @license MIT <http://opensource.org/licenses/MIT>
|
||||
*/
|
||||
|
||||
//Make sure jQuery has been loaded before app.js
|
||||
if (typeof jQuery === "undefined") {
|
||||
throw new Error("AdminLTE requires jQuery");
|
||||
}
|
||||
|
||||
'use strict';
|
||||
|
||||
/* AdminLTE
|
||||
*
|
||||
* @type Object
|
||||
* @description $.AdminLTE is the main object for the template's app.
|
||||
* It's used for implementing functions and options related
|
||||
* to the template. Keeping everything wrapped in an object
|
||||
* prevents conflict with other plugins and is a better
|
||||
* way to organize our code.
|
||||
*/
|
||||
$.AdminLTE = {};
|
||||
|
||||
/* --------------------
|
||||
* - AdminLTE Options -
|
||||
* --------------------
|
||||
* Modify these options to suit your implementation
|
||||
*/
|
||||
$.AdminLTE.options = {
|
||||
//Add slimscroll to navbar menus
|
||||
//This requires you to load the slimscroll plugin
|
||||
//in every page before app.js
|
||||
navbarMenuSlimscroll: true,
|
||||
navbarMenuSlimscrollWidth: "3px", //The width of the scroll bar
|
||||
navbarMenuHeight: "200px", //The height of the inner menu
|
||||
//Sidebar push menu toggle button selector
|
||||
sidebarToggleSelector: "[data-toggle='offcanvas']",
|
||||
//Activate sidebar push menu
|
||||
sidebarPushMenu: true,
|
||||
//Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
|
||||
sidebarSlimScroll: true,
|
||||
//BoxRefresh Plugin
|
||||
enableBoxRefresh: true,
|
||||
//Bootstrap.js tooltip
|
||||
enableBSToppltip: true,
|
||||
BSTooltipSelector: "[data-toggle='tooltip']",
|
||||
//Enable Fast Click. Fastclick.js creates a more
|
||||
//native touch ecperience with touch devices. If you
|
||||
//choose to enable the plugin, make sure you load the script
|
||||
//before AdminLTE's app.js
|
||||
enableFastclick: true,
|
||||
//Box Widget Plugin. Enable this plugin
|
||||
//to allow boxes to be collapsed and/or removed
|
||||
enableBoxWidget: true,
|
||||
//Box Widget plugin options
|
||||
boxWidgetOptions: {
|
||||
boxWidgetIcons: {
|
||||
//The icon that triggers the collapse event
|
||||
collapse: 'fa fa-minus',
|
||||
//The icon that trigger the opening event
|
||||
open: 'fa fa-plus',
|
||||
//The icon that triggers the removing event
|
||||
remove: 'fa fa-times'
|
||||
},
|
||||
boxWidgetSelectors: {
|
||||
//Remove button selector
|
||||
remove: '[data-widget="remove"]',
|
||||
//Collapse button selector
|
||||
collapse: '[data-widget="collapse"]'
|
||||
}
|
||||
},
|
||||
//Define the set of colors to use globally around the website
|
||||
colors: {
|
||||
lightBlue: "#3c8dbc",
|
||||
red: "#f56954",
|
||||
green: "#00a65a",
|
||||
aqua: "#00c0ef",
|
||||
yellow: "#f39c12",
|
||||
blue: "#0073b7",
|
||||
navy: "#001F3F",
|
||||
teal: "#39CCCC",
|
||||
olive: "#3D9970",
|
||||
lime: "#01FF70",
|
||||
orange: "#FF851B",
|
||||
fuchsia: "#F012BE",
|
||||
purple: "#8E24AA",
|
||||
maroon: "#D81B60",
|
||||
black: "#222222",
|
||||
gray: "#d2d6de"
|
||||
}
|
||||
};
|
||||
|
||||
/* ------------------
|
||||
* - Implementation -
|
||||
* ------------------
|
||||
* The next block of code implements AdminLTE's
|
||||
* functions and plugins as specified by the
|
||||
* options above.
|
||||
*/
|
||||
$(function () {
|
||||
//Easy access to options
|
||||
var o = $.AdminLTE.options;
|
||||
|
||||
//Activate the layout maker
|
||||
$.AdminLTE.layout.activate();
|
||||
|
||||
//Enable sidebar tree view controls
|
||||
$.AdminLTE.tree('.sidebar');
|
||||
|
||||
//Add slimscroll to navbar dropdown
|
||||
if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
|
||||
$(".navbar .menu").slimscroll({
|
||||
height: "200px",
|
||||
alwaysVisible: false,
|
||||
size: "3px"
|
||||
}).css("width", "100%");
|
||||
}
|
||||
|
||||
//Activate sidebar push menu
|
||||
if (o.sidebarPushMenu) {
|
||||
$.AdminLTE.pushMenu(o.sidebarToggleSelector);
|
||||
}
|
||||
|
||||
//Activate Bootstrap tooltip
|
||||
if (o.enableBSToppltip) {
|
||||
$(o.BSTooltipSelector).tooltip();
|
||||
}
|
||||
|
||||
//Activate box widget
|
||||
if (o.enableBoxWidget) {
|
||||
$.AdminLTE.boxWidget.activate();
|
||||
}
|
||||
|
||||
if(o.enableFastclick && typeof FastClick != 'undefined') {
|
||||
FastClick.attach(document.body);
|
||||
}
|
||||
|
||||
/*
|
||||
* INITIALIZE BUTTON TOGGLE
|
||||
* ------------------------
|
||||
*/
|
||||
$('.btn-group[data-toggle="btn-toggle"]').each(function () {
|
||||
var group = $(this);
|
||||
$(this).find(".btn").click(function (e) {
|
||||
group.find(".btn.active").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
/* ----------------------
|
||||
* - AdminLTE Functions -
|
||||
* ----------------------
|
||||
* All AdminLTE functions are implemented below.
|
||||
*/
|
||||
|
||||
/* prepareLayout
|
||||
* =============
|
||||
* Fixes the layout height in case min-height fails.
|
||||
*
|
||||
* @type Object
|
||||
* @usage $.AdminLTE.layout.activate()
|
||||
* $.AdminLTE.layout.fix()
|
||||
* $.AdminLTE.layout.fixSidebar()
|
||||
*/
|
||||
$.AdminLTE.layout = {
|
||||
activate: function () {
|
||||
var _this = this;
|
||||
_this.fix();
|
||||
_this.fixSidebar();
|
||||
$(window, ".wrapper").resize(function () {
|
||||
_this.fix();
|
||||
_this.fixSidebar();
|
||||
});
|
||||
},
|
||||
fix: function () {
|
||||
//Get window height and the wrapper height
|
||||
var neg = $('.main-header').outerHeight() + $('.main-footer').outerHeight();
|
||||
var window_height = $(window).height();
|
||||
var sidebar_height = $(".sidebar").height();
|
||||
//Set the min-height of the content and sidebar based on the
|
||||
//the height of the document.
|
||||
if ($("body").hasClass("fixed")) {
|
||||
$(".content-wrapper, .right-side").css('min-height', window_height - $('.main-footer').outerHeight());
|
||||
} else {
|
||||
if (window_height >= sidebar_height) {
|
||||
$(".content-wrapper, .right-side").css('min-height', window_height - neg);
|
||||
} else {
|
||||
$(".content-wrapper, .right-side").css('min-height', sidebar_height);
|
||||
}
|
||||
}
|
||||
},
|
||||
fixSidebar: function () {
|
||||
//Make sure the body tag has the .fixed class
|
||||
if (!$("body").hasClass("fixed")) {
|
||||
if (typeof $.fn.slimScroll != 'undefined') {
|
||||
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
||||
}
|
||||
return;
|
||||
} else if (typeof $.fn.slimScroll == 'undefined' && console) {
|
||||
console.error("Error: the fixed layout requires the slimscroll plugin!");
|
||||
}
|
||||
//Enable slimscroll for fixed layout
|
||||
if ($.AdminLTE.options.sidebarSlimScroll) {
|
||||
if (typeof $.fn.slimScroll != 'undefined') {
|
||||
//Distroy if it exists
|
||||
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
||||
//Add slimscroll
|
||||
$(".sidebar").slimscroll({
|
||||
height: ($(window).height() - $(".main-header").height()) + "px",
|
||||
color: "rgba(0,0,0,0.2)",
|
||||
size: "3px"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/* PushMenu()
|
||||
* ==========
|
||||
* Adds the push menu functionality to the sidebar.
|
||||
*
|
||||
* @type Function
|
||||
* @usage: $.AdminLTE.pushMenu("[data-toggle='offcanvas']")
|
||||
*/
|
||||
$.AdminLTE.pushMenu = function (toggleBtn) {
|
||||
//Enable sidebar toggle
|
||||
$(toggleBtn).click(function (e) {
|
||||
e.preventDefault();
|
||||
//Enable sidebar push menu
|
||||
$("body").toggleClass('sidebar-collapse');
|
||||
$("body").toggleClass('sidebar-open');
|
||||
});
|
||||
$(".content-wrapper").click(function () {
|
||||
//Enable hide menu when clicking on the content-wrapper on small screens
|
||||
if ($(window).width() <= 767 && $("body").hasClass("sidebar-open")) {
|
||||
$("body").removeClass('sidebar-open');
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
/* Tree()
|
||||
* ======
|
||||
* Converts the sidebar into a multilevel
|
||||
* tree view menu.
|
||||
*
|
||||
* @type Function
|
||||
* @Usage: $.AdminLTE.tree('.sidebar')
|
||||
*/
|
||||
$.AdminLTE.tree = function (menu) {
|
||||
$("li a", $(menu)).click(function (e) {
|
||||
//Get the clicked link and the next element
|
||||
var $this = $(this);
|
||||
var checkElement = $this.next();
|
||||
|
||||
//Check if the next element is a menu and is visible
|
||||
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible'))) {
|
||||
//Close the menu
|
||||
checkElement.slideUp('normal', function () {
|
||||
checkElement.removeClass('menu-open');
|
||||
});
|
||||
checkElement.parent("li").removeClass("active");
|
||||
}
|
||||
//If the menu is not visible
|
||||
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
||||
//Get the parent menu
|
||||
var parent = $this.parents('ul').first();
|
||||
//Close all open menus within the parent
|
||||
var ul = parent.find('ul:visible').slideUp('normal');
|
||||
//Remove the menu-open class from the parent
|
||||
ul.removeClass('menu-open');
|
||||
//Get the parent li
|
||||
var parent_li = $this.parent("li");
|
||||
|
||||
//Open the target menu and add the menu-open class
|
||||
checkElement.slideDown('normal', function () {
|
||||
//Add the class active to the parent li
|
||||
checkElement.addClass('menu-open');
|
||||
parent.find('li.active').removeClass('active');
|
||||
parent_li.addClass('active');
|
||||
});
|
||||
}
|
||||
//if this isn't a link, prevent the page from being redirected
|
||||
if (checkElement.is('.treeview-menu')) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/* BoxWidget
|
||||
* =========
|
||||
* BoxWidget is plugin to handle collapsing and
|
||||
* removing boxes from the screen.
|
||||
*
|
||||
* @type Object
|
||||
* @usage $.AdminLTE.boxWidget.activate()
|
||||
* Set all of your option in the main $.AdminLTE.options object
|
||||
*/
|
||||
$.AdminLTE.boxWidget = {
|
||||
activate: function () {
|
||||
var o = $.AdminLTE.options;
|
||||
var _this = this;
|
||||
//Listen for collapse event triggers
|
||||
$(o.boxWidgetOptions.boxWidgetSelectors.collapse).click(function (e) {
|
||||
e.preventDefault();
|
||||
_this.collapse($(this));
|
||||
});
|
||||
|
||||
//Listen for remove event triggers
|
||||
$(o.boxWidgetOptions.boxWidgetSelectors.remove).click(function (e) {
|
||||
e.preventDefault();
|
||||
_this.remove($(this));
|
||||
});
|
||||
},
|
||||
collapse: function (element) {
|
||||
//Find the box parent
|
||||
var box = element.parents(".box").first();
|
||||
//Find the body and the footer
|
||||
var bf = box.find(".box-body, .box-footer");
|
||||
if (!box.hasClass("collapsed-box")) {
|
||||
//Convert minus into plus
|
||||
element.children(".fa-minus").removeClass("fa-minus").addClass("fa-plus");
|
||||
bf.slideUp(300, function () {
|
||||
box.addClass("collapsed-box");
|
||||
});
|
||||
} else {
|
||||
//Convert plus into minus
|
||||
element.children(".fa-plus").removeClass("fa-plus").addClass("fa-minus");
|
||||
bf.slideDown(300, function () {
|
||||
box.removeClass("collapsed-box");
|
||||
});
|
||||
}
|
||||
},
|
||||
remove: function (element) {
|
||||
//Find the box parent
|
||||
var box = element.parents(".box").first();
|
||||
box.slideUp();
|
||||
},
|
||||
options: $.AdminLTE.options.boxWidgetOptions
|
||||
};
|
||||
|
||||
/* ------------------
|
||||
* - Custom Plugins -
|
||||
* ------------------
|
||||
* All custom plugins are defined below.
|
||||
*/
|
||||
|
||||
/*
|
||||
* BOX REFRESH BUTTON
|
||||
* ------------------
|
||||
* This is a custom plugin to use with the compenet BOX. It allows you to add
|
||||
* a refresh button to the box. It converts the box's state to a loading state.
|
||||
*
|
||||
* @type plugin
|
||||
* @usage $("#box-widget").boxRefresh( options );
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
$.fn.boxRefresh = function (options) {
|
||||
|
||||
// Render options
|
||||
var settings = $.extend({
|
||||
//Refressh button selector
|
||||
trigger: ".refresh-btn",
|
||||
//File source to be loaded (e.g: ajax/src.php)
|
||||
source: "",
|
||||
//Callbacks
|
||||
onLoadStart: function (box) {
|
||||
}, //Right after the button has been clicked
|
||||
onLoadDone: function (box) {
|
||||
} //When the source has been loaded
|
||||
|
||||
}, options);
|
||||
|
||||
//The overlay
|
||||
var overlay = $('<div class="overlay"></div><div class="loading-img"></div>');
|
||||
|
||||
return this.each(function () {
|
||||
//if a source is specified
|
||||
if (settings.source === "") {
|
||||
if (console) {
|
||||
console.log("Please specify a source first - boxRefresh()");
|
||||
}
|
||||
return;
|
||||
}
|
||||
//the box
|
||||
var box = $(this);
|
||||
//the button
|
||||
var rBtn = box.find(settings.trigger).first();
|
||||
|
||||
//On trigger click
|
||||
rBtn.click(function (e) {
|
||||
e.preventDefault();
|
||||
//Add loading overlay
|
||||
start(box);
|
||||
|
||||
//Perform ajax call
|
||||
box.find(".box-body").load(settings.source, function () {
|
||||
done(box);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function start(box) {
|
||||
//Add overlay and loading img
|
||||
box.append(overlay);
|
||||
|
||||
settings.onLoadStart.call(box);
|
||||
}
|
||||
|
||||
function done(box) {
|
||||
//Remove overlay and loading img
|
||||
box.find(overlay).remove();
|
||||
|
||||
settings.onLoadDone.call(box);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*
|
||||
* TODO LIST CUSTOM PLUGIN
|
||||
* -----------------------
|
||||
* This plugin depends on iCheck plugin for checkbox and radio inputs
|
||||
*
|
||||
* @type plugin
|
||||
* @usage $("#todo-widget").todolist( options );
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
$.fn.todolist = function (options) {
|
||||
// Render options
|
||||
var settings = $.extend({
|
||||
//When the user checks the input
|
||||
onCheck: function (ele) {
|
||||
},
|
||||
//When the user unchecks the input
|
||||
onUncheck: function (ele) {
|
||||
}
|
||||
}, options);
|
||||
|
||||
return this.each(function () {
|
||||
|
||||
if (typeof $.fn.iCheck != 'undefined') {
|
||||
$('input', this).on('ifChecked', function (event) {
|
||||
var ele = $(this).parents("li").first();
|
||||
ele.toggleClass("done");
|
||||
settings.onCheck.call(ele);
|
||||
});
|
||||
|
||||
$('input', this).on('ifUnchecked', function (event) {
|
||||
var ele = $(this).parents("li").first();
|
||||
ele.toggleClass("done");
|
||||
settings.onUncheck.call(ele);
|
||||
});
|
||||
} else {
|
||||
$('input', this).on('change', function (event) {
|
||||
var ele = $(this).parents("li").first();
|
||||
ele.toggleClass("done");
|
||||
settings.onCheck.call(ele);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
}(jQuery));
|
||||
13
code/public/dist/js/app.min.js
vendored
Normal file
13
code/public/dist/js/app.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
code/public/dist/js/bootstrap.min.js
vendored
Normal file
6
code/public/dist/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
162
code/public/dist/js/demo.js
vendored
Normal file
162
code/public/dist/js/demo.js
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||
var my_skins = ["skin-blue", "skin-black", "skin-red", "skin-yellow", "skin-purple", "skin-green"];
|
||||
$(function () {
|
||||
/* For demo purposes */
|
||||
var demo = $("<div />").css({
|
||||
position: "fixed",
|
||||
top: "70px",
|
||||
right: "0",
|
||||
background: "#fff",
|
||||
"border-radius": "5px 0px 0px 5px",
|
||||
padding: "10px 15px",
|
||||
"font-size": "16px",
|
||||
"z-index": "99999",
|
||||
cursor: "pointer",
|
||||
color: "#3c8dbc",
|
||||
"box-shadow": "0 1px 3px rgba(0,0,0,0.1)"
|
||||
}).html("<i class='fa fa-gear'></i>").addClass("no-print");
|
||||
|
||||
var demo_settings = $("<div />").css({
|
||||
"padding": "10px",
|
||||
position: "fixed",
|
||||
top: "70px",
|
||||
right: "-250px",
|
||||
background: "#fff",
|
||||
border: "0px solid #ddd",
|
||||
"width": "250px",
|
||||
"z-index": "99999",
|
||||
"box-shadow": "0 1px 3px rgba(0,0,0,0.1)"
|
||||
}).addClass("no-print");
|
||||
demo_settings.append(
|
||||
"<h4 class='text-light-blue' style='margin: 0 0 5px 0; border-bottom: 1px solid #ddd; padding-bottom: 15px;'>Layout Options</h4>"
|
||||
//Fixed layout
|
||||
+ "<div class='form-group'>"
|
||||
+ "<div class='checkbox'>"
|
||||
+ "<label>"
|
||||
+ "<input type='checkbox' onchange='change_layout(\"fixed\");'/> "
|
||||
+ "Fixed layout"
|
||||
+ "</label>"
|
||||
+ "</div>"
|
||||
+ "</div>"
|
||||
//Boxed layout
|
||||
+ "<div class='form-group'>"
|
||||
+ "<div class='checkbox'>"
|
||||
+ "<label>"
|
||||
+ "<input type='checkbox' onchange='change_layout(\"layout-boxed\");'/> "
|
||||
+ "Boxed Layout"
|
||||
+ "</label>"
|
||||
+ "</div>"
|
||||
+ "</div>"
|
||||
//Sidebar Collapse
|
||||
+ "<div class='form-group'>"
|
||||
+ "<div class='checkbox'>"
|
||||
+ "<label>"
|
||||
+ "<input type='checkbox' onchange='change_layout(\"sidebar-collapse\");'/> "
|
||||
+ "Collapsed Sidebar"
|
||||
+ "</label>"
|
||||
+ "</div>"
|
||||
+ "</div>"
|
||||
);
|
||||
var skins_list = $("<ul />", {"class": 'list-unstyled'});
|
||||
var skin_blue =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-blue\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 10px; background: #367fa9;'></span><span class='bg-light-blue' style='display:block; width: 80%; float: left; height: 10px;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Blue</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_blue);
|
||||
var skin_black =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-black\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div style='box-shadow: 0 0 2px rgba(0,0,0,0.1)' class='clearfix'><span style='display:block; width: 20%; float: left; height: 10px; background: #fefefe;'></span><span style='display:block; width: 80%; float: left; height: 10px; background: #fefefe;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Black</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_black);
|
||||
var skin_purple =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-purple\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 10px;' class='bg-purple-active'></span><span class='bg-purple' style='display:block; width: 80%; float: left; height: 10px;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Purple</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_purple);
|
||||
var skin_green =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-green\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 10px;' class='bg-green-active'></span><span class='bg-green' style='display:block; width: 80%; float: left; height: 10px;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Green</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_green);
|
||||
var skin_red =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-red\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 10px;' class='bg-red-active'></span><span class='bg-red' style='display:block; width: 80%; float: left; height: 10px;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Red</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_red);
|
||||
var skin_yellow =
|
||||
$("<li />", {style: "float:left; width: 50%; padding: 5px;"})
|
||||
.append("<a href='#' onclick='change_skin(\"skin-yellow\")' style='display: block; box-shadow: -1px 1px 2px rgba(0,0,0,0.0);' class='clearfix full-opacity-hover'>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 10px;' class='bg-yellow-active'></span><span class='bg-yellow' style='display:block; width: 80%; float: left; height: 10px;'></span></div>"
|
||||
+ "<div><span style='display:block; width: 20%; float: left; height: 40px; background: #222d32;'></span><span style='display:block; width: 80%; float: left; height: 40px; background: #f4f5f7;'></span></div>"
|
||||
+ "<p class='text-center'>Skin Yellow</p>"
|
||||
+ "</a>");
|
||||
skins_list.append(skin_yellow);
|
||||
|
||||
demo_settings.append("<h4 class='text-light-blue' style='margin: 0 0 5px 0; border-bottom: 1px solid #ddd; padding-bottom: 15px;'>Skins</h4>");
|
||||
demo_settings.append(skins_list);
|
||||
|
||||
demo.click(function () {
|
||||
if (!$(this).hasClass("open")) {
|
||||
$(this).animate({"right": "250px"});
|
||||
demo_settings.animate({"right": "0"});
|
||||
$(this).addClass("open");
|
||||
} else {
|
||||
$(this).animate({"right": "0"});
|
||||
demo_settings.animate({"right": "-250px"});
|
||||
$(this).removeClass("open");
|
||||
}
|
||||
});
|
||||
|
||||
$("body").append(demo);
|
||||
$("body").append(demo_settings);
|
||||
|
||||
setup();
|
||||
});
|
||||
|
||||
function change_layout(cls) {
|
||||
$("body").toggleClass(cls);
|
||||
$.AdminLTE.layout.fixSidebar();
|
||||
}
|
||||
function change_skin(cls) {
|
||||
$.each(my_skins, function (i) {
|
||||
$("body").removeClass(my_skins[i]);
|
||||
});
|
||||
|
||||
$("body").addClass(cls);
|
||||
store('skin', cls);
|
||||
return false;
|
||||
}
|
||||
function store(name, val) {
|
||||
if (typeof (Storage) !== "undefined") {
|
||||
localStorage.setItem(name, val);
|
||||
} else {
|
||||
alert('Please use a modern browser to properly view this template!');
|
||||
}
|
||||
}
|
||||
function get(name) {
|
||||
if (typeof (Storage) !== "undefined") {
|
||||
return localStorage.getItem(name);
|
||||
} else {
|
||||
alert('Please use a modern browser to properly view this template!');
|
||||
}
|
||||
}
|
||||
|
||||
function setup() {
|
||||
var tmp = get('skin');
|
||||
if (tmp && $.inArray(tmp, my_skins))
|
||||
change_skin(tmp);
|
||||
}
|
||||
1585
code/public/dist/js/editor.js
vendored
Normal file
1585
code/public/dist/js/editor.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
code/public/dist/js/jquery-2.1.0.min.js
vendored
Normal file
4
code/public/dist/js/jquery-2.1.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
code/public/dist/js/jquery.min.js
vendored
Normal file
6
code/public/dist/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
238
code/public/dist/js/pages/dashboard.js
vendored
Normal file
238
code/public/dist/js/pages/dashboard.js
vendored
Normal file
@@ -0,0 +1,238 @@
|
||||
/*
|
||||
* Author: Abdullah A Almsaeed
|
||||
* Date: 4 Jan 2014
|
||||
* Description:
|
||||
* This is a demo file used only for the main dashboard (index.html)
|
||||
**/
|
||||
"use strict";
|
||||
|
||||
$(function () {
|
||||
|
||||
//Activate the iCheck Plugin
|
||||
$('input[type="checkbox"]').iCheck({
|
||||
checkboxClass: 'icheckbox_flat-blue',
|
||||
radioClass: 'iradio_flat-blue'
|
||||
});
|
||||
//Make the dashboard widgets sortable Using jquery UI
|
||||
$(".connectedSortable").sortable({
|
||||
placeholder: "sort-highlight",
|
||||
connectWith: ".connectedSortable",
|
||||
handle: ".box-header, .nav-tabs",
|
||||
forcePlaceholderSize: true,
|
||||
zIndex: 999999
|
||||
});
|
||||
$(".connectedSortable .box-header, .connectedSortable .nav-tabs-custom").css("cursor", "move");
|
||||
//jQuery UI sortable for the todo list
|
||||
$(".todo-list").sortable({
|
||||
placeholder: "sort-highlight",
|
||||
handle: ".handle",
|
||||
forcePlaceholderSize: true,
|
||||
zIndex: 999999
|
||||
});
|
||||
|
||||
//bootstrap WYSIHTML5 - text editor
|
||||
$(".textarea").wysihtml5();
|
||||
|
||||
$('.daterange').daterangepicker(
|
||||
{
|
||||
ranges: {
|
||||
'Today': [moment(), moment()],
|
||||
'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)],
|
||||
'Last 7 Days': [moment().subtract('days', 6), moment()],
|
||||
'Last 30 Days': [moment().subtract('days', 29), moment()],
|
||||
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
||||
'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')]
|
||||
},
|
||||
startDate: moment().subtract('days', 29),
|
||||
endDate: moment()
|
||||
},
|
||||
function (start, end) {
|
||||
alert("You chose: " + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
|
||||
});
|
||||
|
||||
/* jQueryKnob */
|
||||
$(".knob").knob();
|
||||
|
||||
//jvectormap data
|
||||
var visitorsData = {
|
||||
"US": 398, //USA
|
||||
"SA": 400, //Saudi Arabia
|
||||
"CA": 1000, //Canada
|
||||
"DE": 500, //Germany
|
||||
"FR": 760, //France
|
||||
"CN": 300, //China
|
||||
"AU": 700, //Australia
|
||||
"BR": 600, //Brazil
|
||||
"IN": 800, //India
|
||||
"GB": 320, //Great Britain
|
||||
"RU": 3000 //Russia
|
||||
};
|
||||
//World map by jvectormap
|
||||
$('#world-map').vectorMap({
|
||||
map: 'world_mill_en',
|
||||
backgroundColor: "transparent",
|
||||
regionStyle: {
|
||||
initial: {
|
||||
fill: '#e4e4e4',
|
||||
"fill-opacity": 1,
|
||||
stroke: 'none',
|
||||
"stroke-width": 0,
|
||||
"stroke-opacity": 1
|
||||
}
|
||||
},
|
||||
series: {
|
||||
regions: [{
|
||||
values: visitorsData,
|
||||
scale: ["#92c1dc", "#ebf4f9"],
|
||||
normalizeFunction: 'polynomial'
|
||||
}]
|
||||
},
|
||||
onRegionLabelShow: function (e, el, code) {
|
||||
if (typeof visitorsData[code] != "undefined")
|
||||
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
|
||||
}
|
||||
});
|
||||
|
||||
//Sparkline charts
|
||||
var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021];
|
||||
$('#sparkline-1').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921];
|
||||
$('#sparkline-2').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21];
|
||||
$('#sparkline-3').sparkline(myvalues, {
|
||||
type: 'line',
|
||||
lineColor: '#92c1dc',
|
||||
fillColor: "#ebf4f9",
|
||||
height: '50',
|
||||
width: '80'
|
||||
});
|
||||
|
||||
//The Calender
|
||||
$("#calendar").datepicker();
|
||||
|
||||
//SLIMSCROLL FOR CHAT WIDGET
|
||||
$('#chat-box').slimScroll({
|
||||
height: '250px'
|
||||
});
|
||||
|
||||
/* Morris.js Charts */
|
||||
// Sales chart
|
||||
var area = new Morris.Area({
|
||||
element: 'revenue-chart',
|
||||
resize: true,
|
||||
data: [
|
||||
{y: '2011 Q1', item1: 2666, item2: 2666},
|
||||
{y: '2011 Q2', item1: 2778, item2: 2294},
|
||||
{y: '2011 Q3', item1: 4912, item2: 1969},
|
||||
{y: '2011 Q4', item1: 3767, item2: 3597},
|
||||
{y: '2012 Q1', item1: 6810, item2: 1914},
|
||||
{y: '2012 Q2', item1: 5670, item2: 4293},
|
||||
{y: '2012 Q3', item1: 4820, item2: 3795},
|
||||
{y: '2012 Q4', item1: 15073, item2: 5967},
|
||||
{y: '2013 Q1', item1: 10687, item2: 4460},
|
||||
{y: '2013 Q2', item1: 8432, item2: 5713}
|
||||
],
|
||||
xkey: 'y',
|
||||
ykeys: ['item1', 'item2'],
|
||||
labels: ['Item 1', 'Item 2'],
|
||||
lineColors: ['#a0d0e0', '#3c8dbc'],
|
||||
hideHover: 'auto'
|
||||
});
|
||||
var line = new Morris.Line({
|
||||
element: 'line-chart',
|
||||
resize: true,
|
||||
data: [
|
||||
{y: '2011 Q1', item1: 2666},
|
||||
{y: '2011 Q2', item1: 2778},
|
||||
{y: '2011 Q3', item1: 4912},
|
||||
{y: '2011 Q4', item1: 3767},
|
||||
{y: '2012 Q1', item1: 6810},
|
||||
{y: '2012 Q2', item1: 5670},
|
||||
{y: '2012 Q3', item1: 4820},
|
||||
{y: '2012 Q4', item1: 15073},
|
||||
{y: '2013 Q1', item1: 10687},
|
||||
{y: '2013 Q2', item1: 8432}
|
||||
],
|
||||
xkey: 'y',
|
||||
ykeys: ['item1'],
|
||||
labels: ['Item 1'],
|
||||
lineColors: ['#efefef'],
|
||||
lineWidth: 2,
|
||||
hideHover: 'auto',
|
||||
gridTextColor: "#fff",
|
||||
gridStrokeWidth: 0.4,
|
||||
pointSize: 4,
|
||||
pointStrokeColors: ["#efefef"],
|
||||
gridLineColor: "#efefef",
|
||||
gridTextFamily: "Open Sans",
|
||||
gridTextSize: 10
|
||||
});
|
||||
|
||||
//Donut Chart
|
||||
var donut = new Morris.Donut({
|
||||
element: 'sales-chart',
|
||||
resize: true,
|
||||
colors: ["#3c8dbc", "#f56954", "#00a65a"],
|
||||
data: [
|
||||
{label: "Download Sales", value: 12},
|
||||
{label: "In-Store Sales", value: 30},
|
||||
{label: "Mail-Order Sales", value: 20}
|
||||
],
|
||||
hideHover: 'auto'
|
||||
});
|
||||
|
||||
//Fix for charts under tabs
|
||||
$('.box ul.nav a').on('shown.bs.tab', function (e) {
|
||||
area.redraw();
|
||||
donut.redraw();
|
||||
});
|
||||
|
||||
|
||||
/* BOX REFRESH PLUGIN EXAMPLE (usage with morris charts) */
|
||||
$("#loading-example").boxRefresh({
|
||||
source: "ajax/dashboard-boxrefresh-demo.php",
|
||||
onLoadDone: function (box) {
|
||||
bar = new Morris.Bar({
|
||||
element: 'bar-chart',
|
||||
resize: true,
|
||||
data: [
|
||||
{y: '2006', a: 100, b: 90},
|
||||
{y: '2007', a: 75, b: 65},
|
||||
{y: '2008', a: 50, b: 40},
|
||||
{y: '2009', a: 75, b: 65},
|
||||
{y: '2010', a: 50, b: 40},
|
||||
{y: '2011', a: 75, b: 65},
|
||||
{y: '2012', a: 100, b: 90}
|
||||
],
|
||||
barColors: ['#00a65a', '#f56954'],
|
||||
xkey: 'y',
|
||||
ykeys: ['a', 'b'],
|
||||
labels: ['CPU', 'DISK'],
|
||||
hideHover: 'auto'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/* The todo list plugin */
|
||||
$(".todo-list").todolist({
|
||||
onCheck: function (ele) {
|
||||
console.log("The element has been checked")
|
||||
},
|
||||
onUncheck: function (ele) {
|
||||
console.log("The element has been unchecked")
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
279
code/public/dist/js/pages/dashboard2.js
vendored
Normal file
279
code/public/dist/js/pages/dashboard2.js
vendored
Normal file
@@ -0,0 +1,279 @@
|
||||
'use strict';
|
||||
$(function () {
|
||||
|
||||
//Simple implementation of direct chat contact pane toggle (TEMPORARY)
|
||||
$('[data-widget="chat-pane-toggle"]').click(function(){
|
||||
$("#myDirectChat").toggleClass('direct-chat-contacts-open');
|
||||
});
|
||||
|
||||
/* ChartJS
|
||||
* -------
|
||||
* Here we will create a few charts using ChartJS
|
||||
*/
|
||||
|
||||
//-----------------------
|
||||
//- MONTHLY SALES CHART -
|
||||
//-----------------------
|
||||
|
||||
// Get context with jQuery - using jQuery's .get() method.
|
||||
var salesChartCanvas = $("#salesChart").get(0).getContext("2d");
|
||||
// This will get the first returned node in the jQuery collection.
|
||||
var salesChart = new Chart(salesChartCanvas);
|
||||
|
||||
var salesChartData = {
|
||||
labels: ["January", "February", "March", "April", "May", "June", "July"],
|
||||
datasets: [
|
||||
{
|
||||
label: "Electronics",
|
||||
fillColor: "rgb(210, 214, 222)",
|
||||
strokeColor: "rgb(210, 214, 222)",
|
||||
pointColor: "rgb(210, 214, 222)",
|
||||
pointStrokeColor: "#c1c7d1",
|
||||
pointHighlightFill: "#fff",
|
||||
pointHighlightStroke: "rgb(220,220,220)",
|
||||
data: [65, 59, 80, 81, 56, 55, 40]
|
||||
},
|
||||
{
|
||||
label: "Digital Goods",
|
||||
fillColor: "rgba(60,141,188,0.9)",
|
||||
strokeColor: "rgba(60,141,188,0.8)",
|
||||
pointColor: "#3b8bba",
|
||||
pointStrokeColor: "rgba(60,141,188,1)",
|
||||
pointHighlightFill: "#fff",
|
||||
pointHighlightStroke: "rgba(60,141,188,1)",
|
||||
data: [28, 48, 40, 19, 86, 27, 90]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var salesChartOptions = {
|
||||
//Boolean - If we should show the scale at all
|
||||
showScale: true,
|
||||
//Boolean - Whether grid lines are shown across the chart
|
||||
scaleShowGridLines: false,
|
||||
//String - Colour of the grid lines
|
||||
scaleGridLineColor: "rgba(0,0,0,.05)",
|
||||
//Number - Width of the grid lines
|
||||
scaleGridLineWidth: 1,
|
||||
//Boolean - Whether to show horizontal lines (except X axis)
|
||||
scaleShowHorizontalLines: true,
|
||||
//Boolean - Whether to show vertical lines (except Y axis)
|
||||
scaleShowVerticalLines: true,
|
||||
//Boolean - Whether the line is curved between points
|
||||
bezierCurve: true,
|
||||
//Number - Tension of the bezier curve between points
|
||||
bezierCurveTension: 0.3,
|
||||
//Boolean - Whether to show a dot for each point
|
||||
pointDot: false,
|
||||
//Number - Radius of each point dot in pixels
|
||||
pointDotRadius: 4,
|
||||
//Number - Pixel width of point dot stroke
|
||||
pointDotStrokeWidth: 1,
|
||||
//Number - amount extra to add to the radius to cater for hit detection outside the drawn point
|
||||
pointHitDetectionRadius: 20,
|
||||
//Boolean - Whether to show a stroke for datasets
|
||||
datasetStroke: true,
|
||||
//Number - Pixel width of dataset stroke
|
||||
datasetStrokeWidth: 2,
|
||||
//Boolean - Whether to fill the dataset with a color
|
||||
datasetFill: true,
|
||||
//String - A legend template
|
||||
legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].lineColor%>\"></span><%=datasets[i].label%></li><%}%></ul>",
|
||||
//Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
|
||||
maintainAspectRatio: false,
|
||||
//Boolean - whether to make the chart responsive to window resizing
|
||||
responsive: true
|
||||
};
|
||||
|
||||
//Create the line chart
|
||||
salesChart.Line(salesChartData, salesChartOptions);
|
||||
|
||||
//---------------------------
|
||||
//- END MONTHLY SALES CHART -
|
||||
//---------------------------
|
||||
|
||||
//-------------
|
||||
//- PIE CHART -
|
||||
//-------------
|
||||
// Get context with jQuery - using jQuery's .get() method.
|
||||
var pieChartCanvas = $("#pieChart").get(0).getContext("2d");
|
||||
var pieChart = new Chart(pieChartCanvas);
|
||||
var PieData = [
|
||||
{
|
||||
value: 700,
|
||||
color: "#f56954",
|
||||
highlight: "#f56954",
|
||||
label: "Chrome"
|
||||
},
|
||||
{
|
||||
value: 500,
|
||||
color: "#00a65a",
|
||||
highlight: "#00a65a",
|
||||
label: "IE"
|
||||
},
|
||||
{
|
||||
value: 400,
|
||||
color: "#f39c12",
|
||||
highlight: "#f39c12",
|
||||
label: "FireFox"
|
||||
},
|
||||
{
|
||||
value: 600,
|
||||
color: "#00c0ef",
|
||||
highlight: "#00c0ef",
|
||||
label: "Safari"
|
||||
},
|
||||
{
|
||||
value: 300,
|
||||
color: "#3c8dbc",
|
||||
highlight: "#3c8dbc",
|
||||
label: "Opera"
|
||||
},
|
||||
{
|
||||
value: 100,
|
||||
color: "#d2d6de",
|
||||
highlight: "#d2d6de",
|
||||
label: "Navigator"
|
||||
}
|
||||
];
|
||||
var pieOptions = {
|
||||
//Boolean - Whether we should show a stroke on each segment
|
||||
segmentShowStroke: true,
|
||||
//String - The colour of each segment stroke
|
||||
segmentStrokeColor: "#fff",
|
||||
//Number - The width of each segment stroke
|
||||
segmentStrokeWidth: 1,
|
||||
//Number - The percentage of the chart that we cut out of the middle
|
||||
percentageInnerCutout: 50, // This is 0 for Pie charts
|
||||
//Number - Amount of animation steps
|
||||
animationSteps: 100,
|
||||
//String - Animation easing effect
|
||||
animationEasing: "easeOutBounce",
|
||||
//Boolean - Whether we animate the rotation of the Doughnut
|
||||
animateRotate: true,
|
||||
//Boolean - Whether we animate scaling the Doughnut from the centre
|
||||
animateScale: false,
|
||||
//Boolean - whether to make the chart responsive to window resizing
|
||||
responsive: true,
|
||||
// Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
|
||||
maintainAspectRatio: false,
|
||||
//String - A legend template
|
||||
legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>",
|
||||
//String - A tooltip template
|
||||
tooltipTemplate: "<%=value %> <%=label%> users"
|
||||
};
|
||||
//Create pie or douhnut chart
|
||||
// You can switch between pie and douhnut using the method below.
|
||||
pieChart.Doughnut(PieData, pieOptions);
|
||||
//-----------------
|
||||
//- END PIE CHART -
|
||||
//-----------------
|
||||
|
||||
/* jVector Maps
|
||||
* ------------
|
||||
* Create a world map with markers
|
||||
*/
|
||||
$('#world-map-markers').vectorMap({
|
||||
map: 'world_mill_en',
|
||||
normalizeFunction: 'polynomial',
|
||||
hoverOpacity: 0.7,
|
||||
hoverColor: false,
|
||||
backgroundColor: 'transparent',
|
||||
regionStyle: {
|
||||
initial: {
|
||||
fill: 'rgba(210, 214, 222, 1)',
|
||||
"fill-opacity": 1,
|
||||
stroke: 'none',
|
||||
"stroke-width": 0,
|
||||
"stroke-opacity": 1
|
||||
},
|
||||
hover: {
|
||||
"fill-opacity": 0.7,
|
||||
cursor: 'pointer'
|
||||
},
|
||||
selected: {
|
||||
fill: 'yellow'
|
||||
},
|
||||
selectedHover: {
|
||||
}
|
||||
},
|
||||
markerStyle: {
|
||||
initial: {
|
||||
fill: '#00a65a',
|
||||
stroke: '#111'
|
||||
}
|
||||
},
|
||||
markers: [
|
||||
{latLng: [41.90, 12.45], name: 'Vatican City'},
|
||||
{latLng: [43.73, 7.41], name: 'Monaco'},
|
||||
{latLng: [-0.52, 166.93], name: 'Nauru'},
|
||||
{latLng: [-8.51, 179.21], name: 'Tuvalu'},
|
||||
{latLng: [43.93, 12.46], name: 'San Marino'},
|
||||
{latLng: [47.14, 9.52], name: 'Liechtenstein'},
|
||||
{latLng: [7.11, 171.06], name: 'Marshall Islands'},
|
||||
{latLng: [17.3, -62.73], name: 'Saint Kitts and Nevis'},
|
||||
{latLng: [3.2, 73.22], name: 'Maldives'},
|
||||
{latLng: [35.88, 14.5], name: 'Malta'},
|
||||
{latLng: [12.05, -61.75], name: 'Grenada'},
|
||||
{latLng: [13.16, -61.23], name: 'Saint Vincent and the Grenadines'},
|
||||
{latLng: [13.16, -59.55], name: 'Barbados'},
|
||||
{latLng: [17.11, -61.85], name: 'Antigua and Barbuda'},
|
||||
{latLng: [-4.61, 55.45], name: 'Seychelles'},
|
||||
{latLng: [7.35, 134.46], name: 'Palau'},
|
||||
{latLng: [42.5, 1.51], name: 'Andorra'},
|
||||
{latLng: [14.01, -60.98], name: 'Saint Lucia'},
|
||||
{latLng: [6.91, 158.18], name: 'Federated States of Micronesia'},
|
||||
{latLng: [1.3, 103.8], name: 'Singapore'},
|
||||
{latLng: [1.46, 173.03], name: 'Kiribati'},
|
||||
{latLng: [-21.13, -175.2], name: 'Tonga'},
|
||||
{latLng: [15.3, -61.38], name: 'Dominica'},
|
||||
{latLng: [-20.2, 57.5], name: 'Mauritius'},
|
||||
{latLng: [26.02, 50.55], name: 'Bahrain'},
|
||||
{latLng: [0.33, 6.73], name: 'São Tomé and Príncipe'}
|
||||
]
|
||||
});
|
||||
|
||||
/* SPARKLINE CHARTS
|
||||
* ----------------
|
||||
* Create a inline charts with spark line
|
||||
*/
|
||||
|
||||
//-----------------
|
||||
//- SPARKLINE BAR -
|
||||
//-----------------
|
||||
$('.sparkbar').each(function () {
|
||||
var $this = $(this);
|
||||
$this.sparkline('html', {
|
||||
type: 'bar',
|
||||
height: $this.data('height') ? $this.data('height') : '30',
|
||||
barColor: $this.data('color')
|
||||
});
|
||||
});
|
||||
|
||||
//-----------------
|
||||
//- SPARKLINE PIE -
|
||||
//-----------------
|
||||
$('.sparkpie').each(function () {
|
||||
var $this = $(this);
|
||||
$this.sparkline('html', {
|
||||
type: 'pie',
|
||||
height: $this.data('height') ? $this.data('height') : '90',
|
||||
sliceColors: $this.data('color')
|
||||
});
|
||||
});
|
||||
|
||||
//------------------
|
||||
//- SPARKLINE LINE -
|
||||
//------------------
|
||||
$('.sparkline').each(function () {
|
||||
var $this = $(this);
|
||||
$this.sparkline('html', {
|
||||
type: 'line',
|
||||
height: $this.data('height') ? $this.data('height') : '90',
|
||||
width: '100%',
|
||||
lineColor: $this.data('linecolor'),
|
||||
fillColor: $this.data('fillcolor'),
|
||||
spotColor: $this.data('spotcolor')
|
||||
});
|
||||
});
|
||||
});
|
||||
48
code/public/dist/js/tabby.js
vendored
Normal file
48
code/public/dist/js/tabby.js
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
/* =============================================================
|
||||
|
||||
Tabby v2.0
|
||||
Simple, mobile-first toggle tabs by Chris Ferdinandi
|
||||
http://gomakethings.com
|
||||
|
||||
Free to use under the MIT License.
|
||||
http://gomakethings.com/mit/
|
||||
|
||||
* ============================================================= */
|
||||
|
||||
$(function () {
|
||||
|
||||
$('.tabs a, .tabs button').click(function(e) {
|
||||
e.preventDefault(); // Prevent default link behavior.
|
||||
var tabID = $(this).attr('data-target'); // Pull the data-target value as the tabID.
|
||||
|
||||
$(this).addClass('active').parent().addClass('active'); // Add the .active class to the link and it's parent li (if one exists).
|
||||
$(this).siblings().removeClass('active'); // Remove the .active class from sibling tab navigation elements.
|
||||
$(this).parent('li').siblings().removeClass('active').children().removeClass('active'); // Remove the .active class from sibling li elements and their links.
|
||||
$(tabID).addClass('active'); // Add the .active class to the div with the tab content.
|
||||
$(tabID).siblings().removeClass('active'); // Remove the .active class from other tab content divs.
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* =============================================================
|
||||
|
||||
Progressively Enhanced JS v1.0
|
||||
Adds .js class to <body> for progressive enhancement.
|
||||
|
||||
Script by Chris Ferdinandi.
|
||||
http://gomakethings.com
|
||||
|
||||
Free to use under the MIT License.
|
||||
http://gomakethings.com/mit/
|
||||
|
||||
* ============================================================= */
|
||||
|
||||
(function($) {
|
||||
$(function () {
|
||||
$('body').addClass('js'); // On page load, add the .js class to the <body> element.
|
||||
});
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user