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

Side by Side Diff: third_party/polymer/v0_8/components-chromium/iron-state-behaviors/iron-control-state-extracted.js

Issue 1124053009: Pull latest Polymer elements (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 unified diff | Download patch
OLDNEW
(Empty)
1
2
3 Polymer.IronControlState = {
4
5 properties: {
6
7 /**
8 * If true, the element currently has focus.
9 *
10 * @attribute focused
11 * @type boolean
12 * @default false
13 */
14 focused: {
15 type: Boolean,
16 value: false,
17 notify: true,
18 readOnly: true,
19 reflectToAttribute: true
20 },
21
22 /**
23 * If true, the user cannot interact with this element.
24 *
25 * @attribute disabled
26 * @type boolean
27 * @default false
28 */
29 disabled: {
30 type: Boolean,
31 value: false,
32 notify: true,
33 observer: '_disabledChanged',
34 reflectToAttribute: true
35 },
36
37 _oldTabIndex: {
38 type: String
39 }
40 },
41
42 observers: [
43 '_changedControlState(focused, disabled)'
44 ],
45
46 listeners: {
47 focus: '_focusHandler',
48 blur: '_blurHandler'
49 },
50
51 ready: function() {
52 // TODO(sjmiles): ensure read-only property is valued so the compound
53 // observer will fire
54 if (this.focused === undefined) {
55 this._setFocused(false);
56 }
57 },
58
59 _focusHandler: function() {
60 this._setFocused(true);
61 },
62
63 _blurHandler: function() {
64 this._setFocused(false);
65 },
66
67 _disabledChanged: function(disabled, old) {
68 this.setAttribute('aria-disabled', disabled ? 'true' : 'false');
69 this.style.pointerEvents = disabled ? 'none' : '';
70 if (disabled) {
71 this._oldTabIndex = this.tabIndex;
72 this.focused = false;
73 this.tabIndex = -1;
74 } else if (this._oldTabIndex !== undefined) {
75 this.tabIndex = this._oldTabIndex;
76 }
77 },
78
79 _changedControlState: function() {
80 // _controlStateChanged is abstract, follow-on behaviors may implement it
81 if (this._controlStateChanged) {
82 this._controlStateChanged();
83 }
84 }
85
86 };
87
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698