fix #7760 - translation allowed on date and time fields
authorAlan <alan@roojs.com>
Thu, 10 Aug 2023 08:29:16 +0000 (16:29 +0800)
committerAlan <alan@roojs.com>
Thu, 10 Aug 2023 08:29:16 +0000 (16:29 +0800)
29 files changed:
docs/json/roodata.json
docs/src/Roo_bootstrap_form_DateField.js.html
docs/src/Roo_bootstrap_form_Input.js.html
docs/src/Roo_bootstrap_form_SecurePass.js.html
docs/src/Roo_bootstrap_form_TimeField.js.html
docs/src/Roo_form_Field.js.html
docs/symbols/Roo.bootstrap.form.DateField.json
docs/symbols/Roo.bootstrap.form.SecurePass.json
docs/symbols/Roo.form.Checkbox.json
docs/symbols/Roo.form.ComboBox.json
docs/symbols/Roo.form.ComboBoxArray.json
docs/symbols/Roo.form.ComboCheck.json
docs/symbols/Roo.form.ComboNested.json
docs/symbols/Roo.form.DateField.json
docs/symbols/Roo.form.DayPicker.json
docs/symbols/Roo.form.DisplayField.json
docs/symbols/Roo.form.FCKeditor.json
docs/symbols/Roo.form.Field.json
docs/symbols/Roo.form.GridField.json
docs/symbols/Roo.form.Hidden.json
docs/symbols/Roo.form.HtmlEditor.json
docs/symbols/Roo.form.MonthField.json
docs/symbols/Roo.form.NumberField.json
docs/symbols/Roo.form.Radio.json
docs/symbols/Roo.form.Select.json
docs/symbols/Roo.form.Signature.json
docs/symbols/Roo.form.TextArea.json
docs/symbols/Roo.form.TextField.json
docs/symbols/Roo.form.TriggerField.json

index 0ef4e4c..467331f 100644 (file)
         "isOptional" : false,
         "optvals" : []
       },
-      {
-        "name" : "altFormats",
-        "type" : "String",
-        "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
-        "memberOf" : "",
-        "isOptional" : false,
-        "optvals" : []
-      },
       {
         "name" : "autocomplete",
         "type" : "String",
   },
   "Roo.bootstrap.form.SecurePass" : {
     "props" : [
-      {
-        "name" : "Label",
-        "type" : "String/Object",
-        "desc" : "for the strength meter (defaults to\n'Password strength:')",
-        "memberOf" : "",
-        "isOptional" : false,
-        "optvals" : []
-      },
       {
         "name" : "accept",
         "type" : "String",
         "isOptional" : false,
         "optvals" : []
       },
-      {
-        "name" : "errors",
-        "type" : "String/Object",
-        "desc" : "A Error spec, or true for a default spec (defaults to\n{\n PwdEmpty: \"Please type a password, and then retype it to confirm.\",\n PwdShort: \"Your password must be at least 6 characters long. Please type a different password.\",\n PwdLong: \"Your password can't contain more than 16 characters. Please type a different password.\",\n PwdBadChar: \"The password contains characters that aren't allowed. Please type a different password.\",\n IDInPwd: \"Your password can't include the part of your ID. Please type a different password.\",\n FNInPwd: \"Your password can't contain your first name. Please type a different password.\",\n LNInPwd: \"Your password can't contain your last name. Please type a different password.\"\n})",
-        "memberOf" : "",
-        "isOptional" : false,
-        "optvals" : []
-      },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "minimumStrength",
+        "type" : "Number",
+        "desc" : "invalid if the strength of the password input is less than the minimum strength (from 0 to 3) (default 2)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "name",
         "type" : "String",
         "isOptional" : false,
         "optvals" : []
       },
-      {
-        "name" : "pwdStrengths",
-        "type" : "String/Object",
-        "desc" : "A pwdStrengths spec, or true for a default spec (defaults to\n['Weak', 'Medium', 'Strong'])",
-        "memberOf" : "",
-        "isOptional" : false,
-        "optvals" : []
-      },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
           "visibility"
         ]
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "language",
         "type" : "String",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "labels",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
         "isOptional" : false,
         "optvals" : []
       },
