jquery-date-range-picker
Version:
jQuery Date Range Picker is a jQuery plugin that allows user to select a date range.
1,473 lines (1,400 loc) • 86 kB
JavaScript
// jquery.daterangepicker.js
// author : Chunlong Liu
// license : MIT
// www.jszen.com
(function(factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery', 'moment'], factory);
} else if (typeof exports === 'object' && typeof module !== 'undefined') {
// CommonJS. Register as a module
module.exports = factory(require('jquery'), require('moment'));
} else {
// Browser globals
factory(jQuery, moment);
}
}(function($, moment) {
'use strict';
$.dateRangePickerLanguages = {
"default": //default language: English
{
"selected": "Selected:",
"day": "Day",
"days": "Days",
"apply": "Close",
"week-1": "mo",
"week-2": "tu",
"week-3": "we",
"week-4": "th",
"week-5": "fr",
"week-6": "sa",
"week-7": "su",
"week-number": "W",
"month-name": ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"],
"shortcuts": "Shortcuts",
"custom-values": "Custom Values",
"past": "Past",
"following": "Following",
"previous": "Previous",
"prev-week": "Week",
"prev-month": "Month",
"prev-year": "Year",
"next": "Next",
"next-week": "Week",
"next-month": "Month",
"next-year": "Year",
"less-than": "Date range should not be more than %d days",
"more-than": "Date range should not be less than %d days",
"default-more": "Please select a date range longer than %d days",
"default-single": "Please select a date",
"default-less": "Please select a date range less than %d days",
"default-range": "Please select a date range between %d and %d days",
"default-default": "Please select a date range",
"time": "Time",
"hour": "Hour",
"minute": "Minute"
},
"id": {
"selected": "Terpilih:",
"day": "Hari",
"days": "Hari",
"apply": "Tutup",
"week-1": "sen",
"week-2": "sel",
"week-3": "rab",
"week-4": "kam",
"week-5": "jum",
"week-6": "sab",
"week-7": "min",
"week-number": "W",
"month-name": ["januari", "februari", "maret", "april", "mei", "juni", "juli", "agustus", "september", "oktober", "november", "desember"],
"shortcuts": "Pintas",
"custom-values": "Nilai yang ditentukan",
"past": "Yang Lalu",
"following": "Mengikuti",
"previous": "Sebelumnya",
"prev-week": "Minggu",
"prev-month": "Bulan",
"prev-year": "Tahun",
"next": "Selanjutnya",
"next-week": "Minggu",
"next-month": "Bulan",
"next-year": "Tahun",
"less-than": "Tanggal harus lebih dari %d hari",
"more-than": "Tanggal harus kurang dari %d hari",
"default-more": "Jarak tanggal harus lebih lama dari %d hari",
"default-single": "Silakan pilih tanggal",
"default-less": "Jarak rentang tanggal tidak boleh lebih lama dari %d hari",
"default-range": "Rentang tanggal harus antara %d dan %d hari",
"default-default": "Silakan pilih rentang tanggal",
"time": "Waktu",
"hour": "Jam",
"minute": "Menit"
},
"az": {
"selected": "Seçildi:",
"day": " gün",
"days": " gün",
"apply": "tətbiq",
"week-1": "1",
"week-2": "2",
"week-3": "3",
"week-4": "4",
"week-5": "5",
"week-6": "6",
"week-7": "7",
"month-name": ["yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avqust", "sentyabr", "oktyabr", "noyabr", "dekabr"],
"shortcuts": "Qısayollar",
"past": "Keçmiş",
"following": "Növbəti",
"previous": " ",
"prev-week": "Öncəki həftə",
"prev-month": "Öncəki ay",
"prev-year": "Öncəki il",
"next": " ",
"next-week": "Növbəti həftə",
"next-month": "Növbəti ay",
"next-year": "Növbəti il",
"less-than": "Tarix aralığı %d gündən çox olmamalıdır",
"more-than": "Tarix aralığı %d gündən az olmamalıdır",
"default-more": "%d gündən çox bir tarix seçin",
"default-single": "Tarix seçin",
"default-less": "%d gündən az bir tarix seçin",
"default-range": "%d və %d gün aralığında tarixlər seçin",
"default-default": "Tarix aralığı seçin"
},
"bg": {
"selected": "Избрано:",
"day": "Ден",
"days": "Дни",
"apply": "Затвори",
"week-1": "пн",
"week-2": "вт",
"week-3": "ср",
"week-4": "чт",
"week-5": "пт",
"week-6": "сб",
"week-7": "нд",
"week-number": "С",
"month-name": ["януари", "февруари", "март", "април", "май", "юни", "юли", "август", "септември", "октомври", "ноември", "декември"],
"shortcuts": "Преки пътища",
"custom-values": "Персонализирани стойности",
"past": "Минал",
"following": "Следващ",
"previous": "Предишен",
"prev-week": "Седмица",
"prev-month": "Месец",
"prev-year": "Година",
"next": "Следващ",
"next-week": "Седмица",
"next-month": "Месец",
"next-year": "Година",
"less-than": "Периодът от време не трябва да е повече от %d дни",
"more-than": "Периодът от време не трябва да е по-малко от %d дни",
"default-more": "Моля изберете период по-дълъг от %d дни",
"default-single": "Моля изберете дата",
"default-less": "Моля изберете период по-къс от %d дни",
"default-range": "Моля изберете период между %d и %d дни",
"default-default": "Моля изберете период",
"time": "Време",
"hour": "Час",
"minute": "Минута"
},
"cn": //simplified chinese
{
"selected": "已选择:",
"day": "天",
"days": "天",
"apply": "确定",
"week-1": "一",
"week-2": "二",
"week-3": "三",
"week-4": "四",
"week-5": "五",
"week-6": "六",
"week-7": "日",
"week-number": "周",
"month-name": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"shortcuts": "快捷选择",
"past": "过去",
"following": "将来",
"previous": " ",
"prev-week": "上周",
"prev-month": "上个月",
"prev-year": "去年",
"next": " ",
"next-week": "下周",
"next-month": "下个月",
"next-year": "明年",
"less-than": "所选日期范围不能大于%d天",
"more-than": "所选日期范围不能小于%d天",
"default-more": "请选择大于%d天的日期范围",
"default-less": "请选择小于%d天的日期范围",
"default-range": "请选择%d天到%d天的日期范围",
"default-single": "请选择一个日期",
"default-default": "请选择一个日期范围",
"time": "时间",
"hour": "小时",
"minute": "分钟"
},
"cz": {
"selected": "Vybráno:",
"day": "Den",
"days": "Dny",
"apply": "Zavřít",
"week-1": "po",
"week-2": "út",
"week-3": "st",
"week-4": "čt",
"week-5": "pá",
"week-6": "so",
"week-7": "ne",
"month-name": ["leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec"],
"shortcuts": "Zkratky",
"past": "po",
"following": "následující",
"previous": "předchozí",
"prev-week": "týden",
"prev-month": "měsíc",
"prev-year": "rok",
"next": "další",
"next-week": "týden",
"next-month": "měsíc",
"next-year": "rok",
"less-than": "Rozsah data by neměl být větší než %d dnů",
"more-than": "Rozsah data by neměl být menší než %d dnů",
"default-more": "Prosím zvolte rozsah data větší než %d dnů",
"default-single": "Prosím zvolte datum",
"default-less": "Prosím zvolte rozsah data menší než %d dnů",
"default-range": "Prosím zvolte rozsah data mezi %d a %d dny",
"default-default": "Prosím zvolte rozsah data"
},
"de": {
"selected": "Auswahl:",
"day": "Tag",
"days": "Tage",
"apply": "Schließen",
"week-1": "mo",
"week-2": "di",
"week-3": "mi",
"week-4": "do",
"week-5": "fr",
"week-6": "sa",
"week-7": "so",
"month-name": ["januar", "februar", "märz", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "dezember"],
"shortcuts": "Schnellwahl",
"past": "Vorherige",
"following": "Folgende",
"previous": "Vorherige",
"prev-week": "Woche",
"prev-month": "Monat",
"prev-year": "Jahr",
"next": "Nächste",
"next-week": "Woche",
"next-month": "Monat",
"next-year": "Jahr",
"less-than": "Datumsbereich darf nicht größer sein als %d Tage",
"more-than": "Datumsbereich darf nicht kleiner sein als %d Tage",
"default-more": "Bitte mindestens %d Tage auswählen",
"default-single": "Bitte ein Datum auswählen",
"default-less": "Bitte weniger als %d Tage auswählen",
"default-range": "Bitte einen Datumsbereich zwischen %d und %d Tagen auswählen",
"default-default": "Bitte ein Start- und Enddatum auswählen",
"Time": "Zeit",
"hour": "Stunde",
"minute": "Minute"
},
"es": {
"selected": "Seleccionado:",
"day": "Día",
"days": "Días",
"apply": "Cerrar",
"week-1": "lu",
"week-2": "ma",
"week-3": "mi",
"week-4": "ju",
"week-5": "vi",
"week-6": "sa",
"week-7": "do",
"month-name": ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"],
"shortcuts": "Accesos directos",
"past": "Pasado",
"following": "Siguiente",
"previous": "Anterior",
"prev-week": "Semana",
"prev-month": "Mes",
"prev-year": "Año",
"next": "Siguiente",
"next-week": "Semana",
"next-month": "Mes",
"next-year": "Año",
"less-than": "El rango no debería ser mayor de %d días",
"more-than": "El rango no debería ser menor de %d días",
"default-more": "Por favor selecciona un rango mayor a %d días",
"default-single": "Por favor selecciona un día",
"default-less": "Por favor selecciona un rango menor a %d días",
"default-range": "Por favor selecciona un rango entre %d y %d días",
"default-default": "Por favor selecciona un rango de fechas."
},
"fr": {
"selected": "Sélection:",
"day": "Jour",
"days": "Jours",
"apply": "Fermer",
"week-1": "lu",
"week-2": "ma",
"week-3": "me",
"week-4": "je",
"week-5": "ve",
"week-6": "sa",
"week-7": "di",
"month-name": ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"],
"shortcuts": "Raccourcis",
"past": "Passé",
"following": "Suivant",
"previous": "Précédent",
"prev-week": "Semaine",
"prev-month": "Mois",
"prev-year": "Année",
"next": "Suivant",
"next-week": "Semaine",
"next-month": "Mois",
"next-year": "Année",
"less-than": "L'intervalle ne doit pas être supérieure à %d jours",
"more-than": "L'intervalle ne doit pas être inférieure à %d jours",
"default-more": "Merci de choisir une intervalle supérieure à %d jours",
"default-single": "Merci de choisir une date",
"default-less": "Merci de choisir une intervalle inférieure %d jours",
"default-range": "Merci de choisir une intervalle comprise entre %d et %d jours",
"default-default": "Merci de choisir une date"
},
"hu": {
"selected": "Kiválasztva:",
"day": "Nap",
"days": "Nap",
"apply": "Ok",
"week-1": "h",
"week-2": "k",
"week-3": "sz",
"week-4": "cs",
"week-5": "p",
"week-6": "sz",
"week-7": "v",
"month-name": ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"],
"shortcuts": "Gyorsválasztó",
"past": "Múlt",
"following": "Következő",
"previous": "Előző",
"prev-week": "Hét",
"prev-month": "Hónap",
"prev-year": "Év",
"next": "Következő",
"next-week": "Hét",
"next-month": "Hónap",
"next-year": "Év",
"less-than": "A kiválasztás nem lehet több %d napnál",
"more-than": "A kiválasztás nem lehet több %d napnál",
"default-more": "Válassz ki egy időszakot ami hosszabb mint %d nap",
"default-single": "Válassz egy napot",
"default-less": "Válassz ki egy időszakot ami rövidebb mint %d nap",
"default-range": "Válassz ki egy %d - %d nap hosszú időszakot",
"default-default": "Válassz ki egy időszakot"
},
"it": {
"selected": "Selezionati:",
"day": "Giorno",
"days": "Giorni",
"apply": "Chiudi",
"week-1": "lu",
"week-2": "ma",
"week-3": "me",
"week-4": "gi",
"week-5": "ve",
"week-6": "sa",
"week-7": "do",
"month-name": ["gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre"],
"shortcuts": "Scorciatoie",
"past": "Scorso",
"following": "Successivo",
"previous": "Precedente",
"prev-week": "Settimana",
"prev-month": "Mese",
"prev-year": "Anno",
"next": "Prossimo",
"next-week": "Settimana",
"next-month": "Mese",
"next-year": "Anno",
"less-than": "L'intervallo non dev'essere maggiore di %d giorni",
"more-than": "L'intervallo non dev'essere minore di %d giorni",
"default-more": "Seleziona un intervallo maggiore di %d giorni",
"default-single": "Seleziona una data",
"default-less": "Seleziona un intervallo minore di %d giorni",
"default-range": "Seleziona un intervallo compreso tra i %d e i %d giorni",
"default-default": "Seleziona un intervallo di date"
},
"ko": {
"selected": "기간:",
"day": "일",
"days": "일간",
"apply": "닫기",
"week-1": "월",
"week-2": "화",
"week-3": "수",
"week-4": "목",
"week-5": "금",
"week-6": "토",
"week-7": "일",
"week-number": "주",
"month-name": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
"shortcuts": "단축키들",
"past": "지난(오늘기준)",
"following": "이후(오늘기준)",
"previous": "이전",
"prev-week": "1주",
"prev-month": "1달",
"prev-year": "1년",
"next": "다음",
"next-week": "1주",
"next-month": "1달",
"next-year": "1년",
"less-than": "날짜 범위는 %d 일보다 많을 수 없습니다",
"more-than": "날짜 범위는 %d 일보다 작을 수 없습니다",
"default-more": "날짜 범위를 %d 일보다 길게 선택해 주세요",
"default-single": "날짜를 선택해 주세요",
"default-less": "%d 일보다 작은 날짜를 선택해 주세요",
"default-range": "%d와 %d 일 사이의 날짜 범위를 선택해 주세요",
"default-default": "날짜 범위를 선택해 주세요",
"time": "시각",
"hour": "시",
"minute": "분"
},
"no": {
"selected": "Valgt:",
"day": "Dag",
"days": "Dager",
"apply": "Lukk",
"week-1": "ma",
"week-2": "ti",
"week-3": "on",
"week-4": "to",
"week-5": "fr",
"week-6": "lø",
"week-7": "sø",
"month-name": ["januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"],
"shortcuts": "Snarveier",
"custom-values": "Egendefinerte Verdier",
"past": "Over", // Not quite sure about the context of this one
"following": "Følger",
"previous": "Forrige",
"prev-week": "Uke",
"prev-month": "Måned",
"prev-year": "År",
"next": "Neste",
"next-week": "Uke",
"next-month": "Måned",
"next-year": "År",
"less-than": "Datoperioden skal ikkje være lengre enn %d dager",
"more-than": "Datoperioden skal ikkje være kortere enn %d dager",
"default-more": "Vennligst velg ein datoperiode lengre enn %d dager",
"default-single": "Vennligst velg ein dato",
"default-less": "Vennligst velg ein datoperiode mindre enn %d dager",
"default-range": "Vennligst velg ein datoperiode mellom %d og %d dager",
"default-default": "Vennligst velg ein datoperiode",
"time": "Tid",
"hour": "Time",
"minute": "Minutter"
},
"nl": {
"selected": "Geselecteerd:",
"day": "Dag",
"days": "Dagen",
"apply": "Ok",
"week-1": "ma",
"week-2": "di",
"week-3": "wo",
"week-4": "do",
"week-5": "vr",
"week-6": "za",
"week-7": "zo",
"month-name": ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"],
"shortcuts": "Snelkoppelingen",
"custom-values": "Aangepaste waarden",
"past": "Verleden",
"following": "Komend",
"previous": "Vorige",
"prev-week": "Week",
"prev-month": "Maand",
"prev-year": "Jaar",
"next": "Volgende",
"next-week": "Week",
"next-month": "Maand",
"next-year": "Jaar",
"less-than": "Interval moet langer dan %d dagen zijn",
"more-than": "Interval mag niet minder dan %d dagen zijn",
"default-more": "Selecteer een interval langer dan %dagen",
"default-single": "Selecteer een datum",
"default-less": "Selecteer een interval minder dan %d dagen",
"default-range": "Selecteer een interval tussen %d en %d dagen",
"default-default": "Selecteer een interval",
"time": "Tijd",
"hour": "Uur",
"minute": "Minuut"
},
"ru": {
"selected": "Выбрано:",
"day": "День",
"days": "Дней",
"apply": "Применить",
"week-1": "пн",
"week-2": "вт",
"week-3": "ср",
"week-4": "чт",
"week-5": "пт",
"week-6": "сб",
"week-7": "вс",
"month-name": ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"],
"shortcuts": "Быстрый выбор",
"custom-values": "Пользовательские значения",
"past": "Прошедшие",
"following": "Следующие",
"previous": " ",
"prev-week": "Неделя",
"prev-month": "Месяц",
"prev-year": "Год",
"next": " ",
"next-week": "Неделя",
"next-month": "Месяц",
"next-year": "Год",
"less-than": "Диапазон не может быть больше %d дней",
"more-than": "Диапазон не может быть меньше %d дней",
"default-more": "Пожалуйста выберите диапазон больше %d дней",
"default-single": "Пожалуйста выберите дату",
"default-less": "Пожалуйста выберите диапазон меньше %d дней",
"default-range": "Пожалуйста выберите диапазон между %d и %d днями",
"default-default": "Пожалуйста выберите диапазон",
"time": "Время",
"hour": "Часы",
"minute": "Минуты"
},
"pl": {
"selected": "Wybrany:",
"day": "Dzień",
"days": "Dni",
"apply": "Zamknij",
"week-1": "pon",
"week-2": "wt",
"week-3": "śr",
"week-4": "czw",
"week-5": "pt",
"week-6": "so",
"week-7": "nd",
"month-name": ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"],
"shortcuts": "Skróty",
"custom-values": "Niestandardowe wartości",
"past": "Przeszłe",
"following": "Następne",
"previous": "Poprzednie",
"prev-week": "tydzień",
"prev-month": "miesiąc",
"prev-year": "rok",
"next": "Następny",
"next-week": "tydzień",
"next-month": "miesiąc",
"next-year": "rok",
"less-than": "Okres nie powinien być dłuższy niż %d dni",
"more-than": "Okres nie powinien być krótszy niż %d ni",
"default-more": "Wybierz okres dłuższy niż %d dni",
"default-single": "Wybierz datę",
"default-less": "Wybierz okres krótszy niż %d dni",
"default-range": "Wybierz okres trwający od %d do %d dni",
"default-default": "Wybierz okres",
"time": "Czas",
"hour": "Godzina",
"minute": "Minuta"
},
"se": {
"selected": "Vald:",
"day": "dag",
"days": "dagar",
"apply": "godkänn",
"week-1": "ma",
"week-2": "ti",
"week-3": "on",
"week-4": "to",
"week-5": "fr",
"week-6": "lö",
"week-7": "sö",
"month-name": ["januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december"],
"shortcuts": "genvägar",
"custom-values": "Anpassade värden",
"past": "över",
"following": "följande",
"previous": "förra",
"prev-week": "vecka",
"prev-month": "månad",
"prev-year": "år",
"next": "nästa",
"next-week": "vecka",
"next-month": "måned",
"next-year": "år",
"less-than": "Datumintervall bör inte vara mindre än %d dagar",
"more-than": "Datumintervall bör inte vara mer än %d dagar",
"default-more": "Välj ett datumintervall längre än %d dagar",
"default-single": "Välj ett datum",
"default-less": "Välj ett datumintervall mindre än %d dagar",
"default-range": "Välj ett datumintervall mellan %d och %d dagar",
"default-default": "Välj ett datumintervall",
"time": "tid",
"hour": "timme",
"minute": "minut"
},
"pt": //Portuguese (European)
{
"selected": "Selecionado:",
"day": "Dia",
"days": "Dias",
"apply": "Fechar",
"week-1": "seg",
"week-2": "ter",
"week-3": "qua",
"week-4": "qui",
"week-5": "sex",
"week-6": "sab",
"week-7": "dom",
"week-number": "N",
"month-name": ["janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"],
"shortcuts": "Atalhos",
"custom-values": "Valores Personalizados",
"past": "Passado",
"following": "Seguinte",
"previous": "Anterior",
"prev-week": "Semana",
"prev-month": "Mês",
"prev-year": "Ano",
"next": "Próximo",
"next-week": "Próxima Semana",
"next-month": "Próximo Mês",
"next-year": "Próximo Ano",
"less-than": "O período selecionado não deve ser maior que %d dias",
"more-than": "O período selecionado não deve ser menor que %d dias",
"default-more": "Selecione um período superior a %d dias",
"default-single": "Selecione uma data",
"default-less": "Selecione um período inferior a %d dias",
"default-range": "Selecione um período de %d a %d dias",
"default-default": "Selecione um período",
"time": "Tempo",
"hour": "Hora",
"minute": "Minuto"
},
"tc": // traditional chinese
{
"selected": "已選擇:",
"day": "天",
"days": "天",
"apply": "確定",
"week-1": "一",
"week-2": "二",
"week-3": "三",
"week-4": "四",
"week-5": "五",
"week-6": "六",
"week-7": "日",
"week-number": "周",
"month-name": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"shortcuts": "快速選擇",
"past": "過去",
"following": "將來",
"previous": " ",
"prev-week": "上週",
"prev-month": "上個月",
"prev-year": "去年",
"next": " ",
"next-week": "下周",
"next-month": "下個月",
"next-year": "明年",
"less-than": "所選日期範圍不能大於%d天",
"more-than": "所選日期範圍不能小於%d天",
"default-more": "請選擇大於%d天的日期範圍",
"default-less": "請選擇小於%d天的日期範圍",
"default-range": "請選擇%d天到%d天的日期範圍",
"default-single": "請選擇一個日期",
"default-default": "請選擇一個日期範圍",
"time": "日期",
"hour": "小時",
"minute": "分鐘"
},
"ja": {
"selected": "選択しました:",
"day": "日",
"days": "日々",
"apply": "閉じる",
"week-1": "月",
"week-2": "火",
"week-3": "水",
"week-4": "木",
"week-5": "金",
"week-6": "土",
"week-7": "日",
"month-name": ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
"shortcuts": "クイック選択",
"past": "過去",
"following": "将来",
"previous": " ",
"prev-week": "先週、",
"prev-month": "先月",
"prev-year": "昨年",
"next": " ",
"next-week": "来週",
"next-month": "来月",
"next-year": "来年",
"less-than": "日付の範囲は %d 日以上にすべきではありません",
"more-than": "日付の範囲は %d 日を下回ってはいけません",
"default-more": "%d 日よりも長い期間を選択してください",
"default-less": "%d 日未満の期間を選択してください",
"default-range": "%d と% d日の間の日付範囲を選択してください",
"default-single": "日付を選択してください",
"default-default": "日付範囲を選択してください",
"time": "時間",
"hour": "時間",
"minute": "分"
},
"da": {
"selected": "Valgt:",
"day": "Dag",
"days": "Dage",
"apply": "Luk",
"week-1": "ma",
"week-2": "ti",
"week-3": "on",
"week-4": "to",
"week-5": "fr",
"week-6": "lö",
"week-7": "sö",
"month-name": ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december"],
"shortcuts": "genveje",
"custom-values": "Brugerdefinerede værdier",
"past": "Forbi",
"following": "Følgende",
"previous": "Forrige",
"prev-week": "uge",
"prev-month": "månad",
"prev-year": "år",
"next": "Næste",
"next-week": "Næste uge",
"next-month": "Næste måned",
"next-year": "Næste år",
"less-than": "Dato interval bør ikke være med end %d dage",
"more-than": "Dato interval bør ikke være mindre end %d dage",
"default-more": "Vælg datointerval længere end %d dage",
"default-single": "Vælg dato",
"default-less": "Vælg datointerval mindre end %d dage",
"default-range": "Vælg datointerval mellem %d og %d dage",
"default-default": "Vælg datointerval",
"time": "tid",
"hour": "time",
"minute": "minut"
},
"fi": // Finnish
{
"selected": "Valittu:",
"day": "Päivä",
"days": "Päivää",
"apply": "Sulje",
"week-1": "ma",
"week-2": "ti",
"week-3": "ke",
"week-4": "to",
"week-5": "pe",
"week-6": "la",
"week-7": "su",
"week-number": "V",
"month-name": ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"],
"shortcuts": "Pikavalinnat",
"custom-values": "Mukautetut Arvot",
"past": "Menneet",
"following": "Tulevat",
"previous": "Edellinen",
"prev-week": "Viikko",
"prev-month": "Kuukausi",
"prev-year": "Vuosi",
"next": "Seuraava",
"next-week": "Viikko",
"next-month": "Kuukausi",
"next-year": "Vuosi",
"less-than": "Aikajakson tulisi olla vähemmän kuin %d päivää",
"more-than": "Aikajakson ei tulisi olla vähempää kuin %d päivää",
"default-more": "Valitse pidempi aikajakso kuin %d päivää",
"default-single": "Valitse päivä",
"default-less": "Valitse lyhyempi aikajakso kuin %d päivää",
"default-range": "Valitse aikajakso %d ja %d päivän väliltä",
"default-default": "Valitse aikajakso",
"time": "Aika",
"hour": "Tunti",
"minute": "Minuutti"
},
"cat": // Catala
{
"selected": "Seleccionats:",
"day": "Dia",
"days": "Dies",
"apply": "Tanca",
"week-1": "Dl",
"week-2": "Dm",
"week-3": "Dc",
"week-4": "Dj",
"week-5": "Dv",
"week-6": "Ds",
"week-7": "Dg",
"week-number": "S",
"month-name": ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"],
"shortcuts": "Dreçeres",
"custom-values": "Valors personalitzats",
"past": "Passat",
"following": "Futur",
"previous": "Anterior",
"prev-week": "Setmana",
"prev-month": "Mes",
"prev-year": "Any",
"next": "Següent",
"next-week": "Setmana",
"next-month": "Mes",
"next-year": "Any",
"less-than": "El període no hauria de ser de més de %d dies",
"more-than": "El període no hauria de ser de menys de %d dies",
"default-more": "Perfavor selecciona un període més gran de %d dies",
"default-single": "Perfavor selecciona una data",
"default-less": "Perfavor selecciona un període de menys de %d dies",
"default-range": "Perfavor selecciona un període d'entre %d i %d dies",
"default-default": "Perfavor selecciona un període",
"time": "Temps",
"hour": "Hora",
"minute": "Minut"
}
};
$.fn.dateRangePicker = function(opt) {
if (!opt) opt = {};
opt = $.extend(true, {
autoClose: false,
format: 'YYYY-MM-DD',
separator: ' to ',
language: 'auto',
startOfWeek: 'sunday', // or monday
getValue: function() {
return $(this).val();
},
setValue: function(s) {
if (!$(this).attr('readonly') && !$(this).is(':disabled') && s != $(this).val()) {
$(this).val(s);
}
},
startDate: false,
endDate: false,
time: {
enabled: false
},
minDays: 0,
maxDays: 0,
showShortcuts: false,
shortcuts: {
//'prev-days': [1,3,5,7],
// 'next-days': [3,5,7],
//'prev' : ['week','month','year'],
// 'next' : ['week','month','year']
},
customShortcuts: [],
inline: false,
container: 'body',
alwaysOpen: false,
singleDate: false,
lookBehind: false,
batchMode: false,
duration: 200,
stickyMonths: false,
dayDivAttrs: [],
dayTdAttrs: [],
selectForward: false,
selectBackward: false,
applyBtnClass: '',
singleMonth: 'auto',
hoveringTooltip: function(days, startTime, hoveringTime) {
return days > 1 ? days + ' ' + translate('days') : '';
},
showTopbar: true,
swapTime: false,
showWeekNumbers: false,
getWeekNumber: function(date) //date will be the first day of a week
{
return moment(date).format('w');
},
customOpenAnimation: null,
customCloseAnimation: null,
customArrowPrevSymbol: null,
customArrowNextSymbol: null
}, opt);
opt.start = false;
opt.end = false;
opt.startWeek = false;
//detect a touch device
opt.isTouchDevice = 'ontouchstart' in window || navigator.msMaxTouchPoints;
//if it is a touch device, hide hovering tooltip
if (opt.isTouchDevice) opt.hoveringTooltip = false;
//show one month on mobile devices
if (opt.singleMonth == 'auto') opt.singleMonth = $(window).width() < 480;
if (opt.singleMonth) opt.stickyMonths = false;
if (!opt.showTopbar) opt.autoClose = true;
if (opt.startDate && typeof opt.startDate == 'string') opt.startDate = moment(opt.startDate, opt.format).toDate();
if (opt.endDate && typeof opt.endDate == 'string') opt.endDate = moment(opt.endDate, opt.format).toDate();
var languages = getLanguages();
var box;
var initiated = false;
var self = this;
var selfDom = $(self).get(0);
var domChangeTimer;
$(this).unbind('.datepicker').bind('click.datepicker', function(evt) {
var isOpen = box.is(':visible');
if (!isOpen) open(opt.duration);
}).bind('change.datepicker', function(evt) {
checkAndSetDefaultValue();
}).bind('keyup.datepicker', function() {
try {
clearTimeout(domChangeTimer);
} catch (e) {}
domChangeTimer = setTimeout(function() {
checkAndSetDefaultValue();
}, 2000);
});
init_datepicker.call(this);
if (opt.alwaysOpen) {
open(0);
}
// expose some api
$(this).data('dateRangePicker', {
setStart: function(d1) {
if (typeof d1 == 'string') {
d1 = moment(d1, opt.format).toDate();
}
opt.end = false;
setSingleDate(d1);
return this;
},
setEnd: function(d2, silent) {
var start = new Date();
start.setTime(opt.start);
if (typeof d2 == 'string') {
d2 = moment(d2, opt.format).toDate();
}
setDateRange(start, d2, silent);
return this;
},
setDateRange: function(d1, d2, silent) {
if (typeof d1 == 'string' && typeof d2 == 'string') {
d1 = moment(d1, opt.format).toDate();
d2 = moment(d2, opt.format).toDate();
}
setDateRange(d1, d2, silent);
},
clear: clearSelection,
close: closeDatePicker,
open: open,
redraw: redrawDatePicker,
getDatePicker: getDatePicker,
resetMonthsView: resetMonthsView,
destroy: function() {
$(self).unbind('.datepicker');
$(self).data('dateRangePicker', '');
$(self).data('date-picker-opened', null);
box.remove();
$(window).unbind('resize.datepicker', calcPosition);
$(document).unbind('click.datepicker', closeDatePicker);
}
});
$(window).bind('resize.datepicker', calcPosition);
return this;
function IsOwnDatePickerClicked(evt, selfObj) {
return (selfObj.contains(evt.target) || evt.target == selfObj || (selfObj.childNodes != undefined && $.inArray(evt.target, selfObj.childNodes) >= 0));
}
function init_datepicker() {
var self = this;
if ($(this).data('date-picker-opened')) {
closeDatePicker();
return;
}
$(this).data('date-picker-opened', true);
box = createDom().hide();
box.append('<div class="date-range-length-tip"></div>');
$(opt.container).append(box);
if (!opt.inline) {
calcPosition();
} else {
box.addClass('inline-wrapper');
}
if (opt.alwaysOpen) {
box.find('.apply-btn').hide();
}
var defaultTime = getDefaultTime();
resetMonthsView(defaultTime);
if (opt.time.enabled) {
if ((opt.startDate && opt.endDate) || (opt.start && opt.end)) {
showTime(moment(opt.start || opt.startDate).toDate(), 'time1');
showTime(moment(opt.end || opt.endDate).toDate(), 'time2');
} else {
var defaultEndTime = opt.defaultEndTime ? opt.defaultEndTime : defaultTime;
showTime(defaultTime, 'time1');
showTime(defaultEndTime, 'time2');
}
}
//showSelectedInfo();
var defaultTopText = '';
if (opt.singleDate)
defaultTopText = translate('default-single');
else if (opt.minDays && opt.maxDays)
defaultTopText = translate('default-range');
else if (opt.minDays)
defaultTopText = translate('default-more');
else if (opt.maxDays)
defaultTopText = translate('default-less');
else
defaultTopText = translate('default-default');
box.find('.default-top').html(defaultTopText.replace(/\%d/, opt.minDays).replace(/\%d/, opt.maxDays));
if (opt.singleMonth) {
box.addClass('single-month');
} else {
box.addClass('two-months');
}
setTimeout(function() {
updateCalendarWidth();
initiated = true;
}, 0);
box.click(function(evt) {
evt.stopPropagation();
});
//if user click other place of the webpage, close date range picker window
$(document).bind('click.datepicker', function(evt) {
if (!IsOwnDatePickerClicked(evt, self[0])) {
if (box.is(':visible')) closeDatePicker();
}
});
box.find('.next').click(function() {
if (!opt.stickyMonths)
gotoNextMonth(this);
else
gotoNextMonth_stickily(this);
});
function gotoNextMonth(self) {
var isMonth2 = $(self).parents('table').hasClass('month2');
var month = isMonth2 ? opt.month2 : opt.month1;
month = nextMonth(month);
if (!opt.singleMonth && !opt.singleDate && !isMonth2 && compare_month(month, opt.month2) >= 0 || isMonthOutOfBounds(month)) return;
showMonth(month, isMonth2 ? 'month2' : 'month1');
showGap();
}
function gotoNextMonth_stickily(self) {
var nextMonth1 = nextMonth(opt.month1);
var nextMonth2 = nextMonth(opt.month2);
if (isMonthOutOfBounds(nextMonth2)) return;
if (!opt.singleDate && compare_month(nextMonth1, nextMonth2) >= 0) return;
showMonth(nextMonth1, 'month1');
showMonth(nextMonth2, 'month2');
showSelectedDays();
}
box.find('.prev').click(function() {
if (!opt.stickyMonths)
gotoPrevMonth(this);
else
gotoPrevMonth_stickily(this);
});
function gotoPrevMonth(self) {
var isMonth2 = $(self).parents('table').hasClass('month2');
var month = isMonth2 ? opt.month2 : opt.month1;
month = prevMonth(month);
if (isMonth2 && compare_month(month, opt.month1) <= 0 || isMonthOutOfBounds(month)) return;
showMonth(month, isMonth2 ? 'month2' : 'month1');
showGap();
}
function gotoPrevMonth_stickily(self) {
var prevMonth1 = prevMonth(opt.month1);
var prevMonth2 = prevMonth(opt.month2);
if (isMonthOutOfBounds(prevMonth1)) return;
if (!opt.singleDate && compare_month(prevMonth2, prevMonth1) <= 0) return;
showMonth(prevMonth2, 'month2');
showMonth(prevMonth1, 'month1');
showSelectedDays();
}
box.attr('unselectable', 'on')
.css('user-select', 'none')
.bind('selectstart', function(e) {
e.preventDefault();
return false;
});
box.find('.apply-btn').click(function() {
closeDatePicker();
var dateRange = getDateString(new Date(opt.start)) + opt.separator + getDateString(new Date(opt.end));
$(self).trigger('datepicker-apply', {
'value': dateRange,
'date1': new Date(opt.start),
'date2': new Date(opt.end)
});
});
box.find('[custom]').click(function() {
var valueName = $(this).attr('custom');
opt.start = false;
opt.end = false;
box.find('.day.checked').removeClass('checked');
opt.setValue.call(selfDom, valueName);
checkSelectionValid();
showSelectedInfo(true);
showSelectedDays();
if (opt.autoClose) closeDatePicker();
});
box.find('[shortcut]').click(function() {
var shortcut = $(this).attr('shortcut');
var end = new Date(),
start = false;
var dir;
if (shortcut.indexOf('day') != -1) {
var day = parseInt(shortcut.split(',', 2)[1], 10);
start = new Date(new Date().getTime() + 86400000 * day);
end = new Date(end.getTime() + 86400000 * (day > 0 ? 1 : -1));
} else if (shortcut.indexOf('week') != -1) {
dir = shortcut.indexOf('prev,') != -1 ? -1 : 1;
var stopDay;
if (dir == 1)
stopDay = opt.startOfWeek == 'monday' ? 1 : 0;
else
stopDay = opt.startOfWeek == 'monday' ? 0 : 6;
end = new Date(end.getTime() - 86400000);
while (end.getDay() != stopDay) end = new Date(end.getTime() + dir * 86400000);
start = new Date(end.getTime() + dir * 86400000 * 6);
} else if (shortcut.indexOf('month') != -1) {
dir = shortcut.indexOf('prev,') != -1 ? -1 : 1;
if (dir == 1)
start = nextMonth(end);
else
start = prevMonth(end);
start.setDate(1);
end = nextMonth(start);
end.setDate(1);
end = new Date(end.getTime() - 86400000);
} else if (shortcut.indexOf('year') != -1) {
dir = shortcut.indexOf('prev,') != -1 ? -1 : 1;
start = new Date();
start.setFullYear(end.getFullYear() + dir);
start.setMonth(0);
start.setDate(1);
end.setFullYear(end.getFullYear() + dir);
end.setMonth(11);
end.setDate(31);
} else if (shortcut == 'custom') {
var name = $(this).html();
if (opt.customShortcuts && opt.customShortcuts.length > 0) {
for (var i = 0; i < opt.customShortcuts.length; i++) {
var sh = opt.customShortcuts[i];
if (sh.name == name) {
var data = [];
// try
// {
data = sh['dates'].call();
//}catch(e){}
if (data && data.length == 2) {
start = data[0];
end = data[1];
}
// if only one date is specified then just move calendars there
// move calendars to show this date's month and next months
if (data && data.length == 1) {
var movetodate = data[0];
showMonth(movetodate, 'month1');
showMonth(nextMonth(movetodate), 'month2');
showGap();
}
break;
}
}
}
}
if (start && end) {
setDateRange(start, end);
checkSelectionValid();
}
});
box.find('.time1 input[type=range]').bind('change touchmove', function(e) {
var target = e.target,
hour = target.name == 'hour' ? $(target).val().replace(/^(\d{1})$/, '0$1') : undefined,
min = target.name == 'minute' ? $(target).val().replace(/^(\d{1})$/, '0$1') : undefined;
setTime('time1', hour, min);
});
box.find('.time2 input[type=range]').bind('change touchmove', function(e) {
var target = e.target,
hour = target.name == 'hour' ? $(target).val().replace(/^(\d{1})$/, '0$1') : undefined,
min = target.name == 'minute' ? $(target).val().replace(/^(\d{1})$/, '0$1') : undefined;
setTime('time2', hour, min);
});
}
function calcPosition() {
if (!opt.inline) {
var offset = $(self).offset();
if ($(opt.container).css('position') == 'relative') {
var containerOffset = $(opt.container).offset();
box.css({
top: offset.top - containerOffset.top + $(self).outerHeight() + 4,
left: offset.left - containerOffset.left
});
} else {
if (offset.left < 460) //left to right
{
box.css({
top: offset.top + $(self).outerHeight() + parseInt($('body').css('border-top') || 0, 10),
left: offset.left
});
} else {
box.css({
top: offset.top + $(self).outerHeight() + parseInt($('body').css('border-top') || 0, 10),
left: offset.left + $(self).outerWidth() - box.outerWidth()
});
}
}
}
}
// Return the date picker wrapper element
function getDatePicker() {
return box;
}
function open(animationTime) {
calcPosition();
redrawDatePicker();
checkAndSetDefaultValue();
if (opt.customOpenAnimation) {
opt.customOpenAnimation.call(box.get(0), function() {
$(self).trigger('datepicker-opened', {
relatedTarget: box
});
});
} else {
box.addClass('show');
setTimeout(function() {
$(self).trigger('datepicker-opened', {
relatedTarget: box
});
}, 10);
// box.slideDown(animationTime, function() {
// $(self).trigger('datepicker-opened', {
// relatedTarget: box
// });
// });
}
$(self).trigger('datepicker-open', {
relatedTarget: box
});
showGap();
updateCalendarWidth();
}
function checkAndSetDefaultValue() {
var __default_string = opt.getValue.call(selfDom);
var defaults = __default_string ? __default_string.split(opt.separator) : '';
if (defaults && ((defaults.length == 1 && opt.singleDate) || defaults.length >= 2)) {
var ___format = opt.format;
if (___format.match(/Do/)) {
___format = ___format.replace(/Do/, 'D');
defaults[0] = defaults[0].replace(/(\d+)(th|nd|st)/, '$1');
if (defaults.length >= 2) {
defaults[1] = defaults[1].replace(/(\d+)(th|nd|st)/, '$1');
}
}
// set initiated to avoid triggerring datepicker-change event
initiated = false;
if (defaults.length >= 2) {
setDateRange(getValidValue(defaults[0], ___format, moment.locale(opt.language)), getValidValue(defaults[1], ___format, moment.locale(opt.language)));
} else if (defaults.length == 1 && opt.singleDate) {
setSingleDate(getValidValue(defaults[0], ___format, moment.locale(opt.language)));
}
initiated = true;
}
}
function getValidValue(date, format, locale) {
if (moment(date, format, locale).isValid()) {
return moment(date, format, locale).toDate();
} else {
return moment().toDate();
}
}
function updateCalendarWidth() {
var gapMargin = box.find('.gap').css('margin-left');
if (gapMargin) gapMargin = parseInt(gapMargin);
var w1 = box.find('.month1').width();
var w2 = box.find('.gap').width() + (gapMargin ? gapMargin * 2 : 0);
var w3 = box.find('.month2').width();
// box.find('.month-wrapper').width(w1 + w2 + w3);
box.find('.month-wrapper').width(w1 + w3);
}
function renderTime(name, date) {
box.find('.' + name + ' input[type=range].hour-range').val(moment(date).hours());
box.find('.' + name + ' input[type=range].minute-range').val(moment(date).minutes());
setTime(name, moment(date).format('HH'), moment(date).format('mm'));
}
function changeTime(name, date) {
opt[name] = parseInt(
moment(parseInt(date))
.startOf('day')
.add(moment(opt[name + 'Time']).format('HH'), 'h')
.add(moment(opt[name + 'Time']).format('mm'), 'm').valueOf()
);
}
function swapTime() {
renderTime('time1', opt.start);
renderTime('time2', opt.end);
}
function setTime(name, hour, minute) {
hour && (box.find('.' + name + ' .hour-val').text(hour));
minute && (box.find('.' + name + ' .minute-val').text(minute));
switch (name) {
case 'time1':
if (opt.start) {
setRange('start', moment(opt.start));
}
setRange('startTime', moment(opt.startTime || moment().valueOf()));
break;
case 'time2':
if (opt.end) {
setRange('end', moment(opt.end));
}
setRange('endTime', moment(opt.endTime || moment().valueOf()));
break;
}
function setRange(name, timePoint) {
var h = timePoint.format('HH'),
m = timePoint.format('mm');
opt[name] = timePoint
.startOf('day')
.add(hour || h, 'h')
.add(minute || m, 'm')
.valueOf();
}
checkSelectionValid();
showSelectedInfo();
showSelectedDays();
}
function clearSelection() {
opt.start = false;
opt.end = false;
box.find('.day.checked').removeClass('checked');
box.find('.day.last-date-selected').removeClass('last-date-selected');
box.find('.day.first-date-selected').removeClass('first-date-selected');
opt.setValue.call(selfDom, '');
checkSelectionValid();
showSelectedInfo();
showSelectedDays();
}
function handleStart(time) {
var r = time;
if (opt.batchMode === 'week-range') {
if (opt.startOfWeek === 'monday') {
r = moment(parseInt(time)).startOf('isoweek').valueOf();
} else {
r = moment(parseInt(time)).startOf('week').valueOf();
}
} else if (opt.batchMode === 'month-range') {
r = moment(parseInt(time)).startOf('month').valueOf();
}
return r;
}
function handleEnd(time) {
var r = time;
if (opt.batchMode === 'week-range') {
if (opt.startOfWeek === 'monday') {
r = moment(parseInt(time)).endOf('isoweek').valueOf();
} else {
r = moment(parseInt(time)).endOf('week').valueOf();
}
} else if (opt.batchMode === 'month-range') {
r = moment(parseInt(time)).endOf('month').valueOf();
}
return r;
}
function dayClicked(day) {
if (day.hasClass('invalid')) return;
var time = day.attr('time');
day.addClass('checked');
if (opt.singleDate) {
opt.start = time;
opt.end = false;
} else if (opt.batchMode === 'week') {
if (opt.startOfWeek === 'monday') {
opt.start = moment(parseInt(time)).startOf('isoweek').valueOf();
opt.end = moment(parseInt(time)).endOf('isoweek').valueOf();
} else {
opt.end = moment(parseInt(time)).endOf('week').valueOf();
opt.start = moment(parseInt(time)).startOf('week').valueOf();
}
} else if (opt.batchMode === 'workweek') {
opt.start = moment(parseInt(time)).day(1).valueOf();
opt.end = moment(parseInt(time)).day(5).valueOf();
} else if (opt.batchMode === 'weekend') {
opt.start = moment(parseInt(time)).day(6).valueOf();
opt.end = moment(parseInt(time)).day(7).valueOf();
} else if (opt.batchMode === 'month') {
opt.start = moment(parseInt(time)).startOf('month').valueOf();
opt.end = moment(parseInt(time)).endOf('month').valueOf();
} else if ((opt.start && opt.end) || (!opt.start && !opt.end)) {
opt.start = handleStart(time);
opt.end = false;
} else if (