GlideTimelineItem – Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 7 Minuten Lesedauer
  • GlideTimelineItem erweitert die abstrakte ScheduleItem-Klasse, um weitere spezifische Zeitachseneigenschaften zu definieren.

    Eine Zeitachse ist im Wesentlichen ein Element, das in einer einzigen Zeile über die Zeitachse angezeigt wird. Ein GlideTimelineItem hat null oder mehr zugeordnete Spannen (TimelineSpan-Objekte).

    GlideTimelineItem – createTimelineSpan(String tableName)

    Erzeugt ein neues TimelineSpan-Objekt, das dem aktuellen Instanzobjekt zugeordnet ist.

    Wenn keine anderen TimelineSpan -Objekte vorhanden sind, verwendet das neu erstellte Objekt dieselbe sys_id wie das aktuelle Instanzobjekt. Andernfalls wird eine zufällig generierte GUID verwendet.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Der Name der Tabelle, die dem aktuellen Objekt zugeordnet ist.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Objekt Die neu erstellte Spannenobjektinstanz.

    GlideTimelineItem – createTimelineSpan(String tableName, String sys_id)

    Erstellt ein neues TimelineSpan -Objekt, das dem aktuellen Instanzobjekt unter Verwendung der angegebenen Tabelle und sys_id zugeordnet ist.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, die dem aktuellen Objekt zugeordnet ist
    sys_id Zeichenfolge Sys_id für das Objekt.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Objekt Neu erstellte Instanz des Spannenobjekts.

    Das folgende Beispiel zeigt, wie createTimelineSpan() verwendet wird, um ein neues TimelineSpan-Objekt zu erstellen.

    var project_id="741cc7491b6f1c5043de32231b4bcbc5"; // Project ID 
    var grUser = new GlideRecord('user_resource');
    grUser.addQuery('planned_task', project_id);
    grUser.setQueryReferences(true);
    grUser.orderBy('user.name', 'DESC');
    grUser.query();
    while (grUser.next()) {
      var item = new GlideTimelineItem(grUser.getTableName(), grUser.user);
      /* Specify the text to display in the left pane for this item. */
      item.setLeftLabelText(grUser.user.name); 
      /* Set the name of the image file (including it's path) */
      item.setImage('../images/icons/user.gifx'); 
      /* Specify whether or not to bold the text style of the item in the left pane. */
      item.setTextBold(true); 
      /* Set whether or not the current instance object can be clicked and dragged into another GlideTimelineItem */
      item.setIsDraggable(true);
      /* Create a new TimelineSpan object associated with the current instance object using the specified table and sys_id. */ 
      item.createTimelineSpan(grUser.getTableName(), grUser.getUniqueValue());
    }

    GlideTimelineItem – getImage( )

    Gibt eine Zeichenfolge zurück, die den Namen der Bilddatei angbit, die dem aktuellen GlideTimelineItem zugeordnet ist.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Der Name der Bilddatei, die dem aktuellen GlideTimelineItem zugeordnet ist. Wenn dem aktuellen Element kein Bild zugeordnet ist, wird eine leere Zeichenfolge ("") zurückgegeben.

    GlideTimelineItem – getIsDroppable( )

    Gibt an, ob das aktuelle Instanzobjekt beim vertikalen Verschieben von Zeitleistenelementen als „Drop-Zone“ zulässig ist.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Boolean „True“, falls verwerfbar; andernfalls „false“.

    GlideTimelineItem – getLeftLabelText( )

    Gibt den Text zurück, der im linken Bereich angezeigt werden soll (falls aktiviert).

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Der Wert des Textes, der im linken Bereich angezeigt werden soll.

    GlideTimelineItem – getParent( )

    Gibt den eindeutigen sysId des aktuellen übergeordneten Objekts von GlideTimelineItemzurück.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Die eindeutige sysId des aktuellen übergeordneten GlideTimelineItem-Objekts. Wenn das übergeordnete Element nicht vorhanden ist, wird eine leere Zeichenfolge ("") zurückgegeben.

    GlideTimelineItem – getTimelineSpans( )

    Gibt alle TimelineSpan-Objekte zurück, die mit der aktuellen Instanz in einer ArrayList verknüpft sind.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    Objekt-Array Die Liste der TimelineSpan-Objekte, die der aktuellen Instanz zugeordnet sind.

    GlideTimelineItem – GlideTimelineItem(String tableName)

    Erstellt ein „Ddummy“-GlideTimelineItem-Objekt.

    Das ist nützlich, wenn Sie Zeilen erstellen, in denen kein YMoving möglich ist. Sie enthalten jedoch verschachtelte untergeordnete Elemente (z. B. die Zeile „Benutzer“ in der obersten Ebene der Zeitleiste der Gruppenressource. sys_id muss eindeutig sein, damit Funktionen auf DOM-Ebene korrekt analysiert werden können. Standardmäßig ist dieses Objekt nicht „verwerfbar“, da kein Tabellenname angegeben wurde.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Der Name der Tabelle, die dem aktuellen Objekt zugeordnet ist.
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    void

    GlideTimelineItem – GlideTimelineItem(String tableName, String sys_id)

    Konstruktor, der die erforderlichen Tabellen- und sys_id -Eigenschaften festlegt.

    Die übrigen Eigenschaften dieses Objekts sollten vom Aufrufer festgelegt werden. Diese Objektinstanz ist standardmäßig „verwerfbar“, da ein Tabellenname angegeben ist.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Der Name der Tabelle, die dem aktuellen Objekt zugeordnet ist.
    sys_id Zeichenfolge Die Sys-ID des Objekts.
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    void

    GlideTimelineItem – isTextBold( )

    Gibt an, ob der Text im linken Bereich fett gedruckt angezeigt werden soll.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der Text fett dargestellt werden soll.
    Mögliche Werte:
    • true: Text sollte fett sein.
    • false: Text darf nicht fett sein.

    Im folgenden Beispiel wird überprüft, ob der Status eines Incident „Neu“ lautet, und der Elementtext wird fett angezeigt.

    var NewIncidentTimelineScriptInclude = Class.create();
    NewIncidentTimelineScriptInclude.prototype = Object.extendsObject(AbstractTimelineSchedulePage, {
    
      getItems: function() {
        // Specify the page title 
        this.setPageTitle('New Incident Timeline');
    
        var groupNew = new GlideTimelineItem('new');
        groupNew.setLeftLabelText('New Incidents');
    
        groupNew.setImage('../images/icons/all.gifx');
        this.add(groupNew);
    
        // Get all the new incidents and add them to a new label 
        var grIncident = new GlideRecord('incident');
        grIncident.query();
        while (grIncident.next()) {
          // Loop through all and capture new incidents 
          if (grIncident.incident_state != '1') continue;
    
          // Create the item and the span item. 
          var item = new GlideTimelineItem(grIncident.getTableName(), grIncident.sys_id);
          var span = item.createTimelineSpan(grIncident.getTableName(), grIncident.sys_id);
    
          if (grIncident.incident_state == '1') { // New
            item.setParent(groupNew.getSysId());
            // Check and set bold text
              item.setTextBold(item.isTextBold() ? false : true);
            } 
          item.setImage('../images/icons/open.gifx');
          span.setTimeSpan(grIncident.getElement('opened_at').getGlideObject().getNumericValue(),
          grIncident.getElement('opened_at').getGlideObject().getNumericValue());
    
          // Show different colors based upon the priorities only for new incidents 
          switch (grIncident.getElement('priority').toString()) {
            case '1':
              span.setPointIconClass('red_circle');
              break;
            case '2':
              span.setPointIconClass('red_square');
              break;
            case '3':
              span.setPointIconClass('blue_circle');
              break;
            case '4':
              span.setPointIconClass('blue_square');
              break;
            case '5':
              span.setPointIconClass('sepia_circle');
              break;
    
              default: // Otherwise, the default point icon class will be used (Milestone)
          }
    
          // Common item properties 
          item.setLeftLabelText(grIncident.short_description);
    
          // Common span properties
          span.setSpanText(grIncident.short_description);
          span.setSpanColor('blue');
          span.setTooltip('<strong>' + GlideStringUtil.escapeHTML(grIncident.short_description) +
            '</strong><br>' + grIncident.number);
          this.add(item);
        }
      }
    
    });

    GlideTimelineItem – setImage(String strImageName)

    Legt den Namen der Bilddatei (einschließlich des Pfads) fest, die als Symbol für das Element im linken Bereich verwendet werden soll.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    strImageName Zeichenfolge Name des Image, einschließlich Pfad.
    Tabelle : 22. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie setImage() verwendet wird, um das Bild zu definieren, das für das Symbol im linken Bereich angezeigt werden soll.

    var project_id="741cc7491b6f1c5043de32231b4bcbc5"; // Project ID 
    var grUser = new GlideRecord('user_resource');
    grUser.addQuery('planned_task', project_id);
    grUser.setQueryReferences(true);
    grUser.orderBy('user.name', 'DESC');
    grUser.query();
    while (grUser.next()) {
      var item = new GlideTimelineItem(grUser.getTableName(), grUser.user);
      /* Specify the text to display in the left pane for this item. */
      item.setLeftLabelText(grUser.user.name); 
      /* Set the name of the image file (including it's path) */
      item.setImage('../images/icons/user.gifx'); 
      /* Specify whether or not to bold the text style of the item in the left pane. */
      item.setTextBold(true); 
      /* Set whether or not the current instance object can be clicked and dragged into another GlideTimelineItem */
      item.setIsDraggable(true); 
    }

    GlideTimelineItem – setIsDraggable(Boolean b)

    Legt fest, ob das aktuelle Instanzobjekt angeklickt und in ein anderes GlideTimelineItem gezogen werden kann.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    b Boolean Kennzeichnung, die angibt, ob das Element durch Klicken und Ziehen verschoben werden kann.
    Gültige Werte:
    • true: Element kann durch Klicken und Ziehen verschoben werden.
    • false: Element kann nicht durch Klicken und Ziehen verschoben werden.
    Tabelle : 24. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie setIsDraggable() verwendet wird, um das aktuelle Objekt in ein anderes GlideTimelineItem ziehen zu können.

    var project_id="741cc7491b6f1c5043de32231b4bcbc5"; // Project ID 
    var grUser = new GlideRecord('user_resource');
    grUser.addQuery('planned_task', project_id);
    grUser.setQueryReferences(true);
    grUser.orderBy('user.name', 'DESC');
    grUser.query();
    while (grUser.next()) {
      var item = new GlideTimelineItem(grUser.getTableName(), grUser.user);
      /* Specify the text to display in the left pane for this item. */
      item.setLeftLabelText(grUser.user.name); 
      /* Set the name of the image file (including it's path) */
      item.setImage('../images/icons/user.gifx'); 
      /* Specify whether or not to bold the text style of the item in the left pane. */
      item.setTextBold(true); 
      /* Set whether or not the current instance object can be clicked and dragged into another GlideTimelineItem */
      item.setIsDraggable(true); 
    }

    GlideTimelineItem – setLeftLabelText(String strText)

    Gibt den Text an, der im linken Bereich für dieses Element angezeigt werden soll.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    strText Zeichenfolge Text, der im linken Bereich für dieses Element angezeigt werden soll.
    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie setLeftLabelText() verwendet wird, um den Text im linken Bereich festzulegen.

    var project_id="741cc7491b6f1c5043de32231b4bcbc5"; // Project ID 
    var grUser = new GlideRecord('user_resource');
    grUser.addQuery('planned_task', project_id);
    grUser.setQueryReferences(true);
    grUser.orderBy('user.name', 'DESC');
    grUser.query();
    while (grUser.next()) {
      var item = new GlideTimelineItem(grUser.getTableName(), grUser.user);
      /* Specify the text to display in the left pane for this item. */
      item.setLeftLabelText(grUser.user.name); 
      /* Set the name of the image file (including it's path) */
      item.setImage('../images/icons/user.gifx'); 
      /* Specify whether or not to bold the text style of the item in the left pane. */
      item.setTextBold(true); 
      /* Set whether or not the current instance object can be clicked and dragged into another GlideTimelineItem */
      item.setIsDraggable(true); 
    }

    GlideTimelineItem – setParent(String sysId)

    Legt das übergeordnete Element des aktuellen GlideTimelineItem fest.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    sysId Zeichenfolge Die sysID des GlideTimelineItem, die das übergeordnete Element des aktuellen GlideTimelineItem werden soll.
    Tabelle : 28. Ergebnisse
    Typ Beschreibung
    void

    GlideTimelineItem – setTextBold(Boolean b)

    Gibt an, ob der Textstil des Elements im linken Bereich fett angezeigt werden soll.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    b Boolean Kennzeichnung, die angibt, ob der Text im linken Bereich fett dargestellt werden soll.
    Gültige Werte:
    • true: Text sollte fett sein.
    • false: Text darf nicht fett sein.
    Tabelle : 30. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie der Text im linken Bereich fett angezeigt wird.

    var project_id="741cc7491b6f1c5043de32231b4bcbc5"; // Project ID 
    var grUser = new GlideRecord('user_resource');
    grUser.addQuery('planned_task', project_id);
    grUser.setQueryReferences(true);
    grUser.orderBy('user.name', 'DESC');
    grUser.query();
    while (grUser.next()) {
      var item = new GlideTimelineItem(grUser.getTableName(), grUser.user);
      /* Specify the text to display in the left pane for this item. */
      item.setLeftLabelText(grUser.user.name); 
      /* Set the name of the image file (including it's path) */
      item.setImage('../images/icons/user.gifx'); 
      /* Specify whether or not to bold the text style of the item in the left pane. */
      item.setTextBold(true); 
      /* Set whether or not the current instance object can be clicked and dragged into another GlideTimelineItem */
      item.setIsDraggable(true); 
    }