+      {
+        "name" : "labelSeparator",
+        "type" : "String",
+        "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvals" : []
+      },
       {
         "name" : "listeners",
         "type" : "Object",
index 4a237d9..ecd83b4 100644 (file)
      * valid according to {@link Date#parseDate} (defaults to 'm/d/y').
      */
     </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;m/d/y&quot;</span><span class="jsdoc-syntax">,
-    </span><span class="jsdoc-comment">/**
-     * @cfg {String} altFormats
-     * Multiple date formats separated by &quot;|&quot; to try when parsing a user input value and it doesn't match the defined
-     * format (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').
-     */
-    </span><span class="jsdoc-var">altFormats </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d&quot;</span><span class="jsdoc-syntax">,
 
     </span><span class="jsdoc-var">weekStart </span><span class="jsdoc-syntax">: 0,
 
 
     </span><span class="jsdoc-var">singleMode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
 
+    </span><span class="jsdoc-var">hiddenField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
     </span><span class="jsdoc-var">UTCDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
     {
         </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date.UTC.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">));
 
     </span><span class="jsdoc-var">setUTCDate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
             </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+            </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+    },
+
+    </span><span class="jsdoc-var">translateDates</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">translation </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lang</span><span class="jsdoc-syntax">] = {
+            </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">: [],
+            </span><span class="jsdoc-var">daysShort</span><span class="jsdoc-syntax">: [],
+            </span><span class="jsdoc-var">daysMin</span><span class="jsdoc-syntax">: [],
+            </span><span class="jsdoc-var">months</span><span class="jsdoc-syntax">: [],
+            </span><span class="jsdoc-var">monthsShort</span><span class="jsdoc-syntax">: []
+        };
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">locale </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lang.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'_'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">is_latin </span><span class="jsdoc-syntax">= [ </span><span class="jsdoc-string">'zh-hk'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'zh-cn'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'jp'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'ko' </span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale.toLowerCase</span><span class="jsdoc-syntax">()) &lt; 0;
+
+
+        </span><span class="jsdoc-comment">// fill days
+        </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; 7; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(2020, 0, 5 + </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale</span><span class="jsdoc-syntax">, {
+                </span><span class="jsdoc-var">weekday </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'long'
+            </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dayShort </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale</span><span class="jsdoc-syntax">, {
+                </span><span class="jsdoc-var">weekday </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'short'
+            </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dayMin </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale</span><span class="jsdoc-syntax">, {
+                </span><span class="jsdoc-var">weekday </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'narrow'
+            </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">is_latin</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">dayShort </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">day.substring</span><span class="jsdoc-syntax">(0, 3);
+                </span><span class="jsdoc-var">dayMin </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">day.substring</span><span class="jsdoc-syntax">(0, 2);
+            }
+
+            </span><span class="jsdoc-var">translation.days.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">translation.daysShort.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dayShort</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">translation.daysMin.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dayMin</span><span class="jsdoc-syntax">);
+        }
+
+        </span><span class="jsdoc-comment">// fill months
+        </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; 12; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(2020, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale</span><span class="jsdoc-syntax">, {
+                </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'long'
+            </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">monthShort </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">locale</span><span class="jsdoc-syntax">, {
+                </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'short'
+            </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">is_latin</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">monthShort </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">month.substring</span><span class="jsdoc-syntax">(0, 3);
+            }
+
+            </span><span class="jsdoc-var">translation.months.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">translation</span><span class="jsdoc-syntax">/</span><span class="jsdoc-var">monthsShort.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">monthShort</span><span class="jsdoc-syntax">);
+        }
     },
 
     </span><span class="jsdoc-var">onRender</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
 
         </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
 
-        </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'en'</span><span class="jsdoc-syntax">;
-        </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.language.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">)[0];
-        </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;en&quot;</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">this.translateDates</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">);
 
         </span><span class="jsdoc-var">this.isRTL </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.rtl </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-var">this.format </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.format </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'m/d/y'</span><span class="jsdoc-syntax">;
         }
 
         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tfoot th.today'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.elements</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">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
-                </span><span class="jsdoc-var">v.remove</span><span class="jsdoc-syntax">();
-                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
-            }
-
-            </span><span class="jsdoc-var">v.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.today</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-var">v.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'colspan'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">){
-                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">) + 1;
-            });
+            </span><span class="jsdoc-var">v.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.todayText</span><span class="jsdoc-syntax">;
         });
 
 
         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isInline</span><span class="jsdoc-syntax">) {
             </span><span class="jsdoc-var">this.showPopup</span><span class="jsdoc-syntax">();
         }
+
+        </span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.insertSibling</span><span class="jsdoc-syntax">(
+            {</span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">},
+            </span><span class="jsdoc-string">'before'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-keyword">true
+        </span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'____hidden___'</span><span class="jsdoc-syntax">);
+
     },
 
     </span><span class="jsdoc-var">picker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
             ]
         };
 
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-var">dow.cn.push</span><span class="jsdoc-syntax">({
-                </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
-                </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'cw'</span><span class="jsdoc-syntax">,
-                </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&amp;nbsp;'
-            </span><span class="jsdoc-syntax">})
-        }
-
         </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dowCnt </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">+ 7) {
             </span><span class="jsdoc-var">dow.cn.push</span><span class="jsdoc-syntax">({
                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
 
         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;.datepicker-days thead th.switch'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.dates</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.months</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">]+</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">;
 
-</span><span class="jsdoc-comment">//        this.picker().select('&gt;tfoot th.today', true).first().dom.innerHTML = Roo.bootstrap.form.DateField.dates[this.language].today;
-
-//        this.picker.select('&gt;tfoot th.today').
-//                                             .text(dates[this.language].today)
-//                                             .toggle(this.todayBtn !== false);
-
         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.fillMonths</span><span class="jsdoc-syntax">();
 
                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: []
                 };
-
-                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.calendarWeeks</span><span class="jsdoc-syntax">){
-                    </span><span class="jsdoc-comment">// ISO 8601: First week contains first thursday.
-                    // ISO also states week starts on Monday, but we can be more abstract here.
-                    </span><span class="jsdoc-keyword">var
-                    </span><span class="jsdoc-comment">// Start of current week: based on weekstart/current date
-                    </span><span class="jsdoc-var">ws </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">prevMonth </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">prevMonth.getUTCDay</span><span class="jsdoc-syntax">() - 7) % 7 * 864e5),
-                    </span><span class="jsdoc-comment">// Thursday of this week
-                    </span><span class="jsdoc-var">th </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">ws </span><span class="jsdoc-syntax">+ (7 + 4 - </span><span class="jsdoc-var">ws.getUTCDay</span><span class="jsdoc-syntax">()) % 7 * 864e5),
-                    </span><span class="jsdoc-comment">// First Thursday of year, year from thursday
-                    </span><span class="jsdoc-var">yth </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">yth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">th.getUTCFullYear</span><span class="jsdoc-syntax">(), 0, 1)) + (7 + 4 - </span><span class="jsdoc-var">yth.getUTCDay</span><span class="jsdoc-syntax">())%7*864e5),
-                    </span><span class="jsdoc-comment">// Calendar week: ms between thursdays, div ms per day, div 7 days
-                    </span><span class="jsdoc-var">calWeek </span><span class="jsdoc-syntax">=  (</span><span class="jsdoc-var">th </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">yth</span><span class="jsdoc-syntax">) / 864e5 / 7 + 1;
-
-                    </span><span class="jsdoc-var">fillMonths.cn.push</span><span class="jsdoc-syntax">({
-                        </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
-                        </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'cw'</span><span class="jsdoc-syntax">,
-                        </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">calWeek
-                    </span><span class="jsdoc-syntax">});
-                }
             }
 
             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">prevMonth.getUTCFullYear</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">prevMonth.getUTCMonth</span><span class="jsdoc-syntax">() &lt; </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">)) {
         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getBottom</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getLeft</span><span class="jsdoc-syntax">());
     },
 
+    </span><span class="jsdoc-comment">// return false when it fails
     </span><span class="jsdoc-var">parseDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">)
     {
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
-        }
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&amp;&amp; (</span><span class="jsdoc-var">this.useIso </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">value.match</span><span class="jsdoc-syntax">(/^(\d{4})-0?(\d+)-0?(\d+)/))) {
-            </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.altFormats</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">){
-                </span><span class="jsdoc-var">this.altFormatsArray </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.altFormats.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;|&quot;</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">this.altFormatsArray.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">&amp;&amp; !</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
-                </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
-            }
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</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">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
     },
 
     </span><span class="jsdoc-var">formatDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fmt</span><span class="jsdoc-syntax">)
         </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">date.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fmt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
     },
 
+    </span><span class="jsdoc-var">translateDate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'zh_CN'</span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'zh-CN'</span><span class="jsdoc-syntax">, {
+                    </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'numeric'</span><span class="jsdoc-syntax">,
+                    </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'long'</span><span class="jsdoc-syntax">,
+                    </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'numeric'
+                </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">default </span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+        }
+    },
+
     </span><span class="jsdoc-var">onFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
     {
         </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.superclass.onFocus.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
     {
         </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.superclass.onBlur.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
 
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getValue</span><span class="jsdoc-syntax">();
-
-        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.readOnly</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getValue</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">);
+            }
+            </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">());
+            }
+        }
 
         </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
     },
     </span><span class="jsdoc-var">setValue</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">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeselect'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
-            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </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">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) )</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                    </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+                    </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
+                }
+                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+            }
+
+            </span><span class="jsdoc-var">d </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">d</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
+
+            </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
+
+            </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.translateDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
+            }
+
+            </span><span class="jsdoc-var">this.date </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">d.getTime</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">d.getTimezoneOffset</span><span class="jsdoc-syntax">()*60000);
+
+            </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
+
+            </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+        }
+    },
+
+    </span><span class="jsdoc-comment">// bypass validation
+    </span><span class="jsdoc-var">setRawValue </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">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeselect'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
 
-            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.getTime</span><span class="jsdoc-syntax">())){
-                </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
-                </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.superclass.setValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
+                </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                    </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </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">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">d </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">d</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.clearTime</span><span class="jsdoc-syntax">();
+
+            </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
 
-            </span><span class="jsdoc-var">Roo.bootstrap.form.DateField.superclass.setValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.translateDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+            }
 
             </span><span class="jsdoc-var">this.date </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">d.getTime</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">d.getTimezoneOffset</span><span class="jsdoc-syntax">()*60000);
 
 
     </span><span class="jsdoc-var">getValue</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.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-var">getRawValue </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.getValue</span><span class="jsdoc-syntax">();
     },
 
     </span><span class="jsdoc-var">fireKey</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dateWithinRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">)){
                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">;
                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newViewDate</span><span class="jsdoc-syntax">;
-                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
 </span><span class="jsdoc-comment">//                    this.update();
                     </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
                     </span><span class="jsdoc-var">dateChanged </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dateWithinRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">)){
                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">;
                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newViewDate</span><span class="jsdoc-syntax">;
-                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
 </span><span class="jsdoc-comment">//                    this.update();
                     </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
                     </span><span class="jsdoc-var">dateChanged </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
                 }
                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">13: </span><span class="jsdoc-comment">// enter
-                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
                 </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
                 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">9: </span><span class="jsdoc-comment">// tab
-                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
                 </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">case </span><span class="jsdoc-syntax">16: </span><span class="jsdoc-comment">// shift
                         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </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">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">date.getFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">date.getMonth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">date.getDate</span><span class="jsdoc-syntax">(), 0, 0, 0);
 </span><span class="jsdoc-comment">//                        this.fill()
-                        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
 
                         </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
                         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
                     }
 
                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.singleMode</span><span class="jsdoc-syntax">){
-                        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">));
+                        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">);
                         </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
                         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
                     }
                     </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">,0,0,0,0);
                     </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.UTCDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(28, </span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">),0,0,0,0);
 </span><span class="jsdoc-comment">//                    this.fill();
-                    //Roo.log(this.formatDate(this.date));
-                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">));
+                    </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
                     </span><span class="jsdoc-var">this.hidePopup</span><span class="jsdoc-syntax">();
                 }
                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
     {
         </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startDate </span><span class="jsdoc-syntax">|| -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">!== -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">) {
-            </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.startDate</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">this.startDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">: -</span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
         }
         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
     {
         </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">endDate </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">) {
-            </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.endDate</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">this.endDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Infinity</span><span class="jsdoc-syntax">;
         }
         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.updateNavArrows</span><span class="jsdoc-syntax">();
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
 
-        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">)) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">)){
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
 
         ]
     },
 
