Javascript-форум (https://javascript.ru/forum/)
-   Backbone.js (https://javascript.ru/forum/backbone/)
-   -   Одна коллекция и разные сортировки. (https://javascript.ru/forum/backbone/47710-odna-kollekciya-i-raznye-sortirovki.html)

yesworld 04.06.2014 16:19

Одна коллекция и разные сортировки.
 
Всем привет.
У меня имеется одна коллекция items.

Она имеет список элементов, которые отображены часть в одной таблице, часть в другой. Вообщем имеет 3 вьюшки с таблицами.

Дело в том, что для одной таблицы, одна сортировка, а для двух других, другая.

И я не знаю как правильно поступить:
1. Это расширить основную коллекцию и создать другие экземпляры этой коллекции. Что не очень красиво плодить одну и ту же коллекцию, только ради comparator.

2. Перед тем как отрендерить одну из таблиц, переопределить comparator.

3. Может можно как-то передавать функцию в метод sort?
Я пытался, но че то не работает. = (
Типа:
items.sort( function(a,b){
                if( a.get('start') < b.get('start') ) return -1;
                if( a.get('start') > b.get('start')) return 1;
                return 0;
            });


Спасибо за внимание!

moron 27.06.2014 20:08

Несколько видов на одну коллекцию с изменением порядка как я понял.
Я бы сделал как-то так: http://codepen.io/anon/pen/bEmyj
Если в кратце то обратите внимание только на код, что внутри коллекции: (ну или загляни к этому чуваку)
sortAttribute: "cost",
  sortDirection: 1,
  sortMovies: function (attr) {
      this.sortAttribute = attr;
      this.sort();
  },
  
  comparator: function(a, b){
    var a = a.get(this.sortAttribute),
        b = b.get(this.sortAttribute);
   
    if (this.sortDirection == 1) 
      return a > b ? 1 : -1;
    else 
      return a < b ? 1 : -1;
  }

lolodan 17.08.2014 01:52

Одна коллекция и разные сортировки
 
Несколько офисов но у них разные базы. А программа одна. Что бы проще было ошибки править. Надоело гонять файлы туда сюда. Про домены понятно, а вот несколько баз?


Часовой пояс GMT +3, время: 09:41.