2013-05-09 4 views
0

QJplot을 사용하여 XPages에서 그래프를 플로팅합니다. 이전에는 데이터를 추출하는 버튼, 데이터를 그려주는 버튼 등 전체 프로세스 즉, 버튼을 복사하기 전까지는 문제가 없었습니다. "어떤 이유로 페이지를 업데이트하는 중에 오류가 발생했습니다. $는 아닙니다. 기능. " 브라우저에서 미리보기를하고 오류 콘솔을 보면이 "$ (document) .ready (function() {"

아래의 코드는 동일하지만 유일한 차이점은 값 다른 관점에서 추출된다.

`<xp:scriptBlock id="scriptBlock" rendered="true"> 
<xp:this.value> 
<![CDATA[$(document).ready(function(){ 
     var line1 = #{javascript:return compositeData.Temp}; 
     var line2 = #{javascript:return compositeData.MaxTemp}; 
     var line3 = #{javascript:return compositeData.MinTemp}; 
     var ticks1 = #{javascript:return compositeData.Time}; 

     var plot1 = $.jqplot('chart3', [line1,line2,line3], { 
     title: '#{javascript: return compositeData.title}', 
     animate:#{javascript:return compositeData.animated}, 
      seriesDefaults: { 
       renderer: $.jqplot.LineRenderer, 
       rendererOptions:{lineMargin: 25}, 
       pointLabels:{show:true, stackedValue: true} 
      }, 
      series:[ 
       {label:'#{javascript:return compositeData.legendTemp}'}, 
       {label:'#{javascript:return compositeData.legendMaxTemp}'}, 
       {label:'#{javascript:return compositeData.legendMinTemp}'}, 

      ], 
      legend: { 
       show: #{javascript:return compositeData.legendShow}, 
       placement: '#{javascript:return compositeData.legendPlacement}' 
      }, 
      axes: { 
       xaxis:{ 
       label: "Time (min)", 
       pad: 0, 
       renderer:$.jqplot.CategoryAxisRenderer, 
       ticks: ticks1 
       }, 
       yaxis:{ 
       label: "Temperature (Deg. C)" 
      } 
      } 
     }); 
    }); 
    ]]> 
    </xp:this.value> 
</xp:scriptBlock>` 

너무 작동 뷰로부터 값을 추출하는 코드. 작동하지 않는 버튼 그래프 플롯 예상되는 하나이다.

<xp:button value="Replot Chart" id="refresh_code_plot"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="code_plot"> </xp:eventHandler> </xp:button>

code_plot은 th입니다. e scriptBlock을 포함하는 사용자 정의 컨트롤. 이에 명백한 버그가이 코드

<xc:code_plot id="code_plot" legendMaxTemp="Upper Threshold" legendMinTemp="Lower Threshold" legendTemp="Data" title="Logger Data (Temperature)" cssStyle="width:900px;"> <xc:this.animated><![CDATA[#{javascript:getComponent("animated").getValue();}]]></xc:this.animated> <xc:this.Temp><![CDATA[#{javascript:getComponent("extracted_Temp").getValue();}]]></xc:this.Temp> <xc:this.MaxTemp><![CDATA[#{javascript:getComponent("extracted_MaxTemp").getValue();}]]></xc:this.MaxTemp> <xc:this.MinTemp><![CDATA[#{javascript:getComponent("extracted_MinTemp").getValue();}]]></xc:this.MinTemp> <xc:this.legendShow><![CDATA[#{javascript:"true";}]]></xc:this.legendShow> <xc:this.stackedSeries><![CDATA[#{javascript:getComponent("stackSeries").getValue();}]]></xc:this.stackedSeries> <xc:this.ticks><![CDATA[#{javascript:getComponent("extracted_Time").getValue();}]]></xc:this.ticks> <xc:this.Time><![CDATA[#{javascript:getComponent("extracted_Time").getValue();}]]></xc:this.Time> <xc:this.legendPlacement><![CDATA[#{javascript:getComponent("extracted_Time").getValue()}]]></xc:this.legendPlacement> </xc:code_plot>

를 통해 XPages에 연결되어 있습니까?

답변

1

기본 페이지에 jQuery가 포함되어 있습니까? 네임 스페이스를 인식하지 못합니다.

+0

및 버튼은 작업 예제와 마찬가지로 기본 페이지에 있습니다. 그것을 포함시킬 다른 방법이 없다면? 플러그인은 기본 페이지에도 있습니다. –

2

실제로 jquery 링크가 누락되었습니다. 또한 단순화 :

세 :

{label:'#{javascript:return compositeData.legendTemp}'} 

새로운 :

{label:'#{compositeData.legendTemp}'} 
0

나는이 버그가 수정되었습니다. 다른 사용자 지정 컨트롤을 사용하기 때문에 사용자 지정 속성에서 하나 또는 두 개의 변수를 정의하지 않았으므로 그래프를 플로팅하는 데 사용되는 단추가 작동하지 않습니다. 내가 가진 다른 문제 중 하나는 추출 된 데이터 ID에있었습니다. 그것은 대/소문자를 구분할 때 단추 등을 전송할 때. 일부 ID의 경우가 변경되었습니다.

관련 문제