Modul:Faktenbox/Doku: Unterschied zwischen den Versionen

(1st go live)
 
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{IstKlasse|Faktenbox}}
Dieses Modul enthält gemeinsame Funktionen, um eine Faktenbox zu füllen
Dieses Modul enthält gemeinsame Funktionen, um eine Faktenbox zu füllen


== <code>zeile()</code> ==
== Funktionen [[Modul:Faktenbox]] ==
Standard-Zeile um Attribut <code>attr</code> mit Werte-table oder Einzelwert <code>val</code> zu setzen und anzuzeigen.
 
Anstelle <code>attr</code> kann optional der Text <code>attrText</code> angezeigt werden.
=== <code>Faktenbox()</code> ===
Universelle Faktenbox ohne Formular/Klasse/Gebäude.
Sie kann als zusätzliche Faktenboxen auf einer Seite eingebaut werden ähnlich [[Vorlage:Tabbox]].
Sie setzt ebenso Attribute wie die regulären Faktenboxen z.B. von Gebäuden, Straßen, Personen usw.
 
== Funktionen [[Modul:Faktenbox/Tabs]] ==
 
=== <code>universalDatenTab()</code> ===
Universeller Daten-Tab zeigt alle seine übergebenen Parameter außer die für Karte und Bild an.
 
=== <code>bildTab()</code> ===
Selbsterklärend...
 
=== <code>benennungenTab()</code> ===
Tab mit Liste der Benennungen.
 
=== <code>tab()</code> ===
Vervollständigt Tab-Inhalt zu einem Tab.
 
== Funktionen [[Modul:Faktenbox/Tabs/Karte]] ==
 
=== <code>kartenTab()</code> ===
Selbsterklärend...
 
=== <code>getKartenArgs()</code> ===
Karten-Argumente übernehmen und aufbereiten.
 
== Funktionen [[Modul:Faktenbox/Tabs/Adressen]] ==
 
=== <code>adressenTab()</code> ===
Tab mit Liste der Adressen.
Die Adressen werden bestmöglich chronologisch aufsteigend sortiert.
 
=== <code>p.sortIndex() und p.smwDate2SortIndex()</code> ===
Erstellen Sortierindizes anhand Datum und Schlüsselwörtern (z.B. Geburtshaus ganz oben) für chronologische Sortierung.
 
== Funktionen [[Modul:Faktenbox/Zeilen]] ==


== <code>zeileKategorieSeite()</code> ==
=== <code>zeileKategorieSeite()</code> ===
Diese Zeile ist die oberste Zeile eines Daten-Tabs, welche nochmal den Namen des Objekts und einen Link zur Klassen-Kategorie anzeigt und das [[Attribut:Seite]] setzt.
Diese Zeile ist die oberste Zeile eines Daten-Tabs, welche nochmal den Namen des Objekts und einen Link zur Klassen-Kategorie anzeigt und das [[Attribut:Seite]] setzt.


== <code>zeileStrasseHnr()</code> ==
=== <code>zeileStrasseHnr()</code> ===
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:Straße]], [[Attribut:Hausnummer]] und [[Attribut:StraßeHnr]] zu setzen und anzuzeigen.
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:Straße]], [[Attribut:Hausnummer]], [[Attribut:StraßeHnr]] und [[Attribut:AnzahlGebäude]] zu setzen und anzuzeigen.


== <code>zeilenDenkmalschutz()</code> ==
=== <code>zeileAktenNr()</code> ===
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:DenkmalstatusBesteht]] und [[Attribut:AktenNr]] zu setzen und anzuzeigen.
Wie <code>zeile(attr, attrText, val)</code>, aber speziell ausgrichtet, um [[Attribut:AktenNr]] zu setzen und anzuzeigen.
Die AktenNr werden als Query-Link und mit Seitenanzahl mit dieser AktenNr angezeigt.
Die AktenNr werden als Query-Link und mit Seitenanzahl mit dieser AktenNr angezeigt.


