in solr/webapp/solr/js/scripts/schema-browser.js [224:428]
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.esc() + '"]', 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 ) );
}
}