WiringEditor.js.html #1

  • //
  • guest/
  • christiane_renck/
  • mergequestjs/
  • main/
  • demos/
  • WireIt/
  • api/
  • WiringEditor.js.html
  • View
  • Commits
  • Open Download .zip Download (97 KB)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>API: editor-plugin   WiringEditor.js  (YUI Library)</title>

	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
	<link rel="stylesheet" type="text/css" href="assets/api.css" />

    <script type="text/javascript" src="assets/api-js"></script>
    <script type="text/javascript" src="assets/ac-js"></script>
</head>

<body id="yahoo-com">

<div id="doc3" class="yui-t2">
	<div id="hd">
        <h1><a href="http://neyric.github.com/wireit" title="WireItLibrary">WireItLibrary</a></h1>
        <h3>editor-plugin&nbsp; <span class="subtitle">0.6.0</span></h3>
        <a href="./index.html" title="WireItLibrary">WireItLibrary</a> 
            &gt; <a href="./module_editor-plugin.html" title="editor-plugin">editor-plugin</a>
                
                 &gt; WiringEditor.js (source view) 
        <form onsubmit="return false">
            <div id="propertysearch">
                Search: <input autocomplete="off" id="searchinput" />
                <div id="searchresults">
                    &nbsp;
                </div>
            </div>
        </form>
	</div>

	<div id="bd">
		<div id="yui-main">
			<div class="yui-b">
            <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
                <fieldset>
                    <legend>Filters</legend>
                <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
                <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
                <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
                </fieldset>
            </form>

                    <div id="srcout">
                        <style>
                            #doc3 .classopts { display:none; }
                        </style>
                        <div class="highlight"><pre><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
    <span class="kd">var</span> <span class="nx">util</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">util</span><span class="o">,</span><span class="nx">lang</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="o">;</span>
    <span class="kd">var</span> <span class="nx">Event</span> <span class="o">=</span> <span class="nx">util</span><span class="p">.</span><span class="nx">Event</span><span class="o">,</span> <span class="nx">Dom</span> <span class="o">=</span> <span class="nx">util</span><span class="p">.</span><span class="nx">Dom</span><span class="o">,</span> <span class="nx">Connect</span> <span class="o">=</span> <span class="nx">util</span><span class="p">.</span><span class="nx">Connect</span><span class="o">,</span><span class="nx">widget</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">widget</span><span class="o">;</span>

<span class="c">/**</span>
<span class="c"> * The WiringEditor class provides a full page interface </span>
<span class="c"> * @class WiringEditor</span>
<span class="c"> * @extends WireIt.BaseEditor</span>
<span class="c"> * @constructor</span>
<span class="c"> * @param {Object} options</span>
<span class="c"> */</span>
<span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span> <span class="p">{</span>

	 <span class="c">/**</span>
<span class="c">	  * Hash object to reference module definitions by their name</span>
<span class="c">	  * @property modulesByName</span>
<span class="c">	  * @type {Object}</span>
<span class="c">	  */</span>
   <span class="k">this</span><span class="p">.</span><span class="nx">modulesByName</span> <span class="o">=</span> <span class="p">{};</span>
	<span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="p">.</span><span class="nx">superclass</span><span class="p">.</span><span class="nx">constructor</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">options</span><span class="p">);</span>

	 <span class="c">// LoadWirings</span>
	 <span class="k">if</span><span class="p">(</span> <span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">init</span> <span class="o">&amp;&amp;</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">init</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">init</span><span class="p">();</span>
 	 <span class="p">}</span>
	 <span class="k">this</span><span class="p">.</span><span class="nx">load</span><span class="p">();</span>
<span class="p">};</span>

