QuickTip: ExtJS 4 panel gombok

{lang: 'hu'}

Ma a következő dolog fordult velem elő: létrehoztam egy sima panelt, amelyre definiáltam 3 gombot is. A gombokhoz viszont renderelés után hozzá kellett férnem abból a célból, hogy ha a felhasználónak nincs megfelelő jogosultsága, ne tudja nyomkodni ezeket. Meglepődve tapasztaltam, hogy a panel.buttons property null értékkel rendelkezik, pedig hát ebbe definiáltam. Úgy tűnik az Ext ilyenkor átalakítja ez a tömböt egy ún. dockedItem-é, így renderelés után csak ebben érhetők el a gombok, nem is annyira bonyolult módon:

panel.getDockedComponent(x).getComponent(y);

ahol X a dockedItem indexe (ha nincs másik, akkor 0) és Y az elérni kívánt gomb indexe.

read more

Ext.dd.DragTracker használata

{lang: 'hu'}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var dragTracker = new Ext.dd.DragTracker({
	/* 
	 * Megadható vele, hogy hány pixelnyi
	 * egérmozgás után kezdődjön el a dragging
	 */
	tolerance : 3,
	/*
	 * Az itt megadott értékkel (ms) késlelteti 
	 * a "drag start" eseményt
	 */
	autoStart : 300,
	/*
	 * Ez a függvény hajtódik végre az egér lenyomása után,
	 * első és egyetlen paramétere a mousedown event
	 */
	onBeforeStart: function( e ) {},
	/*
	 * Draggelés közben hajtódik végre folyamatosan,
	 * első és egyetlen paramétere a mousemove event
	 */
	onDrag: function( e ) {},
	/*
	 * Ez a függvény hajtódik végre az egér felengedése után,
	 * első és egyetlen paramétere a mouseup event
	 */
	onEnd: function( e ) {}
 
});
 
/*
 * Az initEl paramétere a figyelni kívánt html elem
 */
dragTracker.initEl( HTMLElement );
read more