ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
with_disabled_group_switch.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 
21 {
22  global $DIC;
23  $ui = $DIC->ui()->factory();
24  $renderer = $DIC->ui()->renderer();
25  $df = new \ILIAS\Data\Factory();
26  $refinery = $DIC['refinery'];
27  $request = $DIC->http()->request();
28  $query = $DIC->http()->wrapper()->query();
29 
30  $here_uri = $df->uri($request->getUri()->__toString());
31  $url_builder = new URLBuilder($here_uri);
32  $example_namespace = ['input', 'switchable_group'];
33  list($url_builder, $example_name) = $url_builder->acquireParameters($example_namespace, "example_name");
34  $url_builder = $url_builder->withParameter($example_name, "pinned");
35 
36  $group1 = $ui->input()->field()->group(
37  [
38  $ui->input()->field()->text("Item 1.1", "Just some field"),
39  $ui->input()->field()->text("Item 1.2", "Just some field")
40  ],
41  "Group 1"
42  );
43  $group2 = $ui->input()->field()->group(
44  [
45  $ui->input()->field()->text("Item 2.1", "Just some field"),
46  $ui->input()->field()->text("Item 2.2", "Just some field")
47  ],
48  "Group 2"
49  );
50 
51  $sg = $ui->input()->field()->switchableGroup(
52  [$group1,$group2],
53  "Pinned Switchable Group",
54  "nothing to pick here."
55  )
56  ->withDisabledGroupSwitch(true)
57  ->withValue(1);
58 
59  $form_action = $url_builder->buildURI()->__toString();
60  $form = $ui->input()->container()->form()->standard($form_action, [$sg]);
61 
62  if ($query->has($example_name->getName())
63  && $query->retrieve($example_name->getName(), $refinery->custom()->transformation(fn($v) => $v === 'pinned'))
64  ) {
65  $form = $form->withRequest($request);
66  $result = $form->getData();
67  } else {
68  $result = "No result yet.";
69  }
70 
71  return
72  "<pre>" . htmlspecialchars(print_r($result, true), ENT_QUOTES) . "</pre><br/>" .
73  $renderer->render($form);
74 
75 }
$renderer
with_disabled_group_switch()
description: > Example showing how a dependent group (aka sub form) might be attached to a radio whi...
global $DIC
Definition: shib_login.php:25
URLBuilder.
Definition: URLBuilder.php:39