185 lines
5.8 KiB
HTML
185 lines
5.8 KiB
HTML
<!--
|
|
Copyright (C) 2015 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="../../shared/gr-button/gr-button.html">
|
|
<link rel="import" href="../../shared/gr-overlay/gr-overlay.html">
|
|
<link rel="import" href="../../shared/gr-request/gr-request.html">
|
|
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
|
|
|
|
<link rel="import" href="../gr-diff-comment-thread/gr-diff-comment-thread.html">
|
|
<link rel="import" href="../gr-diff-preferences/gr-diff-preferences.html">
|
|
<link rel="import" href="../gr-patch-range-select/gr-patch-range-select.html">
|
|
|
|
<dom-module id="gr-new-diff">
|
|
<template>
|
|
<style>
|
|
:host {
|
|
--light-remove-highlight-color: #fee;
|
|
--dark-remove-highlight-color: #ffd4d4;
|
|
--light-add-highlight-color: #efe;
|
|
--dark-add-highlight-color: #d4ffd4;
|
|
}
|
|
.loading {
|
|
padding: 0 var(--default-horizontal-margin) 1em;
|
|
color: #666;
|
|
}
|
|
.header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin: 0 var(--default-horizontal-margin) .75em;
|
|
}
|
|
.prefsButton {
|
|
text-align: right;
|
|
}
|
|
.diffContainer {
|
|
border-bottom: 1px solid #eee;
|
|
border-top: 1px solid #eee;
|
|
display: flex;
|
|
font: 12px var(--monospace-font-family);
|
|
overflow-x: auto;
|
|
will-change: transform;
|
|
}
|
|
table {
|
|
border-collapse: collapse;
|
|
border-right: 1px solid #ddd;
|
|
}
|
|
.section {
|
|
background-color: #eee;
|
|
}
|
|
.blank,
|
|
.content {
|
|
background-color: #fff;
|
|
}
|
|
.lineNum,
|
|
.content {
|
|
vertical-align: top;
|
|
white-space: pre;
|
|
}
|
|
.contextLineNum:before,
|
|
.lineNum:before {
|
|
display: inline-block;
|
|
color: #666;
|
|
content: attr(data-value);
|
|
padding: 0 .75em;
|
|
text-align: right;
|
|
width: 100%;
|
|
}
|
|
.canComment .lineNum[data-value] {
|
|
cursor: pointer;
|
|
}
|
|
.canComment .lineNum[data-value]:before {
|
|
text-decoration: underline;
|
|
}
|
|
.canComment .lineNum[data-value]:hover:before {
|
|
background-color: #ccc;
|
|
}
|
|
.canComment .lineNum[data-value="FILE"]:before {
|
|
content: 'File';
|
|
}
|
|
.content {
|
|
overflow: hidden;
|
|
min-width: var(--content-width, 80ch);
|
|
}
|
|
.content.left {
|
|
-webkit-user-select: var(--left-user-select, text);
|
|
-moz-user-select: var(--left-user-select, text);
|
|
-ms-user-select: var(--left-user-select, text);
|
|
user-select: var(--left-user-select, text);
|
|
}
|
|
.content.right {
|
|
-webkit-user-select: var(--right-user-select, text);
|
|
-moz-user-select: var(--right-user-select, text);
|
|
-ms-user-select: var(--right-user-select, text);
|
|
user-select: var(--right-user-select, text);
|
|
}
|
|
.content.add hl,
|
|
.content.add.darkHighlight {
|
|
background-color: var(--dark-add-highlight-color);
|
|
}
|
|
.content.add.lightHighlight {
|
|
background-color: var(--light-add-highlight-color);
|
|
}
|
|
.content.remove hl,
|
|
.content.remove.darkHighlight {
|
|
background-color: var(--dark-remove-highlight-color);
|
|
}
|
|
.content.remove.lightHighlight {
|
|
background-color: var(--light-remove.highlight-color);
|
|
}
|
|
.contextControl {
|
|
color: #849;
|
|
background-color: #fef;
|
|
}
|
|
.contextControl gr-button {
|
|
display: block;
|
|
font-family: var(--monospace-font-family);
|
|
text-decoration: none;
|
|
}
|
|
.contextControl td:not(.lineNum) {
|
|
text-align: center;
|
|
}
|
|
.br:after {
|
|
/* Line feed */
|
|
content: '\A';
|
|
}
|
|
.tab {
|
|
display: inline-block;
|
|
}
|
|
.tab.withIndicator:before {
|
|
color: #C62828;
|
|
/* >> character */
|
|
content: '\00BB';
|
|
}
|
|
</style>
|
|
<div class="loading" hidden$="[[!_loading]]">Loading...</div>
|
|
<div hidden$="[[_loading]]" hidden>
|
|
<div class="header">
|
|
<gr-patch-range-select
|
|
path="[[path]]"
|
|
change-num="[[changeNum]]"
|
|
patch-range="[[patchRange]]"
|
|
available-patches="[[availablePatches]]"></gr-patch-range-select>
|
|
<gr-button link
|
|
class="prefsButton"
|
|
on-tap="_handlePrefsTap"
|
|
hidden$="[[_computePrefsButtonHidden(_prefs, _loggedIn)]]"
|
|
hidden>Diff View Preferences</gr-button>
|
|
</div>
|
|
<gr-overlay id="prefsOverlay" with-backdrop>
|
|
<gr-diff-preferences
|
|
prefs="{{_prefs}}"
|
|
on-save="_handlePrefsSave"
|
|
on-cancel="_handlePrefsCancel"></gr-diff-preferences>
|
|
</gr-overlay>
|
|
|
|
<div class$="[[_computeContainerClass(_loggedIn, _viewMode)]]"
|
|
on-tap="_handleTap"
|
|
on-mousedown="_handleMouseDown"
|
|
on-copy="_handleCopy">
|
|
<table id="diffTable"></table>
|
|
</div>
|
|
</div>
|
|
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
|
|
</template>
|
|
<script src="gr-diff-line.js"></script>
|
|
<script src="gr-diff-group.js"></script>
|
|
<script src="gr-diff-builder.js"></script>
|
|
<script src="gr-diff-builder-side-by-side.js"></script>
|
|
<script src="gr-diff-builder-unified.js"></script>
|
|
<script src="gr-new-diff.js"></script>
|
|
</dom-module>
|