[development] book.js bug, and lack of documentation for the new ahah feature. Re: groking ajax callbacks
Augustin (Beginner)
drupal.beginner at wechange.org
Wed Jan 2 12:05:07 UTC 2008
On Friday 28 December 2007 06:46, Earl Miles wrote:
> Augustin (Beginner) wrote:
> > url: Drupal.settings.book.formCallback +'/'+ $('#'+
> > Drupal.settings.book.formId +' input[name=form_build_id]').val()
> > +'/'+ $('#edit-book-bid').val(),
>
> The part that you're not seeing is that there are 'settings' that
> are set via inline javascript and there's a Drupal-side API to make
> this easy:
>
> drupal_add_js($some_array, 'setting');
>
> So if: $some_array = array('book' => array('formCallback' =>
> 'book/js'));
>
> That covers the first part of it.
Actually, no.
It's nice that I learned the construction drupal_add_js($some_array,
'setting'); which I didn't know before.
But book.module doesn't use the setting function.
Its only call of drupal_add_js is to add some inline js.
I knew there was something wrong with that module. I grep'ed
everywhere, and searched the jquery docs, but there is no
formCallback entity defined anywhere... though there WAS one.
I spent 12 hours trying to understand book.js... just to figure out at
the end that book.js is NOT actually used anymore. It's still part of
a core D6 install only because, as I just found out, a patch was not
fully applied.
http://drupal.org/node/181125
book.js is no longer required. The job is done by FAPI and the new
ahah functionality (which is still not documented anywhere), as I
mentioned in the other email in this thread.
> The it pulls the formId out of the settings and uses jQuery to find
> the form_build_id input in that form and take it's value, and after
> that you've got the book id from #edit-book-bid.
>
> Search book.module for drupal_add_js and look for the 'setting'
> call. I think it'll be more clear after that.
Now that book.js is out of the picture, do I become clearer...
:)
Blessings,
Augustin.
More information about the development
mailing list