ExtJS Window Component / Tap Panel
window 컴포넌트는 응용프로그램 창으로 사용되기 위한 특수패널이다.
사이즈 조절과 최대/최소화 등이 가능하다.
Windows can also be linked to a Ext.ZIndexManager or managed by the Ext.WindowManager to provide grouping, activation, to front, to back and other application-specific behavior.
By default, Windows will be rendered to document.body. To constrain a Window to another element specify renderTo.
선언
Ext.window.Window로 선언하고, alias는 window다.
1 2 3 4 | Ext.onReady(function(){ var win = Ext.create('Ext.window.Window'); win.show(); }); | cs |
위는 JavaScript 문법으로 변수에 담아 show() 메소드를 호출해 window를 띄운 것이다.
아래와 같은 조그마한 창이 등장한다.
autoShow는 기본값이 false다. 기본적으로 어플리케이션 창으로 활용되기 때문에 선언을 해 놓고 필요한 곳에서 불러오기 때문이다. 아래와 같이 선언하면 위 사진과 동일한 결과가 나온다.
1 2 3 4 5 | Ext.onReady(function(){ Ext.create('Ext.window.Window',{ autoShow: true }); }); | cs |
사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ width:300, height:300, border:true, renderTo:Ext.getBody(), items:[{ xtype:'button', text:'패널버튼' }] }) Ext.create('Ext.window.Window',{ autoShow: true, width:300, height:300, title: 'window title', items: [{ xtype: 'button', text: '버튼' }] }); }); | cs |
panel 안에 버튼을 넣고, window는 따로 선언한 모습.
modal
resizable
크기의 제한
minWidth, minHeight 속성을 부여하면 정해진 값 이하로는 줄일 수 없고
maxWidth, maxHeight 속성을 부여하면 정해진 값 이상으로 늘릴 수 없다.
넷 다 number 값을 가진다.
closable
closable: boolean 을 사용해 창 우측 상단의 종료버튼(X)를 없앨 수 있다. 기본값은 true다.
maximizable
maximizable: boolean 을 사용해 최대화버튼을 활성화할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Ext.create('Ext.window.Window',{ autoShow: true, width:300, height:300, minWidth: 100, minHeight: 100, maxWidth: 500, maxHeight: 500, title: 'window title', modal: true, resizable: false, closable: false, maximizable:true, items: [{ xtype: 'button', text: '버튼' }] }); | cs |
종료버튼(X)를 없애고 최대화 창을 생성했다.
보통은 아래와 같이 handler를 이용해 특정 이벤트가 발생하면 window가 뜨게 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ width:300, height:300, border:true, renderTo:Ext.getBody(), items:[{ xtype:'button', text:'패널버튼', handler : function(btn){ var win = Ext.create('Ext.window.Window',{ width:300, height:300, title: 'window title', modal: true, items: [{ xtype: 'button', text: '버튼' }] }); win.show(); } }] }); | cs |
Tap Panel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Ext.onReady(function(){ Ext.create('Ext.tab.Panel',{ width:500, height:500, renderTo: Ext.getBody(), items:[{ xtype: 'panel', title: 'tab1' },{ xtype: 'panel', title: 'tab2' },{ xtype: 'panel', title: 'tab3' },{ xtype: 'panel', title: 'tab4' }] }); }); | cs |
tabPosition
tabPosition 속성을 이용해 탭의 위치를 변경할 수 있으며, bottom / left / right 등으로 위치를 조정한다.
기본값은 top이다.