-    </span><span class="jsdoc-var">dates</span><span class="jsdoc-syntax">:{
-        </span><span class="jsdoc-var">en</span><span class="jsdoc-syntax">: {
-            </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Sunday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Monday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tuesday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Wednesday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Thursday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Friday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Saturday&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sunday&quot;</span><span class="jsdoc-syntax">],
-            </span><span class="jsdoc-var">daysShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Sun&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mon&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tue&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Wed&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Thu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Fri&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sat&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sun&quot;</span><span class="jsdoc-syntax">],
-            </span><span class="jsdoc-var">daysMin</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Su&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mo&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Tu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;We&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Th&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Fr&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sa&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Su&quot;</span><span class="jsdoc-syntax">],
-            </span><span class="jsdoc-var">months</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;January&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;February&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;March&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;April&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;May&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;June&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;July&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;August&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;September&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;October&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;November&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;December&quot;</span><span class="jsdoc-syntax">],
-            </span><span class="jsdoc-var">monthsShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">&quot;Jan&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Feb&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Mar&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Apr&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;May&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Jun&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Jul&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Aug&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Sep&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Oct&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Nov&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Dec&quot;</span><span class="jsdoc-syntax">],
-            </span><span class="jsdoc-var">today</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Today&quot;
-        </span><span class="jsdoc-syntax">}
-    },
+    </span><span class="jsdoc-var">dates </span><span class="jsdoc-syntax">: {},
+
+    </span><span class="jsdoc-var">todayText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Today&quot;</span><span class="jsdoc-syntax">,
 
     </span><span class="jsdoc-var">modes</span><span class="jsdoc-syntax">: [
     {
index 7e06fd6..4992006 100644 (file)
 
                 </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.form-control-feedback'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">this.invalidFeedbackClass</span><span class="jsdoc-syntax">]);
 
-                </span><span class="jsdoc-var">feedback.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.invalidText</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-var">feedback.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">msg</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">msg</span><span class="jsdoc-syntax">);
 
                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.allowBlank </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">){
                     </span><span class="jsdoc-var">feedback.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.blankText</span><span class="jsdoc-syntax">);
index b4b3846..79c1e04 100644 (file)
@@ -9,6 +9,7 @@
  * @class Roo.bootstrap.form.SecurePass
  * @extends Roo.bootstrap.form.Input
  * Bootstrap SecurePass class
+ * @cfg {Number} minimumStrength invalid if the strength of the password input is less than the minimum strength (from 0 to 3) (default 2)
  *
  * 
  * @constructor
  */
 
 </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass </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">) {
-    </span><span class="jsdoc-comment">// these go here, so the translation tool can replace them..
-    </span><span class="jsdoc-var">this.errors </span><span class="jsdoc-syntax">= {
-        </span><span class="jsdoc-var">PwdEmpty</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Please type a password, and then retype it to confirm.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">PwdShort</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password must be at least 6 characters long. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">PwdLong</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain more than 16 characters. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">PwdBadChar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;The password contains characters that aren't allowed. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">IDInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't include the part of your ID. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">FNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain your first name. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">LNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain your last name. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-var">TooWeak</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password is Too Weak.&quot;
-    </span><span class="jsdoc-syntax">},
-    </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;Password strength:&quot;</span><span class="jsdoc-syntax">;
-    </span><span class="jsdoc-var">this.pwdStrengths </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">&quot;Too Weak&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Weak&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Medium&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Strong&quot;</span><span class="jsdoc-syntax">];
-    </span><span class="jsdoc-var">this.meterClass </span><span class="jsdoc-syntax">= [
-        </span><span class="jsdoc-string">&quot;roo-password-meter-tooweak&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-string">&quot;roo-password-meter-weak&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-string">&quot;roo-password-meter-medium&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-string">&quot;roo-password-meter-strong&quot;</span><span class="jsdoc-syntax">,
-        </span><span class="jsdoc-string">&quot;roo-password-meter-grey&quot;
-    </span><span class="jsdoc-syntax">];
-
-    </span><span class="jsdoc-var">this.errors </span><span class="jsdoc-syntax">= {};
 
     </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.superclass.constructor.call</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">);
 }
 
 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.form.Input</span><span class="jsdoc-syntax">, {
-    </span><span class="jsdoc-comment">/**
-     * @cfg {String/Object} errors A Error spec, or true for a default spec (defaults to
-     * {
-     *  PwdEmpty: &quot;Please type a password, and then retype it to confirm.&quot;,
-     *  PwdShort: &quot;Your password must be at least 6 characters long. Please type a different password.&quot;,
-     *  PwdLong: &quot;Your password can't contain more than 16 characters. Please type a different password.&quot;,
-     *  PwdBadChar: &quot;The password contains characters that aren't allowed. Please type a different password.&quot;,
-     *  IDInPwd: &quot;Your password can't include the part of your ID. Please type a different password.&quot;,
-     *  FNInPwd: &quot;Your password can't contain your first name. Please type a different password.&quot;,
-     *  LNInPwd: &quot;Your password can't contain your last name. Please type a different password.&quot;
-     * })
-     */
-    // private
-
+    </span><span class="jsdoc-var">minimumStrength </span><span class="jsdoc-syntax">: 2,
+    </span><span class="jsdoc-comment">// private
     </span><span class="jsdoc-var">meterWidth</span><span class="jsdoc-syntax">: 300,
-    </span><span class="jsdoc-var">errorMsg </span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
-    </span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
     </span><span class="jsdoc-var">imageRoot</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'/'</span><span class="jsdoc-syntax">,
-    </span><span class="jsdoc-comment">/**
-     * @cfg {String/Object} Label for the strength meter (defaults to
-     * 'Password strength:')
-     */
-    // private
-    </span><span class="jsdoc-var">meterLabel</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
-    </span><span class="jsdoc-comment">/**
-     * @cfg {String/Object} pwdStrengths A pwdStrengths spec, or true for a default spec (defaults to
-     * ['Weak', 'Medium', 'Strong'])
-     */
-    // private    
-    </span><span class="jsdoc-var">pwdStrengths</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
     </span><span class="jsdoc-comment">// private
     </span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">: 0,
     </span><span class="jsdoc-comment">// private
 
         </span><span class="jsdoc-comment">//var pm = this.trigger.child('div/div/div').dom;
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
+        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
 
 
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'/div'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;*[class=roo-password-meter-text]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.dom</span><span class="jsdoc-syntax">;
 
-        </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&amp;nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
+        </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&amp;nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
 
         </span><span class="jsdoc-var">this._lastPwd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">;
     },
         </span><span class="jsdoc-var">this._lastPwd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
 
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'roo-password-meter-grey'</span><span class="jsdoc-syntax">);
 
 
                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
             }
 
