Commit 359663bf authored by lauriii's avatar lauriii

Issue #2828912 by tedbow, RajeevK, tim.plunkett, a-fro: Offcanvas width is not...

Issue #2828912 by tedbow, RajeevK, tim.plunkett, a-fro: Offcanvas width is not reset if tray is open with different width and not closed
parent 643e4b8a
......@@ -11,6 +11,11 @@
*/
class OpenOffCanvasDialogCommand extends OpenDialogCommand {
/**
* The dialog width to use if none is provided.
*/
const DEFAULT_DIALOG_WIDTH = 300;
/**
* Constructs an OpenOffCanvasDialogCommand object.
*
......@@ -42,6 +47,12 @@ public function __construct($title, $content, array $dialog_options = [], $setti
// @todo drupal.ajax.js does not respect drupalAutoButtons properly, pass an
// empty set of buttons until https://www.drupal.org/node/2793343 is in.
$this->dialogOptions['buttons'] = [];
// If no width option is provided then use the default width to avoid the
// dialog staying at the width of the previous instance when opened
// more than once, with different widths, on a single page.
if (!isset($this->dialogOptions['width'])) {
$this->dialogOptions['width'] = static::DEFAULT_DIALOG_WIDTH;
}
}
/**
......
......@@ -46,6 +46,7 @@ public function testDialog() {
'draggable' => FALSE,
'drupalAutoButtons' => FALSE,
'buttons' => [],
'width' => 300,
],
'effect' => 'fade',
'speed' => 1000,
......
......@@ -63,7 +63,11 @@ public function testOffCanvasLinks() {
$this->assertEquals('', $header_text);
$style = $page->find('css', '.ui-dialog-off-canvas')->getAttribute('style');
self::assertTrue(strstr($style, 'width: 555px;') !== FALSE, 'Dialog width respected.');
$this->assertTrue(strstr($style, 'width: 555px;') !== FALSE, 'Dialog width respected.');
$page->clickLink("Click Me 1!");
$this->waitForOffCanvasToOpen();
$style = $page->find('css', '.ui-dialog-off-canvas')->getAttribute('style');
$this->assertTrue(strstr($style, 'width: 555px;') === FALSE, 'Dialog width reset to default.');
}
else {
// Check that header is correct.
......
......@@ -31,6 +31,7 @@ public function testRender() {
'draggable' => FALSE,
'drupalAutoButtons' => FALSE,
'buttons' => [],
'width' => 300,
],
'effect' => 'fade',
'speed' => 1000,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment