You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by st...@apache.org on 2013/01/12 02:31:11 UTC
svn commit: r1432351 - in /lucene/dev/trunk/solr: CHANGES.txt
webapp/web/js/scripts/plugins.js
Author: steffkes
Date: Sat Jan 12 01:31:10 2013
New Revision: 1432351
URL: http://svn.apache.org/viewvc?rev=1432351&view=rev
Log:
SOLR-3458: Allow multiple Items to stay open on Plugins-Page
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1432351&r1=1432350&r2=1432351&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Sat Jan 12 01:31:10 2013
@@ -252,6 +252,8 @@ Optimizations
* SOLR-4296: Admin UI: Improve Dataimport Auto-Refresh (steffkes)
+* SOLR-3458: Allow multiple Items to stay open on Plugins-Page (steffkes)
+
Bug Fixes
----------------------
Modified: lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js?rev=1432351&r1=1432350&r2=1432351&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js (original)
+++ lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js Sat Jan 12 01:31:10 2013
@@ -206,7 +206,7 @@ var render_plugin_data = function( plugi
}
content += '<li class="' + classes.join( ' ' ) + '">' + "\n";
- content += '<a href="' + context_path + '?entry=' + bean.esc() + '">';
+ content += '<a href="' + context_path + '?entry=' + bean.esc() + '" data-bean="' + bean.esc() + '">';
content += '<span>' + bean.esc() + '</span>';
content += '</a>' + "\n";
content += '<ul class="detail">' + "\n";
@@ -279,8 +279,48 @@ var render_plugin_data = function( plugi
frame_element
.html( content );
- $( 'a[href="' + decodeURIComponent( active_context.path ) + '"]', frame_element )
- .parent().addClass( 'expanded' );
+
+ var path = active_context.path.split( '?entry=' );
+ var entries = ( path[1] || '' ).split( ',' );
+
+ var entry_count = entries.length;
+ for( var i = 0; i < entry_count; i++ )
+ {
+ $( 'a[data-bean="' + entries[i] + '"]', frame_element )
+ .parent().addClass( 'expanded' );
+ }
+
+ $( 'a', frame_element )
+ .off( 'click' )
+ .on
+ (
+ 'click',
+ function( event )
+ {
+ var self = $( this );
+ var bean = self.data( 'bean' );
+
+ var split = '?entry=';
+ var path = active_context.path.split( split );
+ var entry = ( path[1] || '' );
+
+ var regex = new RegExp( bean.replace( /\//g, '\\/' ) + '(,|$)' );
+ var match = regex.test( entry );
+
+ var url = path[0] + split;
+
+ url += match
+ ? entry.replace( regex, '' )
+ : entry + ',' + bean;
+
+ url = url.replace( /=,/, '=' );
+ url = url.replace( /,$/, '' );
+ url = url.replace( /\?entry=$/, '' );
+
+ active_context.redirect( url );
+ return false;
+ }
+ );
// Try to make links for anything with http (but leave the rest alone)
$( '.detail dd' ).each(function(index) {