...
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
'use strict' import PrintElement from '/plugin/remote/brandbox-styleguide/print-styleguide/javascript/print-element.js' import PrintResult from '/plugin/remote/brandbox-styleguide/print-styleguide/javascript/print-result.js' export default class CustomElement extends PrintElement { /** * Diese Methode wird immer wieder aufgerufen, solange PrintResult::completed nicht "true" ist * Bei jedem Ergebnis, was nicht PrintResult::completed === true entspricht, wird zudem eine neue Seite erzeugt * * @param {PrintContext} [context] Der Kontext in welchem dieses Element platziert werden soll * * @returns {Promise<PrintResult>} */ async place(context) { // Allgemeine Prüfmethode für Standardoptionen (bspw. vacant-before oder break-before) // Zudem wird versucht, das Quellelement direkt zu platzieren const result = await this._preflight(context) if (result instanceof PrintResult) { return result } // Das Originalelement steht über this.source zur Verfügung const element = this.source.cloneNode(false) // Das Ersatzelement im Elternelement platzieren await context.append(element) // Es können Optionen des Quellelements abgefragt werden if(await this.is('custom-option')) { // Auf diese Option reagieren } // Es können auch Optionen des Kontextes abgefragt werden if(await context.is('custom-context-option')) { // Auf diese Option reagieren } // Wurde der Seiteninhalt zu groß? if(await context.overflowing()) { // Das Element wieder entfernen element.remove() // Die Methode this._exhausted() überprüft ob das Elements bereits zu oft nicht platziert werden konnte // und gibt bei Bedarf eine Fehlermeldung in der Konsole aus. Zudem wird damit ein erneutes Platzieren // nach zu vielen Versuchen verhindert. return new PrintResult(this, await this._exhausted(), null) } return new PrintResult(this, true, element) } } |
...
PrintCounter
Hier werden die Zählerdefinitionen verarbeitet und die Ergebnisse ausgegeben.
PrintPlaceholder
Hier werden die Platzhalterdefinitionen verarbeitet.
Puppeteer per Kommandozeile
...