diff --git a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.html b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.html index 2e0f5444b8..3933fe2f38 100644 --- a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.html +++ b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.html @@ -1,13 +1,26 @@ - - + + + + + - + + + + - - + + - + + diff --git a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.scss b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.scss index 8b13789179..e335f03e90 100644 --- a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.scss +++ b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.scss @@ -1 +1,17 @@ +.link { + &__short { + display: flex; + &__icon { + font-size: 17px; + + mat-icon { + font-size: 16px; + height: 16px; + margin-right: 2px; + width: 16px; + } + } + + } +} diff --git a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.ts b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.ts index ad1a582ed3..0430bb7a21 100644 --- a/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.ts +++ b/src/frontend/app/shared/components/list/list-table/app-table-cell-default/app-table-cell-default.component.ts @@ -34,6 +34,7 @@ export class TableCellDefaultComponent extends TableCellCustom implements public linkValue: string; public linkTarget = '_self'; public valueGenerator: (row: T) => string; + public showShortLink = false; public init() { this.setValueGenerator(); @@ -46,6 +47,10 @@ export class TableCellDefaultComponent extends TableCellCustom implements this.linkTarget = '_blank'; } this.isExternalLink = this.isLink && this.cellDefinition.externalLink; + this.showShortLink = this.cellDefinition.showShortLink; + if (this.showShortLink && !this.isExternalLink) { + throw Error('Short links must be external links'); + } } private setSyncLink() { diff --git a/src/frontend/app/shared/components/list/list-table/table.types.ts b/src/frontend/app/shared/components/list/list-table/table.types.ts index 948d0ffd6f..d35cddcf67 100644 --- a/src/frontend/app/shared/components/list/list-table/table.types.ts +++ b/src/frontend/app/shared/components/list/list-table/table.types.ts @@ -27,6 +27,7 @@ export interface ICellDefinition { getAsyncLink?: (value) => string; newTab?: boolean; asyncValue?: ICellAsyncValue; + showShortLink?: boolean; } export type CellConfigFunction = (row: T) => any; diff --git a/src/frontend/app/shared/components/list/list-types/cf-services/cf-service-instances-list-config.base.ts b/src/frontend/app/shared/components/list/list-types/cf-services/cf-service-instances-list-config.base.ts index 81dac8a9ed..49e9a65de8 100644 --- a/src/frontend/app/shared/components/list/list-types/cf-services/cf-service-instances-list-config.base.ts +++ b/src/frontend/app/shared/components/list/list-types/cf-services/cf-service-instances-list-config.base.ts @@ -76,6 +76,17 @@ export class CfServiceInstancesListConfigBase implements IListConfig 'Dashboard', + cellDefinition: { + externalLink: true, + getLink: (row: APIResource) => row.entity.dashboard_url, + newTab: true, + showShortLink: true + }, + cellFlex: '1' + }, { columnId: 'tags', headerCell: () => 'Tags',