Просмотр исходного кода

fillrenderer uses datecomponent

Adam Shaw 8 лет назад
Родитель
Сommit
5bbfc8c516

+ 1 - 10
src/agenda/TimeGridFillRenderer.js

@@ -1,18 +1,9 @@
 
 var TimeGridFillRenderer = FillRenderer.extend({
 
-	timeGrid: null,
-
-
-	constructor: function(timeGrid) {
-		FillRenderer.call(this);
-
-		this.timeGrid = timeGrid;
-	},
-
 
 	attachSegEls: function(type, segs) {
-		var timeGrid = this.timeGrid;
+		var timeGrid = this.component;
 		var containerEls;
 
 		// TODO: more efficient lookup

+ 3 - 11
src/basic/DayGridFillRenderer.js

@@ -2,14 +2,6 @@
 var DayGridFillRenderer = FillRenderer.extend({
 
 	fillSegTag: 'td', // override the default tag name
-	dayGrid: null,
-
-
-	constructor: function(dayGrid) {
-		FillRenderer.call(this, dayGrid);
-
-		this.dayGrid = dayGrid;
-	},
 
 
 	attachSegEls: function(type, segs) {
@@ -20,7 +12,7 @@ var DayGridFillRenderer = FillRenderer.extend({
 		for (i = 0; i < segs.length; i++) {
 			seg = segs[i];
 			skeletonEl = this.renderFillRow(type, seg);
-			this.dayGrid.rowEls.eq(seg.row).append(skeletonEl);
+			this.component.rowEls.eq(seg.row).append(skeletonEl);
 			nodes.push(skeletonEl[0]);
 		}
 
@@ -30,7 +22,7 @@ var DayGridFillRenderer = FillRenderer.extend({
 
 	// Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.
 	renderFillRow: function(type, seg) {
-		var colCnt = this.dayGrid.colCnt;
+		var colCnt = this.component.colCnt;
 		var startCol = seg.leftCol;
 		var endCol = seg.rightCol + 1;
 		var className;
@@ -63,7 +55,7 @@ var DayGridFillRenderer = FillRenderer.extend({
 			trEl.append('<td colspan="' + (colCnt - endCol) + '"/>');
 		}
 
-		this.dayGrid.bookendCells(trEl);
+		this.component.bookendCells(trEl);
 
 		return skeletonEl;
 	}

+ 2 - 2
src/component/DateComponent.js

@@ -525,9 +525,9 @@ var DateComponent = FC.DateComponent = Component.extend({
 	// Renders an emphasis on the given date range. Given a span (unzoned start/end and other misc data)
 	renderHighlight: function(componentFootprint) {
 		if (this.fillRenderer) {
-			this.fillRenderer.render(
+			this.fillRenderer.renderFootprint(
 				'highlight',
-				this.componentFootprintToSegs(componentFootprint),
+				componentFootprint,
 				{
 					getClasses: function() {
 						return [ 'fc-highlight' ];

+ 1 - 1
src/component/renderers/BusinessHourRenderer.js

@@ -27,7 +27,7 @@ var BusinessHourRenderer = FC.BusinessHourRenderer = Class.extend({
 
 	renderSegs: function(segs) {
 		if (this.fillRenderer) {
-			this.fillRenderer.render('businessHours', segs, {
+			this.fillRenderer.renderSegs('businessHours', segs, {
 				getClasses: function(seg) {
 					return [ 'fc-nonbusiness', 'fc-bgevent' ];
 				}

+ 1 - 1
src/component/renderers/EventRenderer.js

@@ -109,7 +109,7 @@ var EventRenderer = FC.EventRenderer = Class.extend({
 		var _this = this;
 
 		if (this.fillRenderer) {
-			this.fillRenderer.render('bgEvents', segs, {
+			this.fillRenderer.renderSegs('bgEvents', segs, {
 				getClasses: function(seg) {
 					return _this.getBgClasses(seg.footprint);
 				},

+ 13 - 2
src/component/renderers/FillRenderer.js

@@ -2,15 +2,26 @@
 var FillRenderer = FC.FillRenderer = Class.extend({ // use for highlight, background events, business hours
 
 	fillSegTag: 'div',
+	component: null,
 	elsByFill: null, // a hash of jQuery element sets used for rendering each fill. Keyed by fill name.
 
 
-	constructor: function() {
+	constructor: function(component) {
+		this.component = component;
 		this.elsByFill = {};
 	},
 
 
-	render: function(type, segs, props) {
+	renderFootprint: function(type, componentFootprint, props) {
+		this.renderSegs(
+			type,
+			this.component.componentFootprintToSegs(componentFootprint),
+			props
+		);
+	},
+
+
+	renderSegs: function(type, segs, props) {
 		var els;
 
 		segs = this.buildSegEls(type, segs, props); // assignes `.el` to each seg. returns successfully rendered segs