blob: 317d27fa3d8db20a5265148b26ef3ef5d6e977a5 [file] [log] [blame]
/**
* @license
* Copyright (C) 2020 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.
*/
import {html} from '@polymer/polymer/lib/utils/html-tag';
export const htmlTemplate = html`
<style include="shared-styles">
/* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */
</style>
<style include="gr-change-list-styles">
#changeList {
border-collapse: collapse;
width: 100%;
}
.section-count-label {
color: var(--deemphasized-text-color);
font-family: var(--font-family);
font-size: var(--font-size-small);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-small);
}
a.section-title:hover {
text-decoration: none;
}
a.section-title:hover .section-count-label {
text-decoration: none;
}
a.section-title:hover .section-name {
text-decoration: underline;
}
</style>
<table id="changeList">
<template
is="dom-repeat"
items="[[sections]]"
as="changeSection"
index-as="sectionIndex"
>
<template is="dom-if" if="[[changeSection.name]]">
<tbody>
<tr class="groupHeader">
<td aria-hidden="true" class="leftPadding"></td>
<td
aria-hidden="true"
class="star"
hidden$="[[!showStar]]"
hidden=""
></td>
<td
class="cell"
colspan$="[[_computeColspan(changeSection, visibleChangeTableColumns, labelNames)]]"
>
<h2>
<a
href$="[[_sectionHref(changeSection.query)]]"
class="section-title"
>
<span class="section-name">[[changeSection.name]]</span>
<span class="section-count-label"
>[[changeSection.countLabel]]</span
>
</a>
</h2>
</td>
</tr>
</tbody>
</template>
<tbody class="groupContent">
<template is="dom-if" if="[[_isEmpty(changeSection)]]">
<tr class="noChanges">
<td aria-hidden="true" class="leftPadding"></td>
<td
aria-hidden="[[!showStar]]"
class="star"
hidden$="[[!showStar]]"
></td>
<td
class="cell"
colspan$="[[_computeColspan(changeSection, visibleChangeTableColumns, labelNames)]]"
>
<template
is="dom-if"
if="[[_getSpecialEmptySlot(changeSection)]]"
>
<slot name="[[_getSpecialEmptySlot(changeSection)]]"></slot>
</template>
<template
is="dom-if"
if="[[!_getSpecialEmptySlot(changeSection)]]"
>
No changes
</template>
</td>
</tr>
</template>
<template is="dom-if" if="[[!_isEmpty(changeSection)]]">
<tr class="groupTitle">
<td aria-hidden="true" class="leftPadding"></td>
<td
aria-label="Star status column"
class="star"
hidden$="[[!showStar]]"
hidden=""
></td>
<td class="number" hidden$="[[!showNumber]]" hidden="">#</td>
<template
is="dom-repeat"
items="[[_computeColumns(changeSection, visibleChangeTableColumns)]]"
as="item"
>
<td class$="[[_lowerCase(item)]]">[[item]]</td>
</template>
<template is="dom-repeat" items="[[labelNames]]" as="labelName">
<td class="label" title$="[[labelName]]">
[[_computeLabelShortcut(labelName)]]
</td>
</template>
<template
is="dom-repeat"
items="[[_dynamicHeaderEndpoints]]"
as="pluginHeader"
>
<td class="endpoint">
<gr-endpoint-decorator name$="[[pluginHeader]]">
</gr-endpoint-decorator>
</td>
</template>
</tr>
</template>
<template is="dom-repeat" items="[[changeSection.results]]" as="change">
<gr-change-list-item
account="[[account]]"
selected$="[[_computeItemSelected(sectionIndex, index, selectedIndex)]]"
highlight$="[[_computeItemHighlight(account, change, _config, changeSection.name)]]"
needs-review$="[[_computeItemNeedsReview(account, change, showReviewedState, _config)]]"
change="[[change]]"
config="[[_config]]"
section-name="[[changeSection.name]]"
visible-change-table-columns="[[_computeColumns(changeSection, visibleChangeTableColumns)]]"
show-number="[[showNumber]]"
show-star="[[showStar]]"
tabindex$="[[_computeTabIndex(sectionIndex, index, selectedIndex, isCursorMoving)]]"
label-names="[[labelNames]]"
aria-label$="[[_computeAriaLabel(change, changeSection.name)]]"
></gr-change-list-item>
</template>
</tbody>
</template>
</table>
`;