1<?php 2 3/* Copyright (c) 2018 Nils Haagen <nils.haagen@concepts-and-training.de> Extended GPL, see docs/LICENSE */ 4 5namespace ILIAS\UI\Component\Listing\Workflow; 6 7use ILIAS\UI\Component\Component; 8 9/** 10 * This describes a Workflow Step 11 */ 12interface Step extends Component 13{ 14 const AVAILABLE = 1; 15 const NOT_AVAILABLE = 2; 16 const NOT_ANYMORE = 3; 17 const ACTIVE = 4; 18 19 const NOT_STARTED = 1; 20 const IN_PROGRESS = 2; 21 const SUCCESSFULLY = 3; 22 const UNSUCCESSFULLY = 4; 23 24 /** 25 * Get the label of this step. 26 * 27 * @return string 28 */ 29 public function getLabel(); 30 31 /** 32 * Get the description of this step. 33 * 34 * @return string 35 */ 36 public function getDescription(); 37 38 39 /** 40 * Get the availabilty status of this step. 41 * 42 * @return mixed 43 */ 44 public function getAvailability(); 45 46 /** 47 * Get a step like this with completion status according to parameter. 48 * 49 * @param mixed $status 50 * @return Step 51 */ 52 public function withAvailability($status); 53 54 /** 55 * Get the status of this step. 56 * 57 * @return mixed 58 */ 59 public function getStatus(); 60 61 /** 62 * Get a step like this with completion status according to parameter. 63 * 64 * @param mixed $status 65 * @return Step 66 */ 67 public function withStatus($status); 68 69 /** 70 * Get the action of this Step. 71 * 72 * @return null | Signal | string 73 */ 74 public function getAction(); 75} 76