Skip to content

Commit 9e51a4f

Browse files
committed
refactor: use control flow
1 parent 83f5f8e commit 9e51a4f

File tree

42 files changed

+310
-274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+310
-274
lines changed

projects/coreui-angular/src/lib/alert/alert.component.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
<ng-container *ngIf="visible || !hide">
2-
<ng-template [ngIf]="dismissible">
3-
<ng-container *ngTemplateOutlet="templates?.alertButtonCloseTemplate || defaultAlertButtonCloseTemplate">
4-
</ng-container>
5-
</ng-template>
6-
<ng-content></ng-content>
7-
</ng-container>
1+
@if (visible || !hide) {
2+
@if (dismissible) {
3+
<ng-container *ngTemplateOutlet="templates?.alertButtonCloseTemplate || defaultAlertButtonCloseTemplate" />
4+
}
5+
<ng-content />
6+
}
87

98
<ng-template #defaultAlertButtonCloseTemplate>
109
<button (click)="visible=false" aria-label="Close" cButtonClose></button>

projects/coreui-angular/src/lib/alert/alert.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
Output,
1010
QueryList
1111
} from '@angular/core';
12-
import { NgIf, NgTemplateOutlet } from '@angular/common';
12+
import { NgTemplateOutlet } from '@angular/common';
1313
import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';
1414
import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';
1515

@@ -25,7 +25,7 @@ type AnimateType = ('hide' | 'show');
2525
styleUrls: ['./alert.component.scss'],
2626
exportAs: 'cAlert',
2727
standalone: true,
28-
imports: [NgIf, NgTemplateOutlet, ButtonCloseDirective],
28+
imports: [NgTemplateOutlet, ButtonCloseDirective],
2929
animations: [
3030
trigger('fadeInOut', [
3131
state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })),
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
<ng-container>
2-
<ng-container *ngTemplateOutlet="defaultImageTemplate"></ng-container>
3-
<span *ngIf="!!status" [ngClass]="statusClass"></span>
2+
<ng-container *ngTemplateOutlet="defaultImageTemplate" />
3+
@if (!!status) {
4+
<span [ngClass]="statusClass"></span>
5+
}
46
</ng-container>
57

68
<ng-template #defaultImageTemplate>
7-
<img *ngIf="!!src; else imageContent" [src]="src" class="avatar-img" />
8-
<ng-template #imageContent>
9-
<ng-content></ng-content>
10-
</ng-template>
9+
@if (!!src) {
10+
<img [src]="src" class="avatar-img" />
11+
} @else {
12+
<ng-content />
13+
}
1114
</ng-template>

projects/coreui-angular/src/lib/avatar/avatar.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, HostBinding, Input } from '@angular/core';
2-
import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
2+
import { NgClass, NgTemplateOutlet } from '@angular/common';
33

44
import { Colors, Shapes, Sizes, TextColors } from '../coreui.types';
55

