X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fsettings_tray%2Ftests%2Fmodules%2Foff_canvas_test%2Fsrc%2FController%2FTestController.php;fp=web%2Fcore%2Fmodules%2Fsettings_tray%2Ftests%2Fmodules%2Foff_canvas_test%2Fsrc%2FController%2FTestController.php;h=3658bfd699a9a03c56fe951867197dd903f34f69;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/web/core/modules/settings_tray/tests/modules/off_canvas_test/src/Controller/TestController.php b/web/core/modules/settings_tray/tests/modules/off_canvas_test/src/Controller/TestController.php new file mode 100644 index 000000000..3658bfd69 --- /dev/null +++ b/web/core/modules/settings_tray/tests/modules/off_canvas_test/src/Controller/TestController.php @@ -0,0 +1,140 @@ + 'markup', + '#markup' => 'Thing 1 says hello', + ]; + } + + /** + * Thing2. + * + * @return string + * Return Hello string. + */ + public function thing2() { + return [ + '#type' => 'markup', + '#markup' => 'Thing 2 says hello', + ]; + } + + /** + * Displays test links that will open in off-canvas dialog. + * + * @return array + * Render array with links. + */ + public function linksDisplay() { + return [ + 'off_canvas_link_1' => [ + '#title' => 'Click Me 1!', + '#type' => 'link', + '#url' => Url::fromRoute('off_canvas_test.thing1'), + '#attributes' => [ + 'class' => ['use-ajax'], + 'data-dialog-type' => 'dialog', + 'data-dialog-renderer' => 'off_canvas', + ], + '#attached' => [ + 'library' => [ + 'settings_tray/drupal.settings_tray', + ], + ], + ], + 'off_canvas_link_2' => [ + '#title' => 'Click Me 2!', + '#type' => 'link', + '#url' => Url::fromRoute('off_canvas_test.thing2'), + '#attributes' => [ + 'class' => ['use-ajax'], + 'data-dialog-type' => 'dialog', + 'data-dialog-renderer' => 'off_canvas', + 'data-dialog-options' => Json::encode([ + 'width' => 555, + ]), + ], + '#attached' => [ + 'library' => [ + 'settings_tray/drupal.settings_tray', + ], + ], + ], + 'other_dialog_links' => [ + '#title' => 'Display more links!', + '#type' => 'link', + '#url' => Url::fromRoute('off_canvas_test.dialog_links'), + '#attributes' => [ + 'class' => ['use-ajax'], + 'data-dialog-type' => 'dialog', + 'data-dialog-renderer' => 'off_canvas', + ], + '#attached' => [ + 'library' => [ + 'settings_tray/drupal.settings_tray', + ], + ], + ], + ]; + } + + /** + * Displays dialogs links to be displayed inside the off-canvas dialog. + * + * This links are used to test opening a modal and another off_canvas link from + * inside the off-canvas dialog. + * + * @todo Update tests to check these links work in the off-canvas dialog. + * https://www.drupal.org/node/2790073 + * + * @return array + * Render array with links. + */ + public function otherDialogLinks() { + return [ + '#theme' => 'links', + '#links' => [ + 'modal_link' => [ + 'title' => 'Open modal!', + 'url' => Url::fromRoute('off_canvas_test.thing2'), + 'attributes' => [ + 'class' => ['use-ajax'], + 'data-dialog-type' => 'modal', + ], + ], + 'off_canvas_link' => [ + 'title' => 'Off_canvas link!', + 'url' => Url::fromRoute('off_canvas_test.thing2'), + 'attributes' => [ + 'class' => ['use-ajax'], + 'data-dialog-type' => 'dialog', + 'data-dialog-renderer' => 'off_canvas', + ], + ], + ], + '#attached' => [ + 'library' => [ + 'settings_tray/drupal.settings_tray', + ], + ], + ]; + } + +}