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í.- JAK
- idGenerator
- bind
- Date.now
- lpad
- rpad
- trim
- format
- JAK.ClassMaker
- ClassMaker.makeClass
- ClassMaker.makeSingleton
- ClassMaker.makeInterface
- ClassMaker.makeStatic
- ClassMaker._makeDefaultParams
- ClassMaker._preMakeTests
- ClassMaker._addConstructorProperties
- ClassMaker._getInstance
- ClassMaker._setInheritance
- ClassMaker._makeInheritance
- ClassMaker._testDepend
- ClassMaker._$super
- JAK.Events
- Events.onDomReady
- Events.addListener
- Events._addListener
- Events._getMethod
- Events.removeListener
- Events._removeListener
- Events.removeListeners
- Events.removeAllListeners
- Events.stopEvent
- Events.cancelDef
- Events.getTarget
- Events.getInfo
- JAK.Browser
- Browser.isOld
- Browser.getBrowser
- JAK.DOM
- cel
- mel
- ctext
- gel
- query
- DOM.append
- DOM.hasClass
- DOM.addClass
- DOM.removeClass
- DOM.clear
- DOM.getDocSize
- DOM.getBoxPosition
- DOM.getPortBoxPosition
- DOM.getBoxScroll
- DOM.getScrollPos
- DOM.getStyle
- DOM.setStyle
- DOM.writeStyle
- DOM.elementsHider
- DOM.getElementsByClass
- DOM.arrayFromCollection
- DOM.separateCode
- DOM.shiftBox
- DOM.scrollbarWidth
- DOM.findParent
- ObjLib
- Request
- Request.supportsCrossOrigin
- $constructor
- setHeaders
- getHeaders
- send
- abort
- setCallback
- setSendCallback
- setAbortCallback
- setTimeoutCallback
- _setCallback
- _sendXHR
- _sendScript
- _buildURL
- _serializeData
- _onReadyStateChange
- _onXDomainRequestLoad
- _scriptCallback
- _done
- _timeout
- _userCallback
- Signals
- addListener
- removeListener
- removeListeners
- makeEvent
- _myEventHandler
- ISignals
- setInterface
- addListener
- removeListener
- removeListeners
- makeEvent
- AbstractDecorator
- decorate
- _$super
- AutoDecorator
- decorate
- IDecorable
- decorate
- Timekeeper
- addListener
- removeListener
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á hodnota | Popis 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í:
|
| 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 - s vlastnostmi:
-
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í
- object - s vlastnostmi:
-
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í
