Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. function orderBy(property) {
  2. let prop = property;
  3.  
  4. if (_.isArray(prop)) {
  5. prop = prop.join('.');
  6. }
  7.  
  8. const [, sign, iterateeString] = prop.match(/^(-?)(.*)$/);
  9. const order = sign === '-' ? 'desc' : 'asc';
  10. let iteratee = iterateeString;
  11. if (iteratee.match(/lastMeasurement_\d+/)) {
  12. const key = iteratee;
  13. iteratee = (asset) => {
  14. let value = asset[key];
  15. if (typeof value === 'string') {
  16. value = parseInt(value, 10);
  17. const orderMultiplier = order === 'asc' ? 1 : -1;
  18. value = Number.isNaN(value) ? (orderMultiplier * Infinity) : value;
  19. }else if (typeof value === 'object') {
  20. value = value.value;
  21. }
  22. return value;
  23. };
  24. }
  25. $scope.devices = _.orderBy($scope.devices, iteratee, order);
  26.  
  27. $scope.$broadcast('c8yScrollLoad::refresh');
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement