| <!-- |
| @license |
| 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="/bower_components/polymer/polymer.html"> |
| |
| <link rel="import" href="../../../behaviors/fire-behavior/fire-behavior.html"> |
| <link rel="import" href="../../../behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html"> |
| <link rel="import" href="../../../behaviors/rest-client-behavior/rest-client-behavior.html"> |
| <link rel="import" href="../../core/gr-navigation/gr-navigation.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-related-changes-list"> |
| <template> |
| <style include="shared-styles"> |
| :host { |
| display: block; |
| } |
| h3 { |
| margin: .5em 0 0; |
| } |
| section { |
| margin-bottom: 1.4em; /* Same as line height for collapse purposes */ |
| } |
| a { |
| display: block; |
| } |
| .changeContainer, |
| a { |
| max-width: 100%; |
| overflow: hidden; |
| text-overflow: ellipsis; |
| white-space: nowrap; |
| } |
| .changeContainer { |
| display: flex; |
| } |
| .changeContainer.thisChange:before { |
| content: '➔'; |
| width: 1.2em; |
| } |
| h4, |
| section div { |
| display: flex; |
| } |
| h4:before, |
| section div:before { |
| content: ' '; |
| flex-shrink: 0; |
| width: 1.2em; |
| } |
| .note { |
| color: var(--error-text-color); |
| } |
| .relatedChanges a { |
| display: inline-block; |
| } |
| .strikethrough { |
| color: var(--deemphasized-text-color); |
| text-decoration: line-through; |
| } |
| .status { |
| color: var(--deemphasized-text-color); |
| font-weight: var(--font-weight-bold); |
| margin-left: .25em; |
| } |
| .notCurrent { |
| color: #e65100; |
| } |
| .indirectAncestor { |
| color: #33691e; |
| } |
| .submittable { |
| color: #1b5e20; |
| } |
| .submittableCheck { |
| color: var(--vote-text-color-recommended); |
| display: none; |
| } |
| .submittableCheck.submittable { |
| display: inline; |
| } |
| .hidden, |
| .mobile { |
| display: none; |
| } |
| @media screen and (max-width: 60em) { |
| .mobile { |
| display: block; |
| } |
| } |
| </style> |
| <div> |
| <section class="relatedChanges" hidden$="[[!_relatedResponse.changes.length]]" hidden> |
| <h4>Relation chain</h4> |
| <template |
| is="dom-repeat" |
| items="[[_relatedResponse.changes]]" |
| as="related"> |
| <div class$="rightIndent [[_computeChangeContainerClass(change, related)]]"> |
| <a href$="[[_computeChangeURL(related._change_number, related.project, related._revision_number)]]" |
| class$="[[_computeLinkClass(related)]]" |
| title$="[[related.commit.subject]]"> |
| [[related.commit.subject]] |
| </a> |
| <span class$="[[_computeChangeStatusClass(related)]]"> |
| ([[_computeChangeStatus(related)]]) |
| </span> |
| </div> |
| </template> |
| </section> |
| <section |
| id="submittedTogether" |
| class$="[[_computeSubmittedTogetherClass(_submittedTogether)]]"> |
| <h4>Submitted together</h4> |
| <template is="dom-repeat" items="[[_submittedTogether.changes]]" as="related"> |
| <div class$="[[_computeChangeContainerClass(change, related)]]"> |
| <a href$="[[_computeChangeURL(related._number, related.project)]]" |
| class$="[[_computeLinkClass(related)]]" |
| title$="[[related.project]]: [[related.branch]]: [[related.subject]]"> |
| [[related.project]]: [[related.branch]]: [[related.subject]] |
| </a> |
| <span |
| tabindex="-1" |
| title="Submittable" |
| class$="submittableCheck [[_computeLinkClass(related)]]">✓</span> |
| </div> |
| </template> |
| <template is="dom-if" if="[[_submittedTogether.non_visible_changes]]"> |
| <div class="note"> |
| [[_computeNonVisibleChangesNote(_submittedTogether.non_visible_changes)]] |
| </div> |
| </template> |
| </section> |
| <section hidden$="[[!_sameTopic.length]]" hidden> |
| <h4>Same topic</h4> |
| <template is="dom-repeat" items="[[_sameTopic]]" as="change"> |
| <div> |
| <a href$="[[_computeChangeURL(change._number, change.project)]]" |
| class$="[[_computeLinkClass(change)]]" |
| title$="[[change.project]]: [[change.branch]]: [[change.subject]]"> |
| [[change.project]]: [[change.branch]]: [[change.subject]] |
| </a> |
| </div> |
| </template> |
| </section> |
| <section hidden$="[[!_conflicts.length]]" hidden> |
| <h4>Merge conflicts</h4> |
| <template is="dom-repeat" items="[[_conflicts]]" as="change"> |
| <div> |
| <a href$="[[_computeChangeURL(change._number, change.project)]]" |
| class$="[[_computeLinkClass(change)]]" |
| title$="[[change.subject]]"> |
| [[change.subject]] |
| </a> |
| </div> |
| </template> |
| </section> |
| <section hidden$="[[!_cherryPicks.length]]" hidden> |
| <h4>Cherry picks</h4> |
| <template is="dom-repeat" items="[[_cherryPicks]]" as="change"> |
| <div> |
| <a href$="[[_computeChangeURL(change._number, change.project)]]" |
| class$="[[_computeLinkClass(change)]]" |
| title$="[[change.branch]]: [[change.subject]]"> |
| [[change.branch]]: [[change.subject]] |
| </a> |
| </div> |
| </template> |
| </section> |
| </div> |
| <div hidden$="[[!loading]]">Loading...</div> |
| <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> |
| </template> |
| <script src="gr-related-changes-list.js"></script> |
| </dom-module> |