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',