extends ../layout block content h1.promo-header | AIR DATEPICKER span легкий соврменныый jQuery календарь p.-text-center- input.promo-input.datepicker-here(type='text' id='example-promo' data-position='bottom center') h2 Установка +example-code('html') bower i --save air-datepicker p Либо можно скачать файлы напрямую с GitHub h2 Использование p | Календарь автоматически проинициализируется на элементах с классом +example-inline('.datepicker-here', 'css') | , при этом опции можно передать через +example-inline('data', 'html') | атрибуты. +example-code('html') :code h3 Ручная инициализация +example-code('js'). // Инициализация $('#my-element').datepicker([options]) // Доступ к экземпляру объекта $('#my-element').data('datepicker') h2 Примеры h3 Инициализация с опциями по умолчанию +example +example-content input(type='text').datepicker-here +example-code('html') :code h3 Выбор нескольких дат p | Передайте параметр +example-inline('{multipleDates: true}','js') | для выбора нескольких дат. Если требуется ограничить количество выбранных дат, то передайте необходимое число +example-inline('{multipleDates: 3}','js') | . +example +example-content input(type='text' data-multiple-dates='3' data-multiple-dates-separator=', ').datepicker-here +example-code('html') :code h3 Постоянно видимый календарь p | Проинициализируйте плагин на элементе, который не является текстовым полем, например на +example-inline('
', 'html') | , либо передайте параметр +example-inline('{inline: true}', 'js') | . +example +example-content div.datepicker-here +example-code('html') :code
h3 Выбор месяца +example +example-content input.datepicker-here(type='text' data-min-view='months' data-view='months' data-date-format='MM yyyy') +example-code('html') :code h3 Минимальная и максимальные даты p | Чтобы ограничить выбор даты, используйте +example-inline('minDate', 'js') | и +example-inline('maxDate', 'js') | , которым нужно передать объект даты. +example +example-content input#minMaxExample(type='text') script. $('#minMaxExample').datepicker({ minDate: new Date() // Можно выбрать тольо даты, идущие за сегодняшним днем }) +example-code('js'). $('#minMaxExample').datepicker({ minDate: new Date() // Можно выбрать тольо даты, идущие за сегодняшним днем }) h3 Диапозон дат p. По умолчанию в плагине нет встроенного механизма выбора диапозона дат для нескольких текстовых полей. Тем не менее это можно сделть вручную. +example +example-content div.range-example input(type='text' placeholder='Начало')#start span – input(type='text' placeholder='Конец')#end script. var $start = $('#start'), $end = $('#end'); $start.datepicker({ onSelect: function (fd, date) { $end.data('datepicker') .update('minDate', date) } }) $end.datepicker({ onSelect: function (fd, date) { $start.data('datepicker') .update('maxDate', date) } }) +example-code('js'). var $start = $('#start'), $end = $('#end'); $start.datepicker({ onSelect: function (fd, date) { $end.data('datepicker') .update('minDate', date) } }) $end.datepicker({ onSelect: function (fd, date) { $start.data('datepicker') .update('maxDate', date) } }) article h2 Локализация p | Вы можете добавить свою локализацию в объект +example-inline('Datepicker.language["my-lang"]', 'js') | и при вызове календаря передать название языка в параметр +example-inline('language', 'js') +example-code('js'). Datepicker.language['my-lang'] = {...} $('.my-datepicker').datepicker({ language: 'my-lang' }) p | Также объект локализации можно передавать непосредственно в +example-inline('language', 'js') +example-code('js'). $('.my-datepicker').datepicker({ language: { days: [...] ... } }) p Если в вашей локализации не будет хватать каких-то полей, то они будут взяты из языка по умолчанию. h3 Пример объекта локализации +example-code('js'). Datepicker.language['ru'] = { days: ['Воскресенье','Понедельник','Вторник','Среда','Четверг','Пятница','Суббота'], daysShort: ['Вос','Пон','Вто','Сре','Чет','Пят','Суб'], daysMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], months: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthsShort: ['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'], today: 'Сегодня', clear: 'Очистить', dateFormat: 'dd.mm.yyyy', firstDay: 1 }; article h2 Опции .param +param-header('inline', 'boolean', 'false') p Если true, то календарь будет виден постоянно. .param +param-header('language', 'string|object', '"ru"') p | Язык календаря. Если передается строка, то поиск языка будет осуществляться в объекте +example-inline('Datepicker.language', 'js') | Если передан объект, то данные будут браться из него. p Если в объекте локализации не будет хватать каких то полей, то они будут взяты из языка по умолчанию. .param +param-header('startDate', 'Date', 'new Date()') p Какую дату нужно показывать при инициализации календаря. .param +param-header('firstDay', 'number', '""') p. Индекс дня, с которого начинается неделя. Возможные значение от 0 до 6, где 0 - воскресенье и 6 - суббота. По умолчанию берется из локализации, если значение передать сюда, то оно будет иметь больший приоритет. .param +param-header('weekends', 'array', '[6, 0]') p |Массив индексов дней, которые будут считаться выходными днями. Им будет добавлен класс +example-inline('.-weekend-','css') |. По умолчанию это суббота и воскресенье. .param +param-header('dateFormat', 'string', '""') p Формат даты, кобминация из d, m, yyyy, D, M, и т.д. По умолчанию берется из локализации, если передать значение сюда, то оно будет иметь больший приоритет. ul li +param('d') | - дата li +param('dd') | - дата с лидирующем нулем li +param('D') | - сокращенное наименование дня li +param('DD') | - полное наименование дня li +param('m') | - номер мясяца li +param('mm') | - номер месяца с лидирующем нулем li +param('M') | - сокращенное наименовение месяца li +param('MM') | - полное наименовение месяца li +param('yy') | - сокращенный номер года li +param('yyyy') | - полный номер года li +param('yyyy1') | - первый год декады, в которую входит текущий год li +param('yyyy2') | - последний год декады, в которую входит текущий год .param +param-header('toggleSelected', 'boolean', 'true') p Если true, то клик на выделенной дате снимет выделение.