Home | History | Annotate | Download | only in paper-behaviors
      1 <!--
      2 @license
      3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
      4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
      5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
      6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
      7 Code distributed by Google as part of the polymer project is also
      8 subject 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