Add delete widget confirmation dialog.

This commit is contained in:
Richard Lewis 2017-10-23 17:05:44 +01:00
parent 625b87d346
commit ee60155846
2 changed files with 29 additions and 13 deletions

View File

@ -172,18 +172,32 @@ export default React.createClass({
*/ */
_onDeleteClick: function() { _onDeleteClick: function() {
if (this._canUserModify()) { if (this._canUserModify()) {
console.log("Delete widget %s", this.props.id); // Show delete confirmation dialog
this.setState({deleting: true}); const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
MatrixClientPeg.get().sendStateEvent( Modal.createTrackedDialog('Delete Widget', '', QuestionDialog, {
this.props.room.roomId, title: _t("Delete Widget"),
'im.vector.modular.widgets', description:
{}, // empty content <div>
this.props.id, { _t("Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?") }
).then(() => { </div>,
console.log('Deleted widget'); button: _t("OK"),
}, (e) => { onFinished: (confirmed) => {
console.error('Failed to delete widget', e); if (confirmed) {
this.setState({deleting: false}); console.log("Delete widget %s", this.props.id);
this.setState({deleting: true});
MatrixClientPeg.get().sendStateEvent(
this.props.room.roomId,
'im.vector.modular.widgets',
{}, // empty content
this.props.id,
).then(() => {
console.log('Deleted widget');
}, (e) => {
console.error('Failed to delete widget', e);
this.setState({deleting: false});
});
}
},
}); });
} else { } else {
console.log("Revoke widget permissions - %s", this.props.id); console.log("Revoke widget permissions - %s", this.props.id);
@ -305,7 +319,7 @@ export default React.createClass({
let deleteIcon = 'img/cancel.svg'; let deleteIcon = 'img/cancel.svg';
let deleteClasses = 'mx_filterFlipColor mx_AppTileMenuBarWidget'; let deleteClasses = 'mx_filterFlipColor mx_AppTileMenuBarWidget';
if(this._canUserModify()) { if(this._canUserModify()) {
deleteIcon = 'img/cancel-red.svg'; deleteIcon = 'img/icon-delete-pink.svg';
deleteClasses += ' mx_AppTileMenuBarWidgetDelete'; deleteClasses += ' mx_AppTileMenuBarWidgetDelete';
} }

View File

@ -201,6 +201,8 @@
"Authentication": "Authentication", "Authentication": "Authentication",
"Failed to delete device": "Failed to delete device", "Failed to delete device": "Failed to delete device",
"Delete": "Delete", "Delete": "Delete",
"Delete Widget": "Delete Widget",
"Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?": "Deleting a widget removes it for all users in this room - are you sure you want to delete this widget?",
"Disable Notifications": "Disable Notifications", "Disable Notifications": "Disable Notifications",
"Enable Notifications": "Enable Notifications", "Enable Notifications": "Enable Notifications",
"Cannot add any more widgets": "Cannot add any more widgets", "Cannot add any more widgets": "Cannot add any more widgets",