AngularJS verschachtelte modale Dialoge

Ich bin der Portierung einer großen CRUD-business-Anwendung, die erstellt wurde mit Oracle-forms-Technologie, um das web (HTML5 /AngularJS /RESTful-web-services).

Teil der Art und Weise, die business-Logik eingestellt ist, hängt von der Verfügbarkeit der modale Dialogfelder, die zeigen, CRUD-Netze. Für den Anfang, der Nutzer...

  • klicken Sie auf eine Zeile des Rasters
  • geben Sie Daten in die Zeile das erste Feld
  • drücken Sie die EINGABETASTE
  • cursor an das nächste Feld auf der rechten
  • etc.
  • Sie Bearbeiten Sie die anderen Felder, und so weiter
  • Sie klicken Sie auf "speichern" irgendwo auf der Seite
  • Validierungen passieren, web-service aufgerufen wird -> DATEN GESPEICHERT werden.

Habe ich gebaut, der Teil, über AngularUI s ng-grid.

Der nächste Schritt ist, wo ich gestolpert:

  • Doppelklick auf eine grid-Zeile, ein neuer MODALER dialog kommt, mit einem "detail-grid".
  • Sie Bearbeiten/löschen/etc. was auch immer aus dem Netz, und Sie können auch doppelklicken Sie erneut auf eine grid-Zeile, und wieder ein neuer MODALER dialog kommt, mit einem "detail-detail-grid". Und so weiter.

Als ich versuchte, dies über Angular-UI-s $dialog-service, habe ich schnell kennengelernt Wände - es gibt viele Probleme mit verschachtelten $Dialogfeld (z.B. sehen, dass dieses Problem auf der GitHub-repos), und, was weit beunruhigender ist, ist, dass Sie vor kurzem (vor 2 Monaten) beschlossen, einfach darauf verzichten, den alten dialog, denn es hatte viel zu viele Probleme, und neu zu schreiben.

Meine Frage an alle Kolleginnen und Winkel-devs gibt, ist, wie gehst du mit verschachtelten modale Dialoge? Sind Sie mit anderen libs - z.B. jQueryUI dialog? Wenn ja, wie verwenden Sie Sie "in einem Winkelbereich Weg"? also ohne zu mischen, DOM Verarbeitung im Controller? Ich habe versucht, zu Folgen Sie dem Beispiel der anderen Frage und in der Tat es funktioniert, aber es bettet das Dialogfeld HTML-Seite ist teilweise - das ist nicht gut (z.B. sich vorstellen, einbetten alle der HTML-code für deine Hilfe-dialog angezeigt, über die Taste F1 ("show keyboard-shortcuts-dialog") in all Ihre Winkel-HTML-template-partials!

Ich überlege laden-dialog-Vorlagen (wie Angular-UI-dialog besitzt) über $http und injizieren Sie den Inhalt über ngInclude, aber das würde bedeuten, ich müßte ein Platzhalter in meine DOM für Sie ('#dialogPlace' oder sowas) - und da habe ich eine potentiell unbegrenzte "Depth" der Schachtelung zu behandeln, ich fürchte, ich muss code "Stapel-handling" auf meinem eigenen, das hinzufügen von DOM-Elementen alle Weg. Gott weiß, was das verursachen wird, in sich selbst...

Ich mag Eckig, aber mein problem domain erfordert eine solide Komponente für verschachtelte modalen Dialogen. Ich hoffe, jemand hat draußen vor dem problem und hat eine saubere, Eckige wie die Lösung...

Schreibe einen Kommentar