Improving common list displays

This commit is contained in:
2023-03-09 17:44:30 +01:00
parent 1e3855ced5
commit a52435d443
5 changed files with 18 additions and 12 deletions

View File

@@ -13,7 +13,7 @@ export class BaseContractsComponent {
templateUrl: '../base-view/templates/list.template.html' templateUrl: '../base-view/templates/list.template.html'
}) })
export class ContractsListComponent extends BaseContractsComponent { export class ContractsListComponent extends BaseContractsComponent {
columns = []; columns = ['status', 'name', 'title', 'parties.items.entity.label', 'lawyer.label', 'date'];
} }
@Component({ @Component({

View File

@@ -17,7 +17,7 @@ export class BaseDraftsComponent {
templateUrl: '../base-view/templates/list.template.html' templateUrl: '../base-view/templates/list.template.html'
}) })
export class DraftsListComponent extends BaseDraftsComponent { export class DraftsListComponent extends BaseDraftsComponent {
columns = []; columns = ['status', 'name', 'title', 'parties.items.part'];
} }
@Component({ @Component({

View File

@@ -7,20 +7,20 @@ export class BaseContractTemplateComponent {
} }
@Component({ @Component({
templateUrl: '../base-view/templates/list.template.html' templateUrl: '../base-view/templates/list.template.html'
}) })
export class ContractTemplateListComponent extends BaseContractTemplateComponent { export class ContractTemplateListComponent extends BaseContractTemplateComponent {
columns = []; columns = ['name', 'title', 'parties.items.part'];
} }
@Component({ @Component({
templateUrl: '../base-view/templates/new.template.html' templateUrl: '../base-view/templates/new.template.html'
}) })
export class ContractTemplateNewComponent extends BaseContractTemplateComponent { export class ContractTemplateNewComponent extends BaseContractTemplateComponent {
} }
@Component({ @Component({
templateUrl: '../base-view/templates/card.template.html' templateUrl: '../base-view/templates/card.template.html'
}) })
export class ContractTemplateCardComponent extends BaseContractTemplateComponent { export class ContractTemplateCardComponent extends BaseContractTemplateComponent {
} }

View File

@@ -7,20 +7,20 @@ export class BaseProvisionTemplateComponent {
} }
@Component({ @Component({
templateUrl: '../base-view/templates/list.template.html' templateUrl: '../base-view/templates/list.template.html'
}) })
export class ProvisionTemplateListComponent extends BaseProvisionTemplateComponent{ export class ProvisionTemplateListComponent extends BaseProvisionTemplateComponent{
columns = []; columns = ['name', 'title', 'body'];
} }
@Component({ @Component({
templateUrl: '../base-view/templates/new.template.html' templateUrl: '../base-view/templates/new.template.html'
}) })
export class ProvisionTemplateNewComponent extends BaseProvisionTemplateComponent { export class ProvisionTemplateNewComponent extends BaseProvisionTemplateComponent {
} }
@Component({ @Component({
templateUrl: '../base-view/templates/card.template.html' templateUrl: '../base-view/templates/card.template.html'
}) })
export class ProvisionTemplateCardComponent extends BaseProvisionTemplateComponent { export class ProvisionTemplateCardComponent extends BaseProvisionTemplateComponent {
} }

View File

@@ -75,10 +75,16 @@ export class ListComponent implements OnInit {
} }
} }
getColumnValue(row: any, col: string) { getColumnValue(row: any, col: string): string {
let parent = row; let parent = row;
for (const key of col.split('.')) { for (const key of col.split('.')) {
parent = parent[key]; if (key == 'items' && Array.isArray(parent)) {
let path_parts = col.split(/items\.(.*)/s);
let subkey = path_parts[1]
return parent.map((v: any) => this.getColumnValue(v, subkey)).join(', ');
} else {
parent = parent[key];
}
} }
return parent; return parent;
} }