console.log() Android-on

2013.05.18. 09:20 stack

Sajnos néha előfordul, hogy az, ami megfelelően viselkedik Chrome alatt, az Android-os eszközön már furcsán, illetve sehogy sem jelenik meg. Hiba esetén se figyelmeztetés, se semmi.

Ha szeretnénk a console.log utasításaink eredményét látni a monitoron fejlesztés közben, akkor a webview-ot a következő utasítással kell kiegészíteni:

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onConsoleMessage(ConsoleMessage cm) {
        Log.i("JavaScript", cm.message() + " - " + cm.sourceId() + ":" + cm.lineNumber());
        return true;
    }
});

Természetesen Firebug console-ról nem beszélhetünk. Csak egy paramétert adhatunk át, és az sem lehet összetett elem. Utóbbira használhatjuk az Ext.encode függvényt, amivel JSON string-é alakíthatjuk a loggolni kívánt értékeket. Azért a semminél sokkal több! :)

Szólj hozzá!

Címkék: debug android console.log

Sencha Touch on Android

2013.05.16. 07:58 stack

GitHub-ra feltöltöttem egy nagyon egyszerű Android alkalmazást, amely Sencha Touch programunkat jeleníti meg, minimális Android-JavaScript kommunikációval.
github.com/turigabor/sleep

A minta program az Alvó mód beállítását valósítja meg.

A teljes anyagból két fájl érdekes most, az egyik a Java fájl, amely elindítja a webalkalmazásunkat, a másik az a JavaScript fájl, amely a webalkalmazásunk lelke.

Maga az webes programunk egy un. WebView komponensen jelenik meg, amelyhez hozzáadhatunk tetszőleges objektumokat, amik meghívhatóak JavaScriptből.

webView.addJavascriptInterface(new JavaScriptInterface(), "android");
window.android.setTime(radio.getValue());

A JavaScriptInterface saját osztály, amelyre semmilyen kikötés nincsen.

Még ami említésre méltó lehet, hogy a HTML fájlt az összes kiegészítőjével az assets mappába kell másolni, majd azt a file:///android_asset/index.html -ként hívhatjuk meg. (valahol egy s betű elveszett:)

Szólj hozzá!

Címkék: android sencha touch

ExtJS állás

2013.05.03. 10:29 stack

Külföldi partnereknek dogozó csapatba keresek angolul jól beszélő programozókat, budapesti munkahelyre.
Elvárás, legalább 3 év projekt tapasztalat az alábbi technológiákkal:
JavaScript, ExtJS, J-Query.
A felvételi a második körtől angolul folyik.
További információk: attila.kovacs.work@gmail.com

komment

Címkék: állás

A velünk élő IE6… :(

2013.01.18. 11:58 stack

Tegnap óta nehezen térek magamhoz, ezt egyszerűen nem akarom elhinni. Sokan már arról írnak, hogy az IE8-at ne támogassa senki, erre meg... új ügyfél, nagy multi, új projektet mutatjuk be és a böngésző IE6. De legalább az user agent-ben is szerepel a cégnév, kiváló reklám. :)

Tetszik - nem tetszik? Lényegtelen. Az intranet esetén nem érvényesek a közösségi szokások. Még hogy 1% alatt, még hogy nem számít?

Szólj hozzá!

Címkék: ie napi szívás

each undefined

2012.12.20. 15:12 stack

$.each(undefined, function () {});
// TypeError: obj is undefined
Ext.each(undefined, Ext.emptyFn);
// hiba nélkül lefut :)

Tudom, összehasonlításnak ez kicsit sovány... :)

Szólj hozzá!

Címkék: jquery undefined

displayInfo -> pagingItems

2012.12.14. 23:43 stack

Felmerült, hogy miként lehetne a PagingToolbar-ban felcserélni a pagingItems-eket és a displayInfo-t? Ha más elemet nem adunk hozzá, akkor szerencsére ez könnyen megoldható. A trükk mindössze annyi, hogy azt mondjuk, hogy mégsem kell displayInfo, mert azt magunk tesszük be. Kiegészítve azzal, hogy a saját elemek kerüljenek előre. Azaz:

Ext.create('Ext.grid.Panel', {
    ...
    bbar: Ext.create('Ext.PagingToolbar', {
        ...
        prependButtons: true,
        displayInfo: false,
        items: [{xtype: 'tbtext', itemId: 'displayItem'}, '->']
    })
});

Szólj hozzá!

Címkék: toolbar paging

3.5 % 1.5

2012.09.28. 09:40 stack

JavaScript: 0.5
PHP: 0 (ugyanis mindkét számot egésszé konvertálja: 3 % 1 = 0, megoldás: fmod)

Szólj hozzá!

Címkék: php napi szívás

GridEditor.onBlur

2012.09.27. 08:30 stack

Egy furcsa hibába ütköztem. A feladat röviden annyi volt, hogy egy TriggerField-et kellett betenni EditorGridPanel-be. Máskülönben a beviteli mezővel semmi gond nem volt, de itt a kiválasztás pillanatában eltűnt, a változás esemény meg már nem jutott el a táblázatig.

Némi kutatás után rájöttem, hogy a blur esemény hibásan fut le, már a lenyíló panel elemre kattintva. Ezután a beviteli mező le lett tiltva, így hiába történt meg a változás.

Két megoldási irány látszódott, vagy a blur eseményt kijavítom, mivel nem saját komponensről volt szó ez kevésbé szimpatikus, vagy a GridEditor-nak adom meg, hogy az eltüntetést kicsit késleltesse:

{
    header: '...',
    dataIndex: '...',
    editor: new Ext.grid.GridEditor(new Ext.ux.TreeSelector(), {
        onBlur: function ()  {
            Ext.grid.GridEditor.prototype.onBlur.defer(100, this, arguments);
        }
     })
}

Ennyi pont elég, hogy a változás esemény hamarabb fusson le, mint az eltüntetés.

Szólj hozzá!

Címkék: editor grid blur trigger napi szívás

ExtJS prezentáció

2012.08.28. 18:43 stack

Nemrég találkoztam egy ExtJS-ről szóló magyar nyelvű prezentációval. Főleg azoknak ajánlom, akik most ismerkednek a rendszerrel: ExtJS + ExtGWT - Horváth András - NetVisor Zrt. (pdf)

Szólj hozzá!

DateField.picker

2012.07.02. 22:51 stack

Nem szeretem, amikor valamely komponenshez tartozó segéd komponens úgy be van égetve a kódba, hogy annak lecserélés csak hosszas munkával, illetve felesleges kódmásolással lehetséges.

Ez a helyzet áll fent a DateField esetén is. Amennyiben egy speciális dátum mezőt készítünk, amelyhez speciális dátumválasztó elem tartozik, akkor a DateField.createPicker függvényt úgy kell felülírni, hogy számtalan – az új osztály szempontjából egyáltalán nem érdekes – kódsort kell lemásolni. A függvényben létrehozzunk egy Ext.picker.Date-t, majd a létrehozott példányon kisebb nagyobb módosítást csinálunk.

Ilyenkor merül fel az a kérdés, hogy melyik kezembe harapjak, vagy tényleg egy majdnem harminc soros függvényt majdnem karakter pontosan lemásolok, vagy...

Szólj hozzá!

Címkék: picker datefield

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (4) alignto (1) állás (3) analytics (1) anchorto (1) android (4) animate (2) array (9) auto (1) back button (1) beautifier (1) beforeevent (1) benchmark (1) blur (1) budapest.js (1) button (1) canvas (1) capture (1) case sensitive (1) center (1) change (1) cikkajánló (1) class (2) closure compiler (1) collapse (1) combobox (3) comment (1) console.log (2) contextmenu (2) core (2) count (1) css (15) csv (1) dataview (1) date (4) datefield (3) datepicker (1) debug (1) doksi (1) dragdrop (1) easing (1) eclipse (1) editor (1) element (5) error (5) eval (2) event (1) fejtörő (1) field (2) fieldset (1) filter (1) firefox (4) firefox extension (2) focus (3) fonts (1) fun (1) function (1) google (2) google chrome (1) grayscale (1) grid (4) group contact (1) header (3) height (2) hidden (1) hirek (2) history (1) htaccess (1) html5 (2) htmleditor (2) https (1) icon (3) id (2) ie (2) ie6 (1) ie9 (1) iframe (3) image (2) indexof (1) javascript (1) jquery (2) jslint (2) jsmin (1) json (7) keymap (1) kipróbálom (2) könyvajánló (2) label (1) layout (1) lint (1) log (1) loop (1) magyar (2) mandelbrot (1) mask (1) math (1) maxlength (1) mistake (1) mysql (5) napi szívás (16) nem extjs (12) node (1) nth child (1) number (1) off (5) offline (1) operator (1) override (20) pagesize (1) paging (2) panel (2) php (7) picker (1) plugin (3) pozicionálás (2) preload (1) print (1) propertygrid (1) pseudo (3) readonly (2) record (1) regexp (1) replace (1) resizable (1) rotate (1) round (1) scale (1) sencha touch (2) server (1) shuffle (1) slider (1) sort (3) sortable (1) store (2) string (7) sum (1) tabchange (1) tabpanel (1) tab key (2) tdd (1) template (1) textarea (2) textfield (1) textitem (1) theme (2) throw (1) timer (1) timestamp (1) title (2) toggle (1) toolbar (6) tools (1) total count (1) transparent (1) tree (1) treenode (1) trigger (1) truncate (1) try (1) ucfirst (1) undefined (2) unique (1) unload (1) urlencode (1) utf8 (2) verzió (1) video (1) viewer (1) viewport (2) visible (2) vtype (1) window (2) xtype (1) zindex (2)

Extjs.blog.hu - RSS

Kérdés?

süti beállítások módosítása