const locale_ru = new Object({ direction: "ltr", format: "DD.MM.YYYY", separator: " - ", applyLabel: "Принять", cancelLabel: "Отменить", weekLabel: "Н", customRangeLabel: "Custom Range", }); const locale_en = new Object({ direction: "ltr", format: "DD.MM.YYYY", separator: " - ", applyLabel: "Apply", cancelLabel: "Cancel", weekLabel: "W", customRangeLabel: "Custom Range", }); let last_opened_daterangepicker = false; function setLocalSets() { let locale_lang = document.documentElement.lang === 'ru'? locale_ru : locale_en; let lang = document.documentElement.lang; moment.locale(lang); return locale_lang } function datarangepickerinitAll(){ $('.w_daterangepicker').each(function () { daterangepickerInit(this, daterangepickerInit) }) } function daterangepickerInit(el, callback, date) { let $datarangepicker = el.querySelector('input'); let min_date = moment(date) if ($datarangepicker.dataset.set_min_date === 'false' || $datarangepicker.dataset.set_min_date === false) { min_date = moment('1900-01-01'); } $($datarangepicker).daterangepicker({ "autoapply": true, "linkedCalendars": false, "singleDatePicker": !!el.dataset.range, "timePicker": false, "timePicker24Hour": false, "minDate": min_date, "locale": setLocalSets(), }, function (start, end, label) { let $parent = el.closest('.w_daterangepicker') if (!$parent) $parent = el.querySelector(".w_daterangepicker") if (!$parent) return; if (last_opened_daterangepicker) $parent = last_opened_daterangepicker.closest('.w_daterangepicker'); let $input = $parent.querySelector(".date_range_input_cont input") let start_date = start.format('DD.MM.YYYY'); $input.value = start_date; if (end){ let end_date = end.format('DD.MM.YYYY'); if (start_date !== end_date) $input.value = `${start_date} - ${end_date}` } resetFieldError(el); if (callback) callback(el) }); } function clickOnDateIconE(el){ let $parent = el.closest('.date_range_input_cont') let $input = $parent.querySelector("input") $input.focus() } $(document).ready(function () { datarangepickerinitAll() })