#610204 by effulgentsia, Gábor Hojtsy, sun, Damien Tournoud and ksenzee: API changes to support overlays: lays ground work for implementation.

merge-requests/26/head
Angie Byron 2009-10-27 04:12:39 +00:00
parent ca7b56e735
commit 0e05035b71
6 changed files with 43 additions and 8 deletions

View File

@ -109,11 +109,15 @@ function _batch_progress_page_js() {
$current_set = _batch_current_set();
drupal_set_title($current_set['title'], PASS_THROUGH);
// Merge required query parameters for batch processing into those provided by
// batch_set() or hook_batch_alter().
$batch['url_options']['query']['id'] = $batch['id'];
$js_setting = array(
'batch' => array(
'errorMessage' => $current_set['error_message'] . '<br />' . $batch['error_message'],
'initMessage' => $current_set['init_message'],
'uri' => url($batch['url'], array('query' => array('id' => $batch['id']))),
'uri' => url($batch['url'], $batch['url_options']),
),
);
drupal_add_js($js_setting, 'setting');
@ -189,7 +193,12 @@ function _batch_progress_page_nojs() {
ob_end_clean();
}
$url = url($batch['url'], array('query' => array('id' => $batch['id'], 'op' => $new_op)));
// Merge required query parameters for batch processing into those provided by
// batch_set() or hook_batch_alter().
$batch['url_options']['query']['id'] = $batch['id'];
$batch['url_options']['query']['op'] = $new_op;
$url = url($batch['url'], $batch['url_options']);
drupal_add_html_head('<meta http-equiv="Refresh" content="0; URL=' . $url . '">');
return theme('progress_bar', array('percent' => $percentage, 'message' => $message));

View File

@ -2963,7 +2963,9 @@ function _form_set_class(&$element, $class = array()) {
* 'operations' and 'finished' functions, for instance if they don't
* reside in the original '.module' file. The path should be relative to
* the base_path(), and thus should be built using drupal_get_path().
* 'css' : an array of paths to CSS files to be used on the progress page.
* 'css': an array of paths to CSS files to be used on the progress page.
* 'url_options': options passed to url() when constructing redirect
* URLs for the batch.
*
* Operations are added as new batch sets. Batch sets are used to ensure
* clean code independence, ensuring that several batches submitted by
@ -3051,6 +3053,7 @@ function batch_process($redirect = NULL, $url = 'batch', $redirect_callback = 'd
'current_set' => 0,
'progressive' => TRUE,
'url' => $url,
'url_options' => array(),
'source_page' => $_GET['q'],
'redirect' => $redirect,
'theme' => $GLOBALS['theme_key'],

View File

@ -344,4 +344,15 @@ Drupal.theme.prototype = {
}
};
/**
* Return whether the given variable is an object.
*
* The HEAD version of jQuery (http://code.jquery.com/jquery-nightly.js)
* includes an isObject() function, so when that gets released and incorporated
* into Drupal, this can be removed.
*/
$.extend({isObject: function(value) {
return (value !== null && typeof value === 'object');
}});
})(jQuery);

View File

@ -18,8 +18,9 @@ Drupal.behaviors.tableHeader = {
var headers = [];
$('table.sticky-enabled thead', context).once('tableheader', function () {
// Clone thead so it inherits original jQuery properties.
var headerClone = $(this).clone(true).insertBefore(this.parentNode).wrap('<table class="sticky-header"></table>').parent().css({
// Clone the table header so it inherits original jQuery properties. Hide
// the table to avoid a flash of the header clone upon page load.
var headerClone = $(this).clone(true).hide().insertBefore(this.parentNode).wrap('<table class="sticky-header"></table>').parent().css({
position: 'fixed',
top: '0px'
});
@ -32,6 +33,9 @@ Drupal.behaviors.tableHeader = {
headerClone.table = table;
// Finish initializing header positioning.
tracker(headerClone);
// We hid the header to avoid it showing up erroneously on page load;
// we need to unhide it now so that it will show up when expected.
$(headerClone).children('thead').show();
$(table).addClass('sticky-table');
});

View File

@ -237,7 +237,7 @@ class LocaleTranslationFunctionalTest extends DrupalWebTestCase {
$this->clickLink(t('edit'));
// We save the lid from the path.
$matches = array();
preg_match('!admin/config/regional/translate/edit/(\d)+!', $this->getUrl(), $matches);
preg_match('!admin/config/regional/translate/edit/(\d+)!', $this->getUrl(), $matches);
$lid = $matches[1];
// No t() here, it's surely not translated yet.
$this->assertText($name, t('name found on edit screen.'));

View File

@ -6,15 +6,23 @@
* Default template for admin toolbar.
*
* Available variables:
* - $classes: String of classes that can be used to style contextually through
* CSS. It can be manipulated through the variable $classes_array from
* preprocess functions. The default value has the following:
* - toolbar: The current template type, i.e., "theming hook".
* - $toolbar['toolbar_user']: User account / logout links.
* - $toolbar['toolbar_menu']: Top level management menu links.
* - $toolbar['toolbar_drawer']: A place for extended toolbar content.
*
* Other variables:
* - $classes_array: Array of html class attribute values. It is flattened
* into a string within the variable $classes.
*
* @see template_preprocess()
* @see template_preprocess_admin_toolbar()
* @see template_preprocess_toolbar()
*/
?>
<div id="toolbar" class="clearfix">
<div id="toolbar" class="<?php print $classes; ?> clearfix">
<div class="toolbar-menu clearfix">
<?php if ($toolbar['toolbar_drawer']):?>
<span class="toggle toggle-active"><?php print t('Open'); ?></span>