1: <?php
2:
3: namespace LaravelUi5\Core\Ui5\Contracts;
4:
5: /**
6: * Represents a UI5 Dashboard artifact that aggregates Tiles and Cards into a structured layout.
7: *
8: * Dashboards serve as entry points for visualizing business contexts and overviews,
9: * often composed of reusable UI5 elements. Each dashboard is associated with a static
10: * or dynamic XML fragment that defines the layout structure in a format consumable by
11: * the UI5 runtime (e.g., sap.ui.core.Fragment).
12: *
13: * Implementations are responsible for providing a valid XML blade path which can be rendered
14: * and injected into the SAPUI5 shell container or application shell.
15: */
16: interface Ui5DashboardInterface extends Ui5ArtifactInterface, SluggableInterface
17: {
18: /**
19: * Returns the absolute or resource-relative path to the dashboard Blade view.
20: *
21: * This view is expected to contain an XML fragment definition, typically using the
22: * <core:FragmentDefinition> root element and appropriate UI5 XML namespaces.
23: *
24: * @return string Path to the XML blade template.
25: */
26: public function getDashboard(): string;
27: }
28: