Skip to content
Snippets Groups Projects
Commit 359663bf authored by Lauri Timmanee's avatar Lauri Timmanee
Browse files

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
No related branches found
No related tags found
No related merge requests found
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment