@@ -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 ) {
@@ -556,14 +569,23 @@ $(function() {
556569 hotLink : function ( text ) {
557570 types = this . get ( 'data' ) [ 'types' ]
558571 var version = this . get ( 'version' )
572+
559573 for ( var i = 0 ; i < types . length ; i ++ ) {
560574 type = types [ i ]
561575 typeName = type [ 0 ]
562576 typeData = type [ 1 ]
563- re = new RegExp ( typeName + ' ' , 'gi' ) ;
577+ re = new RegExp ( typeName + '\\s ' , 'gi' ) ;
564578 var link = $ ( '<a>' ) . attr ( 'href' , '#' + typeLink ( typeName , version ) ) . append ( typeName ) [ 0 ]
565579 text = text . replace ( re , link . outerHTML + ' ' )
566580 }
581+
582+ var callbacks = this . get ( 'data' ) [ 'callbacks' ]
583+ _ . each ( callbacks , function ( cb , typeName ) {
584+ re = new RegExp ( typeName + '$' , 'gi' ) ;
585+ var link = $ ( '<a>' ) . attr ( 'href' , '#' + functionLink ( 'callback' , typeName , version ) ) . append ( typeName ) [ 0 ]
586+ text = text . replace ( re , link . outerHTML + ' ' )
587+ } ) ;
588+
567589 return text
568590 } ,
569591
@@ -624,8 +646,9 @@ $(function() {
624646 this . doc . setVersion ( version )
625647 var group = this . doc . getGroup ( gname )
626648 var fdata = this . doc . get ( 'data' ) [ 'functions' ]
649+ var cdata = this . doc . get ( 'data' ) [ 'callbacks' ]
627650 var version = this . doc . get ( 'version' )
628- var view = new GroupView ( { group : group , functions : fdata , version : version } )
651+ var view = new GroupView ( { group : group , functions : fdata , callbacks : cdata , version : version } )
629652 this . mainView . setActive ( view )
630653 } ,
631654
0 commit comments