GlideTimelineItem - 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기17분
  • GlideTimelineItem 은 추상 ScheduleItem 클래스를 확장하여 타임라인과 관련된 추가 속성을 정의합니다.

    타임라인 항목은 기본적으로 타임라인에서 단일 행으로 표시되는 모든 항목입니다. GlideTimelineItem에 0개 이상의 연결된 범위(TimelineSpan 객체)가 있습니다.

    GlideTimelineItem - createTimelineSpan(tableName 문자열)

    현재 인스턴스 개체와 연결된 새 TimelineSpan 개체를 만듭니다.

    다른 TimelineSpan 개체가 없는 경우 새로 만든 개체는 현재 인스턴스 개체와 동일한 sys_id 개체를 공유합니다. 그렇지 않으면 임의로 생성된 GUID가 사용됩니다.

    표 1. 매개변수
    이름 유형 설명
    tableName 문자열 현재 개체와 연결된 테이블의 이름입니다.
    표 2. 반환
    유형 설명
    객체 새로 만든 span 개체 인스턴스입니다.

    GlideTimelineItem - createTimelineSpan(문자열 tableName, 문자열 sys_id)

    지정된 테이블과 sys_id 사용하여 현재 인스턴스 개체와 연결된 새 TimelineSpan 개체를 만듭니다.

    표 3. 매개변수
    이름 유형 설명
    tableName 문자열 현재 객체와 관련된 테이블의 이름
    sys_id 문자열 객체의 Sys_id입니다.
    표 4. 반환
    유형 설명
    객체 새로 만든 span 객체 인스턴스입니다.

    다음 예제에서는 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과 연결된 이미지 파일의 이름을 지정하는 문자열을 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    문자열 현재 GlideTimelineItem과 연결된 이미지 파일의 이름입니다. 현재 항목과 연결된 이미지가 없으면 빈 문자열("")이 반환됩니다.

    GlideTimelineItem - getIsDroppable( )

    타임라인 요소를 세로로 이동할 때 현재 인스턴스 객체를 "놓기 영역"으로 허용할지 여부를 나타냅니다.

    표 7. 매개변수
    이름 유형 설명
    없음
    표 8. 반환
    유형 설명
    부울 삭제할 수 있는 경우 True입니다. 그렇지 않으면 false입니다.

    GlideTimelineItem - getLeftLabelText( )

    왼쪽 창에 표시할 텍스트를 반환합니다(사용하도록 설정된 경우).

    표 9. 매개변수
    이름 유형 설명
    없음
    표 10. 반환
    유형 설명
    문자열 왼쪽 창에 표시할 텍스트의 값입니다.

    GlideTimelineItem - getParent( )

    현재 GlideTimelineItem의 상위 객체의 고유 sysId 객체를 반환합니다.

    표 11. 매개변수
    이름 유형 설명
    없음
    표 12. 반환
    유형 설명
    문자열 현재 GlideTimelineItem의 상위 객체의 고유 sysId입니다. 부모가 없으면 빈 문자열("")이 반환됩니다.

    GlideTimelineItem - getTimelineSpans( )

    ArrayList의 현재 인스턴스와 연결된 모든 TimelineSpan 개체를 반환합니다.

    표 13. 매개변수
    이름 유형 설명
    없음
    표 14. 반환
    유형 설명
    객체 배열 현재 인스턴스와 연결된 TimelineSpan 개체의 목록입니다.

    GlideTimelineItem - GlideTimelineItem(tableName 문자열)

    "더미" GlideTimelineItem 객체를 만듭니다.

    이는 YMoving을 허용하지 않는 행을 만드는 데 유용합니다. 그러나 중첩된 하위 항목(예: 그룹 자원 타임라인의 최상위 수준 "사용자" 행)을 포함합니다. sys_id DOM 수준 함수가 올바르게 구문 분석되려면 고유해야 합니다. 기본적으로 이 객체는 테이블 이름이 지정되지 않았기 때문에 "삭제 가능"하지 않습니다.

    표 15. 매개변수
    이름 유형 설명
    tableName 문자열 현재 개체와 연결된 테이블의 이름입니다.
    표 16. 반환
    유형 설명
    void

    GlideTimelineItem - GlideTimelineItem(tableName 문자열, sys_id 문자열)

    필요한 테이블과 속성을 설정하는 생성자입니다 sys_id .

    이 개체의 나머지 속성은 호출자가 설정해야 합니다. 기본적으로 이 객체 인스턴스는 테이블 이름이 지정되었으므로 "삭제 가능"합니다.

    표 17. 매개변수
    이름 유형 설명
    tableName 문자열 현재 개체와 연결된 테이블의 이름입니다.
    sys_id 문자열 객체의 시스템 ID입니다.
    표 18. 반환
    유형 설명
    void

    GlideTimelineItem - isTextBold( )

    왼쪽 창 텍스트가 굵은 스타일을 사용하여 표시되도록 설정되었는지 여부를 나타냅니다.

    표 19. 매개변수
    이름 유형 설명
    없음
    표 20. 반환
    유형 설명
    부울 텍스트를 굵게 표시할지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 텍스트가 굵게 표시되어야 합니다.
    • false: 텍스트를 굵게 표시하지 않아야 합니다.

    다음 예제에서는 인시던트의 상태가 "New"인지 확인하고 항목 텍스트를 굵게 설정합니다.

    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(strImageName 문자열)

    왼쪽 창에서 항목의 아이콘으로 사용할 이미지 파일의 이름(경로 포함)을 설정합니다.

    표 21. 매개변수
    이름 유형 설명
    strImageName 문자열 경로를 포함한 이미지의 이름입니다.
    표 22. 반환
    유형 설명
    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으로 끌어올 수 있는지 여부를 설정합니다.

    표 23. 매개변수
    이름 유형 설명
    b 부울 클릭 및 끌기를 사용하여 항목을 이동할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 클릭 및 끌기를 사용하여 항목을 이동할 수 있습니다.
    • false: 클릭 및 끌기를 사용하여 항목을 이동할 수 없습니다.
    표 24. 반환
    유형 설명
    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(strText 문자열)

    이 항목의 왼쪽 창에 표시할 텍스트를 지정합니다.

    표 25. 매개변수
    이름 유형 설명
    strText 문자열 이 항목의 왼쪽 창에 표시할 텍스트입니다.
    표 26. 반환
    유형 설명
    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의 상위 항목을 설정합니다.

    표 27. 매개변수
    이름 유형 설명
    sysId 문자열 현재 GlideTimelineItem의 상위가 되어야 하는 GlideTimelineItem의 sysID입니다.
    표 28. 반환
    유형 설명
    void

    GlideTimelineItem - setTextBold(Boolean b)

    왼쪽 창에서 항목의 텍스트 스타일을 굵게 표시할지 여부를 지정합니다.

    표 29. 매개변수
    이름 유형 설명
    b 부울 왼쪽 창의 텍스트를 굵게 표시할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 텍스트가 굵게 표시되어야 합니다.
    • false: 텍스트를 굵게 표시하지 않아야 합니다.
    표 30. 반환
    유형 설명
    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); 
    }