ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\UI Class Reference
+ Inheritance diagram for ILIAS\UI:
+ Collaboration diagram for ILIAS\UI:

Public Member Functions

 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,)
 
 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,)
 

Detailed Description

Definition at line 23 of file UI.php.

Member Function Documentation

◆ init()

ILIAS\UI::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 
)

Implements ILIAS\Component\Component.

Definition at line 25 of file UI.php.

34 : void {
35 $define[] = UI\Factory::class;
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;
44
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];
53
54 // =================================================================================
55 // ATTENTION: these factories are only populated inside $provide in order to
56 // keep plugin renderer- and factory-exchanges possible. These factories will
57 // only be internal again, once this functionality is improved for ILIAS 11.
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
175 // =================================================================================
176
177 $internal[UI\Implementation\Factory::class] = static fn() =>
179 $internal[UI\Implementation\Component\Counter\Factory::class],
180 $internal[UI\Implementation\Component\Button\Factory::class],
181 $internal[UI\Implementation\Component\Listing\Factory::class],
182 $internal[UI\Implementation\Component\Image\Factory::class],
183 $internal[UI\Implementation\Component\Player\Factory::class],
184 $internal[UI\Implementation\Component\Panel\Factory::class],
185 $internal[UI\Implementation\Component\Modal\Factory::class],
186 $internal[UI\Implementation\Component\Progress\Factory::class],
187 $internal[UI\Implementation\Component\Dropzone\Factory::class],
188 $internal[UI\Implementation\Component\Popover\Factory::class],
189 $internal[UI\Implementation\Component\Divider\Factory::class],
190 $internal[UI\Implementation\Component\Link\Factory::class],
191 $internal[UI\Implementation\Component\Dropdown\Factory::class],
192 $internal[UI\Implementation\Component\Item\Factory::class],
193 $internal[UI\Implementation\Component\ViewControl\Factory::class],
194 $internal[UI\Implementation\Component\Chart\Factory::class],
195 $internal[UI\Implementation\Component\Input\Factory::class],
196 $internal[UI\Implementation\Component\Table\Factory::class],
197 $internal[UI\Implementation\Component\MessageBox\Factory::class],
198 $internal[UI\Implementation\Component\Card\Factory::class],
199 $internal[UI\Implementation\Component\Layout\Factory::class],
200 $internal[UI\Implementation\Component\MainControls\Factory::class],
201 $internal[UI\Implementation\Component\Tree\Factory::class],
202 $internal[UI\Implementation\Component\Menu\Factory::class],
203 $internal[UI\Implementation\Component\Symbol\Factory::class],
204 $internal[UI\Implementation\Component\Toast\Factory::class],
205 $internal[UI\Implementation\Component\Legacy\Factory::class],
206 $internal[UI\Implementation\Component\Launcher\Factory::class],
207 $internal[UI\Implementation\Component\Entity\Factory::class],
208 $internal[UI\Implementation\Component\Prompt\Factory::class],
209 $internal[UI\Implementation\Component\Navigation\Factory::class],
210 );
211
212 $internal[UI\Implementation\Component\Counter\Factory::class] = static fn() =>
214
215 $internal[UI\Implementation\Component\Button\Factory::class] = static fn() =>
217
218 $internal[UI\Implementation\Component\Listing\Factory::class] = static fn() =>
220 $internal[UI\Implementation\Component\Listing\Workflow\Factory::class],
221 $internal[UI\Implementation\Component\Listing\CharacteristicValue\Factory::class],
222 $internal[UI\Implementation\Component\Listing\Entity\Factory::class],
223 );
224 $internal[UI\Implementation\Component\Listing\Workflow\Factory::class] = static fn() =>
226 $internal[UI\Implementation\Component\Listing\CharacteristicValue\Factory::class] = static fn() =>
228 $internal[UI\Implementation\Component\Listing\Entity\Factory::class] = static fn() =>
230
231 $internal[UI\Implementation\Component\Image\Factory::class] = static fn() =>
233
234 $internal[UI\Implementation\Component\Player\Factory::class] = static fn() =>
236
237 $internal[UI\Implementation\Component\Panel\Factory::class] = static fn() =>
239 $internal[UI\Implementation\Component\Panel\Listing\Factory::class],
240 $internal[UI\Implementation\Component\Panel\Secondary\Factory::class],
241 );
242 $internal[UI\Implementation\Component\Panel\Listing\Factory::class] = static fn() =>
244 $internal[UI\Implementation\Component\Panel\Secondary\Factory::class] = static fn() =>
246
247 $internal[UI\Implementation\Component\Modal\Factory::class] = static fn() =>
249 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
250 $internal[UI\Implementation\Component\Modal\InterruptiveItem\Factory::class],
251 $internal[UI\Implementation\Component\Input\Field\Factory::class],
252 );
253 $internal[UI\Implementation\Component\SignalGeneratorInterface::class] = static fn() =>
255 $internal[UI\Implementation\Component\Modal\InterruptiveItem\Factory::class] = static fn() =>
257
258 $internal[UI\Implementation\Component\Progress\Factory::class] = static fn() =>
260 $use[UI\Component\Progress\AsyncRefreshInterval::class],
261 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
262 $internal[UI\Implementation\Component\Progress\State\Factory::class],
263 );
264 $internal[UI\Implementation\Component\Progress\State\Factory::class] = static fn() =>
266 $internal[UI\Implementation\Component\Progress\State\Bar\Factory::class],
267 );
268 $internal[UI\Implementation\Component\Progress\State\Bar\Factory::class] = static fn() =>
270 $internal[UI\Implementation\Component\Progress\DefaultAsyncRefreshInterval::class] = static fn() =>
272
273 $internal[UI\Implementation\Component\Dropzone\Factory::class] = static fn() =>
275 $internal[UI\Implementation\Component\Dropzone\File\Factory::class],
276 );
277 $internal[UI\Implementation\Component\Dropzone\File\Factory::class] = static fn() =>
279 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
280 $internal[UI\Implementation\Component\Input\Field\Factory::class],
281 );
282
283 $internal[UI\Implementation\Component\Popover\Factory::class] = static fn() =>
285 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
286 );
287
288 $internal[UI\Implementation\Component\Divider\Factory::class] = static fn() =>
290
291 $internal[UI\Implementation\Component\Link\Factory::class] = static fn() =>
293
294 $internal[UI\Implementation\Component\Dropdown\Factory::class] = static fn() =>
296
297 $internal[UI\Implementation\Component\Item\Factory::class] = static fn() =>
299
300 $internal[UI\Implementation\Component\ViewControl\Factory::class] = static fn() =>
302 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
303 );
304
305 $internal[UI\Implementation\Component\Chart\Factory::class] = static fn() =>
307 $internal[UI\Implementation\Component\Chart\ProgressMeter\Factory::class],
308 $internal[UI\Implementation\Component\Chart\Bar\Factory::class],
309 );
310 $internal[UI\Implementation\Component\Chart\ProgressMeter\Factory::class] = static fn() =>
312 $internal[UI\Implementation\Component\Chart\Bar\Factory::class] = static fn() =>
314
315 $internal[UI\Implementation\Component\Input\Factory::class] = static fn() =>
317 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
318 $internal[UI\Implementation\Component\Input\Field\Factory::class],
319 $internal[UI\Implementation\Component\Input\Container\Factory::class],
320 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class],
321 );
322 $internal[UI\Implementation\Component\Input\Field\Factory::class] = static fn() =>
324 $internal[UI\Implementation\Component\Input\Field\Node\Factory::class],
325 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
326 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
327 $pull[Data\Factory::class],
328 $pull[Refinery\Factory::class],
329 $use[Language\Language::class]
330 );
331 $internal[UI\Implementation\Component\Input\Field\Node\Factory::class] = static fn() =>
333 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class] = static fn() =>
335 $use[UI\Component\Input\Field\PhpUploadLimit::class],
336 $use[UI\Component\Input\Field\GlobalUploadLimit::class],
337 );
338 $internal[UI\Implementation\Component\Input\Container\Factory::class] = static fn() =>
340 $internal[UI\Implementation\Component\Input\Container\Form\Factory::class],
341 $internal[UI\Implementation\Component\Input\Container\Filter\Factory::class],
342 $internal[UI\Implementation\Component\Input\Container\ViewControl\Factory::class],
343 );
344 $internal[UI\Implementation\Component\Input\Container\Form\Factory::class] = static fn() =>
346 $internal[UI\Implementation\Component\Input\Field\Factory::class],
347 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
348 );
349 $internal[UI\Implementation\Component\Input\Container\Filter\Factory::class] = static fn() =>
351 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
352 $internal[UI\Implementation\Component\Input\Field\Factory::class],
353 );
354 $internal[UI\Implementation\Component\Input\Container\ViewControl\Factory::class] = static fn() =>
356 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
357 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class],
358 );
359 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class] = static fn() =>
361 $internal[UI\Implementation\Component\Input\Field\Factory::class],
362 $pull[Data\Factory::class],
363 $pull[Refinery\Factory::class],
364 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
365 $use[Language\Language::class],
366 );
367
368 $internal[UI\Implementation\Component\Table\Factory::class] = static fn() =>
370 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
371 $internal[UI\Implementation\Component\Input\ViewControl\Factory::class],
372 $internal[UI\Implementation\Component\Input\Container\ViewControl\Factory::class],
373 $pull[Data\Factory::class],
374 $internal[UI\Implementation\Component\Table\Column\Factory::class],
375 $internal[UI\Implementation\Component\Table\Action\Factory::class],
376 $use[UI\Storage::class],
377 $internal[UI\Implementation\Component\Table\DataRowBuilder::class],
378 $internal[UI\Implementation\Component\Table\OrderingRowBuilder::class],
379 );
380 $internal[UI\Implementation\Component\Table\Column\Factory::class] = static fn() =>
382 $use[\ILIAS\Language\Language::class],
383 );
384 $internal[UI\Implementation\Component\Table\Action\Factory::class] = static fn() =>
386 $internal[UI\Implementation\Component\Table\DataRowBuilder::class] = static fn() =>
388 $internal[UI\Implementation\Component\Table\OrderingRowBuilder::class] = static fn() =>
390
391 $internal[UI\Implementation\Component\MessageBox\Factory::class] = static fn() =>
393
394 $internal[UI\Implementation\Component\Card\Factory::class] = static fn() =>
396
397 $internal[UI\Implementation\Component\Layout\Factory::class] = static fn() =>
399 $internal[UI\Implementation\Component\Layout\Page\Factory::class],
400 $internal[UI\Implementation\Component\Layout\Alignment\Factory::class],
401 );
402 $internal[UI\Implementation\Component\Layout\Page\Factory::class] = static fn() =>
404 $internal[UI\Implementation\Component\Layout\Alignment\Factory::class] = static fn() =>
406
407 $internal[UI\Implementation\Component\MainControls\Factory::class] = static fn() =>
409 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
410 $internal[UI\Implementation\Component\MainControls\Slate\Factory::class],
411 );
412 $internal[UI\Implementation\Component\MainControls\Slate\Factory::class] = static fn() =>
414 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
415 $internal[UI\Implementation\Component\Counter\Factory::class],
416 $internal[UI\Implementation\Component\Symbol\Factory::class],
417 );
418
419 $internal[UI\Implementation\Component\Tree\Factory::class] = static fn() =>
421 $internal[UI\Implementation\Component\Tree\Node\Factory::class],
422 );
423 $internal[UI\Implementation\Component\Tree\Node\Factory::class] = static fn() =>
425
426 $internal[UI\Implementation\Component\Menu\Factory::class] = static fn() =>
428 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
429 );
430
431 $internal[UI\Implementation\Component\Symbol\Factory::class] = static fn() =>
433 $internal[UI\Implementation\Component\Symbol\Icon\Factory::class],
434 $internal[UI\Implementation\Component\Symbol\Glyph\Factory::class],
435 $internal[UI\Implementation\Component\Symbol\Avatar\Factory::class],
436 );
437 $internal[UI\Implementation\Component\Symbol\Icon\Factory::class] = static fn() =>
439 $internal[UI\Implementation\Component\Symbol\Glyph\Factory::class] = static fn() =>
441 $internal[UI\Implementation\Component\Symbol\Avatar\Factory::class] = static fn() =>
443
444 $internal[UI\Implementation\Component\Toast\Factory::class] = static fn() =>
446 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
447 );
448
449 $internal[UI\Implementation\Component\Legacy\Factory::class] = static fn() =>
451 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
452 );
453
454 $internal[UI\Implementation\Component\Launcher\Factory::class] = static fn() =>
456 $internal[UI\Implementation\Component\Modal\Factory::class],
457 );
458
459 $internal[UI\Implementation\Component\Entity\Factory::class] = static fn() =>
461
462 $internal[UI\Implementation\Component\Prompt\Factory::class] = static fn() =>
464 $internal[UI\Implementation\Component\SignalGeneratorInterface::class],
465 );
466 $internal[UI\Implementation\Component\Prompt\State\Factory::class] = static fn() =>
468
469 $internal[UI\Implementation\Component\Navigation\Factory::class] = static fn() =>
471 $pull[Data\Factory::class],
472 $pull[Refinery\Factory::class],
473 $use[UI\Storage::class],
474 );
475
476 $internal[UI\Implementation\DefaultRenderer::class] = static fn() =>
478 $internal[UI\Implementation\Render\Loader::class],
479 $internal[UI\Implementation\Render\JavaScriptBinding::class],
480 $use[Language\Language::class],
481 );
482 $internal[UI\Implementation\Render\Loader::class] = static fn() =>
484 new UI\Implementation\Render\LoaderResourceRegistryWrapper(
485 $internal[UI\Implementation\Render\ResourceRegistry::class],
486 new UI\Implementation\Render\FSLoader(
487 new UI\Implementation\Render\DefaultRendererFactory(
488 $use[UI\Implementation\FactoryInternal::class],
489 $internal[UI\Implementation\Render\TemplateFactory::class],
490 $use[Language\Language::class],
491 $internal[UI\Implementation\Render\JavaScriptBinding::class],
492 $use[UI\Implementation\Render\ImagePathResolver::class],
493 $pull[Data\Factory::class],
494 $use[UI\HelpTextRetriever::class],
495 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
496 ),
497 new UI\Implementation\Component\Symbol\Glyph\GlyphRendererFactory(
498 $use[UI\Implementation\FactoryInternal::class],
499 $internal[UI\Implementation\Render\TemplateFactory::class],
500 $use[Language\Language::class],
501 $internal[UI\Implementation\Render\JavaScriptBinding::class],
502 $use[UI\Implementation\Render\ImagePathResolver::class],
503 $pull[Data\Factory::class],
504 $use[UI\HelpTextRetriever::class],
505 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
506 ),
507 new UI\Implementation\Component\Input\Field\FieldRendererFactory(
508 $use[UI\Implementation\FactoryInternal::class],
509 $internal[UI\Implementation\Render\TemplateFactory::class],
510 $use[Language\Language::class],
511 $internal[UI\Implementation\Render\JavaScriptBinding::class],
512 $use[UI\Implementation\Render\ImagePathResolver::class],
513 $pull[Data\Factory::class],
514 $use[UI\HelpTextRetriever::class],
515 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
516 ),
517 new UI\Implementation\Component\MessageBox\MessageBoxRendererFactory(
518 $use[UI\Implementation\FactoryInternal::class],
519 $internal[UI\Implementation\Render\TemplateFactory::class],
520 $use[Language\Language::class],
521 $internal[UI\Implementation\Render\JavaScriptBinding::class],
522 $use[UI\Implementation\Render\ImagePathResolver::class],
523 $pull[Data\Factory::class],
524 $use[UI\HelpTextRetriever::class],
525 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
526 ),
527 new UI\Implementation\Component\Input\Container\Form\FormRendererFactory(
528 $use[UI\Implementation\FactoryInternal::class],
529 $internal[UI\Implementation\Render\TemplateFactory::class],
530 $use[Language\Language::class],
531 $internal[UI\Implementation\Render\JavaScriptBinding::class],
532 $use[UI\Implementation\Render\ImagePathResolver::class],
533 $pull[Data\Factory::class],
534 $use[UI\HelpTextRetriever::class],
535 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
536 ),
537 new UI\Implementation\Component\Menu\MenuRendererFactory(
538 $use[UI\Implementation\FactoryInternal::class],
539 $internal[UI\Implementation\Render\TemplateFactory::class],
540 $use[Language\Language::class],
541 $internal[UI\Implementation\Render\JavaScriptBinding::class],
542 $use[UI\Implementation\Render\ImagePathResolver::class],
543 $pull[Data\Factory::class],
544 $use[UI\HelpTextRetriever::class],
545 $internal[UI\Implementation\Component\Input\UploadLimitResolver::class],
546 ),
547 )
548 )
549 );
550 $internal[UI\Implementation\Render\JavaScriptBinding::class] = static fn() =>
552 $use[UICore\GlobalTemplate::class],
553 );
554 $internal[UI\Implementation\Render\ResourceRegistry::class] = static fn() =>
556 $use[UICore\GlobalTemplate::class],
557 );
558 $internal[UI\Implementation\Render\TemplateFactory::class] = static fn() =>
560
561 $contribute[Component\Resource\PublicAsset::class] = fn() =>
562 new Component\Resource\ComponentJS($this, "js/Button/button.js");
563 $contribute[Component\Resource\PublicAsset::class] = fn() =>
564 new Component\Resource\ComponentJS($this, "js/Chart/Bar/dist/bar.js");
565 $contribute[Component\Resource\PublicAsset::class] = fn() =>
566 new Component\Resource\ComponentJS($this, "js/Core/dist/core.js");
567 $contribute[Component\Resource\PublicAsset::class] = fn() =>
568 new Component\Resource\ComponentJS($this, "js/Counter/dist/counter.js");
569 $contribute[Component\Resource\PublicAsset::class] = fn() =>
570 new Component\Resource\ComponentJS($this, "js/Dropdown/dist/dropdown.js");
571
572 $contribute[Component\Resource\PublicAsset::class] = static fn() =>
573 new Component\Resource\NodeModule("dropzone/dist/min/dropzone.min.js");
574 $contribute[Component\Resource\PublicAsset::class] = fn() =>
575 new Component\Resource\ComponentJS($this, "js/Dropzone/File/dropzone.js");
576
577 $contribute[Component\Resource\PublicAsset::class] = fn() =>
578 new Component\Resource\ComponentJS($this, "js/Image/dist/image.min.js");
579 $contribute[Component\Resource\PublicAsset::class] = fn() =>
580 new Component\Resource\ComponentJS($this, "js/Input/Container/dist/filter.js");
581 $contribute[Component\Resource\PublicAsset::class] = fn() =>
582 new Component\Resource\ComponentJS($this, "js/Input/Field/dist/input.factory.min.js");
583 $contribute[Component\Resource\PublicAsset::class] = fn() =>
584 new Component\Resource\ComponentJS($this, "js/Input/Field/file.js");
585 $contribute[Component\Resource\PublicAsset::class] = fn() =>
586 new Component\Resource\ComponentJS($this, "js/Input/Field/input.js");
587 $contribute[Component\Resource\PublicAsset::class] = fn() =>
588 new Component\Resource\ComponentJS($this, "js/Item/dist/notification.js");
589 $contribute[Component\Resource\PublicAsset::class] = fn() =>
590 new Component\Resource\ComponentJS($this, "js/MainControls/dist/mainbar.js");
591 $contribute[Component\Resource\PublicAsset::class] = fn() =>
592 new Component\Resource\ComponentJS($this, "js/MainControls/dist/maincontrols.min.js");
593 $contribute[Component\Resource\PublicAsset::class] = fn() =>
594 new Component\Resource\ComponentJS($this, "js/MainControls/system_info.js");
595 $contribute[Component\Resource\PublicAsset::class] = fn() =>
596 new Component\Resource\ComponentJS($this, "js/Menu/dist/drilldown.min.js");
597 $contribute[Component\Resource\PublicAsset::class] = fn() =>
598 new Component\Resource\ComponentJS($this, "js/Modal/dist/modal.min.js");
599 $contribute[Component\Resource\PublicAsset::class] = fn() =>
600 new Component\Resource\ComponentJS($this, "js/Prompt/dist/prompt.min.js");
601 $contribute[Component\Resource\PublicAsset::class] = fn() =>
602 new Component\Resource\ComponentJS($this, "js/Page/stdpage.js");
603 $contribute[Component\Resource\PublicAsset::class] = fn() =>
604 new Component\Resource\ComponentJS($this, "js/Popover/popover.js");
605 $contribute[Component\Resource\PublicAsset::class] = fn() =>
606 new Component\Resource\ComponentJS($this, "js/Table/dist/table.min.js");
607 $contribute[Component\Resource\PublicAsset::class] = fn() =>
608 new Component\Resource\ComponentJS($this, "js/Toast/toast.js");
609 $contribute[Component\Resource\PublicAsset::class] = fn() =>
610 new Component\Resource\ComponentJS($this, "js/Tree/tree.js");
611 $contribute[Component\Resource\PublicAsset::class] = fn() =>
612 new Component\Resource\ComponentJS($this, "js/ViewControl/dist/viewcontrols.min.js");
613 $contribute[Component\Resource\PublicAsset::class] = fn() =>
614 new Component\Resource\OfComponent($this, "images", "assets");
615 $contribute[Component\Resource\PublicAsset::class] = fn() =>
616 new Component\Resource\OfComponent($this, "fonts", "assets");
617 $contribute[Component\Resource\PublicAsset::class] = fn() =>
618 new Component\Resource\OfComponent($this, "ui-examples", "assets");
619 $contribute[Component\Resource\PublicAsset::class] = static fn() =>
620 new Component\Resource\NodeModule("@yaireo/tagify/dist/tagify.js");
621 $contribute[Component\Resource\PublicAsset::class] = static fn() =>
622 new Component\Resource\NodeModule("@yaireo/tagify/dist/tagify.css");
623 $contribute[Component\Resource\PublicAsset::class] = static fn() =>
624 new Component\Resource\NodeModule("chart.js/dist/chart.umd.js");
625 $contribute[Component\Resource\PublicAsset::class] = fn() =>
626 new Component\Resource\ComponentJS($this, "js/Progress/dist/progress.min.js");
627 $contribute[Component\Resource\PublicAsset::class] = fn() =>
628 new Component\Resource\ComponentJS($this, "js/MainControls/dist/footer.min.js");
629 $contribute[Component\Resource\PublicAsset::class] = fn() =>
630 new Component\Resource\ComponentJS($this, "js/Input/ViewControl/dist/input.viewcontrols.min.js");
631 $contribute[Component\Resource\PublicAsset::class] = fn() =>
632 new Component\Resource\ComponentJS($this, "js/MathJax/mathjax_config.js");
633
634 /*
635 those are contributed by MediaObjects
636 $contribute[Component\Resource\PublicAsset::class] = fn() =>
637 new Component\Resource\NodeModule("mediaelement/build/mediaelement-and-player.min.js");
638 $contribute[Component\Resource\PublicAsset::class] = fn() =>
639 new Component\Resource\NodeModule("./node_modules/mediaelement/build/mediaelementplayer.min.css");
640 */
641 /* This library was missing after discussing dependencies for ILIAS 10
642 $contribute[Component\Resource\PublicAsset::class] = fn() =>
643 new Component\Resource\NodeModule("mediaelement/build/renderers/vimeo.min.js");
644 */
645 /* This library was missing after discussing dependencies for ILIAS 10 */
646 $contribute[Component\Resource\PublicAsset::class] = fn() =>
647 new Component\Resource\NodeModule("webui-popover/dist/jquery.webui-popover.min.js");
648
649 // This is included via anonymous classes
650 // because MathJax resources are taken from node_modules and they may be directories
651 foreach (['tex-chtml-full.js', 'a11y', 'adaptors', 'input', 'output', 'sre', 'ui'] as $asset) {
652 $contribute[Component\Resource\PublicAsset::class] = static fn(
653 ) => new readonly class ($asset) implements Component\Resource\PublicAsset {
654 public function __construct(private string $asset)
655 {
656 }
657
658 public function getSource(): string
659 {
660 return 'node_modules/mathjax/es5/' . $this->asset;
661 }
662
663 public function getTarget(): string
664 {
665 return 'node_modules/mathjax/es5/' . $this->asset;
666 }
667 };
668 };
669
670 // This is included via anonymous classes as a testament to the fact, that
671 // the templates-folder should probably be moved to some component.
672 $contribute[Component\Resource\PublicAsset::class] = static fn() => new class () implements Component\Resource\PublicAsset {
673 public function getSource(): string
674 {
675 return "templates/default/delos.css";
676 }
677 public function getTarget(): string
678 {
679 return "assets/css/delos.css";
680 }
681 };
682 $contribute[Component\Resource\PublicAsset::class] = static fn() => new class () implements Component\Resource\PublicAsset {
683 public function getSource(): string
684 {
685 return "templates/default/delos_cont.css";
686 }
687 public function getTarget(): string
688 {
689 return "assets/css/delos_cont.css";
690 }
691 };
692 }
This is a js file provided by some component.
Definition: ComponentJS.php:27
Some distributable file created by npm.
Definition: NodeModule.php:27
An public asset that is a resource of some component.
Definition: OfComponent.php:27
Builds a Color from either hex- or rgb values.
Definition: Factory.php:31
Factory for Date Formats.
Definition: Factory.php:27
Builds data types.
Definition: Factory.php:36
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.
Definition: UI.php:24
__construct()
Constructor setup ILIAS global object @access public.
Definition: class.ilias.php:76
An public asset is a file or folder that should be served via the web.
Definition: PublicAsset.php:27
This is what a factory for input fields looks like.
Definition: Factory.php:31
This is what a factory for layouts looks like.
Definition: Factory.php:27
This describes a symbol.
Definition: Symbol.php:30
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: Bulky.php:21
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.

The documentation for this class was generated from the following file: