flot 또는 jqplot에서와 같은 외부 자바 스크립트 차트를 어떻게 extjs 창에 넣을 수 있습니까? extjs가 제공하는 차트를 사용할 수는 있지만 대신 창 안쪽에 flot 또는 jqplot 차트를 넣고 싶습니다.extjs 창 안에 자바 스크립트 차트 넣기
답변
그냥 크리스가 말했듯이 (왜 대답으로 게시하지 않았습니까?).
여기에 완벽한 예입니다 :
Live on jsFiddle (이하 "외부 자원"탭을 확인하십시오; FLOT 코드는 기본적인 예에서)입니다.
Ext.onReady(function() {
Ext.widget('window', {
autoShow: true
,shadow: false
,title: "Flot in ExtJS"
,resizable: true
,margin: 10
,width: 600
,height: 350
,html: '<div class="demo-container">'
+ '<div id="placeholder" class="demo-placeholder"></div>'
+ '</div>'
,listeners: {
resize: function(panel) {
panel.body.down('.demo-container').setSize(panel.body.getSize());
}
,afterrender: function(panel) {
var el = this.body;
el.down('.demo-container').setSize(el.getSize());
var d1 = [];
for (var i = 0; i < 14; i += 0.5) {
d1.push([i, Math.sin(i)]);
}
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
$.plot("#placeholder", [ d1, d2, d3 ]);
}
}
});
});
도움 주셔서 감사합니다. jqplot 올바른 입력 구문을 따를까요? 나는이 일을 시도했지만 결과물을 얻을 수 없으며 모든 올바른 자원을 가지고 있는지 확인했습니다. 여기 jsfiddle가 있습니다 : [link] (http://jsfiddle.net/eKr9m/1/) – user2440909
나는 당신의 바이올린을 보았습니다. 두 가지 문제가 있습니다. 첫 번째 Ext의 CSS가 누락되었습니다. 둘째, jQuery가 jQuery보다 먼저로드되어야합니다 (오류 : "jQuery가 정의되지 않음"참조). 나는 당신의 바이올린에서 그것을 바 꾸었습니다 (업데이트 버전 [here] (http://jsfiddle.net/rixo/eKr9m/2/)). 불행히도 jqplot은 flot이 자동으로 크기를 재조정하지 않으므로 필요한 경우 올바른 옵션을 찾아야합니다. – rixo
두 번째로 내 리소스를 검사해야하는 것처럼 보였습니다. jqplot 웹 페이지에서 크기를 조정하는 코드를 발견했습니다. 당신의 도움을 주셔서 감사합니다! – user2440909
Ext를 통해 플롯 차트를 호스팅 할 수있는 dom 요소에 대한 참조를 가져올 수 있어야합니다. 왜 이것이 작동하지 않을지 모르겠다. 앱에 Ext와 jquery를 모두 포함 할 수있는 이유가 없습니다. 특별히 노력한 것은 작동하지 않는 것입니까? –
방금 ext를 사용하기 시작 했으므로 아직 익숙하지 않았습니다. 원래 flot 코드를 위해 ext.window에서 html 함수를 사용하려고했지만 원래는 작동하지 않았습니다. – user2440909
패널을 만들고'html : "
"'과 같은 설정 옵션을 제공 할 수도 있습니다. 그런 다음 해당 패널의 'Afterrender'리스너에서 플롯 차트 생성을 실행할 수 있습니다. –