angular-filter icon indicating copy to clipboard operation
angular-filter copied to clipboard

groupBy then orderBy

Open shahriarhossain opened this issue 9 years ago • 3 comments

I am using the groupBy filter, after groupBy filtering I would love to do orderBy filtering. I have tried orderBy after the groupBy clause but that didn't work.

Can you extend your groupBy example(https://github.com/a8m/angular-filter#groupby) with the orderBy functionality.

My scenerio: $scope.browsers = [ {UniquePageviews: 500, Browser: 'chrome'}, {UniquePageviews: 700, Browser: 'chrome'}, {UniquePageviews: 200, Browser: 'firefox'}, {UniquePageviews: 100, Browser: 'safari'}, {UniquePageviews: 250, Browser: 'safari'}, {UniquePageviews: 50, Browser: 'safari'}, {UniquePageviews: 0, Browser: 'opera'}, {UniquePageviews: 0, Browser: 'opera'}, {UniquePageviews: 1000, Browser: 'IE'}, {UniquePageviews: 800, Browser: 'IE'}, ];

$scope.totalBrowserCount = function () { var total = 0; for (var i = 0; i < data.length; i++) { var product = data[i].UniquePageviews; total += product; } return total; }

{{key}} {{(value | map: 'UniquePageviews' | sum) * 100 / totalBrowserCount() | number :0}}%

Above code groups the result and in the list it only shows each browser name. But as you can see few browsers have most unique visits (i.e. IE has 1800 in total), so I am expecting IE on the top of the list.

shahriarhossain avatar Jun 24 '16 14:06 shahriarhossain

Did you ever find an answer? I'm having difficulty with this as well. I've moved the orderBy around both before and after the groupBy, I tried using toArray as in the example, and none of it seems to work.

mjortman avatar Jan 09 '17 20:01 mjortman

Hi @mjortman, did you see this example? Can you share a jsbin example with us?

Thanks

a8m avatar Jan 09 '17 21:01 a8m

I think this filter module should handle all common function like orderBy, sort ect. Without manipuling ourself the javascript

onigetoc avatar Apr 09 '17 22:04 onigetoc