From 6c386f852d8afcc25b83783c3874a67cda48fcda Mon Sep 17 00:00:00 2001 From: sshakndr Date: Wed, 25 Jun 2025 16:59:06 +0700 Subject: [PATCH] feat(java): set users by parts with infinite scroll for pagination --- .../java/src/main/webapp/editor.jsp | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/web/documentserver-example/java/src/main/webapp/editor.jsp b/web/documentserver-example/java/src/main/webapp/editor.jsp index 155b4cb8..6d1ee7a3 100644 --- a/web/documentserver-example/java/src/main/webapp/editor.jsp +++ b/web/documentserver-example/java/src/main/webapp/editor.jsp @@ -359,10 +359,33 @@ users = <%=(String) request.getAttribute("usersForMentions")%>; } - docEditor.setUsers({ + if ((c === "protect" || c === "mention") && users && event.data.count) { + let from = event.data.from; + let count = event.data.count; + let search = event.data.search; + if (from != 0) users = []; + var resultCount = 234; + for (var i = Math.max(users.length, from); i < Math.min(from + count, resultCount); i++){ + users.push({ + email: "test@test.test" + (i + 1), + id: "id" + (i + 1), + name: "test_" + search + (i + 1) + }); + } + } + + var result = { "c": c, "users": users, - }); + }; + if (resultCount) { + // support v9.0 + result.total = 1 + (!event.data.count || users.length < event.data.count ? 0 : (event.data.from + event.data.count)); + // since v9.0.1 + result.isPaginated = true; + } + + docEditor.setUsers(result); }; var onRequestSendNotify = function(event) { // the user is mentioned in a comment