QuickTip: ExtJS 4 panel gombok
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 moreExt.dd.DragTracker használata
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 ); |