-
Notifications
You must be signed in to change notification settings - Fork 4
Migration auf ccm v25
Diese Wikiseite soll helfen eigene Komponente mit der ccm v25 wieder kompatibel bzw. lauffähig zu machen.
Hier die Änderungen von ccm v25.0.0:
- moved not framework-relevant helper functions to extern ES6 module
- bug fix for checking expired token
- import property for loading a function can be given by URL hash code
- added support of ‘beforeCreation’, ‘afterCreation’ and ‘onReady’ callback in config
- removed loading icon as initial content
- each instance knows his Shadow DOM via property ‘shadow’
- bug fix for throw exception on invalid component filename in ccm.helper.convertComponentURL
- bug fix for ignore of comments in HTML templates
- ccm.helper.html can process SVG tags inside of ccm HTML data
Die wesentliche nicht-abwärtskompatible Änderung ist, dass viele nicht framework-relevante Hilfsfunktionen in das ES6-Module helper.mjs ausgelagert wurden. Der Link führt zur latest-Version des helper-Moduls.
Bei der Umstellung einer Komponente auf ccm v25 wird es also zu einem Fehler kommen, wenn auf eine Hilfsfunktion zugegriffen wird, die nun nicht mehr im ccm-Framework vorhanden ist.
Hier nun wie das behoben werden kann:
In der Standardkonfiguration im Komponentencode gilt es zunächst das ES6-Modul mit den Hilfsfunktionen einzubinden:
"helper": [ "ccm.load", "https://ccmjs.github.io/akless-components/modules/versions/helper-2.0.0.mjs" ]
(ggf. prüfen ob es inzwischen schon eine aktuellere Version des helper-Moduls gibt)
Dann für die Instanz eine lokale Hilfsvariable let $
definieren und in der init
-Methode nun die folgende Zuweisung:
$ = Object.assign( {}, this.ccm.helper, this.helper );
Über $
kann dann normal auf alle Hilfsfunktionen zugegriffen werden, denn sie enthält nun sowohl die framework-relevanten als auch die ausgelagerten nicht framework-relevanten Hilfsfunktionen. Sollte es dennoch zu einem Fehler kommen, dass eine Hilfsfunktion nicht korrekt ausführbar ist, dann am besten einmal überprüfen, ob sich für die betroffene Hilfsfunktion aus dem ES6-Modul der Name oder die Parameter geändert haben.
Alle ausgelagerten Hilfsfunktionen sind gut dokumentiert, die API findet sich hier.
Beispiele für Komponenten die bereits mit ccm v25 laufen sind