Jelajahi Sumber

move DayGridFillRender to own file

Adam Shaw 8 tahun lalu
induk
melakukan
bc84750fc4
3 mengubah file dengan 73 tambahan dan 76 penghapusan
  1. 2 1
      src.json
  2. 1 75
      src/common/DayGrid.js
  3. 70 0
      src/common/DayGridFillRenderer.js

+ 2 - 1
src.json

@@ -35,12 +35,13 @@
     "component/FillRenderer.js",
     "component/HelperRenderer.js",
     "component/ChronoComponent.js",
+    "common/DayGridFillRenderer.js",
     "common/DayGridEventRenderer.js",
     "common/DayGridHelperRenderer.js",
     "common/DayGrid.js",
     "common/DayGrid.limit.js",
-    "common/TimeGridEventRenderer.js",
     "common/TimeGridFillRenderer.js",
+    "common/TimeGridEventRenderer.js",
     "common/TimeGridHelperRenderer.js",
     "common/TimeGrid.js",
     "common/View.js",

+ 1 - 75
src/common/DayGrid.js

@@ -4,6 +4,7 @@
 
 var DayGrid = FC.DayGrid = ChronoComponent.extend(DayTableMixin, {
 
+	fillRendererClass: DayGridFillRenderer,
 	helperRendererClass: DayGridHelperRenderer,
 	dateClickingClass: DateClicking,
 	dateSelectingClass: DateSelecting,
@@ -399,81 +400,6 @@ var DayGrid = FC.DayGrid = ChronoComponent.extend(DayTableMixin, {
 
 	businessHourRendererClass: BusinessHourRenderer.extend({
 		isWholeDay: true // TODO: config param on component?
-	}),
-
-
-	/* Fill System (highlight, background events, business hours)
-	------------------------------------------------------------------------------------------------------------------*/
-
-
-	fillRendererClass: FillRenderer.extend({ // TODO: move to separate file?
-
-		fillSegTag: 'td', // override the default tag name
-		dayGrid: null,
-
-
-		constructor: function(dayGrid) {
-			FillRenderer.call(this, dayGrid);
-
-			this.dayGrid = dayGrid;
-		},
-
-
-		attachSegEls: function(type, segs) {
-			var nodes = [];
-			var i, seg;
-			var skeletonEl;
-
-			for (i = 0; i < segs.length; i++) {
-				seg = segs[i];
-				skeletonEl = this.renderFillRow(type, seg);
-				this.dayGrid.rowEls.eq(seg.row).append(skeletonEl);
-				nodes.push(skeletonEl[0]);
-			}
-
-			return nodes;
-		},
-
-
-		// 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 startCol = seg.leftCol;
-			var endCol = seg.rightCol + 1;
-			var className;
-			var skeletonEl;
-			var trEl;
-
-			if (type === 'businessHours') {
-				className = 'bgevent';
-			}
-			else {
-				className = type.toLowerCase();
-			}
-
-			skeletonEl = $(
-				'<div class="fc-' + className + '-skeleton">' +
-					'<table><tr/></table>' +
-				'</div>'
-			);
-			trEl = skeletonEl.find('tr');
-
-			if (startCol > 0) {
-				trEl.append('<td colspan="' + startCol + '"/>');
-			}
-
-			trEl.append(
-				seg.el.attr('colspan', endCol - startCol)
-			);
-
-			if (endCol < colCnt) {
-				trEl.append('<td colspan="' + (colCnt - endCol) + '"/>');
-			}
-
-			this.dayGrid.bookendCells(trEl);
-
-			return skeletonEl;
-		}
 	})
 
 });

+ 70 - 0
src/common/DayGridFillRenderer.js

@@ -0,0 +1,70 @@
+
+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) {
+		var nodes = [];
+		var i, seg;
+		var skeletonEl;
+
+		for (i = 0; i < segs.length; i++) {
+			seg = segs[i];
+			skeletonEl = this.renderFillRow(type, seg);
+			this.dayGrid.rowEls.eq(seg.row).append(skeletonEl);
+			nodes.push(skeletonEl[0]);
+		}
+
+		return nodes;
+	},
+
+
+	// 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 startCol = seg.leftCol;
+		var endCol = seg.rightCol + 1;
+		var className;
+		var skeletonEl;
+		var trEl;
+
+		if (type === 'businessHours') {
+			className = 'bgevent';
+		}
+		else {
+			className = type.toLowerCase();
+		}
+
+		skeletonEl = $(
+			'<div class="fc-' + className + '-skeleton">' +
+				'<table><tr/></table>' +
+			'</div>'
+		);
+		trEl = skeletonEl.find('tr');
+
+		if (startCol > 0) {
+			trEl.append('<td colspan="' + startCol + '"/>');
+		}
+
+		trEl.append(
+			seg.el.attr('colspan', endCol - startCol)
+		);
+
+		if (endCol < colCnt) {
+			trEl.append('<td colspan="' + (colCnt - endCol) + '"/>');
+		}
+
+		this.dayGrid.bookendCells(trEl);
+
+		return skeletonEl;
+	}
+});