Example #1
0
 _onNewGroupby: function (event) {
     var isDate = event.data.isDate;
     var attrs = {
         context:"{'group_by':'" + event.data.fieldName + "''}",
         name: event.data.description,
         fieldName: event.data.fieldName,
         isDate: isDate,
     };
     var groupby = new search_inputs.Filter({attrs: attrs}, this);
     if (event.data.optionId) {
         var interval = event.data.optionId;
         this.intervalMapping.push({groupby: groupby, interval: interval});
     }
     var group = new search_inputs.FilterGroup([groupby], this, this.intervalMapping, this.periodMapping);
     this.groupbysMapping.push({
         groupbyId: event.data.itemId,
         groupby: groupby,
         groupId: event.data.groupId,
     });
     this.groupsMapping.push({
         groupId: event.data.groupId,
         group: group,
         category: 'Group By',
     });
     group.toggle(groupby);
 },
Example #2
0
 add_groupby_to_menu: function (field_name) {
     var filter = new search_inputs.Filter({attrs:{
         context:"{'group_by':'" + field_name + "''}",
         name: _.find(this.groupable_fields, {name: field_name}).string,
     }}, this.searchview);
     var group = new search_inputs.FilterGroup([filter], this.searchview),
         divider = this.$('.divider').show();
     group.insertBefore(divider);
     group.toggle(filter);
 },
Example #3
0
        var addedFilters = _.map(newFilters, function (filter) {
            filter = {
                attrs: {domain: filter.domain, help: filter.help},
            };
            var filterWidget = new search_inputs.Filter(filter);
            var filterGroup = new search_inputs.FilterGroup([filterWidget], self);
            var facet = filterGroup.make_facet([filterGroup.make_value(filter)]);
            self.query.add([facet], {silent: true});

            return _.last(self.query.models);
        })
Example #4
0
 addFilter: function (domain, help) {
     var filter = {
         attrs: {
             domain: domain,
             help: help,
         },
     };
     var filterWidget = new search_inputs.Filter(filter);
     var filterGroup = new search_inputs.FilterGroup([filterWidget], this);
     var facet = filterGroup.make_facet([filterGroup.make_value(filter)]);
     this.query.add([facet], {silent: true});
     this.query.trigger('reset');
 },
Example #5
0
        var addedFilters = _.map(newFilters, function (filter) {
            var domain = filter.domain;
            if (domain instanceof Array) {
                domain =  Domain.prototype.arrayToString(domain);
            }
            filter = {
                attrs: {domain: domain, help: filter.help},
            };
            var filterWidget = new search_inputs.Filter(filter);
            var filterGroup = new search_inputs.FilterGroup([filterWidget], self, self.intervalMapping, self.periodMapping);
            var facet = filterGroup.make_facet([filterGroup.make_value(filter)]);
            self.query.add([facet], {silent: true});

            return _.last(self.query.models);
        });
Example #6
0
    _onNewFilters: function (event) {
        var self= this;
        var filter;
        var filters = [];
        var groupId;

        _.each(event.data, function (filterDescription) {
            filter = new search_inputs.Filter(filterDescription.filter, this);
            filters.push(filter);
            self.filtersMapping.push({
                filterId: filterDescription.itemId,
                filter: filter,
                groupId: filterDescription.groupId,
            });
            // filters belong to the same group
            if (!groupId) {
                groupId = filterDescription.groupId;
            }
        });
        var group = new search_inputs.FilterGroup(filters, this, this.intervalMapping, this.periodMapping);
        filters.forEach(function (filter) {
            group.toggle(filter, {silent: true});
        });
        this.groupsMapping.push({
            groupId: groupId,
            group: group,
            category: 'Filters',
        });
        this.query.trigger('reset');
    },
Example #7
0
    commit_search: function () {
        var filters = _.invoke(this.propositions, 'get_filter'),
            filters_widgets = _.map(filters, function (filter) {
                return new search_inputs.Filter(filter, this);
            }),
            filter_group = new search_inputs.FilterGroup(filters_widgets, this.searchview),
            facets = filters_widgets.map(function (filter) {
                return filter_group.make_facet([filter_group.make_value(filter)]);
            });
        filter_group.insertBefore(this.$add_filter);
        $('<li class="divider">').insertBefore(this.$add_filter);
        this.searchview.query.add(facets, {silent: true});
        this.searchview.query.trigger('reset');

        _.invoke(this.propositions, 'destroy');
        this.propositions = [];
        this.append_proposition();
        this.toggle_custom_filter_menu(false);
    },
Example #8
0
 facets = filters_widgets.map(function (filter) {
     return filter_group.make_facet([filter_group.make_value(filter)]);
 });
Example #9
0
 filters.forEach(function (filter) {
     group.toggle(filter, {silent: true});
 });