Nach meinem ersten Beitrag zum Thema SharePoint Taxonomie Felder als Dropdown anzeigen, kam die Frage auf „Was mache ich bei Taxonomie Feldern mit Mehrfachauswahl?“ oder „Kann ich das Script auch für Mehrfachauswahl anpassen?“.
Deshalb habe ich mich hingesetzt und zuerst mal überlegt wie man so ein Mehrfachauswahl Taxonomie Feld überhaupt anzeigen kann. Nach etwas Recherche habe ich mich dann endlich entschieden wie es umsetzen möchte.

Die Umsetzung

Um die Darstellung für Mehrfachauswahl anzupassen, muss nur die ManagedMetadata.js Datei aus dem ersten Beitrag angepasst werden. Zuerst musste unterschieden werden, ob es sich bei dem aktuellen Feld um ein Taxonomie Feld mit oder ohne Mehrfachauswahl handelt. Das kann ganz einfach über den Context aus dem Schema ausgelesen werden.

Zusätzlich zu den Dropdowns werden folgende Komponenten benötigt:

  • Eine Box mit den aktuell ausgewählten Elementen (für den User).
  • Ein verstecktes Feld mit den aktuellen Elementen (für SharePoint).
  • Eine Schaltfläche zum hinzufügen von neuen Elementen inkludive eines Modal Dialogs.
  • Eine Schaltfläche zum entfernen von Elementen.

Des weiteren kann im Script eingestellt werden, ob nur der Name des Terms oder ob der ganze Pfad angezeigt werden soll. Dabei gab es ein Problem, da es wiederverwendete Taxonomiewerte waren. Diese besitzen dann mehrere Pfade und es wird nur der Hauptpfad zurück geliefert. Dem konnte ich Abhilfe schaffen, in dem ich den Term nicht vom TermStore, sondern direkt vom richtigen TermSet ausgelesen habe.
Vorher:

var term = termStore.getTerm(guid);

Nachher:

var term = termSet.getTerm(guid);

Endergebnis

Die angepasste Datei mit allen Änderungen findet Ihr hier.