<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.aspnet.sk/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>xxxmatko blog : dojo, widget, Javascript</title><link>http://blog.aspnet.sk/xxxmatko/archive/tags/dojo/widget/Javascript/default.aspx</link><description>Štítky: dojo, widget, Javascript</description><dc:language>sk-SK</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Esri map - vypnutie Numpad navigation</title><link>http://blog.aspnet.sk/xxxmatko/archive/2012/05/30/esri-map-vypnutie-numpad-navigation.aspx</link><pubDate>Wed, 30 May 2012 09:11:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307205</guid><dc:creator>xxxmatko</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.aspnet.sk/xxxmatko/rsscomments.aspx?PostID=307205</wfw:commentRss><comments>http://blog.aspnet.sk/xxxmatko/archive/2012/05/30/esri-map-vypnutie-numpad-navigation.aspx#comments</comments><description>		&lt;p&gt;
			Asi každý programátor pozná vetu &lt;i&gt;&amp;quot;It&amp;#39;s not a bug, it&amp;#39;s a feature.&amp;quot;&lt;/i&gt;. Väčšinou sa to berie ako vtip, ale niekedy je možné túto vetu použiť ako
			plne kvalifikovanú odpoveď na pripomienku zákazníka/zadávateľa úlohy.
		&lt;/p&gt;
		&lt;p&gt;
			V rámci mapovej aplikácie, postavenej na &lt;a href="http://www.esri.com/" target="_blank"&gt;esri techonlógii&lt;/a&gt; a 
			&lt;a href="http://help.arcgis.com/en/webapi/javascript/arcgis/index.html" target="_blank"&gt;ArcGIS JS API&lt;/a&gt;, prišla pripomienka, že keď má
			užívateľ otvorený v aplikácii nejaký dialóg (napr. vyhľadávací formulár) a zadáva do textbox-u vo formulári čísla cez &lt;b&gt;numpad&lt;/b&gt;,
			tak tieto sa nevkladajú do inkriminovaného textbox-u ale spôsobujú posun mapy. Aby sa čísla zadávali, musí užívateľ klinúť na plochu dialógu.
			No a v tomto prípade naozaj nejde o chybu aplikácie, ale o jej vlastnosť.
		&lt;/p&gt;
		&lt;p&gt;
			&lt;a href="http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi/map.htm" target="_blank"&gt;Esri map widget&lt;/a&gt; totiž odchytáva udalosti 
			&lt;code&gt;moseenter&lt;/code&gt; a &lt;code&gt;moseleave&lt;/code&gt;, v rámci ktorých spúšťa alebo vypína odchytávanie udalosti stlačenia klávesy. Ak dôjde potom k stlačeniu
			klávesy, ktorá vykonáva posun mapy, respektíve jej priblíženie a oddialenie (numpad klávesy + a -), tak sa posunie mapa a event sa už ďalej nepropaguje.
			Preto aj keď užívateľ má focus na danom textbox-e, ale prešiel kurzorom myšky ponad mapu, tak pri použítí &lt;b&gt;numpad&lt;/b&gt;-u sa mu posúva mapa a nezapisujú sa čísla do 
			textového poľa.
		&lt;/p&gt;
		&lt;p&gt;
			Map widget umožňuje pri svojej inicializácii nastaviť parameter 
			&lt;code&gt;&lt;a href="http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi/map.htm#isKeyboardNavigation" target="_blank"&gt;isKeyboardNavigation&lt;/a&gt;&lt;/code&gt;, ktorý
			ak je &lt;code&gt;false&lt;/code&gt;, tak navigácia pomocou klávesnice bude vypnutá (prípadne môžeme použiť metódy 
			&lt;code&gt;&lt;a href="http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi/map.htm#enableKeyboardNavigation" target="_blank"&gt;enableKeyboardNavigation()&lt;/a&gt;&lt;/code&gt; a
			&lt;code&gt;&lt;a href="http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi/map.htm#disbleKeyboardNavigation" target="_blank"&gt;disableKeyboardNavigation()&lt;/a&gt;&lt;/code&gt;). 
			Ak takto vypneme navigáciu, docielime síce, že pri písaní do textbox-u s použitím numpad-u sa nebude mapa posúvať
			a čísla sa budú zapisovať tak ako majú, ale vypneme si aj navigáciu pomocou šípok klávesnice a možnosť priblížiť a oddialiť mapu cez tlačítka + a -, čo je zas tiež
			nežiadúce.
		&lt;/p&gt;
		&lt;p&gt;
			Riešením by bolo mať možnosť vypnúť len navigáciu pomocou &lt;b&gt;numpad&lt;/b&gt;-u. Esri map widget však toto neumožňuje, takže si to musíme umožniť sami ;-). Po preskúmaní 
			map widgetu som našiel metódu &lt;code&gt;_onKeyDownHandler&lt;/code&gt;, ktorá obsluhuje udalosť stlačenia klávesy po prechode kurzora myšky ponad mapu. Stačilo už len
			prepísať túto metódu nasledovne:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;dojo.extend(esri.Map,&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Flag&amp;nbsp;pre&amp;nbsp;vypnutie&amp;nbsp;a&amp;nbsp;zapnutie&amp;nbsp;navigacie&amp;nbsp;cez&amp;nbsp;numpad&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;isNumpadNavigation:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Prepisanie&amp;nbsp;povodného&amp;nbsp;handlera&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_onKeyDownHandler:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&lt;/font&gt;&lt;font color="black"&gt;(evt)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ak&amp;nbsp;je&amp;nbsp;vypnuta&amp;nbsp;celkova&amp;nbsp;navigacia&amp;nbsp;tak&amp;nbsp;nerobim&amp;nbsp;nic&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(!&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.isKeyboardNavigation)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Keyboard&amp;nbsp;navigation&amp;nbsp;is&amp;nbsp;disabled&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Zoznam&amp;nbsp;navigacnych&amp;nbsp;klaves&amp;nbsp;numpad-u&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;numpadKeys&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;[dojo.keys.NUMPAD_1,&amp;nbsp;dojo.keys.NUMPAD_2,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dojo.keys.NUMPAD_3,&amp;nbsp;dojo.keys.NUMPAD_4,&amp;nbsp;dojo.keys.NUMPAD_6,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dojo.keys.NUMPAD_7,&amp;nbsp;dojo.keys.NUMPAD_8,&amp;nbsp;dojo.keys.NUMPAD_9]&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Bola&amp;nbsp;stlacena&amp;nbsp;Numpad&amp;nbsp;klavesa&amp;nbsp;?&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;isNumpad&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;numpadKeys.indexOf(evt.keyCode)&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;-&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ak&amp;nbsp;nie&amp;nbsp;je&amp;nbsp;zapnuta&amp;nbsp;navigacia&amp;nbsp;cez&amp;nbsp;Numpad&amp;nbsp;a&amp;nbsp;bola&amp;nbsp;stlacena&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;klavesanica&amp;nbsp;Numpadu&amp;nbsp;tak&amp;nbsp;nepokracujem&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(!&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.isNumpadNavigation&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;isNumpad)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Numpad&amp;nbsp;navigation&amp;nbsp;is&amp;nbsp;disabled&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Vyvolam&amp;nbsp;original&amp;nbsp;event&amp;nbsp;handler;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.onKeyDown.apply(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;[evt])&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Prepis metódy _onKeyDownHandler
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;p&gt;
			V implementácii som použil volanie &lt;code&gt;&lt;a href="http://dojotoolkit.org/reference-guide/1.7/dojo/extend.html" target="_blank"&gt;dojo.extend&lt;/a&gt;&lt;/code&gt;, ktoré 
			umožňuje rozšíriť, respektíve upraviť, definíciu dojo triedy. Možno v nasledujúcej verzii &lt;b&gt;esri&lt;/b&gt; api budú myslieť už aj na takýto scenár použitia.
		&lt;/p&gt;		
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.aspnet.sk/aggbug.aspx?PostID=307205" width="1" height="1"&gt;</description><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/dojo/default.aspx">dojo</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/widget/default.aspx">widget</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/esri/default.aspx">esri</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/ArcGIS/default.aspx">ArcGIS</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/ArcGIS+JS+API/default.aspx">ArcGIS JS API</category></item><item><title>Javascript help methods - Part 1</title><link>http://blog.aspnet.sk/xxxmatko/archive/2012/04/12/javascript-help-methods-part-1.aspx</link><pubDate>Thu, 12 Apr 2012 09:12:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307179</guid><dc:creator>xxxmatko</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.aspnet.sk/xxxmatko/rsscomments.aspx?PostID=307179</wfw:commentRss><comments>http://blog.aspnet.sk/xxxmatko/archive/2012/04/12/javascript-help-methods-part-1.aspx#comments</comments><description>		&lt;p&gt;
			Z času na čas, počas takého kľudného programovania, sa môže objaviť nejaký malý problém, ktorý treba vyriešiť. 
			Ak je riešenie opakovateľne aplikovateľné a využiteľné aj pri iných podobných situáciách, u mňa realizácia skončí implementáciou tzv. &lt;i&gt;helper&lt;/i&gt; metódy.
			Na tomto mieste by som sa chcel podeliť o moje riešenia týkajúce sa &lt;b&gt;javascriptu&lt;/b&gt;. Možno niekomu pomôžu a uľahčia mu prácu, prípadne prostredníctvom
			konštruktívnych pripomienok budem môcť aj ja sám vylepšiť existujúce riešenia.
		&lt;/p&gt;
		
		&lt;h2&gt;Vyvolanie udalosti na html elemente&lt;/h2&gt;
		&lt;p&gt;
			V ostatnom čase sa dosť intenzívne venujem &lt;b&gt;javascript&lt;/b&gt;-ovému framework-u &lt;b&gt;dojo&lt;/b&gt;. V aplikácii, v ktorej sa v značnej miere využíva widget 
			&lt;a href="http://livedocs.dojotoolkit.org/dijit/Tooltip" target="_blank"&gt;dijit.Tooltip&lt;/a&gt; sa tento prestal skrývať po odídení
			kurzora myšky z daného html prvku, ak na tento prvok bolo predtým kliknuté. Prvok si stále držal focus a &lt;b&gt;tooltip&lt;/b&gt; ostával zobrazený. 
			Po pátraní po internete som zistil, že nie som jediný, kto má problém so správnym skrývaním, respektíve zobrazovaním, &lt;b&gt;tooltipu&lt;/b&gt;. Skúsil som rôzne
			navrhované riešenia, ktoré do istej miery znásilňovali daný widget, ale žiadne z nich nezabralo v mojom prípade. Po preskúmaní správania sa widgetu a html prvkov
			na ktoré bol aplikovaný, som prišiel na riešenie, ktoré zafungovalo. Bolo potrebné &lt;i&gt;&amp;quot;násilne&amp;quot;&lt;/i&gt; vyvolať udalosť &lt;i&gt;&amp;quot;blur&amp;quot;&lt;/i&gt; nad html elementom, pre ktorý
			bol &lt;b&gt;tooltip&lt;/b&gt; vytvorený. A tu je finálna implementácia &lt;code&gt;fireEvent&lt;/code&gt; metódy:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;fireEvent(element,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;string&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;TypeError(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Input&amp;nbsp;event&amp;nbsp;name&amp;nbsp;must&amp;nbsp;of&amp;nbsp;type&amp;nbsp;string.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;((&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(element)&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;===&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;undefined&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;||&amp;nbsp;(element&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;))&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Error(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Element&amp;nbsp;can&amp;nbsp;not&amp;nbsp;be&amp;nbsp;null.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;IE&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;document&lt;/font&gt;&lt;font color="black"&gt;.createEventObject)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;document&lt;/font&gt;&lt;font color="black"&gt;.createEventObject()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;element.fireEvent(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;on&amp;quot;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;evt)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ostatne&amp;nbsp;prehliadace&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;document&lt;/font&gt;&lt;font color="black"&gt;.createEvent(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;HTMLEvents&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Inicializacia&amp;nbsp;eventu&amp;nbsp;(Event&amp;nbsp;type,&amp;nbsp;bubbling,&amp;nbsp;cancelable)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt.initEvent(&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;!element.dispatchEvent(evt)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Metóda pre vyvolanie udalosti nad html elementom
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		
		&lt;h2&gt;Distinct metóda pre polia&lt;/h2&gt;
		&lt;p&gt;
			Na inom mieste som potreboval získať zo vstupného poľa len distinct-né prvky, a už trocha zdeformovaný zo &lt;b&gt;C#&lt;/b&gt;-pu som hneď písal &lt;code&gt;pole.distinct()&lt;/code&gt;. Čuduj sa svete, error ;-).
			Tak som nakoniec rozšíril &lt;b&gt;Array&lt;/b&gt; objekt o metódu distinct takto:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(!&lt;/font&gt;&lt;font color="blue"&gt;Array&lt;/font&gt;&lt;font color="black"&gt;.prototype.distinct)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;Array&lt;/font&gt;&lt;font color="black"&gt;.prototype.distinct&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;distinctArray&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;[]&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&amp;lt;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.length&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i++)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(distinctArray.indexOf(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;[i])&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;===&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;-&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distinctArray.push(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;[i])&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;distinctArray&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						})()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Distinct metóda pre Array objekt
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.aspnet.sk/aggbug.aspx?PostID=307179" width="1" height="1"&gt;</description><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/HTML/default.aspx">HTML</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/dojo/default.aspx">dojo</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/widget/default.aspx">widget</category></item><item><title>Inicializovanie vlastností v dojo widgete</title><link>http://blog.aspnet.sk/xxxmatko/archive/2011/10/10/inicializovanie-vlastnost-237-v-dojo-widgete.aspx</link><pubDate>Mon, 10 Oct 2011 08:32:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307013</guid><dc:creator>xxxmatko</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.aspnet.sk/xxxmatko/rsscomments.aspx?PostID=307013</wfw:commentRss><comments>http://blog.aspnet.sk/xxxmatko/archive/2011/10/10/inicializovanie-vlastnost-237-v-dojo-widgete.aspx#comments</comments><description>Nedávno som narazil na problém pri nastavovaní hodnôt atribútov pre &lt;b&gt;dojo&lt;/b&gt; &lt;b&gt;widget&lt;/b&gt;. Na stránke som mal vytvorené dve rôzne inštancie jedného &lt;b&gt;widgetu&lt;/b&gt;.
			Problém spočíval v tom, že keď som zmenil hodnotu vlastnosti vo widgete &lt;b&gt;A&lt;/b&gt;, tak hodnota, ktorú som do tejto vlastnosti nastavil, sa nastavila aj do tej istej vlastnosti
			vo &lt;b&gt;widgete&lt;/b&gt; &lt;b&gt;B&lt;/b&gt;. Inak povedané, táto vlastnosť sa správala, ako keby bola statickou vlastnosťou a teda prístup k nej bol zdielaný všetkými inštanciami daného
			&lt;b&gt;widgetu&lt;/b&gt;.
		
		&lt;p&gt;
			Všetky atribúty boli zadeklarované presne podľa popisu, ktorý je uvedený na stránke 
			&lt;b&gt;&lt;a href="http://dojotoolkit.org/reference-guide/quickstart/writingWidgets.html#declaring-attributes" target="_blank" title="dojo-declaring-attributes"&gt;doja&lt;/a&gt;&lt;/b&gt;
			v časti &lt;b&gt;&lt;a href="http://dojotoolkit.org/reference-guide/quickstart/writingWidgets.html#declaring-attributes" target="_blank" title="dojo-declaring-attributes"&gt;deklarácia atribútov&lt;/a&gt;&lt;/b&gt;.
			A teda boli zadeklarované v rámci &lt;b&gt;prototypu&lt;/b&gt; spolu s hodnotou, ktorá slúži ako default hodnota, v prípade že pri vytvorení &lt;b&gt;widgetu&lt;/b&gt; nebola žiadna iná hodnota poskytnutá,
			a taktiež definuje aj dátovy typ atribútu pre &lt;b&gt;dojo&lt;/b&gt;.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;dojo.provide(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Sample&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;dijit._Widget&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.declare(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Sample&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;[dijit._Widget],&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_label:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Some&amp;nbsp;label&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_duration:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;100&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_isDisabled:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_startPosition:&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(args,&amp;nbsp;srcNodeRef)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args&amp;nbsp;||&amp;nbsp;{}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._label&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.label&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Some&amp;nbsp;label&amp;quot;&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._duration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.duration&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;100&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._isDisabled&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.isDisabled&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;false;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postCreate:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;coords&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dojo.position(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.domNode)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._startPosition.x&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;coords.x&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._startPosition.y&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;coords.y&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.info(dojo.toJson({&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._label,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disabled:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._isDisabled,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;duration:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._duration,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._startPosition&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Definícia ilustračného widgetu
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;	
		&lt;p&gt;
			Problém si môžeme demonštrovať na vyššie uvedenom &lt;b&gt;wdigete&lt;/b&gt;. Pre &lt;b&gt;widget&lt;/b&gt; boli zadeklarované štyri vlastnosti:
			&lt;/p&gt;&lt;ol&gt;
				&lt;li&gt;&lt;b&gt;_label&lt;/b&gt; : premenná typu string,&lt;/li&gt;
				&lt;li&gt;&lt;b&gt;_duration&lt;/b&gt; : premenná typu int,&lt;/li&gt;
				&lt;li&gt;&lt;b&gt;_isDisabled&lt;/b&gt; : premenná typu bool,&lt;/li&gt;
				&lt;li&gt;&lt;b&gt;_startPosition&lt;/b&gt; : premenná typu object.&lt;/li&gt;					
			&lt;/ol&gt;
			Prvé tri vlastnosti boli bezproblémové a tieto sa nastavovali priamo v konštruktore &lt;b&gt;widgetu&lt;/b&gt;. Kritickou bola posledná vlastnoť &lt;b&gt;_startPosition&lt;/b&gt;, ktorá bola typu &lt;b&gt;object&lt;/b&gt;.
			Táto sa nastavovala automaticky v metóde &lt;b&gt;postCreate&lt;/b&gt; (ktorá sa v rámci životného cyklu &lt;b&gt;widgetu&lt;/b&gt; volá vo chvíli, keď je widget vyrenderovaný na stránke) a slúžila na uchovanie štartovacej pozície
			html elementu, pre ktorý bola vytvorená inštancia widgetu. Widget obsahuje aj pomocnú metódu &lt;b&gt;write&lt;/b&gt;, ktorá do konzoly vypíše hodnoty atribútov. 
			Na stránku som následne pridal dva html elementy a pre ne vytvoril dve rôzne inštancie nášho pokusného &lt;b&gt;widgetu&lt;/b&gt;.
		&lt;p&gt;&amp;nbsp;&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;id&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;smaple1&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;style&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;position:absolute;left:0px;top:0px;&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;id&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;sample2&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;style&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;position:absolute;left:20px;top:20px;&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dojo.addOnLoad(&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;window&lt;/font&gt;&lt;font color="black"&gt;.sample1&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Widgets.Sample({&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;sample1&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;duration:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isDisabled:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;false&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&amp;nbsp;dojo.byId(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;sample1&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window&lt;/font&gt;&lt;font color="black"&gt;.sample2&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Widgets.Sample({&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;sample2&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;duration:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;2&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isDisabled:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&amp;nbsp;dojo.byId(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;sample2&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Vytvorenie dvoch rôznych inštancií pokusného widgetu
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;	
		&lt;p&gt;
			Po zavolaní metódy &lt;b&gt;write&lt;/b&gt; som zistil, že oba &lt;b&gt;widgety&lt;/b&gt; majú atribút &lt;b&gt;_startPosition&lt;/b&gt; nastavený na rovnakú hodnotu reprezentujúcu štartovaciu pozíciu druhého &lt;b&gt;widgetu&lt;/b&gt;, 
			pričom hodnoty ostatných atribútov boli rôzne. Hodnota sa menila súčasne pre oba &lt;b&gt;widgety&lt;/b&gt; aj pri jej nastavení pre prvý a rovnako tak aj pre druhý widget. Odpoveď na otázku: &lt;i&gt;&amp;quot;Prečo je to tak, keď všetko 
			bolo spravené podľa návodu?&amp;quot;&lt;/i&gt; spočíva v tom, ako &lt;b&gt;dojo&lt;/b&gt; vytvára triedy. Keďže &lt;b&gt;javascript&lt;/b&gt; nemá &lt;b&gt;class&lt;/b&gt; systém ako &lt;b&gt;C#&lt;/b&gt;, &lt;b&gt;Java&lt;/b&gt; alebo iné OOP jazyky, dojo simuluje 
			tento prístup prostredníctvom metódy &lt;b&gt;&lt;a href="http://docs.dojocampus.org/dojo/declare" target="_blank" title="dojo.declare"&gt;dojo.declare&lt;/a&gt;&lt;/b&gt;, ktorej tretím vstupným argumentom je objekt,
			ktorý reprezentuje &lt;b&gt;prototype&lt;/b&gt; triedy, a jeho vlastnosti sú skopírované do dynamicky vytvoreného prototypu. No a kľučovým je to &lt;i&gt;&amp;quot;skopírovanie&amp;quot;&lt;/i&gt;. Pri tzv. primitívnych dátových typoch ako sú reťazce, čísla a iné
			nie je problém. Pokiaľ však v objekte reprezentujúcom &lt;b&gt;prototype&lt;/b&gt; triedy zadeklarujeme atribút ako dátový typ &lt;b&gt;object&lt;/b&gt;, tak tento bude do každej novej inštancie widgetu predaný odkazom a teda 
			bude zdieľaný pre každú jednu inštanciu. Inak povedané, pri nastavení atribútu &lt;b&gt;_startPosition&lt;/b&gt; dôjde k prepísaniu hodnoty aj v druhom widgete preto, lebo oba widgety sa odkazujú na tú istú premennú v rámci toho istého
			&lt;b&gt;scope&lt;/b&gt;. A keďže v &lt;b&gt;javascripte&lt;/b&gt; je objekt a pole v podstate to isté, tento istý problém nastáva aj pri poliach. Riešením by bolo, ak by &lt;b&gt;dojo&lt;/b&gt; pri vytváraní &lt;b&gt;protypu&lt;/b&gt; triedy klonoval objekty a 
			polia. To sa však nedeje, a preto pokiaľ chceme zabrániť tomuto &lt;i&gt;&amp;quot;zdielaniu&amp;quot;&lt;/i&gt; musíme upraviť deklaráciu atribútu a jeho incializáciu vykonať až v rámci metódy &lt;b&gt;constructor&lt;/b&gt;, ktorá reprezentuje košntruktor 
			pre triedu.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;dojo.provide(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Sample&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;dijit._Widget&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.declare(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Sample&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;[dijit._Widget],&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_label:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Some&amp;nbsp;label&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_duration:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;100&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_isDisabled:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_startPosition:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(args,&amp;nbsp;srcNodeRef)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args&amp;nbsp;||&amp;nbsp;{}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Inicializacia&amp;nbsp;az&amp;nbsp;v&amp;nbsp;kontruktore&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._startPosition&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y:&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._label&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.label&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Some&amp;nbsp;label&amp;quot;&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._duration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.duration&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;100&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._isDisabled&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;args.isDisabled&amp;nbsp;||&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;false;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//...&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Upravená definícia ilustračného widgetu
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;		
		&lt;p&gt;
			Týmto docielime to, že pri vytvorení nových inštancií nášho &lt;b&gt;widgetu&lt;/b&gt; sa bude premenná &lt;b&gt;_startPosition&lt;/b&gt; odkazovať vždy na novú premennú.
		&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.aspnet.sk/aggbug.aspx?PostID=307013" width="1" height="1"&gt;</description><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/dojo/default.aspx">dojo</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/widget/default.aspx">widget</category><category domain="http://blog.aspnet.sk/xxxmatko/archive/tags/dojo.declare/default.aspx">dojo.declare</category></item></channel></rss>