Способ объединения и группировки элементов ленты активности с помощью javascript.

У меня есть список элементов ленты активности, в которых я хочу, чтобы похожие элементы были сгруппированы вместе. Например, вместо 4 записей, в которых говорится: «Джо понравился твой счастливый пост», «Саре понравился твой счастливый пост», «Бобу понравился твой счастливый пост», «Том любит твой счастливый пост», должна быть одна, которая гласит: «Джо , Сара и еще 2 человека оценили ваш радостный пост». Когда элементы объединяются, объединенная публикация будет использовать самую последнюю отметку времени своих частей.

Лента активности не бесконечна и содержит только элементы за последнюю неделю, поэтому все элементы, которые совпадают по свойствам существительного (noun.activityType + noun.id) и глагола, должны быть сгруппированы вместе. У каждого элемента действия есть действующее лицо (кто это сделал), цель (в чью ленту оно отправлено), глагол (что сделал действующее лицо) и существительное (на какой объект действует глагол).

Я поместил этот тестовый набор данных на jsfiddle, чтобы вы могли поиграть с ним:

http://jsfiddle.net/yu2P8/1/

{
        "pts": 0,
        "verb": "follow",
        "target": "mike",
        "actor": "test01",
        "title": "test01 has started following you",
        "published": "2012-06-04T22:34:01.914Z",
        "_id": "4fcd37d9c7f1f40100000d7d",
        "noun": {
            "id": "mike",
            "activityType": "profile",
            "title": null
        }
}

Одна из стратегий заключается в агрегировании на стороне сервера при создании элемента активности. , но я хотел попробовать сделать это на стороне клиента, используя такие библиотеки, как подчеркивание, чтобы увидеть, выполнимо ли это.

5
задан MonkeyBonkey 7 June 2012 в 11:45
поделиться