ILIAS  release_8 Revision v8.24
InitUIFramework Class Reference

Responsible for loading the UI Framework into the dependency injection container of ILIAS. More...

+ Collaboration diagram for InitUIFramework:

Public Member Functions

 init (\ILIAS\DI\Container $c)
 

Detailed Description

Responsible for loading the UI Framework into the dependency injection container of ILIAS.

Definition at line 24 of file InitUIFramework.php.

Member Function Documentation

◆ init()

InitUIFramework::init ( \ILIAS\DI\Container  $c)

Definition at line 26 of file InitUIFramework.php.

26 : void
27 {
28 $c["ui.factory"] = function ($c) {
29 $c["lng"]->loadLanguageModule("ui");
31 $c["ui.factory.counter"],
32 $c["ui.factory.button"],
33 $c["ui.factory.listing"],
34 $c["ui.factory.image"],
35 $c["ui.factory.panel"],
36 $c["ui.factory.modal"],
37 $c["ui.factory.dropzone"],
38 $c["ui.factory.popover"],
39 $c["ui.factory.divider"],
40 $c["ui.factory.link"],
41 $c["ui.factory.dropdown"],
42 $c["ui.factory.item"],
43 $c["ui.factory.viewcontrol"],
44 $c["ui.factory.chart"],
45 $c["ui.factory.input"],
46 $c["ui.factory.table"],
47 $c["ui.factory.messagebox"],
48 $c["ui.factory.card"],
49 $c["ui.factory.layout"],
50 $c["ui.factory.maincontrols"],
51 $c["ui.factory.tree"],
52 $c["ui.factory.menu"],
53 $c["ui.factory.symbol"],
54 $c["ui.factory.toast"],
55 $c["ui.factory.legacy"]
56 );
57 };
58 $c["ui.upload_limit_resolver"] = function ($c) {
59 return new \ILIAS\UI\Implementation\Component\Input\UploadLimitResolver(
61 );
62 };
63 $c["ui.data_factory"] = function ($c) {
64 return new ILIAS\Data\Factory();
65 };
66 $c["ui.signal_generator"] = function ($c) {
68 };
69 $c["ui.factory.counter"] = function ($c) {
71 };
72 $c["ui.factory.button"] = function ($c) {
74 };
75 $c["ui.factory.listing"] = function ($c) {
77 };
78 $c["ui.factory.image"] = function ($c) {
80 };
81 $c["ui.factory.panel"] = function ($c) {
82 return new ILIAS\UI\Implementation\Component\Panel\Factory($c["ui.factory.panel.listing"]);
83 };
84 $c["ui.factory.modal"] = function ($c) {
86 $c["ui.signal_generator"],
87 $c["ui.factory.input.field"]
88 );
89 };
90 $c["ui.factory.dropzone"] = function ($c) {
91 return new ILIAS\UI\Implementation\Component\Dropzone\Factory($c["ui.factory.dropzone.file"]);
92 };
93 $c["ui.factory.popover"] = function ($c) {
94 return new ILIAS\UI\Implementation\Component\Popover\Factory($c["ui.signal_generator"]);
95 };
96 $c["ui.factory.divider"] = function ($c) {
98 };
99 $c["ui.factory.link"] = function ($c) {
101 };
102 $c["ui.factory.dropdown"] = function ($c) {
104 };
105 $c["ui.factory.item"] = function ($c) {
107 };
108 $c["ui.factory.toast"] = function ($c) {
109 return new ILIAS\UI\Implementation\Component\Toast\Factory($c["ui.signal_generator"]);
110 };
111 $c["ui.factory.viewcontrol"] = function ($c) {
113 $c["ui.signal_generator"]
114 );
115 };
116 $c["ui.factory.chart"] = function ($c) {
118 $c["ui.factory.progressmeter"],
119 $c["ui.factory.bar"]
120 );
121 };
122 $c["ui.factory.input"] = function ($c) {
124 $c["ui.signal_generator"],
125 $c["ui.factory.input.field"],
126 $c["ui.factory.input.container"],
127 $c["ui.factory.input.viewcontrol"]
128 );
129 };
130 $c["ui.factory.table"] = function ($c) {
132
134 $c["ui.signal_generator"],
135 $c['ui.factory.input.viewcontrol'],
136 $c['ui.factory.input.container.viewcontrol'],
137 $c["ui.data_factory"],
138 $c["ui.factory.table.column"],
139 $c["ui.factory.table.action"],
140 $row_builder,
141 $c["ui.storage"]
142 );
143 };
144 $c["ui.factory.table.column"] = function ($c) {
146 $c["lng"]
147 );
148 };
149 $c["ui.factory.table.action"] = function ($c) {
151 };
152 $c["ui.factory.messagebox"] = function ($c) {
154 };
155 $c["ui.factory.card"] = function ($c) {
157 };
158 $c["ui.factory.layout"] = function ($c) {
160 };
161 $c["ui.factory.maincontrols.slate"] = function ($c) {
163 $c['ui.signal_generator'],
164 $c['ui.factory.counter'],
165 $c["ui.factory.symbol"]
166 );
167 };
168 $c["ui.factory.maincontrols"] = function ($c) {
170 $c['ui.signal_generator'],
171 $c['ui.factory.maincontrols.slate']
172 );
173 };
174 $c["ui.factory.menu"] = function ($c) {
176 $c['ui.signal_generator']
177 );
178 };
179 $c["ui.factory.symbol.glyph"] = function ($c) {
181 };
182 $c["ui.factory.symbol.icon"] = function ($c) {
184 };
185 $c["ui.factory.symbol.avatar"] = function ($c) {
187 };
188 $c["ui.factory.symbol"] = function ($c) {
190 $c["ui.factory.symbol.icon"],
191 $c["ui.factory.symbol.glyph"],
192 $c["ui.factory.symbol.avatar"]
193 );
194 };
195 $c["ui.factory.progressmeter"] = function ($c) {
197 };
198 $c["ui.factory.bar"] = function ($c) {
200 };
201 $c["ui.factory.input.field"] = function ($c) {
203 $c["ui.upload_limit_resolver"],
204 $c["ui.signal_generator"],
205 $c["ui.data_factory"],
206 $c["refinery"],
207 $c["lng"]
208 );
209 };
210 $c["ui.factory.input.container"] = function ($c) {
212 $c["ui.factory.input.container.form"],
213 $c["ui.factory.input.container.filter"],
214 $c["ui.factory.input.container.viewcontrol"]
215 );
216 };
217 $c["ui.factory.input.container.form"] = function ($c) {
219 $c["ui.factory.input.field"]
220 );
221 };
222 $c["ui.factory.input.container.filter"] = function ($c) {
224 $c["ui.signal_generator"],
225 $c["ui.factory.input.field"]
226 );
227 };
228 $c["ui.factory.input.container.viewcontrol"] = function ($c) {
230 $c["ui.signal_generator"],
231 $c["ui.factory.input.viewcontrol"]
232 );
233 };
234 $c["ui.factory.input.viewcontrol"] = function ($c) {
236 $c["ui.factory.input.field"],
237 $c["ui.data_factory"],
238 $c["refinery"],
239 $c["ui.signal_generator"],
240 $c["lng"]
241 );
242 };
243 $c["ui.factory.dropzone.file"] = function ($c) {
245 $c["ui.signal_generator"],
246 $c["ui.factory.input.field"]
247 );
248 };
249 $c["ui.factory.panel.listing"] = function ($c) {
251 };
252 $c["ui.renderer"] = function ($c) {
254 $c["ui.component_renderer_loader"]
255 );
256 };
257 $c["ui.component_renderer_loader"] = function ($c) {
259 new ILIAS\UI\Implementation\Render\LoaderResourceRegistryWrapper(
260 $c["ui.resource_registry"],
261 new ILIAS\UI\Implementation\Render\FSLoader(
262 new ILIAS\UI\Implementation\Render\DefaultRendererFactory(
263 $c["ui.factory"],
264 $c["ui.template_factory"],
265 $c["lng"],
266 $c["ui.javascript_binding"],
267 $c["refinery"],
268 $c["ui.pathresolver"],
269 $c["ui.data_factory"]
270 ),
271 new ILIAS\UI\Implementation\Component\Symbol\Glyph\GlyphRendererFactory(
272 $c["ui.factory"],
273 $c["ui.template_factory"],
274 $c["lng"],
275 $c["ui.javascript_binding"],
276 $c["refinery"],
277 $c["ui.pathresolver"],
278 $c["ui.data_factory"]
279 ),
280 new ILIAS\UI\Implementation\Component\Symbol\Icon\IconRendererFactory(
281 $c["ui.factory"],
282 $c["ui.template_factory"],
283 $c["lng"],
284 $c["ui.javascript_binding"],
285 $c["refinery"],
286 $c["ui.pathresolver"],
287 $c["ui.data_factory"]
288 ),
289 new ILIAS\UI\Implementation\Component\Input\Field\FieldRendererFactory(
290 $c["ui.factory"],
291 $c["ui.template_factory"],
292 $c["lng"],
293 $c["ui.javascript_binding"],
294 $c["refinery"],
295 $c["ui.pathresolver"],
296 $c["ui.data_factory"]
297 )
298 )
299 )
300 );
301 };
302 $c["ui.template_factory"] = function ($c) {
304 };
305 $c["ui.resource_registry"] = function ($c) {
307 };
308 $c["ui.javascript_binding"] = function ($c) {
310 };
311
312 $c["ui.factory.tree"] = function ($c) {
314 };
315
316 $c["ui.factory.legacy"] = function ($c) {
317 return new ILIAS\UI\Implementation\Component\Legacy\Factory($c["ui.signal_generator"]);
318 };
319
320 $c["ui.pathresolver"] = function ($c): ILIAS\UI\Implementation\Render\ImagePathResolver {
321 return new ilImagePathResolver();
322 };
323
324
325 // currently this is will be a session storage because we cannot store
326 // data on the client, see https://mantis.ilias.de/view.php?id=38503.
327 $c["ui.storage"] = function ($c): ArrayAccess {
328 return new class () implements ArrayAccess {
329 public function offsetExists($offset)
330 {
331 return ilSession::has($offset);
332 }
333 public function offsetGet($offset)
334 {
335 return ilSession::get($offset);
336 }
337 public function offsetSet($offset, $value)
338 {
339 if (!is_string($offset)) {
340 throw new InvalidArgumentException('Offset needs to be of type string.');
341 }
342 ilSession::set($offset, $value);
343 }
344 public function offsetUnset($offset)
345 {
346 ilSession::clear($offset);
347 }
348 };
349 };
350 }
Builds a Color from either hex- or rgb values.
Definition: Factory.php:17
Factory for Date Formats.
Definition: Factory.php:27
Builds data types.
Definition: Factory.php:21
Implementation of factory for cards.
Definition: Factory.php:32
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.
static getUploadSizeLimitBytes()
static get(string $a_var)
static clear(string $a_var)
static set(string $a_var, $a_val)
Set a value.
static has($a_var)
$c
Definition: cli.php:38
This is what a factory for input fields looks like.
Definition: Factory.php:29
This describes the factory for (view-)controls.
Definition: Factory.php:27
This is what a factory for layouts looks like.
Definition: Factory.php:27
This is how the factory for UI elements looks.
Definition: Factory.php:38
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.

References $c, ilSession\clear(), ilSession\get(), ilFileUtils\getUploadSizeLimitBytes(), ilSession\has(), and ilSession\set().

+ Here is the call graph for this function:

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