rjack-solr 4.1.0.0-java → 4.2.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +5 -0
- data/Manifest.txt +7 -3
- data/Rakefile +1 -0
- data/init/rjack-solr +1 -1
- data/lib/rjack-solr/base.rb +1 -1
- data/lib/rjack-solr/org.restlet-2.1.1.jar +0 -0
- data/lib/rjack-solr/org.restlet.ext.servlet-2.1.1.jar +0 -0
- data/lib/rjack-solr/solr-core-4.2.1.jar +0 -0
- data/lib/rjack-solr/{solr-solrj-4.1.0.jar → solr-solrj-4.2.1.jar} +0 -0
- data/pom.xml +2 -2
- data/webapp/META-INF/MANIFEST.MF +3 -3
- data/webapp/META-INF/NOTICE.txt +12 -0
- data/webapp/WEB-INF/web.xml +14 -0
- data/webapp/admin.html +6 -2
- data/webapp/css/styles/analysis.css +2 -3
- data/webapp/css/styles/cloud.css +52 -0
- data/webapp/css/styles/common.css +1 -7
- data/webapp/css/styles/index.css +0 -5
- data/webapp/css/styles/menu.css +43 -30
- data/webapp/css/styles/schema-browser.css +99 -28
- data/webapp/img/ico/home.png +0 -0
- data/webapp/js/main.js +0 -1
- data/webapp/js/scripts/analysis.js +8 -5
- data/webapp/js/scripts/app.js +153 -37
- data/webapp/js/scripts/cores.js +1 -7
- data/webapp/js/scripts/dataimport.js +3 -8
- data/webapp/js/scripts/index.js +39 -32
- data/webapp/js/scripts/java-properties.js +1 -1
- data/webapp/js/scripts/logging.js +2 -2
- data/webapp/js/scripts/ping.js +1 -1
- data/webapp/js/scripts/plugins.js +2 -6
- data/webapp/js/scripts/query.js +2 -2
- data/webapp/js/scripts/schema-browser.js +148 -148
- data/webapp/js/scripts/threads.js +1 -1
- data/webapp/tpl/analysis.html +1 -1
- data/webapp/tpl/cloud.html +11 -0
- data/webapp/tpl/schema-browser.html +19 -11
- metadata +21 -13
- data/lib/rjack-solr/solr-core-4.1.0.jar +0 -0
- data/webapp/js/lib/jquery.sparkline.js +0 -1271
data/webapp/js/scripts/cores.js
CHANGED
@@ -20,12 +20,6 @@ sammy.bind
|
|
20
20
|
'cores_load_data',
|
21
21
|
function( event, params )
|
22
22
|
{
|
23
|
-
if( app.cores_data )
|
24
|
-
{
|
25
|
-
params.callback( app.cores_data );
|
26
|
-
return true;
|
27
|
-
}
|
28
|
-
|
29
23
|
$.ajax
|
30
24
|
(
|
31
25
|
{
|
@@ -335,7 +329,7 @@ sammy.get
|
|
335
329
|
.ajaxForm
|
336
330
|
(
|
337
331
|
{
|
338
|
-
url : app.config.solr_path + app.config.core_admin_path + '?wt=json',
|
332
|
+
url : app.config.solr_path + app.config.core_admin_path + '?wt=json&indexInfo=false',
|
339
333
|
dataType : 'json',
|
340
334
|
beforeSubmit : function( array, form, options )
|
341
335
|
{
|
@@ -440,11 +440,6 @@ sammy.get
|
|
440
440
|
var messages_count = 0;
|
441
441
|
for( var key in messages ) { messages_count++; }
|
442
442
|
|
443
|
-
var format_number = function format_number( number )
|
444
|
-
{
|
445
|
-
return ( number || 0 ).toString().replace( /\B(?=(\d{3})+(?!\d))/g, '\'' );
|
446
|
-
};
|
447
|
-
|
448
443
|
function dataimport_compute_details( response, details_element, elapsed_seconds )
|
449
444
|
{
|
450
445
|
details_element
|
@@ -464,10 +459,10 @@ sammy.get
|
|
464
459
|
{
|
465
460
|
var value = parseInt( response.statusMessages[document_config[key]], 10 );
|
466
461
|
|
467
|
-
var detail = '<abbr title="' + document_config[key].esc() + '">' + key.esc() + '</abbr>: ' + format_number( value ).esc();
|
462
|
+
var detail = '<abbr title="' + document_config[key].esc() + '">' + key.esc() + '</abbr>: ' + app.format_number( value ).esc();
|
468
463
|
if( elapsed_seconds && 'skipped' !== key.toLowerCase() )
|
469
464
|
{
|
470
|
-
detail += ' <span>(' + format_number( Math.round( value / elapsed_seconds ) ).esc() + '/s)</span>'
|
465
|
+
detail += ' <span>(' + app.format_number( Math.round( value / elapsed_seconds ) ).esc() + '/s)</span>'
|
471
466
|
}
|
472
467
|
|
473
468
|
document_details.push( detail );
|
@@ -523,7 +518,7 @@ sammy.get
|
|
523
518
|
/\d{4,}/g,
|
524
519
|
function( match, position, string )
|
525
520
|
{
|
526
|
-
return format_number( parseInt( match, 10 ) );
|
521
|
+
return app.format_number( parseInt( match, 10 ) );
|
527
522
|
}
|
528
523
|
);
|
529
524
|
|
data/webapp/js/scripts/index.js
CHANGED
@@ -97,8 +97,8 @@ var system_info = function( element, system_data )
|
|
97
97
|
{
|
98
98
|
// -- usage
|
99
99
|
|
100
|
-
var load_average = ( system_data['system']['uptime'] || '' ).match( /load
|
101
|
-
if( load_average
|
100
|
+
var load_average = ( system_data['system']['uptime'] || '' ).match( /load averages?: (\d+[.,]\d\d),? (\d+[.,]\d\d),? (\d+[.,]\d\d)/ );
|
101
|
+
if( load_average )
|
102
102
|
{
|
103
103
|
var hl = $( '#system h2', element );
|
104
104
|
|
@@ -106,20 +106,20 @@ var system_info = function( element, system_data )
|
|
106
106
|
.remove();
|
107
107
|
|
108
108
|
hl
|
109
|
-
.append( ' <small class="bar-desc">' + load_average
|
109
|
+
.append( ' <small class="bar-desc">' + load_average.slice( 1 ).join( ' ' ).replace( /,/g, '.' ).esc() + '</small>' );
|
110
110
|
}
|
111
111
|
|
112
112
|
// -- physical-memory-bar
|
113
113
|
|
114
114
|
var bar_holder = $( '#physical-memory-bar', element );
|
115
|
-
if(
|
115
|
+
if( system_data['system']['totalPhysicalMemorySize'] === undefined || system_data['system']['freePhysicalMemorySize'] === undefined )
|
116
116
|
{
|
117
117
|
bar_holder.hide();
|
118
118
|
}
|
119
119
|
else
|
120
120
|
{
|
121
121
|
bar_holder.show();
|
122
|
-
|
122
|
+
|
123
123
|
var bar_data = {
|
124
124
|
'max' : parse_memory_value( system_data['system']['totalPhysicalMemorySize'] ),
|
125
125
|
'total' : parse_memory_value( system_data['system']['totalPhysicalMemorySize'] - system_data['system']['freePhysicalMemorySize'] )
|
@@ -131,7 +131,7 @@ var system_info = function( element, system_data )
|
|
131
131
|
// -- swap-space-bar
|
132
132
|
|
133
133
|
var bar_holder = $( '#swap-space-bar', element );
|
134
|
-
if(
|
134
|
+
if( system_data['system']['totalSwapSpaceSize'] === undefined || system_data['system']['freeSwapSpaceSize'] === undefined )
|
135
135
|
{
|
136
136
|
bar_holder.hide();
|
137
137
|
}
|
@@ -147,10 +147,10 @@ var system_info = function( element, system_data )
|
|
147
147
|
generate_bar( bar_holder, bar_data, true );
|
148
148
|
}
|
149
149
|
|
150
|
-
// --
|
150
|
+
// -- file-descriptor-bar
|
151
151
|
|
152
152
|
var bar_holder = $( '#file-descriptor-bar', element );
|
153
|
-
if(
|
153
|
+
if( system_data['system']['maxFileDescriptorCount'] === undefined || system_data['system']['openFileDescriptorCount'] === undefined )
|
154
154
|
{
|
155
155
|
bar_holder.hide();
|
156
156
|
}
|
@@ -172,32 +172,42 @@ var system_info = function( element, system_data )
|
|
172
172
|
|
173
173
|
// -- memory-bar
|
174
174
|
|
175
|
-
var
|
176
|
-
(
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
175
|
+
var bar_holder = $( '#jvm-memory-bar', element );
|
176
|
+
if( system_data['jvm']['memory'] === undefined )
|
177
|
+
{
|
178
|
+
bar_holder.hide();
|
179
|
+
}
|
180
|
+
else
|
181
|
+
{
|
182
|
+
bar_holder.show();
|
183
|
+
|
184
|
+
var jvm_memory = $.extend
|
185
|
+
(
|
186
|
+
{
|
183
187
|
'free' : null,
|
184
188
|
'total' : null,
|
185
189
|
'max' : null,
|
186
190
|
'used' : null,
|
187
|
-
'
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
191
|
+
'raw' : {
|
192
|
+
'free' : null,
|
193
|
+
'total' : null,
|
194
|
+
'max' : null,
|
195
|
+
'used' : null,
|
196
|
+
'used%' : null
|
197
|
+
}
|
198
|
+
},
|
199
|
+
system_data['jvm']['memory']
|
200
|
+
);
|
201
|
+
|
202
|
+
var bar_data = {
|
203
|
+
'max' : parse_memory_value( jvm_memory['raw']['max'] || jvm_memory['max'] ),
|
204
|
+
'total' : parse_memory_value( jvm_memory['raw']['total'] || jvm_memory['total'] ),
|
205
|
+
'used' : parse_memory_value( jvm_memory['raw']['used'] || jvm_memory['used'] )
|
206
|
+
};
|
207
|
+
|
208
|
+
generate_bar( bar_holder, bar_data, true );
|
209
|
+
}
|
199
210
|
|
200
|
-
generate_bar( bar_holder, bar_data, true );
|
201
211
|
}
|
202
212
|
|
203
213
|
// #/
|
@@ -208,9 +218,6 @@ sammy.get
|
|
208
218
|
{
|
209
219
|
var content_element = $( '#content' );
|
210
220
|
|
211
|
-
$( '#menu-wrapper #index' )
|
212
|
-
.addClass( 'active' );
|
213
|
-
|
214
221
|
content_element
|
215
222
|
.html( '<div id="index"></div>' );
|
216
223
|
|
@@ -21,7 +21,7 @@ sammy.get
|
|
21
21
|
/^#\/(~java-properties)$/,
|
22
22
|
function( context )
|
23
23
|
{
|
24
|
-
var core_basepath = $( '
|
24
|
+
var core_basepath = $( '[data-basepath]', app.menu_element ).attr( 'data-basepath' );
|
25
25
|
var content_element = $( '#content' );
|
26
26
|
|
27
27
|
content_element
|
@@ -406,7 +406,7 @@ sammy.get
|
|
406
406
|
/^#\/(~logging)$/,
|
407
407
|
function( context )
|
408
408
|
{
|
409
|
-
var core_basepath = $( '
|
409
|
+
var core_basepath = $( '[data-basepath]', app.menu_element ).attr( 'data-basepath' );
|
410
410
|
loglevel_path = core_basepath + '/admin/logging';
|
411
411
|
var content_element = $( '#content' );
|
412
412
|
|
@@ -492,7 +492,7 @@ sammy.get
|
|
492
492
|
/^#\/(~logging)\/level$/,
|
493
493
|
function( context )
|
494
494
|
{
|
495
|
-
var core_basepath = $( '
|
495
|
+
var core_basepath = $( '[data-basepath]', app.menu_element ).attr( 'data-basepath' );
|
496
496
|
loglevel_path = core_basepath + '/admin/logging';
|
497
497
|
var content_element = $( '#content' );
|
498
498
|
|
data/webapp/js/scripts/ping.js
CHANGED
@@ -254,12 +254,8 @@ var render_plugin_data = function( plugin_data, plugin_sort, types )
|
|
254
254
|
|
255
255
|
for( var stats_key in details[detail_key] )
|
256
256
|
{
|
257
|
-
var stats_value = details[detail_key][stats_key];
|
258
|
-
|
259
|
-
if( 'readerDir' === stats_key )
|
260
|
-
{
|
261
|
-
stats_value = stats_value.replace( /@/g, '@​' );
|
262
|
-
}
|
257
|
+
var stats_value = new String( details[detail_key][stats_key] );
|
258
|
+
stats_value = stats_value.replace( /([\(@])/g, '$1​' );
|
263
259
|
|
264
260
|
content += '<li><dl class="clearfix">' + "\n";
|
265
261
|
content += '<dt>' + stats_key + ':</dt>' + "\n";
|
data/webapp/js/scripts/query.js
CHANGED
@@ -130,7 +130,7 @@ sammy.get
|
|
130
130
|
|
131
131
|
var fieldsets = $( '> fieldset', query_form );
|
132
132
|
|
133
|
-
var fields = fieldsets.first().formToArray();
|
133
|
+
var fields = fieldsets.first().formToArray( true );
|
134
134
|
add_to_form_values( fields );
|
135
135
|
|
136
136
|
fieldsets.not( '.common' )
|
@@ -140,7 +140,7 @@ sammy.get
|
|
140
140
|
{
|
141
141
|
if( $( 'legend input', set ).is( ':checked' ) )
|
142
142
|
{
|
143
|
-
var fields = $( set ).formToArray();
|
143
|
+
var fields = $( set ).formToArray( true );
|
144
144
|
add_to_form_values( fields );
|
145
145
|
}
|
146
146
|
}
|
@@ -66,9 +66,7 @@ var load_terminfo = function( trigger_element, core_basepath, field, data_elemen
|
|
66
66
|
},
|
67
67
|
success : function( response, text_status, xhr )
|
68
68
|
{
|
69
|
-
|
70
|
-
.removeClass( 'loader' );
|
71
|
-
|
69
|
+
var additional_styles = [];
|
72
70
|
var field_data = response.fields[field];
|
73
71
|
|
74
72
|
if( !field_data || !( field_data.topTerms && field_data.histogram ) )
|
@@ -79,6 +77,11 @@ var load_terminfo = function( trigger_element, core_basepath, field, data_elemen
|
|
79
77
|
return false;
|
80
78
|
}
|
81
79
|
|
80
|
+
var get_width = function get_width()
|
81
|
+
{
|
82
|
+
return $( this ).width();
|
83
|
+
}
|
84
|
+
|
82
85
|
var topterms_holder_element = $( '.topterms-holder', data_element );
|
83
86
|
var histogram_holder_element = $( '.histogram-holder', data_element );
|
84
87
|
|
@@ -111,7 +114,7 @@ var load_terminfo = function( trigger_element, core_basepath, field, data_elemen
|
|
111
114
|
|
112
115
|
topterms_frq_last = topterms[i+1];
|
113
116
|
topterms_content += '<li class="clearfix">'
|
114
|
-
+ '<p><span>' +
|
117
|
+
+ '<p><span>' + app.format_number( topterms_frq_last ) + '</span></p>' + "\n"
|
115
118
|
+ '<ul>' + "\n";
|
116
119
|
}
|
117
120
|
|
@@ -129,6 +132,13 @@ var load_terminfo = function( trigger_element, core_basepath, field, data_elemen
|
|
129
132
|
topterms_table_element
|
130
133
|
.html( topterms_content );
|
131
134
|
|
135
|
+
var max_width = 10 + Math.max.apply( Math, $( 'p', topterms_table_element ).map( get_width ).get() );
|
136
|
+
additional_styles.push
|
137
|
+
(
|
138
|
+
topterms_table_element.selector + ' p { width: ' + max_width + 'px !important; }' + "\n" +
|
139
|
+
topterms_table_element.selector + ' ul { margin-left: ' + ( max_width + 5 ) + 'px !important; }'
|
140
|
+
);
|
141
|
+
|
132
142
|
topterms_count_element
|
133
143
|
.val( topterms_count );
|
134
144
|
|
@@ -152,52 +162,57 @@ var load_terminfo = function( trigger_element, core_basepath, field, data_elemen
|
|
152
162
|
histogram_holder_element
|
153
163
|
.show();
|
154
164
|
|
155
|
-
var histogram_element = $( '.histogram', histogram_holder_element );
|
156
|
-
|
157
165
|
var histogram_values = luke_array_to_hash( field_data.histogram );
|
158
|
-
var
|
159
|
-
|
160
|
-
|
161
|
-
.show();
|
162
|
-
|
166
|
+
var histogram_entries = [];
|
167
|
+
|
168
|
+
var histogram_max = null;
|
163
169
|
for( var key in histogram_values )
|
164
170
|
{
|
165
|
-
|
166
|
-
'<dd title="' + key + '">' +
|
167
|
-
'<span>' + histogram_values[key] + '</span>' +
|
168
|
-
'</dd>' + "\n";
|
171
|
+
histogram_max = Math.max( histogram_max, histogram_values[key] );
|
169
172
|
}
|
170
173
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
var histogram_values = luke_array_to_struct( field_data.histogram ).values;
|
175
|
-
|
176
|
-
histogram_element
|
177
|
-
.sparkline
|
174
|
+
for( var key in histogram_values )
|
175
|
+
{
|
176
|
+
histogram_entries.push
|
178
177
|
(
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
barWidth : 46,
|
186
|
-
barSpacing : 3
|
187
|
-
}
|
178
|
+
'<li>' + "\n" +
|
179
|
+
' <dl class="clearfix" style="width: ' + ( ( histogram_values[key] / histogram_max ) * 100 ) + '%;">' + "\n" +
|
180
|
+
' <dt><span>' + app.format_number( key ) + '</span></dt>' + "\n" +
|
181
|
+
' <dd><span>' + app.format_number( histogram_values[key] ) + '</span></dd>' + "\n" +
|
182
|
+
' </dl>' + "\n" +
|
183
|
+
'</li>'
|
188
184
|
);
|
185
|
+
}
|
186
|
+
|
187
|
+
$( 'ul', histogram_holder_element )
|
188
|
+
.html( histogram_entries.join( "\n" ) );
|
189
|
+
|
190
|
+
$( 'ul li:even', histogram_holder_element )
|
191
|
+
.addClass( 'odd' );
|
189
192
|
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
+
var max_width = 10 + Math.max.apply( Math, $( 'dt', histogram_holder_element ).map( get_width ).get() );
|
194
|
+
additional_styles.push
|
195
|
+
(
|
196
|
+
histogram_holder_element.selector + ' ul { margin-left: ' + max_width + 'px !important; }' + "\n" +
|
197
|
+
histogram_holder_element.selector + ' li dt { left: ' + ( max_width * -1 ) + 'px !important; width: ' + max_width + 'px !important; }'
|
198
|
+
);
|
193
199
|
}
|
194
200
|
|
201
|
+
if( additional_styles )
|
202
|
+
{
|
203
|
+
terminfo_element
|
204
|
+
.prepend( '<style type="text/css">' + additional_styles.join( "\n" ) + '</style>' );
|
205
|
+
}
|
195
206
|
},
|
196
207
|
error : function( xhr, text_status, error_thrown)
|
197
208
|
{
|
209
|
+
terminfo_element
|
210
|
+
.addClass( 'disabled' );
|
198
211
|
},
|
199
212
|
complete : function( xhr, text_status )
|
200
213
|
{
|
214
|
+
$( 'span', trigger_element )
|
215
|
+
.removeClass( 'loader' );
|
201
216
|
}
|
202
217
|
}
|
203
218
|
);
|
@@ -213,7 +228,7 @@ sammy.bind
|
|
213
228
|
var related_select_element = $( '#related select', params.schema_browser_element )
|
214
229
|
var type = 'index';
|
215
230
|
|
216
|
-
var sammy_basepath =
|
231
|
+
var sammy_basepath = app.core_menu.find( '.active a' ).attr( 'href' );
|
217
232
|
|
218
233
|
if( !related_navigation_meta.hasClass( 'done' ) )
|
219
234
|
{
|
@@ -625,7 +640,7 @@ sammy.bind
|
|
625
640
|
}
|
626
641
|
|
627
642
|
related_select_element
|
628
|
-
.attr( 'rel',
|
643
|
+
.attr( 'rel', app.core_menu.find( '.active a' ).attr( 'href' ) )
|
629
644
|
.append( related_options )
|
630
645
|
.chosen();
|
631
646
|
|
@@ -713,52 +728,6 @@ sammy.get
|
|
713
728
|
data_element
|
714
729
|
.show();
|
715
730
|
|
716
|
-
var keystring_to_list = function( keystring, element_class )
|
717
|
-
{
|
718
|
-
var key_list = keystring.replace( /-/g, '' ).split( '' );
|
719
|
-
var list = [];
|
720
|
-
|
721
|
-
for( var i in key_list )
|
722
|
-
{
|
723
|
-
var option_key = schema_browser_data.key[key_list[i]];
|
724
|
-
|
725
|
-
if( !option_key )
|
726
|
-
{
|
727
|
-
option_key = schema_browser_data.key[key_list[i].toLowerCase()];
|
728
|
-
}
|
729
|
-
|
730
|
-
if( !option_key )
|
731
|
-
{
|
732
|
-
option_key = schema_browser_data.key[key_list[i].toUpperCase()];
|
733
|
-
}
|
734
|
-
|
735
|
-
if( option_key )
|
736
|
-
{
|
737
|
-
list.push
|
738
|
-
(
|
739
|
-
'<dd ' + ( element_class ? ' class="' + element_class + '"' : '' ) + '>' +
|
740
|
-
option_key +
|
741
|
-
',</dd>'
|
742
|
-
);
|
743
|
-
}
|
744
|
-
}
|
745
|
-
|
746
|
-
list[list.length-1] = list[key_list.length-1].replace( /,/, '' );
|
747
|
-
|
748
|
-
return list;
|
749
|
-
}
|
750
|
-
|
751
|
-
var flags = null;
|
752
|
-
|
753
|
-
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].flags )
|
754
|
-
{
|
755
|
-
flags = schema_browser_data.fields[field].flags;
|
756
|
-
}
|
757
|
-
else if( is_df && schema_browser_data.dynamic_fields[field] && schema_browser_data.dynamic_fields[field].flags )
|
758
|
-
{
|
759
|
-
flags = schema_browser_data.dynamic_fields[field].flags;
|
760
|
-
}
|
761
|
-
|
762
731
|
// -- head
|
763
732
|
|
764
733
|
var head_element = $( '.head', data_element );
|
@@ -786,72 +755,6 @@ sammy.get
|
|
786
755
|
$( '.partial', data_element )
|
787
756
|
.toggle( partial_state );
|
788
757
|
|
789
|
-
// -- properties
|
790
|
-
var properties_element = $( 'dt.properties', options_element );
|
791
|
-
if( flags )
|
792
|
-
{
|
793
|
-
var properties_keys = keystring_to_list( flags, 'properties' );
|
794
|
-
|
795
|
-
$( 'dd.properties', options_element )
|
796
|
-
.remove();
|
797
|
-
|
798
|
-
properties_element
|
799
|
-
.show()
|
800
|
-
.after( properties_keys.join( "\n" ) );
|
801
|
-
}
|
802
|
-
else
|
803
|
-
{
|
804
|
-
$( '.properties', options_element )
|
805
|
-
.hide();
|
806
|
-
}
|
807
|
-
|
808
|
-
// -- schema
|
809
|
-
var schema_element = $( 'dt.schema', options_element );
|
810
|
-
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].schema )
|
811
|
-
{
|
812
|
-
var schema_keys = keystring_to_list( schema_browser_data.fields[field].schema, 'schema' );
|
813
|
-
|
814
|
-
$( 'dd.schema', options_element )
|
815
|
-
.remove();
|
816
|
-
|
817
|
-
schema_element
|
818
|
-
.show()
|
819
|
-
.after( schema_keys.join( "\n" ) );
|
820
|
-
}
|
821
|
-
else
|
822
|
-
{
|
823
|
-
$( '.schema', options_element )
|
824
|
-
.hide();
|
825
|
-
}
|
826
|
-
|
827
|
-
// -- index
|
828
|
-
var index_element = $( 'dt.index', options_element );
|
829
|
-
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].index )
|
830
|
-
{
|
831
|
-
var index_keys = [];
|
832
|
-
|
833
|
-
if( 0 === schema_browser_data.fields[field].index.indexOf( '(' ) )
|
834
|
-
{
|
835
|
-
index_keys.push( '<dd class="index">' + schema_browser_data.fields[field].index + '</dd>' );
|
836
|
-
}
|
837
|
-
else
|
838
|
-
{
|
839
|
-
index_keys = keystring_to_list( schema_browser_data.fields[field].index, 'index' );
|
840
|
-
}
|
841
|
-
|
842
|
-
$( 'dd.index', options_element )
|
843
|
-
.remove();
|
844
|
-
|
845
|
-
index_element
|
846
|
-
.show()
|
847
|
-
.after( index_keys.join( "\n" ) );
|
848
|
-
}
|
849
|
-
else
|
850
|
-
{
|
851
|
-
$( '.index', options_element )
|
852
|
-
.hide();
|
853
|
-
}
|
854
|
-
|
855
758
|
// -- docs
|
856
759
|
var docs_element = $( 'dt.docs', options_element );
|
857
760
|
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
|
@@ -920,6 +823,103 @@ sammy.get
|
|
920
823
|
$( '.similarity', options_element ).hide();
|
921
824
|
}
|
922
825
|
|
826
|
+
|
827
|
+
// -- flags table
|
828
|
+
var flags_table = $( 'table.flags', data_element );
|
829
|
+
|
830
|
+
var flags_arr = [];
|
831
|
+
for( var key in schema_browser_data.key )
|
832
|
+
{
|
833
|
+
flags_arr.push( '<th data-key="' + key + '">' + schema_browser_data.key[key] + '</th>' );
|
834
|
+
}
|
835
|
+
|
836
|
+
$( 'thead tr', flags_table )
|
837
|
+
.append( flags_arr.join( "\n" ) );
|
838
|
+
|
839
|
+
|
840
|
+
var flags_body = $( 'tbody', flags_table );
|
841
|
+
flags_body.empty();
|
842
|
+
|
843
|
+
var generate_flags_row = function generate_flags_row( flags_str, title )
|
844
|
+
{
|
845
|
+
var flags_arr = [ '<th>' + title.esc() + '</th>' ];
|
846
|
+
|
847
|
+
if( 0 === flags_str.indexOf( '(' ) )
|
848
|
+
{
|
849
|
+
flags_arr.push( '<td colspan="2" class="text">' + flags_str + '</td>' );
|
850
|
+
}
|
851
|
+
else
|
852
|
+
{
|
853
|
+
var i = 0;
|
854
|
+
for( var key in schema_browser_data.key )
|
855
|
+
{
|
856
|
+
var flag_match = key === flags_str[i];
|
857
|
+
|
858
|
+
var flag_cell = '<td '
|
859
|
+
+ ' data-key="' + key + '"'
|
860
|
+
+ ' class="' + ( flag_match ? 'check' : '' ) + '"'
|
861
|
+
+ '>'
|
862
|
+
+ ( flag_match ? '<span>√</span>' : ' ' )
|
863
|
+
+ '</td>';
|
864
|
+
|
865
|
+
flags_arr.push( flag_cell );
|
866
|
+
i++;
|
867
|
+
}
|
868
|
+
}
|
869
|
+
|
870
|
+
flags_body
|
871
|
+
.append( '<tr>' + flags_arr.join( "\n" ) + '</tr>' );
|
872
|
+
};
|
873
|
+
|
874
|
+
var flags = null;
|
875
|
+
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].flags )
|
876
|
+
{
|
877
|
+
flags = schema_browser_data.fields[field].flags;
|
878
|
+
}
|
879
|
+
else if( is_df && schema_browser_data.dynamic_fields[field] && schema_browser_data.dynamic_fields[field].flags )
|
880
|
+
{
|
881
|
+
flags = schema_browser_data.dynamic_fields[field].flags;
|
882
|
+
}
|
883
|
+
|
884
|
+
if( flags )
|
885
|
+
{
|
886
|
+
generate_flags_row( flags, 'Properties' );
|
887
|
+
}
|
888
|
+
|
889
|
+
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].schema )
|
890
|
+
{
|
891
|
+
generate_flags_row( schema_browser_data.fields[field].schema, 'Schema' );
|
892
|
+
}
|
893
|
+
|
894
|
+
if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].index )
|
895
|
+
{
|
896
|
+
generate_flags_row( schema_browser_data.fields[field].index, 'Index' );
|
897
|
+
}
|
898
|
+
|
899
|
+
|
900
|
+
if( 0 !== $( 'tr', flags_body ).size() )
|
901
|
+
{
|
902
|
+
var col_count = 0;
|
903
|
+
for( var key in schema_browser_data.key )
|
904
|
+
{
|
905
|
+
var cols = $( '[data-key="' + key + '"]', flags_table );
|
906
|
+
|
907
|
+
var col_used = 0 !== cols.filter( '.check' ).size();
|
908
|
+
col_count += col_used;
|
909
|
+
|
910
|
+
cols.toggle( col_used );
|
911
|
+
}
|
912
|
+
|
913
|
+
$( 'td[colspan]', flags_body )
|
914
|
+
.attr( 'colspan', col_count );
|
915
|
+
|
916
|
+
flags_table.show();
|
917
|
+
}
|
918
|
+
else
|
919
|
+
{
|
920
|
+
flags_table.hide();
|
921
|
+
}
|
922
|
+
|
923
923
|
var analyzer_element = $( '.analyzer', data_element );
|
924
924
|
var analyzer_data = null;
|
925
925
|
|