var Plugins = function() { var g = function() { $.browser = {}; (function() { $.browser.msie = false; $.browser.version = 0; if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { $.browser.msie = true; $.browser.version = RegExp.$1 } })() }; var i = function() { if ($.fn.daterangepicker) { $(".datepicker").daterangepicker(Plugins.initOption.datepicker()); $('.datepicker').on('apply.daterangepicker', function(ev, picker) { $(this).val(picker.startDate.format('DD/MM/YYYY')); }); $('.datepicker').on('cancel.daterangepicker', function(ev, picker) { $(this).val(''); }); $(".range").daterangepicker(Plugins.initOption.daterangepicker()); $('.range').on('apply.daterangepicker', function(ev, picker) { $(this).val(picker.startDate.format('DD/MM/YYYY') + ' - ' + picker.endDate.format('DD/MM/YYYY')); }); $('.range').on('cancel.daterangepicker', function(ev, picker) { $(this).val(''); }); // $(".range").daterangepicker({ // startDate: moment().subtract("days", 29), // endDate: moment(), // minDate: "01/01/2012", // maxDate: "12/31/2014", // dateLimit: { // days: 60 // }, // showDropdowns: true, // 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")] // }, // opens: "left", // buttonClasses: ["btn btn-default"], // applyClass: "btn-sm btn-primary", // cancelClass: "btn-sm", // format: "MM/DD/YYYY", // separator: " to ", // locale: { // applyLabel: "Submit", // 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(q, o) { // var p = q.format("MMMM D, YYYY") + " - " + o.format("MMMM D, YYYY"); // App.blockUI($("#content")); // setTimeout(function() { // App.unblockUI($("#content")); // noty({ // text: "Dashboard updated to " + p + ".", // type: "success", // timeout: 1000 // }) // }, 1000); // $(".range span").html(p) // }); // $(".range span").html(moment().subtract("days", 29).format("MMMM D, YYYY") + " - " + moment().format("MMMM D, YYYY")) } }; var k = function() { if ($.fn.sparkline) { $.extend(true, $.fn.sparkline.defaults, { line: { highlightSpotColor: App.getLayoutColorCode("green"), highlightLineColor: App.getLayoutColorCode("red") }, bar: { barColor: App.getLayoutColorCode("blue"), negBarColor: App.getLayoutColorCode("red"), barWidth: 5, barSpacing: 2 }, tristate: { posBarColor: App.getLayoutColorCode("green"), negBarColor: App.getLayoutColorCode("red") }, box: { medianColor: App.getLayoutColorCode("red") } }); $(window).resize(function() { $.sparkline_display_visible() }).resize(); $(".statbox-sparkline").each(function() { $(this).sparkline("html", Plugins.getSparklineStatboxDefaults()) }) } }; var l = function() { $.extend(true, $.fn.tooltip.defaults, { container: "body" }); $(".bs-tooltip").tooltip({ container: "body" }); $(".bs-focus-tooltip").tooltip({ trigger: "focus", container: "body" }) }; var h = function() { $(".bs-popover").popover() }; var d = function() { if ($.noty) { $.extend(true, $.noty.defaults, { type: "alert", timeout: false, maxVisible: 5, animation: { open: { height: "toggle" }, close: { height: "toggle" }, easing: "swing", speed: 200 } }) } }; var c = function() { // if ($.easyPieChart) { // $.extend(true, $.easyPieChart.defaultOptions, { // lineCap: "butt", // animate: 500, // barColor: App.getLayoutColorCode("blue") // }); // $(".circular-chart").easyPieChart({ // lineCap: "square", // animate: 500, // barColor: App.getLayoutColorCode("blue"), // size: 110, // lineWidth: 10 // }) // } }; var m = function($uiTable, option, optionFilter) { var option = option || {}; optionFilter = optionFilter || {}; if ($.fn.dataTable) { $.extend(true, $.fn.dataTable.defaults, { oLanguage: { sSearch: "" }, iDisplayLength: 5, fnDrawCallback: function() { var $ww = $(this).closest(".dataTables_wrapper"); var input = $ww.find('.dataTables_filter input').off(); var self = this.api(); if ($.fn.uniform) { $(":radio.uniform, :checkbox.uniform").uniform() } if ($.fn.select2) { $(".dataTables_length select").select2({ width: "resolve", allowClear: true, minimumResultsForSearch: "-1" }) } var o = $ww.find("div[id$=_filter] input"); if (o.parent().hasClass("input-group")) { return } o.addClass("form-control"); o.wrap('
'); $searchButton = $('').click(function() { self.search(input.val()).draw(); }); $clearButton = $('').click(function() { input.val(''); $searchButton.click(); }); o.parent().prepend($searchButton, $clearButton); } }); $.fn.dataTable.defaults.aLengthMenu = [ [5, 10, 25, 50, -1], [5, 10, 25, 50, "All"] ]; var output; if ( $.fn.DataTable.isDataTable( $uiTable ) ) { return $uiTable.dataTable(); } var w = $uiTable; var y = {}; var s = w.data("datatable"); if (typeof s != "undefined") { $.extend(true, y, s) } var x = w.data("displayLength"); if (typeof x != "undefined") { $.extend(true, y, { iDisplayLength: x }) } var r = w.data("horizontalWidth"); if (typeof r != "undefined") { $.extend(true, y, { sScrollX: "100%", sScrollXInner: r, bScrollCollapse: true }) } if (w.hasClass("table-checkable")) { $.extend(true, y, { aoColumnDefs: [{ bSortable: false, aTargets: [0] }] }) } //** -- metto il Resize ogni volta che creo table $.extend(true, y, { sDom: "Rlfrtip" }); //** --- end resize sempre if (w.hasClass("table-tabletools")) { $.extend(true, y, { sDom: "R<'row'<'dataTables_header clearfix'<'col-md-4'l><'col-md-8'Tf>r>>t<'row'<'dataTables_footer clearfix'<'col-md-6'i><'col-md-6'p>>>", oTableTools: { aButtons: ["copy", "print", "csv", "xls", "pdf"], sSwfPath: "plugins/datatables/tabletools/swf/copy_csv_xls_pdf.swf" } }) } if (w.hasClass("table-colvis")) { $.extend(true, y, { sDom: "R<'row'<'dataTables_header clearfix'<'col-md-2'l><'col-md-10'Cf>r>>t<'row'<'dataTables_footer clearfix'<'col-md-6'i><'col-md-6'p>>>" , oColVis: { buttonText: " ", iOverlayFade: 0 } }) } if (w.hasClass("table-tabletools") && w.hasClass("table-colvis")) { $.extend(true, y, { sDom: "R<'row'<'dataTables_header clearfix'<'col-md-2'l><'col-md-10'TCf>r>>t<'row'<'dataTables_footer clearfix'<'col-md-6'i><'col-md-6'p>>>", }) } if (w.hasClass("table-checkable") && w.hasClass("table-colvis")) { $.extend(true, y, { oColVis: { aiExclude: [0] } }) } if (w.hasClass("table-responsive")) { var q; var p = { tablet: 1024, phone: 480 }; var t = $.fn.dataTable.defaults.fnDrawCallback; $.extend(true, y, { bAutoWidth: false, fnPreDrawCallback: function() { if (!q) { q = new ResponsiveDatatablesHelper(this, p) } }, fnRowCallback: function(C, B, A, z) { q.createExpandIcon(C) }, fnDrawCallback: function(z) { t.apply(this, z); q.respond() } }) } var v = w.data("datatableFunction"); if (typeof v != "undefined") { $.extend(true, y, window[v]()) } $.extend(true, y, option) if (w.hasClass("table-columnfilter")) { var u = {}; var o = w.data("columnfilter"); if (typeof o != "undefined") { $.extend(true, u, o) } if (!optionFilter.hasOwnProperty('aoColumns')){ var i, n = $uiTable.find('thead th').length; var aoColumns=[]; var aoColumnsPlaceholder=[]; for (i=0; i < n; i++){ aoColumns.push({"type": "select"}); } $.extend(true, optionFilter, { "aoColumns": aoColumns }); } var listaColonne = $uiTable.find('thead th').children(); $.extend(true, u, optionFilter) var $tb = $uiTable.dataTable(y); output = $tb; $tb.columnFilter(u); i = 0; w.find(".filter_column").each(function() { var z = w.data("columnfilterSelect2"); if (typeof z != "undefined") { $(this).children("input").addClass("form-control"); $(this).children("select").each(function() { var $t = $(this); $t.attr('data-placeholder', listaColonne.eq(i).attr('title')); }); // $(this).children("select").addClass("full-width-fix").select2({ //** bug con chrome, la class full-width-fix portava la tabella con uno scroll orizonale molto lungo $(this).children("select").select2({ allowClear: true }) } else { $(this).children("input, select").addClass("form-control") } i++; }) } else { var $tb = $uiTable.dataTable(y); output = $tb; } $tb.find('.gs-tooltip').tooltip(); return output; } }; var j = { colors: [App.getLayoutColorCode("blue"), App.getLayoutColorCode("red"), App.getLayoutColorCode("green"), App.getLayoutColorCode("purple"), App.getLayoutColorCode("grey"), App.getLayoutColorCode("yellow")], legend: { show: true, labelBoxBorderColor: "", backgroundOpacity: 0.95 }, series: { points: { show: false, radius: 3, lineWidth: 2, fill: true, fillColor: "#ffffff", symbol: "circle" }, lines: { show: true, lineWidth: 2, fill: false, fillColor: { colors: [{ opacity: 0.4 }, { opacity: 0.1 }] }, }, bars: { lineWidth: 1, barWidth: 1, fill: true, fillColor: { colors: [{ opacity: 0.7 }, { opacity: 1 }] }, align: "left", horizontal: false }, pie: { show: false, radius: 1, label: { show: false, radius: 2 / 3, formatter: function(o, p) { return '
' + o + "
" + Math.round(p.percent) + "%
" }, threshold: 0.1 } }, shadowSize: 0 }, grid: { show: true, borderColor: "#efefef", tickColor: "rgba(0,0,0,0.06)", labelMargin: 10, axisMargin: 8, borderWidth: 0, minBorderMargin: 10, mouseActiveRadius: 5 }, tooltipOpts: { defaultTheme: false }, selection: { color: App.getLayoutColorCode("blue") } }; var b = { colors: ["#ffffff"], legend: { show: false, backgroundOpacity: 0 }, series: { points: {} }, grid: { tickColor: "rgba(255, 255, 255, 0.1)", color: "#ffffff", }, shadowSize: 1 }; var f = function() { if ($.fn.knob) { $(".knob").knob(); $(".knob").each(function() { if (typeof $(this).attr("data-fgColor") == "undefined") { $(this).trigger("configure", { fgColor: App.getLayoutColorCode("blue"), inputColor: App.getLayoutColorCode("blue") }) } }) } }; var n = { type: "bar", height: "19px", zeroAxis: false, barWidth: "4px", barSpacing: "1px", barColor: "#fff" }; var e = function() { if ($.fn.colorpicker) { $(".bs-colorpicker").colorpicker() } }; var a = function() { if ($.fn.template) { $.extend(true, $.fn.template.defaults, {}) } }; var mask = function(){ $('input[data-mask-email]').each(function(){ // $(this).inputmask('email'); Inputmask("email", { separator: ",", quantifier: 5 }).mask($(this)); }); $('input[data-mask-month]').each(function(){ // $(this).inputmask("datetime", Plugins.initOption.dataMaskMonth()); Inputmask("datetime", Plugins.initOption.dataMaskMonth()).mask($(this)); }); $('input[data-mask-date]').each(function(){ // $(this).inputmask("datetime", Plugins.initOption.dataMaskDate()); Inputmask("datetime", Plugins.initOption.dataMaskDate()).mask($(this)); }); $('input[data-mask-hour]').each(function(){ // $(this).inputmask("datetime", Plugins.initOption.dataMaskHour()); Inputmask("datetime", Plugins.initOption.dataMaskHour()).mask($(this)); }); $('input[data-mask]').each(function(){ // $(this).inputmask($(this).attr('data-mask')); Inputmask($(this).attr('data-mask')).mask($(this)); }); } return { initOption:{ dataMaskMonth: function (){ return { placeholder: "mm/aaaa", inputFormat: "mm/yyyy", outputFormat: "mm/yyyy", inputEventOnly: true } }, dataMaskDate: function (){ return { placeholder: "gg/mm/aaaa", inputFormat: "dd/mm/yyyy", outputFormat: "dd/mm/yyyy", inputEventOnly: true } }, dataMaskHour: function (){ return { placeholder: "oo:mm", inputFormat: "HH:MM", outputFormat: "HH:MM", inputEventOnly: true } }, w2grid:function (){ return { name: 'grid', show: { toolbar: true, footer: false, lineNumbers: true, toolbarColumns : true }, reorderColumns: true, multiSearch: false, multiSelect: true } }, dataTable:function (){ return { scrollCollapse: true, paging: false, info: false, scrollX: true, "searching": true, "deferRender": true, scroller:true, // "sDom": "R", //** รจ il resize colonne, l'ho dovuto mettere su } }, daterangepicker:function (){ return { opens: "left", autoUpdateInput: false, locale: { applyLabel: "Applica", cancelLabel: "Cancella", } } }, datepicker:function (){ return { opens: "left", autoUpdateInput: false, singleDatePicker: true, showDropdowns: true, locale: { applyLabel: "Applica", cancelLabel: "Cancella", } } } }, dataTable : function($uiTable, option, optionFilter){ return m($uiTable, option, optionFilter); }, init: function() { g(); i(); k(); l(); h(); d(); c(); f(); e(); mask(); }, getFlotDefaults: function() { return j }, getFlotWidgetDefaults: function() { return $.extend(true, {}, Plugins.getFlotDefaults(), b) }, getSparklineStatboxDefaults: function() { return n } } }();