コード例 #1
0
ファイル: QueryResponse.js プロジェクト: SmithJosh/ddf
    mergeQueue: function (userTriggered) {
        if (userTriggered === true || this.allowAutoMerge()) {
            this.lastMerge = Date.now();
            this.set('merged', true);

            var resultsIncludingDuplicates = this.get('results').fullCollection.map(function (m) {
                    return m.pick('id', 'src');
                })
                .concat(this.get('queuedResults').fullCollection.map(function (m) {
                    return m.pick('id', 'src');
                }));
            var metacardIdToSourcesIndex = this.createIndexOfMetacardToSources(resultsIncludingDuplicates);

            var interimCollection = new QueryResultCollection(this.get('results').fullCollection.models);
            interimCollection.add(this.get('queuedResults').fullCollection.models, {
                merge: true
            });
            interimCollection.fullCollection.comparator = this.get('results').fullCollection.comparator;
            interimCollection.fullCollection.sort();
            var maxResults = user.get('user').get('preferences').get('resultCount');
            this.get('results').fullCollection.reset(interimCollection.fullCollection.slice(0, maxResults));

            this.updateResultCountsBySource(
                this.createIndexOfSourceToResultCount(metacardIdToSourcesIndex, this.get('results').fullCollection)
            );

            this.get('queuedResults').fullCollection.reset();
            this.updateStatus();
        }
    },
コード例 #2
0
ファイル: result-group.view.js プロジェクト: beyelerb/ddf
 onBeforeShow: function() {
   var resultCollection = new QueryResultCollection()
   resultCollection.add(this.model)
   resultCollection.add(this.model.duplicates)
   this.groupResults.show(
     new this.resultItemCollectionView({
       collection: resultCollection,
       selectionInterface: this.selectionInterface,
       group: true,
     })
   )
 },