Skip to content

Commit 387d664

Browse files
feat(module:modal): support standalone component (#8240)
* feat(module:modal): support standalone component * feat(module:modal): support standalone component * feat(module:modal): support standalone component
1 parent 3a7cd50 commit 387d664

12 files changed

Lines changed: 203 additions & 195 deletions

components/modal/doc/index.en-US.md

Lines changed: 64 additions & 72 deletions
Large diffs are not rendered by default.

components/modal/doc/index.zh-CN.md

Lines changed: 72 additions & 81 deletions
Large diffs are not rendered by default.

components/modal/modal-close.component.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
import { ChangeDetectionStrategy, Component } from '@angular/core';
77

8+
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
9+
import { NzIconModule } from 'ng-zorro-antd/icon';
10+
811
import { ModalOptions } from './modal-types';
912

1013
@Component({
@@ -21,7 +24,9 @@ import { ModalOptions } from './modal-types';
2124
class: 'ant-modal-close',
2225
'aria-label': 'Close'
2326
},
24-
changeDetection: ChangeDetectionStrategy.OnPush
27+
changeDetection: ChangeDetectionStrategy.OnPush,
28+
imports: [NzIconModule, NzOutletModule],
29+
standalone: true
2530
})
2631
export class NzModalCloseComponent {
2732
constructor(public config: ModalOptions) {}

components/modal/modal-confirm-container.component.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import { FocusTrapFactory } from '@angular/cdk/a11y';
77
import { OverlayRef } from '@angular/cdk/overlay';
8-
import { CdkPortalOutlet } from '@angular/cdk/portal';
9-
import { DOCUMENT } from '@angular/common';
8+
import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
9+
import { DOCUMENT, NgClass, NgIf, NgStyle } from '@angular/common';
1010
import {
1111
ChangeDetectionStrategy,
1212
ChangeDetectorRef,
@@ -24,11 +24,16 @@ import {
2424
import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
2525
import { takeUntil } from 'rxjs/operators';
2626

27+
import { NzButtonModule } from 'ng-zorro-antd/button';
2728
import { NzConfigService } from 'ng-zorro-antd/core/config';
29+
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
2830
import { NzSafeAny } from 'ng-zorro-antd/core/types';
2931
import { NzI18nService, NzModalI18nInterface } from 'ng-zorro-antd/i18n';
32+
import { NzIconModule } from 'ng-zorro-antd/icon';
33+
import { NzPipesModule } from 'ng-zorro-antd/pipes';
3034

3135
import { nzModalAnimations } from './modal-animations';
36+
import { NzModalCloseComponent } from './modal-close.component';
3237
import { BaseModalContainerComponent } from './modal-container.directive';
3338
import { ModalOptions } from './modal-types';
3439

@@ -104,7 +109,19 @@ import { ModalOptions } from './modal-types';
104109
'(@modalContainer.start)': 'onAnimationStart($event)',
105110
'(@modalContainer.done)': 'onAnimationDone($event)',
106111
'(click)': 'onContainerClick($event)'
107-
}
112+
},
113+
imports: [
114+
NgClass,
115+
NgStyle,
116+
NzPipesModule,
117+
NzIconModule,
118+
NgIf,
119+
NzModalCloseComponent,
120+
NzOutletModule,
121+
PortalModule,
122+
NzButtonModule
123+
],
124+
standalone: true
108125
})
109126
export class NzModalConfirmContainerComponent extends BaseModalContainerComponent implements OnInit {
110127
@ViewChild(CdkPortalOutlet, { static: true }) override portalOutlet!: CdkPortalOutlet;

components/modal/modal-container.component.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import { FocusTrapFactory } from '@angular/cdk/a11y';
77
import { OverlayRef } from '@angular/cdk/overlay';
8-
import { CdkPortalOutlet } from '@angular/cdk/portal';
9-
import { DOCUMENT } from '@angular/common';
8+
import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
9+
import { DOCUMENT, NgClass, NgIf, NgStyle } from '@angular/common';
1010
import {
1111
ChangeDetectionStrategy,
1212
ChangeDetectorRef,
@@ -23,9 +23,13 @@ import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
2323

2424
import { NzConfigService } from 'ng-zorro-antd/core/config';
2525
import { NzSafeAny } from 'ng-zorro-antd/core/types';
26+
import { NzPipesModule } from 'ng-zorro-antd/pipes';
2627

2728
import { nzModalAnimations } from './modal-animations';
29+
import { NzModalCloseComponent } from './modal-close.component';
2830
import { BaseModalContainerComponent } from './modal-container.directive';
31+
import { NzModalFooterComponent } from './modal-footer.component';
32+
import { NzModalTitleComponent } from './modal-title.component';
2933
import { ModalOptions } from './modal-types';
3034

3135
@Component({
@@ -72,7 +76,18 @@ import { ModalOptions } from './modal-types';
7276
'(@modalContainer.start)': 'onAnimationStart($event)',
7377
'(@modalContainer.done)': 'onAnimationDone($event)',
7478
'(click)': 'onContainerClick($event)'
75-
}
79+
},
80+
imports: [
81+
NgClass,
82+
NgStyle,
83+
NgIf,
84+
NzModalCloseComponent,
85+
NzModalTitleComponent,
86+
PortalModule,
87+
NzModalFooterComponent,
88+
NzPipesModule
89+
],
90+
standalone: true
7691
})
7792
export class NzModalContainerComponent extends BaseModalContainerComponent implements OnInit {
7893
@ViewChild(CdkPortalOutlet, { static: true }) override portalOutlet!: CdkPortalOutlet;

components/modal/modal-content.directive.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { Directive, TemplateRef } from '@angular/core';
77

88
@Directive({
99
selector: '[nzModalContent]',
10-
exportAs: 'nzModalContent'
10+
exportAs: 'nzModalContent',
11+
standalone: true
1112
})
1213
export class NzModalContentDirective {
1314
constructor(public templateRef: TemplateRef<{}>) {}

components/modal/modal-footer.component.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
44
*/
55

6+
import { NgFor, NgIf } from '@angular/common';
67
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';
78
import { Subject } from 'rxjs';
89
import { takeUntil } from 'rxjs/operators';
910

11+
import { NzButtonModule } from 'ng-zorro-antd/button';
12+
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
1013
import { isPromise } from 'ng-zorro-antd/core/util';
1114
import { NzI18nService, NzModalI18nInterface } from 'ng-zorro-antd/i18n';
1215

@@ -69,7 +72,9 @@ import { ModalButtonOptions, ModalOptions } from './modal-types';
6972
host: {
7073
class: 'ant-modal-footer'
7174
},
72-
changeDetection: ChangeDetectionStrategy.Default
75+
changeDetection: ChangeDetectionStrategy.Default,
76+
imports: [NgIf, NzOutletModule, NgFor, NzButtonModule],
77+
standalone: true
7378
})
7479
export class NzModalFooterComponent implements OnDestroy {
7580
buttonsFooter = false;

components/modal/modal-footer.directive.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import { NzModalRef } from './modal-ref';
99

1010
@Directive({
1111
selector: '[nzModalFooter]',
12-
exportAs: 'nzModalFooter'
12+
exportAs: 'nzModalFooter',
13+
standalone: true
1314
})
1415
export class NzModalFooterDirective {
1516
constructor(@Optional() private nzModalRef: NzModalRef, public templateRef: TemplateRef<{}>) {

components/modal/modal-title.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import { ChangeDetectionStrategy, Component } from '@angular/core';
77

8+
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
9+
810
import { ModalOptions } from './modal-types';
911

1012
@Component({
@@ -20,7 +22,9 @@ import { ModalOptions } from './modal-types';
2022
host: {
2123
class: 'ant-modal-header'
2224
},
23-
changeDetection: ChangeDetectionStrategy.OnPush
25+
changeDetection: ChangeDetectionStrategy.OnPush,
26+
imports: [NzOutletModule],
27+
standalone: true
2428
})
2529
export class NzModalTitleComponent {
2630
constructor(public config: ModalOptions) {}

components/modal/modal-title.directive.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import { NzModalRef } from './modal-ref';
99

1010
@Directive({
1111
selector: '[nzModalTitle]',
12-
exportAs: 'nzModalTitle'
12+
exportAs: 'nzModalTitle',
13+
standalone: true
1314
})
1415
export class NzModalTitleDirective {
1516
constructor(@Optional() private nzModalRef: NzModalRef, public templateRef: TemplateRef<{}>) {

0 commit comments

Comments
 (0)