[inhalt]
Projekt BISO 3 - Handbuch

Standard-EXT-Komponenten für BISO

BISO benützt immer wieder dieselben Komponenten:

Um diesen Prozess zu vereinfachen, haben wir folgende Basis-Komponenten erstellt:

BISO.view.List

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',
    ...
});

BISO.mixin.ListController

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:

editRecord(gridview,record)

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.

newRecord(button)

siehe editRecord, erstellt jedoch erst einen leeren Record mit createEmptyRecord().

createEmptyRecord(grid)

Liefert einen neuen Record der gesetzten Entität. Kann / soll in eigenen Controllern bei Bedarf überschrieben werden.

deleteRecord(button)

Standard-Funktion zum Löschen eines Records, mit Sicherheitsabfrage

getFormTitle(rec)

Liefert den Titel des Eingabeforms, kann / soll in eigenen Controllern überschrieben werden.

openForm(grid,rec)

Öffnet das Eingabeform zum angewählten Record. Im Bedarfsfall überschreiben, um eigene Öffnungsmechanismen zu implementieren.

BISO.view.Form

Die Parent-Formkomponente für alle KP.*.Form. Implementiert eine Toolbar mit save/cancel-Buttons, Dirty-Check und zusätzlich:

BISO.mixin.FormController

Das Mixin für ein Standardform stellt folgende Standardfunktionalität zur Verfügung: