GlideTimelineItem : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 7 minutes de lecture
  • GlideTimelineItem étend la classe abstraite ScheduleItem pour définir des propriétés supplémentaires spécifiques à la chronologie.

    Un élément de ligne du temps est essentiellement tout élément qui s’affiche sur une ligne singulière sur la chronologie. Un GlideTimelineItem n’a aucun ou plusieurs parcours associés (objets TimelineSpan).

    GlideTimelineItem : createTimelineSpan(String tableName)

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

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

    Tableau 1. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table associée à l’objet actuel.
    Tableau 2. Renvoie
    Type Description
    Objet L’instance d’objet span nouvellement créée.

    GlideTimelineItem : createTimelineSpan (String tableName, String sys_id)

    Crée un nouvel objet TimelineSpan associé à l’objet d’instance actuel à l’aide de la table et de l’sys_id spécifiées.

    Tableau 3. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table associée à l’objet actuel
    sys_id Chaîne Sys_id de l’objet.
    Tableau 4. Renvoie
    Type Description
    Objet Instance d’objet span 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 5. Paramètres
    Nom Type Description
    aucun
    Tableau 6. 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 d’instance actuel doit être autorisé ou non en tant que « zone de dépôt » lors du déplacement vertical d’éléments de chronologie.

    Tableau 7. Paramètres
    Nom Type Description
    aucun
    Tableau 8. Renvoie
    Type Description
    Booléen Vrai si droppable ; false dans le cas contraire.

    GlideTimelineItem : getLeftLabelText( )

    Renvoie le texte à afficher dans le panneau de gauche (si cette option est activée).

    Tableau 9. Paramètres
    Nom Type Description
    aucun
    Tableau 10. Renvoie
    Type Description
    Chaîne La valeur du texte à afficher dans le panneau de gauche.

    GlideTimelineItem : getParent( )

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

    Tableau 11. Paramètres
    Nom Type Description
    aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne SysId unique de l’objet parent de 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 un ArrayList.

    Tableau 13. Paramètres
    Nom Type Description
    aucun
    Tableau 14. Renvoie
    Type Description
    Tableau d’objets La liste des objets TimelineSpan associés à l’instance actuelle.

    GlideTimelineItem : GlideTimelineItem(String tableName)

    Créez un objet GlideTimelineItem « factice ».

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

    Tableau 15. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table associée à l’objet actuel.
    Tableau 16. 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 « droppable » puisqu’un nom de table est spécifié.

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

    GlideTimelineItem : isTextBold( )

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

    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si le texte doit être en gras.
    Valeurs possibles :
    • true : 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(String strImageName)

    Définit le nom du fichier image (y compris son chemin d’accès) à utiliser comme icône pour l’élément dans le panneau 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 panneau de 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 GlideTimelineItem.

    Tableau 23. Paramètres
    Nom Type Description
    b Booléen Marqueur indiquant si l’élément peut être déplacé par clic et glisser.
    Valeurs valides :
    • true : l’élément peut être déplacé par clic et glisser.
    • false : l’élément ne peut pas être déplacé par clic-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 pour cet élément.
    Tableau 26. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment utiliser setLeftLabelText() pour définir le texte dans le panneau de 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 du GlideTimelineItem actuel.

    Tableau 27. Paramètres
    Nom Type Description
    sysId Chaîne SysID du GlideTimelineItem qui doit devenir le parent du 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 dans le panneau de gauche doit être en gras.
    Valeurs valides :
    • true : 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 en gras le texte dans le panneau de 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); 
    }