Some of the styles needed parentheses added to target shadow dom elements. Bug: Issue 6372 Change-Id: I4761947fbd0ee8d0d888f0a1fe2ab25c6b2a4a24
		
			
				
	
	
		
			155 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
Copyright (C) 2016 The Android Open Source Project
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<link rel="import" href="../../../behaviors/base-url-behavior/base-url-behavior.html">
 | 
						|
<link rel="import" href="../../../bower_components/polymer/polymer.html">
 | 
						|
<link rel="import" href="../../../bower_components/iron-dropdown/iron-dropdown.html">
 | 
						|
<link rel="import" href="../../shared/gr-button/gr-button.html">
 | 
						|
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
 | 
						|
<link rel="import" href="../../../styles/shared-styles.html">
 | 
						|
 | 
						|
<dom-module id="gr-dropdown">
 | 
						|
  <template>
 | 
						|
    <style include="shared-styles">
 | 
						|
      :host {
 | 
						|
        display: inline-block;
 | 
						|
      }
 | 
						|
      .dropdown-trigger {
 | 
						|
        text-decoration: none;
 | 
						|
        width: 100%;
 | 
						|
      }
 | 
						|
      .dropdown-content {
 | 
						|
        background-color: #fff;
 | 
						|
        box-shadow: 0 1px 5px rgba(0, 0, 0, .3);
 | 
						|
      }
 | 
						|
      button {
 | 
						|
        background: none;
 | 
						|
        border: none;
 | 
						|
        font: inherit;
 | 
						|
        padding: .3em 0;
 | 
						|
      }
 | 
						|
      :host([down-arrow]) .dropdown-trigger {
 | 
						|
        padding-right: 1.4em;
 | 
						|
      }
 | 
						|
      gr-avatar {
 | 
						|
        height: 2em;
 | 
						|
        width: 2em;
 | 
						|
        vertical-align: middle;
 | 
						|
      }
 | 
						|
      gr-button[link] {
 | 
						|
        padding: 1em 0;
 | 
						|
      }
 | 
						|
      ul {
 | 
						|
        list-style: none;
 | 
						|
      }
 | 
						|
      ul .accountName {
 | 
						|
        font-weight: bold;
 | 
						|
      }
 | 
						|
      li .accountInfo,
 | 
						|
      li .itemAction {
 | 
						|
        cursor: pointer;
 | 
						|
        display: block;
 | 
						|
        padding: .85em 1em;
 | 
						|
      }
 | 
						|
      li .itemAction.disabled {
 | 
						|
        color: #ccc;
 | 
						|
        cursor: default;
 | 
						|
      }
 | 
						|
      li .itemAction:link,
 | 
						|
      li .itemAction:visited {
 | 
						|
        color: #00e;
 | 
						|
        text-decoration: none;
 | 
						|
      }
 | 
						|
      li .itemAction:not(.disabled):hover {
 | 
						|
        background-color: #6B82D6;
 | 
						|
        color: #fff;
 | 
						|
      }
 | 
						|
      .topContent {
 | 
						|
        display: block;
 | 
						|
        padding: .85em 1em;
 | 
						|
      }
 | 
						|
      .bold-text {
 | 
						|
        font-weight: bold;
 | 
						|
      }
 | 
						|
      :host:not([down-arrow]) .downArrow { display: none; }
 | 
						|
      :host([down-arrow]) .downArrow {
 | 
						|
        border-left: .36em solid transparent;
 | 
						|
        border-right: .36em solid transparent;
 | 
						|
        border-top: .36em solid #ccc;
 | 
						|
        height: 0;
 | 
						|
        position: absolute;
 | 
						|
        right: .3em;
 | 
						|
        top: calc(50% - .05em);
 | 
						|
        transition: border-top-color 200ms;
 | 
						|
        width: 0;
 | 
						|
      }
 | 
						|
      .dropdown-trigger:hover .downArrow {
 | 
						|
        border-top-color: #666;
 | 
						|
      }
 | 
						|
    </style>
 | 
						|
    <gr-button link="[[link]]" class="dropdown-trigger" id="trigger"
 | 
						|
        on-tap="_showDropdownTapHandler">
 | 
						|
      <content></content>
 | 
						|
       <i class="downArrow"></i>
 | 
						|
    </gr-button>
 | 
						|
    <iron-dropdown id="dropdown"
 | 
						|
        vertical-align="top"
 | 
						|
        vertical-offset="[[verticalOffset]]"
 | 
						|
        allow-outside-scroll="true"
 | 
						|
        horizontal-align="[[horizontalAlign]]"
 | 
						|
        on-tap="_handleDropdownTap">
 | 
						|
      <div class="dropdown-content">
 | 
						|
        <ul>
 | 
						|
          <template is="dom-if" if="[[topContent]]">
 | 
						|
            <div class="topContent">
 | 
						|
              <template
 | 
						|
                  is="dom-repeat"
 | 
						|
                  items="[[topContent]]"
 | 
						|
                  as="item"
 | 
						|
                  initial-count="75">
 | 
						|
                <div class$="[[_getClassIfBold(item.bold)]] top-item">
 | 
						|
                  [[item.text]]
 | 
						|
                </div>
 | 
						|
              </template>
 | 
						|
            </div>
 | 
						|
          </template>
 | 
						|
          <template
 | 
						|
              is="dom-repeat"
 | 
						|
              items="[[items]]"
 | 
						|
              as="link"
 | 
						|
              initial-count="75">
 | 
						|
            <li>
 | 
						|
              <span
 | 
						|
                  class$="itemAction [[_computeDisabledClass(link.id, disabledIds.*)]]"
 | 
						|
                  data-id$="[[link.id]]"
 | 
						|
                  on-tap="_handleItemTap"
 | 
						|
                  hidden$="[[link.url]]">[[link.name]]</span>
 | 
						|
              <a
 | 
						|
                  class="itemAction"
 | 
						|
                  href$="[[_computeLinkURL(link)]]"
 | 
						|
                  rel$="[[_computeLinkRel(link)]]"
 | 
						|
                  target$="[[link.target]]"
 | 
						|
                  hidden$="[[!link.url]]">[[link.name]]</a>
 | 
						|
            </li>
 | 
						|
          </template>
 | 
						|
        </ul>
 | 
						|
      </div>
 | 
						|
    </iron-dropdown>
 | 
						|
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
 | 
						|
  </template>
 | 
						|
  <script src="gr-dropdown.js"></script>
 | 
						|
</dom-module>
 |