mirror of https://github.com/apache/lucene.git
SOLR-4339: Admin UI - Display Field-Flags on Schema-Browser
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1437760 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f5fa833da7
commit
4c723f6e46
|
@ -74,6 +74,9 @@ Bug Fixes
|
|||
Optimizations
|
||||
----------------------
|
||||
|
||||
* SOLR-4339: Admin UI - Display Field-Flags on Schema-Browser
|
||||
(steffkes)
|
||||
|
||||
Other Changes
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -45,6 +45,11 @@
|
|||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
#content #schema-browser #related .ukf-dsf dt
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
#content #schema-browser #related dl
|
||||
{
|
||||
margin-top: 15px;
|
||||
|
@ -140,11 +145,60 @@
|
|||
width: 100px;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .options dd
|
||||
#content #schema-browser #data #field .field-options .flags
|
||||
{
|
||||
margin-right: 5px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags thead td
|
||||
{
|
||||
color: #c0c0c0;
|
||||
padding-right: 5px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags tbody td,
|
||||
#content #schema-browser #data #field .field-options .flags th
|
||||
{
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags thead td,
|
||||
#content #schema-browser #data #field .field-options .flags tbody th
|
||||
{
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags thead th,
|
||||
#content #schema-browser #data #field .field-options .flags tbody td
|
||||
{
|
||||
border-left: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags tbody th,
|
||||
#content #schema-browser #data #field .field-options .flags tbody td
|
||||
{
|
||||
border-top: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags tbody .check
|
||||
{
|
||||
background-color: #fafdfa;
|
||||
background-image: url( ../../img/ico/tick.png );
|
||||
background-position: 50% 50%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags tbody .check span
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .flags tbody .text
|
||||
{
|
||||
color: #c0c0c0;
|
||||
}
|
||||
|
||||
#content #schema-browser #data #field .field-options .analyzer,
|
||||
#content #schema-browser #data #field .field-options .analyzer li,
|
||||
|
|
|
@ -713,52 +713,6 @@ sammy.get
|
|||
data_element
|
||||
.show();
|
||||
|
||||
var keystring_to_list = function( keystring, element_class )
|
||||
{
|
||||
var key_list = keystring.replace( /-/g, '' ).split( '' );
|
||||
var list = [];
|
||||
|
||||
for( var i in key_list )
|
||||
{
|
||||
var option_key = schema_browser_data.key[key_list[i]];
|
||||
|
||||
if( !option_key )
|
||||
{
|
||||
option_key = schema_browser_data.key[key_list[i].toLowerCase()];
|
||||
}
|
||||
|
||||
if( !option_key )
|
||||
{
|
||||
option_key = schema_browser_data.key[key_list[i].toUpperCase()];
|
||||
}
|
||||
|
||||
if( option_key )
|
||||
{
|
||||
list.push
|
||||
(
|
||||
'<dd ' + ( element_class ? ' class="' + element_class + '"' : '' ) + '>' +
|
||||
option_key +
|
||||
',</dd>'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
list[list.length-1] = list[key_list.length-1].replace( /,/, '' );
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// -- head
|
||||
|
||||
var head_element = $( '.head', data_element );
|
||||
|
@ -786,72 +740,6 @@ sammy.get
|
|||
$( '.partial', data_element )
|
||||
.toggle( partial_state );
|
||||
|
||||
// -- properties
|
||||
var properties_element = $( 'dt.properties', options_element );
|
||||
if( flags )
|
||||
{
|
||||
var properties_keys = keystring_to_list( flags, 'properties' );
|
||||
|
||||
$( 'dd.properties', options_element )
|
||||
.remove();
|
||||
|
||||
properties_element
|
||||
.show()
|
||||
.after( properties_keys.join( "\n" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$( '.properties', options_element )
|
||||
.hide();
|
||||
}
|
||||
|
||||
// -- schema
|
||||
var schema_element = $( 'dt.schema', options_element );
|
||||
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].schema )
|
||||
{
|
||||
var schema_keys = keystring_to_list( schema_browser_data.fields[field].schema, 'schema' );
|
||||
|
||||
$( 'dd.schema', options_element )
|
||||
.remove();
|
||||
|
||||
schema_element
|
||||
.show()
|
||||
.after( schema_keys.join( "\n" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$( '.schema', options_element )
|
||||
.hide();
|
||||
}
|
||||
|
||||
// -- index
|
||||
var index_element = $( 'dt.index', options_element );
|
||||
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].index )
|
||||
{
|
||||
var index_keys = [];
|
||||
|
||||
if( 0 === schema_browser_data.fields[field].index.indexOf( '(' ) )
|
||||
{
|
||||
index_keys.push( '<dd class="index">' + schema_browser_data.fields[field].index + '</dd>' );
|
||||
}
|
||||
else
|
||||
{
|
||||
index_keys = keystring_to_list( schema_browser_data.fields[field].index, 'index' );
|
||||
}
|
||||
|
||||
$( 'dd.index', options_element )
|
||||
.remove();
|
||||
|
||||
index_element
|
||||
.show()
|
||||
.after( index_keys.join( "\n" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$( '.index', options_element )
|
||||
.hide();
|
||||
}
|
||||
|
||||
// -- docs
|
||||
var docs_element = $( 'dt.docs', options_element );
|
||||
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
|
||||
|
@ -920,6 +808,103 @@ sammy.get
|
|||
$( '.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>' : ' ' )
|
||||
+ '</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;
|
||||
|
||||
|
|
|
@ -43,12 +43,6 @@ limitations under the License.
|
|||
|
||||
<dt class="similarity">Similarity:</dt>
|
||||
|
||||
<dt class="properties">Properties:</dt>
|
||||
|
||||
<dt class="schema">Schema:</dt>
|
||||
|
||||
<dt class="index">Index:</dt>
|
||||
|
||||
<dt class="position-increment-gap"><abbr title="Position Increment Gap">PI Gap</abbr>:</dt>
|
||||
|
||||
<dt class="docs">Docs:</dt>
|
||||
|
@ -57,6 +51,24 @@ limitations under the License.
|
|||
|
||||
</dl>
|
||||
|
||||
<table class="flags" cellspacing="0" cellpadding="0" border="0">
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Flags:</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<ul class="analyzer">
|
||||
<li class="clearfix index">
|
||||
|
||||
|
|
Loading…
Reference in New Issue