== <code>zeileGeokoordinate()</code> ==
=== <code>zeileGeoDaten()</code> ===
Zeile um alle [[Attribut:Geokoordinate]] mit OSM-Link zu anzuzeigen.
Zeile um alle [[Attribut:Geokoordinate]]n mit OSM-Link und die [[Attribut:GeoJson]]-Karte zu anzuzeigen.


== <code>faktenboxSemantikBrowsen()</code> ==
=== <code>zeileDatum()</code> ===
Zeile mit Link zum semantischen Browsen (Datensicht).
Zeile um ein Datum standardisiert per <code>linkFormDate()</code> anzuzeigen.


== <code>bildTab()</code> ==
=== <code>zeileSemantikBrowsenAbfrage()</code> ===
Selbsterklärend...
Zeile mit Link zum semantischen Browsen (Datensicht) und zur Abfrage.
 
=== <code>zeile()</code> ===
Standard-Zeile um ein Attribut zu setzen und anzuzeigen.
Wenn es sich beim Attribut-Wert um eine Liste mit mehreren Elementen handelt, wird vom Attribut-Anzeigetext automatisch die Mehrzahl gebildet.
{| class="wikitable"
|-
! Parameter !! Beschreibung
|-
| <code>attr_name</code> || Attribut-Name
|-
| <code>attr_text</code> || Optionaler Attribut-Anzeigetext. Default: <code>attr_name</code>. Siehe auch [[#attr_text_anzeige|<code>attr_text_anzeige</code>]]
|-
| <code>attr_val</code> || Attribut-Wert. Wenn nicht übergeben, werden die von der #invoke:-Vorlage übergegebenen Parameter (<code>fbdata.pargs</code>) verwendet.
|-
| <code>fbdata</code> || [[#fbdata-Daten-table|fbdata-Daten-table]] mit von der #invoke:-Vorlage übergegebenen Parameter (<code>fbdata.pargs</code>).
|-
| <code>delimiter</code> || Trennzeichen bei Werte-Listen. Bei Nicht-Übergabe wird Attribut-Wert auch nicht als Liste behandelt.
|-
| <code>val_prefix</code> || Attribut-Wert-Prefix z.B. "ca."
|-
| <code>val_postfix</code> || Attribut-Wert-Postfix z.B. "km"
|-
| <code>val_show_only</code> || Attribut-Wert nur anzeigen, aber nicht setzen
|}
 
=== <code>setPageAttr()</code> ===
Setzen eines Attributs vom Datentyp Seite in folgender Prüf- und Setzreihenfolge:
# ''Wenn'' <code>val</code> problematische Wikitext/HTML-Inhalte enthält, dann wird
#* <code>val</code> 1:1 angezeigt und ggf. gerendert (nicht innerhalb <code><nowiki>[[Attribut::Wert]]</nowiki></code>)
#* Attribut <code>name</code> mit <code>val</code> per <code><nowiki>{{#set:Attribut=Wert}}</nowiki></code> unsichtbar im Hintergrund gesetzt, auch wenn das Verarbeitungsfehler provoziert (gewollt)
# ''Ansonsten wenn'' <code>val</code> als Seite existiert, wird diese 1:1 gesetzt und angezeigt (<code><nowiki>[[Attribut::Wert]]</nowiki></code>)
# ''Ansonsten wenn'' <code>val</code> Klammerungen am Anfang oder am Ende enthält (Beispiel: "(BlaBlub) Rathaus (BlaBla)"), wird geprüft, ob eine Seite ohne die Klammerungen (also [[Rathaus]]) existiert. Wenn ja, wird "(BlaBlub) [[Rathaus]] (BlaBla)" angezeigt und das Attribut mit nur "[[Rathaus]]" gesetzt.
# ''Ansonsten wird''
#* <code>val</code> 1:1 angezeigt und ggf. gerendert (nicht innerhalb <code><nowiki>[[Attribut::Wert]]</nowiki></code>)
#* Attribut <code>name</code> mit <code>val</code> per <code><nowiki>{{#set:Attribut=Wert}}</nowiki></code> unsichtbar im Hintergrund gesetzt, auch wenn das Verarbeitungsfehler provoziert (gewollt)
 
=== <code>setStandardAttr()</code> ===
Setzen eines Standard-Attributs (nicht Datentyp Seite).
Klammerwerte werden optional abgetrennt und Attribut-Wert wird optional nur angezeigt, aber nicht gesetzt.
 
== Funktionen [[Modul:Faktenbox/Common]] ==


== <code>common()</code> ==
=== <code>common()</code> ===
Sonstige gemeinsame Dinge anfügen
Sonstige gemeinsame Dinge anfügen
* Klasse
* Formular
* Formular
* Kategorien
* Kategorien
* Wartung
* Wartung
=== <code>fbdata()</code> ===
Erstellt Faktenbox-Daten-Tabelle.
== <code>fbdata</code>-Daten-table ==
Um die Parameter-Übergabe zu obigen Funktionen zu vereinfachen wird die <code>fbdata</code>-Daten-table verwendet, in der folgende Daten abgelegt werden:
* <code>fbdata.frame</code> = <code>frame</code> von <code>Faktenbox(frame)</code>
* <code>fbdata.pargs</code> = <code>frame:getParent().args</code>. Beispiel: <code>fbdata.pargs["Ehemals"]</code> oder <code>fbdata.pargs.Ehemals</code>
* <code>fbdata.klasse</code> Klassen-table. Beispiel Kirche: <code>fbdata.klasse = {"Kirche", "Gebäude"}</code> ("Kirche" ist primäre und "Gebäude" sekundäre Klasse)
* <code>fbdata.kategorie</code> Kategorien-table. Beispiel Kirche: <code>fbdata.kategorie = {"Kirchen", "Gebäude"}</code> ("Kirchen" ist primäre und "Gebäude" sekundäre Kategorie)
* <code>fbdata.kategorie_einzahl</code> Einzahl-Kategorien-table als Alternative zu <code>fbdata.klasse</code>. Beispiel Kirche: <code>fbdata.kategorie_einzahl = {"Kirche", "Gebäude"}</code> ("Kirche" ist primäre und "Gebäude" sekundäre Kategorie)
* <code>fbdata.formular</code> Formular
* Pagesnames
** <code>frame.fullpagename</code>
** <code>frame.pagename</code>
** <code>frame.subpagename</code>
* <code>frame.strasse_hnr</code> Untertabelle für Straße/Hausnummer-Daten
** <code>frame.strasse_hnr.strasse</code> Untertabelle für Straßen
*** <code>frame.strasse_hnr.strasse.name</code> Straßenname
*** <code>frame.strasse_hnr.strasse.hausnummer</code> Hausnummern-table dieser Straße
*** <code>frame.strasse_hnr.strasse.suspekt</code> Suspekte Formular-Werte dieser Straße
** <code>frame.strasse_hnr.suspekt </code> Suspekte Formular-Werte aller Straßen
** <code>frame.strasse_hnr.anzahlGebaeude  </code> Anzahl aller gültigen Straße/Hausnummer-Kombinationen
* Ggf. weitere Klassen-abhängige Einträge
== <code>attr_text_anzeige</code> ==
Sofern kein [[#zeile()|<code>attr_text</code>]] angegeben, wird i. A. <code>attr_name</code> angezeigt.
Jedoch wird bei manchen <code>attr_name</code>-Attributen stattdessen automatisch die ausgeschriebene Version angezeigt.
Beispiel: Beim [[Attribut:TeilDesEnsembles]] wird anhand der table <code>attr_text_anzeige</code> "Teil des Ensembles" angezeigt.
Diese Übersetzung von <code>attr_name</code> zur Anzeige-Version ist in <code>attr_text_anzeige</code> abgelegt und erfolgt global bei allen Faktenboxen.


== Unterseiten ==
== Unterseiten ==
Zeile 35: Zeile 147:
<div style="column-count:3">
<div style="column-count:3">
* [[Modul:Common]]
* [[Modul:Common]]
* [[Modul:Development]]
* [[Modul:String]]
* [[Modul:String]]
* [[Modul:Wiki]]
* [[Modul:Wiki]]
* [[Modul:Geocode]]
* [[Modul:Geo]]
* [[Modul:Queries]]
* [[Modul:Queries]]
* [[Modul:LinkFormDatum]]
</div>
</div>