Merge pull request #618 from sachaaaaa/simplify_bulk_edit_bar

Prevent instantiating a new BulkEdit react component with every click
pull/626/head
Beaudan Campbell-Brown 6 years ago committed by GitHub
commit d15d560f58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,33 +8,29 @@
Whisper.BulkEditView = Whisper.View.extend({ Whisper.BulkEditView = Whisper.View.extend({
initialize(options) { initialize(options) {
this.selectedMessages = new Set(); this.memberView = null;
this.render(); this.props = {
this.onCancel = options.onCancel; onCancel: options.onCancel,
this.onDelete = options.onDelete; onDelete: options.onDelete,
messageCount: 0,
};
}, },
render() { render() {
if (this.memberView) { if (this.memberView) {
this.memberView.remove(); this.memberView.update(this.props);
this.memberView = null; return;
} }
this.memberView = new Whisper.ReactWrapperView({ this.memberView = new Whisper.ReactWrapperView({
className: 'bulk-edit-view', className: 'bulk-edit-view',
Component: window.Signal.Components.BulkEdit, Component: window.Signal.Components.BulkEdit,
props: { props: this.props,
messageCount: this.selectedMessages.size,
onCancel: this.onCancel,
onDelete: this.onDelete,
},
}); });
this.$el.append(this.memberView.el); this.$el.append(this.memberView.el);
return this;
}, },
update(selectedMessages) { update(selectionSize) {
this.selectedMessages = selectedMessages; this.props.messageCount = selectionSize;
this.render(); this.render();
}, },
}); });

@ -1802,7 +1802,7 @@
$('.compose').show(); $('.compose').show();
} }
this.bulkEditView.update(this.model.selectedMessages); this.bulkEditView.update(selectionSize);
}, },
resetMessageSelection() { resetMessageSelection() {

Loading…
Cancel
Save