svn commit: r1700119 [25/26] - in /ofbiz/trunk: ./ runtime/indexes/ specialpurpose/ specialpurpose/solr/ specialpurpose/solr/conf/ specialpurpose/solr/config/ specialpurpose/solr/entitydef/ specialpurpose/solr/lib/ specialpurpose/solr/lib/compile/ spec...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1700119 [25/26] - in /ofbiz/trunk: ./ runtime/indexes/ specialpurpose/ specialpurpose/solr/ specialpurpose/solr/conf/ specialpurpose/solr/config/ specialpurpose/solr/entitydef/ specialpurpose/solr/lib/ specialpurpose/solr/lib/compile/ spec...

shijh
Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js Sun Aug 30 13:27:07 2015
@@ -0,0 +1,1229 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+var current_core = null;
+var cookie_schema_browser_autoload = 'schema-browser_autoload';
+
+var luke_array_to_struct = function( array )
+{
+  var struct = {
+    keys : [],
+    values : []
+  };
+  for( var i = 0; i < array.length; i += 2 )
+  {
+    struct.keys.push( array[i] );
+    struct.values.push( array[i+1] );
+  }
+  return struct;
+}
+
+var luke_array_to_hash = function( array )
+{
+  var hash = {};
+  for( var i = 0; i < array.length; i += 2 )
+  {
+    hash[ array[i] ] = array[i+1];
+  }
+  return hash;
+}
+
+var load_terminfo = function( trigger_element, core_basepath, field, data_element, terminfo_element )
+{
+  var luke_url = core_basepath + '/admin/luke?wt=json&fl=' + field;
+  var topterms_count_element = $( '.topterms-holder .head input', terminfo_element );
+
+  var term_load_count = parseInt( topterms_count_element.val(), 10 );
+  if( term_load_count )
+  {
+    luke_url += '&numTerms=' + term_load_count;
+  }
+
+  $.ajax
+  (
+    {
+      url : luke_url,
+      dataType : 'json',
+      context : terminfo_element,
+      beforeSend : function( xhr, settings )
+      {
+        $( 'span', trigger_element )
+          .addClass( 'loader' );
+      },
+      success : function( response, text_status, xhr )
+      {
+        var additional_styles = [];
+        var field_data = response.fields[field];
+
+        if( !field_data || !( field_data.topTerms && field_data.histogram ) )
+        {
+          terminfo_element
+            .addClass( 'disabled' );
+
+          return false;
+        }
+
+        var get_width = function get_width()
+        {
+          return $( this ).width();
+        }
+
+        var topterms_holder_element = $( '.topterms-holder', data_element );
+        var histogram_holder_element = $( '.histogram-holder', data_element );
+
+        if( !field_data.topTerms )
+        {
+          topterms_holder_element
+            .hide();
+        }
+        else
+        {
+          topterms_holder_element
+            .show();
+
+          var topterms_table_element = $( 'ul', topterms_holder_element );
+
+          var topterms = field_data.topTerms;
+          var topterms_count = topterms.length;
+                    
+          var topterms_content = '';
+          var topterms_frq_last = null;
+
+          for( var i = 0; i < topterms_count; i += 2 )
+          {
+            if( topterms_frq_last !== topterms[i+1] )
+            {
+              if( topterms_frq_last )
+              {
+                topterms_content += '</ul></li>' + "\n";
+              }
+
+              topterms_frq_last = topterms[i+1];
+              topterms_content += '<li class="clearfix">'
+                               +  '<p><span>' + app.format_number( topterms_frq_last ) + '</span></p>' + "\n"
+                               +  '<ul>' + "\n";
+            }
+
+            var target = '#/' + current_core + '/query?q=' + field.esc() + ':' + encodeURIComponent( '"' + topterms[i] + '"' );
+            topterms_content += '<li><a href="' + target + '">' + topterms[i].esc() + '</a></li>' + "\n";
+          }
+
+          topterms_content += '</li>';
+
+          topterms_count = topterms_count / 2;
+
+          $( 'input', trigger_element )
+            .val( topterms_count );
+
+          topterms_table_element
+            .html( topterms_content );
+
+          var max_width = 10 + Math.max.apply( Math, $( 'p', topterms_table_element ).map( get_width ).get() );
+          additional_styles.push
+          (
+            topterms_table_element.selector + ' p { width: ' + max_width + 'px !important; }' + "\n" +
+            topterms_table_element.selector + ' ul { margin-left: ' + ( max_width + 5 ) + 'px !important; }'
+          );
+
+          topterms_count_element
+            .val( topterms_count );
+
+          $( 'p.head .max', topterms_holder_element )
+            .html( field_data.distinct );
+
+          $( 'p.head #query_link', topterms_holder_element )
+            .attr( 'href', '#/' + current_core + '/query?q=' + field.esc() + ':[* TO *]' );
+
+          $( 'ul li:even', topterms_table_element )
+            .addClass( 'odd' );
+        }
+
+        if( !field_data.histogram )
+        {
+          histogram_holder_element
+            .hide();
+        }
+        else
+        {
+          histogram_holder_element
+            .show();
+
+          var histogram_values = luke_array_to_hash( field_data.histogram );
+          var histogram_entries = [];
+          
+          var histogram_max = null;
+          for( var key in histogram_values )
+          {
+            histogram_max = Math.max( histogram_max, histogram_values[key] );
+          }
+
+          for( var key in histogram_values )
+          {
+            histogram_entries.push
+            (
+              '<li>' + "\n" +
+              '  <dl class="clearfix" style="width: ' +  ( ( histogram_values[key] / histogram_max ) * 100 ) + '%;">' + "\n" +
+              '    <dt><span>' + app.format_number( key ) + '</span></dt>' + "\n" +
+              '    <dd><span>' + app.format_number( histogram_values[key] ) + '</span></dd>' + "\n" +
+              '  </dl>' + "\n" +
+              '</li>'
+            );
+          }
+
+          $( 'ul', histogram_holder_element )
+            .html( histogram_entries.join( "\n" ) );
+
+          $( 'ul li:even', histogram_holder_element )
+            .addClass( 'odd' );
+
+          var max_width = 10 + Math.max.apply( Math, $( 'dt', histogram_holder_element ).map( get_width ).get() );
+          additional_styles.push
+          (
+            histogram_holder_element.selector + ' ul { margin-left: ' + max_width + 'px !important; }' + "\n" +
+            histogram_holder_element.selector + ' li dt { left: ' + ( max_width * -1 ) + 'px !important; width: ' + max_width + 'px !important; }'
+          );
+        }
+
+        if( additional_styles )
+        {
+          terminfo_element
+            .prepend( '<style type="text/css">' + additional_styles.join( "\n" ) + '</style>' );
+        }
+      },
+      error : function( xhr, text_status, error_thrown)
+      {
+        terminfo_element
+          .addClass( 'disabled' );
+      },
+      complete : function( xhr, text_status )
+      {
+        $( 'span', trigger_element )
+          .removeClass( 'loader' );
+      }
+    }
+  );
+}
+
+sammy.bind
+(
+  'schema_browser_navi',
+  function( event, params )
+  {
+    var related_navigation_element = $( '#related dl#f-df-t', params.schema_browser_element );
+    var related_navigation_meta = $( '#related dl.ukf-dsf', params.schema_browser_element );
+    var related_select_element = $( '#related select', params.schema_browser_element )
+    var type = 'index';
+
+    var sammy_basepath = app.core_menu.find( '.active a' ).attr( 'href' );
+        
+    if( !related_navigation_meta.hasClass( 'done' ) )
+    {
+      if( app.schema_browser_data.unique_key_field )
+      {
+        $( '.unique-key-field', related_navigation_meta )
+          .show()
+          .after
+          (
+            '<dd class="unique-key-field"><a href="' + sammy_basepath + '?field=' +
+            app.schema_browser_data.unique_key_field + '">' +
+            app.schema_browser_data.unique_key_field + '</a></dd>'
+          );
+      }
+
+      if( app.schema_browser_data.default_search_field )
+      {
+        $( '.default-search-field', related_navigation_meta )
+          .show()
+          .after
+          (
+            '<dd class="default-search-field"><a href="' + sammy_basepath + '?field=' +
+            app.schema_browser_data.default_search_field + '">' +
+            app.schema_browser_data.default_search_field + '</a></dd>'
+          );
+      }
+
+      related_navigation_meta
+        .addClass( 'done' );
+    }
+
+    if( params.route_params )
+    {
+      var type = params.route_params.type;
+      var value = params.route_params.value;
+
+      var navigation_data = {
+        'fields' : [],
+        'copyfield_source' : [],
+        'copyfield_dest' : [],
+        'dynamic_fields' : [],
+        'types' : []
+      }
+
+      $( 'option[value="' + params.route_params.path + '"]', related_select_element )
+        .attr( 'selected', 'selected' );
+
+      related_select_element
+        .trigger( 'liszt:updated' );
+
+      if( 'field' === type )
+      {
+        navigation_data.fields.push( value );
+
+        if( app.schema_browser_data.relations.f_t[value] )
+        {
+          navigation_data.types.push( app.schema_browser_data.relations.f_t[value] );
+        }
+
+        if( app.schema_browser_data.relations.f_df[value] )
+        {
+          navigation_data.dynamic_fields.push( app.schema_browser_data.relations.f_df[value] );
+        }
+
+        if( app.schema_browser_data.fields[value].copySources && 0 !== app.schema_browser_data.fields[value].copySources.length )
+        {
+          navigation_data.copyfield_source = app.schema_browser_data.fields[value].copySources;
+        }
+
+        if( app.schema_browser_data.fields[value].copyDests && 0 !== app.schema_browser_data.fields[value].copyDests.length )
+        {
+          navigation_data.copyfield_dest = app.schema_browser_data.fields[value].copyDests;
+        }
+      }
+      else if( 'dynamic-field' === type )
+      {
+        navigation_data.dynamic_fields.push( value );
+        navigation_data.types.push( app.schema_browser_data.relations.df_t[value] );
+
+        if( app.schema_browser_data.relations.df_f[value] )
+        {
+          navigation_data.fields = app.schema_browser_data.relations.df_f[value];
+        }
+      }
+      else if( 'type' === type )
+      {
+        navigation_data.types.push( value );
+                
+        if( app.schema_browser_data.relations.t_f[value] )
+        {
+          navigation_data.fields = app.schema_browser_data.relations.t_f[value];
+        }
+                
+        if( app.schema_browser_data.relations.t_df[value] )
+        {
+          navigation_data.dynamic_fields = app.schema_browser_data.relations.t_df[value];
+        }
+      }
+
+      var navigation_content = '';
+
+      if( 0 !== navigation_data.fields.length )
+      {
+        navigation_data.fields.sort();
+        navigation_content += '<dt class="field">Field</dt>' + "\n";
+        for( var i in navigation_data.fields )
+        {
+          var href = sammy_basepath + '?field=' + navigation_data.fields[i];
+          navigation_content += '<dd class="field"><a href="' + href + '">' + navigation_data.fields[i] + '</a></dd>' + "\n";
+        }
+      }
+
+      if( 0 !== navigation_data.copyfield_source.length )
+      {
+        navigation_data.copyfield_source.sort();
+        navigation_content += '<dt class="copyfield">Copied from</dt>' + "\n";
+        for( var i in navigation_data.copyfield_source )
+        {
+          var href = sammy_basepath + '?field=' + navigation_data.copyfield_source[i];
+          navigation_content += '<dd class="copyfield"><a href="' + href + '">' + navigation_data.copyfield_source[i] + '</a></dd>' + "\n";
+        }
+      }
+
+      if( 0 !== navigation_data.copyfield_dest.length )
+      {
+        navigation_data.copyfield_dest.sort();
+        navigation_content += '<dt class="copyfield">Copied to</dt>' + "\n";
+        for( var i in navigation_data.copyfield_dest )
+        {
+          var href = sammy_basepath + '?field=' + navigation_data.copyfield_dest[i];
+          navigation_content += '<dd class="copyfield"><a href="' + href + '">' + navigation_data.copyfield_dest[i] + '</a></dd>' + "\n";
+        }
+      }
+
+      if( 0 !== navigation_data.dynamic_fields.length )
+      {
+        navigation_data.dynamic_fields.sort();
+        navigation_content += '<dt class="dynamic-field">Dynamic Field</dt>' + "\n";
+        for( var i in navigation_data.dynamic_fields )
+        {
+          var href = sammy_basepath + '?dynamic-field=' + navigation_data.dynamic_fields[i];
+          navigation_content += '<dd class="dynamic-field"><a href="' + href + '">' + navigation_data.dynamic_fields[i] + '</a></dd>' + "\n";
+        }
+      }
+
+      if( 0 !== navigation_data.types.length )
+      {
+        navigation_data.types.sort();
+        navigation_content += '<dt class="type">Type</dt>' + "\n";
+        for( var i in navigation_data.types )
+        {
+          var href = sammy_basepath + '?type=' + navigation_data.types[i];
+          navigation_content += '<dd class="type"><a href="' + href + '">' + navigation_data.types[i] + '</a></dd>' + "\n";
+        }
+      }
+
+      related_navigation_element
+        .show()
+        .attr( 'class', type )
+        .html( navigation_content );
+    }
+    else
+    {
+      related_navigation_element
+        .hide();
+            
+      $( 'option:selected', related_select_element )
+        .removeAttr( 'selected' );
+    }
+
+    if( 'field' === type && value === app.schema_browser_data.unique_key_field )
+    {
+      $( '.unique-key-field', related_navigation_meta )
+        .addClass( 'active' );
+    }
+    else
+    {
+      $( '.unique-key-field', related_navigation_meta )
+        .removeClass( 'active' );
+    }
+
+    if( 'field' === type && value === app.schema_browser_data.default_search_field )
+    {
+      $( '.default-search-field', related_navigation_meta )
+        .addClass( 'active' );
+    }
+    else
+    {
+      $( '.default-search-field', related_navigation_meta )
+        .removeClass( 'active' );
+    }
+
+    if( params.callback )
+    {
+      params.callback( app.schema_browser_data, $( '#data', params.schema_browser_element ) );
+    }
+  }
+);
+
+sammy.bind
+(
+  'schema_browser_load',
+  function( event, params )
+  {
+    var core_basepath = params.active_core.attr( 'data-basepath' );
+    var content_element = $( '#content' );
+
+    if( app.schema_browser_data )
+    {
+      params.schema_browser_element = $( '#schema-browser', content_element );
+
+      sammy.trigger
+      (
+        'schema_browser_navi',
+        params
+      );
+    }
+    else
+    {
+      content_element
+        .html( '<div id="schema-browser"><div class="loader">Loading ...</div></div>' );
+            
+      $.ajax
+      (
+        {
+          url : core_basepath + '/admin/luke?numTerms=0&wt=json',
+          dataType : 'json',
+          beforeSend : function( xhr, settings )
+          {
+          },
+          success : function( response, text_status, xhr )
+          {
+            app.schema_browser_data = {
+            default_search_field : null,
+            unique_key_field : null,
+            key : {},
+            fields : {},
+            dynamic_fields : {},
+            types : {},
+            relations : {
+              f_df : {},
+              f_t  : {},
+              df_f : {},
+              df_t : {},
+              t_f  : {},
+              t_df : {}
+            }
+            };
+
+            app.schema_browser_data.fields = response.fields;
+            app.schema_browser_data.key = response.info.key;
+
+            $.ajax
+            (
+            {
+              url : core_basepath + '/admin/luke?show=schema&wt=json',
+              dataType : 'json',
+              beforeSend : function( xhr, settings )
+              {
+              },
+              success : function( response, text_status, xhr )
+              {
+                app.schema_browser_data.default_search_field = response.schema.defaultSearchField;
+                app.schema_browser_data.unique_key_field = response.schema.uniqueKeyField;
+
+                app.schema_browser_data.dynamic_fields = response.schema.dynamicFields;
+                app.schema_browser_data.types = response.schema.types;
+
+                for( var field in response.schema.fields )
+                {
+                  app.schema_browser_data.fields[field] = $.extend
+                  (
+                    {},
+                    app.schema_browser_data.fields[field],
+                    response.schema.fields[field]
+                  );
+                }
+
+                for( var field in app.schema_browser_data.fields )
+                {
+                  var copy_dests = app.schema_browser_data.fields[field].copyDests;
+                  for( var i in copy_dests )
+                  {
+                    var copy_dest = copy_dests[i];
+                    if( !app.schema_browser_data.fields[copy_dest] )
+                    {
+                      app.schema_browser_data.fields[copy_dest] = {
+                        partial : true,
+                        copySources : []
+                      };
+                    }
+
+                    if( app.schema_browser_data.fields[copy_dest].partial )
+                    {
+                      app.schema_browser_data.fields[copy_dest].copySources.push( field );
+                    }
+                  }
+
+                  var copy_sources = app.schema_browser_data.fields[field].copySources;
+                  for( var i in copy_sources )
+                  {
+                    var copy_source = copy_sources[i];
+                    if( !app.schema_browser_data.fields[copy_source] )
+                    {
+                      app.schema_browser_data.fields[copy_source] = {
+                        partial : true,
+                        copyDests : []
+                      };
+                    }
+
+                    if( app.schema_browser_data.fields[copy_source].partial )
+                    {
+                      app.schema_browser_data.fields[copy_source].copyDests.push( field );
+                    }
+                  }
+
+                  app.schema_browser_data.relations.f_t[field] = app.schema_browser_data.fields[field].type;
+
+                  if( !app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type] )
+                  {
+                    app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type] = [];
+                  }
+                  app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type].push( field );
+
+                  if( app.schema_browser_data.fields[field].dynamicBase )
+                  {
+                    app.schema_browser_data.relations.f_df[field] = app.schema_browser_data.fields[field].dynamicBase;
+
+                    if( !app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase] )
+                    {
+                      app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase] = [];
+                    }
+                    app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase].push( field );
+                  }
+                }
+
+                for( var dynamic_field in app.schema_browser_data.dynamic_fields )
+                {
+                  app.schema_browser_data.relations.df_t[dynamic_field] = app.schema_browser_data.dynamic_fields[dynamic_field].type;
+
+                  if( !app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type] )
+                  {
+                    app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type] = [];
+                  }
+                  app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type].push( dynamic_field );
+                }
+
+                $.get
+                (
+                  'tpl/schema-browser.html',
+                  function( template )
+                  {
+                    content_element
+                      .html( template );
+                                            
+                    var schema_browser_element = $( '#schema-browser', content_element );
+                    var related_element = $( '#related', schema_browser_element );
+                    var related_select_element = $( 'select', related_element );
+                    var data_element = $( '#data', schema_browser_element );
+
+                    var related_options = '';
+                                            
+                    var fields = [];
+                    for( var field_name in app.schema_browser_data.fields )
+                    {
+                      fields.push
+                      (
+                        '<option value="?field=' + field_name + '">' + field_name + '</option>'
+                      );
+                    }
+                    if( 0 !== fields.length )
+                    {
+                      fields.sort();
+                      related_options += '<optgroup label="Fields">' + "\n";
+                      related_options += fields.sort().join( "\n" ) + "\n";
+                      related_options += '</optgroup>' + "\n";
+                    }
+                                            
+                    var dynamic_fields = [];
+                    for( var type_name in app.schema_browser_data.dynamic_fields )
+                    {
+                      dynamic_fields.push
+                      (
+                        '<option value="?dynamic-field=' + type_name + '">' + type_name + '</option>'
+                      );
+                    }
+                    if( 0 !== dynamic_fields.length )
+                    {
+                      dynamic_fields.sort();
+                      related_options += '<optgroup label="DynamicFields">' + "\n";
+                      related_options += dynamic_fields.sort().join( "\n" ) + "\n";
+                      related_options += '</optgroup>' + "\n";
+                    }
+                                            
+                    var types = [];
+                    for( var type_name in app.schema_browser_data.types )
+                    {
+                      types.push
+                      (
+                        '<option value="?type=' + type_name + '">' + type_name + '</option>'
+                      );
+                    }
+                    if( 0 !== types.length )
+                    {
+                      types.sort();
+                      related_options += '<optgroup label="Types">' + "\n";
+                      related_options += types.sort().join( "\n" ) + "\n";
+                      related_options += '</optgroup>' + "\n";
+                    }
+
+                    related_select_element
+                      .attr( 'rel', app.core_menu.find( '.active a' ).attr( 'href' ) )
+                      .append( related_options )
+                      .chosen();
+                                            
+                    related_select_element
+                      .die( 'change' )
+                      .live
+                      (
+                        'change',
+                        function( event )
+                        {
+                          var select_element = $( this );
+                          var option_element = $( 'option:selected', select_element );
+
+                          location.href = select_element.attr( 'rel' ) + option_element.val();
+                          return false;
+                        }
+                      );
+
+                    params.schema_browser_element = schema_browser_element;
+                    sammy.trigger
+                    (
+                      'schema_browser_navi',
+                      params
+                    );
+                  }
+                );
+              },
+              error : function( xhr, text_status, error_thrown)
+              {
+              },
+              complete : function( xhr, text_status )
+              {
+              }
+            }
+            );
+
+          },
+          error : function( xhr, text_status, error_thrown)
+          {
+          },
+          complete : function( xhr, text_status )
+          {
+          }
+        }
+      );
+    }
+  }
+);
+
+// #/:core/schema-browser
+sammy.get
+(
+  new RegExp( app.core_regex_base + '\\/(schema-browser)$' ),
+  function( context )
+  {
+    var core_basepath = this.active_core.attr( 'data-basepath' );
+    current_core = context.params.splat[0];
+
+    var trigger_params = {
+      active_core : this.active_core
+    };
+
+    var path = context.path.split( '?' );
+    if( path && path[1] )
+    {
+      var param = path[1].split( '=' );
+      trigger_params.route_params =  {
+        path : '?' + path[1],
+        type : param[0],
+        value : param[1]
+      }
+
+      trigger_params.callback = function( schema_browser_data, data_element )
+      {
+        var field = trigger_params.route_params.value;
+
+        var type = trigger_params.route_params.type;
+        var is_f = 'field' === type;
+        var is_df = 'dynamic-field' === type;
+        var is_t = 'type' === type;
+                
+        var options_element = $( '.options', data_element );
+        var sammy_basepath = context.path.indexOf( '/', context.path.indexOf( '/', 2 ) + 1 );
+
+        data_element
+          .show();
+
+        // -- head
+
+        var head_element = $( '.head', data_element );
+        if( is_f )
+        {
+          $( '.type', head_element ).html( 'Field' );
+        }
+        else if( is_df )
+        {
+          $( '.type', head_element ).html( 'Dynamic Field' );
+        }
+        else if( is_t )
+        {
+          $( '.type', head_element ).html( 'Type' );
+        }
+        $( '.name', head_element ).html( field.esc() );
+
+
+        var partial_state = false;
+        if( is_f )
+        {
+          partial_state = !!schema_browser_data.fields[field].partial;
+        }
+
+        $( '.partial', data_element )
+          .toggle( partial_state );
+
+        // -- docs
+        var docs_element = $( 'dt.docs', options_element );
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
+        {
+          $( 'dd.docs', options_element )
+            .remove();
+
+          var target = '#/' + current_core + '/query?q=' + field.esc() + ':[* TO *]';
+          docs_element
+            .show()
+            .after(
+             '<dd class="docs">'+
+               '<a href="'+target+'">' + schema_browser_data.fields[field].docs + '</a>' +
+             '</dd>' );
+        }
+        else
+        {
+          $( '.docs', options_element )
+            .hide();
+        }
+
+        // -- distinct
+        var distinct_element = $( 'dt.distinct', options_element );
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].distinct )
+        {
+          $( 'dd.distinct', options_element )
+            .remove();
+
+          distinct_element
+            .show()
+            .after( '<dd class="distinct">' + schema_browser_data.fields[field].distinct + '</dd>' );
+        }
+        else
+        {
+          $( '.distinct', options_element )
+            .hide();
+        }
+
+        // -- position-increment-gap
+        var pig_element = $( 'dt.position-increment-gap', options_element );
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].positionIncrementGap )
+        {
+          $( 'dd.position-increment-gap', options_element )
+            .remove();
+
+          pig_element
+            .show()
+            .after( '<dd class="position-increment-gap">' + schema_browser_data.fields[field].positionIncrementGap + '</dd>' );
+        }
+        else
+        {
+          $( '.position-increment-gap', options_element )
+            .hide();
+        }
+
+        var similarity_element = $( 'dt.similarity', options_element );
+        if ( is_t && schema_browser_data.types[field] && schema_browser_data.types[field].similarity ) {
+            var similarity = schema_browser_data.types[field].similarity
+            if (similarity.details && similarity.className) {
+                $( 'dd.similarity', options_element ).remove();
+                similarity_element
+                    .show()
+                    .after(['<dd class="similarity">', similarity.details.esc(), ' (', similarity.className.esc(), ') </dd>'].join(""));
+            }
+        } else {
+            $( '.similarity', options_element ).hide();
+        }
+
+
+        // -- flags table
+        var flags_table = $( 'table.flags', data_element );
+
+        var flags_arr = [];
+        for( var key in schema_browser_data.key )
+        {
+          flags_arr.push( '<th data-key="' + key + '">' + schema_browser_data.key[key] + '</th>' );
+        }
+
+        $( 'thead tr', flags_table )
+          .append( flags_arr.join( "\n" ) );
+
+
+        var flags_body = $( 'tbody', flags_table );
+        flags_body.empty();
+
+        var generate_flags_row = function generate_flags_row( flags_str, title )
+        {
+          var flags_arr = [ '<th>' + title.esc() + '</th>' ];
+
+          if( 0 === flags_str.indexOf( '(' ) )
+          {
+            flags_arr.push( '<td colspan="2" class="text">' + flags_str + '</td>' );
+          }
+          else
+          {
+            var i = 0;
+            for( var key in schema_browser_data.key )
+            {
+              var flag_match = key === flags_str[i];
+
+              var flag_cell = '<td '
+                            + ' data-key="' + key + '"'
+                            + ' class="' + ( flag_match ? 'check' : '' ) + '"'
+                            + '>'
+                            + ( flag_match ? '<span>√</span>' : '&nbsp;' )
+                            + '</td>';
+
+              flags_arr.push( flag_cell );
+              i++;
+            }
+          }
+
+          flags_body
+            .append( '<tr>' + flags_arr.join( "\n" ) + '</tr>' );
+        };
+
+        var flags = null;
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].flags )
+        {
+          flags = schema_browser_data.fields[field].flags;
+        }
+        else if( is_df && schema_browser_data.dynamic_fields[field] && schema_browser_data.dynamic_fields[field].flags )
+        {
+          flags = schema_browser_data.dynamic_fields[field].flags;
+        }
+
+        if( flags )
+        {
+          generate_flags_row( flags, 'Properties' );
+        }
+
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].schema )
+        {
+          generate_flags_row( schema_browser_data.fields[field].schema, 'Schema' );
+        }
+
+        if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].index )
+        {
+          generate_flags_row( schema_browser_data.fields[field].index, 'Index' );
+        }
+
+
+        if( 0 !== $( 'tr', flags_body ).size() )
+        {
+          var col_count = 0;
+          for( var key in schema_browser_data.key )
+          {
+            var cols = $( '[data-key="' + key + '"]', flags_table );
+            
+            var col_used = 0 !== cols.filter( '.check' ).size();
+            col_count += col_used;
+
+            cols.toggle( col_used );
+          }
+
+          $( 'td[colspan]', flags_body )
+            .attr( 'colspan', col_count );
+
+          flags_table.show();
+        }
+        else
+        {
+          flags_table.hide();
+        }
+
+        var analyzer_element = $( '.analyzer', data_element );
+        var analyzer_data = null;
+
+        var analysis_link = false;
+        var analysis_link_elements = $( 'p a', analyzer_element );
+        var analysis_target = '#/' + current_core + '/analysis?';
+
+        if( is_f )
+        {
+          analyzer_data = schema_browser_data.types[schema_browser_data.relations.f_t[field]];
+
+          analysis_link = true;
+          analysis_target += 'analysis.fieldname=' + field;
+        }
+        else if( is_df )
+        {
+          analyzer_data = schema_browser_data.types[schema_browser_data.relations.df_t[field]];
+        }
+        else if( is_t )
+        {
+          analyzer_data = schema_browser_data.types[field];
+          
+          analysis_link = true;
+          analysis_target += 'analysis.fieldtype=' + field;
+        }
+
+        if( analysis_link )
+        {
+          analysis_link_elements
+            .addClass( 'analysis' )
+            .attr( 'href', analysis_target );
+        }
+        else
+        {
+          analysis_link_elements
+            .removeClass( 'analysis' )
+            .removeAttr( 'href' );
+        }
+
+
+        if( analyzer_data )
+        {
+          var transform_analyzer_data_into_list = function( analyzer_data )
+          {
+            var args = [];
+            for( var key in analyzer_data.args )
+            {
+              var arg_class = '';
+              var arg_content = '';
+
+              if( 'true' === analyzer_data.args[key] || '1' === analyzer_data.args[key] )
+              {
+                arg_class = 'ico-1';
+                arg_content = key;
+              }
+              else if( 'false' === analyzer_data.args[key] || '0' === analyzer_data.args[key] )
+              {
+                arg_class = 'ico-0';
+                arg_content = key;
+              }
+              else
+              {
+                arg_content = key + ': ';
+
+                if( 'synonyms' === key || 'words' === key )
+                {
+                  // @TODO: set link target for file
+                  arg_content += '<a>' + analyzer_data.args[key] + '</a>';
+                }
+                else
+                {
+                  arg_content += analyzer_data.args[key];
+                }
+              }
+
+              args.push( '<dd class="' + arg_class + '">' + arg_content + '</dd>' );
+            }
+
+            var list_content = '<dt>' + analyzer_data.className + '</dt>';
+            if( 0 !== args.length )
+            {
+              args.sort();
+              list_content += args.join( "\n" );
+            }
+
+            return list_content;
+          }
+
+          // -- field-type
+          var field_type_element = $( 'dt.field-type', options_element );
+
+          $( 'dd.field-type', options_element )
+            .remove();
+
+          field_type_element
+            .show()
+            .after( '<dd class="field-type">' + analyzer_data.className + '</dd>' );
+
+          $( '.toggle', analyzer_element )
+            .die( 'click' )
+            .live
+            (
+              'click',
+              function( event )
+              {
+                $( this ).closest( 'li' )
+                  .toggleClass( 'open' );
+
+                return false;
+              }
+            );
+
+          for( var key in analyzer_data )
+          {
+            var key_match = key.match( /^(.+)Analyzer$/ );
+            if( !key_match )
+            {
+              continue;
+            }
+
+            var analyzer_key_element = $( '.' + key_match[1], analyzer_element );
+            var analyzer_key_data = analyzer_data[key];
+
+            analyzer_element.show();
+            analyzer_key_element.show();
+
+            $( 'ul li', analyzer_key_element )
+            .removeClass( 'data' )
+            .hide();
+
+            for( var type in analyzer_key_data )
+            {
+              if( 'object' !== typeof analyzer_key_data[type] )
+              {
+                continue;
+              }
+
+              var type_element = $( '.' + type, analyzer_key_element );
+              var type_content = [];
+
+              type_element
+                .addClass( 'data' )
+                .show();
+
+              if( analyzer_key_data[type].className )
+              {
+                type_content.push( transform_analyzer_data_into_list( analyzer_key_data[type] ) );
+              }
+              else
+              {
+                for( var entry in analyzer_key_data[type] )
+                {
+                  type_content.push( transform_analyzer_data_into_list( analyzer_key_data[type][entry] ) );
+                }
+              }
+
+              $( 'dl', type_element )
+                .empty()
+                .append( type_content.join( "\n" ) );
+            }
+
+            var name_element = $( 'dl:first dt a', analyzer_key_element );
+            if( analyzer_key_data.className )
+            {
+              name_element
+                .html( analyzer_key_data.className );
+            }
+
+            0 === $( 'ul li.data', analyzer_key_element ).size()
+            ? name_element.removeClass( 'toggle' )
+            : name_element.addClass( 'toggle' );
+          }
+        }
+
+        var terminfo_element = $( '.terminfo-holder', data_element );
+
+        terminfo_element
+          .removeClass( 'disabled' )
+          .removeClass( 'loaded' );
+
+        var trigger_element = $( '.trigger button', terminfo_element );
+        var form_element = $( 'form', terminfo_element );
+
+        trigger_element
+          .die( 'click' )
+          .live
+          (
+            'click',
+            function( event )
+            {
+              form_element
+                .trigger( 'submit' );
+
+              return false;
+            }
+          );
+
+        form_element
+          .clearForm()
+          .die( 'submit' )
+          .live
+          (
+            'submit',
+            function( event )
+            {
+              load_terminfo( trigger_element, core_basepath, field, data_element, terminfo_element );
+
+              terminfo_element
+                .addClass( 'loaded' );
+
+              return false;
+            }
+          );
+
+        $( '.max-holder', terminfo_element )
+          .die( 'click' )
+          .live
+          (
+            'click',
+            function( event )
+            {
+              var element = $( this );
+
+              $( 'input', element.closest( 'form' ) )
+                .val( $( '.max', element ).text() );
+
+              form_element
+                .trigger( 'submit' );
+
+              return false;
+            }
+          );
+
+        $( '.trigger .autoload', terminfo_element )
+          .die( 'click' )
+          .live
+          (
+            'click',
+            function( event )
+            {
+              $.cookie( cookie_schema_browser_autoload, $.cookie( cookie_schema_browser_autoload ) ? null : true );
+              $( this ).trigger( 'state' );
+
+              return false;
+            }
+          )
+          .die( 'state' )
+          .live
+          (
+            'state',
+            function( event )
+            {
+              $.cookie( cookie_schema_browser_autoload )
+                ? $( this ).addClass( 'on' )
+                : $( this ).removeClass( 'on' );
+            }
+          )
+          .die( 'init' )
+          .live
+          (
+            'init',
+            function( event )
+            {
+              if( !$.cookie( cookie_schema_browser_autoload ) )
+              {
+                return false;
+              }
+
+              $( this ).trigger( 'state' );
+              trigger_element.trigger( 'click' );
+            }
+          )
+          .trigger( 'init' );
+
+        $( 'div[class$="-holder"]', terminfo_element )
+          .hide();
+
+        if( !is_f )
+        {
+          terminfo_element
+            .hide();
+        }
+        else
+        {
+          terminfo_element
+            .show();
+        }
+      }
+    }
+    else
+    {
+      trigger_params.callback = function( schema_browser_data, data_element )
+      {
+        data_element
+          .hide();
+      };
+    }
+
+    delete app.schema_browser_data;
+
+    sammy.trigger
+    (
+      'schema_browser_load',
+      trigger_params
+    );
+  }
+);

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/schema-browser.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js Sun Aug 30 13:27:07 2015
@@ -0,0 +1,158 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+// #/~threads
+sammy.get
+(
+  /^#\/(~threads)$/,
+  function( context )
+  {
+    var content_element = $( '#content' );
+
+    $.get
+    (
+      'tpl/threads.html',
+      function( template )
+      {
+        content_element
+          .html( template );
+
+        $.ajax
+        (
+          {
+            url : app.config.solr_path + '/admin/info/threads?wt=json',
+            dataType : 'json',
+            context : $( '#threads', content_element ),
+            beforeSend : function( xhr, settings )
+            {
+            },
+            success : function( response, text_status, xhr )
+            {
+              var self = this;
+
+              var threadDumpData = response.system.threadDump;
+              var threadDumpContent = [];
+              var c = 0;
+              for( var i = 1; i < threadDumpData.length; i += 2 )
+              {
+                var state = threadDumpData[i].state.esc();
+                var name = '<a title="' + state +'"><span>' + threadDumpData[i].name.esc() + ' (' + threadDumpData[i].id.esc() + ')</span></a>';
+
+                var classes = [state];
+                var details = '';
+
+                if( 0 !== c % 2 )
+                {
+                  classes.push( 'odd' );
+                }
+
+                if( threadDumpData[i].lock )
+                {
+                  classes.push( 'lock' );
+                  name += "\n" + '<p title="Waiting on">' + threadDumpData[i].lock.esc() + '</p>';
+                }
+
+                if( threadDumpData[i].stackTrace && 0 !== threadDumpData[i].stackTrace.length )
+                {
+                  classes.push( 'stacktrace' );
+
+                  var stack_trace = threadDumpData[i].stackTrace
+                            .join( '###' )
+                            .esc()
+                            .replace( /\(/g, '&#8203;(' )
+                            .replace( /###/g, '</li><li>' );
+
+                  name += '<div>' + "\n"
+                       + '<ul>' + "\n"
+                       + '<li>' + stack_trace + '</li>'
+                       + '</ul>' + "\n"
+                       + '</div>';
+                }
+
+                var item = '<tr class="' + classes.join( ' ' ) +'">' + "\n"
+                         + '<td class="name">' + name + '</td>' + "\n"
+                         + '<td class="time">' + threadDumpData[i].cpuTime.esc() + '<br>' + threadDumpData[i].userTime.esc() + '</td>' + "\n"
+                         + '</tr>';
+                                
+                threadDumpContent.push( item );
+                c++;
+              }
+
+              var threadDumpBody = $( '#thread-dump tbody', this );
+
+              threadDumpBody
+                .html( threadDumpContent.join( "\n" ) );
+                            
+              $( '.name a', threadDumpBody )
+                .die( 'click' )
+                .live
+                (
+                  'click',
+                  function( event )
+                  {
+                    $( this ).closest( 'tr' )
+                      .toggleClass( 'open' );
+                  }
+                );
+                            
+              $( '.controls a', this )
+                .die( 'click' )
+                .live
+                (
+                  'click',
+                  function( event )
+                  {
+                    var threads_element = $( self );
+                    var is_collapsed = threads_element.hasClass( 'collapsed' );
+                    var thread_rows = $( 'tr', threads_element );
+
+                    thread_rows
+                      .each
+                      (
+                        function( index, element )
+                        {
+                          if( is_collapsed )
+                          {
+                            $( element )
+                              .addClass( 'open' );
+                          }
+                          else
+                          {
+                            $( element )
+                              .removeClass( 'open' );
+                          }
+                        }
+                      );
+
+                    threads_element
+                      .toggleClass( 'collapsed' )
+                      .toggleClass( 'expanded' );
+                  }
+                );
+            },
+            error : function( xhr, text_status, error_thrown)
+            {
+            },
+            complete : function( xhr, text_status )
+            {
+            }
+          }
+        );
+      }
+    );
+  }
+);
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/js/scripts/threads.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,83 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="analysis">
+
+  <div class="block analysis-error" id="analysis-handler-missing">
+
+    <div class="head">This Functionality requires the <code>/analysis/field</code> Handler to be registered and active!</div>
+
+  </div>
+
+  <div class="block analysis-error" id="analysis-error">
+
+    <div class="body"></div>
+
+  </div>
+
+  <div id="analysis-holder">
+
+    <div id="field-analysis">
+              
+      <form method="get">
+                
+        <ul class="clearfix">
+                    
+          <li class="index">
+                        
+            <label for="analysis_fieldvalue_index">Field Value (Index)</label>
+            <textarea name="analysis.fieldvalue" id="analysis_fieldvalue_index"></textarea>
+                        
+          </li>
+                    
+          <li class="query">
+                        
+            <label for="analysis_fieldvalue_query">Field Value (Query)</label>
+            <textarea name="analysis.query" id="analysis_fieldvalue_query"></textarea>
+                        
+          </li>
+
+          <li class="settings-holder clearfix">
+            <div class="settings clearfix">
+
+              <label for="type_or_name">Analyse Fieldname / FieldType:</label>
+              <select id="type_or_name"></select>
+              <a id="tor_schema" href="#"><span>Schema Browser</span>&nbsp;</a>
+
+              <div class="buttons clearfix">
+
+                <button type="submit"><span>Analyse Values</span></button>
+
+                <div class="verbose_output active">
+                  <a>Verbose Output</a>
+                </div>
+
+              </div>
+
+            </div>
+          </li>
+                    
+        </ul>
+                
+      </form>
+            
+    </div>
+        
+    <div id="analysis-result" class="clearfix verbose_output"></div>
+
+  </div>
+
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/analysis.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,65 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="cloud" class="clearfix">
+
+  <div id="frame">
+
+    <div id="tree-content" class="content clearfix">
+
+      <div id="tree" class="tree">#tree</div>
+      <div id="file-content" class="clearfix">
+
+        <div id="prop">
+          <ul></ul>
+        </div>
+
+        <div id="data"></div>
+
+        <a class="close"><span>[x]</span></a>
+
+      </div>
+
+    </div>
+
+    <div id="graph-content" class="content clearfix">
+
+      <div id="canvas"></div>
+
+      <div id="legend">
+        <ul>
+          <li class="leader"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Leader</li>
+          <li class="active"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Active</li>
+          <li class="recovering"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Recovering</li>
+          <li class="down"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Down</li>
+          <li class="recovery_failed"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Recovery Failed</li>
+          <li class="gone"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Gone</li>
+        </ul>
+      </div>
+
+    </div>
+
+  </div>
+
+  <div id="debug">
+    <ul class="clearfix">
+      <li class="clipboard"><a href="#" data-copied="Copied to Clipboard!">Copy to Clipboard (BUGGY!)</a></li>
+      <li class="close"><a href="#">Close</a></li>
+    </ul>
+    <pre class="debug"></pre>
+  </div>
+
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cloud.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,226 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="cores" class="clearfix empty">
+
+  <div id="ui-block">&nbsp;</div>
+
+  <div id="frame">
+
+    <div id="actions" class="actions clearfix">
+      
+      <button id="add" class="action"><span>Add Core</span></button>
+      <button id="unload" class="warn requires-core"><span>Unload</span></button>
+      <button id="rename" class="action requires-core"><span>Rename</span></button>
+      <button id="swap" class="action requires-core"><span>Swap</span></button>
+      <button id="reload" class="requires-core"><span>Reload</span></button>
+      <button id="optimize" class="requires-core"><span>Optimize</span></button>
+
+      <div class="action add" data-rel="add">
+
+        <form>
+
+          <input type="hidden" name="action" value="CREATE">
+
+          <p class="clearfix"><label for="add_name">name:</label>
+          <input type="text" name="name" id="add_name" value="new_core"></p>
+
+          <p class="clearfix"><label for="add_instanceDir">instanceDir:</label>
+          <input type="text" name="instanceDir" id="add_instanceDir" value="new_core"></p>
+
+          <p class="clearfix"><label for="add_dataDir">dataDir:</label>
+          <input type="text" name="dataDir" id="dataDir" value="data"></p>
+
+          <p class="clearfix"><label for="add_config">config:</label>
+          <input type="text" name="config" id="add_config" value="solrconfig.xml"></p>
+
+          <p class="clearfix"><label for="add_schema">schema:</label>
+          <input type="text" name="schema" id="add_schema" value="schema.xml"></p>
+
+          <div class="cloud">
+
+            <p class="clearfix"><label for="add_collection">collection:</label>
+            <input type="text" name="collection" id="add_collection"></p>
+
+            <p class="clearfix"><label for="add_shard">shard:</label>
+            <input type="text" name="shard" id="shard"></p>
+
+          </div>
+
+          <p class="clearfix note directory-note">
+
+            <span><code>instanceDir</code> and <code>dataDir</code> need to exist before you can create the core</span>
+
+          </p>
+
+          <p class="clearfix note error">
+
+            <span></span>
+
+          </p>
+
+          <p class="clearfix buttons">
+            <button type="submit" class="submit"><span>Add Core</span></button>
+            <button type="reset" class="reset"><span>Cancel</span></button>
+          </p>
+
+        </form>
+
+      </div>
+
+      <div class="action rename" data-rel="rename">
+
+        <form>
+
+          <input type="hidden" name="action" value="RENAME">
+          <input type="hidden" name="core" data-core="current">
+
+          <p class="clearfix"><label for="rename_other">New Name:</label>
+          <input type="text" name="other" data-core="current" id="rename_other"></p>
+
+          <p class="clearfix buttons">
+            <button type="submit" class="submit"><span>Rename Core</span></button>
+            <button type="reset" class="reset"><span>Cancel</span></button>
+          </p>
+
+        </form>
+
+      </div>
+
+      <div class="action swap" data-rel="swap">
+
+        <form>
+
+          <input type="hidden" name="action" value="SWAP">
+
+          <p class="clearfix"><label for="swap_core">this:</label>
+          <input type="text" id="swap_core" name="core" data-core="current" readonly="readonly"></p>
+
+          <p class="clearfix"><label for="swap_other">and:</label>
+          <select name="other" id="swap_other" name="other" class="other">
+          </select></p>
+
+          <p class="clearfix buttons">
+            <button type="submit" class="submit"><span>Swap Cores</span></button>
+            <button type="reset" class="reset"><span>Cancel</span></button>
+          </p>
+
+        </form>
+
+      </div>
+
+    </div>
+
+    <div id="data" class="requires-core">
+
+      <div class="block" id="core-data">
+
+          <h2><span>Core</span></h2>
+          
+          <div class="message-container">
+              <div class="message"></div>
+          </div>
+
+          <div class="content">
+
+          <ul>
+
+            <li class="startTime"><dl class="clearfix">
+              <dt><span>startTime:</span></dt>
+                <dd class="timeago"></dd>
+            </dl></li>
+
+            <li class="instanceDir"><dl class="clearfix">
+              <dt><span>instanceDir:</span></dt>
+                <dd></dd>
+            </dl></li>
+
+            <li class="dataDir"><dl class="clearfix">
+              <dt><span>dataDir:</span></dt>
+                <dd></dd>
+            </dl></li>
+        
+          </ul>
+        
+        </div>
+      </div>
+
+      <div class="block" id="index-data">
+
+          <h2><span>Index</span></h2>
+          
+          <div class="message-container">
+              <div class="message"></div>
+          </div>
+
+          <div class="content">
+          
+          <ul>
+
+            <li class="lastModified"><dl class="clearfix">
+              <dt><span>lastModified:</span></dt>
+                <dd class="timeago"></dd>
+            </dl></li>
+
+            <li class="version"><dl class="clearfix">
+              <dt><span>version:</span></dt>
+                <dd></dd>
+            </dl></li>
+
+            <li class="numDocs"><dl class="clearfix">
+              <dt><span>numDocs:</span></dt>
+                <dd></dd>
+            </dl></li>
+
+            <li class="maxDoc"><dl class="clearfix">
+              <dt><span>maxDoc:</span></dt>
+                <dd></dd>
+            </dl></li>
+
+            <li class="deletedDocs"><dl class="clearfix">
+              <dt><span>deletedDocs:</span></dt>
+                <dd></dd>
+            </dl></li>
+
+            <li class="optimized"><dl class="clearfix">
+              <dt><span>optimized:</span></dt>
+                <dd class="ico"><span></span></dd>
+            </dl></li>
+
+            <li class="current"><dl class="clearfix">
+              <dt><span>current:</span></dt>
+                <dd class="ico"><span></span></dd>
+            </dl></li>
+
+            <li class="directory"><dl class="clearfix">
+              <dt><span>directory:</span></dt>
+                <dd></dd>
+            </dl></li>
+          
+          </ul>
+        
+        </div>
+      </div>
+
+    </div>
+  
+  </div>
+
+  <div id="navigation" class="requires-core clearfix">
+  
+  </div>
+
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/cores.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,201 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="dashboard">
+
+  <div class="clearfix">
+
+    <div class="block fieldlist" id="statistics">
+
+      <h2><span>Statistics</span></h2>
+            
+      <div class="message-container">
+        <div class="message"></div>
+      </div>
+
+      <div class="content">
+                
+        <dl>
+                    
+          <dt class="index_last-modified">Last Modified:</dt>
+            <dd class="index_last-modified value timeago"></dd>
+
+          <dt class="index_num-docs">Num Docs:</dt>
+            <dd class="index_num-docs value"></dd>
+
+          <dt class="index_max-doc">Max Doc:</dt>
+            <dd class="index_max-doc value"></dd>
+
+          <dt class="index_heap-usage-bytes">Heap Memory Usage:</dt>
+            <dd class="index_heap-usage-bytes value"></dd>
+
+          <dt class="index_deleted-docs">Deleted Docs:</dt>
+            <dd class="index_deleted-docs value"></dd>
+
+          <dt class="index_version">Version:</dt>
+            <dd class="index_version value"></dd>
+
+          <dt class="index_segmentCount">Segment Count:</dt>
+            <dd class="index_segmentCount value"></dd>
+
+          <dt class="index_optimized">Optimized:</dt>
+            <dd class="index_optimized value ico"><span></span>
+            <a>optimize now</a></dd>
+
+          <dt class="index_current">Current:</dt>
+            <dd class="index_current value ico"><span></span></dd>
+                        
+        </dl>
+          
+      </div>
+    </div>
+
+    <div class="block fieldlist" id="instance">
+
+      <h2><span>Instance</span></h2>
+            
+      <div class="message-container">
+        <div class="message"></div>
+      </div>
+
+      <div class="content">
+                
+        <dl>
+                    
+          <dt class="dir_cwd"><abbr title="Current Working Directory">CWD</abbr>:</dt>
+            <dd class="dir_cwd value"></dd>
+
+          <dt class="dir_instance">Instance:</dt>
+            <dd class="dir_instance value"></dd>
+
+          <dt class="dir_data">Data:</dt>
+            <dd class="dir_data value"></dd>
+
+          <dt class="dir_index">Index:</dt>
+            <dd class="dir_index value"></dd>
+
+          <dt class="dir_impl">Impl:</dt>
+            <dd class="dir_impl value"></dd>
+                        
+        </dl>
+
+      </div>
+    </div>
+
+  </div>
+  <div class="clearfix">
+
+    <div class="block" id="replication">
+
+      <h2><span class="is-replicating">Replication</span></h2>
+            
+      <div class="message-container">
+        <div class="message"></div>
+      </div>
+
+      <div class="content clearfix"id="details">
+
+        <table border="0" cellspacing="0" cellpadding="0">
+
+          <thead>
+
+            <tr>
+                            
+              <td><span>Index</span></td>
+              <th>Version</th>
+              <th><abbr title="Generation">Gen</abbr></th>
+              <th>Size</th>
+                        
+            </tr>
+                    
+          </thead>
+          <tbody>
+
+            <tr class="masterSearch">
+
+              <th>Master (Searching)</th>
+              <td class="version"><div>x</div></td>
+              <td class="generation"><div>y</div></td>
+              <td class="size"><div>z</div></td>
+
+            </tr>
+
+            <tr class="master">
+
+              <th>Master (Replicable)</th>
+              <td class="version"><div>x</div></td>
+              <td class="generation"><div>y</div></td>
+              <td class="size"><div>z</div></td>
+
+            </tr>
+
+            <tr class="slave slaveOnly">
+
+              <th>Slave (Searching)</th>
+              <td class="version"><div>a</div></td>
+              <td class="generation"><div>c</div></td>
+              <td class="size"><div>c</div></td>
+
+            </tr>
+
+          </tbody>
+
+        </table>
+            
+      </div>
+    </div>
+  
+    <div class="block fieldlist" id="healthcheck">
+
+      <h2><span>Healthcheck</span></h2>
+
+      <div class="message-container">
+        <div class="message"></div>
+      </div>
+
+      <div class="content">
+        <dl>
+                    
+          <dt class="status">Status:</dt>
+          <dd class="status value ico">
+            <button class="healthcheck-status">Healthcheck Status</button>
+          </dd>
+        </dl>
+      </div>
+
+    </div>
+
+  </div>
+  <div class="clearfix">
+
+    <div class="block" id="admin-extra">
+
+      <h2><span>Admin Extra</span></h2>
+            
+      <div class="message-container">
+        <div class="message"></div>
+      </div>
+
+      <div class="content">
+
+      </div>
+        
+    </div>
+
+  </div>
+  
+
+</div>

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dashboard.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,183 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="dataimport" class="clearfix">
+
+  <div id="frame">
+
+    <div id="error"></div>
+
+    <div id="current_state">
+
+      <p class="last_update">Last Update: <abbr>Unknown</abbr></p>
+      <div class="info">
+
+        <strong></strong>
+        <div class="details">
+          <div class="docs"></div>
+          <div class="dates"></div>
+        </div>
+
+        <button class="abort-import warn"><span data-aborting="Aborting Import">Abort Import</span></button>
+
+      </div>
+    
+    </div>
+
+    <div class="block hidden" id="raw_output">
+
+      <h2>
+        <a class="toggle"><span>Raw Status-Output</span></a>
+      </h2>
+        
+      <div class="message-container">
+          <div class="message"></div>
+      </div>
+
+      <div class="content">
+
+        <div id="raw_output_container"></div>
+
+      </div>
+    
+    </div>
+
+    <div class="block hidden" id="config">
+
+      <h2 class="clearfix">
+        <a class="toggle"><span>Configuration</span></a>
+        <a class="r reload_config" title="Reload Configuration">Reload</a>
+        <a class="r debug_mode">Debug-Mode</a>
+      </h2>
+        
+      <div class="message-container">
+          <div class="message"></div>
+      </div>
+
+      <div class="content">
+
+        <div id="dataimport_config">
+
+          <div class="formatted">
+
+            <div class="loader">Loading ...</div>
+          
+          </div>
+
+          <div class="editable">
+
+            <textarea></textarea>
+          
+          </div>
+
+        </div>
+
+      </div>
+    
+    </div>
+
+    <div class="block hidden" id="debug_response">
+
+      <h2>
+        <a class="toggle"><span>Raw Debug-Response</span></a>
+      </h2>
+        
+      <div class="message-container">
+          <div class="message"></div>
+      </div>
+
+      <div class="content">
+
+        <em>No Request executed</em>
+
+      </div>
+    
+    </div>
+  
+  </div>
+
+  <div id="form">
+
+    <div id="navigation">
+
+      <ul></ul>
+
+    </div>
+
+    <form action="#" method="get">
+
+      <label for="command">
+        <a rel="help">Command</a>
+      </label>
+      <select name="command" id="command">
+        <option>full-import</option>
+        <option>delta-import</option>
+      </select>
+
+      <label for="verbose" class="checkbox">
+        <input type="checkbox" name="verbose" id="verbose" value="true">
+        <a rel="help">Verbose</a>
+      </label>
+
+      <label for="clean" class="checkbox">
+        <input type="checkbox" name="clean" id="clean" value="true" checked="checked">
+        <a rel="help">Clean</a>
+      </label>
+
+      <label for="commit" class="checkbox">
+        <input type="checkbox" name="commit" id="commit" value="true" checked="checked">
+        <a rel="help">Commit</a>
+      </label>
+
+      <label for="optimize" class="checkbox">
+        <input type="checkbox" name="optimize" id="optimize" value="true">
+        <a rel="help">Optimize</a>
+      </label>
+
+      <label for="debug" class="checkbox">
+        <input type="checkbox" name="debug" id="debug" value="true">
+        <a rel="help">Debug</a>
+      </label>
+
+      <label for="entity">
+        <a rel="help">Entity</a>
+      </label>
+      <select id="entity"></select>
+
+      <label for="start">
+        <a rel="help">Start</a>,
+        <a rel="help">Rows</a>
+      </label>
+      <div class="clearfix">
+        <input type="text" id="start" placeholder="0">
+        <input type="text" id="rows" placeholder="10">
+      </div>
+
+      <label for="custom_parameters">
+        <a rel="help">Custom Parameters</a>
+      </label>
+      <input type="text" id="custom_parameters" value="" placeholder="key1=val1&amp;key2=val2">
+
+      <button class="execute" type="submit"><span data-debugmode="Execute with this Configuration →">Execute</span></button>
+      <button class="refresh-status"><span>Refresh Status</span></button>
+    
+    </form>
+
+    <p id="auto-refresh-status"><a>Auto-Refresh Status</a></p>
+  
+  </div>
+
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/dataimport.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,107 @@
+<!--
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+-->
+
+<div id="documents" class="clearfix">
+  <div id="form">
+    <form action="#" method="post">
+      <label for="qt">
+        <a rel="help">Request-Handler (qt)</a>
+      </label>
+      <input type="text" id="qt" value="/update" title="Request handler in solrconfig.xml.">
+      <!-- TODO: Add support for uploading docs and a doc wizard -->
+      <label for="document-type">
+        <a rel="help">Document Type</a>
+      </label>
+
+      <div><select name="document-type" id="document-type" title="The type of the document field">
+        <!-- TODO: support the Builder -->
+        <option value="csv">CSV</option>
+        <option value="wizard">Document Builder</option>
+        <option value="upload">File Upload</option>
+        <option selected="true" value="json">JSON</option>
+        <option value="solr">Solr Command (raw XML or JSON)</option>
+        <option value="xml">XML</option>
+        <!-- TODO: If other, then, show a text box -->
+        <!--<option>Other</option>-->
+      </select></div>
+
+      <div id="document-container">
+        <div id="wizard">
+          <div id="wizard-fields">
+            <div><span class="description">Field</span>: <select id="wiz-field-select" name="wiz-field-select"></select>
+            </div>
+            <div><span id="wiz-field-data"><span class="description">Field Data</span>:</span> <textarea id="wizard-doc"
+                                                                                                         name="wizard-doc"
+                                                                                                         rows="10"
+                                                                                                         cols="40">Enter your field text here and then click "Add Field" to add the field to the document.</textarea></div>
+          </div>
+          <div id="wizard-add"><a id="add-field-href" href="#"><img border="0" src="./img/ico/plus-button.png"/>Add
+            Field</a></div>
+        </div>
+        <label for="document">
+          <a rel="help">Document(s)</a>
+        </label>
+        <textarea name="document" id="document" title="The Document" rows="10"
+                  cols="70">{"id":"change.me","title":"change.me"}</textarea>
+
+        <div id="file-upload">
+          <input type="file" id="the-file" name="the-file"/>
+        </div>
+      </div>
+
+      <div id="advanced">
+        <!-- TODO: only show for JSON/XML-->
+        <div id="attribs">
+          <div id="upload-only">
+            <label for="erh-params"><!-- TODO: cleaner way to do this? -->
+              <a rel="help">Extracting Req. Handler Params</a>
+            </label>
+            <input type="text" id="erh-params" value="&literal.id=change.me"
+                   title="Extracting Request Handler Parameters" size="50">
+          </div>
+          <div id="general-attribs">
+            <label for="commitWithin">
+              <a rel="help">Commit Within</a>
+            </label>
+            <input type="text" id="commitWithin" value="1000" title="Commit Within (ms)">
+            <label for="overwrite">
+              <a rel="help">Overwrite</a>
+            </label>
+            <input type="text" id="overwrite" value="true" title="Overwrite">
+          </div>
+          <!-- Boost is json only, since the XML has it embedded -->
+          <div id="json-only">
+            <label for="boost">
+              <a rel="help">Boost</a>
+            </label>
+            <input type="text" id="boost" value="1.0" title="Document Boost">
+          </div>
+        </div>
+      </div>
+
+      <button type="submit" id="submit">Submit Document</button>
+    </form>
+  </div>
+  <div id="result">
+    <div id="response">
+      <!--<iframe src="about:blank"></iframe>-->
+    </div>
+
+  </div>
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/documents.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html?rev=1700119&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html (added)
+++ ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html Sun Aug 30 13:27:07 2015
@@ -0,0 +1,44 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<div id="files" class="clearfix">
+
+  <div id="frame">
+
+    <div id="tree-holder">
+
+      <div id="tree" class="tree">#tree</div>
+
+    </div>
+    <div id="file-content" class="clearfix">
+
+      <div class="top clearfix">
+
+        <a id="url" class="address-bar" href="#"></a>
+
+      </div>
+
+      <div class="view-file">
+
+        <div class="response">Loading …</div>
+
+      </div>
+
+    </div>
+
+  </div>
+
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/specialpurpose/solr/webapp/solr/tpl/files.html
------------------------------------------------------------------------------
    svn:mime-type = text/html