Skip to main content

DXL Referentie

Dit is het overzicht van alle onderdelen van DXL. Klik door naar de detailpagina's voor volledige documentatie.

Inhoud

OnderdeelBeschrijving
DatatypenNumbers, Text, Dates, Booleans, Arrays, Entities
OperatorenRekenkundige, vergelijkings- en logische operatoren
MethodesFuncties op arrays, getallen, tekst en datums
RelatiesToegang tot gekoppelde entiteiten (@actions, @results, etc.)
Control flowIf/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

OperatorVoorbeeldBeschrijving
+a + bOptellen / samenvoegen
-a - bAftrekken
*a * bVermenigvuldigen
/a / bDelen
%a % bModulo (rest)
==a == bGelijk aan
!=a != bNiet gelijk aan
<a < bKleiner dan
<=a <= bKleiner of gelijk
>a > bGroter dan
>=a >= bGroter of gelijk
&&a && bLogische AND
||a || bLogische OR
!!aLogische NOT
??a ?? bNull coalesce
.a.bProperty access
?.a?.bSafe navigation
[...]a[cond]Filter

Array methodes

MethodeBeschrijving
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

MethodeBeschrijving
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

MethodeBeschrijving
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

MethodeBeschrijving
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

MethodeBeschrijving
norm()Doelwaarde/norm voor vandaag
norm_at(date)Geïnterpoleerde norm op datum
value_at(date)Meetwaarde op datum (dichtstbijzijnde meting)

Built-in variabelen

VariabeleBeschrijving
todayHuidige datum
itHuidig item in filter
nullGeen waarde
trueBoolean waar
falseBoolean onwaar

Relaties

RelatieBeschrijving
@actionsGekoppelde acties
@resultsGekoppelde 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

VeldTypeBeschrijving
nameTextNaam
guidTextUnieke identifier
statusText"todo", "inprogress", "onhold", "in_review", "done", "canceled", "postponed"
deadlineDateDeadline (alias: due_date)
startdateDateStartdatum (alias: start_date)
budgetNumberBudget

Resultaat velden

VeldTypeBeschrijving
nameTextNaam
guidTextUnieke identifier
result_typeText"kpi" of "rating"
valueNumberHuidige meetwaarde
targetNumberDoelwaarde/norm voor vandaag
statusText"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