📄 datepicker.js
字号:
Class('linb.UI.DatePicker', ['linb.UI',"linb.absValue"], {
Dependency:['linb.Date'],
Instance:{
_setCtrlValue:function(value){
return this.each(function(profile){
if(!profile.domNode)return;
var cls = profile.box,
p = profile.properties,
date=linb.Date,
mfirst=date.getTimSpanStart(value,'m');
cls._to(profile,mfirst,value);
if(profile.keys.CAPTION)
profile.getSubNode('CAPTION').html(date.getText(value,'ymd',p.WEEK_FIRST),false);
});
},
getDateFrom:function(){
return this.get(0)._realstart;
}
},
Initialize:function(){
var self=this,
e=linb.Event.$EVENTHANDLER,
id=linb.UI.$ID,
cls=linb.UI.$CLS,
cls2=cls+'-td-free',
key=self.KEY;
self.addTemplateKeys(['H', 'W','TBODY', 'TD']);
var colgroup = '<colgroup><col width="2%"/><col width="14%"/><col width="14%"/><col width="14%"/><col width="14%"/><col width="14%"/><col width="14%"/><col width="14%"/></colgroup>',
thead1='<thead><tr height="1%"><th id="'+key+'-H:'+id+':7" class="'+cls+'-h #H_CC#"></th>',
thead2='</tr></thead>',
th='<th id="'+key+'-H:'+id+':@" class="'+cls+'-h #H_CC#">@</th>',
tbody1 = '<tbody id="'+key+'-TBODY:'+id +':" >',
tbody2 = '</tbody>',
tr1='<tr>',
tr2='</tr>',
td1='<th id="'+key+'-W:'+id+':@" class="'+cls+'-w #W_CC#">@</th>',
td2='<td id="'+key+'-TD:'+id+':@" class="'+cls+'-td ! #TD_CC#" unselectable="on" onmouseover="'+e+'" onmouseout="'+e+'" onclick="'+e+'" >'+
'</td>',
body,i,j,k,l,a=[],b=[];
for(i=0;i<7;i++)
b[b.length]= th.replace(/@/g,i);
k=l=0;
for(i=0;i<48;i++){
j=i%8;
a[a.length]= (j==0?tr1:'') + (j==0?td1:td2).replace(/@/g,j==0?l:k).replace('!',(j==1||j==7)?cls2:'') + (j==7?tr2:'');
if(j!==0)k++;
else l++;
}
body=colgroup+thead1+b.join('')+thead2+tbody1+a.join('')+tbody2;
self.setTemplate({
tagName : 'div',
style:'{_style};height:auto;',
onselectstart:'return false',
BORDER:{
tagName : 'div',
BAR:{
tagName:'div',
className:'uibar-top',
style:'{barDisplay};',
BART:{
cellpadding:"0",
cellspacing:"0",
width:'100%',
border:'0',
className:'uibar-t',
tagName:'table',
BARTR:{
tagName:'tr',
BARTDL:{
tagName:'td',
className:'uibar-tdl'
},
BARTDM:{
$order:1,
width:'100%',
tagName:'td',
className:'uibar-tdm'
},
BARTDR:{
$order:2,
tagName:'td',
className:'uibar-tdr'
}
}
},
BARCMDL:{
tagName:'div',
className:'uibar-cmdl',
PRE2:{$order:0},
PRE:{$order:1},
YEAR:{$order:2,unselectable:'on',
className:'ui-dragable'},
// YTXT:{$order:3,style:'display:inline'},
MONTH:{$order:4,unselectable:'on',
className:'ui-dragable'},
MTXT:{$order:5,style:'display:inline'},
NEXT:{$order:6},
NEXT2:{$order:7}
},
BARCMDR:{
tagName: 'div',
className:'uibar-cmdr',
onselectstart:'return false',
unselectable:'on',
CLOSE:{
className:'uicmd-close ',
style:'{closeDisplay}'
}
}
},
MAIN:{
$order:2,
tagName:'div',
className:'uicon-main',
MAINI:{
tagName:'div',
className:'uicon-maini',
CON:{
tagName:'div',
BODY:{
tagName:'table',
cellpadding:"0",
cellspacing:"0",
width:'100%',
text:body
}
}
}
},
TAIL:{
$order:3,
tagName:'div',
className:'uicon-main',
TAILI:{
tagName:'div',
className:'uicon-maini',
CAPTION:{
text : '{caption}',
$order:1
},
TODAY:{
className:'ui-btn',
TODAYI:{
className:'ui-btni',
TODAYC:{
className:'ui-btnc',
TODAYA:{
tagName:'a',
href:linb.$href,
tabindex: '{tabindex}',
text:linb.wrapRes('inline.today')
}
}
}
}
}
},
BBAR:{
$order:4,
tagName:'div',
className:'uibar-bottom-s',
BBART:{
cellpadding:"0",
cellspacing:"0",
width:'100%',
border:'0',
tagName:'table',
className:'uibar-t',
BBARTR:{
tagName:'tr',
BBARTDL:{
tagName:'td',
className:'uibar-tdl'
},
BBARTDM:{
$order:1,
width:'100%',
tagName:'td',
className:'uibar-tdm'
},
BBARTDR:{
$order:2,
tagName:'td',
className:'uibar-tdr'
}
}
}
}
}
});
},
Static:{
Appearances:{
KEY:{
overflow:'visible',
'-moz-user-select': 'none'
},
BORDER:{
overflow: 'visible',
position: 'relative'
},
BODY:{
position:'relative'
},
BARCMDL:{
top:'3px'
},
TAILI:{
position:'relative',
'padding-top':'4px',
height:'22px',
'text-align':'center'
},
TODAY:{
position:'absolute',
top:'0',
right:'5px'
},
'PRE,PRE2,NEXT,NEXT2':{
$order:0,
position:'relative',
margin:'0 2px 0 2px',
width:'15px',
height:'15px',
'vertical-align': 'middle',
cursor:'default',
background: linb.UI.$bg('icons.gif', 'no-repeat', true)
},
PRE:{
$order:1,
'background-position': '-260px -70px'
},
'PRE-mouseover':{
$order:2,
'background-position': '-260px -90px'
},
'PRE-mousedown':{
$order:3,
'background-position': '-260px -110px'
},
PRE2:{
$order:1,
'background-position': '-240px -70px'
},
'PRE2-mouseover':{
$order:2,
'background-position': '-240px -90px'
},
'PRE2-mousedown':{
$order:3,
'background-position': '-240px -110px'
},
NEXT:{
$order:1,
'background-position': '-280px -70px'
},
'NEXT-mouseover':{
$order:2,
'background-position': '-280px -90px'
},
'NEXT-mousedown':{
$order:3,
'background-position': '-280px -110px'
},
NEXT2:{
$order:1,
'background-position': '-300px -70px'
},
'NEXT2-mouseover':{
$order:2,
'background-position': '-300px -90px'
},
'NEXT2-mousedown':{
$order:3,
'background-position': '-300px -110px'
},
'YEAR,MONTH':{
$order:4,
margin:'2px',
height:'15px',
'font-weight':'bold',
border:'1px solid #779EBF',
'background-color':'#F8FBFF',
'padding-left':'2px',
cursor:'e-resize'
},
YEAR:{
width:'32px'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -