2
0
Эх сурвалжийг харах

Avoid mixing calendar options with toolbar options, semantical renaming of toolbar options to toolbarOptions

Axel Duch 9 жил өмнө
parent
commit
0cc2d268ac
2 өөрчлөгдсөн 24 нэмэгдсэн , 25 устгасан
  1. 10 10
      src/Calendar.js
  2. 14 15
      src/Toolbar.js

+ 10 - 10
src/Calendar.js

@@ -607,24 +607,24 @@ function Calendar_constructor(element, overrides) {
 
 
 	function computeHeaderOptions() {
-		return $.extend(
-			{ extraClasses: 'fc-header-toolbar' },
-			t.options,
-			{ layout: t.options.header });
+		return {
+			extraClasses: 'fc-header-toolbar',
+			layout: t.options.header
+		};
 	}
 
 
 	function computeFooterOptions() {
-		return $.extend(
-			{ extraClasses: 'fc-footer-toolbar' },
-			t.options,
-			{ layout: t.options.footer });
+		return {
+			extraClasses: 'fc-footer-toolbar',
+			layout: t.options.footer
+		};
 	}
 
 
 	// can be called repeatedly and Header will rerender
 	function renderHeader() {
-		header.setOptions(computeHeaderOptions());
+		header.setToolbarOptions(computeHeaderOptions());
 		header.render();
 		if (header.el) {
 			element.prepend(header.el);
@@ -634,7 +634,7 @@ function Calendar_constructor(element, overrides) {
 
 	// can be called repeatedly and Footer will rerender
 	function renderFooter() {
-		footer.setOptions(computeFooterOptions());
+		footer.setToolbarOptions(computeFooterOptions());
 		footer.render();
 		if (footer.el) {
 			element.append(footer.el);

+ 14 - 15
src/Toolbar.js

@@ -2,11 +2,11 @@
 /* Toolbar with buttons and title
 ----------------------------------------------------------------------------------------------------------------------*/
 
-function Toolbar(calendar, options) {
+function Toolbar(calendar, toolbarOptions) {
 	var t = this;
 
 	// exports
-	t.setOptions = setOptions;
+	t.setToolbarOptions = setToolbarOptions;
 	t.render = render;
 	t.removeElement = removeElement;
 	t.updateTitle = updateTitle;
@@ -22,20 +22,19 @@ function Toolbar(calendar, options) {
 	var viewsWithButtons = [];
 	var tm;
 
-
-	function setOptions(newOptions) {
-		options = newOptions;
+	function setToolbarOptions(newToolbarOptions) {
+		toolbarOptions = newToolbarOptions;
 	}
 
 	// can be called repeatedly and will rerender
 	function render() {
-		var sections = options.layout;
+		var sections = toolbarOptions.layout;
 
-		tm = options.theme ? 'ui' : 'fc';
+		tm = calendar.options.theme ? 'ui' : 'fc';
 
 		if (sections) {
 			if (!el) {
-				el = this.el = $("<div class='fc-toolbar "+ options.extraClasses + "'/>");
+				el = this.el = $("<div class='fc-toolbar "+ toolbarOptions.extraClasses + "'/>");
 			}
 			else {
 				el.empty();
@@ -61,7 +60,7 @@ function Toolbar(calendar, options) {
 
 	function renderSection(position) {
 		var sectionEl = $('<div class="fc-' + position + '"/>');
-		var buttonStr = options.layout[position];
+		var buttonStr = toolbarOptions.layout[position];
 
 		if (buttonStr) {
 			$.each(buttonStr.split(' '), function(i) {
@@ -86,7 +85,7 @@ function Toolbar(calendar, options) {
 						isOnlyButtons = false;
 					}
 					else {
-						if ((customButtonProps = (options.customButtons || {})[buttonName])) {
+						if ((customButtonProps = (calendar.options.customButtons || {})[buttonName])) {
 							buttonClick = function(ev) {
 								if (customButtonProps.click) {
 									customButtonProps.click.call(button[0], ev);
@@ -108,7 +107,7 @@ function Toolbar(calendar, options) {
 								calendar[buttonName]();
 							};
 							overrideText = (calendar.overrides.buttonText || {})[buttonName];
-							defaultText = options.buttonText[buttonName]; // everything else is considered default
+							defaultText = calendar.options.buttonText[buttonName]; // everything else is considered default
 						}
 
 						if (buttonClick) {
@@ -116,20 +115,20 @@ function Toolbar(calendar, options) {
 							themeIcon =
 								customButtonProps ?
 									customButtonProps.themeIcon :
-									options.themeButtonIcons[buttonName];
+									calendar.options.themeButtonIcons[buttonName];
 
 							normalIcon =
 								customButtonProps ?
 									customButtonProps.icon :
-									options.buttonIcons[buttonName];
+									calendar.options.buttonIcons[buttonName];
 
 							if (overrideText) {
 								innerHtml = htmlEscape(overrideText);
 							}
-							else if (themeIcon && options.theme) {
+							else if (themeIcon && calendar.options.theme) {
 								innerHtml = "<span class='ui-icon ui-icon-" + themeIcon + "'></span>";
 							}
-							else if (normalIcon && !options.theme) {
+							else if (normalIcon && !calendar.options.theme) {
 								innerHtml = "<span class='fc-icon fc-icon-" + normalIcon + "'></span>";
 							}
 							else {