diff options
Diffstat (limited to 'mobile/android/chrome/content/InputWidgetHelper.js')
-rw-r--r-- | mobile/android/chrome/content/InputWidgetHelper.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/mobile/android/chrome/content/InputWidgetHelper.js b/mobile/android/chrome/content/InputWidgetHelper.js deleted file mode 100644 index cf66a263e..000000000 --- a/mobile/android/chrome/content/InputWidgetHelper.js +++ /dev/null @@ -1,98 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ -"use strict"; - -var InputWidgetHelper = { - _uiBusy: false, - - handleEvent: function(aEvent) { - this.handleClick(aEvent.target); - }, - - handleClick: function(aTarget) { - // if we're busy looking at a InputWidget we want to eat any clicks that - // come to us, but not to process them - if (this._uiBusy || !this.hasInputWidget(aTarget) || this._isDisabledElement(aTarget)) - return; - - this._uiBusy = true; - this.show(aTarget); - this._uiBusy = false; - }, - - show: function(aElement) { - let type = aElement.getAttribute('type'); - let p = new Prompt({ - window: aElement.ownerDocument.defaultView, - title: Strings.browser.GetStringFromName("inputWidgetHelper." + aElement.getAttribute('type')), - buttons: [ - Strings.browser.GetStringFromName("inputWidgetHelper.set"), - Strings.browser.GetStringFromName("inputWidgetHelper.clear"), - Strings.browser.GetStringFromName("inputWidgetHelper.cancel") - ], - }).addDatePicker({ - value: aElement.value, - type: type, - min: aElement.min, - max: aElement.max, - }).show((function(data) { - let changed = false; - if (data.button == -1) { - // This type is not supported with this android version. - return; - } - if (data.button == 1) { - // The user cleared the value. - if (aElement.value != "") { - aElement.value = ""; - changed = true; - } - } else if (data.button == 0) { - // Commit the new value. - if (aElement.value != data[type]) { - aElement.value = data[type + "0"]; - changed = true; - } - } - // Else the user canceled the input. - - if (changed) - this.fireOnChange(aElement); - }).bind(this)); - }, - - hasInputWidget: function(aElement) { - if (!(aElement instanceof HTMLInputElement)) - return false; - - let type = aElement.getAttribute('type'); - if (type == "date" || type == "datetime" || type == "datetime-local" || - type == "week" || type == "month" || type == "time") { - return true; - } - - return false; - }, - - fireOnChange: function(aElement) { - let evt = aElement.ownerDocument.createEvent("Events"); - evt.initEvent("change", true, true, aElement.defaultView, 0, - false, false, - false, false, null); - setTimeout(function() { - aElement.dispatchEvent(evt); - }, 0); - }, - - _isDisabledElement : function(aElement) { - let currentElement = aElement; - while (currentElement) { - if (currentElement.disabled) - return true; - - currentElement = currentElement.parentElement; - } - return false; - } -}; |