-            </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdEmpty</span><span class="jsdoc-syntax">);
-            </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdEmpty</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdEmpty</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
 
         }
 
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value.match</span><span class="jsdoc-syntax">(/[\x21-\x7e]+/)) {
-            </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdBadChar</span><span class="jsdoc-syntax">);
-            </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdBadChar</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdBadChar</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value.length </span><span class="jsdoc-syntax">&lt; 6) {
-            </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdShort</span><span class="jsdoc-syntax">);
-            </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdShort</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdShort</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value.length </span><span class="jsdoc-syntax">&gt; 16) {
-            </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errors.PwdLong</span><span class="jsdoc-syntax">);
-            </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.PwdLong</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.PwdLong</span><span class="jsdoc-syntax">;
             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
         }
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">;
         }
 
 
-        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">strength </span><span class="jsdoc-syntax">&lt; 2) {
-            </span><span class="jsdoc-comment">//this.markInvalid(this.errors.TooWeak);
-            </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.errors.TooWeak</span><span class="jsdoc-syntax">;
-            </span><span class="jsdoc-comment">//return false;
-        </span><span class="jsdoc-syntax">}
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">strength </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.minimumStrength</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.invalidText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors.TooWeak</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+        }
 
 
         </span><span class="jsdoc-var">console.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'strength2: ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-comment">//var pm = this.trigger.child('div/div/div').dom;
 
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div/div'</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">);
-        </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
+        </span><span class="jsdoc-var">pm.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">pm.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">]);
 
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.trigger.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'/div'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;*[class=roo-password-meter-text]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.dom</span><span class="jsdoc-syntax">;
 
-        </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&amp;nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
+        </span><span class="jsdoc-var">pt.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'&amp;nbsp;' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">strength</span><span class="jsdoc-syntax">];
 
-        </span><span class="jsdoc-var">this.errorMsg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
     },
     </span><span class="jsdoc-comment">// private
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 6) || !</span><span class="jsdoc-var">this.IsLongEnough</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pwd</span><span class="jsdoc-syntax">, 0);
     }
 
-});</span></code></body></html>
\ No newline at end of file
+});
+
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.errors </span><span class="jsdoc-syntax">= {
+    </span><span class="jsdoc-var">PwdEmpty</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Please type a password, and then retype it to confirm.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">PwdShort</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password must be at least 6 characters long. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">PwdLong</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain more than 16 characters. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">PwdBadChar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;The password contains characters that aren't allowed. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">IDInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't include the part of your ID. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">FNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain your first name. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">LNInPwd</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password can't contain your last name. Please type a different password.&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">TooWeak</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Your password is Too Weak.&quot;
+</span><span class="jsdoc-syntax">};
+
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterLabel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;Password strength:&quot;</span><span class="jsdoc-syntax">;
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.pwdStrengths </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">&quot;Too Weak&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Weak&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Medium&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;Strong&quot;</span><span class="jsdoc-syntax">];
+</span><span class="jsdoc-var">Roo.bootstrap.form.SecurePass.meterClass </span><span class="jsdoc-syntax">= [
+    </span><span class="jsdoc-string">&quot;roo-password-meter-tooweak&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-string">&quot;roo-password-meter-weak&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-string">&quot;roo-password-meter-medium&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-string">&quot;roo-password-meter-strong&quot;</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-string">&quot;roo-password-meter-grey&quot;
+</span><span class="jsdoc-syntax">];</span></code></body></html>
\ No newline at end of file
index 82547ff..6c228ac 100644 (file)
@@ -53,7 +53,8 @@
      */
     </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;H:i&quot;</span><span class="jsdoc-syntax">,
     </span><span class="jsdoc-var">minuteStep </span><span class="jsdoc-syntax">: 1,
-
+    </span><span class="jsdoc-var">language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'en'</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">hiddenField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
     </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
     {
         </span><span class="jsdoc-var">this.after </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'&lt;i class=&quot;fa far fa-clock&quot;&gt;&lt;/i&gt;'</span><span class="jsdoc-syntax">;
@@ -66,6 +67,8 @@
 
         </span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
 
+        </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.language </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.periodText </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.language </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;en&quot;</span><span class="jsdoc-syntax">;
+
         </span><span class="jsdoc-var">this.pickerEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.template</span><span class="jsdoc-syntax">);
 
         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
         </span><span class="jsdoc-var">this.pop.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.minutes-down'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onDecrementMinutes</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-var">this.pop.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'button.period'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTogglePeriod</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-var">this.pop.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'button.ok'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.setTime</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.pop.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'button.ok'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.okText</span><span class="jsdoc-syntax">;
