167 lines
5.7 KiB
TypeScript
167 lines
5.7 KiB
TypeScript
/**
|
|
* @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="true" class="star" hidden></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)]]"
|
|
label-names="[[labelNames]]"
|
|
></gr-change-list-item>
|
|
</template>
|
|
</tbody>
|
|
</template>
|
|
</table>
|
|
<gr-cursor-manager
|
|
id="cursor"
|
|
index="{{selectedIndex}}"
|
|
scroll-mode="keep-visible"
|
|
focus-on-move=""
|
|
></gr-cursor-manager>
|
|
`;
|