feature/UBDF-14520-implement-sorting-on-utable-without-request-to-server
Небольшое пояснение: стояла задача - реализовать сброс сортировки. Изначально, реализовал ее через кеширование первоначальных данных и последующее их восстановление( cashedItems = JSON.parse(JSON.stringify(this.items))
). Так же, вынужден был использовать переменную currentItems
, потому при восстановлении - переопределять пропсы нельзя. Однако, пришел к выводу, что на данном этапе развития платформы, такая реализация может привести к неожиданным и малозаметным багам - когда програмист используя таблицу уже реализовал некую логику основанную на сравнении объектов таблицы по ссылке, а не по значению полей (например, ID
). Еще есть вариант, когда программист, в каком-то функционале, берет индекс строки таблицы, по которой, например, кликнули и сопоставляет этот индекс с массивом переданных в таблицу данных (items
). В таком случае, полученный объект будет не тем, который нужен, т.к. порядок элементов в items
уже будет не такой, как порядок отрисованных элементов.
В связи с этим, логику сброса сортировки реализовал через создание "приватного" порядка сортировки и последующего его восстановления.