diff --git a/solr/webapp/web/css/styles/analysis.css b/solr/webapp/web/css/styles/analysis.css index 3a795576926..eb5182f8acd 100644 --- a/solr/webapp/web/css/styles/analysis.css +++ b/solr/webapp/web/css/styles/analysis.css @@ -47,6 +47,30 @@ padding-left: 10px; } +#content #analysis .settings #tor_schema +{ + background-image: url( ../../img/ico/question-white.png ); + background-position: 0 50%; + color: #c0c0c0; + margin-left: 5px; + padding-left: 21px; +} + +#content #analysis .settings #tor_schema:hover +{ + background-image: url( ../../img/ico/question.png ); +} + +#content #analysis .settings #tor_schema span +{ + display: none; +} + +#content #analysis .settings #tor_schema:hover span +{ + display: inline; +} + #content #analysis .settings .buttons { float: right; diff --git a/solr/webapp/web/img/ico/question.png b/solr/webapp/web/img/ico/question.png new file mode 100755 index 00000000000..30a47032a41 Binary files /dev/null and b/solr/webapp/web/img/ico/question.png differ diff --git a/solr/webapp/web/js/scripts/analysis.js b/solr/webapp/web/js/scripts/analysis.js index 47bca19031c..dbbaa112a36 100644 --- a/solr/webapp/web/js/scripts/analysis.js +++ b/solr/webapp/web/js/scripts/analysis.js @@ -21,7 +21,8 @@ sammy.get /^#\/([\w\d-]+)\/(analysis)$/, function( context ) { - var core_basepath = this.active_core.attr( 'data-basepath' ); + var active_core = this.active_core; + var core_basepath = active_core.attr( 'data-basepath' ); var content_element = $( '#content' ); $.get @@ -36,13 +37,32 @@ sammy.get var analysis_form = $( 'form', analysis_element ); var analysis_result = $( '#analysis-result', analysis_element ); analysis_result.hide(); - + + var type_or_name = $( '#type_or_name', analysis_form ); + var schema_browser_element = $( '#tor_schema' ); + var schema_browser_path = $( 'p > a', active_core ).attr( 'href' ) + '/schema-browser' + var schema_browser_map = { 'fieldname' : 'field', 'fieldtype' : 'type' }; + + type_or_name + .die( 'change' ) + .live + ( + 'change', + function( event ) + { + var info = $( this ).val().split( '=' ); + + schema_browser_element + .attr( 'href', schema_browser_path + '?' + schema_browser_map[info[0]] + '=' + info[1] ); + } + ); + $.ajax ( { url : core_basepath + '/admin/luke?wt=json&show=schema', dataType : 'json', - context : $( '#type_or_name', analysis_form ), + context : type_or_name, beforeSend : function( xhr, settings ) { this diff --git a/solr/webapp/web/tpl/analysis.html b/solr/webapp/web/tpl/analysis.html index 2f2d4d2da20..400622478df 100644 --- a/solr/webapp/web/tpl/analysis.html +++ b/solr/webapp/web/tpl/analysis.html @@ -55,6 +55,7 @@ limitations under the License. + Schema Browser