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 @@

-