From: <die...@us...> - 2010-09-10 14:20:21
|
Revision: 3027 http://openutils.svn.sourceforge.net/openutils/?rev=3027&view=rev Author: diego_schivo Date: 2010-09-10 14:20:15 +0000 (Fri, 10 Sep 2010) Log Message: ----------- MEDIA-177 pagesize selection Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-10 13:55:50 UTC (rev 3026) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-09-10 14:20:15 UTC (rev 3027) @@ -117,6 +117,8 @@ protected String bgSelector; + protected String pagesizeSelector; + protected String sorting; protected boolean selectMedia; @@ -186,6 +188,7 @@ // right side of navigation bar: sorting and background selectors bgSelector = null; + pagesizeSelector = null; sorting = null; for (Cookie cookie : request.getCookies()) { @@ -193,12 +196,17 @@ { bgSelector = cookie.getValue(); } + else if ("pagesizeselector".equals(cookie.getName())) + { + pagesizeSelector = cookie.getValue(); + } else if ("sorting".equals(cookie.getName())) { sorting = cookie.getValue(); } } bgSelector = StringUtils.defaultIfEmpty(bgSelector, "white"); + pagesizeSelector = StringUtils.defaultIfEmpty(pagesizeSelector, "1"); sorting = StringUtils.defaultIfEmpty(sorting, getDefaultSorting()); // for activation status handling @@ -217,10 +225,14 @@ return 0; } // sorting must be specified for total-size to work (-1 otherwise) - AdvancedResult typeResult = MediaEl - .module() - .getSearch() - .search(request, type.getName(), path, false, getDefaultSorting(), 0, 1); + AdvancedResult typeResult = MediaEl.module().getSearch().search( + request, + type.getName(), + path, + false, + getDefaultSorting(), + 0, + 1); return typeResult.getTotalSize(); } @@ -241,10 +253,14 @@ } writable = folder.isGranted(Permission.WRITE); canPublish = writable && ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber(); - return MediaEl - .module() - .getSearch() - .search(request, type, path, false, sorting, MediaEl.module().getFolderViewItemsPerPage(), page); + return MediaEl.module().getSearch().search( + request, + type, + path, + false, + sorting, + MediaEl.module().getFolderViewItemsPerPage(), + page); } /** @@ -597,6 +613,15 @@ } /** + * Returns the pagesizeSelector. + * @return the pagesizeSelector + */ + public String getPagesizeSelector() + { + return pagesizeSelector; + } + + /** * Returns the sorting. * @return the sorting */ @@ -828,7 +853,9 @@ public String getMessage(String key, String param) { - return getMsgs().get(key, new String[]{param }); + return getMsgs().get(key, new String[]{ + param + }); } /** @@ -841,7 +868,9 @@ String s = request.getQueryString(); s = StringUtils.isEmpty(s) ? StringUtils.EMPTY : "&" + s; int p1; - while ((p1 = StringUtils.indexOfAny(s, new String[]{"&type=", "&command=" })) != -1) + while ((p1 = StringUtils.indexOfAny(s, new String[]{ + "&type=", "&command=" + })) != -1) { int p2 = s.indexOf('&', p1 + 1); s = s.substring(0, p1) + (p2 != -1 ? s.substring(p2) : StringUtils.EMPTY); Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-10 13:55:50 UTC (rev 3026) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.html 2010-09-10 14:20:15 UTC (rev 3027) @@ -45,6 +45,7 @@ */ }); new MediaFolderView.BgSelectors('#navigation a.bg-selector'); + new MediaFolderView.PagesizeSelectors('#navigation a.pagesize-selector'); new MediaFolderView.Sorting('sorting', this.options); new MediaFolderView.EditMenus('li.media .menuitem'); new MediaFolderView.InfoTooltips('li.media .image'); @@ -98,6 +99,30 @@ }); +MediaFolderView.PagesizeSelectors = new Class({ + + initialize: function(selectors){ + this.selectors = $$(selectors).addEvent('click', this.handleClick.bindWithEvent(this)); + this.previousValue = document.body.className.match(/pagesize-(\w+)/)[1]; + }, + + handleClick: function(e){ + e.stop(); + var selector = $(e.target); + var value = selector.className.match(/pagesize-selector\s+(\w+)(-active)?/)[1]; + if (value == this.previousValue) return; + if (this.previousValue) $(document.body).removeClass('pagesize' + this.previousValue); + $(document.body).addClass('pagesize' + value); + Cookie.write('pagesizeselector', value, {duration: 30}); + this.selectors.each(function(item){ + if (item == selector) item.addClass(value + '-active'); + else if (this.previousValue) item.removeClass(this.previousValue + '-active'); + }, this); + this.previousValue = value; + } + +}); + MediaFolderView.Sorting = new Class({ Implements: Options, @@ -311,7 +336,7 @@ }); </script> </head> - <body id="mediafolderview" class="bg-${this.bgSelector}"> + <body id="mediafolderview" class="bg-${this.bgSelector} pagesize-${this.pagesizeSelector}"> <form action="" style="display:none" id="actionForm" method="post"> <input type="hidden" id="actionCmd" name="command" value="delete" /> <input type="hidden" id="actionPath" name="path" value="${this.path!""}" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |