1
1
import { css , html , LitElement , property , TemplateResult } from 'lit-element' ;
2
2
import { get , translate } from 'lit-translate' ;
3
+ import { nothing } from 'lit-html' ;
3
4
4
5
import '@material/mwc-fab' ;
5
6
import '@material/mwc-icon' ;
@@ -43,11 +44,11 @@ export default class CompasVersionsPlugin extends LitElement {
43
44
docName ! : string ;
44
45
45
46
@property ( )
46
- scls ! : Element [ ] ;
47
+ itemHistory ! : Element [ ] ;
47
48
48
49
firstUpdated ( ) : void {
49
50
if ( ! this . docId ) {
50
- this . scls = [ ] ;
51
+ this . itemHistory = [ ] ;
51
52
} else {
52
53
this . fetchData ( )
53
54
}
@@ -57,10 +58,10 @@ export default class CompasVersionsPlugin extends LitElement {
57
58
const type = getTypeFromDocName ( this . docName ) ;
58
59
CompasSclDataService ( ) . listVersions ( type , this . docId )
59
60
. then ( xmlResponse => {
60
- this . scls = Array . from ( xmlResponse . querySelectorAll ( 'Item ' ) ?? [ ] ) ;
61
+ this . itemHistory = Array . from ( xmlResponse . querySelectorAll ( 'HistoryItem ' ) ?? [ ] ) ;
61
62
} )
62
63
. catch ( ( ) => {
63
- this . scls = [ ] ;
64
+ this . itemHistory = [ ] ;
64
65
} ) ;
65
66
}
66
67
@@ -148,14 +149,33 @@ export default class CompasVersionsPlugin extends LitElement {
148
149
return sclName ! . textContent ?? 'unknown' ;
149
150
}
150
151
152
+ private renderLineInfo ( item : Element ) : TemplateResult {
153
+ let element = getElementByName ( item , SDS_NAMESPACE , "Name" ) ;
154
+ if ( element === null ) {
155
+ element = getElementByName ( item , SDS_NAMESPACE , "Id" ) ;
156
+ }
157
+ const name = element ! . textContent ?? '' ;
158
+ const version = getElementByName ( item , SDS_NAMESPACE , "Version" ) ! . textContent ?? '' ;
159
+ const who = getElementByName ( item , SDS_NAMESPACE , "Who" ) ! . textContent ?? '' ;
160
+ const when = getElementByName ( item , SDS_NAMESPACE , "When" ) ! . textContent ?? '' ;
161
+ const what = getElementByName ( item , SDS_NAMESPACE , "What" ) ! . textContent ?? '' ;
162
+
163
+ return html `< span > ${ name } (Version: ${ version } )</ span >
164
+ < span slot ="secondary ">
165
+ Who: "${ who ? who : '-' } ",
166
+ When: "${ when ? when : '-' } ",
167
+ What: "${ what ? what : '-' } "
168
+ </ span > ` ;
169
+ }
170
+
151
171
render ( ) : TemplateResult {
152
- if ( ! this . scls ) {
172
+ if ( ! this . itemHistory ) {
153
173
return html `
154
174
< compas-loading > </ compas-loading >
155
175
`
156
176
}
157
177
158
- if ( this . scls . length <= 0 ) {
178
+ if ( this . itemHistory . length <= 0 ) {
159
179
return html `
160
180
< mwc-list >
161
181
< mwc-list-item >
@@ -201,19 +221,15 @@ export default class CompasVersionsPlugin extends LitElement {
201
221
@selected =${ ( evt : MultiSelectedEvent ) => {
202
222
selectedVersionsOnCompasVersionsEditor = evt . detail . index ;
203
223
} } >
204
- ${ this . scls . map ( ( item , index , items ) => {
205
- let element = getElementByName ( item , SDS_NAMESPACE , "Name" ) ;
206
- if ( element === null ) {
207
- element = getElementByName ( item , SDS_NAMESPACE , "Id" ) ;
208
- }
209
- const name = element ! . textContent ?? '' ;
224
+ ${ this . itemHistory . map ( ( item , index , items ) => {
210
225
const version = getElementByName ( item , SDS_NAMESPACE , "Version" ) ! . textContent ?? '' ;
211
226
if ( items . length - 1 === index ) {
212
227
return html `< mwc-check-list-item value ="${ version } "
213
228
tabindex ="0 "
214
229
graphic ="icon "
230
+ twoline
215
231
.selected =${ selectedVersionsOnCompasVersionsEditor . has ( index ) } >
216
- ${ name } ( ${ version } )
232
+ ${ this . renderLineInfo ( item ) }
217
233
< span slot ="graphic ">
218
234
< mwc-icon @click =${ ( ) => {
219
235
this . confirmRestoreVersionCompas ( version ) ;
@@ -224,8 +240,9 @@ export default class CompasVersionsPlugin extends LitElement {
224
240
return html `< mwc-check-list-item value ="${ version } "
225
241
tabindex ="0 "
226
242
graphic ="icon "
243
+ twoline
227
244
.selected =${ selectedVersionsOnCompasVersionsEditor . has ( index ) } >
228
- ${ name } ( ${ version } )
245
+ ${ this . renderLineInfo ( item ) }
229
246
< span slot ="graphic ">
230
247
< mwc-icon @click =${ ( ) => {
231
248
this . confirmRestoreVersionCompas ( version ) ;
0 commit comments