GlideTimelineItem : global
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, contenir des enfants imbriqués (par exemple, la ligne « Utilisateurs » de niveau supérieur dans la chronologie des ressources de groupe). Le sys_id doit être unique pour que les fonctions de niveau DOM soient analysées correctement. Par défaut, cet objet ne sera pas « abandonnable » parce qu’un nom de table n’a pas été spécifié.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Le nom de la table associée à l’objet actuel. |
| Type | Description |
|---|---|
| nul |
GlideTimelineItem : GlideTimelineItem(String tableName, String sys_id)
Constructeur qui définit la table et sys_id les propriétés requises.
Les autres propriétés de cet objet doivent être définies par l’appelant. Par défaut, cette instance d’objet est « abandonnable » puisqu’un nom de table est spécifié.
| 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. |
| Type | Description |
|---|---|
| nul |
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 de l’instance actuelle. Sinon, un GUID généré de façon aléatoire est utilisé.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Le nom de la table associée à l’objet actuel. |
| 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 actuelle à l’aide de la table et de l’sys_id spécifiés.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Nom de la table associée à l’objet actuel |
| sys_id | Chaîne | Sys_id pour l’objet. |
| 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.
| Nom | Type | Description |
|---|---|---|
| aucun |
| 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é ou non comme « zone de dépôt » lors du déplacement vertical d’éléments de chronologie.
| Nom | Type | Description |
|---|---|---|
| aucun |
| Type | Description |
|---|---|
| Booléen | Vrai si droppable ; faux sinon. |
GlideTimelineItem : getLeftLabelText( )
Renvoie le texte à afficher dans le volet gauche (si activé).
| Nom | Type | Description |
|---|---|---|
| aucun |
| Type | Description |
|---|---|
| Chaîne | La valeur du texte à afficher dans le volet gauche. |
GlideTimelineItem : getParent( )
Renvoie l’unique sysId de l’objet parent du GlideTimelineItem actuel.
| Nom | Type | Description |
|---|---|---|
| aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| aucun |
| Type | Description |
|---|---|
| Tableau d’objets | La liste des objets TimelineSpan associés à l’instance actuelle. |
GlideTimelineItem : isTextBold( )
Indique si le texte du panneau de gauche est défini pour s’afficher en gras.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le texte doit être en gras. Valeurs possibles :
|
L’exemple suivant vérifie si l’état d’un incident est « Nouveau » et met 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) à utiliser comme icône pour l’élément dans le panneau de gauche.
| Nom | Type | Description |
|---|---|---|
| strImageName | Chaîne | Nom de l’image, y compris son chemin d’accès. |
| 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é vers un autre GlideTimelineItem.
| 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 :
|
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment utiliser setIsDraggable() pour permettre à l’objet actuel d’être déplacé vers 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.
| Nom | Type | Description |
|---|---|---|
| strText | Chaîne | Texte à afficher dans le volet gauche de cet élément. |
| 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 du GlideTimelineItem actuel.
| Nom | Type | Description |
|---|---|---|
| sysId | Chaîne | Le sysID du GlideTimelineItem qui doit devenir le parent du GlideTimelineItem actuel. |
| 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.
| Nom | Type | Description |
|---|---|---|
| b | Booléen | Marqueur indiquant si le texte du volet gauche doit être en gras. Valeurs valides :
|
| 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);
}