19declare(strict_types=1);
26use Psr\Http\Message\ServerRequestInterface;
59 protected ?
string $id =
null;
63 protected ?ServerRequestInterface
$request =
null;
71 protected ViewControlContainer\
Factory $view_control_container_factory,
76 $this->checkArgListElements(
'columns',
$columns, [Column::class]);
78 throw new \InvalidArgumentException(
'cannot construct a table without columns.');
97 $ret[
$id] =
$col->withIndex($idx++);
115 $this->checkArgListElements(
'actions',
$actions, [
T\
Action\Action::class]);
175 return array_merge($this->actions_multi, $this->actions_std);
183 return array_merge($this->actions_single, $this->actions_std);
191 return array_merge($this->actions_single, $this->actions_multi, $this->actions_std);
214 public function withId(
string $id): static
223 if (
null !== (
$id = $this->
getId())) {
224 return static::STORAGE_ID_PREFIX .
$id;
235 ViewControlContainer\ViewControl $view_controls,
237 ): ViewControlContainer\ViewControl {
239 $view_controls = $view_controls
240 ->withStoredInput($stored_values)
242 $this->
setStorageData($view_controls->getComponentInternalValues());
243 return $view_controls;
new(Request $for_container)
int()
Contains constraints and transformations on numbers.
bool()
Get a kind transformation to a bool.
setStorageData(array $data)
enumerateColumns(array $columns)
__construct(SignalGeneratorInterface $signal_generator, protected ViewControl\Factory $view_control_factory, protected ViewControlContainer\Factory $view_control_container_factory, protected \ArrayAccess $storage, string $title, array $columns)
Signal $multi_action_signal
Signal $async_action_signal
withActions(array $actions)
withRequest(ServerRequestInterface $request)
applyValuesToViewcontrols(ViewControlContainer\ViewControl $view_controls, ServerRequestInterface $request)
setStorageData(array $data)
ILIAS Accordion StandardGUIRequest $request
clone(int $target_parent_obj_id)
readonly SignalGenerator $signal_generator
storage()
Fetches the storage filesystem.
Interface to be extended by components that have the possibility to bind to Javascript.
A Column describes the form of presentation for a certain aspect of data, i.e.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
trait JavaScriptBindable
Trait for components implementing JavaScriptBindable providing standard implementation.