GlideTimelineItem - 전역
GlideTimelineItem API는 추상 ScheduleItem 클래스를 확장하여 타임라인과 관련된 추가 속성을 정의합니다.
타임라인 항목은 기본적으로 타임라인에서 단일 행으로 표시되는 모든 항목입니다. GlideTimelineItem에는 0개 이상의 연결된 범위(TimelineSpan 개체)가 있습니다.
GlideTimelineItem - GlideTimelineItem(문자열, tableName)
"더미" GlideTimelineItem 객체를 생성합니다.
이는 YMoving into를 허용하지 않는 행을 만드는 데 유용합니다. 그러나 중첩된 하위 항목(예: 그룹 자원 타임라인의 최상위 "사용자" 행)을 포함합니다. sys_id DOM 수준 함수가 올바르게 구문 분석하려면 고유해야 합니다. 테이블 이름이 지정되지 않았기 때문에 기본적으로 이 객체는 "삭제 가능"하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| tableName | 문자열 | 현재 객체와 연결된 테이블의 이름입니다. |
| 유형 | 설명 |
|---|---|
| void |
GlideTimelineItem - GlideTimelineItem(String tableName, String sys_id)
필수 테이블과 sys_id 속성을 설정하는 생성자입니다.
이 개체의 나머지 속성은 호출자가 설정해야 합니다. 기본적으로 이 객체 인스턴스는 테이블 이름이 지정되어 있으므로 "삭제 가능"합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| tableName | 문자열 | 현재 객체와 연결된 테이블의 이름입니다. |
| sys_id | 문자열 | 객체의 시스템 ID입니다. |
| 유형 | 설명 |
|---|---|
| void |
GlideTimelineItem - createTimelineSpan(문자열, tableName)
현재 인스턴스 개체와 연결된 새 TimelineSpan 개체를 만듭니다.
다른 TimelineSpan 개체가 없는 경우 새로 만든 개체는 현재 인스턴스 개체와 동일한 sys_id 개체를 공유합니다. 그렇지 않으면 임의로 생성된 GUID가 사용됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| tableName | 문자열 | 현재 객체와 연결된 테이블의 이름입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 새로 만든 span 객체 인스턴스입니다. |
GlideTimelineItem - createTimelineSpan(String tableName, String sys_id)
지정된 테이블 및 sys_id 사용하여 현재 인스턴스 개체와 연결된 새 TimelineSpan 개체를 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| tableName | 문자열 | 현재 객체와 연결된 테이블의 이름 |
| sys_id | 문자열 | 객체에 대한 Sys_id입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 새로 만든 범위 객체 인스턴스입니다. |
다음 예제에서는 createTimelineSpan() 을 사용하여 새 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( )
현재 GlideTimelineItem과 연결된 이미지 파일의 이름을 지정하는 문자열을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 GlideTimelineItem과 연결된 이미지 파일의 이름입니다. 현재 항목과 연결된 이미지가 없으면 빈 문자열("")이 반환됩니다. |
GlideTimelineItem - getIsDroppable( )
타임라인 요소를 세로로 이동할 때 현재 인스턴스 객체를 "끌어 놓기 영역"으로 허용해야 하는지 여부를 나타냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 드롭할 수 있으면 True입니다. false가 아니면 false입니다. |
GlideTimelineItem - getLeftLabelText( )
왼쪽 창에 표시할 텍스트를 반환합니다(활성화된 경우).
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 왼쪽 창에 표시할 텍스트의 값입니다. |
GlideTimelineItem - getParent( )
현재 GlideTimelineItem의 상위 객체의 고유 sysId 항목을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 현재 GlideTimelineItem의 상위 객체의 고유 sysId입니다. 상위 항목이 없으면 빈 문자열("")이 반환됩니다. |
GlideTimelineItem - getTimelineSpans( )
ArrayList의 현재 인스턴스와 연결된 모든 TimelineSpan 개체를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | 현재 인스턴스와 연결된 TimelineSpan 개체의 목록입니다. |
GlideTimelineItem - isTextBold( )
왼쪽 창 텍스트가 굵게 스타일을 사용하여 표시되도록 설정되었는지 여부를 나타냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 텍스트를 굵게 표시할지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 예제에서는 인시던트의 상태가 "신규"인지 확인하고 항목 텍스트를 굵게 설정합니다.
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)
왼쪽 창에서 항목의 아이콘으로 사용할 이미지 파일의 이름(경로 포함)을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| strImageName | 문자열 | 경로를 포함한 이미지의 이름입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 setImage() 를 사용하여 왼쪽 창의 아이콘에 표시할 이미지를 정의하는 방법을 보여 줍니다.
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(부울 b)
현재 인스턴스 객체를 클릭하고 다른 GlideTimelineItem으로 끌 수 있는지 여부를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| b | 부울 | 클릭 앤 끌기를 사용하여 항목을 이동할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| void |
다음 예시에서는 setIsDraggable() 을 사용하여 현재 객체를 다른 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)
이 항목의 왼쪽 창에 표시할 텍스트를 지정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 문자열 텍스트 | 문자열 | 이 항목의 왼쪽 창에 표시할 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 setLeftLabelText() 를 사용하여 왼쪽 창에 텍스트를 설정하는 방법을 보여 줍니다.
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(문자열 sysId)
현재 GlideTimelineItem의 상위 항목을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sysId | 문자열 | 현재 GlideTimelineItem의 상위 항목이 되어야 하는 GlideTimelineItem의 sysID입니다. |
| 유형 | 설명 |
|---|---|
| void |
GlideTimelineItem - setTextBold(부울 b)
왼쪽 창에서 항목의 텍스트 스타일을 굵게 표시할지 여부를 지정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| b | 부울 | 왼쪽 창의 텍스트를 굵게 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 왼쪽 창의 텍스트를 굵게 설정하는 방법을 보여 줍니다.
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);
}