@@ -213,42 +213,54 @@ $(function() {
213213 var fname = this . get ( 'fname' )
214214 var docurium = this . get ( 'docurium' )
215215
216+ var isCallback = gname === 'callback'
216217 var group = docurium . getGroup ( gname )
217218
218219 var fdata = docurium . get ( 'data' ) [ 'functions' ]
219- var functions = group [ 1 ]
220+
221+ var ldata = fdata
222+ if ( isCallback ) {
223+ var cdata = docurium . get ( 'data' ) [ 'callbacks' ]
224+ ldata = cdata
225+ } else {
226+ var functions = group [ 1 ]
227+ }
220228
221229 // Function Arguments
222- var args = _ . map ( fdata [ fname ] [ 'args' ] , function ( arg ) {
230+ var args = _ . map ( ldata [ fname ] [ 'args' ] , function ( arg ) {
223231 return { link : this . hotLink ( arg . type ) , name : arg . name , comment : arg . comment }
224232 } , docurium )
225233
226- var data = fdata [ fname ]
234+ var data = ldata [ fname ]
227235 // function return value
228236 var ret = data [ 'return' ]
229237 var returns = { link : docurium . hotLink ( ret . type ) , comment : ret . comment }
230238 // function signature
231239 var sig = docurium . hotLink ( ret . type ) + ' ' + fname + '(' + data [ 'argline' ] + ');'
232240 // version history
233- var sigHist = docurium . get ( 'signatures' ) [ fname ]
234- var version = docurium . get ( 'version' )
235- var sigs = _ . map ( sigHist . exists , function ( ver ) {
236- var klass = [ ]
237- if ( sigHist . changes [ ver ] )
238- klass . push ( 'changed' )
239- if ( ver == version )
240- klass . push ( 'current' )
241-
242- return { url : '#' + functionLink ( gname , fname , ver ) , name : ver , klass : klass . join ( ' ' ) }
243- } )
241+ if ( ! isCallback ) {
242+ var sigHist = docurium . get ( 'signatures' ) [ fname ]
243+ var version = docurium . get ( 'version' )
244+ var sigs = _ . map ( sigHist . exists , function ( ver ) {
245+ var klass = [ ]
246+ if ( sigHist . changes [ ver ] )
247+ klass . push ( 'changed' )
248+ if ( ver == version )
249+ klass . push ( 'current' )
250+
251+ return { url : '#' + functionLink ( gname , fname , ver ) , name : ver , klass : klass . join ( ' ' ) }
252+ } )
253+ }
244254 // GitHub link
245255 var fileLink = docurium . github_file ( data . file , data . line , data . lineto )
246256 // link to the group
247- var version = docurium . get ( 'version' )
248- var alsoGroup = '#' + groupLink ( group [ 0 ] , version )
249- var alsoLinks = _ . map ( functions , function ( f ) {
250- return { url : '#' + functionLink ( gname , f , version ) , name : f }
251- } )
257+ if ( ! isCallback ) {
258+ var version = docurium . get ( 'version' )
259+ var alsoGroup = '#' + groupLink ( group [ 0 ] , version )
260+ var alsoLinks = _ . map ( functions , function ( f ) {
261+ return { url : '#' + functionLink ( gname , f , version ) , name : f }
262+ } )
263+ }
252264
253265 this . set ( 'data' , { name : fname , data : data , args : args , returns : returns , sig : sig ,
254266 sigs : sigs , fileLink : fileLink , groupName : gname ,
@@ -381,6 +393,7 @@ $(function() {
381393 var group = o . group
382394 var gname = group [ 0 ]
383395 var fdata = o . functions
396+ var cdata = o . callbacks
384397 var version = o . version
385398
386399 this . functions = _ . map ( group [ 1 ] , function ( name ) {
@@ -471,6 +484,16 @@ $(function() {
471484 }
472485 } )
473486
487+ // look for callbacks
488+ _ . each ( data . callbacks , function ( f , name ) {
489+ if ( name . search ( value ) > - 1 ) {
490+ var gl = functionLink ( 'callback' , name , version )
491+ var url = '#' + gl
492+ searchResults . push ( { url : url , name : name , match : 'callback' , navigate : gl } )
493+ return
494+ }
495+ } )
496+
474497 this . reset ( searchResults )
475498 } ,
476499 } )
@@ -556,14 +579,23 @@ $(function() {
556579 hotLink : function ( text ) {
557580 types = this . get ( 'data' ) [ 'types' ]
558581 var version = this . get ( 'version' )
582+
559583 for ( var i = 0 ; i < types . length ; i ++ ) {
560584 type = types [ i ]
561585 typeName = type [ 0 ]
562586 typeData = type [ 1 ]
563- re = new RegExp ( typeName + ' ' , 'gi' ) ;
587+ re = new RegExp ( typeName + '\\s ' , 'gi' ) ;
564588 var link = $ ( '<a>' ) . attr ( 'href' , '#' + typeLink ( typeName , version ) ) . append ( typeName ) [ 0 ]
565589 text = text . replace ( re , link . outerHTML + ' ' )
566590 }
591+
592+ var callbacks = this . get ( 'data' ) [ 'callbacks' ]
593+ _ . each ( callbacks , function ( cb , typeName ) {
594+ re = new RegExp ( typeName + '$' , 'gi' ) ;
595+ var link = $ ( '<a>' ) . attr ( 'href' , '#' + functionLink ( 'callback' , typeName , version ) ) . append ( typeName ) [ 0 ]
596+ text = text . replace ( re , link . outerHTML + ' ' )
597+ } ) ;
598+
567599 return text
568600 } ,
569601
@@ -624,8 +656,9 @@ $(function() {
624656 this . doc . setVersion ( version )
625657 var group = this . doc . getGroup ( gname )
626658 var fdata = this . doc . get ( 'data' ) [ 'functions' ]
659+ var cdata = this . doc . get ( 'data' ) [ 'callbacks' ]
627660 var version = this . doc . get ( 'version' )
628- var view = new GroupView ( { group : group , functions : fdata , version : version } )
661+ var view = new GroupView ( { group : group , functions : fdata , callbacks : cdata , version : version } )
629662 this . mainView . setActive ( view )
630663 } ,
631664
0 commit comments