У меня возникла, на мой взгляд, интересная проблема.
В основном, у меня есть список элементов, где каждый элемент имеет фиксированный набор метаданных с разными значениями.
Например:
В нынешнем виде список элементов уплощен и представлен в виде таблицы.
Однако мы хотели бы найти способ, позволяющий пользователям просматривать его в виде дерева, но с дополнительной гибкостью, позволяющей «менять» порядок каждого из элементов Теги метаданных появляются в дереве.
Итак, изначально это могло бы выглядеть так:
Items
+ Table
+ User A
+ 04/05/2006
-> Item 2
-> Item 2
-> Item 2
+ Text
+ User A
+ 03/03/2003
-> Item 1
-> Item 1
+ User B
+ 05/07/2007
-> Item 4
-> Item 4
-> Item 1
-> Item 4
+ Image
..
Однако предположим, что вместо этого пользователь хочет перевернуть его и просмотреть все элементы, относящиеся к определенному пользователю:
Items
+ User A
+ Text
+ Table
-> Item 1
-> Item 2
+ User B
+ Image
+ Text
-> Item 3
-> Item 4
И так на.
Я надеюсь, что это делает s ense.
Итак, вот что меня интересует, есть ли лучший практический подход к достижению этого с низкими затратами? Результат каждого «переворота / перемешивания / поворота» красиво представлен в виде дерева, поэтому очевидно, что первая мысль заключается в том, что когда пользователь запрашивает изменение представления, при необходимости может быть сгенерировано новое дерево из списка элементов. Однако я надеялся, что, возможно, есть лучший способ - просто повернуть одно дерево и т. Д.
Кроме того, это можно было бы сделать с меньшими вычислительными затратами в JavaScript в браузере пользователя, если бы бэкэнд просто возвращал плоский список элементов?
Большое спасибо и добрых пожеланий,
Джейми