Documentation
Kitchen Sink documentation of style: 'Delos' of skin: 'ILIAS'
Standard
Description
- Purpose
- Standard item lists present lists of items with similar presentation. All items are passed by using Item Groups.
- Composition
- This Listing is composed of title and a set of Item Groups. Additionally an optional dropdown to select the number/types of items to be shown at the top of the Listing.
Example 1: Base
List Title
Subtitle 1
Item Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 BernItem 2 Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Subtitle 2
Item 3 Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<?php declare(strict_types=1); namespace ILIAS\UI\examples\Panel\Listing\Standard; /** * Base */ function base() { global $DIC; $f = $DIC->ui()->factory(); $renderer = $DIC->ui()->renderer(); $actions = $f->dropdown()->standard(array( $f->button()->shy("ILIAS", "https://www.ilias.de"), $f->button()->shy("GitHub", "https://www.github.com") )); $list_item1 = $f->item()->standard("Item Title") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."); $list_item2 = $f->item()->standard("Item 2 Title") ->withActions($actions) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."); $list_item3 = $f->item()->standard("Item 3 Title") ->withActions($actions) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."); $std_list = $f->panel()->listing()->standard("List Title", array( $f->item()->group("Subtitle 1", array( $list_item1, $list_item2 )), $f->item()->group("Subtitle 2", array( $list_item3 )) )); return $renderer->render($std_list); }
Example 2: With all view controls
List Title
Subtitle 1
Item Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 BernItem 2 Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Subtitle 2
Item 3 Title
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<?php declare(strict_types=1); namespace ILIAS\UI\examples\Panel\Listing\Standard; function with_all_view_controls(): string { global $DIC; $f = $DIC->ui()->factory(); $renderer = $DIC->ui()->renderer(); $refinery = $DIC->refinery(); $request_wrapper = $DIC->http()->wrapper()->query(); $url = $DIC->http()->request()->getRequestTarget(); $actions = $f->dropdown()->standard([ $f->button()->shy("ILIAS", "https://www.ilias.de"), $f->button()->shy("GitHub", "https://www.github.com") ]); $current_sortation = 'abc'; if ($request_wrapper->has('sort')) { $current_sortation = $request_wrapper->retrieve('sort', $refinery->kindlyTo()->string()); } $sortation_options = [ 'abc' => 'Sort by Alphabet', 'date' => 'Sort by Date', 'location' => 'Sort by Location' ]; $sortation = $f->viewControl()->sortation($sortation_options) ->withTargetURL($url, "sort") ->withLabel($sortation_options[$current_sortation]); $current_presentation = 'list'; if ($request_wrapper->has('mode')) { $current_presentation = $request_wrapper->retrieve('mode', $refinery->kindlyTo()->string()); } $presentation_options = [ 'list' => 'List View', 'tile' => 'Tile View' ]; $modes = $f->viewControl()->mode( array_reduce( array_keys($presentation_options), static function ($carry, $item) use ($presentation_options, $url) { $carry[$presentation_options[$item]] = "$url&mode=$item"; return $carry; }, [] ), 'Presentation Mode' ) ->withActive($presentation_options[$current_presentation]); $current_page = 0; if ($request_wrapper->has('page')) { $current_page = $request_wrapper->retrieve('page', $refinery->kindlyTo()->int()); } $pagination = $f->viewControl()->pagination() ->withTargetURL($url, "page") ->withTotalEntries(98) ->withPageSize(10) ->withMaxPaginationButtons(1) ->withCurrentPage($current_page); $view_controls = [ $sortation, $modes, $pagination ]; if ($current_presentation === 'list') { $item1 = $f->item()->standard("Item Title") ->withActions($actions) ->withProperties([ "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern" ]) ->withDescription( "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua." ); $item2 = $f->item()->standard("Item 2 Title") ->withActions($actions) ->withDescription( "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua." ); $item3 = $f->item()->standard("Item 3 Title") ->withActions($actions) ->withDescription( "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua." ); } else { $image = $f->image()->responsive( "./templates/default/images/logo/HeaderIcon.svg", "Thumbnail Example" ); $content = $f->listing()->descriptive( [ "Entry 1" => "Some text", "Entry 2" => "Some more text", ] ); $item1 = $item2 = $item3 = $f->card()->standard("Item Title", $image) ->withSections([$content]); } $std_list = $f->panel()->listing()->standard("List Title", [ $f->item()->group("Subtitle 1", [ $item1, $item2 ]), $f->item()->group("Subtitle 2", [ $item3 ]) ])->withActions($actions) ->withViewControls($view_controls); return $renderer->render($std_list); }
Example 3: With lead image
Content
Courses
ILIAS Beginner Course
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 BernILIAS Advanced Course
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 Bern
Groups
ILIAS User Group
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 Bern
<?php declare(strict_types=1); namespace ILIAS\UI\examples\Panel\Listing\Standard; /** * With lead image */ function with_lead_image() { global $DIC; $f = $DIC->ui()->factory(); $renderer = $DIC->ui()->renderer(); $image = $f->image()->responsive( "src/UI/examples/Image/HeaderIconLarge.svg", "Thumbnail Example" ); $actions = $f->dropdown()->standard(array( $f->button()->shy("ILIAS", "https://www.ilias.de"), $f->button()->shy("GitHub", "https://www.github.com") )); $list_item1 = $f->item()->standard("ILIAS Beginner Course") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withLeadImage($image); $list_item2 = $f->item()->standard("ILIAS Advanced Course") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withLeadImage($image); $list_item3 = $f->item()->standard("ILIAS User Group") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withLeadImage($image); $std_list = $f->panel()->listing()->standard("Content", array( $f->item()->group("Courses", array( $list_item1, $list_item2 )), $f->item()->group("Groups", array( $list_item3 )) )); return $renderer->render($std_list); }
Example 4: With lead text
Upcoming Events
Today
- 11:20 - 12:40
Weekly Meeting
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 Bern - 13:00 - 14:00
Tech VC
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 Bern
Tomorrow
- 8:00 - 10:00
Jour Fixe
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
OriginCourse Title 1Last Update24.11.2011LocationRoom 123, Main Street 44, 3012 Bern
<?php declare(strict_types=1); namespace ILIAS\UI\examples\Panel\Listing\Standard; /** * With lead text and marker */ function with_lead_text() { global $DIC; $f = $DIC->ui()->factory(); $renderer = $DIC->ui()->renderer(); $actions = $f->dropdown()->standard(array( $f->button()->shy("ILIAS", "https://www.ilias.de"), $f->button()->shy("GitHub", "https://www.github.com") )); $df = new \ILIAS\Data\Factory(); $list_item1 = $f->item()->standard("Weekly Meeting") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withColor($df->color('#ff00ff')) ->withLeadText("11:20 - 12:40"); $list_item2 = $f->item()->standard("Tech VC") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withColor($df->color('#F9F9D0')) ->withLeadText("13:00 - 14:00"); $list_item3 = $f->item()->standard("Jour Fixe") ->withActions($actions) ->withProperties(array( "Origin" => "Course Title 1", "Last Update" => "24.11.2011", "Location" => "Room 123, Main Street 44, 3012 Bern")) ->withDescription("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.") ->withColor($df->color('#000000')) ->withLeadText("8:00 - 10:00"); $std_list = $f->panel()->listing()->standard("Upcoming Events", array( $f->item()->group("Today", array( $list_item1, $list_item2 )), $f->item()->group("Tomorrow", array( $list_item3 )) )); return $renderer->render($std_list); }
Relations
- Parents
- UIComponent
- Panel
- Listing