Room settings: Added notifications mute checkbox
This commit is contained in:
parent
7985413893
commit
f868f7813b
2 changed files with 25 additions and 0 deletions
|
@ -804,6 +804,13 @@ module.exports = React.createClass({
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// setRoomMutePushRule will do nothing if there is no change
|
||||||
|
deferreds.push(
|
||||||
|
MatrixClientPeg.get().setRoomMutePushRule(
|
||||||
|
"global", this.state.room.roomId, newVals.are_notifications_muted
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
if (newVals.power_levels) {
|
if (newVals.power_levels) {
|
||||||
deferreds.push(
|
deferreds.push(
|
||||||
MatrixClientPeg.get().sendStateEvent(
|
MatrixClientPeg.get().sendStateEvent(
|
||||||
|
@ -908,6 +915,7 @@ module.exports = React.createClass({
|
||||||
topic: this.refs.room_settings.getTopic(),
|
topic: this.refs.room_settings.getTopic(),
|
||||||
join_rule: this.refs.room_settings.getJoinRules(),
|
join_rule: this.refs.room_settings.getJoinRules(),
|
||||||
history_visibility: this.refs.room_settings.getHistoryVisibility(),
|
history_visibility: this.refs.room_settings.getHistoryVisibility(),
|
||||||
|
are_notifications_muted: this.refs.room_settings.areNotificationsMuted(),
|
||||||
power_levels: this.refs.room_settings.getPowerLevels(),
|
power_levels: this.refs.room_settings.getPowerLevels(),
|
||||||
guest_join: this.refs.room_settings.canGuestsJoin(),
|
guest_join: this.refs.room_settings.canGuestsJoin(),
|
||||||
guest_read: this.refs.room_settings.canGuestsRead()
|
guest_read: this.refs.room_settings.canGuestsRead()
|
||||||
|
|
|
@ -51,6 +51,10 @@ module.exports = React.createClass({
|
||||||
return this.refs.share_history.checked ? "shared" : "invited";
|
return this.refs.share_history.checked ? "shared" : "invited";
|
||||||
},
|
},
|
||||||
|
|
||||||
|
areNotificationsMuted: function() {
|
||||||
|
return this.refs.are_notifications_muted.checked;
|
||||||
|
},
|
||||||
|
|
||||||
getPowerLevels: function() {
|
getPowerLevels: function() {
|
||||||
if (!this.state.power_levels_changed) return undefined;
|
if (!this.state.power_levels_changed) return undefined;
|
||||||
|
|
||||||
|
@ -96,6 +100,14 @@ module.exports = React.createClass({
|
||||||
guest_access = guest_access.getContent().guest_access;
|
guest_access = guest_access.getContent().guest_access;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var are_notifications_muted;
|
||||||
|
var roomPushRule = MatrixClientPeg.get().getRoomPushRule("global", this.props.room.roomId);
|
||||||
|
if (roomPushRule) {
|
||||||
|
if (0 <= roomPushRule.actions.indexOf("dont_notify")) {
|
||||||
|
are_notifications_muted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var events_levels = power_levels.events || {};
|
var events_levels = power_levels.events || {};
|
||||||
|
|
||||||
if (power_levels) {
|
if (power_levels) {
|
||||||
|
@ -176,6 +188,11 @@ module.exports = React.createClass({
|
||||||
</label> <br/>
|
</label> <br/>
|
||||||
<label className="mx_RoomSettings_encrypt"><input type="checkbox" /> Encrypt room</label> <br/>
|
<label className="mx_RoomSettings_encrypt"><input type="checkbox" /> Encrypt room</label> <br/>
|
||||||
|
|
||||||
|
<h3>Notifications</h3>
|
||||||
|
<div className="mx_RoomSettings_settings">
|
||||||
|
<label><input type="checkbox" ref="are_notifications_muted" defaultChecked={are_notifications_muted}/> Mute notifications for this room</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>Power levels</h3>
|
<h3>Power levels</h3>
|
||||||
<div className="mx_RoomSettings_power_levels mx_RoomSettings_settings">
|
<div className="mx_RoomSettings_power_levels mx_RoomSettings_settings">
|
||||||
<div>
|
<div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue