In, we added generic AJAX commands for controlling dialogs. In that issue, we discovered that having a single menu callback (or router _content callback) generate both AJAX and non-AJAX content introduced callbacks that were doing multiple things based on the request headers. One of the primary selling points of the new router system is the ability to send back different content based on the specific type of content requested *at the same URL*, using different _content handlers.
We should utilize the new router system for cleanly separating _content handlers that provide actual content, and those that utilize the original content handlers and return the content in some different way (such as in a dialog). In order to facilitate simple "dialogification" of existing paths, we should add a generic _content handler that can wrap around any existing handler. This will make simple situations that use dialogs possible with the following:
- Adding a second router item at the path to be displayed in the dialog.
- Add the "use-ajax" class in the link to the URL to be opened in the dialog.
- Attach the drupal.ajax library so that the use-ajax link is detected.
Preferably, we could combine use-ajax and the drupal.ajax library requirements together, but how that should be implemented isn't yet decided.
The config.module was converted into use the new AJAX commands, but would benifit from using separate router items as described above. We may convert that module as part of this issue as a demonstration, or separate it out into another issue.
Postponed on this
PASSED: [[SimpleTest]]: [MySQL] 55,363 pass(es). View
PASSED: [[SimpleTest]]: [MySQL] 55,485 pass(es). View