Files
gerrit/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.html
Becky Siegel 16721e6c8b Update gr-button to use paper button
Mostly styling updates but notable changes:
- Common color in theme.html, should be used by all buttons and links.
- CSS mixin to style gr-button passed to paper button (used in
  gr-label-score-row, gr-linked-chip)
- Some things that look like buttons but aren't exactly buttons get
  text-transform uppercase to appear like a button.
- Primary and secondary buttons are both the same color, but for now
- have not removed secondary so that it's possible to style them
  differently if we decide to.

Change-Id: Ib5ef3b0fc4883cd6dfc5c38e6d954925101d531f
2017-10-01 14:06:55 +01:00

158 lines
4.8 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="../../../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-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-cursor-manager/gr-cursor-manager.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;
}
gr-avatar {
height: 2em;
width: 2em;
vertical-align: middle;
}
gr-button[link] {
padding: 0.5em;
}
gr-button[link]:focus {
outline: 5px auto -webkit-focus-ring-color;
}
ul {
list-style: none;
}
ul .accountName {
font-family: var(--font-family-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 {
text-decoration: none;
}
li .itemAction:not(.disabled):hover {
background-color: #6B82D6;
color: #fff;
}
li:focus,
li.selected {
background-color: #EBF5FB;
outline: none;
}
.topContent {
display: block;
padding: .85em 1em;
}
.bold-text {
font-family: var(--font-family-bold);
}
</style>
<gr-button
link="[[link]]"
class="dropdown-trigger" id="trigger"
down-arrow="[[downArrow]]"
on-tap="_showDropdownTapHandler">
<content></content>
</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" slot="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"
tabindex="-1">
[[item.text]]
</div>
</template>
</div>
</template>
<template
is="dom-repeat"
items="[[items]]"
as="link"
initial-count="75">
<li tabindex="-1">
<span
class$="itemAction [[_computeDisabledClass(link.id, disabledIds.*)]]"
data-id$="[[link.id]]"
on-tap="_handleItemTap"
hidden$="[[link.url]]"
tabindex="-1">[[link.name]]</span>
<a
class="itemAction"
href$="[[_computeLinkURL(link)]]"
rel$="[[_computeLinkRel(link)]]"
target$="[[link.target]]"
hidden$="[[!link.url]]"
tabindex="-1">[[link.name]]</a>
</li>
</template>
</ul>
</div>
</iron-dropdown>
<gr-cursor-manager
id="cursor"
cursor-target-class="selected"
scroll-behavior="never"
focus-on-move
stops="[[_listElements]]"></gr-cursor-manager>
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
</template>
<script src="gr-dropdown.js"></script>
</dom-module>