Skip to content

Commit ed61e72

Browse files
author
Dennis Labordus
committed
Show new info (who/when/what)
Signed-off-by: Dennis Labordus <[email protected]>
1 parent 9ecacf6 commit ed61e72

File tree

2 files changed

+36
-19
lines changed

2 files changed

+36
-19
lines changed

src/compas-editors/CompasVersions.ts

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { css, html, LitElement, property, TemplateResult } from 'lit-element';
22
import { get, translate } from 'lit-translate';
3+
import { nothing } from 'lit-html';
34

45
import '@material/mwc-fab';
56
import '@material/mwc-icon';
@@ -43,11 +44,11 @@ export default class CompasVersionsPlugin extends LitElement {
4344
docName!: string;
4445

4546
@property()
46-
scls!: Element[];
47+
itemHistory!: Element[];
4748

4849
firstUpdated(): void {
4950
if (!this.docId) {
50-
this.scls = [];
51+
this.itemHistory = [];
5152
} else {
5253
this.fetchData()
5354
}
@@ -57,10 +58,10 @@ export default class CompasVersionsPlugin extends LitElement {
5758
const type = getTypeFromDocName(this.docName);
5859
CompasSclDataService().listVersions(type, this.docId)
5960
.then(xmlResponse => {
60-
this.scls = Array.from(xmlResponse.querySelectorAll('Item') ?? []);
61+
this.itemHistory = Array.from(xmlResponse.querySelectorAll('HistoryItem') ?? []);
6162
})
6263
.catch(() => {
63-
this.scls = [];
64+
this.itemHistory = [];
6465
});
6566
}
6667

@@ -148,14 +149,33 @@ export default class CompasVersionsPlugin extends LitElement {
148149
return sclName!.textContent ?? 'unknown';
149150
}
150151

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+
151171
render(): TemplateResult {
152-
if (!this.scls) {
172+
if (!this.itemHistory) {
153173
return html `
154174
<compas-loading></compas-loading>
155175
`
156176
}
157177

158-
if (this.scls.length <= 0) {
178+
if (this.itemHistory.length <= 0) {
159179
return html `
160180
<mwc-list>
161181
<mwc-list-item>
@@ -201,19 +221,15 @@ export default class CompasVersionsPlugin extends LitElement {
201221
@selected=${(evt: MultiSelectedEvent) => {
202222
selectedVersionsOnCompasVersionsEditor = evt.detail.index;
203223
}}>
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) => {
210225
const version = getElementByName(item, SDS_NAMESPACE, "Version")!.textContent ?? '';
211226
if (items.length - 1 === index) {
212227
return html`<mwc-check-list-item value="${version}"
213228
tabindex="0"
214229
graphic="icon"
230+
twoline
215231
.selected=${selectedVersionsOnCompasVersionsEditor.has(index)}>
216-
${name} (${version})
232+
${this.renderLineInfo(item)}
217233
<span slot="graphic">
218234
<mwc-icon @click=${() => {
219235
this.confirmRestoreVersionCompas(version);
@@ -224,8 +240,9 @@ export default class CompasVersionsPlugin extends LitElement {
224240
return html`<mwc-check-list-item value="${version}"
225241
tabindex="0"
226242
graphic="icon"
243+
twoline
227244
.selected=${selectedVersionsOnCompasVersionsEditor.has(index)}>
228-
${name} (${version})
245+
${this.renderLineInfo(item)}
229246
<span slot="graphic">
230247
<mwc-icon @click=${() => {
231248
this.confirmRestoreVersionCompas(version);

test/integration/compas-editors/CompasVersions.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ describe('compas-versions-plugin', () => {
4141
});
4242

4343
await element;
44-
await waitUntil(() => element.scls !== undefined);
44+
await waitUntil(() => element.itemHistory !== undefined);
4545
});
4646

4747
afterEach(() => {
@@ -85,11 +85,11 @@ describe('compas-versions-plugin', () => {
8585

8686
stub = stubFetchResponseFunction(element, FETCH_FUNCTION, undefined, VERSION_ENTRY_ELEMENT_NAME,
8787
(result: Element[]) => {
88-
element.scls = result;
88+
element.itemHistory = result;
8989
});
9090

9191
await element;
92-
await waitUntil(() => element.scls !== undefined);
92+
await waitUntil(() => element.itemHistory !== undefined);
9393
});
9494

9595
afterEach(() => {
@@ -110,11 +110,11 @@ describe('compas-versions-plugin', () => {
110110

111111
stub = stubFetchResponseFunction(element, FETCH_FUNCTION, BASIC_VERSIONS_LIST_RESPONSE, VERSION_ENTRY_ELEMENT_NAME,
112112
(result: Element[]) => {
113-
element.scls = result;
113+
element.itemHistory = result;
114114
});
115115

116116
await element;
117-
await waitUntil(() => element.scls !== undefined);
117+
await waitUntil(() => element.itemHistory !== undefined);
118118
});
119119

120120
afterEach(() => {

0 commit comments

Comments
 (0)