Manuál

jak.js

Základní nástroje pro práci s "dekorátory". Úvozovky okolo názvu jsou na místě, neb nejde o realizaci návrhového vzoru, ale o naše vlastní, monkeypatch-based řešení.

Návratová hodnotaPopis metody
void JAK ( )
string idGenerator ( )
generátor unikatních ID
function bind ( thisObj )
ES5 Function.prototype.bind Vrací funkci zbindovanou do zadaného kontextu. Zbylé volitelné parametry jsou předány volání vnitřní funkce.
void Date.now ( )
aktuální timestamp dle ES5 - http://dailyjs.com/2010/01/07/ecmascript5-date/
void lpad ( character, count )
Doplneni zadanym znakem zleva na pozadovanou delku
void rpad ( character, count )
Doplneni zadanym znakem zprava na pozadovanou delku
void trim ( )
Oriznuti bilych znaku ze zacatku a konce retezce
void format ( str )
Formatovani data shodne s http://php.net/date
void JAK.ClassMaker ( )
Konstruktor se nevyužívá. Vždy rovnou voláme metody, tedy např.: JAK.ClassMaker.makeClass(...).
void ClassMaker.makeClass ( params, params.NAME, params.VERSION, params.EXTEND, params.IMPLEMENT, params.DEPEND )
Vlastní metoda pro vytvoření třídy, v jediném parametru se dozví informace o třídě, kterou má vytvořit.
void ClassMaker.makeSingleton ( params )
Vlastní metoda pro vytvoření Jedináčka (Singleton), odlišnost od tvorby třídy přes makeClass je, že třídě vytvoří statickou metodu getInstance, která vrací právě jednu instanci a dále, že konstruktor nelze zavolat pomocí new (resp. pokud je alespoň jedna instance vytvořena.) Instance je uschována do vlastnosti třídy _instance
void ClassMaker.makeInterface ( params )
Vlastní metoda pro vytvoření "třídy" charakterizující rozhranní
void ClassMaker.makeStatic ( params, params.NAME, params.VERSION )
Vlastní metoda pro vytvoření statické třídy, tedy jmeného prostoru
void ClassMaker._makeDefaultParams ( params )
Vytvoření defaultních hodnot objektu params, pokud nejsou zadané autorem
void ClassMaker._preMakeTests ( params )
Otestování parametrů pro tvorbu třídy
void ClassMaker._addConstructorProperties ( constructor, params )
Vytvořenému konstruktoru nové třídy musíme do vínku dát výchozí hodnoty a metody
void ClassMaker._getInstance ( )
Statická metoda pro všechny singletony
void ClassMaker._setInheritance ( extend )
Volá vlastní kopírování prototypových vlastností jednotlivých rodičů
void ClassMaker._makeInheritance ( constructor, parent, noSuper )
Provádí vlastní kopírovaní prototypových vlastností z rodiče do potomka pokud je prototypová vlastnost typu object zavolá metodu, která se pokusí vytvořit hlubokou kopii teto vlastnosti
bool, string ClassMaker._testDepend ( depend )
Testuje závislosti vytvářené třídy, pokud jsou nastavené
void ClassMaker._$super ( )
Další pokus o volání předka. Přímo volá stejně pojmenovanou metodu předka a předá jí zadané parametry.
void JAK.Events ( )
Jmenný prostor pro správu událostí
void Events.onDomReady ( obj, func )
metoda kterou použijeme, pokud chceme navěsit vlastní kód na událost, kdy je DOM strom připraven k použití. Je možné navěsit libovolný počet volaných funkcí.
string Events.addListener ( elm, type, obj, func, capture )
Zavěšuje posluchače na danou událost, vytváří a ukládá si anonymní funkci která provede vlastní volání registroveného posluchače tak aby se provedl ve správném oboru platnosti. (this uvnitř posluchače se bude vztahovat k objektu jehož je naslouchající funkce metodou a jako parametry se jí předá odkaz na událost, která byla zachycena a element, na kterém se naslouchalo.)
POZOR! Dle specifikace se nevolá capture posluchač, pokud je navěšený na prvek, na kterém událost vznikla (jen na jeho předcích). Dodržuje to však pouze Opera, Gecko ne (viz https://bugzilla.mozilla.org/show_bug.cgi?id=235441).
array Events._addListener ( elm, type, action, capture )
Vlastní zavěšení posluchače bud DOM kompatibilně, nebo přes attachEvent pro IE
function Events._getMethod ( obj, func, elm, id )
Vytváří funkci/metodu, která bude fungovat jako posluchač události tak aby předaná metoda byla zpracovávána ve správnem oboru platnosti, this bude objekt který ma naslouchat, požadované metodě předává objekt události a element na kterém se naslouchalo
void Events.removeListener ( id )
Odebírání posluchačů události zadáním id, které vrací medoda addListener
void Events._removeListener ( elm, type, action, capture )
provádí skutečné odvěšení posluchačů DOM kompatibilně či pro IE
void Events.removeListeners ( array )
provede odvěšení událostí podle jejich id uložených v poli
void Events.removeAllListeners ( )
provede odvěšení všech posluchačů, kteří jsou uloženi v _eventFolder
void Events.stopEvent ( e )
zastaví probublávaní události stromem dokumentu
void Events.cancelDef ( e )
zruší výchozí akce (definované klientem) pro danou událost (např. prokliknutí odkazu)
void Events.getTarget ( e )
vrací cíl události, tedy na kterém DOM elementu byla vyvolána.
void Events.getInfo ( )
metoda vrací strukturovaný objekt s informacemi o nabindovaných událostech. struktura je vhodná pro bookmarklet Visual Event (http://www.sprymedia.co.uk/article/Visual+Event) od Allana Jardine. Po spuštění jeho JS bookmarkletu jsou navěšené události vizualizovány na dané stránce
void JAK.Browser ( )
Statická třída obsahující vlastnosti platform, client, version a agent, které určují uživatelovo prostředí
void Browser.isOld ( )
Je tento prohlížeč moc starý na používání JAKu?
void Browser.getBrowser ( )
Implicitní konkstruktor, je volán při načtení skriptu
void JAK.DOM ( )
Statický konstruktor, nemá smysl vytvářet jeho instance.
node cel ( tagName, className, id, doc )
Vytvoří DOM node, je možné rovnou zadat CSS třídu a id. Etymologie: cel = cREATE elEMENT
node mel ( tagName, properties, styles, doc )
Vytvoří DOM node, je možné rovnou zadat vlastnosti a css vlastnosti. Etymologie: mel = mAKE elEMENT
node ctext ( str, doc )
Alias pro document.createTextNode. Etymologie: ctext = cREATE text
node gel ( id, doc )
Zjednodušený přístup k metodě DOM document.getElementById. Etymologie: gel = gET elEMENT
node[] query ( query, root )
Vrací pole prvků vyhovujících zadanému CSS1 selektoru
void DOM.append ( pole1...poleN )
Propoji zadané DOM uzly
bool DOM.hasClass ( element, className )
Otestuje, má-li zadany DOM uzel danou CSS třídu
void DOM.addClass ( element, className )
Přidá DOM uzlu CSS třídu. Pokud ji již má, pak neudělá nic.
void DOM.removeClass ( element, className )
Odebere DOM uzlu CSS třídu. Pokud ji nemá, neudělá nic.
void DOM.clear ( element )
Vymaže (removeChild) všechny potomky daného DOM uzlu
object DOM.getDocSize ( )
vrací velikost dokumentu, lze použít ve standardním i quirk módu
object DOM.getBoxPosition ( obj, ref, fixed )
vrací polohu "obj" ve stránce nebo uvnitř objektu který předám jako druhý argument
object DOM.getPortBoxPosition ( obj, parent, fixed )
vrací polohu "obj" v okně nebo uvnitř objektu který předáme jako druhý argument, zahrnuje i potencialni odskrolovani kdekoliv nad objektem Par noticek k výpočtům odscrollovaní:
  • rodič body je html (documentElement), rodič html je document
  • v strict mode má scroll okna nastavené html
  • v quirks mode má scroll okna nastavené body
  • opera dává vždy do obou dvou
  • safari dává vždy jen do body
object DOM.getBoxScroll ( obj, ref, fixed )
vrací dvojici čísel, o kolik je "obj" odscrollovaný vůči oknu nebo vůči zadanému rodičovskému objektu
object DOM.getScrollPos ( )
vrací aktuální odskrolování stránky
void DOM.getStyle ( elm, property )
vraci současnou hodnotu nějaké css vlastnosti
void DOM.setStyle ( elm, style )
nastavuje objektu konkretni styly, ktere jsou zadany v objektu pojmenovanych vlastnosti (nazev_CSS : hodnota)
node DOM.writeStyle ( css )
Přidá do dokumentu zadaný CSS řetězec
void DOM.elementsHider ( HTML, elements, action )
skrývá elementy které se mohou objevit v nejvyšší vrstvě a překrýt obsah, resp. nelze je překrýt dalším obsahem (typicky <SELECT> v internet exploreru)
array DOM.getElementsByClass ( searchClass, node, tag )
Vrátí kolekci elementů, které mají nadefinovanou třídu searchClass
array DOM.arrayFromCollection ( col )
Převede html kolekci, kterou vrací např. document.getElementsByTagName, na pole, které lze lépe procházet a není "živé" (z které se při procházení můžou ztrácet prvky zásahem jiného skriptu)
string[] DOM.separateCode ( str )
Rozdělí kus HTML kódu na ne-javascriptovou a javascriptovou část. Chceme-li pak simulovat vykonání kódu prohlížečem, první část vyinnerHTMLíme a druhou vyevalíme.
int[] DOM.shiftBox ( box )
Spočítá, o kolik je nutno posunout prvek tak, aby byl vidět v průhledu.
int DOM.scrollbarWidth ( )
Zjistí jakou šířku má scrollbar v použitém prohlížeci/grafickém prostředí
void DOM.findParent ( node, selector )
Vrátí rodiče zadaného uzlu, vyhovujícího CSS selektoru
void ObjLib ( )
void Request ( )
void Request.supportsCrossOrigin ( )
Podporuje tento prohlizec CORS?
void $constructor ( type, options, options.async, options.timeout, options.method )
void setHeaders ( headers )
Nastaví hlavičky požadavku
object getHeaders ( )
Vrátí hlavičky odpovědi
void send ( url, data )
Odešle požadavek
bool abort ( )
Přeruší probíhající požadavek
void setCallback ( obj, method )
Nastavení callbacku po dokončení požadavku
void setSendCallback ( obj, method )
Nastavení callbacku po odeslání
void setAbortCallback ( obj, method )
Nastavení callbacku po abortu
void setTimeoutCallback ( obj, method )
Nastavení callbacku po timeoutu
void _setCallback ( obj, method, state )
Interni registrace callbacku pro zadany stav
void _sendXHR ( url, data )
Odeslani pozadavku pres XHR
void _sendScript ( url, data )
Odeslani JSONP pozadavku pres <script>
void _buildURL ( url, data )
Tvorba URL zmixovanim zakladu + dat
void _serializeData ( data )
Serialize dat podle HTML formularu
void _onReadyStateChange ( )
Zmena stavu XHR
void _onXDomainRequestLoad ( )
Nacteni XDomainRequestu
void _scriptCallback ( data )
JSONP callback
void _done ( data, status )
Request uspesne dokoncen
void _timeout ( )
Nastal timeout
void _userCallback ( )
Volani uziv. callbacku
void Signals ( )
id addListener ( owner, type, functionName, sender )
registrace posluchače uživatelské události, pokud je již na stejný druh události zaregistrována shodná metoda shodného objektu nic se neprovede,
void removeListener ( id )
Odstranění naslouchání události.
void removeListeners ( array )
provede odvěšení signálů podle jejich id uložených v poli
void makeEvent ( type, trg, data )
vytváří událost, ukládá ji do zásobníku události a předává ji ke zpracování
void _myEventHandler ( myEvent )
zpracuje událost - spustí metodu, která byla zaragistrována jako posluchač
void ISignals ( )
object setInterface ( interfaceName )
slouží k nalezení rozhraní u rodičovských tříd, hledá v nadřazených třídách třídu, ktera ma nastavenou vlastnost TOP_LEVEL a v ni očekává instanci třídy JAK.Signals s nazvem "interfaceName"
int addListener ( type, handleFunction, sender )
slouží k registraci zachytávaní události nad objektem, který implementuje toto rozhraní
void removeListener ( ID )
Slouží k zrušení zachytáváni události objektem, který implementuje toto rozhraní.
void removeListeners ( array )
Provede odvěšení signálů podle jejich id uložených v poli
void makeEvent ( type, data )
vytváří novou událost, kterou zachytáva instance třídy JAK.Signals
void AbstractDecorator ( )
object decorate ( instance )
Dekorační metoda
void _$super ( )
Metoda volání "předka", magie pro otrlé. Volá stejně pojmenovanou metodu objektu před odekorováním. Pokud je voláno z neodekorované metody, chová se jako $super z ClassMakeru.
void AutoDecorator ( )
void decorate ( instance )
void IDecorable ( )
object decorate ( decorator )
Odekorování této instance zadaným dekorátorem
void Timekeeper ( )
void addListener ( what, method, count )
Přidání posluchače
void removeListener ( what )
Odebrání posluchače
<static> JAK() [constructor]

JAK statický objekt, který se používá pro "zapouzdření" všech definic a deklarací. V podmínce se nalezá pro jistotu, protože může být definován ještě před svou deklarací při použití slovníků, nebo konfigurací.

Vlastnosti:

  • ClassMaker.VERSION (string) - verze třídy
  • ClassMaker.NAME (string) - název třídy
  • Events._eventFolder
  • Browser.platform (string) - platform system uzivatele
  • Browser.client (string) - client prohlizec uzivatele
  • Browser.version (string) - version verze prohlizece
  • Browser.agent (string) - agent hodnota systemove promene "navigator.userAgent"
  • Browser.mouse (object) - mouse objekt s vlastnostmi left, right, middle které lze použít k identifikaci stisknutého tlačítka myši
  • Request.XML
  • Request.TEXT
  • Request.JSONP
  • Request.BINARY
  • signals
<static> string idGenerator()
metoda objektu JAK

generátor unikatních ID

Návratová hodnota:

  • string - unikátní ID
function bind(thisObj)
metoda objektu Function

ES5 Function.prototype.bind Vrací funkci zbindovanou do zadaného kontextu. Zbylé volitelné parametry jsou předány volání vnitřní funkce.

Parametry:

  • thisObj (object) - Nový kontext

Návratová hodnota:

  • function -
<static> Date.now()

aktuální timestamp dle ES5 - http://dailyjs.com/2010/01/07/ecmascript5-date/

lpad(character, count)
metoda objektu String

Doplneni zadanym znakem zleva na pozadovanou delku

Parametry:

  • character () -
  • count () -
rpad(character, count)
metoda objektu String

Doplneni zadanym znakem zprava na pozadovanou delku

Parametry:

  • character () -
  • count () -
trim()
metoda objektu String

Oriznuti bilych znaku ze zacatku a konce retezce

format(str)
metoda objektu Date

Formatovani data shodne s http://php.net/date

Parametry:

  • str () -
<static> JAK.ClassMaker() [constructor]

Konstruktor se nevyužívá. Vždy rovnou voláme metody, tedy např.: JAK.ClassMaker.makeClass(...).

ClassMaker.makeClass(params)
metoda objektu JAK

Vlastní metoda pro vytvoření třídy, v jediném parametru se dozví informace o třídě, kterou má vytvořit.

Parametry:

  • params (object) - parametry pro tvorbu nové třídy
  • params.NAME (string) - povinný název třídy
  • params.VERSION (string) -
  • params.EXTEND (function) -
  • params.IMPLEMENT (function[]) -
  • params.DEPEND (object[]) -
ClassMaker.makeSingleton(params)
metoda objektu JAK

Vlastní metoda pro vytvoření Jedináčka (Singleton), odlišnost od tvorby třídy přes makeClass je, že třídě vytvoří statickou metodu getInstance, která vrací právě jednu instanci a dále, že konstruktor nelze zavolat pomocí new (resp. pokud je alespoň jedna instance vytvořena.) Instance je uschována do vlastnosti třídy _instance

Parametry:

  • params () -
ClassMaker.makeInterface(params)
metoda objektu JAK

Vlastní metoda pro vytvoření "třídy" charakterizující rozhranní

Parametry:

  • params () -
ClassMaker.makeStatic(params)
metoda objektu JAK

Vlastní metoda pro vytvoření statické třídy, tedy jmeného prostoru

Parametry:

  • params (object) - parametry pro tvorbu nové třídy
  • params.NAME (string) - povinný název třídy
  • params.VERSION (string) - verze třídy
ClassMaker._makeDefaultParams(params)
metoda objektu JAK

Vytvoření defaultních hodnot objektu params, pokud nejsou zadané autorem

Parametry:

  • params (object) - parametry pro tvorbu nové třídy
ClassMaker._preMakeTests(params)
metoda objektu JAK

Otestování parametrů pro tvorbu třídy

Parametry:

  • params (object) - parametry pro tvorbu nové třídy
ClassMaker._addConstructorProperties(constructor, params)
metoda objektu JAK

Vytvořenému konstruktoru nové třídy musíme do vínku dát výchozí hodnoty a metody

Parametry:

  • constructor () -
  • params () -
ClassMaker._getInstance()
metoda objektu JAK

Statická metoda pro všechny singletony

ClassMaker._setInheritance(extend)
metoda objektu JAK

Volá vlastní kopírování prototypových vlastností jednotlivých rodičů

Parametry:

  • extend (array) - pole rodicovskych trid
ClassMaker._makeInheritance(constructor, parent, noSuper)
metoda objektu JAK

Provádí vlastní kopírovaní prototypových vlastností z rodiče do potomka pokud je prototypová vlastnost typu object zavolá metodu, která se pokusí vytvořit hlubokou kopii teto vlastnosti

Parametry:

  • constructor (object) - Potomek, jehož nové prototypové vlastnosti nastavujeme
  • parent (object) - Rodič, z jehož vlastnosti 'protype' budeme kopírovat
  • noSuper (bool) - Je-li true, jen kopírujeme vlasnosti (IMPLEMENT)
bool, string ClassMaker._testDepend(depend)
metoda objektu JAK

Testuje závislosti vytvářené třídy, pokud jsou nastavené

Parametry:

  • depend (array) - Pole závislostí, ktere chceme otestovat

Návratová hodnota:

  • bool, string - false = ok, string = error
ClassMaker._$super()
metoda objektu JAK

Další pokus o volání předka. Přímo volá stejně pojmenovanou metodu předka a předá jí zadané parametry.

<static> JAK.Events() [constructor]

Jmenný prostor pro správu událostí

Events.onDomReady(obj, func)
metoda objektu JAK

metoda kterou použijeme, pokud chceme navěsit vlastní kód na událost, kdy je DOM strom připraven k použití. Je možné navěsit libovolný počet volaných funkcí.

Parametry:

  • obj (object) - objekt ve kterém se bude událost zachytávat, pokud je volána globalní funkce musí byt 'window' případně 'document'
  • func (function, string) - funkce, která se bude provádět jako posluchač
string Events.addListener(elm, type, obj, func, capture)
metoda objektu JAK

Zavěšuje posluchače na danou událost, vytváří a ukládá si anonymní funkci která provede vlastní volání registroveného posluchače tak aby se provedl ve správném oboru platnosti. (this uvnitř posluchače se bude vztahovat k objektu jehož je naslouchající funkce metodou a jako parametry se jí předá odkaz na událost, která byla zachycena a element, na kterém se naslouchalo.)
POZOR! Dle specifikace se nevolá capture posluchač, pokud je navěšený na prvek, na kterém událost vznikla (jen na jeho předcích). Dodržuje to však pouze Opera, Gecko ne (viz https://bugzilla.mozilla.org/show_bug.cgi?id=235441).

Parametry:

  • elm (node) - element, který událost zachytává
  • type (string) - název události (bez předpony "on"); možno zadat víc událostí naráz oddělených mezerami
  • obj (object) - objekt, jehož metodu budeme volat
  • func (function, string) - funkce, která se bude provádět jako posluchač string pokud jde o metodu obj nebo reference na funkci, která se zavolá jako metoda obj
  • capture (boolean) - hodnata použitá jako argument capture pro DOM zachytávání, pro IE je ignorována

Návratová hodnota:

  • string - identifikátor handleru v _eventFolder, prostřednictvím kterého se událost odvěšuje
array Events._addListener(elm, type, action, capture)
metoda objektu JAK

Vlastní zavěšení posluchače bud DOM kompatibilně, nebo přes attachEvent pro IE

Parametry:

  • elm (node) - element, který událost zachytává
  • type (string) - typ události bez předpony "on"; možno zadat víc událostí naráz oddělených mezerami
  • action (function) - funkce/metoda která se bude provádět
  • capture (boolean) - hodnota použitá jako argument capture pro DOM zachytávání

Návratová hodnota:

  • array - obsahující argumenty funkce ve shodném pořadí
function Events._getMethod(obj, func, elm, id)
metoda objektu JAK

Vytváří funkci/metodu, která bude fungovat jako posluchač události tak aby předaná metoda byla zpracovávána ve správnem oboru platnosti, this bude objekt který ma naslouchat, požadované metodě předává objekt události a element na kterém se naslouchalo

Parametry:

  • obj (object) - objekt v jehož oboru platnosti se vykoná func po zachycení události
  • func (function) - funkce/metoda, u které chceme aby use dálost zpracovávala
  • elm (node) - Element na kterém se poslouchá (druhý parametr callbacku)
  • id (string) - ID události (třetí parametr callbacku)

Návratová hodnota:

  • function - anonymní funkce, volaná se správnými parametry ve správném kontextu
Events.removeListener(id)
metoda objektu JAK

Odebírání posluchačů události zadáním id, které vrací medoda addListener

Parametry:

  • id (id) - ID události
Events._removeListener(elm, type, action, capture)
metoda objektu JAK

provádí skutečné odvěšení posluchačů DOM kompatibilně či pro IE

Parametry:

  • elm (object) - element na kterém se naslouchalo
  • type (string) - událost, která se zachytávala; možno zadat víc událostí naráz oddělených mezerami
  • action (function) - skutečná funkce, která zpracovávala událost
  • capture (boolean) - pro DOM zpracovávání stejna hodota jako při zavěšování
Events.removeListeners(array)
metoda objektu JAK

provede odvěšení událostí podle jejich id uložených v poli

Parametry:

  • array (array) - pole ID událostí jak je vrací metoda addListener
Events.removeAllListeners()
metoda objektu JAK

provede odvěšení všech posluchačů, kteří jsou uloženi v _eventFolder

Events.stopEvent(e)
metoda objektu JAK

zastaví probublávaní události stromem dokumentu

Parametry:

  • e (object) - zpracovávaná událost
Events.cancelDef(e)
metoda objektu JAK

zruší výchozí akce (definované klientem) pro danou událost (např. prokliknutí odkazu)

Parametry:

  • e (object) - zpracovávaná událost
Events.getTarget(e)
metoda objektu JAK

vrací cíl události, tedy na kterém DOM elementu byla vyvolána.

Parametry:

  • e (object) - událost
Events.getInfo()
metoda objektu JAK

metoda vrací strukturovaný objekt s informacemi o nabindovaných událostech. struktura je vhodná pro bookmarklet Visual Event (http://www.sprymedia.co.uk/article/Visual+Event) od Allana Jardine. Po spuštění jeho JS bookmarkletu jsou navěšené události vizualizovány na dané stránce

<static> JAK.Browser() [constructor]

Statická třída obsahující vlastnosti platform, client, version a agent, které určují uživatelovo prostředí

Browser.isOld()
metoda objektu JAK

Je tento prohlížeč moc starý na používání JAKu?

Browser.getBrowser()
metoda objektu JAK

Implicitní konkstruktor, je volán při načtení skriptu

<static> JAK.DOM() [constructor]

Statický konstruktor, nemá smysl vytvářet jeho instance.

node cel(tagName, className, id, doc)
metoda objektu JAK

Vytvoří DOM node, je možné rovnou zadat CSS třídu a id. Etymologie: cel = cREATE elEMENT

Parametry:

  • tagName (string) - jméno tagu (lowercase)
  • className (string) - název CSS tříd(y)
  • id (string) - id uzlu
  • [doc] (object) - dokument, v jehož kontextu se node vyrobí (default: document)

Návratová hodnota:

  • node -
node mel(tagName, properties, styles, doc)
metoda objektu JAK

Vytvoří DOM node, je možné rovnou zadat vlastnosti a css vlastnosti. Etymologie: mel = mAKE elEMENT

Parametry:

  • tagName (string) - jméno tagu (lowercase)
  • properties (object) - asociativní pole vlastností a jejich hodnot
  • styles (object) - asociativní pole CSS vlastností a jejich hodnot
  • [doc] (object) - dokument, v jehož kontextu se node vyrobí (default: document)

Návratová hodnota:

  • node -
node ctext(str, doc)
metoda objektu JAK

Alias pro document.createTextNode. Etymologie: ctext = cREATE text

Parametry:

  • str (string) - řetězec s textem
  • doc (object) - dokument, v jehož kontextu se node vyrobí (default: document)

Návratová hodnota:

  • node -
node gel(id, doc)
metoda objektu JAK

Zjednodušený přístup k metodě DOM document.getElementById. Etymologie: gel = gET elEMENT

Parametry:

  • id (string, node) - id HTML elementu, který chceme získat nebo element
  • [doc] (object) - dokument, v jehož kontextu se node vyrobí (default: document)

Návratová hodnota:

  • node - HTML element s id = id, pokud existuje, NEBO element specifikovaný jako parametr
node[] query(query, root)
metoda objektu JAK

Vrací pole prvků vyhovujících zadanému CSS1 selektoru

Parametry:

  • query (string) - CSS1 selektor
  • root (node) -

Návratová hodnota:

  • node[] -
DOM.append()
metoda objektu JAK

Propoji zadané DOM uzly

Parametry:

  • pole1...poleN (Array) - libovolný počet polí; pro každé pole se vezme jeho první prvek a ostatní se mu navěsí jako potomci
bool DOM.hasClass(element, className)
metoda objektu JAK

Otestuje, má-li zadany DOM uzel danou CSS třídu

Parametry:

  • element (Object) - DOM uzel
  • className (String) - CSS třída

Návratová hodnota:

  • bool - true|false
DOM.addClass(element, className)
metoda objektu JAK

Přidá DOM uzlu CSS třídu. Pokud ji již má, pak neudělá nic.

Parametry:

  • element (Object) - DOM uzel
  • className (String) - CSS třída
DOM.removeClass(element, className)
metoda objektu JAK

Odebere DOM uzlu CSS třídu. Pokud ji nemá, neudělá nic.

Parametry:

  • element (Object) - DOM uzel
  • className (String) - CSS třída
DOM.clear(element)
metoda objektu JAK

Vymaže (removeChild) všechny potomky daného DOM uzlu

Parametry:

  • element (Object) - DOM uzel
object DOM.getDocSize()
metoda objektu JAK

vrací velikost dokumentu, lze použít ve standardním i quirk módu

Návratová hodnota:

  • object - s vlastnostmi:
    • width - šířka dokumentu
    • height - výška dokumentu
object DOM.getBoxPosition(obj, ref, fixed)
metoda objektu JAK

vrací polohu "obj" ve stránce nebo uvnitř objektu který předám jako druhý argument

Parametry:

  • obj (object) - HTML element, jehož pozici chci zjistit
  • [ref] (object) - volitelný HTML element, vůči kterému chci zjistit pozici obj, element musí být jeho rodič
  • fixed (bool) - volitelný flag, má-li se brát ohled na "fixed" prvky

Návratová hodnota:

  • object - s vlastnostmi :
    • left(px) - horizontální pozice prvku
    • top(px) - vertikální pozice prvku
object DOM.getPortBoxPosition(obj, parent, fixed)
metoda objektu JAK

vrací polohu "obj" v okně nebo uvnitř objektu který předáme jako druhý argument, zahrnuje i potencialni odskrolovani kdekoliv nad objektem Par noticek k výpočtům odscrollovaní:

  • rodič body je html (documentElement), rodič html je document
  • v strict mode má scroll okna nastavené html
  • v quirks mode má scroll okna nastavené body
  • opera dává vždy do obou dvou
  • safari dává vždy jen do body

Parametry:

  • obj (object) - HTML elmenet, jehož pozici chci zjistit
  • parent (object) - volitelný HTML element, vůči kterému chci zjistit pozici obj, element musí být jeho rodič
  • fixed (bool) - volitelný flag, má-li se brát ohled na "fixed" prvky

Návratová hodnota:

  • object - s vlastnostmi :
    • left(px) - horizontalní pozice prvku
    • top(px) - vertikální pozice prvku
object DOM.getBoxScroll(obj, ref, fixed)
metoda objektu JAK

vrací dvojici čísel, o kolik je "obj" odscrollovaný vůči oknu nebo vůči zadanému rodičovskému objektu

Parametry:

  • obj (object) - HTML elmenet, jehož odskrolovaní chci zjistit
  • ref (object) - volitelný HTML element, vůči kterému chci zjistit odskrolování obj, element musí být jeho rodič
  • fixed (bool) - volitelný flag, má-li se brát ohled na "fixed" prvky

Návratová hodnota:

  • object - s vlastnostmi :
    • left(px) - horizontální scroll prvku
    • top(px) - vertikální scroll prvku
object DOM.getScrollPos()
metoda objektu JAK

vrací aktuální odskrolování stránky

Návratová hodnota:

  • object - s vlastnostmi:
    • x(px) - horizontální odskrolování
    • y(px) - vertikální odskrolování
DOM.getStyle(elm, property)
metoda objektu JAK

vraci současnou hodnotu nějaké css vlastnosti

Parametry:

  • elm (object) - HTML elmenet, jehož vlasnost nás zajímá
  • property (string) - řetězec s názvem vlastnosti ("border","backgroundColor",...)
DOM.setStyle(elm, style)
metoda objektu JAK

nastavuje objektu konkretni styly, ktere jsou zadany v objektu pojmenovanych vlastnosti (nazev_CSS : hodnota)

Parametry:

  • elm (object) - HTML element, jehož vlastnosti měním
  • style (object) - objekt nastavovaných vlastností, např.: {color: 'red', backgroundColor: 'white'}
node DOM.writeStyle(css)
metoda objektu JAK

Přidá do dokumentu zadaný CSS řetězec

Parametry:

  • css (string) - Kus CSS deklarací

Návratová hodnota:

  • node - vyrobený prvek
DOM.elementsHider(HTML, elements, action)
metoda objektu JAK

skrývá elementy které se mohou objevit v nejvyšší vrstvě a překrýt obsah, resp. nelze je překrýt dalším obsahem (typicky <SELECT> v internet exploreru)

Parametry:

  • HTML (object, string) - element nebo jeho ID pod kterým chceme skrývat problematické prvky
  • elements (array) - pole obsahující názvy problematických elementů
  • action (string) - akce kterou chceme provést 'hide' pro skrytí 'show' nebo cokoli jiného než hide pro zobrazení
array DOM.getElementsByClass(searchClass, node, tag)
metoda objektu JAK

Vrátí kolekci elementů, které mají nadefinovanou třídu searchClass

Parametry:

  • searchClass (string) - vyhledávaná třída
  • node (object) - element dokumentu, ve kterém se má hledat, je-li null prohledává se celý dokument
  • tag (string) - název tagu na který se má hledání omezit, je-li null prohledávají se všechny elementy

Návratová hodnota:

  • array - pole které obsahuje všechny nalezené elementy, které mají definovanou třídu searchClass
array DOM.arrayFromCollection(col)
metoda objektu JAK

Převede html kolekci, kterou vrací např. document.getElementsByTagName, na pole, které lze lépe procházet a není "živé" (z které se při procházení můžou ztrácet prvky zásahem jiného skriptu)

Parametry:

  • col (HTMLCollection) -

Návratová hodnota:

  • array -
string[] DOM.separateCode(str)
metoda objektu JAK

Rozdělí kus HTML kódu na ne-javascriptovou a javascriptovou část. Chceme-li pak simulovat vykonání kódu prohlížečem, první část vyinnerHTMLíme a druhou vyevalíme.

Parametry:

  • str (string) - HTML kód

Návratová hodnota:

  • string[] - pole se dvěma položkami - čistým HTML a čistým JS
int[] DOM.shiftBox(box)
metoda objektu JAK

Spočítá, o kolik je nutno posunout prvek tak, aby byl vidět v průhledu.

Parametry:

  • box (node) -

Návratová hodnota:

  • int[] -
int DOM.scrollbarWidth()
metoda objektu JAK

Zjistí jakou šířku má scrollbar v použitém prohlížeci/grafickém prostředí

Návratová hodnota:

  • int -
DOM.findParent(node, selector)
metoda objektu JAK

Vrátí rodiče zadaného uzlu, vyhovujícího CSS selektoru

Parametry:

  • node (node) -
  • selector (string) -
ObjLib() [constructor]
metoda objektu JAK

Třída provádí operace s objekty jako je jejich porovnávaní a serializace a deserializace. Obsolete!

Request() [constructor]
metoda objektu JAK

XML/TEXT/JSONP request

Např.:

var r = new JAK.Request(JAK.Request.XML, {method:"get"});
r.setCallback(mujObjekt, "jehoMetoda");
r.send("/dobrerano", {a:b, c:"asdf&asdf"});
Request.supportsCrossOrigin()
metoda objektu JAK

Podporuje tento prohlizec CORS?

$constructor(type, options)
metoda objektu JAK.Request

Parametry:

  • type (int) - Type požadavku, jedna z konstant JAK.Request.*
  • [options] (object) - Konfigurační objekt
  • options.async (bool) -
  • options.timeout (bool) -
  • options.method (bool) -
setHeaders(headers)
metoda objektu JAK.Request

Nastaví hlavičky požadavku

Parametry:

  • headers (object) - Hlavičky (dvojice název:hodnota)
object getHeaders()
metoda objektu JAK.Request

Vrátí hlavičky odpovědi

Návratová hodnota:

  • object - Hlavičky (dvojice název:hodnota)
send(url, data)
metoda objektu JAK.Request

Odešle požadavek

Parametry:

  • url (string) - Cílové URL
  • [data] (string, object) - Data k odeslání
bool abort()
metoda objektu JAK.Request

Přeruší probíhající požadavek

Návratová hodnota:

  • bool - Byl požadavek přerušen?
setCallback(obj, method)
metoda objektu JAK.Request

Nastavení callbacku po dokončení požadavku

Parametry:

  • obj (object, null) -
  • method (function, string) -
setSendCallback(obj, method)
metoda objektu JAK.Request

Nastavení callbacku po odeslání

Parametry:

  • obj () -
  • method () -
setAbortCallback(obj, method)
metoda objektu JAK.Request

Nastavení callbacku po abortu

Parametry:

  • obj () -
  • method () -
setTimeoutCallback(obj, method)
metoda objektu JAK.Request

Nastavení callbacku po timeoutu

Parametry:

  • obj () -
  • method () -
_setCallback(obj, method, state)
metoda objektu JAK.Request

Interni registrace callbacku pro zadany stav

Parametry:

  • obj () -
  • method () -
  • state () -
_sendXHR(url, data)
metoda objektu JAK.Request

Odeslani pozadavku pres XHR

Parametry:

  • url () -
  • data () -
_sendScript(url, data)
metoda objektu JAK.Request

Odeslani JSONP pozadavku pres <script>

Parametry:

  • url () -
  • data () -
_buildURL(url, data)
metoda objektu JAK.Request

Tvorba URL zmixovanim zakladu + dat

Parametry:

  • url () -
  • data () -
_serializeData(data)
metoda objektu JAK.Request

Serialize dat podle HTML formularu

Parametry:

  • data () -
_onReadyStateChange()
metoda objektu JAK.Request

Zmena stavu XHR

_onXDomainRequestLoad()
metoda objektu JAK.Request

Nacteni XDomainRequestu

_scriptCallback(data)
metoda objektu JAK.Request

JSONP callback

Parametry:

  • data () -
_done(data, status)
metoda objektu JAK.Request

Request uspesne dokoncen

Parametry:

  • data () -
  • status () -
_timeout()
metoda objektu JAK.Request

Nastal timeout

_userCallback()
metoda objektu JAK.Request

Volani uziv. callbacku

Signals() [constructor]
metoda objektu JAK

Třída pro práci s uživatelsky definovanými událostmi

Vlastnosti:

  • _myHandleFolder (object) - zásobník posluchačů událostí
  • _myIdFolder (object) - pomocný IDčkový index pro rychlé odebírání - pro ID obsahuje pole typových zásobníků
id addListener(owner, type, functionName, sender)
metoda objektu JAK.Signals

registrace posluchače uživatelské události, pokud je již na stejný druh události zaregistrována shodná metoda shodného objektu nic se neprovede,

Parametry:

  • owner (object) - objekt/třída, která naslouchá, a v jehož oboru platnosti se zpracovaní události provede
  • type (string) - typ události, kterou chceme zachytit; možno zadat víc názvů naráz oddělených mezerami
  • functionName (string) - funkce/metoda posluchače, která má danou událost zpracovat
  • sender (object) - objekt, jehož událost chceme poslouchat. Pokud není zadáno (nebo false), odesilatele nerozlišujeme

Návratová hodnota:

  • id - id události / null
removeListener(id)
metoda objektu JAK.Signals

Odstranění naslouchání události.

Parametry:

  • id (id) - ID události
removeListeners(array)
metoda objektu JAK.Signals

provede odvěšení signálů podle jejich id uložených v poli

Parametry:

  • array (array) - pole ID signálu jak je vrací metoda addListener
makeEvent(type, trg, data)
metoda objektu JAK.Signals

vytváří událost, ukládá ji do zásobníku události a předává ji ke zpracování

Parametry:

  • type (string) - název nové události
  • trg (object) - reference na objekt, který událost vyvolal
  • [data] (object) - objekt s vlastnostmi specifickými pro danou událost
_myEventHandler(myEvent)
metoda objektu JAK.Signals

zpracuje událost - spustí metodu, která byla zaragistrována jako posluchač

Parametry:

  • myEvent (object) - zpracovávaná událost
ISignals() [constructor]
metoda objektu JAK

Rozhraní pro práci s uživatelsky definovanými událostmi a zprávami vyžaduje referenci na instanci třídy JAK.signals, všechny následující metody jsou určeny k použití pouze jako zděděné vlastnosti rozhraní,

object setInterface(interfaceName)
metoda objektu JAK.ISignals

slouží k nalezení rozhraní u rodičovských tříd, hledá v nadřazených třídách třídu, ktera ma nastavenou vlastnost TOP_LEVEL a v ni očekává instanci třídy JAK.Signals s nazvem "interfaceName"

Parametry:

  • interfaceName (string) - název instance třídy JAK.Signals v daném objektu

Návratová hodnota:

  • object - referenci na instanci třídy JAK.Signals
int addListener(type, handleFunction, sender)
metoda objektu JAK.ISignals

slouží k registraci zachytávaní události nad objektem, který implementuje toto rozhraní

Parametry:

  • type (string) - název události, kterou chceme zachytit
  • handleFunction (string) - název metody objektu 'myListener', která bude zpracovávat událost
  • sender (object) - objekt, jehož událost chceme poslouchat. Pokud není zadáno (nebo false), odesilatele nerozlišujeme

Návratová hodnota:

  • int - 1 v případě neúspěchu, 0 v pripade úspěchu
removeListener(ID)
metoda objektu JAK.ISignals

Slouží k zrušení zachytáváni události objektem, který implementuje toto rozhraní.

Parametry:

  • ID (id) - události, kterou jsme zachytávali
removeListeners(array)
metoda objektu JAK.ISignals

Provede odvěšení signálů podle jejich id uložených v poli

Parametry:

  • array (array) - pole ID signálu jak je vrací metoda addListener
makeEvent(type, data)
metoda objektu JAK.ISignals

vytváří novou událost, kterou zachytáva instance třídy JAK.Signals

Parametry:

  • type (string) - název vyvolané události
  • [data] (object) - objekt s vlastnostmi specifickými pro danou událost nebo pouze vnitrnim objektum [private | public]
AbstractDecorator() [constructor]
metoda objektu JAK

Abstraktní dekorátor, jedináček

object decorate(instance)
metoda objektu JAK.AbstractDecorator

Dekorační metoda

Parametry:

  • instance (object) - To, co chceme poupravit

Návratová hodnota:

  • object - Vrací to, co obdrží
_$super()
metoda objektu JAK.AbstractDecorator

Metoda volání "předka", magie pro otrlé. Volá stejně pojmenovanou metodu objektu před odekorováním. Pokud je voláno z neodekorované metody, chová se jako $super z ClassMakeru.

AutoDecorator() [constructor]
metoda objektu JAK

Automatický dekorátor - předá instanci veškeré své metody

decorate(instance)
metoda objektu JAK.AutoDecorator

Parametry:

  • instance () -
IDecorable() [constructor]
metoda objektu JAK

Dekorační rozhraní; implementuje ho ten, kdo chce být dekorován

object decorate(decorator)
metoda objektu JAK.IDecorable

Odekorování této instance zadaným dekorátorem

Parametry:

  • decorator (function) - Konstruktor dekorátoru

Návratová hodnota:

  • object - Vrací this
Timekeeper() [constructor]
metoda objektu JAK

Metronom: udržuje běžící interval (default 60fps nebo requestAnimationFrame) a notifikuje o jeho průběhu všechny zájemce

addListener(what, method, count)
metoda objektu JAK.Timekeeper

Přidání posluchače

Parametry:

  • what (object) - Objekt žádající o notifikaci
  • method (string, function) - Metoda k volání
  • count (int) -
removeListener(what)
metoda objektu JAK.Timekeeper

Odebrání posluchače

Parametry:

  • what (object) - Objekt žádající o odebrání
Documentation generated by JsDoc Toolkit 1.4.0 on Mon Mar 19 2012 11:55:29 GMT+0100 (CET)