aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js170
1 files changed, 0 insertions, 170 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js b/contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js
deleted file mode 100644
index 49ac22d..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/bidiinput.js
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright 2007 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Component for an input field with bidi direction automatic
- * detection. The input element directionality is automatically set according
- * to the contents (value) of the element.
- *
- * @see ../demos/bidiinput.html
- */
-
-
-goog.provide('goog.ui.BidiInput');
-
-
-goog.require('goog.events');
-goog.require('goog.events.InputHandler');
-goog.require('goog.i18n.bidi');
-goog.require('goog.ui.Component');
-
-
-
-/**
- * Default implementation of BidiInput.
- *
- * @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper.
- * @constructor
- * @extends {goog.ui.Component}
- */
-goog.ui.BidiInput = function(opt_domHelper) {
- goog.ui.Component.call(this, opt_domHelper);
-};
-goog.inherits(goog.ui.BidiInput, goog.ui.Component);
-
-
-/**
- * The input handler that provides the input event.
- * @type {goog.events.InputHandler?}
- * @private
- */
-goog.ui.BidiInput.prototype.inputHandler_ = null;
-
-
-/**
- * Decorates the given HTML element as a BidiInput. The HTML element
- * must be an input element with type='text' or a textarea element.
- * Overrides {@link goog.ui.Component#decorateInternal}. Considered protected.
- * @param {Element} element Element (HTML Input element) to decorate.
- * @protected
- * @override
- */
-goog.ui.BidiInput.prototype.decorateInternal = function(element) {
- goog.ui.BidiInput.superClass_.decorateInternal.call(this, element);
- this.init_();
-};
-
-
-/**
- * Creates the element for the text input.
- * @protected
- * @override
- */
-goog.ui.BidiInput.prototype.createDom = function() {
- this.setElementInternal(
- this.getDomHelper().createDom('input', {'type': 'text'}));
- this.init_();
-};
-
-
-/**
- * Initializes the events and initial text direction.
- * Called from either decorate or createDom, after the input field has
- * been created.
- * @private
- */
-goog.ui.BidiInput.prototype.init_ = function() {
- // Set initial direction by current text
- this.setDirection_();
-
- // Listen to value change events
- this.inputHandler_ = new goog.events.InputHandler(this.getElement());
- goog.events.listen(this.inputHandler_,
- goog.events.InputHandler.EventType.INPUT,
- this.setDirection_, false, this);
-};
-
-
-/**
- * Set the direction of the input element based on the current value. If the
- * value does not have any strongly directional characters, remove the dir
- * attribute so that the direction is inherited instead.
- * This method is called when the user changes the input element value, or
- * when a program changes the value using
- * {@link goog.ui.BidiInput#setValue}
- * @private
- */
-goog.ui.BidiInput.prototype.setDirection_ = function() {
- var element = this.getElement();
- var text = element.value;
- switch (goog.i18n.bidi.estimateDirection(text)) {
- case (goog.i18n.bidi.Dir.LTR):
- element.dir = 'ltr';
- break;
- case (goog.i18n.bidi.Dir.RTL):
- element.dir = 'rtl';
- break;
- default:
- // Default for no direction, inherit from document.
- element.removeAttribute('dir');
- }
-};
-
-
-/**
- * Returns the direction of the input element.
- * @return {?string} Return 'rtl' for right-to-left text,
- * 'ltr' for left-to-right text, or null if the value itself is not
- * enough to determine directionality (e.g. an empty value), and the
- * direction is inherited from a parent element (typically the body
- * element).
- */
-goog.ui.BidiInput.prototype.getDirection = function() {
- var dir = this.getElement().dir;
- if (dir == '') {
- dir = null;
- }
- return dir;
-};
-
-
-/**
- * Sets the value of the underlying input field, and sets the direction
- * according to the given value.
- * @param {string} value The Value to set in the underlying input field.
- */
-goog.ui.BidiInput.prototype.setValue = function(value) {
- this.getElement().value = value;
- this.setDirection_();
-};
-
-
-/**
- * Returns the value of the underlying input field.
- * @return {string} Value of the underlying input field.
- */
-goog.ui.BidiInput.prototype.getValue = function() {
- return this.getElement().value;
-};
-
-
-/** @override */
-goog.ui.BidiInput.prototype.disposeInternal = function() {
- if (this.inputHandler_) {
- goog.events.removeAll(this.inputHandler_);
- this.inputHandler_.dispose();
- this.inputHandler_ = null;
- goog.ui.BidiInput.superClass_.disposeInternal.call(this);
- }
-};