Ga naar hoofdinhoud

Dynamisch scripts laden

De loader is de brug tussen Planon en de gecentraliseerde library.

De loader bevat geen businesslogica. Hij beantwoordt drie vragen:

  1. Welke Planon-context is actief?
  2. Welke gedeelde scripts zijn nodig?
  3. Welk formulier-specifiek script moet worden geladen?

Runtime-flow​

Planon-pagina opent
│
▼
loader.js start
│
├── laad shared/functions.js
├── laad shared/timing.js
│
└── detecteer actief formulier
│
▼
laad forms/FORM_001.js

Vereenvoudigd publiek voorbeeld​

const formCode = getActiveFormCode();

loadScript("/shared/functions.js");
loadScript("/shared/timing.js");
loadScript(`/forms/${formCode}.js`);

De echte implementatie gebruikte de actieve Planon-context om te bepalen welke module moest draaien.

Waarom deze architectuur hielp​

Zonder loader:

elk formulier
↓
meer ingebedde logica
↓
meer duplicatie
↓
moeilijker updates

Met loader:

Planon-formulier
↓
kleine loader
↓
centrale shared-modules
+
één formulier-specifieke module

Zo ontstond een duidelijke scheiding tussen runtime-selectie en businessgedrag.

Centrale delivery​

Omdat de loader formulieren verbindt met centraal beheerde JavaScript, kunnen updates via de Azure-pipeline worden geleverd in plaats van de volledige implementatie handmatig in elk formulier te plaatsen.