From a9c1f628a44df678680d7851aace2ad4a9cf93c0 Mon Sep 17 00:00:00 2001
From: Mikunj
Date: Tue, 20 Nov 2018 12:55:38 +1100
Subject: [PATCH] Switched to using html select.
---
js/models/blockedNumbers.js | 2 +-
js/views/blocked_number_view.js | 56 +++++++++++++++++++--------------
settings.html | 7 +----
stylesheets/_settings.scss | 17 +++++-----
4 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/js/models/blockedNumbers.js b/js/models/blockedNumbers.js
index 6c8b5b113..93cf697d8 100644
--- a/js/models/blockedNumbers.js
+++ b/js/models/blockedNumbers.js
@@ -86,7 +86,7 @@
return m.get('number');
},
getNumber(number) {
- return this.models.find(m => m.number === number);
+ return this.models.find(m => m.get('number') === number);
},
});
diff --git a/js/views/blocked_number_view.js b/js/views/blocked_number_view.js
index 41b731635..3743815d3 100644
--- a/js/views/blocked_number_view.js
+++ b/js/views/blocked_number_view.js
@@ -15,7 +15,7 @@
templateName: 'blockedUserSettings',
className: 'blockedUserSettings',
events: {
- 'click .sync': 'sync',
+ 'click .unblock-button': 'onUnblock',
},
initialize() {
storage.onready(() => {
@@ -25,41 +25,51 @@
});
this.listView.render();
- this.$('.blocked-user-settings').append(this.listView.el);
+ this.blockedUserSettings = this.$('.blocked-user-settings');
+ this.blockedUserSettings.prepend(this.listView.el);
});
},
render_attributes() {
return {
blockedHeader: i18n('settingsUnblockHeader'),
- };
- },
- });
-
-
- Whisper.BlockedNumberListView = Whisper.ListView.extend({
- itemView: Whisper.View.extend({
- tagName: 'li',
- templateName: 'blockedNumber',
- events: {
- 'click .unblock-button': 'onUnblock',
- },
- render_attributes() {
- const number = (this.model && this.model.get('number')) || '-';
- return {
- number,
unblockMessage: i18n('unblockUser'),
- }
+ };
},
onUnblock() {
- const number = this.model && this.model.get('number');
+ const number = this.$('select option:selected').val();
if (!number) return;
if (BlockedNumberController.isBlocked(number)) {
BlockedNumberController.unblock(number);
window.onUnblockNumber(number);
- this.remove();
+ this.listView.collection.remove(this.listView.collection.where({ number }));
}
},
- }),
- });
+ });
+
+
+ Whisper.BlockedNumberListView = Whisper.View.extend({
+ tagName: 'select',
+ initialize(options) {
+ this.options = options || {};
+ this.listenTo(this.collection, 'add', this.addOne);
+ this.listenTo(this.collection, 'reset', this.addAll);
+ this.listenTo(this.collection, 'remove', this.addAll);
+ },
+ addOne(model) {
+ const number = model.get('number');
+ if (number) {
+ this.$el.append(``);
+ }
+ },
+ addAll() {
+ this.$el.html('');
+ this.collection.each(this.addOne, this);
+ },
+
+ render() {
+ this.addAll();
+ return this;
+ },
+ });
})();
diff --git a/settings.html b/settings.html
index e042c74a0..41db19de6 100644
--- a/settings.html
+++ b/settings.html
@@ -34,15 +34,10 @@
-