mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-11-14 01:20:27 +00:00
223 lines
7.9 KiB
JavaScript
223 lines
7.9 KiB
JavaScript
|
var ComponentsPickers = function () {
|
||
|
|
||
|
var handleDatePickers = function () {
|
||
|
|
||
|
if (jQuery().datepicker) {
|
||
|
$('.date-picker').datepicker({
|
||
|
rtl: Metronic.isRTL(),
|
||
|
orientation: "left",
|
||
|
autoclose: true
|
||
|
});
|
||
|
//$('body').removeClass("modal-open"); // fix bug when inline picker is used in modal
|
||
|
}
|
||
|
|
||
|
/* Workaround to restrict daterange past date select: http://stackoverflow.com/questions/11933173/how-to-restrict-the-selectable-date-ranges-in-bootstrap-datepicker */
|
||
|
}
|
||
|
|
||
|
var handleTimePickers = function () {
|
||
|
|
||
|
if (jQuery().timepicker) {
|
||
|
$('.timepicker-default').timepicker({
|
||
|
autoclose: true,
|
||
|
showSeconds: true,
|
||
|
minuteStep: 1
|
||
|
});
|
||
|
|
||
|
$('.timepicker-no-seconds').timepicker({
|
||
|
autoclose: true,
|
||
|
minuteStep: 5
|
||
|
});
|
||
|
|
||
|
$('.timepicker-24').timepicker({
|
||
|
autoclose: true,
|
||
|
minuteStep: 5,
|
||
|
showSeconds: false,
|
||
|
showMeridian: false
|
||
|
});
|
||
|
|
||
|
// handle input group button click
|
||
|
$('.timepicker').parent('.input-group').on('click', '.input-group-btn', function(e){
|
||
|
e.preventDefault();
|
||
|
$(this).parent('.input-group').find('.timepicker').timepicker('showWidget');
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var handleDateRangePickers = function () {
|
||
|
if (!jQuery().daterangepicker) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
$('#defaultrange').daterangepicker({
|
||
|
opens: (Metronic.isRTL() ? 'left' : 'right'),
|
||
|
format: 'MM/DD/YYYY',
|
||
|
separator: ' to ',
|
||
|
startDate: moment().subtract('days', 29),
|
||
|
endDate: moment(),
|
||
|
minDate: '01/01/2012',
|
||
|
maxDate: '12/31/2018',
|
||
|
},
|
||
|
function (start, end) {
|
||
|
$('#defaultrange input').val(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
|
||
|
}
|
||
|
);
|
||
|
|
||
|
$('#defaultrange_modal').daterangepicker({
|
||
|
opens: (Metronic.isRTL() ? 'left' : 'right'),
|
||
|
format: 'MM/DD/YYYY',
|
||
|
separator: ' to ',
|
||
|
startDate: moment().subtract('days', 29),
|
||
|
endDate: moment(),
|
||
|
minDate: '01/01/2012',
|
||
|
maxDate: '12/31/2018',
|
||
|
},
|
||
|
function (start, end) {
|
||
|
$('#defaultrange_modal input').val(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
|
||
|
}
|
||
|
);
|
||
|
|
||
|
// this is very important fix when daterangepicker is used in modal. in modal when daterange picker is opened and mouse clicked anywhere bootstrap modal removes the modal-open class from the body element.
|
||
|
// so the below code will fix this issue.
|
||
|
$('#defaultrange_modal').on('click', function(){
|
||
|
if ($('#daterangepicker_modal').is(":visible") && $('body').hasClass("modal-open") == false) {
|
||
|
$('body').addClass("modal-open");
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$('#reportrange').daterangepicker({
|
||
|
opens: (Metronic.isRTL() ? 'left' : 'right'),
|
||
|
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')]
|
||
|
},
|
||
|
buttonClasses: ['btn'],
|
||
|
applyClass: 'green',
|
||
|
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) {
|
||
|
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
|
||
|
}
|
||
|
);
|
||
|
//Set the initial state of the picker label
|
||
|
$('#reportrange span').html(moment().subtract('days', 29).format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY'));
|
||
|
}
|
||
|
|
||
|
var handleDatetimePicker = function () {
|
||
|
|
||
|
if (!jQuery().datetimepicker) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
$(".form_datetime").datetimepicker({
|
||
|
autoclose: true,
|
||
|
isRTL: Metronic.isRTL(),
|
||
|
format: "dd MM yyyy - hh:ii",
|
||
|
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")
|
||
|
});
|
||
|
|
||
|
$(".form_advance_datetime").datetimepicker({
|
||
|
isRTL: Metronic.isRTL(),
|
||
|
format: "dd MM yyyy - hh:ii",
|
||
|
autoclose: true,
|
||
|
todayBtn: true,
|
||
|
startDate: "2013-02-14 10:00",
|
||
|
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left"),
|
||
|
minuteStep: 10
|
||
|
});
|
||
|
|
||
|
$(".form_meridian_datetime").datetimepicker({
|
||
|
isRTL: Metronic.isRTL(),
|
||
|
format: "dd MM yyyy - HH:ii P",
|
||
|
showMeridian: true,
|
||
|
autoclose: true,
|
||
|
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left"),
|
||
|
todayBtn: true
|
||
|
});
|
||
|
|
||
|
$('body').removeClass("modal-open"); // fix bug when inline picker is used in modal
|
||
|
}
|
||
|
|
||
|
var handleClockfaceTimePickers = function () {
|
||
|
|
||
|
if (!jQuery().clockface) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
$('.clockface_1').clockface();
|
||
|
|
||
|
$('#clockface_2').clockface({
|
||
|
format: 'HH:mm',
|
||
|
trigger: 'manual'
|
||
|
});
|
||
|
|
||
|
$('#clockface_2_toggle').click(function (e) {
|
||
|
e.stopPropagation();
|
||
|
$('#clockface_2').clockface('toggle');
|
||
|
});
|
||
|
|
||
|
$('#clockface_2_modal').clockface({
|
||
|
format: 'HH:mm',
|
||
|
trigger: 'manual'
|
||
|
});
|
||
|
|
||
|
$('#clockface_2_modal_toggle').click(function (e) {
|
||
|
e.stopPropagation();
|
||
|
$('#clockface_2_modal').clockface('toggle');
|
||
|
});
|
||
|
|
||
|
$('.clockface_3').clockface({
|
||
|
format: 'H:mm'
|
||
|
}).clockface('show', '14:30');
|
||
|
}
|
||
|
|
||
|
var handleColorPicker = function () {
|
||
|
if (!jQuery().colorpicker) {
|
||
|
return;
|
||
|
}
|
||
|
$('.colorpicker-default').colorpicker({
|
||
|
format: 'hex'
|
||
|
});
|
||
|
$('.colorpicker-rgba').colorpicker();
|
||
|
}
|
||
|
|
||
|
|
||
|
return {
|
||
|
//main function to initiate the module
|
||
|
init: function () {
|
||
|
handleDatePickers();
|
||
|
handleTimePickers();
|
||
|
handleDatetimePicker();
|
||
|
handleDateRangePickers();
|
||
|
handleClockfaceTimePickers();
|
||
|
handleColorPicker();
|
||
|
}
|
||
|
};
|
||
|
|
||
|
}();
|