Zum Hauptinhalt springen

Text & Datum umformen

Umformungshelfer ändern Aufbau oder Inhalt eines Werts — nicht nur sein Aussehen.


Concat

Fügt beliebig viele Werte zu einer Zeichenfolge zusammen.

concat value1 value2 ...

Beispiel

{{concat vessel.name ' — ' portCall.port}}    => Ocean Star — Rotterdam
{{concat 'ETA: ' portCall.eta}} => ETA: 2024-03-10

Coalesce

Gibt den ersten Wert zurück, der nicht null und nicht leer ist. Die Zeichenfolgen null und undefined gelten ebenfalls als leer.

coalesce value1 value2 ...
ArgumentTypBeschreibung
value1, ...anyWerte werden der Reihe nach geprüft; der erste nicht leere kommt zurück.

Beispiel

{{coalesce portCall.berth 'TBA'}}              => TBA  (wenn berth null oder leer ist)
{{coalesce portCall.agent vessel.defaultAgent}} => Maas Bulk Agency
{{coalesce 'Hamburg' 'Rotterdam'}} => Hamburg

Brackets

Setzt einen Wert in runde Klammern, wahlweise mit Text davor und dahinter innerhalb der Klammern.

brackets value prefix suffix
ArgumentTypBeschreibung
valuestringDer Wert, der eingeklammert wird.
prefixstringOptional: Text vor dem Wert, innerhalb der Klammern.
suffixstringOptional: Text nach dem Wert, innerhalb der Klammern.

Beispiel

{{brackets portCall.berth}}              => (Berth 7)
{{brackets portCall.berth 'Berth: '}} => (Berth: 7)
{{brackets cargo.tonnage '' ' MT'}} => (45000 MT)

Replace

Ersetzt jedes Vorkommen einer Teilzeichenfolge durch eine andere.

replace originalText replaceMatch replaceWith
ArgumentTypBeschreibung
originalTextstringDie Zeichenfolge, in der gesucht wird.
replaceMatchstringDie gesuchte Teilzeichenfolge.
replaceWithstringDie Ersatzzeichenfolge.

Beispiel

{{replace portCall.remarks 'TBC' 'Confirmed'}}

Eingabe: 'ETA TBC, berth TBC' → Ausgabe: 'ETA Confirmed, berth Confirmed'


Replace (regulärer Ausdruck)

Wie replace, nur ist das Suchmuster ein regulärer Ausdruck.

regexReplace originalText replaceMatch replaceWith
ArgumentTypBeschreibung
originalTextstringDie Zeichenfolge, in der gesucht wird.
replaceMatchstringRegulärer Ausdruck als Suchmuster.
replaceWithstringDie Ersatzzeichenfolge.

Beispiel

{{regexReplace portCall.berth '[0-9]+' 'TBA'}}

Eingabe: 'Berth 12' → Ausgabe: 'Berth TBA'


Substring

Schneidet einen Teil einer Zeichenfolge heraus, über Startposition und optionale Länge.

substring startIndex length
ArgumentTypBeschreibung
startIndexnumberStartposition, ab 0 gezählt.
lengthnumberOptional: Anzahl Zeichen. Weglassen, um bis zum Ende zu gehen.

Beispiel

{{substring vessel.imoNumber 2 7}}    => 9876543  (Zeichen 2–8 von 'IMO9876543')
{{substring voyage.reference 0 4}} => 2024

Trim

Entfernt Leerzeichen (oder ein angegebenes Zeichen) an beiden Enden einer Zeichenfolge.

trim

Beispiel

{{trim portCall.remarks}}                      => 'Berth 7 confirmed'
{{trim portCall.berth '.'}} => 'Berth 7'

Truncate

Kürzt eine Zeichenfolge auf eine Höchstlänge. Ist ein Auslassungszeichen angegeben, bleibt die Gesamtlänge einschließlich dieses Zeichens innerhalb von maxLength.

truncate value maxLength ellipsis
ArgumentTypBeschreibung
valuestringDie zu kürzende Zeichenfolge.
maxLengthnumberHöchstlänge der Ausgabe, Auslassungszeichen eingerechnet.
ellipsisstringOptional: angehängtes Zeichen beim Kürzen, z. B. .... Standard: keines.

Beispiel

{{truncate vessel.name 8}}           => 'Ocean St'
{{truncate vessel.name 8 '...'}} => 'Ocean...'
{{truncate 'LNG' 10 '...'}} => 'LNG'

Newline

Ersetzt eine angegebene Zeichenfolge durch Zeilenumbrüche.

newline stringToReplace

Beispiel

{{newline portCall.itinerary ', '}}

Eingabe: 'Amsterdam, Rotterdam, Antwerp'

Ausgabe:

Amsterdam
Rotterdam
Antwerp

Text zu HTML

Kodiert eine Zeichenfolge für HTML und macht aus \r\n-Zeilenumbrüchen <br/>-Tags. Praktisch, um von Hand eingegebenen Text in HTML-Vorlagen anzuzeigen.

textToHtml text
ArgumentTypBeschreibung
textstringDie umzuwandelnde Klartextzeichenfolge.

Beispiel

{{textToHtml portCall.remarks}}

Eingabe: 'Berth <7>\r\nConfirmed' → Ausgabe: Berth &lt;7&gt;<br/>Confirmed


Null als Null behandeln

Ersetzt einen null-Zahlenwert durch 0 statt durch eine leere Zeichenfolge, was die Engine sonst tut.