<span class="nx">lang</span><span class="p">.</span><span class="nx">extend</span><span class="p">(</span><span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="o">,</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">BaseEditor</span><span class="o">,</span> <span class="p">{</span>

	 <span class="c">/**</span>
<span class="c">	  * @method setOptions</span>
<span class="c">	  * @param {Object} options</span>
<span class="c">	  */</span>
	 <span class="nx">setOptions</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span> <span class="p">{</span>
    
		<span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="p">.</span><span class="nx">superclass</span><span class="p">.</span><span class="nx">setOptions</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">options</span><span class="p">);</span>
    
	    <span class="c">// Load the modules from options</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">modules</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">modules</span> <span class="o">||</span> <span class="p">[];</span>
	    <span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">modules</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	       <span class="kd">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">modules</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">modulesByName</span><span class="p">[</span><span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="nx">m</span><span class="o">;</span>
	    <span class="p">}</span>

		 <span class="k">this</span><span class="p">.</span><span class="nx">adapter</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">adapter</span> <span class="o">||</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="p">.</span><span class="nx">adapters</span><span class="p">.</span><span class="nx">JsonRpc</span><span class="o">;</span>
     
	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">languageName</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">languageName</span> <span class="o">||</span> <span class="s1">&#39;anonymousLanguage&#39;</span><span class="o">;</span>
     
	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span> <span class="o">=</span> <span class="p">{};</span>
	    <span class="kd">var</span> <span class="nx">layerOptions</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span> <span class="o">||</span> <span class="p">{};</span>
	

	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span><span class="p">.</span><span class="nx">parentEl</span> <span class="o">=</span> <span class="nx">layerOptions</span><span class="p">.</span><span class="nx">parentEl</span> <span class="o">?</span> <span class="nx">layerOptions</span><span class="p">.</span><span class="nx">parentEl</span> <span class="o">:</span> <span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;center&#39;</span><span class="p">);</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span><span class="p">.</span><span class="nx">layerMap</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isUndefined</span><span class="p">(</span><span class="nx">layerOptions</span><span class="p">.</span><span class="nx">layerMap</span><span class="p">)</span> <span class="o">?</span> <span class="kc">true</span> <span class="o">:</span> <span class="nx">layerOptions</span><span class="p">.</span><span class="nx">layerMap</span><span class="o">;</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span><span class="p">.</span><span class="nx">layerMapOptions</span> <span class="o">=</span> <span class="nx">layerOptions</span><span class="p">.</span><span class="nx">layerMapOptions</span> <span class="o">||</span> <span class="p">{</span> <span class="nx">parentEl</span><span class="o">:</span> <span class="s1">&#39;layerMap&#39;</span> <span class="p">};</span>

	 	 <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">modulesAccordionViewParams</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">merge</span><span class="p">({</span>
														<span class="nx">collapsible</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span> 
														<span class="nx">expandable</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span> <span class="c">// remove this parameter to open only one panel at a time</span>
														<span class="nx">width</span><span class="o">:</span> <span class="s1">&#39;auto&#39;</span><span class="o">,</span> 
														<span class="nx">expandItem</span><span class="o">:</span> <span class="mi">0</span><span class="o">,</span> 
														<span class="nx">animationSpeed</span><span class="o">:</span> <span class="s1">&#39;0.3&#39;</span><span class="o">,</span> 
														<span class="nx">animate</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span> 
														<span class="nx">effect</span><span class="o">:</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">Easing</span><span class="p">.</span><span class="nx">easeBothStrong</span>
													<span class="p">}</span><span class="o">,</span><span class="nx">options</span><span class="p">.</span><span class="nx">modulesAccordionViewParams</span> <span class="o">||</span> <span class="p">{});</span>
													
		 <span class="c">// Grouping options</span>
	    <span class="kd">var</span> <span class="nx">temp</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
	    <span class="kd">var</span> <span class="nx">baseConfigFunction</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span>  <span class="p">{</span> 
				<span class="k">return</span> <span class="p">(</span><span class="nx">name</span> <span class="o">==</span> <span class="s2">&quot;Group&quot;</span><span class="p">)</span> <span class="o">?</span> <span class="p">({</span>
			    <span class="s2">&quot;xtype&quot;</span><span class="o">:</span> <span class="s2">&quot;WireIt.GroupFormContainer&quot;</span><span class="o">,</span>
			    <span class="s2">&quot;title&quot;</span><span class="o">:</span> <span class="s2">&quot;Group&quot;</span><span class="o">,</span>    

			    <span class="s2">&quot;collapsible&quot;</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
			    <span class="s2">&quot;fields&quot;</span><span class="o">:</span> <span class="p">[</span> <span class="p">]</span><span class="o">,</span>
			    <span class="s2">&quot;legend&quot;</span><span class="o">:</span> <span class="s2">&quot;Inner group fields&quot;</span><span class="o">,</span>
			    <span class="s2">&quot;getBaseConfigFunction&quot;</span> <span class="o">:</span> <span class="nx">baseConfigFunction</span>
				<span class="p">})</span> <span class="o">:</span> <span class="nx">temp</span><span class="p">.</span><span class="nx">modulesByName</span><span class="p">[</span><span class="nx">name</span><span class="p">].</span><span class="nx">container</span><span class="o">;</span>
		<span class="p">};</span>

	    <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span><span class="p">.</span><span class="nx">grouper</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;baseConfigFunction&quot;</span><span class="o">:</span> <span class="nx">baseConfigFunction</span> <span class="p">};</span>
	
	 <span class="p">}</span><span class="o">,</span>


	<span class="c">/**</span>
<span class="c">	 * Add the rendering of the layer</span>
<span class="c">	 */</span>
  	<span class="nx">render</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>

		 <span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="p">.</span><span class="nx">superclass</span><span class="p">.</span><span class="nx">render</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="k">this</span><span class="p">);</span>
	
	    <span class="c">/**</span>
<span class="c">	     * @property layer</span>
<span class="c">	     * @type {WireIt.Layer}</span>
<span class="c">	     */</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">layer</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">Layer</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">layerOptions</span><span class="p">);</span>
		 <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">eventChanged</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">onLayerChanged</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="p">);</span>

		 <span class="c">// Left Accordion</span>
		 <span class="k">this</span><span class="p">.</span><span class="nx">renderModulesAccordion</span><span class="p">();</span>

	    <span class="c">// Render module list</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">buildModulesList</span><span class="p">();</span>
  	<span class="p">}</span><span class="o">,</span>

	<span class="c">/**</span>
<span class="c">	 * render the modules accordion in the left panel</span>
<span class="c">	 */</span>
	<span class="nx">renderModulesAccordion</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		
		<span class="c">// Create the modules accordion DOM if not found</span>
		<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;modulesAccordionView&#39;</span><span class="p">))</span> <span class="p">{</span>
			<span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;left&#39;</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;ul&#39;</span><span class="o">,</span> <span class="p">{</span><span class="nx">id</span><span class="o">:</span> <span class="s1">&#39;modulesAccordionView&#39;</span><span class="p">})</span> <span class="p">);</span>
			<span class="kd">var</span> <span class="nx">li</span> <span class="o">=</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;li&#39;</span><span class="p">);</span>
			<span class="nx">li</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;h2&#39;</span><span class="o">,</span><span class="kc">null</span><span class="o">,</span><span class="kc">null</span><span class="o">,</span><span class="s2">&quot;Main&quot;</span><span class="p">));</span>
			<span class="kd">var</span> <span class="nx">d</span> <span class="o">=</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">);</span>
			<span class="nx">d</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="o">,</span> <span class="p">{</span><span class="nx">id</span><span class="o">:</span> <span class="s2">&quot;module-category-main&quot;</span><span class="p">})</span> <span class="p">);</span>
			<span class="nx">li</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">d</span><span class="p">);</span>
			<span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;modulesAccordionView&#39;</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">li</span><span class="p">);</span>
		<span class="p">}</span>
		
		<span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">AccordionView</span><span class="p">(</span><span class="s1">&#39;modulesAccordionView&#39;</span><span class="o">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">modulesAccordionViewParams</span><span class="p">);</span>
		
		<span class="c">// Open all panels</span>
		<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">l</span> <span class="o">=</span> <span class="mi">1</span><span class="o">,</span> <span class="nx">n</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span><span class="p">.</span><span class="nx">getPanels</span><span class="p">().</span><span class="nx">length</span><span class="o">;</span> <span class="nx">l</span> <span class="o">&lt;</span> <span class="nx">n</span> <span class="o">;</span> <span class="nx">l</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span><span class="p">.</span><span class="nx">openPanel</span><span class="p">(</span><span class="nx">l</span><span class="p">);</span>
		<span class="p">}</span>
	<span class="p">}</span><span class="o">,</span>
	
 
 	<span class="c">/**</span>
<span class="c">  	 * Build the left menu on the left</span>
<span class="c">  	 * @method buildModulesList</span>
<span class="c">  	 */</span>
 	<span class="nx">buildModulesList</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>

     	<span class="kd">var</span> <span class="nx">modules</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">modules</span><span class="o">;</span>
     	<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">modules</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
		  	<span class="k">this</span><span class="p">.</span><span class="nx">addModuleToList</span><span class="p">(</span><span class="nx">modules</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
     	<span class="p">}</span>

     	<span class="c">// Make the layer a drag drop target</span>
     	<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">ddTarget</span><span class="p">)</span> <span class="p">{</span>
       	<span class="k">this</span><span class="p">.</span><span class="nx">ddTarget</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">DDTarget</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">el</span><span class="o">,</span> <span class="s2">&quot;module&quot;</span><span class="p">);</span>
       	<span class="k">this</span><span class="p">.</span><span class="nx">ddTarget</span><span class="p">.</span><span class="nx">_layer</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="o">;</span>
     	<span class="p">}</span>
 	<span class="p">}</span><span class="o">,</span>

 	<span class="c">/**</span>
<span class="c">  	 * Add a module definition to the left list</span>
<span class="c">  	 */</span>
 	<span class="nx">addModuleToList</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">module</span><span class="p">)</span> <span class="p">{</span>
	<span class="k">try</span> <span class="p">{</span>
		<span class="kd">var</span> <span class="nx">div</span> <span class="o">=</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="o">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s2">&quot;WiringEditor-module&quot;</span><span class="p">});</span>
		
		<span class="k">if</span><span class="p">(</span><span class="nx">module</span><span class="p">.</span><span class="nx">description</span><span class="p">)</span> <span class="p">{</span>
			<span class="nx">div</span><span class="p">.</span><span class="nx">title</span> <span class="o">=</span> <span class="nx">module</span><span class="p">.</span><span class="nx">description</span><span class="o">;</span>
		<span class="p">}</span>
		
      <span class="k">if</span><span class="p">(</span><span class="nx">module</span><span class="p">.</span><span class="nx">container</span><span class="p">.</span><span class="nx">icon</span><span class="p">)</span> <span class="p">{</span>
         <span class="nx">div</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;img&#39;</span><span class="o">,</span><span class="p">{</span><span class="nx">src</span><span class="o">:</span> <span class="nx">module</span><span class="p">.</span><span class="nx">container</span><span class="p">.</span><span class="nx">icon</span><span class="p">})</span> <span class="p">);</span>
      <span class="p">}</span>
      <span class="nx">div</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">module</span><span class="p">.</span><span class="nx">name</span><span class="p">)</span> <span class="p">);</span>

      <span class="kd">var</span> <span class="nx">ddProxy</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">ModuleProxy</span><span class="p">(</span><span class="nx">div</span><span class="o">,</span> <span class="k">this</span><span class="p">);</span>
      <span class="nx">ddProxy</span><span class="p">.</span><span class="nx">_module</span> <span class="o">=</span> <span class="nx">module</span><span class="o">;</span>

		<span class="c">// Get the category element in the accordion or create a new one</span>
		<span class="kd">var</span> <span class="nx">category</span> <span class="o">=</span> <span class="nx">module</span><span class="p">.</span><span class="nx">category</span> <span class="o">||</span> <span class="s2">&quot;main&quot;</span><span class="o">;</span>
		<span class="kd">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;module-category-&quot;</span><span class="o">+</span><span class="nx">category</span><span class="p">);</span>
		<span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="nx">el</span> <span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span><span class="p">.</span><span class="nx">addPanel</span><span class="p">({</span>
				<span class="kd">label</span><span class="o">:</span> <span class="nx">category</span><span class="o">,</span>
				<span class="nx">content</span><span class="o">:</span> <span class="s2">&quot;&lt;div id=&#39;module-category-&quot;</span><span class="o">+</span><span class="nx">category</span><span class="o">+</span><span class="s2">&quot;&#39;&gt;&lt;/div&gt;&quot;</span>
			<span class="p">});</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span><span class="p">.</span><span class="nx">openPanel</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">modulesAccordionView</span><span class="p">.</span><span class="nx">_panels</span><span class="p">.</span><span class="nx">length</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
			<span class="nx">el</span> <span class="o">=</span> <span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s2">&quot;module-category-&quot;</span><span class="o">+</span><span class="nx">category</span><span class="p">);</span>
		<span class="p">}</span>
		
		<span class="nx">el</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">div</span><span class="p">);</span>
	<span class="p">}</span><span class="k">catch</span><span class="p">(</span><span class="nx">ex</span><span class="p">){</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">ex</span><span class="p">);}</span>
 	<span class="p">}</span><span class="o">,</span>
 
 
	<span class="nx">getCurrentGrouper</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">editor</span><span class="p">)</span> <span class="p">{</span>
     	<span class="k">return</span> <span class="nx">editor</span><span class="p">.</span><span class="nx">currentGrouper</span><span class="o">;</span>
 	<span class="p">}</span><span class="o">,</span>
 
 	<span class="c">/**</span>
<span class="c">  	 * add a module at the given pos</span>
<span class="c">  	 */</span>
	<span class="nx">addModule</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">module</span><span class="o">,</span> <span class="nx">pos</span><span class="p">)</span> <span class="p">{</span>
	    <span class="k">try</span> <span class="p">{</span>
	       <span class="kd">var</span> <span class="nx">containerConfig</span> <span class="o">=</span> <span class="nx">module</span><span class="p">.</span><span class="nx">container</span><span class="o">;</span>
	       <span class="nx">containerConfig</span><span class="p">.</span><span class="nx">position</span> <span class="o">=</span> <span class="nx">pos</span><span class="o">;</span>
	       <span class="nx">containerConfig</span><span class="p">.</span><span class="nx">title</span> <span class="o">=</span> <span class="nx">module</span><span class="p">.</span><span class="nx">name</span><span class="o">;</span>
	       <span class="kd">var</span> <span class="nx">temp</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
	       <span class="nx">containerConfig</span><span class="p">.</span><span class="nx">getGrouper</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">temp</span><span class="p">.</span><span class="nx">getCurrentGrouper</span><span class="p">(</span><span class="nx">temp</span><span class="p">);</span> <span class="p">};</span>
	       <span class="kd">var</span> <span class="nx">container</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">addContainer</span><span class="p">(</span><span class="nx">containerConfig</span><span class="p">);</span>
	
			 <span class="c">// Adding the category CSS class name</span>
			 <span class="kd">var</span> <span class="nx">category</span> <span class="o">=</span> <span class="nx">module</span><span class="p">.</span><span class="nx">category</span> <span class="o">||</span> <span class="s2">&quot;main&quot;</span><span class="o">;</span>
			 <span class="nx">Dom</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">el</span><span class="o">,</span> <span class="s2">&quot;WiringEditor-module-category-&quot;</span><span class="o">+</span><span class="nx">category</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/ /g</span><span class="o">,</span><span class="s1">&#39;-&#39;</span><span class="p">));</span>
			
			 <span class="c">// Adding the module CSS class name</span>
	       <span class="nx">Dom</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">el</span><span class="o">,</span> <span class="s2">&quot;WiringEditor-module-&quot;</span><span class="o">+</span><span class="nx">module</span><span class="p">.</span><span class="nx">name</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/ /g</span><span class="o">,</span><span class="s1">&#39;-&#39;</span><span class="p">));</span>
	
	    <span class="p">}</span>
	    <span class="k">catch</span><span class="p">(</span><span class="nx">ex</span><span class="p">)</span> <span class="p">{</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Error Layer.addContainer: &quot;</span><span class="o">+</span> <span class="nx">ex</span><span class="p">.</span><span class="nx">message</span><span class="p">);</span>
			 <span class="k">if</span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">console</span> <span class="o">&amp;&amp;</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">))</span> <span class="p">{</span>
				<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">ex</span><span class="p">);</span>
			<span class="p">}</span>
	    <span class="p">}</span>    
	<span class="p">}</span><span class="o">,</span>

 	<span class="c">/**</span>
<span class="c">  	 * save the current module</span>
<span class="c">  	 */</span>
 	<span class="nx">save</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
  
    	<span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getValue</span><span class="p">();</span>
    
    	<span class="k">if</span><span class="p">(</span><span class="nx">value</span><span class="p">.</span><span class="nx">name</span> <span class="o">===</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="p">{</span>
       	<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Please choose a name&quot;</span><span class="p">);</span>
       	<span class="k">return</span><span class="o">;</span>
    	<span class="p">}</span>

		<span class="k">this</span><span class="p">.</span><span class="nx">tempSavedWiring</span> <span class="o">=</span> <span class="p">{</span><span class="nx">name</span><span class="o">:</span> <span class="nx">value</span><span class="p">.</span><span class="nx">name</span><span class="o">,</span> <span class="nx">working</span><span class="o">:</span> <span class="nx">value</span><span class="p">.</span><span class="nx">working</span><span class="o">,</span> <span class="nx">language</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">languageName</span> <span class="p">};</span>
                
    	<span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">saveWiring</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">tempSavedWiring</span><span class="o">,</span> <span class="p">{</span>
       	<span class="nx">success</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">saveModuleSuccess</span><span class="o">,</span>
       	<span class="nx">failure</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">saveModuleFailure</span><span class="o">,</span>
       	<span class="nx">scope</span><span class="o">:</span> <span class="k">this</span>
    	<span class="p">});</span>
 	<span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * saveModule success callback</span>
<span class="c">	  * @method saveModuleSuccess</span>
<span class="c">	  */</span>
	 <span class="nx">saveModuleSuccess</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>

		<span class="k">this</span><span class="p">.</span><span class="nx">markSaved</span><span class="p">();</span>

	   <span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Saved !&quot;</span><span class="p">);</span>

		<span class="c">// TODO: call a saveModuleSuccess callback...</span>
	 <span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * saveModule failure callback</span>
<span class="c">	  * @method saveModuleFailure</span>
<span class="c">	  */</span>
	 <span class="nx">saveModuleFailure</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">errorStr</span><span class="p">)</span> <span class="p">{</span>
	    <span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Unable to save the wiring : &quot;</span><span class="o">+</span><span class="nx">errorStr</span><span class="p">);</span>
	 <span class="p">}</span><span class="o">,</span>


	 <span class="c">/**</span>
<span class="c">	  * @method onNew</span>
<span class="c">	  */</span>
	 <span class="nx">onNew</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
	
		<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">isSaved</span><span class="p">())</span> <span class="p">{</span>
			<span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="nx">confirm</span><span class="p">(</span><span class="s2">&quot;Warning: Your work is not saved yet ! Press ok to continue anyway.&quot;</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
				<span class="k">return</span><span class="o">;</span>
			<span class="p">}</span>
		<span class="p">}</span>
	
		<span class="k">this</span><span class="p">.</span><span class="nx">preventLayerChangedEvent</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
	
	   <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">clear</span><span class="p">();</span> 

	   <span class="k">this</span><span class="p">.</span><span class="nx">propertiesForm</span><span class="p">.</span><span class="nx">clear</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span> <span class="c">// false to tell inputEx to NOT send the updatedEvt</span>

		<span class="k">this</span><span class="p">.</span><span class="nx">markSaved</span><span class="p">();</span>

		<span class="k">this</span><span class="p">.</span><span class="nx">preventLayerChangedEvent</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
	 <span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * @method onDelete</span>
<span class="c">	  */</span>
	 <span class="nx">onDelete</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
	    <span class="k">if</span><span class="p">(</span> <span class="nx">confirm</span><span class="p">(</span><span class="s2">&quot;Are you sure you want to delete this wiring ?&quot;</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
       
	      <span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getValue</span><span class="p">();</span>
	 		<span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">deleteWiring</span><span class="p">({</span><span class="nx">name</span><span class="o">:</span> <span class="nx">value</span><span class="p">.</span><span class="nx">name</span><span class="o">,</span> <span class="nx">language</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">languageName</span><span class="p">}</span><span class="o">,</span><span class="p">{</span>
	 			<span class="nx">success</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span>
					<span class="k">this</span><span class="p">.</span><span class="nx">onNew</span><span class="p">();</span>
	 				<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Deleted !&quot;</span><span class="p">);</span>
	 			<span class="p">}</span><span class="o">,</span>
				<span class="nx">failure</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">errorStr</span><span class="p">)</span> <span class="p">{</span>
					<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Unable to delete wiring: &quot;</span><span class="o">+</span><span class="nx">errorStr</span><span class="p">);</span>
				<span class="p">}</span><span class="o">,</span>
				<span class="nx">scope</span><span class="o">:</span> <span class="k">this</span>
	 		<span class="p">});</span>
       
	    <span class="p">}</span>
	 <span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * @method renderLoadPanel</span>
<span class="c">	  */</span>
	 <span class="nx">renderLoadPanel</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
	    <span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">)</span> <span class="p">{</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">widget</span><span class="p">.</span><span class="nx">Panel</span><span class="p">(</span><span class="s1">&#39;WiringEditor-loadPanel&#39;</span><span class="o">,</span> <span class="p">{</span>
	          <span class="nx">fixedcenter</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
	          <span class="nx">draggable</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
	          <span class="nx">width</span><span class="o">:</span> <span class="s1">&#39;500px&#39;</span><span class="o">,</span>
	          <span class="nx">visible</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
	          <span class="nx">modal</span><span class="o">:</span> <span class="kc">true</span>
	       <span class="p">});</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">.</span><span class="nx">setHeader</span><span class="p">(</span><span class="s2">&quot;Select the wiring to load&quot;</span><span class="p">);</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">.</span><span class="nx">setBody</span><span class="p">(</span><span class="s2">&quot;Filter: &lt;input type=&#39;text&#39; id=&#39;loadFilter&#39; /&gt;&lt;div id=&#39;loadPanelBody&#39;&gt;&lt;/div&gt;&quot;</span><span class="p">);</span>
	       <span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">.</span><span class="nx">render</span><span class="p">(</span><span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span class="p">);</span>

			<span class="c">// Listen the keyup event to filter the module list</span>
			<span class="nx">Event</span><span class="p">.</span><span class="nx">onAvailable</span><span class="p">(</span><span class="s1">&#39;loadFilter&#39;</span><span class="o">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
				<span class="nx">Event</span><span class="p">.</span><span class="nx">addListener</span><span class="p">(</span><span class="s1">&#39;loadFilter&#39;</span><span class="o">,</span> <span class="s2">&quot;keyup&quot;</span><span class="o">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">inputFilterTimer</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="p">);</span>
			<span class="p">}</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="p">);</span>

	    <span class="p">}</span>
	 <span class="p">}</span><span class="o">,</span>

	<span class="c">/**</span>
<span class="c">	 * Method called from each keyup on the search filter in load panel.</span>
<span class="c">	 * The real filtering occurs only after 500ms so that the filter process isn&#39;t called too often</span>
<span class="c">	 */</span>
	<span class="nx">inputFilterTimer</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">if</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">inputFilterTimeout</span><span class="p">)</span> <span class="p">{</span>
			<span class="nx">clearTimeout</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">inputFilterTimeout</span><span class="p">);</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">inputFilterTimeout</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
		<span class="p">}</span>
		<span class="kd">var</span> <span class="nx">that</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
		<span class="k">this</span><span class="p">.</span><span class="nx">inputFilterTimeout</span> <span class="o">=</span> <span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
				<span class="nx">that</span><span class="p">.</span><span class="nx">updateLoadPanelList</span><span class="p">(</span><span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;loadFilter&#39;</span><span class="p">).</span><span class="nx">value</span><span class="p">);</span>
		<span class="p">}</span><span class="o">,</span> <span class="mi">500</span><span class="p">);</span>
	<span class="p">}</span><span class="o">,</span>


	 <span class="c">/**</span>
<span class="c">	  * @method updateLoadPanelList</span>
<span class="c">	  */</span>
	 <span class="nx">updateLoadPanelList</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">filter</span><span class="p">)</span> <span class="p">{</span>
	
		 <span class="k">this</span><span class="p">.</span><span class="nx">renderLoadPanel</span><span class="p">();</span>
	
	    <span class="kd">var</span> <span class="nx">list</span> <span class="o">=</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s2">&quot;ul&quot;</span><span class="p">);</span>
	    <span class="k">if</span><span class="p">(</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isArray</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">))</span> <span class="p">{</span>
	       <span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	          <span class="kd">var</span> <span class="nx">pipe</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
	          <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">filter</span> <span class="o">||</span> <span class="nx">filter</span> <span class="o">===</span> <span class="s2">&quot;&quot;</span> <span class="o">||</span> <span class="nx">pipe</span><span class="p">.</span><span class="nx">name</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="k">new</span> <span class="nb">RegExp</span><span class="p">(</span><span class="nx">filter</span><span class="o">,</span><span class="s2">&quot;i&quot;</span><span class="p">))</span> <span class="p">)</span> <span class="p">{</span>
		          <span class="nx">list</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">cn</span><span class="p">(</span><span class="s1">&#39;li&#39;</span><span class="o">,</span><span class="kc">null</span><span class="o">,</span><span class="p">{</span><span class="nx">cursor</span><span class="o">:</span> <span class="s1">&#39;pointer&#39;</span><span class="p">}</span><span class="o">,</span><span class="nx">pipe</span><span class="p">.</span><span class="nx">name</span><span class="p">)</span> <span class="p">);</span>
				<span class="p">}</span>
	       <span class="p">}</span>
	    <span class="p">}</span>
	    <span class="kd">var</span> <span class="nx">panelBody</span> <span class="o">=</span> <span class="nx">Dom</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="s1">&#39;loadPanelBody&#39;</span><span class="p">);</span>
	
		 <span class="c">// Purge element (remove listeners on panelBody and childNodes recursively)</span>
	    <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">util</span><span class="p">.</span><span class="nx">Event</span><span class="p">.</span><span class="nx">purgeElement</span><span class="p">(</span><span class="nx">panelBody</span><span class="o">,</span> <span class="kc">true</span><span class="p">);</span>

	    <span class="nx">panelBody</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="o">;</span>
	    <span class="nx">panelBody</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">list</span><span class="p">);</span>

	    <span class="nx">Event</span><span class="p">.</span><span class="nx">addListener</span><span class="p">(</span><span class="nx">list</span><span class="o">,</span> <span class="s1">&#39;click&#39;</span><span class="o">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="o">,</span><span class="nx">args</span><span class="p">)</span> <span class="p">{</span>
	    	<span class="k">this</span><span class="p">.</span><span class="nx">loadPipe</span><span class="p">(</span><span class="nx">Event</span><span class="p">.</span><span class="nx">getTarget</span><span class="p">(</span><span class="nx">e</span><span class="p">).</span><span class="nx">innerHTML</span><span class="p">);</span>
	    <span class="p">}</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="p">);</span>

	 <span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * Start the loading of the pipes using the adapter</span>
<span class="c">	  * @method load</span>
<span class="c">	  */</span>
	 <span class="nx">load</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
    
	    <span class="k">this</span><span class="p">.</span><span class="nx">adapter</span><span class="p">.</span><span class="nx">listWirings</span><span class="p">({</span><span class="nx">language</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">languageName</span><span class="p">}</span><span class="o">,</span><span class="p">{</span>
			<span class="nx">success</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span>
				<span class="k">this</span><span class="p">.</span><span class="nx">onLoadSuccess</span><span class="p">(</span><span class="nx">result</span><span class="p">);</span>
			<span class="p">}</span><span class="o">,</span>
			<span class="nx">failure</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">errorStr</span><span class="p">)</span> <span class="p">{</span>
				<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;Unable to load the wirings: &quot;</span><span class="o">+</span><span class="nx">errorStr</span><span class="p">);</span>
			<span class="p">}</span><span class="o">,</span>
			<span class="nx">scope</span><span class="o">:</span> <span class="k">this</span>
		<span class="p">});</span>

	 <span class="p">}</span><span class="o">,</span>

	 <span class="c">/**</span>
<span class="c">	  * @method onLoadSuccess</span>
<span class="c">	  */</span>
	 <span class="nx">onLoadSuccess</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">wirings</span><span class="p">)</span> <span class="p">{</span>
			
			<span class="c">// Reset the internal structure</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">pipes</span> <span class="o">=</span> <span class="nx">wirings</span><span class="o">;</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">pipesByName</span> <span class="o">=</span> <span class="p">{};</span>
		
			<span class="c">// Build the &quot;pipesByName&quot; index</span>
			<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	          <span class="k">this</span><span class="p">.</span><span class="nx">pipesByName</span><span class="p">[</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
			<span class="p">}</span>
		
	    	<span class="k">this</span><span class="p">.</span><span class="nx">updateLoadPanelList</span><span class="p">();</span>

			<span class="c">// Check for autoload param and display the loadPanel otherwise</span>
			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">checkAutoLoad</span><span class="p">())</span> <span class="p">{</span> 
	    		<span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">.</span><span class="nx">show</span><span class="p">();</span>
			<span class="p">}</span>	
	 <span class="p">}</span><span class="o">,</span>
		
	<span class="c">/**</span>
<span class="c">	 * checkAutoLoad looks for the &quot;autoload&quot; URL parameter and open the pipe.</span>
<span class="c">	 * returns true if it loads a Pipe</span>
<span class="c">	 * @method checkAutoLoad</span>
<span class="c">	 */</span>
	<span class="nx">checkAutoLoad</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">checkAutoLoadOnce</span><span class="p">)</span> <span class="p">{</span>
			<span class="kd">var</span> <span class="nx">p</span> <span class="o">=</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">search</span><span class="p">.</span><span class="nx">substr</span><span class="p">(</span><span class="mi">1</span><span class="p">).</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39;&amp;&#39;</span><span class="p">);</span>
			<span class="kd">var</span> <span class="nx">oP</span> <span class="o">=</span> <span class="p">{};</span>
			<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">p</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
				<span class="kd">var</span> <span class="nx">v</span> <span class="o">=</span> <span class="nx">p</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39;=&#39;</span><span class="p">);</span>
				<span class="nx">oP</span><span class="p">[</span><span class="nx">v</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span><span class="o">=</span><span class="nb">window</span><span class="p">.</span><span class="nb">decodeURIComponent</span><span class="p">(</span><span class="nx">v</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
			<span class="p">}</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">checkAutoLoadOnce</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
			<span class="k">if</span><span class="p">(</span><span class="nx">oP</span><span class="p">.</span><span class="nx">autoload</span><span class="p">)</span> <span class="p">{</span>
				<span class="k">this</span><span class="p">.</span><span class="nx">loadPipe</span><span class="p">(</span><span class="nx">oP</span><span class="p">.</span><span class="nx">autoload</span><span class="p">);</span>
				<span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
			<span class="p">}</span>
		<span class="p">}</span>
		<span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
	<span class="p">}</span><span class="o">,</span>

	<span class="c">/**</span>
<span class="c">	 * @method getPipeByName</span>
<span class="c">	 * @param {String} name Pipe&#39;s name</span>
<span class="c">	 * @return {Object} return the pipe configuration</span>
<span class="c">	 */</span>
	<span class="nx">getPipeByName</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">{</span>
	   <span class="kd">var</span> <span class="nx">n</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">.</span><span class="nx">length</span><span class="o">,</span><span class="nx">ret</span><span class="o">;</span>
	   <span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">n</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	      <span class="k">if</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">name</span> <span class="o">==</span> <span class="nx">name</span><span class="p">)</span> <span class="p">{</span>
			<span class="k">return</span> <span class="k">this</span><span class="p">.</span><span class="nx">pipes</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">working</span><span class="o">;</span>
	      <span class="p">}</span>
	   <span class="p">}</span>
	   <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
	<span class="p">}</span><span class="o">,</span>

	<span class="c">/**</span>
<span class="c">	 * @method loadPipe</span>
<span class="c">	 * @param {String} name Pipe name</span>
<span class="c">	 */</span>
	<span class="nx">loadPipe</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">{</span>

		<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">isSaved</span><span class="p">())</span> <span class="p">{</span>
			<span class="k">if</span><span class="p">(</span> <span class="o">!</span><span class="nx">confirm</span><span class="p">(</span><span class="s2">&quot;Warning: Your work is not saved yet ! Press ok to continue anyway.&quot;</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
				<span class="k">return</span><span class="o">;</span>
			<span class="p">}</span>
		<span class="p">}</span>

		<span class="k">try</span> <span class="p">{</span>

			<span class="k">this</span><span class="p">.</span><span class="nx">preventLayerChangedEvent</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">loadPanel</span><span class="p">.</span><span class="nx">hide</span><span class="p">();</span>

			<span class="kd">var</span> <span class="nx">wiring</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getPipeByName</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span>

			<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">wiring</span><span class="p">)</span> <span class="p">{</span>
				<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="s2">&quot;The wiring &#39;&quot;</span><span class="o">+</span><span class="nx">name</span><span class="o">+</span><span class="s2">&quot;&#39; was not found.&quot;</span><span class="p">);</span>
				<span class="k">return</span><span class="o">;</span>
		 	<span class="p">}</span>

		   <span class="c">// TODO: check if current wiring is saved...</span>
		   <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">clear</span><span class="p">();</span>

		   <span class="k">this</span><span class="p">.</span><span class="nx">propertiesForm</span><span class="p">.</span><span class="nx">setValue</span><span class="p">(</span><span class="nx">wiring</span><span class="p">.</span><span class="nx">properties</span><span class="o">,</span> <span class="kc">false</span><span class="p">);</span> <span class="c">// the false tells inputEx to NOT fire the updatedEvt</span>

		   <span class="k">if</span><span class="p">(</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isArray</span><span class="p">(</span><span class="nx">wiring</span><span class="p">.</span><span class="nx">modules</span><span class="p">))</span> <span class="p">{</span>
  
		      <span class="c">// Containers</span>
		      <span class="k">for</span><span class="p">(</span><span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">wiring</span><span class="p">.</span><span class="nx">modules</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
		         <span class="kd">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="nx">wiring</span><span class="p">.</span><span class="nx">modules</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
		         <span class="k">if</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">modulesByName</span><span class="p">[</span><span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="p">])</span> <span class="p">{</span>
		            <span class="kd">var</span> <span class="nx">baseContainerConfig</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">modulesByName</span><span class="p">[</span><span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="p">].</span><span class="nx">container</span><span class="o">;</span>
		            <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">augmentObject</span><span class="p">(</span><span class="nx">m</span><span class="p">.</span><span class="nx">config</span><span class="o">,</span> <span class="nx">baseContainerConfig</span><span class="p">);</span> 
		            <span class="nx">m</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">title</span> <span class="o">=</span> <span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="o">;</span>
		            <span class="kd">var</span> <span class="nx">container</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">addContainer</span><span class="p">(</span><span class="nx">m</span><span class="p">.</span><span class="nx">config</span><span class="p">);</span>
		            <span class="nx">Dom</span><span class="p">.</span><span class="nx">addClass</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">el</span><span class="o">,</span> <span class="s2">&quot;WiringEditor-module-&quot;</span><span class="o">+</span><span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="p">);</span>
		            <span class="nx">container</span><span class="p">.</span><span class="nx">setValue</span><span class="p">(</span><span class="nx">m</span><span class="p">.</span><span class="nx">value</span><span class="p">);</span>
		         <span class="p">}</span>
		         <span class="k">else</span> <span class="p">{</span>
		            <span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">&quot;WiringEditor: module &#39;&quot;</span><span class="o">+</span><span class="nx">m</span><span class="p">.</span><span class="nx">name</span><span class="o">+</span><span class="s2">&quot;&#39; not found !&quot;</span><span class="p">);</span>
		         <span class="p">}</span>
		      <span class="p">}</span>
   
		      <span class="c">// Wires</span>
		      <span class="k">if</span><span class="p">(</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isArray</span><span class="p">(</span><span class="nx">wiring</span><span class="p">.</span><span class="nx">wires</span><span class="p">))</span> <span class="p">{</span>
		          <span class="k">for</span><span class="p">(</span><span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">wiring</span><span class="p">.</span><span class="nx">wires</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
		             <span class="c">// On doit chercher dans la liste des terminaux de chacun des modules l&#39;index des terminaux...</span>
		             <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">addWire</span><span class="p">(</span><span class="nx">wiring</span><span class="p">.</span><span class="nx">wires</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
		          <span class="p">}</span>
		      <span class="p">}</span>
		  <span class="p">}</span>
  
		  <span class="k">this</span><span class="p">.</span><span class="nx">markSaved</span><span class="p">();</span>
		
		  <span class="k">this</span><span class="p">.</span><span class="nx">preventLayerChangedEvent</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>

 		<span class="p">}</span>
 		<span class="k">catch</span><span class="p">(</span><span class="nx">ex</span><span class="p">)</span> <span class="p">{</span>
    		<span class="k">this</span><span class="p">.</span><span class="nx">alert</span><span class="p">(</span><span class="nx">ex</span><span class="p">);</span>
			<span class="k">if</span><span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">console</span> <span class="o">&amp;&amp;</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">lang</span><span class="p">.</span><span class="nx">isFunction</span><span class="p">(</span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">))</span> <span class="p">{</span>
				<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">ex</span><span class="p">);</span>
			<span class="p">}</span>
 		<span class="p">}</span>
	<span class="p">}</span><span class="o">,</span>


	<span class="nx">onLayerChanged</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
		<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nx">preventLayerChangedEvent</span><span class="p">)</span> <span class="p">{</span>
			<span class="k">this</span><span class="p">.</span><span class="nx">markUnsaved</span><span class="p">();</span>
		<span class="p">}</span>
	<span class="p">}</span><span class="o">,</span>

 
	<span class="c">/**</span>
<span class="c">	 * This method return a wiring within the given vocabulary described by the modules list</span>
<span class="c">	 * @method getValue</span>
<span class="c">	 */</span>
	<span class="nx">getValue</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
  
	  <span class="kd">var</span> <span class="nx">i</span><span class="o">;</span>
	  <span class="kd">var</span> <span class="nx">obj</span> <span class="o">=</span> <span class="p">{</span><span class="nx">modules</span><span class="o">:</span> <span class="p">[]</span><span class="o">,</span> <span class="nx">wires</span><span class="o">:</span> <span class="p">[]</span><span class="o">,</span> <span class="nx">properties</span><span class="o">:</span> <span class="kc">null</span><span class="p">};</span>

	  <span class="k">for</span><span class="p">(</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	     <span class="nx">obj</span><span class="p">.</span><span class="nx">modules</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span> <span class="p">{</span><span class="nx">name</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">title</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">getValue</span><span class="p">()</span><span class="o">,</span> <span class="nx">config</span><span class="o">:</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">getConfig</span><span class="p">()});</span>
	  <span class="p">}</span>

	  <span class="k">for</span><span class="p">(</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="o">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">wires</span><span class="p">.</span><span class="nx">length</span> <span class="o">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
	     <span class="kd">var</span> <span class="nx">wire</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">wires</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
		<span class="kd">var</span> <span class="nx">wireObj</span> <span class="o">=</span> <span class="nx">wire</span><span class="p">.</span><span class="nx">getConfig</span><span class="p">();</span>
		<span class="nx">wireObj</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="p">{</span><span class="nx">moduleId</span><span class="o">:</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nx">wire</span><span class="p">.</span><span class="nx">terminal1</span><span class="p">.</span><span class="nx">container</span><span class="o">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">)</span><span class="o">,</span> <span class="nx">terminal</span><span class="o">:</span> <span class="nx">wire</span><span class="p">.</span><span class="nx">terminal1</span><span class="p">.</span><span class="nx">name</span> <span class="p">};</span>
		<span class="nx">wireObj</span><span class="p">.</span><span class="nx">tgt</span> <span class="o">=</span> <span class="p">{</span><span class="nx">moduleId</span><span class="o">:</span> <span class="nx">WireIt</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nx">wire</span><span class="p">.</span><span class="nx">terminal2</span><span class="p">.</span><span class="nx">container</span><span class="o">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">layer</span><span class="p">.</span><span class="nx">containers</span><span class="p">)</span><span class="o">,</span> <span class="nx">terminal</span><span class="o">:</span> <span class="nx">wire</span><span class="p">.</span><span class="nx">terminal2</span><span class="p">.</span><span class="nx">name</span> <span class="p">};</span>
	     <span class="nx">obj</span><span class="p">.</span><span class="nx">wires</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">wireObj</span><span class="p">);</span>
	  <span class="p">}</span>
 
	  <span class="nx">obj</span><span class="p">.</span><span class="nx">properties</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">propertiesForm</span><span class="p">.</span><span class="nx">getValue</span><span class="p">();</span>
  
	  <span class="k">return</span> <span class="p">{</span>
	     <span class="nx">name</span><span class="o">:</span> <span class="nx">obj</span><span class="p">.</span><span class="nx">properties</span><span class="p">.</span><span class="nx">name</span><span class="o">,</span>
	     <span class="nx">working</span><span class="o">:</span> <span class="nx">obj</span>
	  <span class="p">};</span>
	<span class="p">}</span>


<span class="p">});</span>


<span class="c">/**</span>
<span class="c"> * WiringEditor Adapters</span>
<span class="c"> * @static</span>
<span class="c"> */</span>
<span class="nx">WireIt</span><span class="p">.</span><span class="nx">WiringEditor</span><span class="p">.</span><span class="nx">adapters</span> <span class="o">=</span> <span class="p">{};</span>


<span class="p">})();</span>
</pre></div>

                    </div>
			</div>
		</div>
		<div class="yui-b">
            <div class="nav">

                    <div id="moduleList" class="module">
                        <h4>Modules</h4>
                        <ul class="content">
                                <li class=""><a href="module_animations-plugin.html" title="animations-plugin">animations-plugin</a></li>
                                <li class=""><a href="module_composable-plugin.html" title="composable-plugin">composable-plugin</a></li>
                                <li class="selected"><a href="module_editor-plugin.html" title="editor-plugin">editor-plugin</a></li>
                                <li class=""><a href="module_inputex-plugin.html" title="inputex-plugin">inputex-plugin</a></li>
                                <li class=""><a href="module_layout-plugin.html" title="layout-plugin">layout-plugin</a></li>
                                <li class=""><a href="module_wireit.html" title="WireIt">WireIt</a></li>
                        </ul>
                    </div>

                    <div id="classList" class="module">
                        <h4>Classes</h4>
                        <ul class="content">
                                <li class=""><a href="WireIt.BaseEditor.html" title="WireIt.BaseEditor">WireIt.BaseEditor</a></li>
                                <li class=""><a href="WireIt.FormContainer.html" title="WireIt.FormContainer">WireIt.FormContainer</a></li>
                                <li class=""><a href="WireIt.Group.html" title="WireIt.Group">WireIt.Group</a></li>
                                <li class=""><a href="WireIt.Grouper.html" title="WireIt.Grouper">WireIt.Grouper</a></li>
                                <li class=""><a href="WireIt.GroupUtils.html" title="WireIt.GroupUtils">WireIt.GroupUtils</a></li>
                                <li class=""><a href="WireIt.ModuleProxy.html" title="WireIt.ModuleProxy">WireIt.ModuleProxy</a></li>
                                <li class=""><a href="WireIt.RubberBand.html" title="WireIt.RubberBand">WireIt.RubberBand</a></li>
                                <li class=""><a href="WireIt.WiringEditor.html" title="WireIt.WiringEditor">WireIt.WiringEditor</a></li>
                                <li class=""><a href="WireIt.WiringEditor.adapters.Ajax.html" title="WireIt.WiringEditor.adapters.Ajax">WireIt.WiringEditor.adapters.Ajax</a></li>
                                <li class=""><a href="WireIt.WiringEditor.adapters.Gears.html" title="WireIt.WiringEditor.adapters.Gears">WireIt.WiringEditor.adapters.Gears</a></li>
                                <li class=""><a href="WireIt.WiringEditor.adapters.JsonRpc.html" title="WireIt.WiringEditor.adapters.JsonRpc">WireIt.WiringEditor.adapters.JsonRpc</a></li>
                        </ul>
                    </div>

                    <div id="fileList" class="module">
                        <h4>Files</h4>
                        <ul class="content">        
                                <li class=""><a href="ajax.js.html" title="ajax.js">ajax.js</a></li>
                                <li class=""><a href="FormContainer.js.html" title="FormContainer.js">FormContainer.js</a></li>
                                <li class=""><a href="gears.js.html" title="gears.js">gears.js</a></li>
                                <li class=""><a href="Group.js.html" title="Group.js">Group.js</a></li>
                                <li class=""><a href="Grouper.js.html" title="Grouper.js">Grouper.js</a></li>
                                <li class=""><a href="GroupFormContainer.js.html" title="GroupFormContainer.js">GroupFormContainer.js</a></li>
                                <li class=""><a href="GroupUtils.js.html" title="GroupUtils.js">GroupUtils.js</a></li>
                                <li class=""><a href="json-rpc.js.html" title="json-rpc.js">json-rpc.js</a></li>
                                <li class=""><a href="ModuleProxy.js.html" title="ModuleProxy.js">ModuleProxy.js</a></li>
                                <li class=""><a href="rest-json.js.html" title="rest-json.js">rest-json.js</a></li>
                                <li class=""><a href="RubberBand.js.html" title="RubberBand.js">RubberBand.js</a></li>
                                <li class="selected"><a href="WiringEditor.js.html" title="WiringEditor.js">WiringEditor.js</a></li>
                        </ul>
                    </div>





            </div>
		</div>
	</div>
	<div id="ft">
        <hr />
        Copyright &copy; 2010 Eric Abouaf All rights reserved.
	</div>
