DXL Referentie
Dit is het overzicht van alle onderdelen van DXL. Klik door naar de detailpagina's voor volledige documentatie.
Inhoud
| Onderdeel | Beschrijving |
|---|---|
| Datatypen | Numbers, Text, Dates, Booleans, Arrays, Entities |
| Operatoren | Rekenkundige, vergelijkings- en logische operatoren |
| Methodes | Functies op arrays, getallen, tekst en datums |
| Relaties | Toegang tot gekoppelde entiteiten (@actions, @results, etc.) |
| Control flow | If/else, match, let bindings |
Snelle referentie
Literalen
42 // Number (geheel)
3.14 // Number (decimaal)
-5 // Negatief number
"tekst" // Text
true // Boolean
false // Boolean
null // Geen waarde
2024-06-15 // Date (ISO formaat)
Operatoren
| Operator | Voorbeeld | Beschrijving |
|---|---|---|
+ | a + b | Optellen / samenvoegen |
- | a - b | Aftrekken |
* | a * b | Vermenigvuldigen |
/ | a / b | Delen |
% | a % b | Modulo (rest) |
== | a == b | Gelijk aan |
!= | a != b | Niet gelijk aan |
< | a < b | Kleiner dan |
<= | a <= b | Kleiner of gelijk |
> | a > b | Groter dan |
>= | a >= b | Groter of gelijk |
&& | a && b | Logische AND |
|| | a || b | Logische OR |
! | !a | Logische NOT |
?? | a ?? b | Null coalesce |
. | a.b | Property access |
?. | a?.b | Safe navigation |
[...] | a[cond] | Filter |
Array methodes
| Methode | Beschrijving |
|---|---|
count() | Aantal elementen |
sum() | Som van getallen |
avg() | Gemiddelde |
min() | Minimum |
max() | Maximum |
median() | Mediaan |
first() | Eerste element |
last() | Laatste element |
nth(n) | Element op positie n |
take(n) | Eerste n elementen |
skip(n) | Sla eerste n over |
sort() | Sorteer oplopend |
reverse() | Keer volgorde om |
unique() | Verwijder duplicaten |
flat() | Maak geneste arrays plat |
join(sep) | Voeg samen tot tekst |
span() | Bereik (max - min) voor datums |
Number methodes
| Methode | Beschrijving |
|---|---|
abs() | Absolute waarde |
round() | Afronden |
round(n) | Afronden op n decimalen |
floor() | Naar beneden afronden |
ceil() | Naar boven afronden |
clamp(min, max) | Beperk tot bereik |
to_text() | Naar tekst |
format(pattern) | Formatteren |
Text methodes
| Methode | Beschrijving |
|---|---|
len() | Lengte in tekens |
upper() | Naar hoofdletters |
lower() | Naar kleine letters |
trim() | Verwijder whitespace |
contains(s) | Bevat substring? |
starts_with(s) | Begint met? |
ends_with(s) | Eindigt met? |
replace(old, new) | Vervang tekst |
substr(start) | Substring vanaf positie |
substr(start, len) | Substring met lengte |
split(delim) | Splits naar array |
to_number() | Naar getal |
to_date() | Naar datum |
Date methodes
| Methode | Beschrijving |
|---|---|
days_until() | Dagen tot (vanaf vandaag) |
days_until(d) | Dagen tot datum d |
days_since() | Dagen sinds (vanaf vandaag) |
days_since(d) | Dagen sinds datum d |
days_to(d) | Dagen tot datum d |
add_days(n) | Tel n dagen op |
add_weeks(n) | Tel n weken op |
add_months(n) | Tel n maanden op |
year() | Jaartal |
month() | Maandnummer (1-12) |
day() | Dagnummer (1-31) |
weekday() | Weekdag (1=ma, 7=zo) |
start_of_week() | Eerste dag van week |
start_of_month() | Eerste dag van maand |
end_of_month() | Laatste dag van maand |
format(pattern) | Formatteren |
Result methodes
| Methode | Beschrijving |
|---|---|
norm() | Doelwaarde/norm voor vandaag |
norm_at(date) | Geïnterpoleerde norm op datum |
value_at(date) | Meetwaarde op datum (dichtstbijzijnde meting) |
Built-in variabelen
| Variabele | Beschrijving |
|---|---|
today | Huidige datum |
it | Huidig item in filter |
null | Geen waarde |
true | Boolean waar |
false | Boolean onwaar |
Relaties
| Relatie | Beschrijving |
|---|---|
@actions | Gekoppelde acties |
@results | Gekoppelde resultaten |
@dim:{slug} | Dimensiewaarde met slug (of GUID) |
@dir:{slug} | Richtingwaarden van type slug (of GUID) |
@dimtype:{slug} | Alle dimensiewaarden van type slug (of GUID) |
Actie velden
| Veld | Type | Beschrijving |
|---|---|---|
name | Text | Naam |
guid | Text | Unieke identifier |
status | Text | "todo", "inprogress", "onhold", "in_review", "done", "canceled", "postponed" |
deadline | Date | Deadline (alias: due_date) |
startdate | Date | Startdatum (alias: start_date) |
budget | Number | Budget |
Resultaat velden
| Veld | Type | Beschrijving |
|---|---|---|
name | Text | Naam |
guid | Text | Unieke identifier |
result_type | Text | "kpi" of "rating" |
value | Number | Huidige meetwaarde |
target | Number | Doelwaarde/norm voor vandaag |
status | Text | "on_track", "off_track", of "no_data" |
Control flow
// If-then-else
if conditie then waarde1 else waarde2
// If met blokken
if conditie {
waarde1
} else {
waarde2
}
// Match
match waarde {
patroon1 => resultaat1,
patroon2 => resultaat2,
_ => default
}
// Let binding
let x = waarde; expressie_met_x