• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2@license
3Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7Code distributed by Google as part of the polymer project is also
8subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9-->
10
11<link rel="import" href="../polymer/polymer.html">
12<link rel="import" href="../iron-behaviors/iron-button-state.html">
13<link rel="import" href="paper-ripple-behavior.html">
14
15<script>
16
17  /**
18   * `Polymer.PaperInkyFocusBehavior` implements a ripple when the element has keyboard focus.
19   *
20   * @polymerBehavior Polymer.PaperInkyFocusBehavior
21   */
22  Polymer.PaperInkyFocusBehaviorImpl = {
23
24    observers: [
25      '_focusedChanged(receivedFocusFromKeyboard)'
26    ],
27
28    _focusedChanged: function(receivedFocusFromKeyboard) {
29      if (receivedFocusFromKeyboard) {
30        this.ensureRipple();
31      }
32      if (this.hasRipple()) {
33        this._ripple.holdDown = receivedFocusFromKeyboard;
34      }
35    },
36
37    _createRipple: function() {
38      var ripple = Polymer.PaperRippleBehavior._createRipple();
39      ripple.id = 'ink';
40      ripple.setAttribute('center', '');
41      ripple.classList.add('circle');
42      return ripple;
43    }
44
45  };
46
47  /** @polymerBehavior Polymer.PaperInkyFocusBehavior */
48  Polymer.PaperInkyFocusBehavior = [
49    Polymer.IronButtonState,
50    Polymer.IronControlState,
51    Polymer.PaperRippleBehavior,
52    Polymer.PaperInkyFocusBehaviorImpl
53  ];
54
55</script>
56