1: <?php
2:
3: namespace LaravelUi5\Core\Ui5\Contracts;
4:
5: /**
6: * Represents a UI5 Dialog artifact that encapsulates a short-lived,
7: * modal interaction context within a shell.
8: *
9: * Dialogs are used for focused user interactions such as creating,
10: * editing, or confirming domain entities. They are globally addressable
11: * via the shell (e.g. Cmd-K, actions, shortcuts), but are always
12: * semantically owned by a module.
13: *
14: * A dialog is rendered as a UI5 view with an associated controller.
15: * The surrounding shell is responsible for dialog presentation
16: * (overlay, z-layer, focus handling) and for enforcing the dialog
17: * lifecycle, including proper destruction after close.
18: *
19: * Implementations must provide the resource paths to the dialog view
20: * and its controller. Data access, actions, and search helps are
21: * resolved implicitly through the dialog's module context and
22: * semantic relationships.
23: */
24: interface Ui5DialogInterface extends Ui5ArtifactInterface
25: {
26: /**
27: * Returns the fully qualified UI5 view name of the dialog.
28: *
29: * The view is part of the dialog's owning UI5 application and
30: * is rendered either by the active application itself or,
31: * if the application is not active, by the Shell DialogHost.
32: *
33: * @return string Fully qualified UI5 view name.
34: */
35: public function getViewName(): string;
36: }
37: