Каков наилучший способ для Paginate списков файлов Forge/BIM360 Docs?

В настоящее время я занимаюсь внедрением функций разбивки на страницы, сортировки и поиска в представлениях файлов / планов / листов проекта интеграции 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.

Вопрос:

Есть ли другой, лучший способ разбить на страницы? Или мы должны лениво загружать результаты при прокрутке, не зная, сколько записей вернет следующая страница?

1 ответ

К сожалению, пока я не знаю, что такое API-интерфейс Forge MD для BIM360. Приносим извинения за доставленные неудобства.

Тем не менее, он был зарегистрирован как идентификатор запроса FDM-1769 несколько дней назад. Я видел ваше имя в списке запросов. Поэтому я думаю, что это будет поддерживаться в будущем. Кроме того, обходной путь заключается в получении всех данных из API, а затем разбивке на страницы на стороне клиента через Javascript.

Другие вопросы по тегам