Skip to content

feature/UBDF-14520-implement-sorting-on-utable-without-request-to-server

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

В связи с этим, логику сброса сортировки реализовал через создание "приватного" порядка сортировки и последующего его восстановления.

Edited by Tarabanov Dmytro

Merge request reports

Loading