2014-03-14 2 views
1

servicenow를 사용하여 작업하기 시작했으며 TimeLines 및 doubleClick 이벤트에 문제가 있습니다. 내가 두 번 때 문제가타임 라인 일정 페이지 이벤트 - Servicenow

일정 페이지

glideTimeline.setReadOnly(true); glideTimeline.showLeftPane(true); 
glideTimeline.registerEvent("getItems", "MyTimelineScriptInclude"); 


function doubleClickCustomFunction(evt) { 
    try { 
     alert('double click: ' + "evt: " + evt + ', target: ' + target); 
     action.setRedirectURL('my_application.do?sys_id=' + target); 
    catch (exception) { 
     gs.log(exception); 
    } 
}, 

MyTimelineScriptInclude

var MyTimelineScriptInclude = Class.create(); 
MyTimelineScriptInclude.prototype = Object.extendsObject(AbstractTimelineSchedulePage, { 


    _getTickets: function(){ 
     tickets = foo(); 
     return tickets; 
    } 

    getItems: function() { 
     try { 

     var ticket_list = this._getTickets(); 

     for (var ticket in ticket_list) { 
      this._representTicket(ticket_list[ticket].sys_id); 
     } 


     } catch(exception) { 
     this._debugLog(exception, "getItemsException"); 
     } 
    }, 


    _representTicket: function(sys_id) { 

     // ticket Object; 
     ticket_object = getTicket(sys_id); 
     var timelineItem = new TimelineItem('my_application' , ticket_object.sys_id); 
     _representSpans(timelineItem , ticket_object); 
     this.add(timelineItem); 


    }, 

    _representSpans: function(timelineItem , ticket_object) { 

     var timelineItemSpan1 = timelineItem.createTimelineSpan(''); // I'm not including any value into the span creator. 
     timelineItemSpan1.setTimeSpan(ticket_object.startDateTime1.getNumericValue() , ticket_object.endDateTime1.getNumericValue()); 
     timelineItemSpan1.setSpanText(ticket_object.spanText); 
     timelineItemSpan1.setSpanColor(ticket_object.spanColor); 
     timelineItemSpan1.setTooltip(ticket_object.spanTooltip); 


     var timelineItemSpan2 = timelineItem.createTimelineSpan(''); // I'm not including any value into the span creator. 
     timelineItemSpan2.setTimeSpan(ticket_object.startDateTime2.getNumericValue() , ticket_object.endDateTime2.getNumericValue()); 
     timelineItemSpan2.setSpanText(ticket_object.spanText); 
     timelineItemSpan2.setSpanColor(ticket_object.spanColor); 
     timelineItemSpan2.setTooltip(ticket_object.spanTooltip); 

     var timelineItemSpan3 = timelineItem.createTimelineSpan(''); // I'm not including any value into the span creator. 
     timelineItemSpan3.setTimeSpan(ticket_object.startDateTime2.getNumericValue() , ticket_object.endDateTime2.getNumericValue()); 
     timelineItemSpan3.setSpanText(ticket_object.spanText); 
     timelineItemSpan3.setSpanColor(ticket_object.spanColor); 
     timelineItemSpan3.setTooltip(ticket_object.spanTooltip); 
    }, 
}); 

:

나는 일정 페이지와 ScriptInclude (의사 코드와 같은 코드를) 구성 타임 라인 행을 클릭하면 doubleClickCustomF가 트리거됩니다. unction하지만 evt 데이터를 가져올 수 없으므로 리디렉션을 수행하지 않습니다.

안부

+0

방법 "doubleClickCustomFunction"을 이벤트 핸들러로 등록하고 있습니까? – Joey

답변

1
ServiceNow로 사용 클라이언트 측 스크립트에서

일정 페이지의 doubleClickCustomFunction가 일정 페이지의 클라이언트 스크립트의 일부인 경우, 서버 측 호출 (action.setRedirect 및 gs.log가) 실패합니다 있도록 .

기본 double click 함수에는 event, this, strRecordSysID, strUserSysID가 포함되어 있습니다. 사용자 지정 doubleclick 재정의를 사용하지 않았으므로이 매개 변수가 자동으로 사용 가능한지 확실하지 않습니다. 그러나,이 같은 elementMoveX보다

기타 다른 사용자 정의 스크립트 내에서 작성된 재정의 포함의 경우는, 당신은 함수 내 window.event를 호출하려고 수있는 것은 클라이언트 스크립트의 일부인 경우