| | @@ -507,15 +507,36 @@ |
| 507 | 507 | ** Generate code to load a single javascript file |
| 508 | 508 | */ |
| 509 | 509 | void style_load_one_js_file(const char *zFile){ |
| 510 | 510 | @ <script src='%R/builtin/%s(zFile)?id=%S(MANIFEST_UUID)'></script> |
| 511 | 511 | } |
| 512 | + |
| 513 | +/* |
| 514 | +** All extra JS files to load. |
| 515 | +*/ |
| 516 | +static const char *azJsToLoad[4]; |
| 517 | +static int nJsToLoad = 0; |
| 518 | + |
| 519 | +/* |
| 520 | +** Register a new JS file to load at the end of the document. |
| 521 | +*/ |
| 522 | +void style_load_js(const char *zName){ |
| 523 | + int i; |
| 524 | + for(i=0; i<nJsToLoad; i++){ |
| 525 | + if( fossil_strcmp(zName, azJsToLoad[i])==0 ) return; |
| 526 | + } |
| 527 | + if( nJsToLoad>=sizeof(azJsToLoad)/sizeof(azJsToLoad[0]) ){ |
| 528 | + fossil_panic("too man JS files"); |
| 529 | + } |
| 530 | + azJsToLoad[nJsToLoad++] = zName; |
| 531 | +} |
| 512 | 532 | |
| 513 | 533 | /* |
| 514 | 534 | ** Generate code to load all required javascript files. |
| 515 | 535 | */ |
| 516 | 536 | static void style_load_all_js_files(void){ |
| 537 | + int i; |
| 517 | 538 | if( needHrefJs ){ |
| 518 | 539 | int nDelay = db_get_int("auto-hyperlink-delay",0); |
| 519 | 540 | int bMouseover; |
| 520 | 541 | /* Load up the page data */ |
| 521 | 542 | bMouseover = (!g.isHuman || db_get_boolean("auto-hyperlink-ishuman",0)) |
| | @@ -528,10 +549,13 @@ |
| 528 | 549 | style_load_one_js_file("sorttable.js"); |
| 529 | 550 | } |
| 530 | 551 | if( needGraphJs ){ |
| 531 | 552 | style_load_one_js_file("graph.js"); |
| 532 | 553 | } |
| 554 | + for(i=0; i<nJsToLoad; i++){ |
| 555 | + style_load_one_js_file(azJsToLoad[i]); |
| 556 | + } |
| 533 | 557 | } |
| 534 | 558 | |
| 535 | 559 | /* |
| 536 | 560 | ** Draw the footer at the bottom of the page. |
| 537 | 561 | */ |
| 538 | 562 | |