Documentation
Kitchen Sink documentation of style: 'Delos' of skin: 'ILIAS'
Linear
Description
- Purpose
- A linear workflow is the basic form of a workflow: the user should tackle every step, one after the other.
- Composition
- A linear workflow has a title and lists a sequence of steps. If the user is currently working on a step, the step is marked as active.
- Effect
- A Step MAY have an action; when clicked, the action is triggered.
Rules
- Usage
- Use a Linear Workflow for a set of tasks that should be performed one after the other and where there are no inter-dependencies other than completeness of the prior task.
- You SHOULD NOT use Linear Workflow for workflows with forked paths due to user-decisions or calculations.
- You SHOULD NOT use Linear Workflow for continuous workflows; a linear workflow MUST have a start- and end-point.
Example 1: Base
Linear Workflow
-
step 1 available, successfully completed
-
step 2 available, successfully completed
-
step 3 available, in progress, active
-
step 4 not available, not started
-
step 5 not available, not started
<?php declare(strict_types=1); namespace ILIAS\UI\examples\Listing\Workflow\Linear; function base() { //init Factory and Renderer global $DIC; $f = $DIC->ui()->factory()->listing()->workflow(); $renderer = $DIC->ui()->renderer(); //setup steps $step = $f->step('', ''); $steps = [ $f->step('step 1', 'available, successfully completed') ->withAvailability($step::AVAILABLE)->withStatus($step::SUCCESSFULLY), $f->step('step 2', 'available, successfully completed') ->withAvailability($step::AVAILABLE)->withStatus($step::SUCCESSFULLY), $f->step('step 3', 'available, in progress, active ') ->withAvailability($step::AVAILABLE)->withStatus($step::IN_PROGRESS), $f->step('step 4', 'not available, not started') ->withAvailability($step::NOT_AVAILABLE)->withStatus($step::NOT_STARTED), $f->step('step 5', 'not available, not started') ->withAvailability($step::NOT_AVAILABLE)->withStatus($step::NOT_STARTED) ]; //setup linear workflow $wf = $f->linear('Linear Workflow', $steps) ->withActive(2); //render return $renderer->render($wf); }
Relations
- Parents
- UIComponent
- Listing
- Workflow