diff --git a/src/widget.filtereditor.js b/src/widget.filtereditor.js index 74a4f787..28c80bb3 100644 --- a/src/widget.filtereditor.js +++ b/src/widget.filtereditor.js @@ -13,18 +13,18 @@ my.FilterEditor = Backbone.View.extend({ Add filter \ \ @@ -44,7 +44,7 @@ my.FilterEditor = Backbone.View.extend({
\ \ {{field}} {{type}} \ - × \ + × \ \ \
\ @@ -55,7 +55,7 @@ my.FilterEditor = Backbone.View.extend({
\ \ {{field}} {{type}} \ - × \ + × \ \ \ \ @@ -69,7 +69,7 @@ my.FilterEditor = Backbone.View.extend({
\ \ {{field}} {{type}} \ - × \ + × \ \ \ \ @@ -129,7 +129,7 @@ my.FilterEditor = Backbone.View.extend({ onRemoveFilter: function(e) { e.preventDefault(); var $target = $(e.target); - var filterId = $target.closest('.filter').attr('data-filter-id'); + var filterId = $target.attr('data-filter-id'); this.model.queryState.removeFilter(filterId); }, onTermFiltersUpdate: function(e) { diff --git a/test/widget.filtereditor.test.js b/test/widget.filtereditor.test.js index df57fa90..3df630ff 100644 --- a/test/widget.filtereditor.test.js +++ b/test/widget.filtereditor.test.js @@ -29,11 +29,31 @@ test('basics', function () { equal(dataset.queryState.attributes.filters[0].term, 'UK'); equal(dataset.records.length, 3); + // now set a second range filter ... + view.el.find('.js-add-filter').click(); + var $addForm = view.el.find('form.js-add'); + $addForm.find('select.fields').val('x'); + $addForm.find('select.filterType').val('range'); + $addForm.submit(); + + $editForm = view.el.find('form.js-edit'); + $editForm.find('.filter-range input').first().val('2'); + $editForm.find('.filter-range input').last().val('4'); + $editForm.submit(); + equal(dataset.queryState.attributes.filters[1].start, 2); + equal(dataset.records.length, 2); + // now remove filter $editForm = view.el.find('form.js-edit'); - $editForm.find('.js-remove-filter').click(); + $editForm.find('.js-remove-filter').last().click(); $editForm = view.el.find('form.js-edit'); - equal($editForm.find('.filter-term').length, 0) + equal($editForm.find('.filter').length, 1) + equal(dataset.records.length, 3); + + $editForm = view.el.find('form.js-edit'); + $editForm.find('.js-remove-filter').last().click(); + $editForm = view.el.find('form.js-edit'); + equal($editForm.find('.filter').length, 0) equal(dataset.records.length, 6); view.remove();