mirror of
https://github.com/discourse/discourse.git
synced 2025-02-20 11:48:26 -06:00
FIX: more resilient whisper state between composer states (#6687)
This commit is contained in:
parent
8da8f5d0f7
commit
4f24d7dec8
@ -194,9 +194,13 @@ export default Ember.Controller.extend({
|
||||
|
||||
canUnlistTopic: Em.computed.and("model.creatingTopic", "isStaffUser"),
|
||||
|
||||
@computed("canWhisper", "model.whisper")
|
||||
showWhisperToggle(canWhisper, isWhisper) {
|
||||
return canWhisper && !isWhisper;
|
||||
@computed("canWhisper", "model.post")
|
||||
showWhisperToggle(canWhisper, repliedToPost) {
|
||||
const replyingToWhisper =
|
||||
repliedToPost &&
|
||||
repliedToPost.get("post_type") === this.site.post_types.whisper;
|
||||
|
||||
return canWhisper && !replyingToWhisper;
|
||||
},
|
||||
|
||||
@computed("isStaffUser", "model.action")
|
||||
@ -220,7 +224,7 @@ export default Ember.Controller.extend({
|
||||
return option;
|
||||
},
|
||||
|
||||
@computed("model.composeState", "model.creatingTopic")
|
||||
@computed("model.composeState", "model.creatingTopic", "model.post")
|
||||
popupMenuOptions(composeState) {
|
||||
if (composeState === "open" || composeState === "fullscreen") {
|
||||
let options = [];
|
||||
|
@ -366,28 +366,36 @@ QUnit.test("Composer can toggle between edit and reply", async assert => {
|
||||
});
|
||||
|
||||
QUnit.test("Composer can toggle whispers", async assert => {
|
||||
const menu = selectKit(".toolbar-popup-menu-options");
|
||||
|
||||
await visit("/t/this-is-a-test-topic/9");
|
||||
await click(".topic-post:eq(0) button.reply");
|
||||
|
||||
await selectKit(".toolbar-popup-menu-options").expand();
|
||||
await selectKit(".toolbar-popup-menu-options").selectRowByValue(
|
||||
"toggleWhisper"
|
||||
);
|
||||
await menu.expand();
|
||||
await menu.selectRowByValue("toggleWhisper");
|
||||
|
||||
assert.ok(
|
||||
find(".composer-fields .whisper .d-icon-eye-slash").length === 1,
|
||||
"it sets the post type to whisper"
|
||||
);
|
||||
|
||||
await selectKit(".toolbar-popup-menu-options").expand();
|
||||
await selectKit(".toolbar-popup-menu-options").selectRowByValue(
|
||||
"toggleWhisper"
|
||||
);
|
||||
await menu.expand();
|
||||
await menu.selectRowByValue("toggleWhisper");
|
||||
|
||||
assert.ok(
|
||||
find(".composer-fields .whisper .d-icon-eye-slash").length === 0,
|
||||
"it removes the whisper mode"
|
||||
);
|
||||
|
||||
await menu.expand();
|
||||
await menu.selectRowByValue("toggleWhisper");
|
||||
|
||||
await click(".toggle-fullscreen");
|
||||
|
||||
assert.ok(
|
||||
menu.rowByValue("toggleWhisper").exists(),
|
||||
"whisper toggling is still present when going fullscreen"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test(
|
||||
|
Loading…
Reference in New Issue
Block a user