Modaldialog erstellen
Sie können mithilfe der in diesem Abschnitt erläuterten Komponenten ein Modal für die Anwendung erstellen.
Jeder Modaldialog muss die folgenden Dateien enthalten:
| Komponente | Beschreibung |
|---|---|
<modal_name>.tpl.html |
HTML-Hauptdatei, die für die Wiedergabe des Modals erforderlich ist. |
<modal_partial>.tpl.html |
HTML-Teildateien für den Modaldialog, falls erforderlich |
<modal_name>.controller.js |
Datei, die die Verhaltenslogik für das modale Dialogfeld enthält |
<modal_name>.config.js |
Datei, die die Weiterleitungskonfiguration für das modale Dialogfeld enthält |
<modal_name>.scss |
Enthält Stile für das modale Dialogfeld im SCSS-Format. |
<modal_name>_mashups.xml |
Enthält Mashup-Definitionen für die im Modal verwendeten Mashups. |
Modale HTML-Dateien
<modal_name>.tpl.html) oder mehrerer HTML-Dateien implementiert. Sie können die modale Benutzerschnittstelle in mehrere Abschnitte unterteilen und partielle HTMLs (<modal_partial>.tpl.html) für jeden Abschnitt verwenden. Dies vereinfacht die Verwaltung des gesamten HTML-Codes, der für die Benutzerschnittstelle erforderlich ist.Modalkonfiguration
<modal_name>.config.js registriert. Beispiel:var aboutConf = {
animation: true,// indicates whether to animate when opening and closing modals
templateUrl: './store/views/about/about.tpl.html', // path to template html file
controller:'iss.views.about.about', // controller name
size: 'lg', // indicates the size of the modal
};
iscModalProvider.registerModal("iss.views.about.about",aboutConf);
Weitere Informationen zu Modalkonfigurationsdaten finden Sie in der ui-bootstrap
$uibModal -Dokumentation und iscModal.registerModal -Dokumentation. Abgesehen von der Modalkonfiguration kann jede andere Konfiguration, die für Modale erforderlich ist, in der Datei <modal_name>.config.js hinzugefügt werden.
Modalcontroller
| Komponente | Beschreibung |
|---|---|
model |
Ein JSON-Objekt, das aus Modellen besteht, die zum Speichern von Back-End-Daten wie API-Ausgabe verwendet werden können. Beispielsweise könnte "orderList":{} verwendet werden, um die Ausgabe der getOrderList -API zu speichern. |
mashupRefs |
Ein Array von Mashupref-Objekten. |
ui |
JSON-Objekt, das Benutzerschnittstelleneigenschaften enthält Sie wird $scope hinzugefügt und als $scope.ui referenziert. |
ui<method> |
Methoden, die aus HTML-Ereignissen aufgerufen werden können
|
Helper methods |
Methoden ohne ui als Präfix werden als Helper-Methoden behandelt und werden nicht über das Objekt $scope aufgerufen. |
Private methods |
Methoden mit dem Präfix _ werden als private Methoden behandelt und es erfolgt kein Zugriff über das Objekt $scope . |
initialize |
Diese Methode ist der Eingangspunkt für die Ausführungslogik. Jeder Mashup-oder API-Aufruf, der die init -Logik benötigt, sollte in dieser Methode codiert werden. |
this' auf die Steuerungsobjektattribute zugreifen.- Mashups zum Abrufen und Speichern von Daten aufrufen.
- Definieren Sie Modelle für die von Mashups abgerufenen Daten.
- Binden Sie Steuerelemente der Benutzerschnittstelle an die Modelle.
iscScreen.initializeModalScreen($scope,{<implementation
logic>}); , um die Logik des Modalverhaltens für das Objekt $scope zu initialisieren.angular.module('store').controller(<name of the controller>,
[<dependency injection>,
control function(<list of services in dependency injection above,
passed as parameters to this function>) {
iscScreen.initializeModalScreen($scope,{
/**
*ModelList
*Models that hold data
*
*/
model:{
},
/**
*MashupRefs
*array containing the list of mashups referred in this controller
*/
mashupRefs : [
{
mashupRefId: mashupref1,
mashupId: mashupid1,
modelName : associated model }
],
ui:{
/*list of UIAttributes, attributes used in the business
logic and UI painting*/
},
/* Intiliazes the modal dialog, by calling required mashups
and massaging modal input data */
initialize : function(){
},
//OnClick handler of "Cancel" button, closes the modal popup.
uiClose : function () {
},
//OnClick handler of "OK" button, propagates the data back
//to invoking screen.
uiSubmit : function (priceOverrideForm) {
},
//UI methods that can be accessed from html with ui as prefix
uimethod : function () {
},
//Helper methods
helpMethod1:function(){
},
//Private methods start with _
_privateMethod1:function(){
}
});
}
]);Mashups für das modale Dialogfeld
- Alle im Modaldialog referenzierten Mashups sollten in der Datei
<modal_name>_mashups.xmldefiniert werden. - Auf Anwendungsebene definierte allgemeine Mashups können modalübergreifend verwendet werden.
- Mashups, die für ein Modal für ein bestimmtes Szenario definiert sind, sollten nicht in den Modalen anderer Anzeigen verwendet werden.
Weitere Informationen finden Sie unter dem Thema „Mashups “.
Nachrichtenmodale
iscModal -Service.iscModal.showErrorMessageiscModal.showWarningMessageiscModal.showConfirmationMessageiscModal.showSuccessMessageiscModal.showInfoMessageiscModal.showCustomMessage
Modalstil
Anzeigen werden mithilfe von SCSS dargestellt. Jeder Anzeige muss eine eigene SCSS-Datei zugeordnet sein.
Beispielimplementierung
Zum besseren Verständnis können Sie die Beispieldateien im Ordner <wscdev.war>/ngstore/store/views/samples/modal verwenden.