ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
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.

References Vendor\Package\$c, ilSession\clear(), ilSession\get(), ilFileUtils\getPhpUploadSizeLimitInBytes(), ilSession\has(), and ilSession\set().

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  $c["ui.factory.launcher"],
57  $c["ui.factory.entity"]
58  );
59  };
60  $c["ui.upload_limit_resolver"] = function ($c) {
61  return new \ILIAS\UI\Implementation\Component\Input\UploadLimitResolver(
63  ($c->offsetExists('upload_policy_resolver')) ?
64  $c['upload_policy_resolver']->getUserUploadSizeLimitInBytes() :
65  null
66  );
67  };
68  $c["ui.data_factory"] = function ($c) {
69  return new ILIAS\Data\Factory();
70  };
71  $c["ui.signal_generator"] = function ($c) {
73  };
74  $c["ui.factory.counter"] = function ($c) {
76  };
77  $c["ui.factory.button"] = function ($c) {
79  };
80  $c["ui.factory.listing"] = function ($c) {
82  };
83  $c["ui.factory.image"] = function ($c) {
85  };
86  $c["ui.factory.panel"] = function ($c) {
87  return new ILIAS\UI\Implementation\Component\Panel\Factory($c["ui.factory.panel.listing"]);
88  };
89  $c["ui.factory.interruptive_item"] = function ($c) {
91  };
92  $c["ui.factory.modal"] = function ($c) {
94  $c["ui.signal_generator"],
95  $c["ui.factory.interruptive_item"],
96  $c["ui.factory.input.field"],
97  );
98  };
99  $c["ui.factory.dropzone"] = function ($c) {
100  return new ILIAS\UI\Implementation\Component\Dropzone\Factory($c["ui.factory.dropzone.file"]);
101  };
102  $c["ui.factory.popover"] = function ($c) {
103  return new ILIAS\UI\Implementation\Component\Popover\Factory($c["ui.signal_generator"]);
104  };
105  $c["ui.factory.divider"] = function ($c) {
107  };
108  $c["ui.factory.link"] = function ($c) {
110  };
111  $c["ui.factory.dropdown"] = function ($c) {
113  };
114  $c["ui.factory.item"] = function ($c) {
116  };
117  $c["ui.factory.toast"] = function ($c) {
118  return new ILIAS\UI\Implementation\Component\Toast\Factory($c["ui.signal_generator"]);
119  };
120  $c["ui.factory.viewcontrol"] = function ($c) {
122  $c["ui.signal_generator"]
123  );
124  };
125  $c["ui.factory.chart"] = function ($c) {
127  $c["ui.factory.progressmeter"],
128  $c["ui.factory.bar"]
129  );
130  };
131  $c["ui.factory.input"] = function ($c) {
133  $c["ui.signal_generator"],
134  $c["ui.factory.input.field"],
135  $c["ui.factory.input.container"],
136  $c["ui.factory.input.viewcontrol"]
137  );
138  };
139  $c["ui.factory.table"] = function ($c) {
142 
144  $c["ui.signal_generator"],
145  $c['ui.factory.input.viewcontrol'],
146  $c['ui.factory.input.container.viewcontrol'],
147  $c["ui.data_factory"],
148  $c["ui.factory.table.column"],
149  $c["ui.factory.table.action"],
150  $row_builder,
151  $c["ui.storage"],
152  $ordering_row_builder
153  );
154  };
155  $c["ui.factory.table.column"] = function ($c) {
157  $c["lng"]
158  );
159  };
160  $c["ui.factory.table.action"] = function ($c) {
162  };
163  $c["ui.factory.messagebox"] = function ($c) {
165  };
166  $c["ui.factory.card"] = function ($c) {
168  };
169  $c["ui.factory.layout"] = function ($c) {
171  };
172  $c["ui.factory.maincontrols.slate"] = function ($c) {
174  $c['ui.signal_generator'],
175  $c['ui.factory.counter'],
176  $c["ui.factory.symbol"]
177  );
178  };
179  $c["ui.factory.maincontrols"] = function ($c) {
181  $c['ui.signal_generator'],
182  $c['ui.factory.maincontrols.slate']
183  );
184  };
185  $c["ui.factory.menu"] = function ($c) {
187  $c['ui.signal_generator']
188  );
189  };
190  $c["ui.factory.symbol.glyph"] = function ($c) {
192  };
193  $c["ui.factory.symbol.icon"] = function ($c) {
195  };
196  $c["ui.factory.symbol.avatar"] = function ($c) {
198  };
199  $c["ui.factory.symbol"] = function ($c) {
201  $c["ui.factory.symbol.icon"],
202  $c["ui.factory.symbol.glyph"],
203  $c["ui.factory.symbol.avatar"]
204  );
205  };
206  $c["ui.factory.progressmeter"] = function ($c) {
208  };
209  $c["ui.factory.bar"] = function ($c) {
211  };
212  $c["ui.factory.input.field"] = function ($c) {
214  $c["ui.upload_limit_resolver"],
215  $c["ui.signal_generator"],
216  $c["ui.data_factory"],
217  $c["refinery"],
218  $c["lng"]
219  );
220  };
221  $c["ui.factory.input.container"] = function ($c) {
223  $c["ui.factory.input.container.form"],
224  $c["ui.factory.input.container.filter"],
225  $c["ui.factory.input.container.viewcontrol"]
226  );
227  };
228  $c["ui.factory.input.container.form"] = function ($c) {
230  $c["ui.factory.input.field"]
231  );
232  };
233  $c["ui.factory.input.container.filter"] = function ($c) {
235  $c["ui.signal_generator"],
236  $c["ui.factory.input.field"]
237  );
238  };
239  $c["ui.factory.input.container.viewcontrol"] = function ($c) {
241  $c["ui.signal_generator"],
242  $c["ui.factory.input.viewcontrol"],
243  );
244  };
245  $c["ui.factory.input.viewcontrol"] = function ($c) {
247  $c["ui.factory.input.field"],
248  $c["ui.data_factory"],
249  $c["refinery"],
250  $c["ui.signal_generator"],
251  $c["lng"],
252  );
253  };
254  $c["ui.factory.dropzone.file"] = function ($c) {
256  $c["ui.signal_generator"],
257  $c["ui.factory.input.field"],
258  );
259  };
260  $c["ui.factory.panel.listing"] = function ($c) {
262  };
263  $c["ui.renderer"] = function ($c) {
265  $c["ui.component_renderer_loader"]
266  );
267  };
268  $c["ui.component_renderer_loader"] = function ($c) {
270  new ILIAS\UI\Implementation\Render\LoaderResourceRegistryWrapper(
271  $c["ui.resource_registry"],
272  new ILIAS\UI\Implementation\Render\FSLoader(
273  new ILIAS\UI\Implementation\Render\DefaultRendererFactory(
274  $c["ui.factory"],
275  $c["ui.template_factory"],
276  $c["lng"],
277  $c["ui.javascript_binding"],
278  $c["refinery"],
279  $c["ui.pathresolver"],
280  $c["ui.data_factory"],
281  $c["help.text_retriever"],
282  $c["ui.upload_limit_resolver"]
283  ),
284  new ILIAS\UI\Implementation\Component\Symbol\Glyph\GlyphRendererFactory(
285  $c["ui.factory"],
286  $c["ui.template_factory"],
287  $c["lng"],
288  $c["ui.javascript_binding"],
289  $c["refinery"],
290  $c["ui.pathresolver"],
291  $c["ui.data_factory"],
292  $c["help.text_retriever"],
293  $c["ui.upload_limit_resolver"]
294  ),
295  new ILIAS\UI\Implementation\Component\Symbol\Icon\IconRendererFactory(
296  $c["ui.factory"],
297  $c["ui.template_factory"],
298  $c["lng"],
299  $c["ui.javascript_binding"],
300  $c["refinery"],
301  $c["ui.pathresolver"],
302  $c["ui.data_factory"],
303  $c["help.text_retriever"],
304  $c["ui.upload_limit_resolver"]
305  ),
306  new ILIAS\UI\Implementation\Component\Input\Field\FieldRendererFactory(
307  $c["ui.factory"],
308  $c["ui.template_factory"],
309  $c["lng"],
310  $c["ui.javascript_binding"],
311  $c["refinery"],
312  $c["ui.pathresolver"],
313  $c["ui.data_factory"],
314  $c["help.text_retriever"],
315  $c["ui.upload_limit_resolver"]
316  )
317  )
318  )
319  );
320  };
321  $c["ui.template_factory"] = function ($c) {
323  };
324  $c["ui.resource_registry"] = function ($c) {
326  };
327  $c["ui.javascript_binding"] = function ($c) {
329  };
330 
331  $c["ui.factory.tree"] = function ($c) {
333  };
334 
335  $c["ui.factory.legacy"] = function ($c) {
336  return new ILIAS\UI\Implementation\Component\Legacy\Factory($c["ui.signal_generator"]);
337  };
338 
339  $c["ui.pathresolver"] = function ($c): ILIAS\UI\Implementation\Render\ImagePathResolver {
340  return new ilImagePathResolver();
341  };
342 
343  $c["ui.factory.launcher"] = function ($c): ILIAS\UI\Implementation\Component\Launcher\Factory {
345  $c["ui.factory.modal"]
346  );
347  };
348 
349  $c["ui.factory.entity"] = function ($c) {
351  };
352 
353  // currently this is will be a session storage because we cannot store
354  // data on the client, see https://mantis.ilias.de/view.php?id=38503.
355  $c["ui.storage"] = function ($c): ArrayAccess {
356  return new class () implements ArrayAccess {
357  public function offsetExists(mixed $offset): bool
358  {
359  return ilSession::has($offset);
360  }
361  public function offsetGet(mixed $offset): mixed
362  {
363  return ilSession::get($offset);
364  }
365  public function offsetSet(mixed $offset, mixed $value): void
366  {
367  if (!is_string($offset)) {
368  throw new InvalidArgumentException('Offset needs to be of type string.');
369  }
370  ilSession::set($offset, $value);
371  }
372  public function offsetUnset(mixed $offset): void
373  {
374  ilSession::clear($offset);
375  }
376  };
377  };
378  }
static get(string $a_var)
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This is how the factory for UI elements looks.
Definition: Factory.php:37
static has($a_var)
Builds data types.
Definition: Factory.php:35
static getPhpUploadSizeLimitInBytes()
This is what a factory for layouts looks like.
Definition: Factory.php:26
static clear(string $a_var)
static set(string $a_var, $a_val)
Set a value.
This is how a factory for buttons looks like.
Definition: Factory.php:29
+ Here is the call graph for this function:

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