Treeview mit DropDown-Menü

Julian-w

Mitglied
Hallo,
ich suche schon seit Stunden folgendes:
Ich hätte gerne ein TreeView, die aber auch auf Rechtsklicke auf ein Element reagiert und ein DropDown Menü anzeigt, wie z.B. diese hier:
http://www.ckfinder.com/demo

Am besten wäre natürlich kostenlos, kann aber auch kostenpflichtig sein, solange es sich im Rahmen hält.

Hoffe, einer hat einen Tipp für mich.

MfG
Julian
 
Moin,

was soll denn in dem Kontextmenu stehen?
Wenn du kein Treeview mit Kontextmenu findest, sollte esmöglich sein, im Nachhinein ein Kontextmenu zu implementieren.
 
Ich e zur Zeit ein CMS-System. In der ListView sollte eine Auflistung von Modulen des CMS-Systems sein.
Mit dem Rechtsklick (auf ein Modul) sollte ein Menü aufgehen, dass folgendes enthält:

  • Neues Modul
  • Kopieren
  • Bearbeiten
  • Löschen
  • Nach oben verschieben
  • Nach unten verschieben

Würde halt schön aussehen. Das ganze im nachhinein zu implentieren, wäre natürlich möglich, aber etwas aufwendig.
Das blöde ist, ich weis nich mal, wie ich das so anstellen soll. Ich kann ja nicht jedesmal einen neuen Knoten öffnen um das Menü reinschreiben. Das sind dann am Ende hunderte von Knoten, und demnach ist auch die Performance.

Kontextmenü's habe ich reichlich im Internet gefunden, nur eben keine kostenlose (oder eines mit einigermaßen annehmbaren Preis) TreeView hat diese Funktion.
Diese TreeView's müsste es aber auch kostenlos geben, da soetwas z.B. bei CKFinder zum Einsatz kommt.
 
Danke!

Genau dass kann ich brauchen!

Könntest du hier evtl. ein kleines Mini-Bsp. posten, da ich aus dem Quelltext nicht ganz schlüssig werde.

Noch eine Frage:
Wäre es evtl. möglich, für Knoten (wie z.B. Intern, Tutorials) extra Menü's zu erstellen wie z.B. für einfache Elemente (wie z.B. Webmaster-Tutorials, Flash-Tutorials)?
 
Zuletzt bearbeitet:
Nun ja, an dem Kontextmenu lässt sich nicht viel minimieren.

Das ist die zuständige Passage:
Code:
<script type="text/javascript">
var myMenuItems = [
  {
    name: 'Edit',
    className: 'edit', 
   callback: function(e) {
      contextCallback( e.element(),'Edit');
    }
  },{
    name: 'Copy',
    className: 'copy', 
    callback: function(e) {
      contextCallback( e.element(),'Copy');
    }
  },{
    name: 'Delete', 
    disabled: true,
    className: 'delete'
  },{
    separator: true
  },{
    name: 'Save',
    className: 'save',
    callback: function(e) {
      contextCallback( e.element(),'Save');
    }
  }
];

new Proto.Menu({
  selector: '#menu a', // context menu will be shown when element with id of "contextArea" is clicked
  className: 'menu desktop', // this is a class which will be attached to menu container (used for css styling)
  menuItems: myMenuItems // array of menu items
})

function contextCallback(e,w)
{
  alert(w+' "'+ e.innerHTML+'"');
}


</script>

menuItems enthält die Einträge des Menues.
Aufbau wie folgt:
Code:
name: 'Das was zu lesen sein soll',
    className: 'css-Klassenname', 
   callback: function(e) {
      nameDerFunktionDieBeimKlickAufgerufenWird( irgendwelche Parameter);
    }

Verschiedene Kontextmenues lassen sich auch umsetzen, man muss halt für jedes Menu dann eine eigene Instanz von Proto.Menu erzeugen, mit dem entsprechenden Selektor für die betreffenden Links(könnte bspw. der Klassenname sein)
 

Neue Beiträge

Zurück