+
+        </span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.insertSibling</span><span class="jsdoc-syntax">(
+            {</span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">},
+            </span><span class="jsdoc-string">'before'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-keyword">true
+        </span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'____hidden___'</span><span class="jsdoc-syntax">);
 
     },
 
     {
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hours </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.time.getHours</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">minutes </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.time.getMinutes</span><span class="jsdoc-syntax">();
-        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">period </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'AM'</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">period </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.periodText</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">][</span><span class="jsdoc-string">'am'</span><span class="jsdoc-syntax">];
 
         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hours </span><span class="jsdoc-syntax">&gt; 11){
-            </span><span class="jsdoc-var">period </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'PM'</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">period </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.TimeField.periodText</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">][</span><span class="jsdoc-string">'pm'</span><span class="jsdoc-syntax">];
         }
 
         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hours </span><span class="jsdoc-syntax">== 0){
         </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.place</span><span class="jsdoc-syntax">();
 
-        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.time</span><span class="jsdoc-syntax">);
     },
 
     </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
         </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">this.pop.hide</span><span class="jsdoc-syntax">();
 
-        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'hide'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'hide'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.time</span><span class="jsdoc-syntax">);
     },
 
     </span><span class="jsdoc-var">setTime </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
     {
         </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
-        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.time.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">));
+        </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.time</span><span class="jsdoc-syntax">);
 
-        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.date</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.time</span><span class="jsdoc-syntax">);
 
 
     },
 
+    </span><span class="jsdoc-comment">// return false when it fails
+    </span><span class="jsdoc-var">parseTime </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'H:i:s'</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-var">translateTime </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">time</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.language</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'zh_CN'</span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Intl.DateTimeFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'zh-CN'</span><span class="jsdoc-syntax">, {
+                    </span><span class="jsdoc-var">hour </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'numeric'</span><span class="jsdoc-syntax">,
+                    </span><span class="jsdoc-var">minute </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'numeric'</span><span class="jsdoc-syntax">,
+                    </span><span class="jsdoc-var">hour12 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
+                </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">time</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-keyword">default </span><span class="jsdoc-syntax">:
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">time.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
+        }
+    },
+
+    </span><span class="jsdoc-var">setValue</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">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseTime</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.time </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
+            }
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+
+        </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'H:i:s'</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.translateTime</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+            </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
+        }
+
+        </span><span class="jsdoc-var">this.time </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
+
+        </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
+    },
+
+    </span><span class="jsdoc-var">setRawValue</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">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.parseTime</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-var">this.time </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+                </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </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">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hiddenField.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.dateFormat</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'H:i:s'</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.translateTime</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
+
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </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-var">v </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
+        }
+
+        </span><span class="jsdoc-var">this.time </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">;
+
+        </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
+    },
+
+    </span><span class="jsdoc-var">getValue</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.value</span><span class="jsdoc-syntax">;
+    },
+
+    </span><span class="jsdoc-var">getRawValue </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.getValue</span><span class="jsdoc-syntax">();
+    },
+
     </span><span class="jsdoc-var">onMousedown</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-var">e.stopPropagation</span><span class="jsdoc-syntax">();
         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
 
 
 });
-
-
 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.TimeField</span><span class="jsdoc-syntax">,  {
+    </span><span class="jsdoc-var">okText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'OK'</span><span class="jsdoc-syntax">,
+    </span><span class="jsdoc-var">periodText </span><span class="jsdoc-syntax">: {
+        </span><span class="jsdoc-var">en </span><span class="jsdoc-syntax">: {
+            </span><span class="jsdoc-var">am </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'AM'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'PM'
+        </span><span class="jsdoc-syntax">},
+        </span><span class="jsdoc-var">zh_CN </span><span class="jsdoc-syntax">: {
+            </span><span class="jsdoc-var">am </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'上午'</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'下午'
+        </span><span class="jsdoc-syntax">}
+    }
+});
 
+</span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.TimeField</span><span class="jsdoc-syntax">,  {
     </span><span class="jsdoc-var">template </span><span class="jsdoc-syntax">: {
         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker dropdown-menu'</span><span class="jsdoc-syntax">,
                                             {
                                                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
                                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-info ok'</span><span class="jsdoc-syntax">,
-                                                </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'OK'
+                                                </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;OK&quot; </span><span class="jsdoc-comment">// this is overridden on construciton
                                             </span><span class="jsdoc-syntax">}
                                         ]
                                     }
index 5826f20..4d79119 100644 (file)
@@ -24,6 +24,9 @@
 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.Field</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.BoxComponent</span><span class="jsdoc-syntax">,  {
     </span><span class="jsdoc-comment">/**
      * @cfg {String} fieldLabel Label to use when rendering a form.
+     */
+       /**
+     * @cfg {String} labelSeparator the ':' after a field label (default :)  = set it to empty string to hide the field label.
      */
        /**
      * @cfg {String} qtip Mouse over tip
index dad6bab..d9699c9 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "altFormats",
-      "type" : "String",
-      "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
-      "memberOf" : "",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "viewMode",
       "type" : "String",
index 7e039ca..56c2f8f 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "errors",
-      "type" : "String/Object",
-      "desc" : "A Error spec, or true for a default spec (defaults to\n{\n PwdEmpty: \"Please type a password, and then retype it to confirm.\",\n PwdShort: \"Your password must be at least 6 characters long. Please type a different password.\",\n PwdLong: \"Your password can't contain more than 16 characters. Please type a different password.\",\n PwdBadChar: \"The password contains characters that aren't allowed. Please type a different password.\",\n IDInPwd: \"Your password can't include the part of your ID. Please type a different password.\",\n FNInPwd: \"Your password can't contain your first name. Please type a different password.\",\n LNInPwd: \"Your password can't contain your last name. Please type a different password.\"\n})",
-      "memberOf" : "",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "allowDomMove",
       "type" : "Boolean",
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "Label",
-      "type" : "String/Object",
-      "desc" : "for the strength meter (defaults to\n'Password strength:')",
-      "memberOf" : "",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "hasFeedback",
       "type" : "Boolean",
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "pwdStrengths",
-      "type" : "String/Object",
-      "desc" : "A pwdStrengths spec, or true for a default spec (defaults to\n['Weak', 'Medium', 'Strong'])",
-      "memberOf" : "",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "fieldLabel",
       "type" : "string",
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "minimumStrength",
+      "type" : "Number",
+      "desc" : "invalid if the strength of the password input is less than the minimum strength (from 0 to 3) (default 2)",
+      "memberOf" : "",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "before",
       "type" : "string",
index 4f4bd7d..5ae47d7 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index b6dd751..bdb7070 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index 62c2deb..cc01b64 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "hiddenName",
       "type" : "String",
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "autoCreate",
-      "type" : "String/Object",
-      "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-      "memberOf" : "Roo.form.Field",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "maskRe",
       "type" : "String",
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "autoCreate",
+      "type" : "String/Object",
+      "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "validationEvent",
       "type" : "String/Boolean",
index b13763f..0df925b 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index 56e31b7..70b9b17 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index f544635..e685950 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "validateOnBlur",
       "type" : "Boolean",
index de5a12e..aa141ce 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index 8c219e6..fb4c475 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index 3410c1b..abcce7d 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
       "isOptional" : false,
       "optvals" : []
     },
-    {
-      "name" : "validationEvent",
-      "type" : "String/Boolean",
-      "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-      "memberOf" : "Roo.form.Field",
-      "isOptional" : false,
-      "optvals" : []
-    },
     {
       "name" : "autoCreate",
       "type" : "String/Object",
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "validationEvent",
+      "type" : "String/Boolean",
+      "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "fieldLabel",
       "type" : "String",
index 036a8d8..77c9c19 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "",
       "isOptional" : false,
       "optvals" : []
index 85dcb10..38afc60 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index ec05c3e..5be2ede 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index ad57f63..8d13be1 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index e2171b0..e4c7bc1 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index 467eec6..f3265f0 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "fieldClass",
       "type" : "String",
index d41ae41..506e833 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index 58c7ead..6676807 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "validateOnBlur",
       "type" : "Boolean",
index 7d6a35e..6a35582 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "tabIndex",
       "type" : "Number",
       "optvals" : []
     },
     {
-      "name" : "name",
+      "name" : "qtip",
       "type" : "String",
-      "desc" : "The field's HTML name attribute.",
+      "desc" : "Mouse over tip",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "qtip",
+      "name" : "name",
       "type" : "String",
-      "desc" : "Mouse over tip",
+      "desc" : "The field's HTML name attribute.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index 0277424..7a1683c 100644 (file)
       "optvals" : []
     },
     {
-      "name" : "validateOnBlur",
-      "type" : "Boolean",
-      "desc" : "Whether the field should validate when it loses focus (defaults to true).",
+      "name" : "cls",
+      "type" : "String",
+      "desc" : "A CSS class to apply to the field's underlying element.",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
     },
     {
-      "name" : "cls",
+      "name" : "labelSeparator",
       "type" : "String",
-      "desc" : "A CSS class to apply to the field's underlying element.",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
+    {
+      "name" : "validateOnBlur",
+      "type" : "Boolean",
+      "desc" : "Whether the field should validate when it loses focus (defaults to true).",
       "memberOf" : "Roo.form.Field",
       "isOptional" : false,
       "optvals" : []
index 3cd09c5..d8ccce4 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "cls",
       "type" : "String",
index b8ce86c..4e87b9f 100644 (file)
       "isOptional" : false,
       "optvals" : []
     },
+    {
+      "name" : "labelSeparator",
+      "type" : "String",
+      "desc" : "the ':' after a field label (default :)  = set it to empty string to hide the field label.",
+      "memberOf" : "Roo.form.Field",
+      "isOptional" : false,
+      "optvals" : []
+    },
     {
       "name" : "validateOnBlur",
       "type" : "Boolean",