@@ -17,6 +17,12 @@ $(function() {
1717 return { name : name , link : link , num : group [ 1 ] . length }
1818 } )
1919
20+ // Callbacks
21+ var callbacks = _ . map ( _ . keys ( data [ 'callbacks' ] ) , function ( name ) {
22+ var link = functionLink ( 'callback' , name , version )
23+ return { name : name , link : link }
24+ } )
25+
2026 // Types
2127 var getName = function ( type ) {
2228 var name = type [ 0 ] ;
@@ -50,8 +56,8 @@ $(function() {
5056 } )
5157 }
5258
53- this . set ( 'data' , { funs : funs , enums : enums , structs : structs , opaques : opaques ,
54- files : files , examples : examples } )
59+ this . set ( 'data' , { funs : funs , callbacks : callbacks , enums : enums , structs : structs ,
60+ opaques : opaques , files : files , examples : examples } )
5561 } ,
5662 } )
5763
@@ -78,12 +84,24 @@ $(function() {
7884 render : function ( ) {
7985 var data = this . model . get ( 'data' )
8086
81- var enumList = this . typeTemplate ( { title : 'Enums' , elements : data . enums } )
82- var structList = this . typeTemplate ( { title : 'Structs' , elements : data . structs } )
83- var opaquesList = this . typeTemplate ( { title : 'Opaque Structs' , elements : data . opaques } )
8487 var menu = $ ( this . template ( { funs : data . funs , files : data . files , examples : data . examples } ) )
8588
86- $ ( '#types-list' , menu ) . append ( enumList , structList , opaquesList )
89+ if ( data . enums . length ) {
90+ var enumList = this . typeTemplate ( { title : 'Enums' , elements : data . enums } )
91+ $ ( '#types-list' , menu ) . append ( enumList )
92+ }
93+ if ( data . structs . length ) {
94+ var structList = this . typeTemplate ( { title : 'Structs' , elements : data . structs } )
95+ $ ( '#types-list' , menu ) . append ( structList )
96+ }
97+ if ( data . opaques . length ) {
98+ var opaquesList = this . typeTemplate ( { title : 'Opaque Structs' , elements : data . opaques } )
99+ $ ( '#types-list' , menu ) . append ( opaquesList )
100+ }
101+ if ( data . callbacks . length ) {
102+ var callbacksList = this . typeTemplate ( { title : 'Callbacks' , elements : data . callbacks } )
103+ $ ( '#types-list' , menu ) . append ( callbacksList )
104+ }
87105
88106 this . $el . html ( menu )
89107 return this
@@ -223,7 +241,7 @@ $(function() {
223241 var cdata = docurium . get ( 'data' ) [ 'callbacks' ]
224242 ldata = cdata
225243 } else {
226- var functions = group [ 1 ]
244+ var functions = _ . filter ( group [ 1 ] , function ( f ) { return f != fname } )
227245 }
228246
229247 // Function Arguments
@@ -391,6 +409,7 @@ $(function() {
391409 var cdata = o . callbacks
392410 var version = o . version
393411
412+ this . gname = gname . charAt ( 0 ) . toUpperCase ( ) + gname . substring ( 1 ) . toLowerCase ( )
394413 this . functions = _ . map ( group [ 1 ] , function ( name ) {
395414 var url = '#' + functionLink ( gname , name , version )
396415 var d = fdata [ name ]
@@ -581,7 +600,7 @@ $(function() {
581600 } )
582601 } ,
583602
584- // look for structs and link them
603+ // look for structs and link them
585604 hotLink : function ( text ) {
586605 types = this . get ( 'data' ) [ 'types' ]
587606 var version = this . get ( 'version' )
@@ -606,7 +625,10 @@ $(function() {
606625 } ,
607626
608627 groupOf : function ( func ) {
609- return this . get ( 'data' ) [ 'functions' ] [ func ] [ 'group' ]
628+ if ( func in this . get ( 'data' ) [ 'functions' ] ) {
629+ return this . get ( 'data' ) [ 'functions' ] [ func ] [ 'group' ]
630+ }
631+ return 'callback'
610632 } ,
611633
612634 github_file : function ( file , line , lineto ) {
0 commit comments