В настоящее время я выполняю функции разбивки на страницы, сортировки и поиска в представлениях файлов / планов / листов проекта интеграции BIM 360 Docs.
Так как я не смог найти никаких рекомендаций относительно этих функций, я подумал, что смогу протянуть руку, чтобы не застревать, изобретая велосипед заново.
Справочная информация:
В большинстве реализаций используется https://github.com/Autodesk-Forge/forge-api-dotnet-client/ SDK.
Основываясь на том, что я видел, разбивка на страницы в Autodesk API очень проста и плохо работает с отфильтрованными представлениями.Пожалуйста, исправьте меня, если я ошибаюсь, но похоже, что нет способа получить количество элементов в представлении и / или рассчитать общее количество страниц в наборе результатов.
Если использовать фильтрацию для ограничения типовЭлементы, возвращаемые API (например, документы, листы, файлы проекта), API сначала применяет разбивку на страницы и затем фильтры.Это приводит к появлению дыр в возвращаемых наборах результатов, например, можно было бы запросить страницу 1 размером 5 элементов и получить обратно 3 элемента, затем запросить страницу 2 аналогичного размера и не получить элементов назад, а затем страница 3 выдаст 2 элемента.
Вышеупомянутые проблемы вынуждают нас использовать динамическую ленивую загрузку, аналогично тому, как это делается в настоящее время в интерфейсе пользователя BIM360 Docs.
Вопрос:
Есть ли другой, лучший способ разбить на страницы?Или мы должны лениво загружать результаты при прокрутке, не зная, сколько записей вернет следующая страница?