From d0b96fb092a37f71f348b0252ab14ec67b3d1190 Mon Sep 17 00:00:00 2001 From: Vitor Baptista Date: Tue, 8 Jul 2014 11:14:34 -0300 Subject: [PATCH] [#1792] Get only distinct values from the datastore This code depends on code from pull request #1815. --- .../javascript/modules/resource-view-filters.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/ckan/public/base/javascript/modules/resource-view-filters.js b/ckan/public/base/javascript/modules/resource-view-filters.js index 55c64b6095b..bdca8674cb2 100644 --- a/ckan/public/base/javascript/modules/resource-view-filters.js +++ b/ckan/public/base/javascript/modules/resource-view-filters.js @@ -108,22 +108,20 @@ this.ckan.module('resource-view-filters', function (jQuery, _) { limit: queryLimit + 1, offset: offset, fields: filterName, + distinct: true, sort: filterName }; }, results: function (data, page) { - var uniqueResults = {}, - results = data.result.records.slice(0, queryLimit), + var slicedData = data.result.records.slice(0, queryLimit), hasMore = (data.result.records.length == queryLimit + 1), - theData; - $.each(results, function (i, record) { - uniqueResults[record[filterName]] = true; - }); - theData = $.map(Object.keys(uniqueResults), function (record) { - return { id: record, text: record }; + results; + + results = $.map(slicedData, function (record) { + return { id: record[filterName], text: record[filterName] }; }); - return { results: theData, more: hasMore }; + return { results: results, more: hasMore }; } }, initSelection: function (element, callback) {