File
Extends
Metadata
| changeDetection |
ChangeDetectionStrategy.OnPush |
| selector |
cx-org-link-cell |
| template |
<ng-container *ngIf="unitKey$ | async as uid">
<a
*ngIf="linkable; else text"
[routerLink]="{ cxRoute: route, params: getRouterModel(uid) } | cxUrl"
[tabIndex]="tabIndex"
>
<ng-container *ngTemplateOutlet="text"></ng-container>
</a>
</ng-container>
<ng-template #text>
<span class="text" title="{{ property }}">{{ property }}</span>
</ng-template>
|
Index
Properties
|
|
|
Methods
|
|
|
Accessors
|
|
|
Methods
|
getRouterModel
|
getRouterModel(uid: string)
|
|
|
Parameters :
| Name |
Type |
Optional |
| uid |
string
|
No
|
|
|
unitKey$
|
Type : Observable<string>
|
Default value : this.itemService.key$
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { B2BUnit } from '@spartacus/core';
import {
OutletContextData,
TableDataOutletContext,
} from '@spartacus/storefront';
import { Observable } from 'rxjs';
import { ItemService } from '../../../../shared/item.service';
import { CellComponent } from '../../../../shared/table/cell.component';
@Component({
selector: 'cx-org-link-cell',
template: `
<ng-container *ngIf="unitKey$ | async as uid">
<a
*ngIf="linkable; else text"
[routerLink]="{ cxRoute: route, params: getRouterModel(uid) } | cxUrl"
[tabIndex]="tabIndex"
>
<ng-container *ngTemplateOutlet="text"></ng-container>
</a>
</ng-container>
<ng-template #text>
<span class="text" title="{{ property }}">{{ property }}</span>
</ng-template>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class LinkCellComponent extends CellComponent {
unitKey$: Observable<string> = this.itemService.key$;
constructor(
protected outlet: OutletContextData<TableDataOutletContext>,
protected itemService: ItemService<B2BUnit>
) {
super(outlet);
}
get tabIndex() {
return 0;
}
getRouterModel(uid: string): any {
return { ...this.outlet.context, uid };
}
}
Legend
Html element with directive