3 declare(strict_types=1);
26 $factory = $DIC->ui()->factory();
29 $df = new \ILIAS\Data\Factory();
32 $here_uri = $df->uri($DIC->http()->request()->getUri()->__toString());
36 $example_namespace = [
'prompt',
'endpoints'];
37 list($url_builder, $endpointtoken) = $url_builder->acquireParameters($example_namespace,
"endpoint");
38 $url_builder = $url_builder->withParameter($endpointtoken,
"true");
41 $query_namespace = [
'prompt',
'example2'];
42 list($url_builder, $action_token) = $url_builder->acquireParameters($query_namespace,
"action");
43 $url_builder = $url_builder->withParameter($action_token,
"form");
44 $prompt = $factory->prompt()->standard($url_builder->buildURI());
47 $query = $DIC->http()->wrapper()->query();
48 if ($query->has($action_token->getName())
49 && $query->has($action_token->getName())
50 && $query->retrieve($action_token->getName(),
$refinery->kindlyTo()->string()) ===
'form' 54 $uri = $url_builder->buildURI()->__toString();
55 $form = $factory->input()->container()->form()->standard(
58 $factory->input()->field()->text(
60 "write 'close' to close the prompt." 66 $response = $factory->prompt()->state()->show($form);
68 $request = $DIC->http()->request();
69 if ($request->getMethod() ===
'POST') {
70 $form = $form->withRequest($request);
71 $data = $form->getData();
72 if (
$data !== null && reset(
$data) ===
'close') {
77 $response = $factory->prompt()->state()->close();
79 $response = $factory->prompt()->state()->show($form);
87 if (!$query->has($endpointtoken->getName())) {
88 $show_button = $factory->button()->standard(
'Show Prompt with Form', $prompt->getShowSignal());
89 return $renderer->render([$prompt, $show_button]);
form()
description: > This shows a Form being used in a Prompt.