You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ry...@apache.org on 2012/04/06 20:16:27 UTC
svn commit: r1310532 - in /lucene/dev/trunk/solr/webapp/web:
css/styles/plugins.css js/lib/linker.js js/main.js js/scripts/plugins.js
Author: ryan
Date: Fri Apr 6 18:16:26 2012
New Revision: 1310532
URL: http://svn.apache.org/viewvc?rev=1310532&view=rev
Log:
SOLR-3326: Show plugin links as real links
Added:
lucene/dev/trunk/solr/webapp/web/js/lib/linker.js (with props)
Modified:
lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css
lucene/dev/trunk/solr/webapp/web/js/main.js
lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js
Modified: lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css?rev=1310532&r1=1310531&r2=1310532&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css (original)
+++ lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css Fri Apr 6 18:16:26 2012
@@ -1,3 +1,4 @@
+
#content #plugins #navigation
{
width: 20%;
@@ -101,4 +102,16 @@
#content #plugins #frame .entry .stats dd
{
width: 72%;
-}
\ No newline at end of file
+}
+
+#content #plugins #frame .entry.expanded a.linker {
+ background-image: none;
+ background-position: 0 0;
+ display: inline;
+ font-weight: normal;
+ padding:0px;
+}
+
+#content #plugins #frame .entry.expanded a.linker:hover {
+ background-color:#F0F3FF;
+}
Added: lucene/dev/trunk/solr/webapp/web/js/lib/linker.js
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/js/lib/linker.js?rev=1310532&view=auto
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/js/lib/linker.js (added)
+++ lucene/dev/trunk/solr/webapp/web/js/lib/linker.js Fri Apr 6 18:16:26 2012
@@ -0,0 +1,48 @@
+//by Michalis Tzikas & Vasilis Lolos
+//07-03-2012
+//v1.0
+/*
+Copyright (C) 2011 by Michalis Tzikas & Vasilis Lolos
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+(function( $ ){
+ $.fn.linker = function(options) {
+ var defaults = {
+ target : '', //blank,self,parent,top
+ className : '',
+ rel : ''
+ };
+ var options = $.extend(defaults, options);
+
+ target_string = (options.target != '') ? 'target="_'+options.target+'"' : '';
+ class_string = (options.className != '') ? 'class="'+options.className+'"' : '';
+ rel_string = (options.rel != '') ? 'rel="'+options.rel+'"' : '';
+
+ $(this).each(function(){
+ t = $(this).text();
+
+ t = t.replace(/(https\:\/\/|http:\/\/)([www\.]?)([^\s|<]+)/gi,'<a href="$1$2$3" '+target_string+' '+class_string+' '+rel_string+'>$1$2$3</a>');
+ t = t.replace(/([^https\:\/\/]|[^http:\/\/]|^)(www)\.([^\s|<]+)/gi,'$1<a href="http://$2.$3" '+target_string+' '+class_string+' '+rel_string+'>$2.$3</a>');
+ t = t.replace(/<([^a]|^\/a])([^<>]+)>/g, "<$1$2>").replace(/<\/a>/g, "</a>").replace(/<(.)>/g, "<$1>").replace(/\n/g, '<br />');
+
+ $(this).html(t);
+ });
+ };
+})( jQuery );
\ No newline at end of file
Modified: lucene/dev/trunk/solr/webapp/web/js/main.js
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/js/main.js?rev=1310532&r1=1310531&r2=1310532&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/js/main.js (original)
+++ lucene/dev/trunk/solr/webapp/web/js/main.js Fri Apr 6 18:16:26 2012
@@ -27,6 +27,7 @@ require
'lib/order!lib/jquery.sparkline',
'lib/order!lib/jquery.timeago',
'lib/order!lib/highlight',
+ 'lib/order!lib/linker',
'lib/order!lib/ZeroClipboard',
'lib/order!lib/d3',
'lib/order!lib/chosen',
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=1310532&r1=1310531&r2=1310532&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js (original)
+++ lucene/dev/trunk/solr/webapp/web/js/scripts/plugins.js Fri Apr 6 18:16:26 2012
@@ -185,16 +185,25 @@ sammy.get
if( 'description' === detail_key )
{
- detail_value = detail_value.replace( /,/g, ',​' );
- }
- else if( 'src' === detail_key )
- {
- detail_value = detail_value.replace( /\//g, '/​' );
+ // For list of components
+ if(detail_value.match(/^Search using components: /)) {
+ detail_value = detail_value
+ .replace( /: /, ':<ul><li>' )
+ .replace( /,/g, '</li><li>' ) +
+ "</li></ul>";
+ }
}
content += '<li><dl class="clearfix">' + "\n";
content += '<dt>' + detail_key + ':</dt>' + "\n";
- content += '<dd>' + detail_value + '</dd>' + "\n";
+ if($.isArray(detail_value)) {
+ $.each(detail_value, function(index, value) {
+ content += '<dd>' + value + '</dd>' + "\n";
+ });
+ }
+ else {
+ content += '<dd>' + detail_value + '</dd>' + "\n";
+ }
content += '</dl></li>' + "\n";
}
else if( 'stats' === detail_key && details[detail_key] )
@@ -232,6 +241,24 @@ sammy.get
$( 'a[href="' + decodeURIComponent( context.path ) + '"]', frame_element )
.parent().addClass( 'expanded' );
+
+ // Try to make links for anythign with http (but leave the rest alone)
+ $( '.detail dd' ).each(function(index) {
+ var txt = $(this).html();
+ if(txt.indexOf("http") >= 0) {
+ $(this).linker({
+ target: '', //blank,self,parent,top
+ className : 'linker',
+ rel : ''
+ });
+ }
+ });
+
+ // Add invisible whitespace after each slash
+ $( '.detail a.linker' ).each(function(index) {
+ $(this).html( $(this).html().replace( /\//g, '/​' ) );
+ });
+
$( '.entry', frame_element )
.each