1
1
import { LitElement , html , css } from 'lit' ;
2
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js' ;
2
3
import { columnBodyRenderer } from '@vaadin/grid/lit.js' ;
3
4
import { infoUrl } from 'build-time-data' ;
4
5
import '@vaadin/progress-bar' ;
@@ -22,13 +23,20 @@ export class QwcInfo extends LitElement {
22
23
}
23
24
.cardContent {
24
25
display: flex;
25
- align-items: center;
26
26
padding: 10px;
27
27
gap: 10px;
28
+ height: 100%;
28
29
}
29
30
vaadin-icon {
30
31
font-size: xx-large;
31
32
}
33
+ .table {
34
+ height: fit-content;
35
+ }
36
+ .row-header {
37
+ color: var(--lumo-contrast-50pct);
38
+ vertical-align: top;
39
+ }
32
40
` ;
33
41
34
42
static properties = {
@@ -58,8 +66,8 @@ export class QwcInfo extends LitElement {
58
66
return html `
59
67
${ this . _renderOsInfo ( this . _info ) }
60
68
${ this . _renderJavaInfo ( this . _info ) }
61
- ${ this . _renderGitInfo ( this . _info ) }
62
69
${ this . _renderBuildInfo ( this . _info ) }
70
+ ${ this . _renderGitInfo ( this . _info ) }
63
71
` ;
64
72
} else {
65
73
return html `
@@ -78,9 +86,9 @@ export class QwcInfo extends LitElement {
78
86
< div class ="cardContent " slot ="content ">
79
87
${ this . _renderOsIcon ( os . name ) }
80
88
< table class ="table ">
81
- < tr > < td > Name</ td > < td > ${ os . name } </ td > </ tr >
82
- < tr > < td > Version</ td > < td > ${ os . version } </ td > </ tr >
83
- < tr > < td > Arch</ td > < td > ${ os . arch } </ td > </ tr >
89
+ < tr > < td class =" row-header " > Name</ td > < td > ${ os . name } </ td > </ tr >
90
+ < tr > < td class =" row-header " > Version</ td > < td > ${ os . version } </ td > </ tr >
91
+ < tr > < td class =" row-header " > Arch</ td > < td > ${ os . arch } </ td > </ tr >
84
92
</ table >
85
93
</ div >
86
94
</ qui-card > ` ;
@@ -94,7 +102,7 @@ export class QwcInfo extends LitElement {
94
102
< div class ="cardContent " slot ="content ">
95
103
< vaadin-icon icon ="font-awesome-brands:java "> </ vaadin-icon >
96
104
< table class ="table ">
97
- < tr > < td > Version</ td > < td > ${ java . version } </ td > </ tr >
105
+ < tr > < td class =" row-header " > Version</ td > < td > ${ java . version } </ td > </ tr >
98
106
</ table >
99
107
</ div >
100
108
</ qui-card > ` ;
@@ -121,25 +129,45 @@ export class QwcInfo extends LitElement {
121
129
< div class ="cardContent " slot ="content ">
122
130
< vaadin-icon icon ="font-awesome-brands:git "> </ vaadin-icon >
123
131
< table class ="table ">
124
- < tr > < td > Branch</ td > < td > ${ git . branch } </ td > </ tr >
125
- < tr > < td > Commit</ td > < td > ${ git . commit . id } </ td > </ tr >
126
- < tr > < td > Time</ td > < td > ${ git . commit . time } </ td > </ tr >
132
+ < tr > < td class ="row-header "> Branch</ td > < td > ${ git . branch } </ td > </ tr >
133
+ < tr > < td class ="row-header "> Commit Id </ td > < td > ${ this . _renderCommitId ( git ) } </ td > </ tr >
134
+ < tr > < td class ="row-header "> Commit Time</ td > < td > ${ git . commit . time } </ td > </ tr >
135
+ ${ this . _renderOptionalData ( git ) }
127
136
</ table >
128
137
</ div >
129
138
</ qui-card > ` ;
130
139
}
131
140
}
132
141
142
+ _renderCommitId ( git ) {
143
+ if ( typeof git . commit . id === "string" ) {
144
+ return html `${ git . commit . id } ` ;
145
+ } else {
146
+ return html `${ git . commit . id . full } ` ;
147
+ }
148
+ }
149
+
150
+ _renderOptionalData ( git ) {
151
+ if ( typeof git . commit . id !== "string" ) {
152
+ return html `< tr > < td class ="row-header "> Commit User</ td > < td > ${ git . commit . user . name } <${ git . commit . user . email } ></ td > </ tr >
153
+ < tr > < td class ="row-header "> Commit Message</ td > < td > ${ unsafeHTML ( this . _replaceNewLine ( git . commit . id . message . full ) ) } </ td > </ tr > `
154
+ }
155
+ }
156
+
157
+ _replaceNewLine ( line ) {
158
+ return line . replace ( new RegExp ( '\r?\n' , 'g' ) , '<br />' ) ;
159
+ }
160
+
133
161
_renderBuildInfo ( info ) {
134
162
if ( info . build ) {
135
163
let build = info . build ;
136
164
return html `< qui-card title ="Build ">
137
165
< div class ="cardContent " slot ="content ">
138
166
< table class ="table ">
139
- < tr > < td > Group</ td > < td > ${ build . group } </ td > </ tr >
140
- < tr > < td > Artifact</ td > < td > ${ build . artifact } </ td > </ tr >
141
- < tr > < td > Version</ td > < td > ${ build . version } </ td > </ tr >
142
- < tr > < td > Time</ td > < td > ${ build . time } </ td > </ tr >
167
+ < tr > < td class =" row-header " > Group</ td > < td > ${ build . group } </ td > </ tr >
168
+ < tr > < td class =" row-header " > Artifact</ td > < td > ${ build . artifact } </ td > </ tr >
169
+ < tr > < td class =" row-header " > Version</ td > < td > ${ build . version } </ td > </ tr >
170
+ < tr > < td class =" row-header " > Time</ td > < td > ${ build . time } </ td > </ tr >
143
171
</ table >
144
172
</ div >
145
173
</ qui-card > ` ;
0 commit comments