Einfaches Anpassungsbeispiel
Erstellt für:
- Benutzende
- Admin
Wir zeigen Ihnen nun, wie Sie diese Anpassungen in unsere AEM Guides-App integrieren 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. - Die
target
, d. h. der Speicherort in der JSON, der die neue Komponente hinzugefügt werden soll. Dietarget
wird mithilfe eineskey
undvalue
definiert. Das Schlüssel-Wert-Paar kann ein beliebiges Attribut sein, mit dem die Komponente definiert wird, die bei der eindeutigen Identifizierung helfen kann.
Wir können auch Indizes verwenden, um auf das Ziel zu verweisen.
Wir haben 3 ViewStates:APPEND
,PREPEND
,REPLACE
. - Die JSON der neu erstellten Komponente und die entsprechenden Methoden.
Angenommen, wir möchten der in der Überprüfung 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:
- die
id
der JSON-Datei, in die wir unsere Komponente einfügen möchten, d. h.annotation_toolbox
- Das Ziel ist die Schaltfläche
addcomment
. Wir fügen unsere Schaltfläche nach der Schaltflächeaddcomment
mithilfe derappend
viewState hinzu. - Wir definieren das On-Click-Ereignis der Schaltfläche im Controller.
Die JSON-Datei für die .src/jsons/review_app/annotation_toolbox.json
„annotation_toolbox“
Vor der Anpassung sah die Anmerkungs-Toolbox wie folgt aus:
Nach der Anpassung sieht die Anmerkungs-Toolbox wie folgt aus:
CSS hinzufügen
Aus Konsistenzgründen stellen wir die bereits formatierte Komponente bereit. Auf die eingefügte JSON werden inhärente Stile angewendet
Die primäre Möglichkeit, CSS zu verwalten, besteht in der Verwendung des extraClass-Schlüssels in den Erweiterungen.
{
"view":{
items:[
{
compoenent:"button",
extraClass:"underline bg-red",
}
]
}
}
Sie können benutzerdefinierte Stile mit CSS-Klassen einfügen, indem Sie eine CSS-Datei zu Clientlibs hinzufügen. Während des Builds erstellen wir auch Tailwind-Ausgabe für die Dienstprogrammklassen in Tailwind. Die entsprechende Konfiguration kann auf der tailwind.config.js
der Erweiterung unter ./tailwind.config.js
gefunden werden