Wiki-Quellcode von Menüeinträge (Verwaltungsoberfläche)
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{figure image="plugin_menu_entries_de.png"}} | ||
2 | Neue Menüeinträge per Plugin. | ||
3 | {{/figure}} | ||
4 | |||
5 | Um neue Menüeinträge in {{formcycle/}}-Verwaltungsoberfläche zu integrieren, muss eine Klasse das Interface {{jpath path="de.xima.fc.plugin.interfaces.backend.IPluginMenuEntries"/}} implementieren. | ||
6 | |||
7 | {{panel title="{{code language='java'~}~}Collection<IPluginMenuEntry> getMenuEntries(IPluginMenuEntriesParams params){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
8 | Methode für die Bereitstellung der Menüeinträge.<br><br> | ||
9 | **Übergabewert:** {{jpath path="de.xima.fc.interfaces.plugin.param.backend.IPluginMenuEntriesParams"/}}<br> | ||
10 | Pluginparameter, die den aktuellen Mandanten und Benutzer bereitstellen.<br><br> | ||
11 | **Rückgabewert:** {{jpath path="de.xima.fc.interfaces.plugin.retval.backend.IPluginMenuEntry"/}}<br> | ||
12 | Eine Collection der Menüeinträgen des Plugins. | ||
13 | {{/panel}} | ||
14 | |||
15 | In den einzelnen zurück gegebenen Menüeinträgen ({{jpath path="de.xima.fc.interfaces.plugin.retval.backend.IPluginMenuEntry"/}}) gibt es eine Reihe von Methoden, welche den jeweiligen Menüeintrag definieren: | ||
16 | |||
17 | {{panel title="{{code language='java'~}~}String getText(Locale locale){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
18 | Methode für die Bereitstellung des Namens des Menüeintrags. Hierfür sollte das übergebene **Locale** verwendet werden. | ||
19 | {{/panel}} | ||
20 | |||
21 | {{panel title="{{code language='java'~}~}String getIcon(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
22 | Methode für die Bereitstellung des Menüeintragicons, welches als Styleclass zurückgegeben werden muss. Z.B.: //fa-users// für ein Benutzericon von Font Awesome. | ||
23 | {{/panel}} | ||
24 | |||
25 | {{panel title="{{code language='java'~}~}String getTargetURL(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
26 | Methode für die Bereitstellung der XHTML-Seite auf, welche der Menüeintrag verweisen soll. Hierfür muss der Pfad zur XHTML-Datei relativ zum Ressourcepfad des Java Archive (src/main/resources) angegeben werden. Z.B.: //protected/user.xhtml// für eine Datei die sich unter //src/main/resources/protected/user.xhtml// im Java Archive befindet. | ||
27 | {{/panel}} | ||
28 | |||
29 | {{panel title="{{code language='java'~}~}boolean isOpenNewWindow(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
30 | Gibt an, ob die Seite in einem neun Tab geöffnet werden soll. | ||
31 | {{/panel}} | ||
32 | |||
33 | {{panel title="{{code language='java'~}~}EPluginMenuTargetType getTargetType(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
34 | Der Targettyp gibt, wie die Target-URL ausgewertet wird. Es gibt folgende Targettypen:<br> | ||
35 | **PORTAL:** Der Targetpfad ist relativ zum Portalkontext (siehe [[Portalplugins>>Formcycle.PluginDevelopment.Types.Portal]]).<br> | ||
36 | **ABSOLUT:** Der Targetpfad ist ein einfacher absoluter Pfad.<br> | ||
37 | **RELATIVE:** Der Targetpfad ist ein einfacher relativer Pfad.<br> | ||
38 | **PARENT:** Bei dem Menüeintrag handelt es sich um einen aufklappbaren Eintrag, welcher Kindereinträge haben kann. | ||
39 | {{/panel}} | ||
40 | |||
41 | {{panel title="{{code language='java'~}~}boolean isShowOnSystemUser(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
42 | Gibt an, ob der Menüeintrag unter den Systemeinstellungen zu finden sein soll. | ||
43 | {{/panel}} | ||
44 | |||
45 | {{panel title="{{code language='java'~}~}boolean isClientScopeOnly(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
46 | Gibt an, ob der Menüeintrag nur dann angezeigt werden soll, wenn ein Mandant ausgewählt ist. | ||
47 | {{/panel}} | ||
48 | |||
49 | {{panel title="{{code language='java'~}~}Collection<IPluginMenuEntry> getChildEntries(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
50 | Methode für die Bereitstellung möglicher Kindeinträge. | ||
51 | {{/panel}} | ||
52 | |||
53 | {{panel title="{{code language='java'~}~}IAccessProperty[] getNeededCustomAccessProperties(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
54 | Alle von dieser Methode zurück gegebenen {{jpath path="de.xima.fc.interfaces.IAccessProperty" /}}s müssen in der [[Benutzerrolle>>Formcycle.UserInterface.UserSettings.Roles]] gesetzt sein, damit der Menüeintrag für den Benutzer sichtbar ist. Über das Interface {{jpath path="de.xima.fc.interfaces.IAccessProperty" /}} können [[eigene Berechtigungen>>Formcycle.PluginDevelopment.Types.AccessProperties]] erstellt werden. | ||
55 | {{/panel}} | ||
56 | |||
57 | {{panel title="{{code language='java'~}~}EAccessProperty[] getNeededAccessProperties(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
58 | Alle von dieser Methode zurück gegebenen {{jpath path="EAccessProperty" /}}s müssen in der [[Benutzerrolle>>Formcycle.UserInterface.UserSettings.Roles]] gesetzt sein, damit der Menüeintrag für den Benutzer sichtbar ist. | ||
59 | {{/panel}} | ||
60 | |||
61 | {{panel title="{{code language='java'~}~}boolean customIsRendered(){{/code~}~}" triggerable="true" fullwidth="true"}} | ||
62 | Methode für die Bereitstellung erweiterter Checks, zum Prüfen ob der Menüeintrag sichtbar sein soll oder nicht. Diese Checks werden **ODER**-verknüpft mit den Checks für //getNeededCustomAccessProperties()// & //getNeededAccessProperties()//. | ||
63 | {{/panel}} |