Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » DokuWiki-Erweiterungen (WvdS) » FluentUI (Design-System-Bibliothek) » FluentUI: Komponenten-Referenzen » FluentUI: Kernbildschirme

FluentUI: Kernbildschirme

Zurück: Komponenten-Referenzen

Drei Bildschirme des DokuWiki-Kerns zeichnet wkfluentui mit seinen eigenen Bausteinen: die Medienverwaltung, das Medien-Popup des Editors und die Kernformulare. Aktionen, Adressen und Berechtigungsprüfungen bleiben die des Kerns; es wechselt nur die Darstellung.

Nicht darunter: das Abonnement (do=subscribe). Es ist auf dieser Installation abgeschaltet ($conf['subscribers'] = 0), der Menüpunkt erscheint nicht. Wer es einschaltet, bekommt den Abo-Bildschirm des Kerns, den der Bausatz nicht zeichnet, und schaltet zugleich den E-Mail-Versand an Abonnenten ein. Vor dem Einschalten muss deshalb die Bausatz-Fassung gebaut und am laufenden Wiki abgenommen werden.

Medienverwaltung (do=media)

Signatur

doku.php?do=media[&ns=…][&image=…][&tab_files=…][&tab_details=…][&list=…][&sort=…]

Übernommen über das Ereignis TPL_ACT_RENDER in action/mediascreen.php; an die Stelle von tpl_media() tritt eine Werkbank.

Zusammenfassung

Die Medienverwaltung als Werkbank: der Namensraumbaum in der Seitenleiste, die Dateien des Namensraums im Inhalt, die gewählte Datei in der Nebenleiste.

Parameter

Parameter Werte Bedeutung
ns Namensraum der gezeigte Namensraum
image Medien-ID die gewählte Datei; öffnet die Nebenleiste
tab_files files · search Dateiliste oder Suchergebnis
tab_details view · edit · history Reiter der gewählten Datei: Ansicht, Metadaten, Verlauf
list thumbs · rows Kacheln oder Zeilen
sort name · date Sortierung der Dateiliste
mediado searchlist · update · save · restore · diff Aktion des Kerns: suchen, Datei ersetzen, Metadaten speichern, Version wiederherstellen, zwei Versionen vergleichen
q Text Suchbegriff, mit mediado=searchlist
rev Zeitstempel eine frühere Version der Datei
first Zahl Blättern im Verlauf
delete Medien-ID Löschen, mit dem Sicherheitstoken des Kerns
wkconfirm delete der einzige eigene Parameter: zeigt vor dem Löschen die Rückfrage

Anmerkungen

  • Die Aktionen bleiben beim Kern. Hochladen, Metadaten speichern, Wiederherstellen und Löschen laufen in lib/exe/mediamanager.php, mit den Token- und Berechtigungsprüfungen des Kerns. Der Bildschirm zeichnet nur.
  • Die Adressen bleiben die des Kerns. Jeder Verweis entsteht über media_managerURL(). Ein Lesezeichen auf die alte Medienverwaltung öffnet dasselbe, und der Bildschirm ist ohne JavaScript bedienbar.
  • Löschen fragt zurück (confirmPanel()). Eine Datei, die noch auf einer Seite verwendet wird, bietet kein Löschen an und zeigt stattdessen einen Hinweis.
  • Meldungen des Kerns („hochgeladen“, „gelöscht“) erscheinen im Meldungsbereich der Vorlage über dem Bildschirm.
  • Metadaten lassen sich wie im Kern nur für JPEG-Bilder bearbeiten.
  • Umbenennen gibt es nicht; der Kern kann Mediendateien nicht umbenennen.
  • Baumebenen laden nach: lib/exe/ajax.php?call=plugin_wkfluentui_medienbaum&ns=…&id=… liefert eine Ebene als HTML und antwortet auf einen Namensraum ohne Leserecht mit 403. Scheitert das Laden, erscheint eine Hinweiszeile, und der nächste Klick auf den Knoten lädt neu.
  • Rückfall: Fehlt ein benötigter Baustein, zeichnet der Kern seine eigene Medienverwaltung – nie einen halben Bildschirm.

Beispiel

doku.php?do=media&ns=wiki&list=rows&sort=date
doku.php?do=media&ns=wiki&image=wiki:dokuwiki-128.png&tab_details=history

Zusammensetzung

workbench() mit auxbarOpen · tree() mit Nachladen · dataGrid() als Kacheln oder Zeilen · fileUploader() mit upload.multiple und upload.doneUrl · propertyGrid() · confirmPanel() · toolbar() · modal()

Medien-Popup des Editors (lib/exe/mediamanager.php)

Signatur

lib/exe/mediamanager.php?ns=…&edid=…[&onselect=…][&einfuegen=…][&uilang=…]

Die Vorlage wkbizway ruft in ihrer mediamanager.php die Methode popup() von action_plugin_wkfluentui_mediascreen auf, nachdem der Kern seine Aktionen ausgeführt hat.

Zusammenfassung

Dieselbe Werkbank wie die Medienverwaltung, im Fenster des Medien-Knopfs der Editor-Werkzeugleiste, mit „Einfügen“ als Befehl.

Parameter

Alle Parameter der Medienverwaltung außer do, dazu:

