ultimatepos/Modules/Manufacturing/Resources/views/layouts/date_helpers.blade.php

158 lines
5.3 KiB
PHP

<script>
(function () {
function persianPickerAvailable() {
return typeof $.fn !== 'undefined' && typeof $.fn.persianDatepicker !== 'undefined';
}
function usePersian() {
return persianPickerAvailable() && (
typeof is_persian_lang === 'undefined' || is_persian_lang
);
}
function refreshRangeLabel($el) {
var picker = $el.data('daterangepicker');
if (!picker) {
return;
}
var label = __format_date_range(picker.startDate, picker.endDate);
if ($el.is('input')) {
$el.val(label);
} else {
$el.find('span').first().html('<i class="fa fa-calendar"></i> ' + label);
}
if (typeof __refresh_daterangepicker_jalali_label === 'function') {
__refresh_daterangepicker_jalali_label(picker);
}
}
window.MfgDate = {
initDatepicker: function (selector) {
if (typeof __init_date_field === 'function') {
__init_date_field(selector);
return;
}
if (typeof initPersianDatepicker === 'function') {
initPersianDatepicker(selector);
return;
}
if (usePersian()) {
$(selector).each(function () {
var $input = $(this);
if ($input.data('mfg-shamsi-ready')) {
return;
}
$input.attr('autocomplete', 'off');
$input.persianDatepicker({
calendarType: 'persian',
format: typeof datepicker_date_format !== 'undefined' ? datepicker_date_format : 'YYYY/MM/DD',
autoClose: true,
observer: true,
calendar: { persian: { locale: 'fa' } },
});
$input.data('mfg-shamsi-ready', true);
});
return;
}
$(selector).datepicker({
autoclose: true,
format: typeof datepicker_date_format !== 'undefined' ? datepicker_date_format : 'yyyy/mm/dd',
});
},
initDatetimepicker: function (selector) {
if (typeof __init_datetime_field === 'function') {
__init_datetime_field(selector);
return;
}
if (typeof initPersianDatetimepicker === 'function') {
initPersianDatetimepicker(selector);
return;
}
if (usePersian()) {
var dateFmt = typeof datepicker_date_format !== 'undefined' ? datepicker_date_format : 'YYYY/MM/DD';
var timeFmt = (typeof moment_time_format !== 'undefined' && moment_time_format.indexOf('A') !== -1) ? ' hh:mm a' : ' HH:mm';
$(selector).each(function () {
var $input = $(this);
if ($input.data('mfg-shamsi-ready')) {
return;
}
$input.attr('autocomplete', 'off');
$input.persianDatepicker({
calendarType: 'persian',
format: dateFmt + timeFmt,
autoClose: true,
observer: true,
timePicker: {
enabled: true,
second: { enabled: false },
},
calendar: { persian: { locale: 'fa' } },
});
$input.data('mfg-shamsi-ready', true);
});
return;
}
if (typeof $.fn.datetimepicker !== 'undefined') {
$(selector).datetimepicker({
format: (typeof moment_date_format !== 'undefined' ? moment_date_format : 'YYYY/MM/DD') + ' ' +
(typeof moment_time_format !== 'undefined' ? moment_time_format : 'HH:mm'),
ignoreReadonly: true,
});
}
},
initDateRangePicker: function (selector, onChange) {
var $el = $(selector);
if (!$el.length || typeof dateRangeSettings === 'undefined') {
return;
}
$el.daterangepicker(dateRangeSettings, function (start, end) {
refreshRangeLabel($el);
if (typeof onChange === 'function') {
onChange(start, end);
}
});
$el.on('show.daterangepicker', function () {
refreshRangeLabel($el);
});
$el.on('cancel.daterangepicker', function () {
if ($el.is('input')) {
$el.val('');
} else {
$el.html('<i class="fa fa-calendar"></i> ' + LANG.filter_by_date);
}
if (typeof onChange === 'function') {
onChange(null, null);
}
});
refreshRangeLabel($el);
},
rangeStart: function (selector) {
return __daterangepicker_start_date(selector);
},
rangeEnd: function (selector) {
return __daterangepicker_end_date(selector);
},
};
})();
</script>