19declare(strict_types=1);
26 array | \ArrayAccess &$define,
27 array | \ArrayAccess &$implement,
28 array | \ArrayAccess &$use,
29 array | \ArrayAccess &$contribute,
30 array | \ArrayAccess &$seek,
31 array | \ArrayAccess &$provide,
32 array | \ArrayAccess &$pull,
33 array | \ArrayAccess &$internal,
36 $define[] = UI\Renderer::class;
37 $define[] = UI\HelpTextRetriever::class;
38 $define[] = UI\Storage::class;
39 $define[] = UI\Component\Progress\AsyncRefreshInterval::class;
40 $define[] = UI\Component\Input\Field\PhpUploadLimit::class;
41 $define[] = UI\Component\Input\Field\GlobalUploadLimit::class;
42 $define[] = UI\Implementation\FactoryInternal::class;
43 $define[] = UI\Implementation\Render\ImagePathResolver::class;
45 $implement[UI\Factory::class] =
static fn() =>
46 $use[UI\Implementation\FactoryInternal::class];
47 $implement[UI\Implementation\FactoryInternal::class] =
static fn() =>
48 $internal[UI\Implementation\Factory::class];
49 $implement[UI\Renderer::class] =
static fn() =>
50 $internal[UI\Implementation\DefaultRenderer::class];
51 $implement[UI\Component\Progress\AsyncRefreshInterval::class] =
static fn() =>
52 $internal[UI\Implementation\Component\Progress\DefaultAsyncRefreshInterval::class];
58 $provide[UI\Implementation\Component\Counter\Factory::class] =
static fn() =>
59 $internal[UI\Implementation\Component\Counter\Factory::class];
60 $provide[UI\Implementation\Component\Button\Factory::class] =
static fn() =>
61 $internal[UI\Implementation\Component\Button\Factory::class];
62 $provide[UI\Implementation\Component\Listing\Factory::class] =
static fn() =>
63 $internal[UI\Implementation\Component\Listing\Factory::class];
64 $provide[UI\Implementation\Component\Listing\Workflow\Factory::class] =
static fn() =>
65 $internal[UI\Implementation\Component\Listing\Workflow\Factory::class];
66 $provide[UI\Implementation\Component\Listing\CharacteristicValue\Factory::class] =
static fn() =>
67 $internal[UI\Implementation\Component\Listing\CharacteristicValue\Factory::class];
68 $provide[UI\Implementation\Component\Listing\Entity\Factory::class] =
static fn() =>
69 $internal[UI\Implementation\Component\Listing\Entity\Factory::class];
70 $provide[UI\Implementation\Component\Image\Factory::class] =
static fn() =>
71 $internal[UI\Implementation\Component\Image\Factory::class];
72 $provide[UI\Implementation\Component\Player\Factory::class] =
static fn() =>
73 $internal[UI\Implementation\Component\Player\Factory::class];
74 $provide[UI\Implementation\Component\Panel\Factory::class] =
static fn() =>
75 $internal[UI\Implementation\Component\Panel\Factory::class];
76 $provide[UI\Implementation\Component\Modal\Factory::class] =
static fn() =>
77 $internal[UI\Implementation\Component\Modal\Factory::class];
78 $provide[UI\Implementation\Component\Progress\Factory::class] =
static fn() =>
79 $internal[UI\Implementation\Component\Progress\Factory::class];
80 $provide[UI\Implementation\Component\Progress\State\Factory::class] =
static fn() =>
81 $internal[UI\Implementation\Component\Progress\State\Factory::class];
82 $provide[UI\Implementation\Component\Progress\State\Bar\Factory::class] =
static fn() =>
83 $internal[UI\Implementation\Component\Progress\State\Bar\Factory::class];
84 $provide[UI\Implementation\Component\Dropzone\Factory::class] =
static fn() =>
85 $internal[UI\Implementation\Component\Dropzone\Factory::class];
86 $provide[UI\Implementation\Component\Popover\Factory::class] =
static fn() =>
87 $internal[UI\Implementation\Component\Popover\Factory::class];
88 $provide[UI\Implementation\Component\Divider\Factory::class] =
static fn() =>
89 $internal[UI\Implementation\Component\Divider\Factory::class];
90 $provide[UI\Implementation\Component\Link\Factory::class] =
static fn() =>
91 $internal[UI\Implementation\Component\Link\Factory::class];
92 $provide[UI\Implementation\Component\Dropdown\Factory::class] =
static fn() =>
93 $internal[UI\Implementation\Component\Dropdown\Factory::class];
94 $provide[UI\Implementation\Component\Item\Factory::class] =
static fn() =>
95 $internal[UI\Implementation\Component\Item\Factory::class];
96 $provide[UI\Implementation\Component\ViewControl\Factory::class] =
static fn() =>
97 $internal[UI\Implementation\Component\ViewControl\Factory::class];
98 $provide[UI\Implementation\Component\Chart\Factory::class] =
static fn() =>
99 $internal[UI\Implementation\Component\Chart\Factory::class];
100 $provide[UI\Implementation\Component\Input\Factory::class] =
static fn() =>
101 $internal[UI\Implementation\Component\Input\Factory::class];
102 $provide[UI\Implementation\Component\Table\Factory::class] =
static fn() =>
103 $internal[UI\Implementation\Component\Table\Factory::class];
104 $provide[UI\Implementation\Component\MessageBox\Factory::class] =
static fn() =>
105 $internal[UI\Implementation\Component\MessageBox\Factory::class];
106 $provide[UI\Implementation\Component\Card\Factory::class] =
static fn() =>
107 $internal[UI\Implementation\Component\Card\Factory::class];
108 $provide[UI\Implementation\Component\Layout\Factory::class] =
static fn() =>
109 $internal[UI\Implementation\Component\Layout\Factory::class];
110 $provide[UI\Implementation\Component\Layout\Page\Factory::class] =
static fn() =>
111 $internal[UI\Implementation\Component\Layout\Page\Factory::class];
112 $provide[UI\Implementation\Component\Layout\Alignment\Factory::class] =
static fn() =>
113 $internal[UI\Implementation\Component\Layout\Alignment\Factory::class];
114 $provide[UI\Implementation\Component\MainControls\Factory::class] =
static fn() =>
115 $internal[UI\Implementation\Component\MainControls\Factory::class];
116 $provide[UI\Implementation\Component\Tree\Factory::class] =
static fn() =>
117 $internal[UI\Implementation\Component\Tree\Factory::class];
118 $provide[UI\Implementation\Component\Tree\Node\Factory::class] =
static fn() =>
119 $internal[UI\Implementation\Component\Tree\Node\Factory::class];
120 $provide[UI\Implementation\Component\Menu\Factory::class] =
static fn() =>
121 $internal[UI\Implementation\Component\Menu\Factory::class];
122 $provide[UI\Implementation\Component\Symbol\Factory::class] =
static fn() =>
123 $internal[UI\Implementation\Component\Symbol\Factory::class];
124 $provide[UI\Implementation\Component\Toast\Factory::class] =
static fn() =>
125 $internal[UI\Implementation\Component\Toast\Factory::class];
126 $provide[UI\Implementation\Component\Legacy\Factory::class] =
static fn() =>
127 $internal[UI\Implementation\Component\Legacy\Factory::class];
128 $provide[UI\Implementation\Component\Launcher\Factory::class] =
static fn() =>
129 $internal[UI\Implementation\Component\Launcher\Factory::class];
130 $provide[UI\Implementation\Component\Entity\Factory::class] =
static fn() =>
131 $internal[UI\Implementation\Component\Entity\Factory::class];
132 $provide[UI\Implementation\Component\Panel\Secondary\Factory::class] =
static fn() =>
133 $internal[UI\Implementation\Component\Panel\Secondary\Factory::class];
134 $provide[UI\Implementation\Component\Panel\Listing\Factory::class] =
static fn() =>
135 $internal[UI\Implementation\Component\Panel\Listing\Factory::class];
136 $provide[UI\Implementation\Component\Modal\InterruptiveItem\Factory::class] =
static fn() =>
137 $internal[UI\Implementation\Component\Modal\InterruptiveItem\Factory::class];
138 $provide[UI\Implementation\Component\Chart\ProgressMeter\Factory::class] =
static fn() =>
139 $internal[UI\Implementation\Component\Chart\ProgressMeter\Factory::class];
140 $provide[UI\Implementation\Component\Chart\Bar\Factory::class] =
static fn() =>
141 $internal[UI\Implementation\Component\Chart\Bar\Factory::class];
142 $provide[UI\Implementation\Component\Input\ViewControl\Factory::class] =
static fn() =>
143 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class];
144 $provide[UI\Implementation\Component\Input\Container\ViewControl\Factory::class] =
static fn() =>
145 $internal[UI\Implementation\Component\Input\Container\ViewControl\Factory::class];
146 $provide[UI\Implementation\Component\Table\Column\Factory::class] =
static fn() =>
147 $internal[UI\Implementation\Component\Table\Column\Factory::class];
148 $provide[UI\Implementation\Component\Table\Factory::class] =
static fn() =>
149 $internal[UI\Implementation\Component\Table\Factory::class];
150 $provide[UI\Implementation\Component\MainControls\Slate\Factory::class] =
static fn() =>
151 $internal[UI\Implementation\Component\MainControls\Slate\Factory::class];
152 $provide[UI\Implementation\Component\Symbol\Icon\Factory::class] =
static fn() =>
153 $internal[UI\Implementation\Component\Symbol\Icon\Factory::class];
154 $provide[UI\Implementation\Component\Symbol\Glyph\Factory::class] =
static fn() =>
155 $internal[UI\Implementation\Component\Symbol\Glyph\Factory::class];
156 $provide[UI\Implementation\Component\Symbol\Avatar\Factory::class] =
static fn() =>
157 $internal[UI\Implementation\Component\Symbol\Avatar\Factory::class];
158 $provide[UI\Implementation\Component\Input\Container\Form\Factory::class] =
static fn() =>
159 $internal[UI\Implementation\Component\Input\Container\Form\Factory::class];
160 $provide[UI\Implementation\Component\Input\Container\Filter\Factory::class] =
static fn() =>
161 $internal[UI\Implementation\Component\Input\Container\Filter\Factory::class];
162 $provide[UI\Implementation\Component\Input\Field\Factory::class] =
static fn() =>
163 $internal[UI\Implementation\Component\Input\Field\Factory::class];
164 $provide[UI\Implementation\Component\Input\Field\Node\Factory::class] =
static fn() =>
165 $internal[UI\Implementation\Component\Input\Field\Node\Factory::class];
166 $provide[UI\Implementation\Component\Prompt\Factory::class] =
static fn() =>
167 $internal[UI\Implementation\Component\Prompt\Factory::class];
168 $provide[UI\Implementation\Component\Prompt\State\Factory::class] =
static fn() =>
169 $internal[UI\Implementation\Component\Prompt\State\Factory::class];
170 $provide[UI\Implementation\Component\Input\UploadLimitResolver::class] =
static fn() =>
171 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class];
172 $provide[UI\Implementation\Component\Navigation\Factory::class] =
static fn() =>
173 $internal[UI\Implementation\Component\Navigation\Factory::class];
174 $provide[UI\Implementation\Render\JavaScriptBinding::class] =
static fn() =>
175 $internal[UI\Implementation\Render\JavaScriptBinding::class];
176 $provide[UI\Implementation\Component\SignalGeneratorInterface::class] =
static fn() =>
177 $internal[UI\Implementation\Component\SignalGeneratorInterface::class];
178 $provide[UI\Implementation\Render\TemplateFactory::class] =
static fn() =>
179 $internal[UI\Implementation\Render\TemplateFactory::class];
184 $internal[UI\Implementation\Factory::class] =
static fn() =>
219 $internal[UI\Implementation\Component\Counter\Factory::class] =
static fn() =>
222 $internal[UI\Implementation\Component\Button\Factory::class] =
static fn() =>
225 $internal[UI\Implementation\Component\Listing\Factory::class] =
static fn() =>
231 $internal[UI\Implementation\Component\Listing\Workflow\Factory::class] =
static fn() =>
233 $internal[UI\Implementation\Component\Listing\CharacteristicValue\Factory::class] =
static fn() =>
235 $internal[UI\Implementation\Component\Listing\Entity\Factory::class] =
static fn() =>
238 $internal[UI\Implementation\Component\Image\Factory::class] =
static fn() =>
241 $internal[UI\Implementation\Component\Player\Factory::class] =
static fn() =>
244 $internal[UI\Implementation\Component\Panel\Factory::class] =
static fn() =>
249 $internal[UI\Implementation\Component\Panel\Listing\Factory::class] =
static fn() =>
251 $internal[UI\Implementation\Component\Panel\Secondary\Factory::class] =
static fn() =>
254 $internal[UI\Implementation\Component\Modal\Factory::class] =
static fn() =>
260 $internal[UI\Implementation\Component\SignalGeneratorInterface::class] =
static fn() =>
262 $internal[UI\Implementation\Component\Modal\InterruptiveItem\Factory::class] =
static fn() =>
265 $internal[UI\Implementation\Component\Progress\Factory::class] =
static fn() =>
267 $use[
UI\
Component\Progress\AsyncRefreshInterval::class],
271 $internal[UI\Implementation\Component\Progress\State\Factory::class] =
static fn() =>
275 $internal[UI\Implementation\Component\Progress\State\Bar\Factory::class] =
static fn() =>
277 $internal[UI\Implementation\Component\Progress\DefaultAsyncRefreshInterval::class] =
static fn() =>
280 $internal[UI\Implementation\Component\Dropzone\Factory::class] =
static fn() =>
284 $internal[UI\Implementation\Component\Dropzone\File\Factory::class] =
static fn() =>
290 $internal[UI\Implementation\Component\Popover\Factory::class] =
static fn() =>
295 $internal[UI\Implementation\Component\Divider\Factory::class] =
static fn() =>
298 $internal[UI\Implementation\Component\Link\Factory::class] =
static fn() =>
301 $internal[UI\Implementation\Component\Dropdown\Factory::class] =
static fn() =>
304 $internal[UI\Implementation\Component\Item\Factory::class] =
static fn() =>
307 $internal[UI\Implementation\Component\ViewControl\Factory::class] =
static fn() =>
312 $internal[UI\Implementation\Component\Chart\Factory::class] =
static fn() =>
317 $internal[UI\Implementation\Component\Chart\ProgressMeter\Factory::class] =
static fn() =>
319 $internal[UI\Implementation\Component\Chart\Bar\Factory::class] =
static fn() =>
322 $internal[UI\Implementation\Component\Input\Factory::class] =
static fn() =>
329 $internal[UI\Implementation\Component\Input\Field\Factory::class] =
static fn() =>
334 $pull[
Data\Factory::class],
338 $internal[UI\Implementation\Component\Input\Field\Node\Factory::class] =
static fn() =>
340 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class] =
static fn() =>
342 $use[
UI\
Component\Input\Field\PhpUploadLimit::class],
343 $use[
UI\
Component\Input\Field\GlobalUploadLimit::class],
345 $internal[UI\Implementation\Component\Input\Container\Factory::class] =
static fn() =>
351 $internal[UI\Implementation\Component\Input\Container\Form\Factory::class] =
static fn() =>
356 $internal[UI\Implementation\Component\Input\Container\Filter\Factory::class] =
static fn() =>
361 $internal[UI\Implementation\Component\Input\Container\ViewControl\Factory::class] =
static fn() =>
366 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class] =
static fn() =>
369 $pull[
Data\Factory::class],
375 $internal[UI\Implementation\Component\Table\Factory::class] =
static fn() =>
380 $pull[
Data\Factory::class],
383 $use[
UI\Storage::class],
387 $internal[UI\Implementation\Component\Table\Column\Factory::class] =
static fn() =>
391 $internal[UI\Implementation\Component\Table\Action\Factory::class] =
static fn() =>
393 $internal[UI\Implementation\Component\Table\DataRowBuilder::class] =
static fn() =>
395 $internal[UI\Implementation\Component\Table\OrderingRowBuilder::class] =
static fn() =>
398 $internal[UI\Implementation\Component\MessageBox\Factory::class] =
static fn() =>
401 $internal[UI\Implementation\Component\Card\Factory::class] =
static fn() =>
404 $internal[UI\Implementation\Component\Layout\Factory::class] =
static fn() =>
409 $internal[UI\Implementation\Component\Layout\Page\Factory::class] =
static fn() =>
411 $internal[UI\Implementation\Component\Layout\Alignment\Factory::class] =
static fn() =>
414 $internal[UI\Implementation\Component\MainControls\Factory::class] =
static fn() =>
419 $internal[UI\Implementation\Component\MainControls\Slate\Factory::class] =
static fn() =>
426 $internal[UI\Implementation\Component\Tree\Factory::class] =
static fn() =>
430 $internal[UI\Implementation\Component\Tree\Node\Factory::class] =
static fn() =>
433 $internal[UI\Implementation\Component\Menu\Factory::class] =
static fn() =>
438 $internal[UI\Implementation\Component\Symbol\Factory::class] =
static fn() =>
444 $internal[UI\Implementation\Component\Symbol\Icon\Factory::class] =
static fn() =>
446 $internal[UI\Implementation\Component\Symbol\Glyph\Factory::class] =
static fn() =>
448 $internal[UI\Implementation\Component\Symbol\Avatar\Factory::class] =
static fn() =>
451 $internal[UI\Implementation\Component\Toast\Factory::class] =
static fn() =>
456 $internal[UI\Implementation\Component\Legacy\Factory::class] =
static fn() =>
461 $internal[UI\Implementation\Component\Launcher\Factory::class] =
static fn() =>
466 $internal[UI\Implementation\Component\Entity\Factory::class] =
static fn() =>
469 $internal[UI\Implementation\Component\Prompt\Factory::class] =
static fn() =>
473 $internal[UI\Implementation\Component\Prompt\State\Factory::class] =
static fn() =>
476 $internal[UI\Implementation\Component\Navigation\Factory::class] =
static fn() =>
478 $pull[
Data\Factory::class],
480 $use[
UI\Storage::class],
483 $internal[UI\Implementation\DefaultRenderer::class] =
static fn() =>
489 $internal[UI\Implementation\Render\Loader::class] =
static fn() =>
500 $pull[
Data\Factory::class],
501 $use[
UI\HelpTextRetriever::class],
510 $pull[
Data\Factory::class],
511 $use[
UI\HelpTextRetriever::class],
520 $pull[
Data\Factory::class],
521 $use[
UI\HelpTextRetriever::class],
530 $pull[
Data\Factory::class],
531 $use[
UI\HelpTextRetriever::class],
540 $pull[
Data\Factory::class],
541 $use[
UI\HelpTextRetriever::class],
550 $pull[
Data\Factory::class],
551 $use[
UI\HelpTextRetriever::class],
557 $internal[UI\Implementation\Render\JavaScriptBinding::class] =
static fn() =>
559 $use[
UICore\GlobalTemplate::class],
561 $internal[UI\Implementation\Render\ResourceRegistry::class] =
static fn() =>
563 $use[
UICore\GlobalTemplate::class],
565 $internal[UI\Implementation\Render\TemplateFactory::class] =
static fn() =>
568 $contribute[Component\Resource\PublicAsset::class] = fn() =>
570 $contribute[Component\Resource\PublicAsset::class] = fn() =>
572 $contribute[Component\Resource\PublicAsset::class] = fn() =>
574 $contribute[Component\Resource\PublicAsset::class] = fn() =>
576 $contribute[Component\Resource\PublicAsset::class] = fn() =>
579 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
581 $contribute[Component\Resource\PublicAsset::class] = fn() =>
584 $contribute[Component\Resource\PublicAsset::class] = fn() =>
586 $contribute[Component\Resource\PublicAsset::class] = fn() =>
588 $contribute[Component\Resource\PublicAsset::class] = fn() =>
590 $contribute[Component\Resource\PublicAsset::class] = fn() =>
592 $contribute[Component\Resource\PublicAsset::class] = fn() =>
594 $contribute[Component\Resource\PublicAsset::class] = fn() =>
596 $contribute[Component\Resource\PublicAsset::class] = fn() =>
598 $contribute[Component\Resource\PublicAsset::class] = fn() =>
600 $contribute[Component\Resource\PublicAsset::class] = fn() =>
602 $contribute[Component\Resource\PublicAsset::class] = fn() =>
604 $contribute[Component\Resource\PublicAsset::class] = fn() =>
606 $contribute[Component\Resource\PublicAsset::class] = fn() =>
608 $contribute[Component\Resource\PublicAsset::class] = fn() =>
610 $contribute[Component\Resource\PublicAsset::class] = fn() =>
612 $contribute[Component\Resource\PublicAsset::class] = fn() =>
614 $contribute[Component\Resource\PublicAsset::class] = fn() =>
616 $contribute[Component\Resource\PublicAsset::class] = fn() =>
618 $contribute[Component\Resource\PublicAsset::class] = fn() =>
620 $contribute[Component\Resource\PublicAsset::class] = fn() =>
622 $contribute[Component\Resource\PublicAsset::class] = fn() =>
624 $contribute[Component\Resource\PublicAsset::class] = fn() =>
626 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
628 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
630 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
632 $contribute[Component\Resource\PublicAsset::class] = fn() =>
634 $contribute[Component\Resource\PublicAsset::class] = fn() =>
636 $contribute[Component\Resource\PublicAsset::class] = fn() =>
638 $contribute[Component\Resource\PublicAsset::class] = fn() =>
653 $contribute[Component\Resource\PublicAsset::class] = fn() =>
658 foreach ([
'tex-chtml-full.js',
'a11y',
'adaptors',
'input',
'output',
'sre',
'ui'] as $asset) {
659 $contribute[Component\Resource\PublicAsset::class] =
static fn(
665 public function getSource(): string
667 return 'node_modules/mathjax/es5/' . $this->asset;
670 public function getTarget(): string
672 return 'node_modules/mathjax/es5/' . $this->asset;
679 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
new class () implements
Component\Resource\PublicAsset {
680 public function getSource(): string
682 return "templates/default/delos.css";
684 public function getTarget(): string
686 return "assets/css/delos.css";
689 $contribute[Component\Resource\PublicAsset::class] =
static fn() =>
new class () implements
Component\Resource\PublicAsset {
690 public function getSource(): string
692 return "templates/default/delos_cont.css";
694 public function getTarget(): string
696 return "assets/css/delos_cont.css";
This is a js file provided by some component.
Some distributable file created by npm.
An public asset that is a resource of some component.
Builds a Color from either hex- or rgb values.
A Link is the often used combination of a label and an URL.
Renderer that dispatches rendering of UI components to a Renderer found in the same namespace as the ...
Caches renderers loaded by another loader.
Wraps global ilTemplate to provide JavaScriptBinding.
Plumbing for ILIAS, tries to guess.
Factory for wrapped ilTemplates.
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
An public asset is a file or folder that should be served via the web.
A component is the most general form of an entity in the UI.
This is what a factory for layouts looks like.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.