taskOrderBy.js 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. (function () {
  2. 'use strict';
  3. angular.module('ariaNg').filter('taskOrderBy', ['$filter', 'ariaNgCommonService', function ($filter, ariaNgCommonService) {
  4. return function (array, type) {
  5. if (!angular.isArray(array)) {
  6. return array;
  7. }
  8. var orderType = ariaNgCommonService.parseOrderType(type);
  9. if (orderType === null) {
  10. return array;
  11. }
  12. if (orderType.type === 'name') {
  13. return $filter('orderBy')(array, ['taskName'], orderType.reverse);
  14. } else if (orderType.type === 'size') {
  15. return $filter('orderBy')(array, ['totalLength'], orderType.reverse);
  16. } else if (orderType.type === 'percent') {
  17. return $filter('orderBy')(array, ['completePercent'], orderType.reverse);
  18. } else if (orderType.type === 'remain') {
  19. return $filter('orderBy')(array, ['idle', 'remainTime', 'remainLength'], orderType.reverse);
  20. } else if (orderType.type === 'dspeed') {
  21. return $filter('orderBy')(array, ['downloadSpeed'], orderType.reverse);
  22. } else if (orderType.type === 'uspeed') {
  23. return $filter('orderBy')(array, ['uploadSpeed'], orderType.reverse);
  24. } else {
  25. return array;
  26. }
  27. };
  28. }]);
  29. }());