diff --git a/ts_web/elements/dees-table.ts b/ts_web/elements/dees-table.ts index bbb002a..38ec2d7 100644 --- a/ts_web/elements/dees-table.ts +++ b/ts_web/elements/dees-table.ts @@ -73,7 +73,7 @@ export class DeesTable extends DeesElement { public heading2: string; @property({ - type: Array + type: Array, }) public data: T[] = []; @@ -142,6 +142,9 @@ export class DeesTable extends DeesElement { tr:first-child:hover .innerCellContainer { background: none; } + tr.selected .innerCellContainer { + background: #ffffff20 + } th { text-transform: uppercase; } @@ -192,28 +195,39 @@ export class DeesTable extends DeesElement { return html` - ${headings.map(headingArg => html` - - `)} + ${headings.map( + (headingArg) => html` + + ` + )} - ${this.data.map(itemArg => html` - - ${headings.map(headingArg => html` - - `)} - - `)} + ${this.data.map( + (itemArg) => html` + { + this.selectedDataRow = itemArg; + }} + class="${itemArg === this.selectedDataRow ? 'selected' : ''}" + > + ${headings.map( + (headingArg) => html` + + ` + )} + + ` + )}
-
${headingArg}
-
+
${headingArg}
+
-
${itemArg[headingArg]}
-
+
${itemArg[headingArg]}
+
`; })() : html`
No data set!
`}
${this.data.length} data rows (total) | - ${this.selectedDataRow ? html`` : html`No row selected`} + ${this.selectedDataRow ? html`Row ${this.data.indexOf(this.selectedDataRow) + 1} selected` : html`No row selected`}
`;