@@ -34,7 +34,8 @@ function GraphGist($) {
34
34
var $TABLE_CONTAINER = $ ( '<div/>' ) . addClass ( 'result-table' ) ;
35
35
var ASCIIDOCTOR_OPTIONS = Opal . hash ( 'attributes' , [ 'notitle!' ] , 'attribute-missing' , 'drop' ) ;
36
36
var DEFAULT_SOURCE = 'github-neo4j-contrib%2Fgists%2F%2Fmeta%2FHome.adoc'
37
- var $VISUALIZATION_ICONS = $ ( '<div class="visualization-icons"><i class="icon-fullscreen fullscreen-icon"></i></div>' ) ;
37
+ var $VISUALIZATION_ICONS = $ ( '<div class="visualization-icons"><i class="icon-fullscreen fullscreen-icon" title="Toggle fullscreen mode"></i></div>' ) ;
38
+ var $I = $ ( '<i/>' ) ;
38
39
39
40
var DEFAULT_VERSION = '2.0.0' ;
40
41
var CONSOLE_VERSIONS = { '2.0.0-M06' : 'http://neo4j-console-20m06.herokuapp.com/' ,
@@ -340,58 +341,64 @@ function GraphGist($) {
340
341
var id = 'graph-visualization-' + ( counter ++ ) ;
341
342
var $visContainer = $VISUALIZATION . clone ( ) . attr ( 'id' , id ) . insertAfter ( $heading ) ;
342
343
var show_result_only = $heading . attr ( 'graph-mode' ) && $heading . attr ( 'graph-mode' ) . indexOf ( 'result' ) !== - 1 ;
344
+ var selectedVisualization = handleSelection ( visualization , show_result_only ) ;
343
345
$heading . remove ( ) ;
344
- if ( visualization ) {
345
- $visContainer . height ( VISUALIZATION_HEIGHT ) ;
346
- var rendererHooks = neod3Renderer . render ( id , $visContainer , handleSelection ( visualization , show_result_only ) ) ;
347
- var subscriptions = 'subscriptions' in rendererHooks ? rendererHooks [ 'subscriptions' ] : { } ;
348
- var actions = 'actions' in rendererHooks ? rendererHooks [ 'actions' ] : { } ;
349
- var $visualizationIcons = $VISUALIZATION_ICONS . clone ( ) . appendTo ( $visContainer ) ;
350
- $visualizationIcons . children ( 'i.fullscreen-icon' ) . click ( fullscreenClick ) ;
351
- for ( var iconName in actions ) {
352
- $ ( '<i class="' + iconName + '"></i>' ) . appendTo ( $visualizationIcons ) . click ( actions [ iconName ] ) ;
346
+ $visContainer . height ( VISUALIZATION_HEIGHT ) ;
347
+ performVisualizationRendering ( ) ;
348
+
349
+ function performVisualizationRendering ( ) {
350
+ if ( visualization ) {
351
+ var rendererHooks = neod3Renderer . render ( id , $visContainer , selectedVisualization ) ;
352
+ var subscriptions = 'subscriptions' in rendererHooks ? rendererHooks [ 'subscriptions' ] : { } ;
353
+ var actions = 'actions' in rendererHooks ? rendererHooks [ 'actions' ] : { } ;
354
+ var $visualizationIcons = $VISUALIZATION_ICONS . clone ( ) . appendTo ( $visContainer ) ;
355
+ $visualizationIcons . children ( 'i.fullscreen-icon' ) . click ( fullscreenClick ) ;
356
+ for ( var iconName in actions ) {
357
+ var actionData = actions [ iconName ] ;
358
+ $I . clone ( ) . addClass ( iconName ) . attr ( 'title' , actionData . title ) . appendTo ( $visualizationIcons ) . click ( actionData . func ) ;
359
+ }
360
+ $visContainer . mutate ( 'width' , sizeChange ) ;
361
+ }
362
+ else {
363
+ $visContainer . text ( 'There is no graph to render.' ) . addClass ( 'alert-error' ) ;
353
364
}
354
- $visContainer . mutate ( 'width' , sizeChange ) ;
355
- }
356
- else {
357
- $visContainer . text ( 'There is no graph to render.' ) . addClass ( 'alert-error' ) ;
358
- }
359
365
360
- function fullscreenClick ( ) {
361
- if ( $visContainer . hasClass ( 'fullscreen' ) ) {
362
- $ ( 'body' ) . unbind ( 'keydown' , keyHandler ) ;
363
- contract ( ) ;
364
- } else {
365
- expand ( ) ;
366
- $ ( 'body' ) . keydown ( keyHandler ) ;
366
+ function fullscreenClick ( ) {
367
+ if ( $visContainer . hasClass ( 'fullscreen' ) ) {
368
+ $ ( 'body' ) . unbind ( 'keydown' , keyHandler ) ;
369
+ contract ( ) ;
370
+ } else {
371
+ expand ( ) ;
372
+ $ ( 'body' ) . keydown ( keyHandler ) ;
373
+ }
367
374
}
368
- }
369
375
370
- function expand ( ) {
371
- $visContainer . addClass ( 'fullscreen' ) ;
372
- $visContainer . height ( '100%' ) ;
373
- if ( 'expand' in subscriptions ) {
374
- subscriptions . expand ( ) ;
376
+ function expand ( ) {
377
+ $visContainer . addClass ( 'fullscreen' ) ;
378
+ $visContainer . height ( '100%' ) ;
379
+ if ( 'expand' in subscriptions ) {
380
+ subscriptions . expand ( ) ;
381
+ }
375
382
}
376
- }
377
383
378
- function contract ( ) {
379
- $visContainer . removeClass ( 'fullscreen' ) ;
380
- $visContainer . height ( 400 ) ;
381
- if ( 'contract' in subscriptions ) {
382
- subscriptions . contract ( ) ;
384
+ function contract ( ) {
385
+ $visContainer . removeClass ( 'fullscreen' ) ;
386
+ $visContainer . height ( 400 ) ;
387
+ if ( 'contract' in subscriptions ) {
388
+ subscriptions . contract ( ) ;
389
+ }
383
390
}
384
- }
385
391
386
- function sizeChange ( ) {
387
- if ( 'sizeChange' in subscriptions ) {
388
- subscriptions . sizeChange ( ) ;
392
+ function sizeChange ( ) {
393
+ if ( 'sizeChange' in subscriptions ) {
394
+ subscriptions . sizeChange ( ) ;
395
+ }
389
396
}
390
- }
391
397
392
- function keyHandler ( event ) {
393
- if ( 'which' in event && event . which === 27 ) {
394
- contract ( ) ;
398
+ function keyHandler ( event ) {
399
+ if ( 'which' in event && event . which === 27 ) {
400
+ contract ( ) ;
401
+ }
395
402
}
396
403
}
397
404
} ) ;
0 commit comments