Skip to content

Handlebars helpers referanse

Peter Stensby edited this page Sep 16, 2020 · 2 revisions

Handlebars helpers-referanse

I tillegg til Handlebars, har applikasjonen også flere hjelpefunksjoner som kan brukes i malene.

iso_to_nor_date

Konverterer en datostring med tid til DD.MM.YYYY.

Eksempel JSON-data Resultat
{{ iso_to_nor_date min_datostring }} {"min_datostring": "2018-10-14T14:52:35"} 14.10.2018

iso_to_date

Konverterer en datostring på ISO-format til DD.MM.YYYY.

Eksempel JSON-data Resultat
{{ iso_to_date min_datostring }} {"min_datostring": "2019-09-01"} 01.09.2019

duration

Regner ut distansen (i dager) mellom to datoer. Den tidligste datoen må stå først for å få positivt resultat.

Eksempel JSON-data Resultat
{{ duration fom tom }} dager {"fom": "2018-10-10", "tom": "2018-10-12"} 2 dager

json_to_period

Eksempel JSON-data Resultat
{{ json_to_period verdi }} {"verdi": "{\"fom\":\"2019-09-05\",\"tom\":\"2019-09-06\"}"} 05.09.2019 - 06.09.2019

insert_at

Setter inn et mellomrom i string ved indeks (0-indeksert).

Eksempel JSON-data Resultat
{{ insert_at fnr 6 }} {"fnr": "12345678901"} 123456 78901

eq

Sjekker om en ting er lik en annen.

Denne er ment å bruke som block helper. Det vil si at alt som er innenfor start- og slutt-tag blir vist dersom tilstanden i start-taggen blir evaluert som #!js true.

Eksempel JSON-data Resultat
{#eq status "VIS"}yes{/eq} {"status": "VIS"} yes
{#eq status "VIS"}yes{/eq} {"status": "IKKE VIS"}
{#eq status "VIS"}yes{/eq} {"status": "noe helt annet"}

not_eq

Sjekker om en ting ikke er lik en annen.

Denne er ment å bruke som block helper. Det vil si at alt som er innenfor start- og slutt-tag blir vist dersom tilstanden i start-taggen blir evaluert som #!js true.

Eksempel JSON-data Resultat
{#not_eq status "VIS"}yes{/eq} {"status": "VIS"}
{#not_eq status "VIS"}yes{/eq} {"status": "IKKE VIS"} yes
{#not_eq status "VIS"}yes{/eq} {"status": "noe helt annet"} yes

safe

Setter inn verdien som rå HTML.

Eksempel JSON-data Resultat
{{ safe min_html }} {"min_html": "<h1>hello world</h1>"}

hello world

{{ min_html }} {"min_html": "<h1>hello world</h1>"} <h1>hello world</h1>

image

Setter inn et bilde fra resources-mappen.

Det anbefales å legge en klasse på img-taggen som setter størrelsen på bildet ved rendering.

Eksempel JSON-data Resultat
<img src="{{ image "Checkboks.png" }}"/>

resource

Setter inn en ressurs som UTF-8-kodet string fra resources-mappen. For eksempel kan dette brukes for å inkludere en SVG-fil.

Det anbefales å legge en klasse på svg-taggen som setter størrelsen på SVG-bildet ved rendering.

Eksempel JSON-data Resultat
<svg>{{ resource "checkbox.svg" }}</svg>

capitalize

Konverterer string til små bokstaver med stor Forbokstav.

Eksempel JSON-data Resultat
{{ capitalize min_string }} {"min_string": "HALLO"} Hallo
{{ capitalize min_string }} {"min_string": "hallo"} Hallo
{{ capitalize min_string }} {"min_string": "hallo"} Hallo

inc

Inkrementerer et tall med én.

Eksempel JSON-data Resultat
{{ inc mitt_tall }} {"mitt_tall": 1} 2

formatComma

Bytter ut alle .-tegn i et tall til ,.

Eksempel JSON-data Resultat
{{ formatComma mitt_tall }} {"mitt_tall": 1.23} 1,23

any

Sjekker om noe som sendes inn er #!js true.

Denne er ment å bruke som block helper. Det vil si at alt som er innenfor start- og slutt-tag blir vist dersom tilstanden i start-taggen blir evaluert som #!js true.

Eksempel JSON-data Resultat
{#any a b c}yes{/any} {"a": true, "b": false, "c": false} yes
{#any a b c}yes{/any} {"a": false, "b": false, "c": true} yes
{#any a b c}yes{/any} {"a": false, "b": false, "c": "a"} yes
{#any a b c}yes{/any} {"a": false, "b": false, "c": false}
{#any a b c}yes{/any} {"a": null, "b": null, "c": null}

contains_field

Sjekker om noen av objektene i en liste har et felt, og at det er satt.

Denne er ment å bruke som block helper. Det vil si at alt som er innenfor start- og slutt-tag blir vist dersom tilstanden i start-taggen blir evaluert som #!js true.

Eksempel JSON-data Resultat
{#contains_field status "code"}yes{/eq} [{"status": {"code": 200}}] yes
{#contains_field status "code"}yes{/eq} [{"status": {"code": false}}]
{#contains_field status "code"}yes{/eq} [{"status": {"code": null}}]
{#contains_field status "code"}yes{/eq} [{"status": {"not_code": 200}}]

is_defined

Sjekker om et felt finnes.

Denne er ment å bruke som block helper. Det vil si at alt som er innenfor start- og slutt-tag blir vist dersom tilstanden i start-taggen blir evaluert som #!js true.

Eksempel JSON-data Resultat
{{#is_defined foo }} ✅ {/is_defined}} {foo: false}
{{#is_defined foo }} ✅ {{#if foo }} 🙂 {{else}} 🙁 {{/if}}{{/is_defined}} {foo: false} ✅ 🙁
{{#is_defined foo }} ✅ {{#if foo }} 🙂 {{else}} 🙁 {{/if}}{{/is_defined}} {foo: true} ✅ 🙂
{{#is_defined foo }} ✅ {{#if foo }} 🙂 {{else}} 🙁 {{/if}}{{/is_defined}} {bar: true}