GlideTimelineItem : global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • L’API GlideTimelineItem étend la classe abstraite ScheduleItem pour définir des propriétés supplémentaires spécifiques à la chronologie.

    Un élément de chronologie est essentiellement un élément qui s’affiche dans une ligne singulière sur la chronologie. Un GlideTimelineItem a zéro ou plusieurs étendues associées (objets TimelineSpan).

    GlideTimelineItem : GlideTimelineItem(String tableName)

    Créez un objet GlideTimelineItem « factice ».

    Ceci est utile pour créer des lignes qui n’autorisent aucun YMoving dans ; cependant, contiennent des enfants imbriqués (par exemple, la ligne de niveau supérieur « Utilisateurs » dans la chronologie des ressources de groupe). Le sys_id doit être unique pour que les fonctions au niveau DOM puissent être analysées correctement. Par défaut, cet objet ne sera pas « abandonnable » car aucun nom de table n’a été spécifié.

    Tableau 1. Paramètres
    Nom Type Description
    tableName Chaîne Le nom de la table associée à l’objet actuel.
    Tableau 2. Renvoie
    Type Description
    nul

    GlideTimelineItem : GlideTimelineItem(String tableName, String sys_id)

    Constructeur qui définit la table et sys_id les propriétés requises.

    Le reste des propriétés de cet objet doit être défini par l’appelant. Par défaut, cette instance d’objet est « abandonnable » puisqu’un nom de table est spécifié.

    Tableau 3. Paramètres
    Nom Type Description
    tableName Chaîne Le nom de la table associée à l’objet actuel.
    sys_id Chaîne L’ID système de l’objet.
    Tableau 4. Renvoie
    Type Description
    nul

    GlideTimelineItem : createTimelineSpan(String tableName)

    Crée un nouvel objet TimelineSpan associé à l’objet d’instance actuelle.

    S’il n’existe aucun autre objet TimelineSpan , l’objet nouvellement créé partagera la même sys_id chose que l’objet de l’instance actuelle. Sinon, un GUID généré de manière aléatoire est utilisé.

    Tableau 5. Paramètres
    Nom Type Description
    tableName Chaîne Le nom de la table associée à l’objet actuel.
    Tableau 6. Renvoie
    Type Description
    Objet Instance d’objet span nouvellement créée.

    GlideTimelineItem : createTimelineSpan(String tableName, String sys_id)

    Crée un nouvel objet TimelineSpan associé à l’objet de l’instance actuelle à l’aide de la table et du sys_id spécifiés.

    Tableau 7. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table associée à l’objet actuel
    sys_id Chaîne Sys_id pour l’objet.
    Tableau 8. Renvoie
    Type Description
    Objet Instance d’objet de parcours nouvellement créée.

    L’exemple suivant montre comment utiliser createTimelineSpan() pour créer un nouvel objet TimelineSpan.

    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( )

    Renvoie une chaîne spécifiant le nom du fichier image associé au GlideTimelineItem actuel.

    Tableau 9. Paramètres
    Nom Type Description
    aucun
    Tableau 10. Renvoie
    Type Description
    Chaîne Nom du fichier image associé au GlideTimelineItem actuel. Si aucune image n’est associée à l’élément actuel, une chaîne vide («  ») est renvoyée.

    GlideTimelineItem : getIsDroppable( )

    Indique si l’objet de l’instance actuelle doit être autorisé comme « zone de dépôt » lors du déplacement vertical d’éléments de chronologie.

    Tableau 11. Paramètres
    Nom Type Description
    aucun
    Tableau 12. Renvoie
    Type Description
    Booléen Vrai si largable ; faux sinon.

    GlideTimelineItem : getLeftLabelText( )

    Renvoie le texte à afficher dans le volet gauche (si activé).

    Tableau 13. Paramètres
    Nom Type Description
    aucun
    Tableau 14. Renvoie
    Type Description
    Chaîne Valeur du texte à afficher dans le volet de gauche.

    GlideTimelineItem : getParent( )

    Renvoie l’unique sysId de l’objet parent de GlideTimelineItem actuel.

    Tableau 15. Paramètres
    Nom Type Description
    aucun
    Tableau 16. Renvoie
    Type Description
    Chaîne sysId unique de l’objet parent du GlideTimelineItem actuel. Si le parent n’existe pas, cela renvoie une chaîne vide («  »).

    GlideTimelineItem : getTimelineSpans( )

    Renvoie tous les objets TimelineSpan associés à l’instance actuelle dans une ArrayList.

    Tableau 17. Paramètres
    Nom Type Description
    aucun
    Tableau 18. Renvoie
    Type Description
    Tableau d’objets Liste des objets TimelineSpan associés à l’instance actuelle.

    GlideTimelineItem : isTextBold( )

    Indique si le texte du volet gauche est défini pour s’afficher en gras.

    Tableau 19. Paramètres
    Nom Type Description
    Néant
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si le texte doit être en gras.
    Valeurs possibles :
    • vrai : le texte doit être en gras.
    • false : le texte ne doit pas être en gras.

    L’exemple suivant vérifie si l’état d’un incident est « Nouveau » et définit le texte de l’élément en gras.

    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(Chaîne strImageName)

    Définit le nom du fichier image (y compris son chemin) à utiliser comme icône pour l’élément dans le volet de gauche.

    Tableau 21. Paramètres
    Nom Type Description
    strImageName Chaîne Nom de l’image, y compris son chemin d’accès.
    Tableau 22. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment utiliser setImage() pour définir l’image qui doit apparaître pour l’icône dans le volet gauche.

    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(booléen b)

    Définit si l’objet de l’instance actuelle peut être cliqué et déplacé dans un autre élément GlideTimelineItem.

    Tableau 23. Paramètres
    Nom Type Description
    b Booléen Marqueur indiquant si l’élément peut être déplacé à l’aide d’un clic et d’un glisser-déplacer.
    Valeurs valides :
    • vrai : l’élément peut être déplacé à l’aide d’un clic et d’un glissement.
    • faux : l’élément ne peut pas être déplacé à l’aide d’un clic et glisser.
    Tableau 24. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment utiliser setIsDraggable() pour permettre à l’objet actuel d’être glissé dans un autre GlideTimelineItem.

    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)

    Spécifie le texte à afficher dans le volet gauche de cet élément.

    Tableau 25. Paramètres
    Nom Type Description
    strText Chaîne Texte à afficher dans le volet gauche de cet élément.
    Tableau 26. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment utiliser setLeftLabelText() pour définir le texte dans le volet gauche.

    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)

    Définit le parent de GlideTimelineItem actuel.

    Tableau 27. Paramètres
    Nom Type Description
    sysId Chaîne sysID de GlideTimelineItem qui doit devenir le parent de GlideTimelineItem actuel.
    Tableau 28. Renvoie
    Type Description
    nul

    GlideTimelineItem : setTextBold(booléen b)

    Indique s’il faut ou non mettre en gras le style de texte de l’élément dans le panneau de gauche.

    Tableau 29. Paramètres
    Nom Type Description
    b Booléen Marqueur indiquant si le texte du volet gauche doit être en gras.
    Valeurs valides :
    • vrai : le texte doit être en gras.
    • false : le texte ne doit pas être en gras.
    Tableau 30. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment mettre le texte du volet gauche en gras.

    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); 
    }