Einfaches Anpassungsbeispiel
Lassen Sie uns nun wissen, wie diese Anpassungen in unsere AEM Guides-App integriert werden können.
Angenommen, wir möchten diese Schaltfläche in einer vorhandenen Ansicht der App hinzufügen.
Dazu müssen wir drei grundlegende Dinge tun:
- Die
id
der JSON-Ansicht, der wir unsere Komponente hinzufügen möchten. - Der
target
, d. h. der Speicherort im JSON, zu dem die neue Komponente hinzugefügt werden soll. Dietarget
wird mit einemkey
und einemvalue
definiert. Das Schlüssel-Wert-Paar kann ein beliebiges Attribut sein, das zur Definition der Komponente verwendet wird und bei der eindeutigen Identifizierung der Komponente helfen kann.
Wir können auch Indizes verwenden, um auf das Ziel zu verweisen.
Wir haben 3 Ansichtszustände:APPEND
,PREPEND
,REPLACE
. - JSON der neu erstellten Komponente und entsprechende Methoden.
Angenommen, wir möchten der im Review verwendeten Anmerkungs-Toolbox eine Schaltfläche hinzufügen, mit der die Datei in AEM geöffnet wird.
export default {
id: 'annotation_toolbox',
view: {
items: [
{
component: 'button',
icon: 'linkOut',
title: 'Open topic in Assets view',
'on-click': 'openTopicInAEM',
target: {
key: 'value',
value: 'addcomment',
viewState: VIEW_STATE.APPEND
},
},
],
},
controller: {
openTopicInAEM: function (args) {
const topicIndex = tcx.model.getValue(tcx.model.KEYS.REVIEW_CURR_TOPIC)
const {allTopics = {}} = tcx.model.getValue(tcx.model.KEYS.REVIEW_DATA) || {}
tcx.appGet('util').openInAEM(allTopics[topicIndex])
},
},
}
Im obigen Beispiel haben wir Folgendes:
- den
id
der JSON, in die wir unsere Komponente einfügen möchten, d. h.annotation_toolbox
- das Ziel die Schaltfläche
addcomment
ist. Wir fügen unsere Schaltfläche über die viewStateappend
nach der Schaltflächeaddcomment
hinzu. - Wir definieren das On-Click-Ereignis der Schaltfläche im Controller.
JSON für die "annotation_toolbox" .src/jsons/review_app/annotation_toolbox.json
Vor der Anpassung sah die Anmerkungs-Toolbox wie folgt aus:
Nach der Anpassung sieht das Anmerkungs-Tool wie folgt aus:
CSS hinzufügen
Für die Konsistenz stellen wir die Komponente bereit, die bereits formatiert ist. Der eingefügte JSON-Code weist inhärente Stile auf
Die primäre Methode zur Verwaltung von CSS besteht darin, den extraClass -Schlüssel in den Erweiterungen zu verwenden.
{
"view":{
items:[
{
compoenent:"button",
extraClass:"underline bg-red",
}
]
}
}
Sie können benutzerdefinierte Stile mit CSS-Klassen einfügen, indem Sie clientlibs eine CSS-Datei hinzufügen. Während des Builds erstellen wir auch die Ausgabe Tailwind für die Dienstprogrammklassen in Rückenwind. Die Konfiguration für dasselbe finden Sie unter tailwind.config.js
der Erweiterung unter ./tailwind.config.js