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
|
Optimizations
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
* SOLR-4339: Admin UI - Display Field-Flags on Schema-Browser
|
||||||
|
(steffkes)
|
||||||
|
|
||||||
Other Changes
|
Other Changes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,11 @@
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#content #schema-browser #related .ukf-dsf dt
|
||||||
|
{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
#content #schema-browser #related dl
|
#content #schema-browser #related dl
|
||||||
{
|
{
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
|
@ -140,11 +145,60 @@
|
||||||
width: 100px;
|
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,
|
||||||
#content #schema-browser #data #field .field-options .analyzer li,
|
#content #schema-browser #data #field .field-options .analyzer li,
|
||||||
|
|
|
@ -713,52 +713,6 @@ sammy.get
|
||||||
data_element
|
data_element
|
||||||
.show();
|
.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
|
// -- head
|
||||||
|
|
||||||
var head_element = $( '.head', data_element );
|
var head_element = $( '.head', data_element );
|
||||||
|
@ -786,72 +740,6 @@ sammy.get
|
||||||
$( '.partial', data_element )
|
$( '.partial', data_element )
|
||||||
.toggle( partial_state );
|
.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
|
// -- docs
|
||||||
var docs_element = $( 'dt.docs', options_element );
|
var docs_element = $( 'dt.docs', options_element );
|
||||||
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
|
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
|
||||||
|
@ -920,6 +808,103 @@ sammy.get
|
||||||
$( '.similarity', options_element ).hide();
|
$( '.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_element = $( '.analyzer', data_element );
|
||||||
var analyzer_data = null;
|
var analyzer_data = null;
|
||||||
|
|
||||||
|
|
|
@ -43,12 +43,6 @@ limitations under the License.
|
||||||
|
|
||||||
<dt class="similarity">Similarity:</dt>
|
<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="position-increment-gap"><abbr title="Position Increment Gap">PI Gap</abbr>:</dt>
|
||||||
|
|
||||||
<dt class="docs">Docs:</dt>
|
<dt class="docs">Docs:</dt>
|
||||||
|
@ -57,6 +51,24 @@ limitations under the License.
|
||||||
|
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
<table class="flags" cellspacing="0" cellpadding="0" border="0">
|
||||||
|
|
||||||
|
<thead>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
<td>Flags:</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
<ul class="analyzer">
|
<ul class="analyzer">
|
||||||
<li class="clearfix index">
|
<li class="clearfix index">
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue