3 declare(strict_types=1);
60 $ui = $DIC->ui()->factory();
62 $df = new \ILIAS\Data\Factory();
64 $request = $DIC->http()->request();
65 $query = $DIC->http()->wrapper()->query();
67 $here_uri = $df->uri($request->getUri()->__toString());
69 $example_namespace = [
'input',
'switchable_group'];
70 list($url_builder, $example_name) = $url_builder->acquireParameters($example_namespace,
"example_name");
71 $url_builder = $url_builder->withParameter($example_name,
"standard");
74 $group1 = $ui->input()->field()->group(
76 "field_1_1" => $ui->input()->field()->text(
"Item 1.1",
"Just some field"),
77 "field_1_2" => $ui->input()->field()->text(
"Item 1.2",
"Just some other field"),
78 "field_1_3" => $ui->input()->field()->datetime(
"Item 1.3",
"a date")->withFormat($df->dateFormat()->germanShort())
80 "Switchable Group number one (with numeric key)" 82 $group2 = $ui->input()->field()->group(
84 "field_2_1" => $ui->input()->field()->text(
"Item 2",
"Just another field")
85 ->withValue(
'some val')
87 "Switchable Group number two",
90 $group3 = $ui->input()->field()->group([],
'No items in this group',
'but a byline');
93 $sg = $ui->input()->field()->switchableGroup(
103 $form_action = $url_builder->buildURI()->__toString();
104 $form = $ui->input()->container()->form()->standard(
107 'switchable_group' => $sg,
108 'switchable_group_required' => $sg->withRequired(
true),
109 'switchable_group_preset' => $sg->withValue(
"g2")
110 ->withLabel(
"Again, Pick One")
111 ->withByline(
"... or the other. 112 Second option is selected by default here.")
117 if ($query->has($example_name->getName())
118 && $query->retrieve($example_name->getName(),
$refinery->custom()->transformation(fn($v) => $v ===
'standard'))
120 $form = $form->withRequest($request);
121 $result = $form->getData();
123 $result =
"No result yet.";
128 "<pre>" . htmlspecialchars(print_r($result,
true), ENT_QUOTES) .
"</pre><br/>" .