버튼 클릭에 응답하여로드 된 extjs 창에 우수한 fullcalendar를 표시하려고합니다.fullcalendar를 extjs와 통합
다음과 같이 내가 창에 표시 할 달력을 얻을 수:
<!--Set placeholder for jquery fullcalendar called from events grid tbar button-->
<!--I think - set 'items' property on Ext.window to 'calendar' div-->
<div id="hello-win" class="x-hidden">
<div class="x-window-header">Annual Leave Calendar</div>
<!--Placeholder for fullcalendar-->
<div id="calendar">
<script type='text/javascript'>
$(document).ready(function() {
$('#calendar').fullCalendar({});
</script>
</div>
</div>
:
// ... 그리드 설정을 ..
//component bar
tbar: [{
text:'Calendar',
tooltip: 'View leave calendar',
disabled: false,
iconCls:'icon-thisYr',//create icon
handler: function(){
var win;
// create the leave calendar window on the first click and reuse on subsequent clicks
if(!win){
win = new Ext.Window({
layout:'fit',
width:750,
height:750,
closeAction:'hide',
plain: false,
//left: 150,
//top: 10,
items: [
// Set to div id in default.ctp to display jquery fullcalendar when button is clicked.
calendar
],
buttons: [{
text: 'Close',
handler: function(){
win.hide();
}
}]
})
win.show();
}
}
}]
//etc rest of grid
내 default.ctp보기
캘린더가 가끔 나타나기 때문에 이것이 올바른 방법이 아니라고 확신합니다. 그리고 fullcalendar 초기화에 몇 가지 옵션을 추가하면 전혀 표시되지 않습니다.
이 문제에 대한 도움을 주시면 감사하겠습니다.
답변 해 주셔서 감사합니다. 나는 당신이 제안한 autoel을 사용하여 div를 만들었지 만 괜찮습니다. 그러나이 div 내에서 fullcalendar를 활성화하는 방법을 모르겠습니다. –
Window가 생성 될 때까지 기다릴 것입니다. 아마도 activate 이벤트를 듣고 싶을 것입니다. 해당 이벤트를 처리하고 위와 유사한 코드를 사용하여 달력을 만듭니다. $ ('# calendar'). fullCalendar ({}); – Upperstage
나는 당신의 제안을 구현했다. 비록 이벤트가 캘린더에 표시되지만 샘플 이벤트를 캘린더 초기화에 넣으면 치료 효과가있다. backgroundColor를 얻을 수없는 것처럼 보일 수있다 : 'red'가 작동하도록 개별 이벤트). 크롬 디버그에서 엘리먼트는 올바른 CSS가 적용되었지만 (즉, 빨간색), 이는 교차되어 있습니다. 이것은 다른 곳에서 대체되고 있음을 의미합니다. 지금까지 도와 주셔서 감사합니다. –