var Index = function () { return { //main function init: function () { Metronic.addResizeHandler(function () { jQuery('.vmaps').each(function () { var map = jQuery(this); map.width(map.parent().width()); }); }); }, initJQVMAP: function () { if (!jQuery().vectorMap) { return; } var showMap = function (name) { jQuery('.vmaps').hide(); jQuery('#vmap_' + name).show(); } var setMap = function (name) { var data = { map: 'world_en', backgroundColor: null, borderColor: '#333333', borderOpacity: 0.5, borderWidth: 1, color: '#c6c6c6', enableZoom: true, hoverColor: '#c9dfaf', hoverOpacity: null, values: sample_data, normalizeFunction: 'linear', scaleColors: ['#b6da93', '#909cae'], selectedColor: '#c9dfaf', selectedRegion: null, showTooltip: true, onLabelShow: function (event, label, code) { }, onRegionOver: function (event, code) { if (code == 'ca') { event.preventDefault(); } }, onRegionClick: function (element, code, region) { var message = 'You clicked "' + region + '" which has the code: ' + code.toUpperCase(); alert(message); } }; data.map = name + '_en'; var map = jQuery('#vmap_' + name); if (!map) { return; } map.width(map.parent().parent().width()); map.show(); map.vectorMap(data); map.hide(); } setMap("world"); setMap("usa"); setMap("europe"); setMap("russia"); setMap("germany"); showMap("world"); jQuery('#regional_stat_world').click(function () { showMap("world"); }); jQuery('#regional_stat_usa').click(function () { showMap("usa"); }); jQuery('#regional_stat_europe').click(function () { showMap("europe"); }); jQuery('#regional_stat_russia').click(function () { showMap("russia"); }); jQuery('#regional_stat_germany').click(function () { showMap("germany"); }); $('#region_statistics_loading').hide(); $('#region_statistics_content').show(); }, initCalendar: function () { if (!jQuery().fullCalendar) { return; } var date = new Date(); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var h = {}; if ($('#calendar').width() <= 400) { $('#calendar').addClass("mobile"); h = { left: 'title, prev, next', center: '', right: 'today,month,agendaWeek,agendaDay' }; } else { $('#calendar').removeClass("mobile"); if (Metronic.isRTL()) { h = { right: 'title', center: '', left: 'prev,next,today,month,agendaWeek,agendaDay' }; } else { h = { left: 'title', center: '', right: 'prev,next,today,month,agendaWeek,agendaDay' }; } } $('#calendar').fullCalendar('destroy'); // destroy the calendar $('#calendar').fullCalendar({ //re-initialize the calendar disableDragging : false, header: h, editable: true, events: [{ title: 'All Day', start: new Date(y, m, 1), backgroundColor: Metronic.getBrandColor('yellow') }, { title: 'Long Event', start: new Date(y, m, d - 5), end: new Date(y, m, d - 2), backgroundColor: Metronic.getBrandColor('blue') }, { title: 'Repeating Event', start: new Date(y, m, d - 3, 16, 0), allDay: false, backgroundColor: Metronic.getBrandColor('red') }, { title: 'Repeating Event', start: new Date(y, m, d + 6, 16, 0), allDay: false, backgroundColor: Metronic.getBrandColor('green') }, { title: 'Meeting', start: new Date(y, m, d+9, 10, 30), allDay: false }, { title: 'Lunch', start: new Date(y, m, d, 14, 0), end: new Date(y, m, d, 14, 0), backgroundColor: Metronic.getBrandColor('grey'), allDay: false }, { title: 'Birthday', start: new Date(y, m, d + 1, 19, 0), end: new Date(y, m, d + 1, 22, 30), backgroundColor: Metronic.getBrandColor('purple'), allDay: false }, { title: 'Click for Google', start: new Date(y, m, 28), end: new Date(y, m, 29), backgroundColor: Metronic.getBrandColor('yellow'), url: 'http://google.com/' }] }); }, initCharts: function () { if (!jQuery.plot) { return; } function showChartTooltip(x, y, xValue, yValue) { $('
' + yValue + '<\/div>').css({ position: 'absolute', display: 'none', top: y - 40, left: x - 40, border: '0px solid #ccc', padding: '2px 6px', 'background-color': '#fff' }).appendTo("body").fadeIn(200); } var data = []; var totalPoints = 250; // random data generator for plot charts function getRandomData() { if (data.length > 0) data = data.slice(1); // do a random walk while (data.length < totalPoints) { var prev = data.length > 0 ? data[data.length - 1] : 50; var y = prev + Math.random() * 10 - 5; if (y < 0) y = 0; if (y > 100) y = 100; data.push(y); } // zip the generated y values with the x values var res = []; for (var i = 0; i < data.length; ++i) res.push([i, data[i]]) return res; } function randValue() { return (Math.floor(Math.random() * (1 + 50 - 20))) + 10; } var visitors = [ ['02/2013', 1500], ['03/2013', 2500], ['04/2013', 1700], ['05/2013', 800], ['06/2013', 1500], ['07/2013', 2350], ['08/2013', 1500], ['09/2013', 1300], ['10/2013', 4600] ]; if ($('#site_statistics').size() != 0) { $('#site_statistics_loading').hide(); $('#site_statistics_content').show(); var plot_statistics = $.plot($("#site_statistics"), [{ data: visitors, lines: { fill: 0.6, lineWidth: 0 }, color: ['#f89f9f'] }, { data: visitors, points: { show: true, fill: true, radius: 5, fillColor: "#f89f9f", lineWidth: 3 }, color: '#fff', shadowSize: 0 }], { xaxis: { tickLength: 0, tickDecimals: 0, mode: "categories", min: 0, font: { lineHeight: 14, style: "normal", variant: "small-caps", color: "#6F7B8A" } }, yaxis: { ticks: 5, tickDecimals: 0, tickColor: "#eee", font: { lineHeight: 14, style: "normal", variant: "small-caps", color: "#6F7B8A" } }, grid: { hoverable: true, clickable: true, tickColor: "#eee", borderColor: "#eee", borderWidth: 1 } }); var previousPoint = null; $("#site_statistics").bind("plothover", function (event, pos, item) { $("#x").text(pos.x.toFixed(2)); $("#y").text(pos.y.toFixed(2)); if (item) { if (previousPoint != item.dataIndex) { previousPoint = item.dataIndex; $("#tooltip").remove(); var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2); showChartTooltip(item.pageX, item.pageY, item.datapoint[0], item.datapoint[1] + ' visits'); } } else { $("#tooltip").remove(); previousPoint = null; } }); } if ($('#site_activities').size() != 0) { //site activities var previousPoint2 = null; $('#site_activities_loading').hide(); $('#site_activities_content').show(); var data1 = [ ['DEC', 300], ['JAN', 600], ['FEB', 1100], ['MAR', 1200], ['APR', 860], ['MAY', 1200], ['JUN', 1450], ['JUL', 1800], ['AUG', 1200], ['SEP', 600] ]; var plot_statistics = $.plot($("#site_activities"), [{ data: data1, lines: { fill: 0.2, lineWidth: 0, }, color: ['#BAD9F5'] }, { data: data1, points: { show: true, fill: true, radius: 4, fillColor: "#9ACAE6", lineWidth: 2 }, color: '#9ACAE6', shadowSize: 1 }, { data: data1, lines: { show: true, fill: false, lineWidth: 3 }, color: '#9ACAE6', shadowSize: 0 }], { xaxis: { tickLength: 0, tickDecimals: 0, mode: "categories", min: 0, font: { lineHeight: 18, style: "normal", variant: "small-caps", color: "#6F7B8A" } }, yaxis: { ticks: 5, tickDecimals: 0, tickColor: "#eee", font: { lineHeight: 14, style: "normal", variant: "small-caps", color: "#6F7B8A" } }, grid: { hoverable: true, clickable: true, tickColor: "#eee", borderColor: "#eee", borderWidth: 1 } }); $("#site_activities").bind("plothover", function (event, pos, item) { $("#x").text(pos.x.toFixed(2)); $("#y").text(pos.y.toFixed(2)); if (item) { if (previousPoint2 != item.dataIndex) { previousPoint2 = item.dataIndex; $("#tooltip").remove(); var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2); showChartTooltip(item.pageX, item.pageY, item.datapoint[0], item.datapoint[1] + 'M$'); } } }); $('#site_activities').bind("mouseleave", function () { $("#tooltip").remove(); }); } }, initMiniCharts: function () { if (!jQuery().easyPieChart || !jQuery().sparkline) { return; } // IE8 Fix: function.bind polyfill if (Metronic.isIE8() && !Function.prototype.bind) { Function.prototype.bind = function (oThis) { if (typeof this !== "function") { // closest thing possible to the ECMAScript 5 internal IsCallable function throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); } var aArgs = Array.prototype.slice.call(arguments, 1), fToBind = this, fNOP = function () {}, fBound = function () { return fToBind.apply(this instanceof fNOP && oThis ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments))); }; fNOP.prototype = this.prototype; fBound.prototype = new fNOP(); return fBound; }; } $('.easy-pie-chart .number.transactions').easyPieChart({ animate: 1000, size: 75, lineWidth: 3, barColor: Metronic.getBrandColor('yellow') }); $('.easy-pie-chart .number.visits').easyPieChart({ animate: 1000, size: 75, lineWidth: 3, barColor: Metronic.getBrandColor('green') }); $('.easy-pie-chart .number.bounce').easyPieChart({ animate: 1000, size: 75, lineWidth: 3, barColor: Metronic.getBrandColor('red') }); $('.easy-pie-chart-reload').click(function () { $('.easy-pie-chart .number').each(function () { var newValue = Math.floor(100 * Math.random()); $(this).data('easyPieChart').update(newValue); $('span', this).text(newValue); }); }); $("#sparkline_bar").sparkline([8, 9, 10, 11, 10, 10, 12, 10, 10, 11, 9, 12, 11, 10, 9, 11, 13, 13, 12], { type: 'bar', width: '100', barWidth: 5, height: '55', barColor: '#35aa47', negBarColor: '#e02222' }); $("#sparkline_bar2").sparkline([9, 11, 12, 13, 12, 13, 10, 14, 13, 11, 11, 12, 11, 11, 10, 12, 11, 10], { type: 'bar', width: '100', barWidth: 5, height: '55', barColor: '#ffb848', negBarColor: '#e02222' }); $("#sparkline_line").sparkline([9, 10, 9, 10, 10, 11, 12, 10, 10, 11, 11, 12, 11, 10, 12, 11, 10, 12], { type: 'line', width: '100', height: '55', lineColor: '#ffb848' }); }, initChat: function () { var cont = $('#chats'); var list = $('.chats', cont); var form = $('.chat-form', cont); var input = $('input', form); var btn = $('.btn', form); var handleClick = function (e) { e.preventDefault(); var text = input.val(); if (text.length == 0) { return; } var time = new Date(); var time_str = (time.getHours() + ':' + time.getMinutes()); var tpl = ''; tpl += '
  • '; tpl += ''; tpl += '
    '; tpl += ''; tpl += 'Bob Nilson '; tpl += 'at ' + time_str + ''; tpl += ''; tpl += text; tpl += ''; tpl += '
    '; tpl += '
  • '; var msg = list.append(tpl); input.val(""); var getLastPostPos = function () { var height = 0; cont.find("li.out, li.in").each(function () { height = height + $(this).outerHeight(); }); return height; } cont.find('.scroller').slimScroll({ scrollTo: getLastPostPos() }); } $('body').on('click', '.message .name', function (e) { e.preventDefault(); // prevent click event var name = $(this).text(); // get clicked user's full name input.val('@' + name + ':'); // set it into the input field Metronic.scrollTo(input); // scroll to input if needed }); btn.click(handleClick); input.keypress(function (e) { if (e.which == 13) { handleClick(e); return false; //<---- Add this line } }); }, initDashboardDaterange: function () { if (!jQuery().daterangepicker) { return; } $('#dashboard-report-range').daterangepicker({ opens: (Metronic.isRTL() ? 'right' : 'left'), startDate: moment().subtract('days', 29), endDate: moment(), minDate: '01/01/2012', maxDate: '12/31/2014', dateLimit: { days: 60 }, showDropdowns: false, showWeekNumbers: true, timePicker: false, timePickerIncrement: 1, timePicker12Hour: true, 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')] }, buttonClasses: ['btn btn-sm'], applyClass: ' blue', cancelClass: 'default', format: 'MM/DD/YYYY', separator: ' to ', locale: { applyLabel: 'Apply', fromLabel: 'From', toLabel: 'To', customRangeLabel: 'Custom Range', daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], firstDay: 1 } }, function (start, end) { $('#dashboard-report-range span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); } ); $('#dashboard-report-range span').html(moment().subtract('days', 29).format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY')); $('#dashboard-report-range').show(); } }; }();