From 25d25c47cd9a7eacfaa2c16ee73c3a661220fcd7 Mon Sep 17 00:00:00 2001 From: Daniel Mulholland Date: Tue, 15 Mar 2022 21:39:33 +1300 Subject: [PATCH] Respond to review comments --- src/editors/Cleanup.ts | 59 +++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/src/editors/Cleanup.ts b/src/editors/Cleanup.ts index 0495728a18..8e4a53f7d5 100644 --- a/src/editors/Cleanup.ts +++ b/src/editors/Cleanup.ts @@ -10,9 +10,13 @@ import { queryAll, } from 'lit-element'; import { translate } from 'lit-translate'; + +import '@material/mwc-button'; import { Button } from '@material/mwc-button'; import { List, MWCListIndex } from '@material/mwc-list'; import { ListItem } from '@material/mwc-list/mwc-list-item.js'; +import '@material/mwc-list/mwc-checked-list-item'; +import '../filtered-list.js'; import { Delete, @@ -53,6 +57,32 @@ export default class Cleanup extends LitElement { )).index; } + /** + * Clean datasets as requested by removing DataSet elements specified by the user from the SCL file + * @returns an actions array to support undo/redo + */ + public cleanDataSets(cleanItems: Element[]): Delete[] { + const actions: Delete[] = []; + if (cleanItems) { + cleanItems.forEach(item => { + actions.push({ + old: { + parent: item.parentElement!, + element: item, + reference: item!.nextSibling, + }, + }); + }); + } + return actions; + } + + async firstUpdated(): Promise { + this._cleanUnreferencedDataSetsList?.addEventListener('selected', () => { + this.getSelectedUnreferencedDataSetItems(); + }); + } + /** * Render a user selectable table of unreferenced datasets if any exist, otherwise indicate this is not an issue. * @returns html for table and action button. @@ -73,6 +103,7 @@ export default class Cleanup extends LitElement { if (parent && (!name || !isReferenced)) unreferencedDataSets.push(dataSet); }); + this.unreferencedDataSets = unreferencedDataSets.sort((a, b) => { // sorting using the identity ensures sort order includes IED const aId = identity(a); @@ -86,6 +117,7 @@ export default class Cleanup extends LitElement { // names must be equal return 0; }); + return html`

${translate('cleanup.unreferencedDataSets.title')} @@ -141,7 +173,6 @@ export default class Cleanup extends LitElement { >this.selectedItems).size || '0'})" ?disabled=${(>this.selectedItems).size === 0 || (Array.isArray(this.selectedItems) && !this.selectedItems.length)} - slot="secondaryAction" @click=${(e: MouseEvent) => { const cleanItems = Array.from( (>this.selectedItems).values() @@ -156,32 +187,6 @@ export default class Cleanup extends LitElement { `; } - /** - * Clean datasets as requested by removing DataSet elements specified by the user from the SCL file - * @returns an actions array to support undo/redo - */ - public cleanDataSets(cleanItems: Element[]): Delete[] { - const actions: Delete[] = []; - if (cleanItems) { - cleanItems.forEach(item => { - actions.push({ - old: { - parent: item.parentElement!, - element: item, - reference: item!.nextSibling, - }, - }); - }); - } - return actions; - } - - async firstUpdated(): Promise { - this._cleanUnreferencedDataSetsList?.addEventListener('selected', () => { - this.getSelectedUnreferencedDataSetItems(); - }); - } - render(): TemplateResult { return html`