From b3a242adee533fe5a500f53a049c19842e9169b8 Mon Sep 17 00:00:00 2001 From: Thibeau Fuhrer Date: Wed, 5 Aug 2026 15:18:38 +0200 Subject: [PATCH] [FEATURE] UI: deprecate `Modal\RoundTrip` and `Interruptive` The `UI\Component\Modal` component family is partially superseded by the `UI\Component\Prompt` components. The deprecation should stop new developments from using the components. No specific deadline is set (yet). --- components/ILIAS/UI/src/Component/Modal/Factory.php | 6 ++++++ components/ILIAS/UI/src/Component/Modal/Interruptive.php | 2 +- .../UI/src/Component/Modal/InterruptiveItem/Factory.php | 6 +++++- .../Component/Modal/InterruptiveItem/InterruptiveItem.php | 2 ++ .../UI/src/Component/Modal/InterruptiveItem/KeyValue.php | 2 ++ .../UI/src/Component/Modal/InterruptiveItem/Standard.php | 2 ++ components/ILIAS/UI/src/Component/Modal/RoundTrip.php | 2 +- 7 files changed, 19 insertions(+), 3 deletions(-) diff --git a/components/ILIAS/UI/src/Component/Modal/Factory.php b/components/ILIAS/UI/src/Component/Modal/Factory.php index accfbeff4cac..fbdda16b755b 100755 --- a/components/ILIAS/UI/src/Component/Modal/Factory.php +++ b/components/ILIAS/UI/src/Component/Modal/Factory.php @@ -72,6 +72,8 @@ interface Factory * @param string $message A plain string informing the user about the critical situation * @param string $form_action The URL where the modal posts its form data * @return \ILIAS\UI\Component\Modal\Interruptive + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\Prompt} instead */ public function interruptive(string $title, string $message, string $form_action): Interruptive; @@ -93,6 +95,8 @@ public function interruptive(string $title, string $message, string $form_action * An interruptive item MUST have an ID. * --- * @return \ILIAS\UI\Component\Modal\InterruptiveItem\Factory + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\Factory} instead */ public function interruptiveItem(): InterruptiveItem\Factory; @@ -148,6 +152,8 @@ public function interruptiveItem(): InterruptiveItem\Factory; * @param Component\Input\Container\Form\FormInput[] $inputs * @param string|null $post_url * @return \ILIAS\UI\Component\Modal\RoundTrip + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\Prompt} instead */ public function roundtrip(string $title, Component\Component|array|null $content, array $inputs = [], ?string $post_url = null): RoundTrip; diff --git a/components/ILIAS/UI/src/Component/Modal/Interruptive.php b/components/ILIAS/UI/src/Component/Modal/Interruptive.php index 6942b4195380..b0b4874d189d 100755 --- a/components/ILIAS/UI/src/Component/Modal/Interruptive.php +++ b/components/ILIAS/UI/src/Component/Modal/Interruptive.php @@ -25,7 +25,7 @@ /** * Interface Interruptive * - * @package ILIAS\UI\Component\Modal + * @deprecated use {@see \ILIAS\UI\Component\Prompt\Prompt} instead */ interface Interruptive extends Modal { diff --git a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Factory.php b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Factory.php index f139b352c97b..74c8ad2748db 100755 --- a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Factory.php +++ b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Factory.php @@ -26,7 +26,7 @@ /** * Interface Factory * - * @package ILIAS\UI\Component\Modal + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\Factory} instead */ interface Factory { @@ -56,6 +56,8 @@ interface Factory * @param Image $icon * @param string $description * @return \ILIAS\UI\Component\Modal\InterruptiveItem\Standard + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\State} instead */ public function standard( string $id, @@ -93,6 +95,8 @@ public function standard( * @param string $key * @param string $value * @return \ILIAS\UI\Component\Modal\InterruptiveItem\KeyValue + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\State} instead */ public function keyValue( string $id, diff --git a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/InterruptiveItem.php b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/InterruptiveItem.php index d5450ff7cb2a..e906f27bccd3 100755 --- a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/InterruptiveItem.php +++ b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/InterruptiveItem.php @@ -26,6 +26,8 @@ * Interface InterruptiveItem * * Represents an item to be displayed inside an interruptive modal + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\State} instead */ interface InterruptiveItem extends Component { diff --git a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/KeyValue.php b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/KeyValue.php index 26653e12c5ae..6e98b9672155 100755 --- a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/KeyValue.php +++ b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/KeyValue.php @@ -24,6 +24,8 @@ * Interface InterruptiveItem * * Represents a key-value item to be displayed inside an interruptive modal + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\State} instead */ interface KeyValue extends InterruptiveItem { diff --git a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Standard.php b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Standard.php index 0a37c9d0ea64..3ec53f87eb29 100755 --- a/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Standard.php +++ b/components/ILIAS/UI/src/Component/Modal/InterruptiveItem/Standard.php @@ -26,6 +26,8 @@ * Interface InterruptiveItem * * Represents an object to be displayed inside an interruptive modal + * + * @deprecated use {@see \ILIAS\UI\Component\Prompt\State\State} instead */ interface Standard extends InterruptiveItem { diff --git a/components/ILIAS/UI/src/Component/Modal/RoundTrip.php b/components/ILIAS/UI/src/Component/Modal/RoundTrip.php index 4a3e952c4ea2..2a1edefdd55d 100755 --- a/components/ILIAS/UI/src/Component/Modal/RoundTrip.php +++ b/components/ILIAS/UI/src/Component/Modal/RoundTrip.php @@ -24,7 +24,7 @@ use ILIAS\UI\Component\Input\Container\Form\Standard; /** - * @package ILIAS\UI\Component\Modal + * @deprecated use {@see \ILIAS\UI\Component\Prompt\Prompt} instead */ interface RoundTrip extends Modal, Standard {