diff options
author | John Reck <jreck@google.com> | 2016-10-19 08:18:32 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2016-10-20 11:17:18 -0700 |
commit | ee838d1c4002134ff5af32da272140586c4d31de (patch) | |
tree | b6ffda675a47b15a69daf9da1ebf7108f48a5836 /catapult/third_party/polymer/components/paper-input/paper-input-behavior.html | |
parent | 7f53de28ece9f6b936535ec4671bfcb516a3a1e4 (diff) | |
download | chromium-trace-ee838d1c4002134ff5af32da272140586c4d31de.tar.gz |
Update catapult and how we update catapult
Test: manual, ran systrace.py
Change-Id: Id86c732e5de832890429e0bfa5255d09db9841a8
Diffstat (limited to 'catapult/third_party/polymer/components/paper-input/paper-input-behavior.html')
-rw-r--r-- | catapult/third_party/polymer/components/paper-input/paper-input-behavior.html | 541 |
1 files changed, 0 insertions, 541 deletions
diff --git a/catapult/third_party/polymer/components/paper-input/paper-input-behavior.html b/catapult/third_party/polymer/components/paper-input/paper-input-behavior.html deleted file mode 100644 index 9bb10019..00000000 --- a/catapult/third_party/polymer/components/paper-input/paper-input-behavior.html +++ /dev/null @@ -1,541 +0,0 @@ -<!-- -@license -Copyright (c) 2015 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt ---> - -<link rel="import" href="../polymer/polymer.html"> -<link rel="import" href="../iron-a11y-keys-behavior/iron-a11y-keys-behavior.html"> -<link rel="import" href="../iron-behaviors/iron-control-state.html"> - -<script> - - // Generate unique, monotonically increasing IDs for labels (needed by - // aria-labelledby) and add-ons. - Polymer.PaperInputHelper = {}; - Polymer.PaperInputHelper.NextLabelID = 1; - Polymer.PaperInputHelper.NextAddonID = 1; - - /** - * Use `Polymer.PaperInputBehavior` to implement inputs with `<paper-input-container>`. This - * behavior is implemented by `<paper-input>`. It exposes a number of properties from - * `<paper-input-container>` and `<input is="iron-input">` and they should be bound in your - * template. - * - * The input element can be accessed by the `inputElement` property if you need to access - * properties or methods that are not exposed. - * @polymerBehavior Polymer.PaperInputBehavior - */ - Polymer.PaperInputBehaviorImpl = { - - properties: { - /** - * Fired when the input changes due to user interaction. - * - * @event change - */ - - /** - * The label for this input. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * `<label>`'s content and `hidden` property, e.g. - * `<label hidden$="[[!label]]">[[label]]</label>` in your `template` - */ - label: { - type: String - }, - - /** - * The value for this input. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<input is="iron-input">`'s `bindValue` - * property, or the value property of your input that is `notify:true`. - */ - value: { - notify: true, - type: String - }, - - /** - * Set to true to disable this input. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * both the `<paper-input-container>`'s and the input's `disabled` property. - */ - disabled: { - type: Boolean, - value: false - }, - - /** - * Returns true if the value is invalid. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to both the - * `<paper-input-container>`'s and the input's `invalid` property. - * - * If `autoValidate` is true, the `invalid` attribute is managed automatically, - * which can clobber attempts to manage it manually. - */ - invalid: { - type: Boolean, - value: false, - notify: true - }, - - /** - * Set to true to prevent the user from entering invalid input. If you're - * using PaperInputBehavior to implement your own paper-input-like element, - * bind this to `<input is="iron-input">`'s `preventInvalidInput` property. - */ - preventInvalidInput: { - type: Boolean - }, - - /** - * Set this to specify the pattern allowed by `preventInvalidInput`. If - * you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `allowedPattern` - * property. - */ - allowedPattern: { - type: String - }, - - /** - * The type of the input. The supported types are `text`, `number` and `password`. - * If you're using PaperInputBehavior to implement your own paper-input-like element, - * bind this to the `<input is="iron-input">`'s `type` property. - */ - type: { - type: String - }, - - /** - * The datalist of the input (if any). This should match the id of an existing `<datalist>`. - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `list` property. - */ - list: { - type: String - }, - - /** - * A pattern to validate the `input` with. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<input is="iron-input">`'s `pattern` property. - */ - pattern: { - type: String - }, - - /** - * Set to true to mark the input as required. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<input is="iron-input">`'s `required` property. - */ - required: { - type: Boolean, - value: false - }, - - /** - * The error message to display when the input is invalid. If you're using - * PaperInputBehavior to implement your own paper-input-like element, - * bind this to the `<paper-input-error>`'s content, if using. - */ - errorMessage: { - type: String - }, - - /** - * Set to true to show a character counter. - */ - charCounter: { - type: Boolean, - value: false - }, - - /** - * Set to true to disable the floating label. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<paper-input-container>`'s `noLabelFloat` property. - */ - noLabelFloat: { - type: Boolean, - value: false - }, - - /** - * Set to true to always float the label. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<paper-input-container>`'s `alwaysFloatLabel` property. - */ - alwaysFloatLabel: { - type: Boolean, - value: false - }, - - /** - * Set to true to auto-validate the input value. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<paper-input-container>`'s `autoValidate` property. - */ - autoValidate: { - type: Boolean, - value: false - }, - - /** - * Name of the validator to use. If you're using PaperInputBehavior to - * implement your own paper-input-like element, bind this to - * the `<input is="iron-input">`'s `validator` property. - */ - validator: { - type: String - }, - - // HTMLInputElement attributes for binding if needed - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `autocomplete` property. - */ - autocomplete: { - type: String, - value: 'off' - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `autofocus` property. - */ - autofocus: { - type: Boolean - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `inputmode` property. - */ - inputmode: { - type: String - }, - - /** - * The minimum length of the input value. - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `minlength` property. - */ - minlength: { - type: Number - }, - - /** - * The maximum length of the input value. - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `maxlength` property. - */ - maxlength: { - type: Number - }, - - /** - * The minimum (numeric or date-time) input value. - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `min` property. - */ - min: { - type: String - }, - - /** - * The maximum (numeric or date-time) input value. - * Can be a String (e.g. `"2000-1-1"`) or a Number (e.g. `2`). - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `max` property. - */ - max: { - type: String - }, - - /** - * Limits the numeric or date-time increments. - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `step` property. - */ - step: { - type: String - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `name` property. - */ - name: { - type: String - }, - - /** - * A placeholder string in addition to the label. If this is set, the label will always float. - */ - placeholder: { - type: String, - // need to set a default so _computeAlwaysFloatLabel is run - value: '' - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `readonly` property. - */ - readonly: { - type: Boolean, - value: false - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `size` property. - */ - size: { - type: Number - }, - - // Nonstandard attributes for binding if needed - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `autocapitalize` property. - */ - autocapitalize: { - type: String, - value: 'none' - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `autocorrect` property. - */ - autocorrect: { - type: String, - value: 'off' - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `autosave` property, - * used with type=search. - */ - autosave: { - type: String - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `results` property, - * used with type=search. - */ - results: { - type: Number - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the `<input is="iron-input">`'s `accept` property, - * used with type=file. - */ - accept: { - type: String - }, - - /** - * If you're using PaperInputBehavior to implement your own paper-input-like - * element, bind this to the`<input is="iron-input">`'s `multiple` property, - * used with type=file. - */ - multiple: { - type: Boolean - }, - - _ariaDescribedBy: { - type: String, - value: '' - }, - - _ariaLabelledBy: { - type: String, - value: '' - } - - }, - - listeners: { - 'addon-attached': '_onAddonAttached', - }, - - keyBindings: { - 'shift+tab:keydown': '_onShiftTabDown' - }, - - hostAttributes: { - tabindex: 0 - }, - - /** - * Returns a reference to the input element. - */ - get inputElement() { - return this.$.input; - }, - - /** - * Returns a reference to the focusable element. - */ - get _focusableElement() { - return this.inputElement; - }, - - registered: function() { - // These types have some default placeholder text; overlapping - // the label on top of it looks terrible. Auto-float the label in this case. - this._typesThatHaveText = ["date", "datetime", "datetime-local", "month", - "time", "week", "file"]; - }, - - attached: function() { - this._updateAriaLabelledBy(); - - if (this.inputElement && - this._typesThatHaveText.indexOf(this.inputElement.type) !== -1) { - this.alwaysFloatLabel = true; - } - }, - - _appendStringWithSpace: function(str, more) { - if (str) { - str = str + ' ' + more; - } else { - str = more; - } - return str; - }, - - _onAddonAttached: function(event) { - var target = event.path ? event.path[0] : event.target; - if (target.id) { - this._ariaDescribedBy = this._appendStringWithSpace(this._ariaDescribedBy, target.id); - } else { - var id = 'paper-input-add-on-' + Polymer.PaperInputHelper.NextAddonID++; - target.id = id; - this._ariaDescribedBy = this._appendStringWithSpace(this._ariaDescribedBy, id); - } - }, - - /** - * Validates the input element and sets an error style if needed. - * - * @return {boolean} - */ - validate: function() { - return this.inputElement.validate(); - }, - - /** - * Forward focus to inputElement. Overriden from IronControlState. - */ - _focusBlurHandler: function(event) { - Polymer.IronControlState._focusBlurHandler.call(this, event); - - // Forward the focus to the nested input. - if (this.focused && !this._shiftTabPressed) - this._focusableElement.focus(); - }, - - /** - * Handler that is called when a shift+tab keypress is detected by the menu. - * - * @param {CustomEvent} event A key combination event. - */ - _onShiftTabDown: function(event) { - var oldTabIndex = this.getAttribute('tabindex'); - this._shiftTabPressed = true; - this.setAttribute('tabindex', '-1'); - this.async(function() { - this.setAttribute('tabindex', oldTabIndex); - this._shiftTabPressed = false; - }, 1); - }, - - /** - * If `autoValidate` is true, then validates the element. - */ - _handleAutoValidate: function() { - if (this.autoValidate) - this.validate(); - }, - - /** - * Restores the cursor to its original position after updating the value. - * @param {string} newValue The value that should be saved. - */ - updateValueAndPreserveCaret: function(newValue) { - // Not all elements might have selection, and even if they have the - // right properties, accessing them might throw an exception (like for - // <input type=number>) - try { - var start = this.inputElement.selectionStart; - this.value = newValue; - - // The cursor automatically jumps to the end after re-setting the value, - // so restore it to its original position. - this.inputElement.selectionStart = start; - this.inputElement.selectionEnd = start; - } catch (e) { - // Just set the value and give up on the caret. - this.value = newValue; - } - }, - - _computeAlwaysFloatLabel: function(alwaysFloatLabel, placeholder) { - return placeholder || alwaysFloatLabel; - }, - - _updateAriaLabelledBy: function() { - var label = Polymer.dom(this.root).querySelector('label'); - if (!label) { - this._ariaLabelledBy = ''; - return; - } - var labelledBy; - if (label.id) { - labelledBy = label.id; - } else { - labelledBy = 'paper-input-label-' + Polymer.PaperInputHelper.NextLabelID++; - label.id = labelledBy; - } - this._ariaLabelledBy = labelledBy; - }, - - _onChange:function(event) { - // In the Shadow DOM, the `change` event is not leaked into the - // ancestor tree, so we must do this manually. - // See https://w3c.github.io/webcomponents/spec/shadow/#events-that-are-not-leaked-into-ancestor-trees. - if (this.shadowRoot) { - this.fire(event.type, {sourceEvent: event}, { - node: this, - bubbles: event.bubbles, - cancelable: event.cancelable - }); - } - } - } - - /** @polymerBehavior */ - Polymer.PaperInputBehavior = [ - Polymer.IronControlState, - Polymer.IronA11yKeysBehavior, - Polymer.PaperInputBehaviorImpl - ]; -</script> |