this.setValue(this.date);
},
- setDatesTranslation: function(lang)
+ translateDates: function(lang)
{
- Roo.bootstrap.form.DateField.dates[lang] = {
+ var translation = Roo.bootstrap.form.DateField.dates[lang] = {
days: [],
daysShort: [],
daysMin: [],
today: "Today"
};
- locale = lang.replace('_', '-');
+ var locale = lang.replace('_', '-');
+ var latinRegex = new RegExp('^[A-Za-z]+$');
+
+ // fill days
for(var i = 0; i < 7; i++) {
var date = new Date(2020, 0, 5 + i);
- Roo.bootstrap.form.DateField.dates[lang]['days'].push(new Intl.DateTimeFormat(locale, {
+ var day = new Intl.DateTimeFormat(locale, {
weekday : 'long'
- }).format(date));
+ }).format(date);
- Roo.bootstrap.form.DateField.dates[lang]['daysShort'].push(new Intl.DateTimeFormat(locale, {
+ var dayShort = new Intl.DateTimeFormat(locale, {
weekday : 'short'
- }).format(date));
+ }).format(date);
- Roo.bootstrap.form.DateField.dates[lang]['daysMin'].push(new Intl.DateTimeFormat(locale, {
+ var dayMin = new Intl.DateTimeFormat(locale, {
weekday : 'narrow'
- }).format(date));
+ }).format(date);
+
+ if(latinRegex.test(day)) {
+ dayShort = day.substring(0, 3);
+ dayMin = day.substring(0, 2);
+ }
+
+ translation['days'] = day;
+ translation['daysShort'] = dayShort;
+ translation['daysMin'] = dayMin;
}
+ // fill months
for(var i = 0; i < 12; i++) {
var date = new Date(2020, i);
- Roo.bootstrap.form.DateField.dates[lang]['months'].push(new Intl.DateTimeFormat(locale, {
+ var month = new Intl.DateTimeFormat(locale, {
month : 'long'
- }).format(date));
+ }).format(date);
- Roo.bootstrap.form.DateField.dates[lang]['monthsShort'].push(new Intl.DateTimeFormat(locale, {
+ var monthShort = new Intl.DateTimeFormat(locale, {
month : 'short'
- }).format(date));
+ }).format(date);
+
+ if(latinRegex.test(month)) {
+ monthShort = month.substring(0, 3);
+ }
+
+ translation['months'] = month;
+ translation['monthsShort'] = monthShort;
}
},
Roo.bootstrap.form.DateField.superclass.onRender.call(this, ct, position);
- this.setDatesTranslation(this.language);
+ this.translateDates(this.language);
Roo.log(Roo.bootstrap.form.DateField.dates);
// Roo/bootstrap/form/DateField.js
Roo.bootstrap.form.DateField=function(A){Roo.bootstrap.form.DateField.superclass.constructor.call(this,A);this.addEvents({show:true,hide:true,select:true,beforeselect:true});};Roo.extend(Roo.bootstrap.form.DateField,Roo.bootstrap.form.Input,{format:"m/d/y",weekStart:0,viewMode:'',minViewMode:'',todayHighlight:false,todayBtn:false,language:'en',keyboardNavigation:true,calendarWeeks:false,startDate:-Infinity,endDate:Infinity,daysOfWeekDisabled:[],_events:[],singleMode:false,hiddenField:false,UTCDate:function(){return new Date(Date.UTC.apply(Date,arguments));
},UTCToday:function(){var A=new Date();return this.UTCDate(A.getUTCFullYear(),A.getUTCMonth(),A.getUTCDate());},getDate:function(){var d=this.getUTCDate();return new Date(d.getTime()+(d.getTimezoneOffset()*60000));},getUTCDate:function(){return this.date;
-},setDate:function(d){this.setUTCDate(new Date(d.getTime()-(d.getTimezoneOffset()*60000)));},setUTCDate:function(d){this.date=d;this.setValue(this.date);},setDatesTranslation:function(A){Roo.bootstrap.form.DateField.dates[A]={days:[],daysShort:[],daysMin:[],months:[],monthsShort:[],today:"Today"}
-;locale=A.replace('_','-');for(var i=0;i<7;i++){var B=new Date(2020,0,5+i);Roo.bootstrap.form.DateField.dates[A]['days'].push(new Intl.DateTimeFormat(locale,{weekday:'long'}).format(B));Roo.bootstrap.form.DateField.dates[A]['daysShort'].push(new Intl.DateTimeFormat(locale,{weekday:'short'}
-).format(B));Roo.bootstrap.form.DateField.dates[A]['daysMin'].push(new Intl.DateTimeFormat(locale,{weekday:'narrow'}).format(B));}for(var i=0;i<12;i++){var B=new Date(2020,i);Roo.bootstrap.form.DateField.dates[A]['months'].push(new Intl.DateTimeFormat(locale,{month:'long'}
-).format(B));Roo.bootstrap.form.DateField.dates[A]['monthsShort'].push(new Intl.DateTimeFormat(locale,{month:'short'}).format(B));}},onRender:function(ct,A){Roo.bootstrap.form.DateField.superclass.onRender.call(this,ct,A);this.setDatesTranslation(this.language);
-Roo.log(Roo.bootstrap.form.DateField.dates);this.isRTL=Roo.bootstrap.form.DateField.dates[this.language].rtl||false;this.format=this.format||'m/d/y';this.isInline=false;this.isInput=true;this.component=this.el.select('.add-on',true).first()||false;this.component=(this.component&&this.component.length===0)?false:this.component;
-this.hasInput=this.component&&this.inputEl().length;if(typeof(this.minViewMode==='string')){switch(this.minViewMode){case 'months':this.minViewMode=1;break;case 'years':this.minViewMode=2;break;default:this.minViewMode=0;break;}}if(typeof(this.viewMode==='string')){switch(this.viewMode){case 'months':this.viewMode=1;
+},setDate:function(d){this.setUTCDate(new Date(d.getTime()-(d.getTimezoneOffset()*60000)));},setUTCDate:function(d){this.date=d;this.setValue(this.date);},translateDates:function(A){var B=Roo.bootstrap.form.DateField.dates[A]={days:[],daysShort:[],daysMin:[],months:[],monthsShort:[],today:"Today"}
+;var C=A.replace('_','-');var D=new RegExp('^[A-Za-z]+$');for(var i=0;i<7;i++){var E=new Date(2020,0,5+i);var F=new Intl.DateTimeFormat(C,{weekday:'long'}).format(E);var G=new Intl.DateTimeFormat(C,{weekday:'short'}).format(E);var H=new Intl.DateTimeFormat(C,{weekday:'narrow'}
+).format(E);if(D.test(F)){G=F.substring(0,3);H=F.substring(0,2);}B['days']=F;B['daysShort']=G;B['daysMin']=H;}for(var i=0;i<12;i++){var E=new Date(2020,i);var I=new Intl.DateTimeFormat(C,{month:'long'}).format(E);var J=new Intl.DateTimeFormat(C,{month:'short'}
+).format(E);if(D.test(I)){J=I.substring(0,3);}B['months']=I;B['monthsShort']=J;}},onRender:function(ct,A){Roo.bootstrap.form.DateField.superclass.onRender.call(this,ct,A);this.translateDates(this.language);Roo.log(Roo.bootstrap.form.DateField.dates);this.isRTL=Roo.bootstrap.form.DateField.dates[this.language].rtl||false;
+this.format=this.format||'m/d/y';this.isInline=false;this.isInput=true;this.component=this.el.select('.add-on',true).first()||false;this.component=(this.component&&this.component.length===0)?false:this.component;this.hasInput=this.component&&this.inputEl().length;
+if(typeof(this.minViewMode==='string')){switch(this.minViewMode){case 'months':this.minViewMode=1;break;case 'years':this.minViewMode=2;break;default:this.minViewMode=0;break;}}if(typeof(this.viewMode==='string')){switch(this.viewMode){case 'months':this.viewMode=1;
break;case 'years':this.viewMode=2;break;default:this.viewMode=0;break;}}this.pickerEl=Roo.get(document.body).createChild(Roo.bootstrap.form.DateField.template);this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay='block';this.picker().on('mousedown',this.onMousedown,this);
this.picker().on('click',this.onClick,this);this.picker().addClass('datepicker-dropdown');this.startViewMode=this.viewMode;if(this.singleMode){Roo.each(this.picker().select('thead > tr > th',true).elements,function(v){v.setVisibilityMode(Roo.Element.DISPLAY);
v.hide();});Roo.each(this.picker().select('tbody > tr > td',true).elements,function(v){v.setStyle('width','189px');});}Roo.each(this.picker().select('tfoot th.today',true).elements,function(v){if(!this.calendarWeeks){v.remove();return;}v.dom.innerHTML=Roo.bootstrap.form.DateField.dates[this.language].today;