From 4e45bdedafa0f7588f00965d9f1be0c1a0b00dbb Mon Sep 17 00:00:00 2001 From: hg <none@none> Date: Thu, 10 Jul 2014 14:31:54 +0200 Subject: [PATCH] OO-1068: fix tooltip on link, add number of entries in table, hardened business control against null resource --- .../modules/bc/components/ListRenderer.java | 6 ++---- .../table/AbstractFlexiTableRenderer.java | 12 ++++++++++-- .../table/_content/tablelayout.html | 11 +++++++++-- .../id/context/StackedBusinessControl.java | 19 +++++++++---------- .../olat/modules/wiki/WikiMainController.java | 3 ++- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java index b2fcfb2f239..60201ebe7ed 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java +++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java @@ -333,10 +333,8 @@ public class ListRenderer { .append(" container: 'body',\n") .append(" title: function(){ return jQuery('#o_sel_doc_tooltip_").append(pos).append("').html(); }\n") .append(" });\n") - .append(" jQuery('#o_sel_doc_").append(pos).append("').on('show.bs.tooltip', function(){\n") - .append(" setTimeout(function() {\n") - .append(" jQuery('#o_sel_doc_").append(pos).append("').tooltip('hide');\n") - .append(" }, 30000);\n") + .append(" jQuery('#o_sel_doc_").append(pos).append("').on('click', function(){\n") + .append(" jQuery('#o_sel_doc_").append(pos).append("').tooltip('hide');\n") .append(" });\n") .append("});") .append("/* ]]> */") diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java index 3623e8b5e1f..4d160fa55ce 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java @@ -128,8 +128,16 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere renderHeaderSearch(renderer, sb, ftE, ubu, translator, renderResult, args); sb.append("</div>"); } - - sb.append("<div class='col-lg-2'></div><div class='col-lg-4'>"); + + + sb.append("<div class='col-lg-3'>"); + int rowCount = ftE.getTableDataModel().getRowCount(); + if(rowCount == 1) { + sb.append(rowCount).append(" ").append(ftE.getTranslator().translate("table.entry")); + } else if(rowCount > 1) { + sb.append(rowCount).append(" ").append(ftE.getTranslator().translate("table.entries")); + } + sb.append("</div><div class='col-lg-3'>"); renderHeaderTools(renderer, sb, ftE, ubu, translator, renderResult, args); sb.append("</div></div>"); } diff --git a/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html b/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html index 61660d74fcf..d9cf2585e1d 100644 --- a/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html +++ b/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html @@ -8,8 +8,15 @@ $r.render("tableSearch") #end </div> - <div class="col-lg-2"></div> - <div class="col-lg-4"><div class="pull-right o_table_tools"> + <div class="col-lg-3"> + $numberOfElements + #if ($numberOfElements == "1") + $r.translate("table.entry") + #else + $r.translate("table.entries") + #end + </div> + <div class="col-lg-3"><div class="pull-right o_table_tools"> #if ($hasFilters && $filters.size() > 0) <div class="btn-group"> <button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown'> diff --git a/src/main/java/org/olat/core/id/context/StackedBusinessControl.java b/src/main/java/org/olat/core/id/context/StackedBusinessControl.java index 5f834765f4b..757124a4403 100644 --- a/src/main/java/org/olat/core/id/context/StackedBusinessControl.java +++ b/src/main/java/org/olat/core/id/context/StackedBusinessControl.java @@ -52,9 +52,6 @@ public class StackedBusinessControl implements BusinessControl { private ContextEntry currentCe; private List<ContextEntry> businessControls; - - - public List<ContextEntry> getBusinessControls() { return businessControls; } @@ -89,13 +86,16 @@ public class StackedBusinessControl implements BusinessControl { } } - + @Override public String toString() { return getAsString(); } + @Override public String getAsString() { - if(contextEntry == null) return ""; + if(contextEntry == null || contextEntry.getOLATResourceable() == null) { + return ""; + } Long key = contextEntry.getOLATResourceable().getResourceableId(); String postfix = BusinessControl.START_TAG +contextEntry.getOLATResourceable().getResourceableTypeName() + (key == null? "":BusinessControl.DELIMITER_TAG+key)+BusinessControl.END_TAG; @@ -103,7 +103,6 @@ public class StackedBusinessControl implements BusinessControl { } @Override - //fxdiff BAKS-7 Resume function public List<ContextEntry> getEntries() { if(contextEntry == null) new ArrayList<ContextEntry>(); List<ContextEntry> entries = new ArrayList<ContextEntry>(); @@ -116,6 +115,7 @@ public class StackedBusinessControl implements BusinessControl { return entries; } + @Override public ContextEntry popLauncherContextEntry() { ContextEntry currentToSpawn = popInternalLaucherContextEntry(); @@ -139,12 +139,12 @@ public class StackedBusinessControl implements BusinessControl { } } - + @Override public void dropLauncherEntries() { origBusinessControl.dropLauncherEntries(); } - + @Override public boolean hasContextEntry() { return origBusinessControl.hasContextEntry(); } @@ -181,5 +181,4 @@ public class StackedBusinessControl implements BusinessControl { } } } - -} +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index 230529fa0c9..7b63c8b04fc 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -657,8 +657,9 @@ public class WikiMainController extends BasicController implements CloneableCont forum = ForumManager.getInstance().addAForum(); page.setForumKey(forum.getKey().longValue()); WikiManager.getInstance().updateWikiPageProperties(ores, page); + } else { + forum = ForumManager.getInstance().loadForum(Long.valueOf(page.getForumKey())); } - forum = ForumManager.getInstance().loadForum(Long.valueOf(page.getForumKey())); // TODO enhance forum callback with subscription stuff boolean isModerator = securityCallback.mayModerateForum(); ForumCallback forumCallback = new WikiForumCallback(ureq.getUserSession().getRoles().isGuestOnly(), isModerator); -- GitLab