Skip to content

Commit 9cb4412

Browse files
committed
feat(message): Added dismissAll method to controller
1 parent dd4878e commit 9cb4412

File tree

4 files changed

+21
-3
lines changed

4 files changed

+21
-3
lines changed

components/message/message-container.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ export class SuiMessageContainer {
8585
this._queue.push(message);
8686
}
8787

88+
public dismissAll():void {
89+
this._queue = [];
90+
this._messages.forEach(m => m.dismiss());
91+
}
92+
8893
private onMessageClose(message:ActiveMessage):void {
8994
this._messages = this._messages.filter(m => m !== message);
9095

components/message/message-controller.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ export class MessageController {
1111
}
1212

1313
public show(config:MessageConfig):SuiActiveMessage {
14+
this.throwContainerError();
15+
16+
return this._container.show(config);
17+
}
18+
19+
public dismissAll():void {
20+
this.throwContainerError();
21+
22+
return this._container.dismissAll();
23+
}
24+
25+
private throwContainerError() {
1426
if (!this._container) {
1527
throw new Error("You must pass this controller to a message container.");
1628
}
17-
18-
return this._container.show(config);
1929
}
2030
}

demo/src/app/pages/test/test.page.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<h2 class="ui dividing header">Examples</h2>
99
<div class="ui segment">
1010
<button class="ui button" (click)="open()">open</button>
11+
<button class="ui button" (click)="controller.dismissAll()">dismiss all</button>
12+
<br>
1113
<sui-message-container [controller]="controller" [showNewestFirst]="false"></sui-message-container>
1214
</div>
1315
</demo-page-content>

demo/src/app/pages/test/test.page.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ export class TestPage {
1515
}
1616

1717
public open():void {
18-
const message = new MessageConfig(null, MessageState.Default, Date.now().toString());
18+
const message = new MessageConfig("hello, world!", MessageState.Default, "Header");
1919
message.state = MessageState.Default;
20+
message.hasProgress = true;
2021

2122
this.controller.show(message);
2223
}

0 commit comments

Comments
 (0)