UNPKG

@narmafzam/jalali-datepicker

Version:

just a jalali-datepicker

204 lines (199 loc) 6.19 kB
let Helper = require('./helper'); let Constant = require('./constant'); const Config = { 'calendarType': 'persian', 'calendar': { 'persian': { 'locale': 'fa', 'showHint': false, 'leapYearMode': 'algorithmic' }, 'gregorian': { 'locale': 'en', 'showHint': false } }, 'responsive': true, 'inline': false, 'initialValue': true, 'initialValueType': 'gregorian', 'persianDigit': true, 'otherMonthDisabled': true, 'otherMonthUnselectable': true, 'viewMode': 'day', 'format': 'DD MMMM YYYY', 'formatter': function (unixDate) { let self = this, pdate = this.model.JalaliDate.date(unixDate); return pdate.format(self.format); }, 'altField': false, 'altFormat': 'unix', 'altFieldFormatter': function (unixDate) { let self = this, thisAltFormat = self.altFormat.toLowerCase(), pd; if (thisAltFormat === 'gregorian' || thisAltFormat === 'g') { return new Date(unixDate); } if (thisAltFormat === 'unix' || thisAltFormat === 'u') { return unixDate; } else { pd = this.model.JalaliDate.date(unixDate); return pd.format(self.altFormat); } }, 'minDate': Constant.MIN_DATE, 'maxDate': Constant.MAX_DATE, 'navigator': { 'enabled': true, 'scroll': { 'enabled': true }, 'text': { 'fa': { 'btnNextText': Constant.NEXT_TEXT, 'btnPrevText': Constant.PREV_TEXT }, 'en': { 'btnNextText': 'Next', 'btnPrevText': 'Prev' } }, 'onNext': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onNext'); }, 'onPrev': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onPrev'); }, 'onSwitch': function (datepickerObject) { Helper.debug(datepickerObject, 'dayPicker Event: onSwitch'); } }, 'toolbox': { 'enabled': true, 'text': { btnToday: Constant.CURRENT_TEXT, }, submitButton: { enabled: Helper.isMobile, text: { fa: Constant.SUBMIT_TEXT, en: 'submit' }, onSubmit: function (datepickerObject) { Helper.debug(datepickerObject, 'dayPicker Event: onSubmit'); } }, todayButton: { enabled: true, text: { fa: Constant.CURRENT_TEXT, en: 'today' }, onToday: function (datepickerObject) { Helper.debug(datepickerObject, 'dayPicker Event: onToday'); } }, calendarSwitch: { enabled: true, format: "YYYY", onSwitch: function (datepickerObject) { Helper.debug(datepickerObject, 'dayPicker Event: onSwitch'); } }, onToday: function (datepickerObject) { Helper.debug(datepickerObject, 'dayPicker Event: onToday'); } }, 'onlyTimePicker': false, 'onlySelectOnDate': true, 'checkDate': function () { return true; }, 'checkMonth': function () { return true; }, 'checkYear': function () { return true; }, 'timePicker': { 'enabled': false, 'step': 1, 'hour': { 'enabled': true, 'step': null }, 'minute': { 'enabled': true, 'step': null }, 'second': { 'enabled': true, 'step': null }, 'meridian': { 'enabled': false } }, 'dayPicker': { 'enabled': true, 'titleFormat': 'MMMM YYYY', 'titleFormatter': function (year, month) { let titleDate = this.model.JalaliDate.date([year, month]); return titleDate.format(this.model.options.dayPicker.titleFormat); }, 'onSelect': function (selectedDayUnix) { Helper.debug(this, 'dayPicker Event: onSelect : ' + selectedDayUnix); } }, 'monthPicker': { 'enabled': true, 'titleFormat': 'YYYY', 'titleFormatter': function (unix) { let titleDate = this.model.JalaliDate.date(unix); return titleDate.format(this.model.options.monthPicker.titleFormat); }, 'onSelect': function (monthIndex) { Helper.debug(this, 'monthPicker Event: onSelect : ' + monthIndex); } }, 'yearPicker': { 'enabled': true, 'titleFormat': 'YYYY', 'titleFormatter': function (year) { let remaining = parseInt(year / 12, 10) * 12; let startYear = this.model.JalaliDate.date([remaining]); let endYear = this.model.JalaliDate.date([remaining + 11]); return startYear.format(this.model.options.yearPicker.titleFormat) + '-' + endYear.format(this.model.options.yearPicker.titleFormat); }, 'onSelect': function (year) { Helper.debug(this, 'yearPicker Event: onSelect : ' + year); } }, 'onSelect': function (unixDate) { Helper.debug(this, 'datepicker Event: onSelect : ' + unixDate); }, 'onSet': function (unixDate) { Helper.debug(this, 'datepicker Event: onSet : ' + unixDate); }, 'position': 'auto', 'onShow': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onShow '); }, 'onHide': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onHide '); }, 'onToggle': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onToggle '); }, 'onDestroy': function (datepickerObject) { Helper.debug(datepickerObject, 'Event: onDestroy '); }, 'autoClose': false, 'template': null, 'observer': false, 'inputDelay': 800 }; module.exports = Config;