Skip to content

Commit 0ebfd0b

Browse files
committed
Fixed spurious hists list refresh on folder change events
1 parent c7803e1 commit 0ebfd0b

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

logicaldoc-gui/src/main/java/com/logicaldoc/gui/common/client/websockets/WebSocketListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void handleFolderEvent(WebsocketMessage event) {
194194
private void handleDocumentModifiedEvent(WebsocketMessage event) {
195195
if (FolderController.get().getCurrentFolder().getId() == event.getDocument().getFolder().getId())
196196
event.getDocument().setFolder(FolderController.get().getCurrentFolder());
197-
DocumentController.get().modified(event.getDocument());
197+
DocumentController.get().modified(event.getDocument());
198198
}
199199

200200
private void handleStoredEvent(WebsocketMessage event) {

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/search/HitsListPanel.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ public class HitsListPanel extends VLayout implements SearchObserver, DocumentOb
4747
public HitsListPanel() {
4848
try {
4949
if (CookiesManager.get(CookiesManager.COOKIE_HITSLIST_MODE) != null) {
50-
visualizationMode = Integer
51-
.parseInt(CookiesManager.get(CookiesManager.COOKIE_HITSLIST_MODE));
50+
visualizationMode = Integer.parseInt(CookiesManager.get(CookiesManager.COOKIE_HITSLIST_MODE));
5251
}
5352
} catch (Exception t) {
5453
// Nothing to do
@@ -266,6 +265,10 @@ public void onFolderMoved(GUIFolder folder) {
266265

267266
@Override
268267
public void onFolderChanged(GUIFolder folder) {
268+
// Skip record update if it is not a folder
269+
if (!isSelectionFolder())
270+
return;
271+
269272
GUIDocument doc = grid.getSelectedDocument();
270273
if (doc != null) {
271274
doc.setFileName(folder.getName());
@@ -275,6 +278,16 @@ public void onFolderChanged(GUIFolder folder) {
275278
}
276279
}
277280

281+
/**
282+
* This panel can show folders and documents depending on the search, so
283+
* this method check is the currently selected item is a folder
284+
*
285+
* @return if the currently selection is a folder
286+
*/
287+
private boolean isSelectionFolder() {
288+
return "folder".equals(grid.getSelectedDocument().getType());
289+
}
290+
278291
@Override
279292
public void onFolderBeginEditing(GUIFolder folder) {
280293
// Nothing to do
@@ -302,6 +315,9 @@ public void onDocumentMoved(GUIDocument document) {
302315

303316
@Override
304317
public void onDocumentModified(GUIDocument document) {
318+
// Skip record update if it is a folder
319+
if (isSelectionFolder())
320+
return;
305321
grid.updateDocument(document);
306322
}
307323

0 commit comments

Comments
 (0)