Parameter Werte Bedeutung
edid Feld-ID das Textfeld des Editors, in das eingefügt wird; Vorgabe des Kerns wiki__text
onselect Funktionsname der Rückruf im Editor-Fenster; Vorgabe des Kerns dw_mediamanager_item_select
einfuegen Medien-ID zeigt das Einfügeformular für diese Datei
uilang Sprachcode die Sprache, in der das Popup geöffnet wurde; wird mitgetragen und nie gemerkt

Anmerkungen

  • Eingefügt wird über den Kern. scripts/mediainsert.js übergibt die Antworten an dw_mediamanager.insert(). Die eingefügte Syntax ist die des Kerns, zum Beispiel {{ :wiki:dokuwiki-128.png?200|}}.
  • Das Einfügeformular fragt bei JPG-, PNG- und GIF-Bildern nach Verweis, Ausrichtung und Größe, dazu „Fenster offen lassen“. Die Antworten stehen in denselben Cookie-Werten wie beim Kern (link, align, size, keepopen); das nächste Popup öffnet mit derselben Wahl. Andere Dateien, auch SVG und PDF, werden sofort eingefügt. Bei „nur Verweis“ entfallen Ausrichtung und Größe.
  • Die Befehle bleiben sichtbar. Die Befehlszeile eines Formulars haftet am unteren Rand des scrollenden Dialogs; das gilt für jedes modal().
  • Der Namensraumbaum bleibt angedockt bis 600px Fensterbreite (sidebarDocked); das Popup öffnet mit 750×500.
  • Sprache: Das Popup folgt dem gezeigten Namensraum. Nennt dieser keine Sprache, bleibt es in der Sprache, in der es geöffnet wurde (uilang). Eine ausdrücklich gewählte Sprache gewinnt immer. Die Regel liegt in wki18n.
  • Ohne JavaScript kann nichts eingefügt werden; das Formular sagt das in einer eigenen Zeile.
  • Ohne Editor – das Fenster wurde allein geöffnet oder der Editor ist geschlossen – erscheint eine Meldung statt eines Skriptfehlers.
  • Rückfall: Ohne wkfluentui zeichnet die Vorlage das Popup des Kerns.

Beispiel

lib/exe/mediamanager.php?ns=sl:wiki:dwe&edid=wiki__text
lib/exe/mediamanager.php?ns=wiki&edid=wiki__text&uilang=sl&einfuegen=wiki:dokuwiki-128.png

Zusammensetzung

Die Bausteine der Medienverwaltung, dazu workbench() mit sidebarDocked · modal() · radioGroup() mit layout horizontal · checkbox()

Kernformulare (coreform)

Signatur

helper_plugin_wkfluentui_coreform::render(\dokuwiki\Form\Form $form, ?string $eventName = null, array $opts = []): string

Für ein Formular, dessen Teile in zwei Regionen stehen, dieselbe Arbeit in Schritten: trigger(), formOpen(), elements(), formClose().

Zusammenfassung

Zeichnet ein Form-Objekt des Kerns mit den Feldern und Knöpfen des Bausatzes, ohne die Beiträge anderer Plugins zu verlieren.

Parameter

Parameter Typ Bedeutung
$form \dokuwiki\Form\Form das Formular des Kerns
$eventName Zeichenkette oder null der Kurzname wie bei Form::toHTML(), z. B. UpdateProfile; löst FORM_<NAME>_OUTPUT aus. null nur für ein Formular, zu dem nie ein anderes Plugin beitragen konnte
$opts['class'] Zeichenkette zusätzliche Klassen am <form>-Element
$opts['legends'] bool false unterdrückt die Legenden der Fieldsets, wenn der Aufrufer den Abschnitt schon benennt
$opts['fields'] Array Überschreibungen je Feldname, z. B. ['newpass' => ['autocomplete' => 'new-password']]
$opts['from'], $opts['to'] Zahl Bereich der Elemente (to einschließlich); nur über elements()

Rückgabe: das HTML des Formulars, oder eine leere Zeichenkette, wenn es sich nicht sicher zeichnen lässt – dann fällt der Aufrufer auf den Kern zurück.

Anmerkungen

  • Das Ereignis feuert wie im Kern, an derselben Stelle wie in Form::toHTML(). Was andere Plugins in das Formular hängen – die Zwei-Faktor-Felder von wkidentity im Profil, die Blog-Felder von wkblog im Editor – bleibt erhalten.
  • Ein Element, das die Klasse nicht kennt, zeichnet sich selbst (Element::toHTML()). Ein Formular verliert so nie ein Feld; es sieht höchstens an dieser Stelle anders aus.
  • Die Vorbelegung bleibt die des Kerns. Nach einem abgelehnten Absenden stehen die Werte wieder in den Feldern: toHTML() läuft zuerst, danach liest die Klasse die Attribute.
  • Auswahlgruppen: Die Legende eines Abschnitts wird der zugängliche Name der Optionsgruppe darin.
  • Verbraucher: das Profil (do=profile, Ereignis UpdateProfile), der Editor (do=edit, Ereignis Edit, Teile in zwei Regionen) und die Suche (do=search).

Beispiel

$cf = plugin_load('helper', 'wkfluentui_coreform');
$html = $cf->render($form, 'UpdateProfile', [
    'legends' => false,
    'fields'  => ['oldpass' => ['autocomplete' => 'current-password']],
]);

Zusammensetzung

Eingabefelder: textBox() · passwordBox() · textArea() · comboBox() · checkbox() · radioGroup() · button() · hiddenField()

de/wiki/dwe/wkfluentui/component/core-screens.txt · Zuletzt geändert: von 0.0.0.0