Skip to content

Dynamisches Template laden

In diesem Guide geht es darum, Templates dynamisch anhand eines QuickCalls in der Preview von Tickets zu laden.

Vorraussetzungen

  • JavaScript Grundlagen im Layout Designer
  • Grundlagen ASQL
  • Grundlagen QueryAnalyzer
  • Grundlagen Matrix Administration und Bearbeiten von Layouts

Hinzufügen der Datendefinition QuickCallType

Navigeren zu Administration > Schema > Configuration Items QuickCallSearch Dort nun wie in Setup die Datendefintion LABTAGONCLCCommonClassChecklistItem als optional Multi hinzufügen.


Erstellen des Templates anhand Template Konfiguration


Anpassen und erstellen des QuickCalls

Navigere zu Administration > Service Desk > Configurations > Quick Calls und erstelle ein neues Quick Call Template.

QuickCall


Anpassen des QuickCall Dialogs

Öffne den Layout Designer und ziehe aus der Control-Suche das Labtagon Checklist Control in das Layout. Binde die zuvor hinzugefügte Datendefinition an das Pflichtfeld und wähle das Template aus. quickCallLayout


Anpassen des Preview Layouts

Passe das Layout der Ticket Preview an. Dort musst du nun dynamisch das richtige Template auswählen anhand des Quickcalls. Dies geht am einfachsten, anhand der ID des QuickCalls.

Tip

Um die Id des richtigen QuickCalls herauszufinden kannst du den Query Analyzer von Matrix benutzen.
Dort nehme als Anker Klasse die SPSQuickCallClassBase und gebe dort in den Columns folgendes ein:

ID,T(SPSActivityTemplateClassBase).Name as f
und für die ChecklistTemplateId:

LABTAGONCLCChecklistTemplateClassBase Das Ergbenis dieser Tabelle bedarf keiner weiteren Column clause.

QueryResult

Nun kannst du im Context eine Property anlegen um die Id entsprechend zu wechseln je nach Quick Call.

AddProperty

Bearbeite diese und verwende folgendes Beispiel

 var templateId;

 switch (quickCall.$value) {
    case "dc544c7d-1485-f011-3cab-00155d6f924e":
      return templateId="57e3a76a-1285-f011-3cab-00155d6f924e";
    case "anotherQuickCallId":
      return templateId="anotherChecklistTemplateIdt";
    case "anotherQuickCallId":
      return templateId="anotherChecklistTemplateIdt";
    default:
      return null
  }

return templateId;

Wenn du diesen Ausdruck entsprechend erweiterst um deine eigenen Template und QuickCall Ids wird dir diese Property die richtige Id liefern, welche im Checklist Control zum laden des Templates verwendet wird. PropertyBind