ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
UI.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS;
22 
23 class UI implements Component\Component
24 {
25  public function init(
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,
34  ): void {
35  $contribute[Component\Resource\PublicAsset::class] = fn() =>
36  new Component\Resource\ComponentJS($this, "js/Button/button.js");
37  $contribute[Component\Resource\PublicAsset::class] = fn() =>
38  new Component\Resource\ComponentJS($this, "js/Chart/Bar/dist/bar.js");
39  $contribute[Component\Resource\PublicAsset::class] = fn() =>
40  new Component\Resource\ComponentJS($this, "js/Core/dist/core.js");
41  $contribute[Component\Resource\PublicAsset::class] = fn() =>
42  new Component\Resource\ComponentJS($this, "js/Counter/dist/counter.js");
43  $contribute[Component\Resource\PublicAsset::class] = fn() =>
44  new Component\Resource\ComponentJS($this, "js/Dropdown/dist/dropdown.js");
45 
46  $contribute[Component\Resource\PublicAsset::class] = static fn() =>
47  new Component\Resource\NodeModule("dropzone/dist/min/dropzone.min.js");
48  $contribute[Component\Resource\PublicAsset::class] = fn() =>
49  new Component\Resource\ComponentJS($this, "js/Dropzone/File/dropzone.js");
50 
51  $contribute[Component\Resource\PublicAsset::class] = fn() =>
52  new Component\Resource\ComponentJS($this, "js/Image/dist/image.min.js");
53  $contribute[Component\Resource\PublicAsset::class] = fn() =>
54  new Component\Resource\ComponentJS($this, "js/Input/Container/dist/filter.js");
55  $contribute[Component\Resource\PublicAsset::class] = fn() =>
56  new Component\Resource\ComponentJS($this, "js/Input/Field/dist/input.factory.min.js");
57  $contribute[Component\Resource\PublicAsset::class] = fn() =>
58  new Component\Resource\ComponentJS($this, "js/Input/Field/file.js");
59  $contribute[Component\Resource\PublicAsset::class] = fn() =>
60  new Component\Resource\ComponentJS($this, "js/Input/Field/input.js");
61  $contribute[Component\Resource\PublicAsset::class] = fn() =>
62  new Component\Resource\ComponentJS($this, "js/Input/Field/tagInput.js");
63  $contribute[Component\Resource\PublicAsset::class] = fn() =>
64  new Component\Resource\ComponentJS($this, "js/Item/dist/notification.js");
65  $contribute[Component\Resource\PublicAsset::class] = fn() =>
66  new Component\Resource\ComponentJS($this, "js/MainControls/dist/mainbar.js");
67  $contribute[Component\Resource\PublicAsset::class] = fn() =>
68  new Component\Resource\ComponentJS($this, "js/MainControls/dist/maincontrols.min.js");
69  $contribute[Component\Resource\PublicAsset::class] = fn() =>
70  new Component\Resource\ComponentJS($this, "js/MainControls/system_info.js");
71  $contribute[Component\Resource\PublicAsset::class] = fn() =>
72  new Component\Resource\ComponentJS($this, "js/Menu/dist/drilldown.js");
73  $contribute[Component\Resource\PublicAsset::class] = fn() =>
74  new Component\Resource\ComponentJS($this, "js/Modal/dist/modal.min.js");
75  $contribute[Component\Resource\PublicAsset::class] = fn() =>
76  new Component\Resource\ComponentJS($this, "js/Prompt/dist/prompt.min.js");
77  $contribute[Component\Resource\PublicAsset::class] = fn() =>
78  new Component\Resource\ComponentJS($this, "js/Page/stdpage.js");
79  $contribute[Component\Resource\PublicAsset::class] = fn() =>
80  new Component\Resource\NodeModule("webui-popover/dist/jquery.webui-popover.min.js");
81  $contribute[Component\Resource\PublicAsset::class] = fn() =>
82  new Component\Resource\ComponentJS($this, "js/Popover/popover.js");
83  $contribute[Component\Resource\PublicAsset::class] = fn() =>
84  new Component\Resource\ComponentJS($this, "js/Table/dist/table.min.js");
85  $contribute[Component\Resource\PublicAsset::class] = fn() =>
86  new Component\Resource\ComponentJS($this, "js/Toast/toast.js");
87  $contribute[Component\Resource\PublicAsset::class] = fn() =>
88  new Component\Resource\ComponentJS($this, "js/Tree/tree.js");
89  $contribute[Component\Resource\PublicAsset::class] = fn() =>
90  new Component\Resource\ComponentJS($this, "js/ViewControl/dist/viewcontrols.min.js");
91  $contribute[Component\Resource\PublicAsset::class] = fn() =>
92  new Component\Resource\OfComponent($this, "images", "assets");
93  $contribute[Component\Resource\PublicAsset::class] = fn() =>
94  new Component\Resource\OfComponent($this, "fonts", "assets");
95  $contribute[Component\Resource\PublicAsset::class] = fn() =>
96  new Component\Resource\OfComponent($this, "ui-examples", "assets");
97  $contribute[Component\Resource\PublicAsset::class] = static fn() =>
98  new Component\Resource\NodeModule("@yaireo/tagify/dist/tagify.min.js");
99  $contribute[Component\Resource\PublicAsset::class] = static fn() =>
100  new Component\Resource\NodeModule("@yaireo/tagify/dist/tagify.css");
101  $contribute[Component\Resource\PublicAsset::class] = static fn() =>
102  new Component\Resource\NodeModule("chart.js/dist/chart.umd.js");
103  $contribute[Component\Resource\PublicAsset::class] = fn() =>
104  new Component\Resource\ComponentJS($this, "js/Progress/dist/progress.min.js");
105  $contribute[Component\Resource\PublicAsset::class] = fn() =>
106  new Component\Resource\ComponentJS($this, "js/MainControls/dist/footer.min.js");
107  /*
108  those are contributed by MediaObjects
109  $contribute[Component\Resource\PublicAsset::class] = fn() =>
110  new Component\Resource\NodeModule("mediaelement/build/mediaelement-and-player.min.js");
111  $contribute[Component\Resource\PublicAsset::class] = fn() =>
112  new Component\Resource\NodeModule("./node_modules/mediaelement/build/mediaelementplayer.min.css");
113  */
114  /* This library was missing after discussing dependencies for ILIAS 10
115  $contribute[Component\Resource\PublicAsset::class] = fn() =>
116  new Component\Resource\NodeModule("mediaelement/build/renderers/vimeo.min.js");
117  */
118 
119 
120 
121  // This is included via anonymous classes as a testament to the fact, that
122  // the templates-folder should probably be moved to some component.
123  $contribute[Component\Resource\PublicAsset::class] = static fn() => new class () implements Component\Resource\PublicAsset {
124  public function getSource(): string
125  {
126  return "templates/default/delos.css";
127  }
128  public function getTarget(): string
129  {
130  return "assets/css/delos.css";
131  }
132  };
133  $contribute[Component\Resource\PublicAsset::class] = static fn() => new class () implements Component\Resource\PublicAsset {
134  public function getSource(): string
135  {
136  return "templates/default/delos_cont.css";
137  }
138  public function getTarget(): string
139  {
140  return "assets/css/delos_cont.css";
141  }
142  };
143  }
144 }
Interface Observer Contains several chained tasks and infos about them.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An public asset is a file or folder that should be served via the web.
Definition: PublicAsset.php:26
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,)
Definition: UI.php:25
This is a js file provided by some component.
Definition: ComponentJS.php:26
Some distributable file created by npm.
Definition: NodeModule.php:26
An public asset that is a resource of some component.
Definition: OfComponent.php:26