BISO benützt immer wieder dieselben Komponenten:
Um diesen Prozess zu vereinfachen, haben wir folgende Basis-Komponenten erstellt:
Die Standard-Gridlist. Alle von voodoo.php erstellten Listen erben von dieser Komponente (Beispiel Benutzer-Liste):
Ext.define('KP.view.benutzer.List', {
extend: 'BISO.view.List',
alias: 'widget.benutzerlist',
...
});
Der von voodoo.php erzeuge List-Controller per Entität implementiert das Mixin BISO.mixin.ListController. Der ListController stellt immer wieder benötigte Funktionen in Grids zur Verfügung. Ein simpler von voodoo.php generierter Entity-List-Controller muss mind. folgendes konfigurieren:
config: {
entity: 'benutzer'
},
init: function () {
this.callParent(arguments);
this.control({
'benutzerlist': {
// afterrender: @see onAfterrender below: MUST be defined
afterrender: this.onAfterrender
itemdblclick: this.editRecord
}
});
},
onAfterrender: function (list) {
// Note: This calls the afterrender of the BISO.mixin.ListController.
// Important for the rec count listener
this.onBeforeAfterrender(list);
}
Folgende Funktionen werden vom Mixin zur Verfügung gestellt und können / müssen bei Bedarf überschrieben werden:
wird im eigenen Controller auf den itemdblclick-List-Event aufgerufen. Lädt den zur Entity gehörenden Form-Controller und ruft openForm auf, welches im Standardfall das Formpanel als Tab dem übergeordneten Tab-Panel öffnet.
siehe editRecord, erstellt jedoch erst einen leeren Record mit createEmptyRecord().
Liefert einen neuen Record der gesetzten Entität. Kann / soll in eigenen Controllern bei Bedarf überschrieben werden.
Standard-Funktion zum Löschen eines Records, mit Sicherheitsabfrage
Liefert den Titel des Eingabeforms, kann / soll in eigenen Controllern überschrieben werden.
Öffnet das Eingabeform zum angewählten Record. Im Bedarfsfall überschreiben, um eigene Öffnungsmechanismen zu implementieren.
Die Parent-Formkomponente für alle KP.*.Form. Implementiert eine Toolbar mit save/cancel-Buttons, Dirty-Check und zusätzlich:
this.callParent(arguments) gerufen werden!Das Mixin für ein Standardform stellt folgende Standardfunktionalität zur Verfügung: