mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Add proper three-way diff view
This commit is contained in:
parent
f143a6ba08
commit
d3dfbc3034
File diff suppressed because it is too large
Load Diff
@ -21,14 +21,16 @@
|
|||||||
.red-ui-editableList-container {
|
.red-ui-editableList-container {
|
||||||
border-radius:1px;
|
border-radius:1px;
|
||||||
padding:0;
|
padding:0;
|
||||||
|
background: #f9f9f9;
|
||||||
}
|
}
|
||||||
#node-dialog-view-diff-diff {
|
#node-dialog-view-diff-diff {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top:50px;
|
top:80px;
|
||||||
bottom:10px;
|
bottom:10px;
|
||||||
left:10px;
|
left:10px;
|
||||||
right:10px;
|
right:10px;
|
||||||
li {
|
li {
|
||||||
|
background: #f9f9f9;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
border: none;
|
border: none;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
@ -37,14 +39,34 @@
|
|||||||
}
|
}
|
||||||
.red-ui-editableList-item-content {
|
.red-ui-editableList-item-content {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
padding-bottom: 0;
|
// padding-bottom: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#node-dialog-view-diff-headers {
|
||||||
|
position: absolute;
|
||||||
|
left:17px;
|
||||||
|
right:32px;
|
||||||
|
top: 55px;
|
||||||
|
height: 25px;
|
||||||
|
.node-diff-node-entry-cell:not(:first-child) {
|
||||||
|
background: #f9f9f9;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid $secondary-border-color;
|
||||||
|
border-color:$secondary-border-color;
|
||||||
|
}
|
||||||
|
.node-diff-node-entry-cell:last-child {
|
||||||
|
border-right: 1px solid $secondary-border-color;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.node-diff-toolbar {
|
.node-diff-toolbar {
|
||||||
position:absolute;
|
position:absolute;
|
||||||
top:0;
|
top:0;
|
||||||
left:0;
|
left:0;
|
||||||
right:0;
|
right:0;
|
||||||
|
height: 43px;
|
||||||
|
box-sizing: border-box;
|
||||||
color: #666;
|
color: #666;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding: 8px 10px;
|
padding: 8px 10px;
|
||||||
@ -53,12 +75,13 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.node-diff-tab {
|
.node-diff-tab {
|
||||||
border: 1px solid $secondary-border-color;
|
background: #fff;
|
||||||
border-radius: 3px;
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 1px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
.node-diff-tab-title > .node-diff-chevron {
|
.node-diff-tab-title .node-diff-chevron {
|
||||||
transform: rotate(-90deg);
|
transform: rotate(-90deg);
|
||||||
}
|
}
|
||||||
.node-diff-node-entry {
|
.node-diff-node-entry {
|
||||||
@ -67,21 +90,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.node-diff-tab-stats {
|
.node-diff-tab-stats {
|
||||||
position: absolute;
|
font-size: 0.9em;
|
||||||
left: 50%;
|
|
||||||
top: 13px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.node-diff-chevron {
|
.node-diff-chevron {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 15px;
|
width: 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 3px 5px 3px 5px;
|
margin-left: 3px;
|
||||||
transition: transform 0.1s ease-in-out;
|
transition: transform 0.1s ease-in-out;
|
||||||
|
|
||||||
}
|
}
|
||||||
.node-diff-node-entry {
|
.node-diff-node-entry {
|
||||||
border-top: 1px solid $secondary-border-color;
|
margin-left: 20px;
|
||||||
|
font-size: 0.9em;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
}
|
||||||
|
&:not(:last-child) {
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
.node-diff-chevron {
|
.node-diff-chevron {
|
||||||
@ -91,6 +120,14 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&:not(.collapsed) {
|
||||||
|
.node-diff-node-entry-cell:not(:first-child) {
|
||||||
|
//display: none;
|
||||||
|
}
|
||||||
|
.node-diff-node-entry-cell:first-child {
|
||||||
|
width: 100%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
@ -99,20 +136,57 @@
|
|||||||
}
|
}
|
||||||
td, th {
|
td, th {
|
||||||
border: 1px solid $secondary-border-color;
|
border: 1px solid $secondary-border-color;
|
||||||
padding: 3px 5px;
|
padding: 0 0 0 3px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
tr {
|
tr {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
|
&:first-child td {
|
||||||
|
white-space:nowrap;
|
||||||
|
overflow:hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
td:nth-child(1) {
|
td:first-child {
|
||||||
width: 100px;
|
width: 140px;
|
||||||
}
|
}
|
||||||
td:not(:first-child) {
|
td:not(:first-child) {
|
||||||
width: calc(50% - 100px);
|
width: calc( 100% - 140px);
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
.node-diff-status {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tr:not(.node-diff-property-header) {
|
||||||
|
.node-diff-status {
|
||||||
|
width: 12px;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.node-diff-three-way {
|
||||||
|
.node-diff-node-entry-cell {
|
||||||
|
width: 33.3333333%
|
||||||
|
}
|
||||||
|
td:not(:first-child) {
|
||||||
|
width: calc( (100% - 140px) / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.node-diff-node-entry {
|
||||||
|
.node-diff-node-entry-cell {
|
||||||
|
width: calc( ( 100% + 20px ) / 3 );
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
width: calc( ( 100% + 20px ) / 3 - 20px );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.node-diff-column {
|
.node-diff-column {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
height:100%;
|
height:100%;
|
||||||
@ -126,17 +200,24 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.node-diff-tab-title {
|
.node-diff-tab-title {
|
||||||
padding: 3px 3px 3px 0;
|
cursor: pointer;
|
||||||
background: #f6f6f6;
|
padding: 0;
|
||||||
|
// background: #f6f6f6;
|
||||||
|
}
|
||||||
|
.node-diff-tab-title-meta {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
padding-top: 2px;
|
||||||
|
}
|
||||||
|
.node-diff-node-entry-header {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.node-diff-node-entry-node {
|
.node-diff-node-entry-node {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
width: 24px;
|
width: 18px;
|
||||||
height: 20px;
|
height: 15px;
|
||||||
background: #ddd;
|
background: #ddd;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
border: 1px solid #999;
|
border: 1px solid #999;
|
||||||
@ -145,11 +226,12 @@
|
|||||||
background-size: contain;
|
background-size: contain;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.palette-icon {
|
.palette_icon {
|
||||||
width: 16px;
|
background-position: 49% 50%;
|
||||||
|
width: 15px;
|
||||||
}
|
}
|
||||||
.palette_icon_container {
|
.palette_icon_container {
|
||||||
width: 24px;
|
width: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.node-diff-tab-empty {
|
.node-diff-tab-empty {
|
||||||
@ -187,28 +269,39 @@
|
|||||||
color: #f89406;
|
color: #f89406;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.node-diff-node-unchanged {
|
||||||
|
//background: #fff2ca;
|
||||||
|
.node-diff-status {
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.node-diff-node-conflict {
|
||||||
|
.node-diff-status {
|
||||||
|
color: #9b45ce;
|
||||||
|
}
|
||||||
|
}
|
||||||
.node-diff-node-entry-title {
|
.node-diff-node-entry-title {
|
||||||
cursor: pointer;
|
display: inline-block;
|
||||||
.node-diff-status {
|
.node-diff-status {
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.node-diff-node-entry-properties {
|
.node-diff-node-entry-properties {
|
||||||
margin: 6px 8px 6px 30px;
|
margin: 5px ;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
.node-diff-status {
|
.node-diff-status {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 15px;
|
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
vertical-align: middle;
|
vertical-align: top;
|
||||||
|
margin-top: 6px;
|
||||||
|
margin-bottom: 6px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.node-diff-node-description {
|
.node-diff-node-description {
|
||||||
color: $form-text-color;
|
color: $form-text-color;
|
||||||
margin-left: 5px;
|
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -220,7 +313,7 @@
|
|||||||
}
|
}
|
||||||
.node-diff-node-meta {
|
.node-diff-node-meta {
|
||||||
float: right;
|
float: right;
|
||||||
font-size: 0.9em;
|
//font-size: 0.9em;
|
||||||
color: #999;
|
color: #999;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
@ -231,3 +324,96 @@
|
|||||||
.node-diff-deleted { color: #f80000}
|
.node-diff-deleted { color: #f80000}
|
||||||
.node-diff-changed { color: #f89406}
|
.node-diff-changed { color: #f89406}
|
||||||
.node-diff-conflicted { color: purple}
|
.node-diff-conflicted { color: purple}
|
||||||
|
|
||||||
|
|
||||||
|
.node-diff-node-entry-cell {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: calc( (100% - 20px) / 2);
|
||||||
|
height: 32px;
|
||||||
|
border-left: 1px solid #eee;
|
||||||
|
padding-top: 2px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.node-diff-empty {
|
||||||
|
background: #f3f3f3;
|
||||||
|
background: repeating-linear-gradient(
|
||||||
|
20deg,
|
||||||
|
#fff, #fff 5px,
|
||||||
|
#f9f9f9 5px,
|
||||||
|
#f9f9f9 10px
|
||||||
|
);
|
||||||
|
}
|
||||||
|
.node-diff-node-entry-cell:first-child {
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
.node-diff-property-cell-label {
|
||||||
|
margin-left: 20px;
|
||||||
|
vertical-align: top;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 8px;
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
.node-diff-property-wires {
|
||||||
|
display: inline-block;
|
||||||
|
.node-diff-node-entry-node {
|
||||||
|
width: 18px;
|
||||||
|
height: 15px;
|
||||||
|
}
|
||||||
|
.palette_icon_container {
|
||||||
|
width: 18px;
|
||||||
|
}
|
||||||
|
.palette_icon {
|
||||||
|
width: 15px;
|
||||||
|
}
|
||||||
|
ul,li,ol {
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
list-style-type: none !important;
|
||||||
|
}
|
||||||
|
ol {
|
||||||
|
font-size: 0.9em;
|
||||||
|
margin: 0;
|
||||||
|
& > span {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
width: 30px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
& > li:not(:last-child) {
|
||||||
|
border-bottom: 1px solid #999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.node-diff-node-props .node-diff-node-entry-cell:first-child {
|
||||||
|
padding: 6px 0px;
|
||||||
|
span:not(.node-diff-chevron) {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.node-diff-property-cell {
|
||||||
|
// vertical-align: top;
|
||||||
|
// display:inline-block;
|
||||||
|
//
|
||||||
|
// box-sizing: border-box;
|
||||||
|
// padding: 1px 5px;
|
||||||
|
//min-height: 30px;
|
||||||
|
|
||||||
|
&.node-diff-node-changed {
|
||||||
|
background: #fff2e1;
|
||||||
|
}
|
||||||
|
&.node-diff-node-conflict {
|
||||||
|
background: #ffdad4;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user