popbean-react
Version:
let me think about something,comming soon...
71 lines (70 loc) • 1.57 kB
JSX
var React = require('react');
//var cal_style = require('../../../../less/calendar/calendar.less');
//这个作为默认的
var YearCell = React.createClass({
getDefaultProps:function(){
return {
data:{
}
};
},
render:function(){
return (
<div className="span3 col-md-3 cal-cell">
<span className="pull-right" data-cal-date="2013-01-01">{this.props.data.label}</span>
</div>
);
}
});
//
var CalYear = React.createClass({
getDefaultProps:function(){
return {
renderComponent:YearCell,
colcount:4
};
},
make:function(){
//将数据分组显示
var item_list = this.props.events || [];
var colcount = this.props.colcount;
var rows = [];
for(var i=0,len=item_list.length;i<len;i++){//具体坐标为:(i+1)/colcount
//rows[k][m] k=(i+1)/colcount;m=(i+1)%colcount
var k = Math.floor((i)/colcount);//进位是ceil
var m = ((i+1)%colcount);
if(m == 0){
m = colcount-1;
}else{
m -=1;
}
if(rows[k] == undefined){
rows[k] = [];
}
rows[k][m] = item_list[i];
}
return rows;
},
render:function(){
var rows = this.make();
var self = this;
return (
<div>
<div className="cal-year-box">
{
rows.map(function(row){
return (
<div className="row row-fluid cal-before-eventlist">
{row.map(function(item){
return React.createElement(self.props.renderComponent,{data:item});
})}
</div>
);
})
}
</div>
</div>
);
}
});
module.exports = CalYear;