Hide filters and fields by default

This commit is contained in:
John Glover
2013-02-06 16:37:59 +01:00
parent d1a5c0803d
commit 67b684d58f
4 changed files with 9 additions and 25 deletions

View File

@@ -98,6 +98,7 @@
.recline-filter-editor { .recline-filter-editor {
padding: 8px; padding: 8px;
display: none;
} }
.recline-filter-editor .filter-term a { .recline-filter-editor .filter-term a {
@@ -115,6 +116,10 @@
* Fields Widget * Fields Widget
*********************************************************/ *********************************************************/
.recline-fields-view {
display: none;
}
.recline-fields-view .fields-list { .recline-fields-view .fields-list {
padding: 0; padding: 0;
} }

View File

@@ -112,7 +112,7 @@ my.MultiView = Backbone.View.extend({
<div class="menu-right"> \ <div class="menu-right"> \
<div class="btn-group" data-toggle="buttons-checkbox"> \ <div class="btn-group" data-toggle="buttons-checkbox"> \
{{#sidebarViews}} \ {{#sidebarViews}} \
<a href="#" data-action="{{id}}" class="btn active">{{label}}</a> \ <a href="#" data-action="{{id}}" class="btn">{{label}}</a> \
{{/sidebarViews}} \ {{/sidebarViews}} \
</div> \ </div> \
</div> \ </div> \

View File

@@ -38,7 +38,7 @@ my.Fields = Backbone.View.extend({
</small> \ </small> \
</h4> \ </h4> \
</div> \ </div> \
<div id="collapse{{id}}" class="accordion-body collapse in"> \ <div id="collapse{{id}}" class="accordion-body collapse"> \
<div class="accordion-inner"> \ <div class="accordion-inner"> \
{{#facets}} \ {{#facets}} \
<div class="facet-summary" data-facet="{{id}}"> \ <div class="facet-summary" data-facet="{{id}}"> \
@@ -57,9 +57,6 @@ my.Fields = Backbone.View.extend({
</div> \ </div> \
', ',
events: {
'click .js-show-hide': 'onShowHide'
},
initialize: function(model) { initialize: function(model) {
var self = this; var self = this;
this.el = $(this.el); this.el = $(this.el);
@@ -77,6 +74,7 @@ my.Fields = Backbone.View.extend({
self.model.getFieldsSummary(); self.model.getFieldsSummary();
self.render(); self.render();
}); });
this.el.find('.collapse').collapse();
this.render(); this.render();
}, },
render: function() { render: function() {
@@ -91,23 +89,6 @@ my.Fields = Backbone.View.extend({
}); });
var templated = Mustache.render(this.template, tmplData); var templated = Mustache.render(this.template, tmplData);
this.el.html(templated); this.el.html(templated);
this.el.find('.collapse').collapse('hide');
},
onShowHide: function(e) {
e.preventDefault();
var $target = $(e.target);
// weird collapse class seems to have been removed (can watch this happen
// if you watch dom) but could not work why. Absence of collapse then meant
// we could not toggle.
// This seems to fix the problem.
this.el.find('.accordion-body').addClass('collapse');;
if ($target.text() === '+') {
this.el.find('.collapse').collapse('show');
$target.text('-');
} else {
this.el.find('.collapse').collapse('hide');
$target.text('+');
}
} }
}); });

View File

@@ -123,8 +123,6 @@ my.FilterEditor = Backbone.View.extend({
var filterType = $target.find('select.filterType').val(); var filterType = $target.find('select.filterType').val();
var field = $target.find('select.fields').val(); var field = $target.find('select.fields').val();
this.model.queryState.addFilter({type: filterType, field: field}); this.model.queryState.addFilter({type: filterType, field: field});
// trigger render explicitly as queryState change will not be triggered (as blank value for filter)
this.render();
}, },
onRemoveFilter: function(e) { onRemoveFilter: function(e) {
e.preventDefault(); e.preventDefault();
@@ -141,7 +139,7 @@ my.FilterEditor = Backbone.View.extend({
var $input = $(input); var $input = $(input);
var filterType = $input.attr('data-filter-type'); var filterType = $input.attr('data-filter-type');
var fieldId = $input.attr('data-filter-field'); var fieldId = $input.attr('data-filter-field');
var filterIndex = parseInt($input.attr('data-filter-id')); var filterIndex = parseInt($input.attr('data-filter-id'), 10);
var name = $input.attr('name'); var name = $input.attr('name');
var value = $input.val(); var value = $input.val();