UNPKG

five-bells-visualization

Version:
156 lines (121 loc) 4.71 kB
<!-- Copyright (c) 2014 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 --> <!-- `core-toolbar` is a horizontal bar containing items that can be used for label, navigation, search and actions. The items place inside the `core-toolbar` are projected into a `horizontal center layout` container inside of `core-toolbar`'s Shadow DOM. You can use flex attributes to control the items' sizing. Example: <core-toolbar> <core-icon-button icon="menu" on-tap="{{menuAction}}"></core-icon-button> <div flex>Title</div> <core-icon-button icon="more-vert" on-tap="{{moreAction}}"></core-icon-button> </core-toolbar> `core-toolbar` has a standard height, but can made be taller by setting `tall` class on the `core-toolbar`. This will make the toolbar 3x the normal height. <core-toolbar class="tall"> <core-icon-button icon="menu"></core-icon-button> </core-toolbar> Apply `medium-tall` class to make the toolbar medium tall. This will make the toolbar 2x the normal height. <core-toolbar class="medium-tall"> <core-icon-button icon="menu"></core-icon-button> </core-toolbar> When `tall`, items can pin to either the top (default), middle or bottom. Use `middle` class for middle content and `bottom` class for bottom content. <core-toolbar class="tall"> <core-icon-button icon="menu"></core-icon-button> <div class="middle indent">Middle Title</div> <div class="bottom indent">Bottom Title</div> </core-toolbar> For `medium-tall` toolbar, the middle and bottom contents overlap and are pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are still honored separately. To make an element completely fit at the bottom of the toolbar, use `fit` along with `bottom`. <core-toolbar class="tall"> <div id="progressBar" class="bottom fit"></div> </core-toolbar> `core-toolbar` adapts to mobile/narrow layout when there is a `core-narrow` class set on itself or any of its ancestors. @group Polymer Core Elements @element core-toolbar @homepage github.io --> <link rel="import" href="../polymer/polymer.html"> <polymer-element name="core-toolbar" attributes="justify middleJustify bottomJustify"> <template> <link rel="stylesheet" href="core-toolbar.css"> <div id="bottomBar" class="toolbar-tools" center horizontal layout> <content select=".bottom"></content> </div> <div id="middleBar" class="toolbar-tools" center horizontal layout> <content select=".middle"></content> </div> <div id="topBar" class="toolbar-tools" center horizontal layout> <content></content> </div> </template> <script> (function() { Polymer('core-toolbar', { /** * Controls how the items are aligned horizontally. * Options are `start`, `center`, `end`, `between` and `around`. * * @attribute justify * @type string * @default '' */ justify: '', /** * Controls how the items are aligned horizontally when they are placed * in the middle. * Options are `start`, `center`, `end`, `between` and `around`. * * @attribute middleJustify * @type string * @default '' */ middleJustify: '', /** * Controls how the items are aligned horizontally when they are placed * at the bottom. * Options are `start`, `center`, `end`, `between` and `around`. * * @attribute bottomJustify * @type string * @default '' */ bottomJustify: '', justifyChanged: function(old) { this.updateBarJustify(this.$.topBar, this.justify, old); }, middleJustifyChanged: function(old) { this.updateBarJustify(this.$.middleBar, this.middleJustify, old); }, bottomJustifyChanged: function(old) { this.updateBarJustify(this.$.bottomBar, this.bottomJustify, old); }, updateBarJustify: function(bar, justify, old) { if (old) { bar.removeAttribute(this.toLayoutAttrName(old)); } if (justify) { bar.setAttribute(this.toLayoutAttrName(justify), ''); } }, toLayoutAttrName: function(value) { return value === 'between' ? 'justified' : value + '-justified'; } }); })(); </script> </polymer-element>