zeroIfNull

Beispiel

{{zeroIfNull cargo.tonnage}}    => 45000   (oder 0, wenn null)
{{zeroIfNull null}} => 0

Encrypt

Erzeugt eine verschlüsselte, umkehrbare Zeichenfolge — gedacht vor allem, um unlesbare Token ans SHIPM8-Backend zu reichen, nicht um sensible Daten zu speichern.

encrypt seed validityInHours
ArgumentTypBeschreibung
seedstringOptional: Startwert, der die Verschlüsselung steuert.
validityInHoursnumberOptional: Stunden, bis das Token abläuft.

Beispiel

{{encrypt voyage.reference 'shipm8' 24}}    => 'SB25ibaSIDB3i3u0sa8=='

Datum — addieren

Addiert eine Zeitspanne zu einem Datum oder zieht sie ab. Das Ausgabeformat ist immer dd-MM-yyyy HH:mm.

dateAdd date amount type
ArgumentTypBeschreibung
datestringDas anzupassende Datum.
amountnumberWie viel addiert wird; negativ, um abzuziehen.
typestringZeiteinheit: d / day / days, H / hour / hours, m / minute / minutes.

Beispiel

{{dateAdd vessel.eta 2 'days'}}       => 12-03-2024 14:00
{{dateAdd vessel.eta 6 'hours'}} => 10-03-2024 20:00
{{dateAdd vessel.eta -30 'minutes'}} => 10-03-2024 13:30

Datum — von UTC

Rechnet einen UTC-Zeitpunkt in die Ortszeit der angegebenen Zeitzone um (oder in die Zeitzone des Servers, wenn keine angegeben ist). Die Eingabe gilt immer als UTC.

dateFromUtc date timezoneId format
ArgumentTypBeschreibung
datestringDer umzurechnende UTC-Zeitpunkt.
timezoneIdstringOptional: Windows-Zeitzonen-ID, z. B. W. Europe Standard Time. Standard ist die Serverzeitzone.
formatstringOptional: Ausgabeformat. Standard ist dd-MM-yyyy HH:mm.

Beispiel

{{dateFromUtc vessel.etaUtc}}
=> 10-03-2024 16:00 (Server in W. Europe Summer Time, UTC+2)

{{dateFromUtc vessel.etaUtc 'W. Europe Standard Time'}}
=> 10-03-2024 16:00

{{dateFromUtc vessel.etaUtc 'Eastern Standard Time' 'HH:mm'}}
=> 10:00

Datum — nach UTC

Rechnet eine Ortszeit in der angegebenen Zeitzone nach UTC um.

dateToUtc date timezoneId format
ArgumentTypBeschreibung
datestringDie umzurechnende Ortszeit.
timezoneIdstringOptional: Windows-Zeitzonen-ID der Eingabe. Standard ist die Serverzeitzone.
formatstringOptional: Ausgabeformat. Standard ist dd-MM-yyyy HH:mm.

Beispiel

{{dateToUtc vessel.eta}}
=> 10-03-2024 12:00 (Server in W. Europe Summer Time, UTC+2)

{{dateToUtc vessel.eta 'W. Europe Standard Time'}}
=> 10-03-2024 13:00

{{dateToUtc vessel.eta 'Eastern Standard Time' 'HH:mm'}}
=> 19:00

Uhrzeit — addieren

Addiert eine Zeitspanne zu einem Zeitwert (z. B. 14:00:00) oder zieht sie ab.

timeAdd time amount type
ArgumentTypBeschreibung
timestringZeitangabe, z. B. 14:00:00.
amountnumberWie viel addiert wird; negativ, um abzuziehen.
typestringZeiteinheit: H / hour / hours, m / minute / minutes.

Beispiel

{{timeAdd vessel.berthingTime 2 'hours'}}     => 16:00:00
{{timeAdd vessel.berthingTime 45 'minutes'}} => 14:45:00

Timeline

Klappt ein Array mit Zeiträumen zu einer Zeitleiste auf — eine Zeile je abgedecktem Intervall. Ein Block-Helfer.

timeline inputArray dateFrom dateTo interval outputFieldKey outputFormat appendData
ArgumentTypBeschreibung
inputArrayarrayDas aufzuklappende Array.
dateFromstringFeldname des Startdatums.
dateTostringFeldname des Enddatums.
intervalstringhourly, daily, monthly, quarterly oder yearly.
outputFieldKeystringName des Feldes, das jedem Ausgabeelement mit dem Zeitleistenschlüssel hinzugefügt wird.
outputFormatstringDatumsformat des Zeitleistenschlüssels.
appendDatastringOptional: fillgap erzeugt leere Einträge für Intervalle ohne passendes Element.

Beispiel

{{timeline portCalls 'eta' 'etd' 'daily' 'timelineDate' 'dd-MM-yyyy'}}
{{#each this}}
{{timelineDate}} -> {{port}}
{{/each}}
{{/timeline}}

Daten:

{
"portCalls": [
{ "eta": "2024-03-10T08:00", "etd": "2024-03-11T18:00", "port": "Rotterdam" },
{ "eta": "2024-03-12T08:00", "etd": "2024-03-13T12:00", "port": "Antwerp" }
]
}

Ergebnis:

10-03-2024 -> Rotterdam
11-03-2024 -> Rotterdam
12-03-2024 -> Antwerp
13-03-2024 -> Antwerp