@@ -9,8 +9,7 @@ import { Colors, Shapes, Sizes, TextColors } from '../coreui.types';
99
standalone: true,
1010
imports: [
1111
NgTemplateOutlet,
12-
NgClass,
13-
NgIf
12+
NgClass
1413
]
1514
})
1615
export class AvatarComponent {
Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
<a *ngIf="!active; else activeItem"
2-
[routerLink]="url"
3-
[cHtmlAttr]="attributes ?? {}"
4-
[target]="attributes?.['target']"
5-
[queryParams]="linkProps?.queryParams ?? null"
6-
[fragment]="linkProps?.fragment"
7-
[queryParamsHandling]="linkProps?.queryParamsHandling ?? null"
8-
[preserveFragment]="linkProps?.preserveFragment ?? false"
9-
[skipLocationChange]="linkProps?.skipLocationChange ?? false"
10-
[replaceUrl]="linkProps?.replaceUrl ?? false"
11-
[state]="linkProps?.state ?? {}"
12-
>
13-
<ng-container *ngTemplateOutlet="defaultBreadcrumbItemContentTemplate"></ng-container>
14-
</a>
15-
16-
<ng-template #activeItem>
1+
@if (!active) {
2+
<a [routerLink]="url"
3+
[cHtmlAttr]="attributes ?? {}"
4+
[target]="attributes?.['target']"
5+
[queryParams]="linkProps?.queryParams ?? null"
6+
[fragment]="linkProps?.fragment"
7+
[queryParamsHandling]="linkProps?.queryParamsHandling ?? null"
8+
[preserveFragment]="linkProps?.preserveFragment ?? false"
9+
[skipLocationChange]="linkProps?.skipLocationChange ?? false"
10+
[replaceUrl]="linkProps?.replaceUrl ?? false"
11+
[state]="linkProps?.state ?? {}"
12+
>
13+
<ng-container *ngTemplateOutlet="defaultBreadcrumbItemContentTemplate" />
14+
</a>
15+
} @else {
1716
<span [cHtmlAttr]="attributes ?? {}">
18-
<ng-container *ngTemplateOutlet="defaultBreadcrumbItemContentTemplate"></ng-container>
17+
<ng-container *ngTemplateOutlet="defaultBreadcrumbItemContentTemplate" />
1918
</span>
20-
</ng-template>
19+
}
2120

2221
<ng-template #defaultBreadcrumbItemContentTemplate>
23-
<ng-content></ng-content>
22+
<ng-content />
2423
</ng-template>

projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, HostBinding, Input } from '@angular/core';
2-
import { NgIf, NgTemplateOutlet } from '@angular/common';
2+
import { NgTemplateOutlet } from '@angular/common';
33
import { RouterModule } from '@angular/router';
44

55
import { HtmlAttributesDirective } from '../../shared';
@@ -10,7 +10,7 @@ import { INavAttributes, INavLinkProps } from './breadcrumb-item';
1010
templateUrl: './breadcrumb-item.component.html',
1111
styleUrls: ['./breadcrumb-item.component.scss'],
1212
standalone: true,
13-
imports: [RouterModule, NgIf, NgTemplateOutlet, HtmlAttributesDirective]
13+
imports: [RouterModule, NgTemplateOutlet, HtmlAttributesDirective]
1414
})
1515
export class BreadcrumbItemComponent {
1616

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<c-breadcrumb class="m-0">
2-
<ng-template ngFor let-breadcrumb [ngForOf]="breadcrumbs | async" let-last="last">
3-
<ng-container *ngIf="breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)">
2+
@for (breadcrumb of breadcrumbs | async; track breadcrumb; let last = $last) {
3+
@if (breadcrumb?.label && (breadcrumb?.url?.slice(-1) === '/' || last)) {
44
<c-breadcrumb-item
55
[active]="last"
66
[url]="breadcrumb?.url"
@@ -9,6 +9,6 @@
99
>
1010
{{ breadcrumb?.label }}
1111
</c-breadcrumb-item>
12-
</ng-container>
13-
</ng-template>
12+
}
13+
}
1414
</c-breadcrumb>

projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.scss

Lines changed: 0 additions & 3 deletions
This file was deleted.

projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
22
import { Observable, Observer } from 'rxjs';
3-
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
3+
import { AsyncPipe } from '@angular/common';
44

55
import { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item';
66
import { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';
@@ -10,9 +10,8 @@ import { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.comp
1010
@Component({
1111
selector: 'c-breadcrumb-router, [cBreadcrumbRouter]',
1212
templateUrl: './breadcrumb-router.component.html',
13-
styleUrls: ['./breadcrumb-router.component.scss'],
1413
standalone: true,
15-
imports: [BreadcrumbComponent, BreadcrumbItemComponent, NgForOf, NgIf, AsyncPipe]
14+
imports: [BreadcrumbComponent, BreadcrumbItemComponent, AsyncPipe]
1615
})
1716
export class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit {
1817
constructor(
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
<div #content *ngIf = "hasContent; else defaultContent"><ng-content></ng-content></div>
2-
<ng-template #defaultContent>
1+
@if (hasContent) {
2+
<div #content>
3+
<ng-content />
4+
</div>
5+
} @else {
36
<span [class]="carouselControlIconClass" [attr.aria-label]="direction" [attr.aria-hidden]="true"></span>
4-
<span class="visually-hidden">{{caption}}</span>
5-
</ng-template>
7+
<span class="visually-hidden">{{ caption }}</span>
8+
}

0 commit comments

Comments
 (0)