Last modified: May 12, 2023

RuleHandler.js

Beskrivelse av format for rule handler js filen.

Overordnet

Filen RuleHandler.js brukes til å lage metoder som skal benyttes for til kalkuleringer/regler på felter i datamodellen eller for å skape dynamikk i et skjema.

Format

Filen består av 4 objekter, 2 av de benyttes for til kalkuleringer/regler i skjema og de 2 andre benyttes til dynamikk i skjema. ruleHandlerObject og conditionalRuleHandlerObject skal benyttes til å definere metoder som kan brukes til kalkuleringer/regler i skjema. Alle metodene har et objekt som input parameter og en output verdi, strukturen på input objektet er beskrevet i ruleHandlerHelper og conditionalRuleHandlerHelper. Filen har følgende struktur:

var ruleHandlerObject = {
    ruleFunctionName: (obj) => {
        return obj.inputParam1 + " " + obj.inputParam2;
    },
}

var ruleHandlerHelper = {
  ruleFunctionName: () => {
    return {
      inputParam1: "inputParam1",
      inputParam2: "inputParam2"
    };
  },
}

var conditionalRuleHandlerObject = {
  conditionalFunctionName: (obj) => {
    return obj.input1 > 10;
  },
}

var conditionalRuleHandlerHelper = {
  conditionalFunctionName: () => {
    return {
      input1: "input1"
    };
  },
}

Ved innlasting i skjemadesigneren vil filen lastes inn i window elementet og kalles ved hjelp av window.conditionalRuleHandlerObject.conditionalFunctionName. Kalkuleringer/regler kjøres når skjema fylles ut. Så regler kan testes både i desinger, preview og i runtime. Kalkuleringer/regler input objekt sine parameter og output parameteret kobles til felter i datamodellen.

Dynamikk regler manipulerer skjema ved å skjule eller vise felter. Input objektet kobles til datamodelfelter. Deretter må brukeren spesifisere hva som skal skje hvis metoden returnerer true. Per nå er det kun mulig å velge å skjule eller vise felter. Deretter knytter man ‘action’ til felter som er lagt inn i skjema. Man kan knytte så mange felter man vil til en dynamisk regler.