</div>
<script type="text/javascript">

    var ALL_YUI_PROPS = [{"url": "WireIt.WiringEditor.html#property_adapters", "access": "", "host": "WireIt.WiringEditor", "type": "property", "name": "adapters"}, {"url": "WireIt.GroupUtils.html#method_addAllContainers", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "addAllContainers"}, {"url": "WireIt.Grouper.html#method_addContainer", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "addContainer"}, {"url": "WireIt.Grouper.html#method_addGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "addGroup"}, {"url": "WireIt.WiringEditor.html#method_addModule", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "addModule"}, {"url": "WireIt.WiringEditor.html#method_addModuleToList", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "addModuleToList"}, {"url": "WireIt.BaseEditor.html#method_alert", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "alert"}, {"url": "WireIt.BaseEditor.html#property_alertPanel", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "alertPanel"}, {"url": "WireIt.GroupUtils.html#method_applyToContainers", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "applyToContainers"}, {"url": "WireIt.WiringEditor.html#method_buildModulesList", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "buildModulesList"}, {"url": "WireIt.WiringEditor.html#method_checkAutoLoad", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "checkAutoLoad"}, {"url": "WireIt.FormContainer.html#property_collapsible", "access": "", "host": "WireIt.FormContainer", "type": "property", "name": "collapsible"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#property_config", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "property", "name": "config"}, {"url": "WireIt.RubberBand.html#property_defaultDelay", "access": "", "host": "WireIt.RubberBand", "type": "property", "name": "defaultDelay"}, {"url": "WireIt.BaseEditor.html#property_defaultOptions", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "defaultOptions"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#method_deleteWiring", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "method", "name": "deleteWiring"}, {"url": "WireIt.Grouper.html#method_deselectGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "deselectGroup"}, {"url": "WireIt.BaseEditor.html#property_el", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "el"}, {"url": "WireIt.ModuleProxy.html#method_endDrag", "access": "", "host": "WireIt.ModuleProxy", "type": "method", "name": "endDrag"}, {"url": "WireIt.FormContainer.html#property_fields", "access": "", "host": "WireIt.FormContainer", "type": "property", "name": "fields"}, {"url": "WireIt.RubberBand.html#method_finish", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "finish"}, {"url": "WireIt.GroupUtils.html#method_getCollapsedConfig", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "getCollapsedConfig"}, {"url": "WireIt.Grouper.html#method_getContainerCorners", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "getContainerCorners"}, {"url": "WireIt.GroupUtils.html#method_getOuterGroup", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "getOuterGroup"}, {"url": "WireIt.GroupUtils.html#method_getOverridesFromUI", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "getOverridesFromUI"}, {"url": "WireIt.WiringEditor.html#method_getPipeByName", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "getPipeByName"}, {"url": "WireIt.WiringEditor.html#method_getValue", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "getValue"}, {"url": "WireIt.FormContainer.html#method_getValue", "access": "", "host": "WireIt.FormContainer", "type": "method", "name": "getValue"}, {"url": "WireIt.Grouper.html#method_groupCollapse", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "groupCollapse"}, {"url": "WireIt.BaseEditor.html#property_helpPanel", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "helpPanel"}, {"url": "WireIt.RubberBand.html#method_hide", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "hide"}, {"url": "WireIt.Grouper.html#method_hideGroupConfigure", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "hideGroupConfigure"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#method_init", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "method", "name": "init"}, {"url": "WireIt.WiringEditor.html#method_inputFilterTimer", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "inputFilterTimer"}, {"url": "WireIt.BaseEditor.html#method_isSaved", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "isSaved"}, {"url": "WireIt.WiringEditor.html#property_layer", "access": "", "host": "WireIt.WiringEditor", "type": "property", "name": "layer"}, {"url": "WireIt.RubberBand.html#method_layerMouseDown", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "layerMouseDown"}, {"url": "WireIt.BaseEditor.html#property_layout", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "layout"}, {"url": "WireIt.FormContainer.html#property_legend", "access": "", "host": "WireIt.FormContainer", "type": "property", "name": "legend"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#method_listWirings", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "method", "name": "listWirings"}, {"url": "WireIt.WiringEditor.html#method_load", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "load"}, {"url": "WireIt.WiringEditor.html#method_loadPipe", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "loadPipe"}, {"url": "WireIt.Grouper.html#method_makeGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "makeGroup"}, {"url": "WireIt.BaseEditor.html#method_markSaved", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "markSaved"}, {"url": "WireIt.BaseEditor.html#method_markUnsaved", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "markUnsaved"}, {"url": "WireIt.WiringEditor.html#property_modulesByName", "access": "", "host": "WireIt.WiringEditor", "type": "property", "name": "modulesByName"}, {"url": "WireIt.RubberBand.html#method_nextPoint", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "nextPoint"}, {"url": "WireIt.WiringEditor.html#method_onDelete", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "onDelete"}, {"url": "WireIt.ModuleProxy.html#method_onDragDrop", "access": "", "host": "WireIt.ModuleProxy", "type": "method", "name": "onDragDrop"}, {"url": "WireIt.BaseEditor.html#method_onHelp", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "onHelp"}, {"url": "WireIt.WiringEditor.html#method_onLoadSuccess", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "onLoadSuccess"}, {"url": "WireIt.WiringEditor.html#method_onNew", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "onNew"}, {"url": "WireIt.BaseEditor.html#method_onSave", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "onSave"}, {"url": "WireIt.BaseEditor.html#property_options", "access": "", "host": "WireIt.BaseEditor", "type": "property", "name": "options"}, {"url": "WireIt.RubberBand.html#method_pointIsInside", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "pointIsInside"}, {"url": "WireIt.Grouper.html#method_removeContainer", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "removeContainer"}, {"url": "WireIt.Grouper.html#method_removeGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "removeGroup"}, {"url": "WireIt.GroupUtils.html#method_removeGroupFromLayer", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "removeGroupFromLayer"}, {"url": "WireIt.BaseEditor.html#method_render", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "render"}, {"url": "WireIt.WiringEditor.html#method_render", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "render"}, {"url": "WireIt.FormContainer.html#method_render", "access": "", "host": "WireIt.FormContainer", "type": "method", "name": "render"}, {"url": "WireIt.BaseEditor.html#method_renderAlertPanel", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderAlertPanel"}, {"url": "WireIt.BaseEditor.html#method_renderButtons", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderButtons"}, {"url": "WireIt.FormContainer.html#method_renderForm", "access": "", "host": "WireIt.FormContainer", "type": "method", "name": "renderForm"}, {"url": "WireIt.BaseEditor.html#method_renderHelpPanel", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderHelpPanel"}, {"url": "WireIt.WiringEditor.html#method_renderLoadPanel", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "renderLoadPanel"}, {"url": "WireIt.WiringEditor.html#method_renderModulesAccordion", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "renderModulesAccordion"}, {"url": "WireIt.BaseEditor.html#method_renderPropertiesAccordion", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderPropertiesAccordion"}, {"url": "WireIt.BaseEditor.html#method_renderPropertiesForm", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderPropertiesForm"}, {"url": "WireIt.BaseEditor.html#method_renderSavedStatus", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "renderSavedStatus"}, {"url": "WireIt.WiringEditor.adapters.JsonRpc.html#property_RestJSON", "access": "", "host": "WireIt.WiringEditor.adapters.JsonRpc", "type": "property", "name": "RestJSON"}, {"url": "WireIt.Grouper.html#method_rubberbandSelect", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "rubberbandSelect"}, {"url": "WireIt.BaseEditor.html#method_save", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "save"}, {"url": "WireIt.WiringEditor.html#method_save", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "save"}, {"url": "WireIt.WiringEditor.html#method_saveModuleFailure", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "saveModuleFailure"}, {"url": "WireIt.WiringEditor.html#method_saveModuleSuccess", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "saveModuleSuccess"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#method_saveWiring", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "method", "name": "saveWiring"}, {"url": "WireIt.RubberBand.html#method_scroll", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "scroll"}, {"url": "WireIt.Grouper.html#method_selectGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "selectGroup"}, {"url": "WireIt.WiringEditor.adapters.Ajax.html#method__sendRequest", "access": "", "host": "WireIt.WiringEditor.adapters.Ajax", "type": "method", "name": "_sendRequest"}, {"url": "WireIt.GroupUtils.html#method_serialiseGroup", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "serialiseGroup"}, {"url": "WireIt.Grouper.html#method_setDisplay", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "setDisplay"}, {"url": "WireIt.Grouper.html#method_setGroupOptions", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "setGroupOptions"}, {"url": "WireIt.BaseEditor.html#method_setOptions", "access": "", "host": "WireIt.BaseEditor", "type": "method", "name": "setOptions"}, {"url": "WireIt.WiringEditor.html#method_setOptions", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "setOptions"}, {"url": "WireIt.FormContainer.html#method_setOptions", "access": "", "host": "WireIt.FormContainer", "type": "method", "name": "setOptions"}, {"url": "WireIt.Grouper.html#method_setSelectedGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "setSelectedGroup"}, {"url": "WireIt.Grouper.html#method_setupSelectedGroups", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "setupSelectedGroups"}, {"url": "WireIt.Grouper.html#method_setupWidget", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "setupWidget"}, {"url": "WireIt.FormContainer.html#method_setValue", "access": "", "host": "WireIt.FormContainer", "type": "method", "name": "setValue"}, {"url": "WireIt.RubberBand.html#method_show", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "show"}, {"url": "WireIt.Grouper.html#method_showGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "showGroup"}, {"url": "WireIt.Grouper.html#method_showGroupConfigure", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "showGroupConfigure"}, {"url": "WireIt.RubberBand.html#method_start", "access": "", "host": "WireIt.RubberBand", "type": "method", "name": "start"}, {"url": "WireIt.ModuleProxy.html#method_startDrag", "access": "", "host": "WireIt.ModuleProxy", "type": "method", "name": "startDrag"}, {"url": "WireIt.Grouper.html#method_toggle", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "toggle"}, {"url": "WireIt.Grouper.html#method_unGroup", "access": "", "host": "WireIt.Grouper", "type": "method", "name": "unGroup"}, {"url": "WireIt.WiringEditor.html#method_updateLoadPanelList", "access": "", "host": "WireIt.WiringEditor", "type": "method", "name": "updateLoadPanelList"}, {"url": "WireIt.GroupUtils.html#method_valueOr", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "valueOr"}, {"url": "WireIt.GroupUtils.html#method_workOutCenter", "access": "", "host": "WireIt.GroupUtils", "type": "method", "name": "workOutCenter"}, {"url": "WireIt.FormContainer.html#property_xtype", "access": "", "host": "WireIt.FormContainer", "type": "property", "name": "xtype"}];
</script>
</body>
</html>
# Change User Description Committed
#1 16445 christiane_renck Rename/move file(s)
//guest/christiane_renck/MergeQuestJS/main/demos/WireIt/api/WiringEditor.js.html
#1 16444 christiane_renck Adding MergeQuestJS to the Workshop.