Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(276)

Unified Diff: Source/WebCore/Resources/pagepopups/calendarPicker.js

Issue 12082066: Merge 140778 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/WebCore/Resources/pagepopups/calendarPicker.js
===================================================================
--- Source/WebCore/Resources/pagepopups/calendarPicker.js (revision 141208)
+++ Source/WebCore/Resources/pagepopups/calendarPicker.js (working copy)
@@ -760,6 +760,7 @@
CalendarPicker.prototype.fixWindowSize = function() {
var yearMonthRightElement = this._element.getElementsByClassName(ClassNames.YearMonthButtonRight)[0];
var daysAreaElement = this._element.getElementsByClassName(ClassNames.DaysArea)[0];
+ var clearButton = this._element.getElementsByClassName(ClassNames.ClearButton)[0];
var headers = daysAreaElement.getElementsByClassName(ClassNames.DayLabel);
var maxCellWidth = 0;
for (var i = 1; i < headers.length; ++i) {
@@ -773,18 +774,21 @@
var DaysAreaContainerBorder = 1;
var yearMonthEnd;
var daysAreaEnd;
+ var todayClearAreaEnd;
if (global.params.isLocaleRTL) {
var startOffset = this._element.offsetLeft + this._element.offsetWidth;
yearMonthEnd = startOffset - yearMonthRightElement.offsetLeft;
daysAreaEnd = startOffset - (daysAreaElement.offsetLeft + daysAreaElement.offsetWidth) + weekColumnWidth + maxCellWidth * 7 + DaysAreaContainerBorder;
+ todayClearAreaEnd = startOffset - clearButton.offsetLeft;
} else {
yearMonthEnd = yearMonthRightElement.offsetLeft + yearMonthRightElement.offsetWidth;
daysAreaEnd = daysAreaElement.offsetLeft + weekColumnWidth + maxCellWidth * 7 + DaysAreaContainerBorder;
+ todayClearAreaEnd = clearButton.offsetLeft + clearButton.offsetWidth;
}
- var maxEnd = Math.max(yearMonthEnd, daysAreaEnd);
- var MainPadding = 6; // FIXME: Fix name.
+ var maxEnd = Math.max(yearMonthEnd, daysAreaEnd, todayClearAreaEnd);
+ var MainPadding = 10; // FIXME: Fix name.
var MainBorder = 1;
- var desiredBodyWidth = maxEnd + MainPadding + MainBorder;
+ var desiredBodyWidth = maxEnd + MainPadding + MainBorder * 2;
var elementHeight = this._element.offsetHeight;
this._element.style.width = "auto";
@@ -881,6 +885,11 @@
this._monthPopup.appendChild(this._monthPopupContents);
box.appendChild(this._monthPopup);
this._month = createElement("div", ClassNames.MonthSelector);
+ this._monthLabel = createElement("span");
+ this._month.appendChild(this._monthLabel);
+ var disclosureTriangle = createElement("span");
+ disclosureTriangle.innerHTML = "<svg width='7' height='5'><polygon points='0,1 7,1 3.5,5' style='fill:#000000;' /></svg>";
+ this._month.appendChild(disclosureTriangle);
this._month.addEventListener("click", this._showPopup.bind(this), false);
box.appendChild(this._month);
@@ -894,13 +903,13 @@
var month = this.picker.maximumMonth;
var maxWidth = 0;
for (var m = 0; m < 12; ++m) {
- this._month.textContent = month.toLocaleString();
+ this._monthLabel.textContent = month.toLocaleString();
maxWidth = Math.max(maxWidth, this._month.offsetWidth);
month = month.previous();
}
if (getLanguage() == "ja" && ImperialEraLimit < this.picker.maximumMonth.year) {
for (var m = 0; m < 12; ++m) {
- this._month.textContent = new Month(ImperialEraLimit, m).toLocaleString();
+ this._monthLabel.textContent = new Month(ImperialEraLimit, m).toLocaleString();
maxWidth = Math.max(maxWidth, this._month.offsetWidth);
}
}
@@ -919,22 +928,19 @@
parent.appendChild(container);
if (YearMonthController.addTenYearsButtons) {
- this._left3 = createElement("input", ClassNames.YearMonthButton);
- this._left3.type = "button";
- this._left3.value = "<<<";
+ this._left3 = createElement("button", ClassNames.YearMonthButton);
+ this._left3.textContent = "<<<";
this._left3.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left3);
}
- this._left2 = createElement("input", ClassNames.YearMonthButton);
- this._left2.type = "button";
- this._left2.value = "<<";
+ this._left2 = createElement("button", ClassNames.YearMonthButton);
+ this._left2.innerHTML = "<svg width='9' height='7'><polygon points='0,3.5 4,7 4,0' style='fill:#6e6e6e;' /><polygon points='5,3.5 9,7 9,0' style='fill:#6e6e6e;' /></svg>";
this._left2.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left2);
- this._left1 = createElement("input", ClassNames.YearMonthButton);
- this._left1.type = "button";
- this._left1.value = "<";
+ this._left1 = createElement("button", ClassNames.YearMonthButton);
+ this._left1.innerHTML = "<svg width='4' height='7'><polygon points='0,3.5 4,7 4,0' style='fill:#6e6e6e;' /></svg>";
this._left1.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left1);
};
@@ -945,22 +951,19 @@
YearMonthController.prototype._attachRightButtonsTo = function(parent) {
var container = createElement("div", ClassNames.YearMonthButtonRight);
parent.appendChild(container);
- this._right1 = createElement("input", ClassNames.YearMonthButton);
- this._right1.type = "button";
- this._right1.value = ">";
+ this._right1 = createElement("button", ClassNames.YearMonthButton);
+ this._right1.innerHTML = "<svg width='4' height='7'><polygon points='0,7 0,0, 4,3.5' style='fill:#6e6e6e;' /></svg>";
this._right1.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right1);
- this._right2 = createElement("input", ClassNames.YearMonthButton);
- this._right2.type = "button";
- this._right2.value = ">>";
+ this._right2 = createElement("button", ClassNames.YearMonthButton);
+ this._right2.innerHTML = "<svg width='9' height='7'><polygon points='4,3.5 0,7 0,0' style='fill:#6e6e6e;' /><polygon points='9,3.5 5,7 5,0' style='fill:#6e6e6e;' /></svg>";
this._right2.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right2);
if (YearMonthController.addTenYearsButtons) {
- this._right3 = createElement("input", ClassNames.YearMonthButton);
- this._right3.type = "button";
- this._right3.value = ">>>";
+ this._right3 = createElement("button", ClassNames.YearMonthButton);
+ this._right3.textContent = ">>>";
this._right3.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right3);
}
@@ -979,7 +982,7 @@
this._right2.disabled = !this.picker.shouldShowMonth(new Month(monthValue + 2));
if (this._right3)
this._left3.disabled = !this.picker.shouldShowMonth(new Month(monthValue + 13));
- this._month.innerText = month.toLocaleString();
+ this._monthLabel.innerText = month.toLocaleString();
while (this._monthPopupContents.hasChildNodes())
this._monthPopupContents.removeChild(this._monthPopupContents.firstChild);
@@ -1149,21 +1152,22 @@
* @param {Event} event
*/
YearMonthController.prototype._handleButtonClick = function(event) {
- if (event.target == this._left3)
+ var button = enclosingNodeOrSelfWithClass(event.target, ClassNames.YearMonthButton);
+ if (button == this._left3)
this.moveRelatively(YearMonthController.PreviousTenYears);
- else if (event.target == this._left2) {
+ else if (button == this._left2) {
this.picker.recordAction(CalendarPicker.Action.ClickedBackwardYearButton);
this.moveRelatively(YearMonthController.PreviousYear);
- } else if (event.target == this._left1) {
+ } else if (button == this._left1) {
this.picker.recordAction(CalendarPicker.Action.ClickedBackwardMonthButton);
this.moveRelatively(YearMonthController.PreviousMonth);
- } else if (event.target == this._right1) {
+ } else if (button == this._right1) {
this.picker.recordAction(CalendarPicker.Action.ClickedForwardMonthButton);
this.moveRelatively(YearMonthController.NextMonth)
- } else if (event.target == this._right2) {
+ } else if (button == this._right2) {
this.picker.recordAction(CalendarPicker.Action.ClickedForwardYearButton);
this.moveRelatively(YearMonthController.NextYear);
- } else if (event.target == this._right3)
+ } else if (button == this._right3)
this.moveRelatively(YearMonthController.NextTenYears);
else
return;
« no previous file with comments | « Source/WebCore/Resources/pagepopups/calendarPicker.css ('k') | Source/WebCore/Resources/pagepopups/calendarPickerMac.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698