ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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 $c, ilSession\clear(), ilSession\get(), ilFileUtils\getUploadSizeLimitBytes(), 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  );
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  }
static get(string $a_var)
Class Factory.
$c
Definition: cli.php:38
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getUploadSizeLimitBytes()
This is how the factory for UI elements looks.
Definition: Factory.php:37
static has($a_var)
Builds data types.
Definition: Factory.php:20
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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 describes the factory for (view-)controls.
Definition: Factory.php:26
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: