Fix #5718 - Change the order / layout of tabs. / new master lists
[roojs1] / docs / src / Roo_data_Field.js.html
1 <html><head><title>/home/edward/gitlive/roojs1/Roo/data/Field.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">/*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * &lt;script type=&quot;text/javascript&quot;&gt;
10  */
11
12
13 </span><span class="jsdoc-var">Roo.data.Field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
14     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
15         </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">= {</span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">};
16     }
17     </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
18
19     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.type</span><span class="jsdoc-syntax">){
20         </span><span class="jsdoc-var">this.type </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;auto&quot;</span><span class="jsdoc-syntax">;
21     }
22
23     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.data.SortTypes</span><span class="jsdoc-syntax">;
24     </span><span class="jsdoc-comment">// named sortTypes are supported, here we look them up
25     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">this.sortType </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
26         </span><span class="jsdoc-var">this.sortType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.sortType</span><span class="jsdoc-syntax">];
27     }
28
29     </span><span class="jsdoc-comment">// set default sortType for strings and dates
30     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.sortType</span><span class="jsdoc-syntax">){
31         </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.type</span><span class="jsdoc-syntax">){
32             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">:
33                 </span><span class="jsdoc-var">this.sortType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">st.asUCString</span><span class="jsdoc-syntax">;
34                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
35             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;date&quot;</span><span class="jsdoc-syntax">:
36                 </span><span class="jsdoc-var">this.sortType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">st.asDate</span><span class="jsdoc-syntax">;
37                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
38             </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
39                 </span><span class="jsdoc-var">this.sortType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">st.none</span><span class="jsdoc-syntax">;
40         }
41     }
42
43     </span><span class="jsdoc-comment">// define once
44     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stripRe </span><span class="jsdoc-syntax">= /[\$,%]/g;
45
46     </span><span class="jsdoc-comment">// prebuilt conversion function for this field, instead of
47     // switching every time we're reading a value
48     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.convert</span><span class="jsdoc-syntax">){
49         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cv</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dateFormat </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dateFormat</span><span class="jsdoc-syntax">;
50         </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.type</span><span class="jsdoc-syntax">){
51             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">:
52             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;auto&quot;</span><span class="jsdoc-syntax">:
53             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">:
54                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">; };
55                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
56             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">:
57                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">); };
58                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
59             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;int&quot;</span><span class="jsdoc-syntax">:
60                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
61                     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">?
62                            </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stripRe</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">), 10) : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
63                     };
64                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
65             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;float&quot;</span><span class="jsdoc-syntax">:
66                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
67                     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">?
68                            </span><span class="jsdoc-var">parseFloat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stripRe</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">), 10) : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
69                     };
70                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
71             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;bool&quot;</span><span class="jsdoc-syntax">:
72             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;boolean&quot;</span><span class="jsdoc-syntax">:
73                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">&quot;true&quot; </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">== 1; };
74                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
75             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;date&quot;</span><span class="jsdoc-syntax">:
76                 </span><span class="jsdoc-var">cv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
77                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
78                         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
79                     }
80                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
81                         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
82                     }
83                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dateFormat</span><span class="jsdoc-syntax">){
84                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dateFormat </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;timestamp&quot;</span><span class="jsdoc-syntax">){
85                             </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">*1000);
86                         }
87                         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dateFormat</span><span class="jsdoc-syntax">);
88                     }
89                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">parsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
90                     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parsed </span><span class="jsdoc-syntax">? </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parsed</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
91                 };
92              </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
93
94         }
95         </span><span class="jsdoc-var">this.convert </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cv</span><span class="jsdoc-syntax">;
96     }
97 };
98
99 </span><span class="jsdoc-var">Roo.data.Field.prototype </span><span class="jsdoc-syntax">= {
100     </span><span class="jsdoc-var">dateFormat</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
101     </span><span class="jsdoc-var">defaultValue</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">,
102     </span><span class="jsdoc-var">mapping</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
103     </span><span class="jsdoc-var">sortType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
104     </span><span class="jsdoc-var">sortDir </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;ASC&quot;
105 </span><span class="jsdoc-syntax">};</span></code></body></html>