diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.html b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.html
index 0560d544..f2d68c2d 100644
--- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.html
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.html
@@ -1,10 +1,48 @@
-
+ @for (colId of displayedColumns; track colId) {
+
| {{schema[colId].header}} |
{{schema[colId].field(element)}} |
+ }
-
-
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+ {{"element.position"}}
+ {{"element.symbol"}}
+ {{"element.name"}}
+ {{"element.weight"}}
+
+
+ {{"element.description"}}
+ -- Wikipedia
+
+
+ |
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.scss b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.scss
index e69de29b..19d1304d 100644
--- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.scss
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.scss
@@ -0,0 +1,31 @@
+.example-element-row td {
+ border-bottom-width: 0;
+ }
+
+ .example-element-detail {
+ overflow: hidden;
+ display: flex;
+ }
+
+ .example-element-diagram {
+ min-width: 80px;
+ border: 2px solid black;
+ padding: 8px;
+ font-weight: lighter;
+ margin: 8px 0;
+ height: 104px;
+ }
+
+ .example-element-symbol {
+ font-weight: bold;
+ font-size: 40px;
+ line-height: normal;
+ }
+
+ .example-element-description {
+ padding: 16px;
+ }
+
+ .example-element-description-attribution {
+ opacity: 0.5;
+ }
\ No newline at end of file
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.ts
index dc323e40..aa6a9ede 100644
--- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.ts
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/components/envelope-table/envelope-table.component.ts
@@ -2,12 +2,22 @@ import { Component, ViewChild } from '@angular/core';
import { EnvelopeReceiverService } from '../../services/envelope-receiver.service';
import { MatTable, MatTableModule } from '@angular/material/table';
import { CommonModule } from '@angular/common'
+import {MatIconModule} from '@angular/material/icon';
+import {MatButtonModule} from '@angular/material/button';
+import {animate, state, style, transition, trigger} from '@angular/animations';
@Component({
selector: 'app-envelope-table',
standalone: true,
- imports: [MatTableModule, CommonModule],
+ imports: [MatTableModule, CommonModule, MatTableModule, MatButtonModule, MatIconModule],
templateUrl: './envelope-table.component.html',
+ animations: [
+ trigger('detailExpand', [
+ state('collapsed,void', style({height: '0px', minHeight: '0'})),
+ state('expanded', style({height: '*'})),
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
+ ]),
+ ],
styleUrl: './envelope-table.component.scss'
})
export class EnvelopeTableComponent {
@@ -15,7 +25,8 @@ export class EnvelopeTableComponent {
data: Array = []
public displayedColumns: string[] = ['title', 'status', 'type', 'privateMessage', 'addedWhen'];
-
+ columnsToDisplayWithExpand = [...this.displayedColumns, 'expand'];
+
schema: any = {
'title': {
header: 'Title',
@@ -39,6 +50,8 @@ export class EnvelopeTableComponent {
},
}
+ expandedElement: any | null;
+
@ViewChild(MatTable) table!: MatTable;
constructor(private erService: EnvelopeReceiverService) { }
@@ -50,4 +63,8 @@ export class EnvelopeTableComponent {
public updateTable() {
this.table.renderRows();
}
+
+ isExpandedRow(index: number, row: any): boolean {
+ return (row?.envelopeId === this.expandedElement?.envelopeId) && (row?.receiverId === this.expandedElement?.receiverId);
+ }
}
\ No newline at end of file