ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
with_long_description.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
17 function with_long_description(): string
18 {
19  global $DIC;
20  $tc = $DIC->ui()->factory()->toast()->container();
21 
22  $toasts = [
23  $DIC->ui()->factory()->toast()->standard(
24  'Example',
25  $DIC->ui()->factory()->symbol()->icon()->standard('info', 'Test')
26  )->withDescription(
27  'This is an example description which is very long to provide a representative view of the object when it has ' .
28  'to occupy enough space to show a very long toast. This may not be the favorable way of displaying a toast, ' .
29  'since toast are assumed to be readable in a short time due to the temporary visibility, therefore they only ' .
30  'should contain short description which can be read within seconds. But even if this long description softly ' .
31  'violates the concepts of toast itself due to its long character it still provides a good view on the ' .
32  'scalability of the object and could therefore be called to proof its responsivity which confirms its benefit ' .
33  'as an example in spite of its unnatural form and missing usecase for productive systems'
34  )
35  ];
36 
37  $toasts = base64_encode($DIC->ui()->renderer()->renderAsync($toasts));
38  $button = $DIC->ui()->factory()->button()->standard($DIC->language()->txt('show'), '');
39  $button = $button->withAdditionalOnLoadCode(function ($id) use ($toasts) {
40  return "$id.addEventListener('click', () => {
41  $id.parentNode.querySelector('.il-toast-container').innerHTML = atob('$toasts');
42  $id.parentNode.querySelector('.il-toast-container').querySelectorAll('script').forEach(element => {
43  let newScript = document.createElement('script');
44  newScript.innerHTML = element.innerHTML;
45  element.parentNode.appendChild(newScript);
46  })
47  });";
48  });
49 
50  return $DIC->ui()->renderer()->render([$button,$tc]);
51 }
global $DIC
Definition: shib_login.php:25
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:24
with_long_description()
description: > Example for rendering a standard toast including a long description.