Fix #5654 - roojspacker - get it working as a doc tool...
[roojs1] / docs.old / symbols / src / Roo_MasterTemplate.js.html
diff --git a/docs.old/symbols/src/Roo_MasterTemplate.js.html b/docs.old/symbols/src/Roo_MasterTemplate.js.html
new file mode 100644 (file)
index 0000000..87db373
--- /dev/null
@@ -0,0 +1,153 @@
+<html><head><title>../roojs1/Roo/MasterTemplate.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+ * Based on:
+ * Ext JS Library 1.1.1
+ * Copyright(c) 2006-2007, Ext JS, LLC.
+ *
+ * Originally Released Under LGPL - original licence link has changed is not relivant.
+ *
+ * Fork - LGPL
+ * &lt;script type=&quot;text/javascript&quot;&gt;
+ */
+
+
+
+/**
+ * @class Roo.MasterTemplate
+ * @extends Roo.Template
+ * Provides a template that can have child templates. The syntax is:
+&lt;pre&gt;&lt;code&gt;
+var t = new Roo.MasterTemplate(
+       '&amp;lt;select name=&quot;{name}&quot;&amp;gt;',
+               '&amp;lt;tpl name=&quot;options&quot;&amp;gt;&amp;lt;option value=&quot;{value:trim}&quot;&amp;gt;{text:ellipsis(10)}&amp;lt;/option&amp;gt;&amp;lt;/tpl&amp;gt;',
+       '&amp;lt;/select&amp;gt;'
+);
+t.add('options', {value: 'foo', text: 'bar'});
+// or you can add multiple child elements in one shot
+t.addAll('options', [
+    {value: 'foo', text: 'bar'},
+    {value: 'foo2', text: 'bar2'},
+    {value: 'foo3', text: 'bar3'}
+]);
+// then append, applying the master template values
+t.append('my-form', {name: 'my-select'});
+&lt;/code&gt;&lt;/pre&gt;
+* A name attribute for the child template is not required if you have only one child
+* template or you want to refer to them by index.
+ */
+</span><span class="jsdoc-var">Roo.MasterTemplate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+    </span><span class="jsdoc-var">Roo.MasterTemplate.superclass.constructor.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+    </span><span class="jsdoc-var">this.originalHtml </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.html</span><span class="jsdoc-syntax">;
+    </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">= {};
+    </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">re </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.subTemplateRe</span><span class="jsdoc-syntax">;
+    </span><span class="jsdoc-var">re.lastIndex </span><span class="jsdoc-syntax">= 0;
+    </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">subIndex </span><span class="jsdoc-syntax">= 0;
+    </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">re.exec</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.html</span><span class="jsdoc-syntax">)){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[1], </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">[2];
+        </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">] = {
+            </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">buffer</span><span class="jsdoc-syntax">: [],
+            </span><span class="jsdoc-var">tpl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">)
+        };
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">];
+        }
+        </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.tpl.compile</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.tpl.call </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.call.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">++;
+    }
+    </span><span class="jsdoc-var">this.subCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">subIndex</span><span class="jsdoc-syntax">;
+    </span><span class="jsdoc-var">this.subs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">;
+};
+</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.MasterTemplate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">, {
+    </span><span class="jsdoc-comment">/**
+    * The regular expression used to match sub templates
+    * @type RegExp
+    * @property
+    */
+    </span><span class="jsdoc-var">subTemplateRe </span><span class="jsdoc-syntax">: /&lt;tpl(?:\sname=&quot;([\w-]+)&quot;)?&gt;((?:.|\n)*?)&lt;\/tpl&gt;/gi,
+
+    </span><span class="jsdoc-comment">/**
+     * Applies the passed values to a child template.
+     * @param {String/Number} name (optional) The name or index of the child template
+     * @param {Array/Object} values The values to be applied to the template
+     * @return {MasterTemplate} this
+     */
+     </span><span class="jsdoc-var">add </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">arguments.length </span><span class="jsdoc-syntax">== 1){
+            </span><span class="jsdoc-var">values </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">[0];
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">= 0;
+        }
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.subs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">];
+        </span><span class="jsdoc-var">s.buffer</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">s.buffer.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">s.tpl.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-comment">/**
+     * Applies all the passed values to a child template.
+     * @param {String/Number} name (optional) The name or index of the child template
+     * @param {Array} values The values to be applied to the template, this should be an array of objects.
+     * @param {Boolean} reset (optional) True to reset the template first
+     * @return {MasterTemplate} this
+     */
+    </span><span class="jsdoc-var">fill </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">reset</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">== 1 || (</span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">== 2 &amp;&amp; </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[1] == </span><span class="jsdoc-string">&quot;boolean&quot;</span><span class="jsdoc-syntax">)){
+            </span><span class="jsdoc-var">values </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[0];
+            </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">= 0;
+            </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[1];
+        }
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">reset</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-var">this.reset</span><span class="jsdoc-syntax">();
+        }
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">values.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+            </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+        }
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-comment">/**
+     * Resets the template for reuse
+     * @return {MasterTemplate} this
+     */
+     </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.subs</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.subCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+            </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.buffer </span><span class="jsdoc-syntax">= [];
+        }
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-var">applyTemplate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.subs</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">replaceIndex </span><span class="jsdoc-syntax">= -1;
+        </span><span class="jsdoc-var">this.html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.originalHtml.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.subTemplateRe</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">[++</span><span class="jsdoc-var">replaceIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.buffer.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">);
+        });
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.MasterTemplate.superclass.applyTemplate.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">);
+    },
+
+    </span><span class="jsdoc-var">apply </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.applyTemplate.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+    },
+
+    </span><span class="jsdoc-var">compile </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;}
+});
+
+</span><span class="jsdoc-comment">/**
+ * Alias for fill().
+ * @method
+ */
+</span><span class="jsdoc-var">Roo.MasterTemplate.prototype.addAll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.MasterTemplate.prototype.fill</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">/**
+ * Creates a template from the passed element's value (display:none textarea, preferred) or innerHTML. e.g.
+ * var tpl = Roo.MasterTemplate.from('element-id');
+ * @param {String/HTMLElement} el
+ * @param {Object} config
+ * @static
+ */
+</span><span class="jsdoc-var">Roo.MasterTemplate.from </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
+    </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.getDom</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
+    </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.MasterTemplate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.value </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">el.innerHTML</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
+};</span></code></body></html>
\ No newline at end of file