1 <html><head><title>Roo/bootstrap/form/Form.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
9 * @class Roo.bootstrap.form.Form
10 * @extends Roo.bootstrap.Component
11 * @children Roo.bootstrap.Component
12 * Bootstrap Form class
13 * @cfg {String} method GET | POST (default POST)
14 * @cfg {String} labelAlign top | left (default top)
15 * @cfg {String} align left | right - for navbars
16 * @cfg {Boolean} loadMask load mask when submit (default true)
21 * @param {Object} config The config object
25 </span><span class="jsdoc-var">Roo.bootstrap.form.Form </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">){
27 </span><span class="jsdoc-var">Roo.bootstrap.form.Form.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">);
29 </span><span class="jsdoc-var">Roo.bootstrap.form.Form.popover.apply</span><span class="jsdoc-syntax">();
31 </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
32 </span><span class="jsdoc-comment">/**
33 * @event clientvalidation
34 * If the monitorValid config option is true, this event fires repetitively to notify of valid state
36 * @param {Boolean} valid true if the form has passed client-side validation
38 </span><span class="jsdoc-var">clientvalidation</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
39 </span><span class="jsdoc-comment">/**
41 * Fires before any action is performed. Return false to cancel the action.
43 * @param {Action} action The action to be performed
45 </span><span class="jsdoc-var">beforeaction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
46 </span><span class="jsdoc-comment">/**
48 * Fires when an action fails.
50 * @param {Action} action The action that failed
52 </span><span class="jsdoc-var">actionfailed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
53 </span><span class="jsdoc-comment">/**
54 * @event actioncomplete
55 * Fires when an action is completed.
57 * @param {Action} action The action that completed
59 </span><span class="jsdoc-var">actioncomplete </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
60 </span><span class="jsdoc-syntax">});
63 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.Form</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Component</span><span class="jsdoc-syntax">, {
65 </span><span class="jsdoc-comment">/**
66 * @cfg {String} method
67 * The request method to use (GET or POST) for form actions if one isn't supplied in the action options.
69 </span><span class="jsdoc-var">method </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'POST'</span><span class="jsdoc-syntax">,
70 </span><span class="jsdoc-comment">/**
72 * The URL to use for form actions if one isn't supplied in the action options.
75 * @cfg {Boolean} fileUpload
76 * Set to true if this form is a file upload.
80 * @cfg {Object} baseParams
81 * Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.
85 * @cfg {Number} timeout Timeout for form actions in seconds (default is 30 seconds).
87 </span><span class="jsdoc-var">timeout</span><span class="jsdoc-syntax">: 30,
88 </span><span class="jsdoc-comment">/**
89 * @cfg {Sting} align (left|right) for navbar forms
91 </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">,
93 </span><span class="jsdoc-comment">// private
94 </span><span class="jsdoc-var">activeAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
96 </span><span class="jsdoc-comment">/**
97 * By default wait messages are displayed with Roo.MessageBox.wait. You can target a specific
98 * element by passing it or its id or mask the form itself by passing in true.
101 </span><span class="jsdoc-var">waitMsgTarget </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
103 </span><span class="jsdoc-var">loadMask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
105 </span><span class="jsdoc-comment">/**
106 * @cfg {Boolean} errorMask (true|false) default false
108 </span><span class="jsdoc-var">errorMask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
110 </span><span class="jsdoc-comment">/**
111 * @cfg {Number} maskOffset Default 100
113 </span><span class="jsdoc-var">maskOffset </span><span class="jsdoc-syntax">: 100,
115 </span><span class="jsdoc-comment">/**
116 * @cfg {Boolean} maskBody
118 </span><span class="jsdoc-var">maskBody </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
120 </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
122 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
123 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form'</span><span class="jsdoc-syntax">,
124 </span><span class="jsdoc-var">method </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.method </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'POST'</span><span class="jsdoc-syntax">,
125 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">(),
126 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''
127 </span><span class="jsdoc-syntax">};
128 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parent</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.xtype.match</span><span class="jsdoc-syntax">(/^Nav/)) {
129 </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'navbar-form form-inline navbar-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.align</span><span class="jsdoc-syntax">;
133 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelAlign </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'left' </span><span class="jsdoc-syntax">) {
134 </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' form-horizontal'</span><span class="jsdoc-syntax">;
138 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
140 </span><span class="jsdoc-var">initEvents </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
142 </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'submit'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onSubmit</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
143 </span><span class="jsdoc-comment">// this was added as random key presses on the form where triggering form submit.
144 </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'keypress'</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">) {
145 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getCharCode</span><span class="jsdoc-syntax">() != 13) {
146 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
148 </span><span class="jsdoc-comment">// we might need to allow it for textareas.. and some other items.
149 // check e.getTarget().
151 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.nodeName.toLowerCase</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-string">'textarea'</span><span class="jsdoc-syntax">){
152 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
155 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"keypress blocked"</span><span class="jsdoc-syntax">);
157 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
158 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
162 </span><span class="jsdoc-comment">// private
163 </span><span class="jsdoc-var">onSubmit </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">){
164 </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
167 </span><span class="jsdoc-comment">/**
168 * Returns true if client-side validation on the form is successful.
171 </span><span class="jsdoc-var">isValid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
172 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
173 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
174 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
176 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
178 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.validate</span><span class="jsdoc-syntax">()){
179 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
182 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'invalid field: ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">);
184 </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
186 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.el.isVisible</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)){
187 </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">;
192 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.errorMask </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">){
193 </span><span class="jsdoc-var">Roo.bootstrap.form.Form.popover.mask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">);
196 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">;
199 </span><span class="jsdoc-comment">/**
200 * Returns true if any fields in this form have changed since their original load.
203 </span><span class="jsdoc-var">isDirty </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
204 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dirty </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
205 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
206 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
207 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.isDirty</span><span class="jsdoc-syntax">()){
208 </span><span class="jsdoc-var">dirty </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
209 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
211 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
213 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">dirty</span><span class="jsdoc-syntax">;
215 </span><span class="jsdoc-comment">/**
216 * Performs a predefined action (submit or load) or custom actions you define on this form.
217 * @param {String} actionName The name of the action type
218 * @param {Object} options (optional) The options to pass to the action. All of the config options listed
219 * below are supported by both the submit and load actions unless otherwise noted (custom actions could also
220 * accept other config options):
222 Property Type Description
223 ---------------- --------------- ----------------------------------------------------------------------------------
224 url String The url for the action (defaults to the form's url)
225 method String The form method to use (defaults to the form's method, or POST if not defined)
226 params String/Object The params to pass (defaults to the form's baseParams, or none if not defined)
227 clientValidation Boolean Applies to submit only. Pass true to call form.isValid() prior to posting to
228 validate the form on the client (defaults to false)
230 * @return {BasicForm} this
232 </span><span class="jsdoc-var">doAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">){
233 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">action </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">){
234 </span><span class="jsdoc-var">action </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.Action.ACTION_TYPES</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">](</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
236 </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">'beforeaction'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
237 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">);
238 </span><span class="jsdoc-var">action.run.defer</span><span class="jsdoc-syntax">(100, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">);
240 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
243 </span><span class="jsdoc-comment">// private
244 </span><span class="jsdoc-var">beforeAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">){
245 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">action.options</span><span class="jsdoc-syntax">;
247 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loadMask</span><span class="jsdoc-syntax">){
249 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.maskBody</span><span class="jsdoc-syntax">){
250 </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">.mask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.waitMsg </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">"Sending"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'x-mask-loading'</span><span class="jsdoc-syntax">)
251 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
252 </span><span class="jsdoc-var">this.el.mask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.waitMsg </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">"Sending"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'x-mask-loading'</span><span class="jsdoc-syntax">);
255 </span><span class="jsdoc-comment">// not really supported yet.. ??
257 //if(this.waitMsgTarget === true){
258 // this.el.mask(o.waitMsg || "Sending", 'x-mask-loading');
259 //}else if(this.waitMsgTarget){
260 // this.waitMsgTarget = Roo.get(this.waitMsgTarget);
261 // this.waitMsgTarget.mask(o.waitMsg || "Sending", 'x-mask-loading');
263 // Roo.MessageBox.wait(o.waitMsg || "Sending", o.waitTitle || this.waitTitle || 'Please Wait...');
266 </span><span class="jsdoc-syntax">},
268 </span><span class="jsdoc-comment">// private
269 </span><span class="jsdoc-var">afterAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">success</span><span class="jsdoc-syntax">){
270 </span><span class="jsdoc-var">this.activeAction </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
271 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">action.options</span><span class="jsdoc-syntax">;
273 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loadMask</span><span class="jsdoc-syntax">){
275 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.maskBody</span><span class="jsdoc-syntax">){
276 </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">.unmask</span><span class="jsdoc-syntax">();
277 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
278 </span><span class="jsdoc-var">this.el.unmask</span><span class="jsdoc-syntax">();
282 </span><span class="jsdoc-comment">//if(this.waitMsgTarget === true){
284 //}else if(this.waitMsgTarget){
285 // this.waitMsgTarget.unmask();
287 // Roo.MessageBox.updateProgress(1);
288 // Roo.MessageBox.hide();
291 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">success</span><span class="jsdoc-syntax">){
292 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.reset</span><span class="jsdoc-syntax">){
293 </span><span class="jsdoc-var">this.reset</span><span class="jsdoc-syntax">();
295 </span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.success</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">]);
296 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'actioncomplete'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">);
298 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
300 </span><span class="jsdoc-comment">// failure condition..
301 // we have a scenario where updates need confirming.
302 // eg. if a locking scenario exists..
303 // we look for { errors : { needs_confirm : true }} in the response.
304 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(
305 (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action.result</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) &&
306 (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action.result.errors</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) &&
307 (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action.result.errors.needs_confirm</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">)
309 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
310 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"not supported yet"</span><span class="jsdoc-syntax">);
311 </span><span class="jsdoc-comment">/*
313 Roo.MessageBox.confirm(
314 "Change requires confirmation",
315 action.result.errorMsg,
320 _t.doAction('submit', { params : { _submit_confirmed : 1 } } );
327 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
330 </span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.failure</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o.scope</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">]);
331 </span><span class="jsdoc-comment">// show an error message if no failed handler is set..
332 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.hasListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'actionfailed'</span><span class="jsdoc-syntax">)) {
333 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"need to add dialog support"</span><span class="jsdoc-syntax">);
334 </span><span class="jsdoc-comment">/*
335 Roo.MessageBox.alert("Error",
336 (typeof(action.result) != 'undefined' && typeof(action.result.errorMsg) != 'undefined') ?
337 action.result.errorMsg :
338 "Saving Failed, please check your entries or try again"
341 </span><span class="jsdoc-syntax">}
343 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'actionfailed'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">);
347 </span><span class="jsdoc-comment">/**
348 * Find a Roo.form.Field in this form by id, dataIndex, name or hiddenName
349 * @param {String} id The value to search for
352 </span><span class="jsdoc-var">findField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">){
353 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
354 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">items.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">);
355 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">field</span><span class="jsdoc-syntax">){
356 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
357 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.isFormField </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">f.dataIndex </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">f.id </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">)){
358 </span><span class="jsdoc-var">field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">;
359 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
361 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
364 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">field </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
366 </span><span class="jsdoc-comment">/**
367 * Mark fields in this form invalid in bulk.
368 * @param {Array/Object} errors Either an array in the form [{id:'fieldId', msg:'The message'},...] or an object hash of {id: msg, id2: msg2}
369 * @return {BasicForm} this
371 </span><span class="jsdoc-var">markInvalid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">){
372 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">errors </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">){
373 </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">errors.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
374 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fieldError </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
375 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fieldError.id</span><span class="jsdoc-syntax">);
376 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
377 </span><span class="jsdoc-var">f.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fieldError.msg</span><span class="jsdoc-syntax">);
380 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
381 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">field</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">;
382 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">){
383 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">'function' </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">))){
384 </span><span class="jsdoc-var">field.markInvalid</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">errors</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">]);
388 </span><span class="jsdoc-comment">//Roo.each(this.childForms || [], function (f) {
389 // f.markInvalid(errors);
392 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
395 </span><span class="jsdoc-comment">/**
396 * Set values for fields in this form in bulk.
397 * @param {Array/Object} values Either an array in the form [{id:'fieldId', value:'foo'},...] or an object hash of {id: value, id2: value2}
398 * @return {BasicForm} this
400 </span><span class="jsdoc-var">setValues </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">){
401 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// array of objects
402 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">values.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
403 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
404 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v.id</span><span class="jsdoc-syntax">);
405 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
406 </span><span class="jsdoc-var">f.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v.value</span><span class="jsdoc-syntax">);
407 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.trackResetOnLoad</span><span class="jsdoc-syntax">){
408 </span><span class="jsdoc-var">f.originalValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.getValue</span><span class="jsdoc-syntax">();
412 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{ </span><span class="jsdoc-comment">// object hash
413 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">field</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">;
414 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">){
415 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">'function' </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">))){
417 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">field.setFromData </span><span class="jsdoc-syntax">&&
418 </span><span class="jsdoc-var">field.valueField </span><span class="jsdoc-syntax">&&
419 </span><span class="jsdoc-var">field.displayField </span><span class="jsdoc-syntax">&&
420 </span><span class="jsdoc-comment">// combos' with local stores can
421 // be queried via setValue()
422 // to set their value..
423 </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">field.store </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">field.store.isLocal</span><span class="jsdoc-syntax">)
425 </span><span class="jsdoc-comment">// it's a combo
426 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sd </span><span class="jsdoc-syntax">= { };
427 </span><span class="jsdoc-var">sd</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.valueField</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.hiddenName</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.hiddenName</span><span class="jsdoc-syntax">];
428 </span><span class="jsdoc-var">sd</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.displayField</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.name</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">field.name</span><span class="jsdoc-syntax">];
429 </span><span class="jsdoc-var">field.setFromData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sd</span><span class="jsdoc-syntax">);
431 } </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">field.setFromData </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">field.store </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">field.store.isLocal</span><span class="jsdoc-syntax">)) {
433 </span><span class="jsdoc-var">field.setFromData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">);
435 } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
436 </span><span class="jsdoc-var">field.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">values</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">]);
440 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.trackResetOnLoad</span><span class="jsdoc-syntax">){
441 </span><span class="jsdoc-var">field.originalValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">field.getValue</span><span class="jsdoc-syntax">();
447 </span><span class="jsdoc-comment">//Roo.each(this.childForms || [], function (f) {
448 // f.setValues(values);
451 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
454 </span><span class="jsdoc-comment">/**
455 * Returns the fields in this form as an object with key/value pairs. If multiple fields exist with the same name
456 * they are returned as an array.
457 * @param {Boolean} asString
460 </span><span class="jsdoc-var">getValues </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">asString</span><span class="jsdoc-syntax">){
461 </span><span class="jsdoc-comment">//if (this.childForms) {
462 // copy values from the child forms
463 // Roo.each(this.childForms, function (f) {
464 // this.setValues(f.getValues());
470 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Ajax.serializeForm</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">);
471 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">asString </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
472 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">fs</span><span class="jsdoc-syntax">;
474 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.urlDecode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fs</span><span class="jsdoc-syntax">);
477 </span><span class="jsdoc-comment">/**
478 * Returns the fields in this form as an object with key/value pairs.
479 * This differs from getValues as it calls getValue on each child item, rather than using dom data.
482 </span><span class="jsdoc-var">getFieldValues </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">with_hidden</span><span class="jsdoc-syntax">)
484 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
485 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= {};
486 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
488 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">()) {
489 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
492 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.getValue</span><span class="jsdoc-syntax">();
494 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.inputType </span><span class="jsdoc-syntax">==</span><span class="jsdoc-string">'radio'</span><span class="jsdoc-syntax">) {
495 </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">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">()]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
496 </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">()] = </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// empty..
497 </span><span class="jsdoc-syntax">}
499 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f.el.dom.checked</span><span class="jsdoc-syntax">) {
500 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
503 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.el.dom.value</span><span class="jsdoc-syntax">;
507 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.xtype </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'MoneyField'</span><span class="jsdoc-syntax">){
508 </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.currencyName</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">f.getCurrency</span><span class="jsdoc-syntax">();
511 </span><span class="jsdoc-comment">// not sure if this supported any more..
512 </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">v</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'object'</span><span class="jsdoc-syntax">) && </span><span class="jsdoc-var">f.getRawValue</span><span class="jsdoc-syntax">) {
513 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">f.getRawValue</span><span class="jsdoc-syntax">() ; </span><span class="jsdoc-comment">// dates..
514 </span><span class="jsdoc-syntax">}
515 </span><span class="jsdoc-comment">// combo boxes where name != hiddenName...
516 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f.name </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.name </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">f.name </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">()) {
517 </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">f.getRawValue</span><span class="jsdoc-syntax">();
519 </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.getName</span><span class="jsdoc-syntax">()] = </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
522 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">;
525 </span><span class="jsdoc-comment">/**
526 * Clears all invalid messages in this form.
527 * @return {BasicForm} this
529 </span><span class="jsdoc-var">clearInvalid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
530 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
532 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
533 </span><span class="jsdoc-var">f.clearInvalid</span><span class="jsdoc-syntax">();
536 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
539 </span><span class="jsdoc-comment">/**
541 * @return {BasicForm} this
543 </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
544 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getItems</span><span class="jsdoc-syntax">();
545 </span><span class="jsdoc-var">items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
546 </span><span class="jsdoc-var">f.reset</span><span class="jsdoc-syntax">();
549 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.childForms </span><span class="jsdoc-syntax">|| [], </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">) {
550 </span><span class="jsdoc-var">f.reset</span><span class="jsdoc-syntax">();
554 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
557 </span><span class="jsdoc-var">getItems </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
559 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">=</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.MixedCollection</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
560 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.id </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">o.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">());
562 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">iter </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">) {
563 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.inputEl</span><span class="jsdoc-syntax">) {
564 </span><span class="jsdoc-var">r.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
566 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">el.items</span><span class="jsdoc-syntax">) {
567 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
569 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.items</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">) {
570 </span><span class="jsdoc-var">iter</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
574 </span><span class="jsdoc-var">iter</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
575 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
578 </span><span class="jsdoc-var">hideFields </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</span><span class="jsdoc-syntax">)
580 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</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">){
582 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
584 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
585 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
588 </span><span class="jsdoc-var">f.hide</span><span class="jsdoc-syntax">();
590 }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
593 </span><span class="jsdoc-var">showFields </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</span><span class="jsdoc-syntax">)
595 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</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">){
597 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
599 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">){
600 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
603 </span><span class="jsdoc-var">f.show</span><span class="jsdoc-syntax">();
605 }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
610 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.Form</span><span class="jsdoc-syntax">, {
612 </span><span class="jsdoc-var">popover </span><span class="jsdoc-syntax">: {
614 </span><span class="jsdoc-var">padding </span><span class="jsdoc-syntax">: 5,
616 </span><span class="jsdoc-var">isApplied </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
618 </span><span class="jsdoc-var">isMasked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
620 </span><span class="jsdoc-var">form </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
622 </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
624 </span><span class="jsdoc-var">toolTip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
626 </span><span class="jsdoc-var">intervalID </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
628 </span><span class="jsdoc-var">maskEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
630 </span><span class="jsdoc-var">apply </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
632 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isApplied</span><span class="jsdoc-syntax">){
633 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
636 </span><span class="jsdoc-var">this.maskEl </span><span class="jsdoc-syntax">= {
637 </span><span class="jsdoc-var">top </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</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">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">"x-dlg-mask roo-form-top-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
638 </span><span class="jsdoc-var">left </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</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">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">"x-dlg-mask roo-form-left-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
639 </span><span class="jsdoc-var">bottom </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</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">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">"x-dlg-mask roo-form-bottom-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
640 </span><span class="jsdoc-var">right </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper.append</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">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">"x-dlg-mask roo-form-right-mask" </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)
643 </span><span class="jsdoc-var">this.maskEl.top.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
644 </span><span class="jsdoc-var">this.maskEl.left.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
645 </span><span class="jsdoc-var">this.maskEl.bottom.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
646 </span><span class="jsdoc-var">this.maskEl.right.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
648 </span><span class="jsdoc-var">this.toolTip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.bootstrap.Tooltip</span><span class="jsdoc-syntax">({
649 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-form-error-popover'</span><span class="jsdoc-syntax">,
650 </span><span class="jsdoc-var">alignment </span><span class="jsdoc-syntax">: {
651 </span><span class="jsdoc-string">'left' </span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'r-l'</span><span class="jsdoc-syntax">, [-2,0], </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">],
652 </span><span class="jsdoc-string">'right' </span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'l-r'</span><span class="jsdoc-syntax">, [2,0], </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">],
653 </span><span class="jsdoc-string">'bottom' </span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'tl-bl'</span><span class="jsdoc-syntax">, [0,2], </span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">],
654 </span><span class="jsdoc-string">'top' </span><span class="jsdoc-syntax">: [ </span><span class="jsdoc-string">'bl-tl'</span><span class="jsdoc-syntax">, [0,-2], </span><span class="jsdoc-string">'bottom'</span><span class="jsdoc-syntax">]
658 </span><span class="jsdoc-var">this.toolTip.render</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">));
660 </span><span class="jsdoc-var">this.toolTip.el.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
662 </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">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
663 </span><span class="jsdoc-var">this.unmask</span><span class="jsdoc-syntax">();
664 }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
666 </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">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'touchstart'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
667 </span><span class="jsdoc-var">this.unmask</span><span class="jsdoc-syntax">();
668 }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
670 </span><span class="jsdoc-var">this.isApplied </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true
671 </span><span class="jsdoc-syntax">},
673 </span><span class="jsdoc-var">mask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">)
675 </span><span class="jsdoc-var">this.form </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">form</span><span class="jsdoc-syntax">;
677 </span><span class="jsdoc-var">this.target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">;
679 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.form.errorMask </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">target.el</span><span class="jsdoc-syntax">){
680 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
683 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el.findScrollableParent</span><span class="jsdoc-syntax">() || </span><span class="jsdoc-var">this.target.el.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'div.modal'</span><span class="jsdoc-syntax">, 100, </span><span class="jsdoc-keyword">true</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">);
685 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollable</span><span class="jsdoc-syntax">);
687 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el.calcOffsetsTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollable</span><span class="jsdoc-syntax">);
689 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollTo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ot</span><span class="jsdoc-syntax">[1] - </span><span class="jsdoc-var">this.form.maskOffset</span><span class="jsdoc-syntax">;
691 </span><span class="jsdoc-var">scrollTo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollTo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollable.dom.scrollHeight</span><span class="jsdoc-syntax">);
693 </span><span class="jsdoc-var">scrollable.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollTo</span><span class="jsdoc-syntax">);
695 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">box </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el.getBox</span><span class="jsdoc-syntax">();
696 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box</span><span class="jsdoc-syntax">);
697 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">zIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.Modal.zIndex</span><span class="jsdoc-syntax">++;
700 </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
701 </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zIndex</span><span class="jsdoc-syntax">);
702 </span><span class="jsdoc-var">this.maskEl.top.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
703 </span><span class="jsdoc-var">this.maskEl.top.setLeft</span><span class="jsdoc-syntax">(0);
704 </span><span class="jsdoc-var">this.maskEl.top.setTop</span><span class="jsdoc-syntax">(0);
705 </span><span class="jsdoc-var">this.maskEl.top.show</span><span class="jsdoc-syntax">();
707 </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
708 </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zIndex</span><span class="jsdoc-syntax">);
709 </span><span class="jsdoc-var">this.maskEl.left.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.x </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.height </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding </span><span class="jsdoc-syntax">* 2);
710 </span><span class="jsdoc-var">this.maskEl.left.setLeft</span><span class="jsdoc-syntax">(0);
711 </span><span class="jsdoc-var">this.maskEl.left.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
712 </span><span class="jsdoc-var">this.maskEl.left.show</span><span class="jsdoc-syntax">();
714 </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
715 </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zIndex</span><span class="jsdoc-syntax">);
716 </span><span class="jsdoc-var">this.maskEl.bottom.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">Roo.lib.Dom.getDocumentHeight</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">box.bottom </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
717 </span><span class="jsdoc-var">this.maskEl.bottom.setLeft</span><span class="jsdoc-syntax">(0);
718 </span><span class="jsdoc-var">this.maskEl.bottom.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.bottom </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
719 </span><span class="jsdoc-var">this.maskEl.bottom.show</span><span class="jsdoc-syntax">();
721 </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
722 </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zIndex</span><span class="jsdoc-syntax">);
723 </span><span class="jsdoc-var">this.maskEl.right.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getDocumentWidth</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">box.right </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.height </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding </span><span class="jsdoc-syntax">* 2);
724 </span><span class="jsdoc-var">this.maskEl.right.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.right </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
725 </span><span class="jsdoc-var">this.maskEl.right.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.padding</span><span class="jsdoc-syntax">);
726 </span><span class="jsdoc-var">this.maskEl.right.show</span><span class="jsdoc-syntax">();
728 </span><span class="jsdoc-var">this.toolTip.bindEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.el</span><span class="jsdoc-syntax">;
730 </span><span class="jsdoc-var">this.toolTip.el.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Modal.zIndex</span><span class="jsdoc-syntax">++);
732 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.blankText</span><span class="jsdoc-syntax">;
734 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.target.getValue</span><span class="jsdoc-syntax">() !== </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">) {
736 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.target.invalidText.length</span><span class="jsdoc-syntax">) {
737 </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.invalidText</span><span class="jsdoc-syntax">;
738 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.target.regexText.length</span><span class="jsdoc-syntax">){
739 </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.target.regexText</span><span class="jsdoc-syntax">;
743 </span><span class="jsdoc-var">this.toolTip.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tip</span><span class="jsdoc-syntax">);
745 </span><span class="jsdoc-var">this.intervalID </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">window.setInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
746 </span><span class="jsdoc-var">Roo.bootstrap.form.Form.popover.unmask</span><span class="jsdoc-syntax">();
749 </span><span class="jsdoc-var">window.onwheel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;};
751 (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">; })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(500, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
755 </span><span class="jsdoc-var">unmask </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
757 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isApplied </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.form </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.target </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.form.errorMask</span><span class="jsdoc-syntax">){
758 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
761 </span><span class="jsdoc-var">this.maskEl.top.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
762 </span><span class="jsdoc-var">this.maskEl.top.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
763 </span><span class="jsdoc-var">this.maskEl.top.hide</span><span class="jsdoc-syntax">();
765 </span><span class="jsdoc-var">this.maskEl.left.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
766 </span><span class="jsdoc-var">this.maskEl.left.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
767 </span><span class="jsdoc-var">this.maskEl.left.hide</span><span class="jsdoc-syntax">();
769 </span><span class="jsdoc-var">this.maskEl.bottom.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
770 </span><span class="jsdoc-var">this.maskEl.bottom.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
771 </span><span class="jsdoc-var">this.maskEl.bottom.hide</span><span class="jsdoc-syntax">();
773 </span><span class="jsdoc-var">this.maskEl.right.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'position'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'absolute'</span><span class="jsdoc-syntax">);
774 </span><span class="jsdoc-var">this.maskEl.right.setSize</span><span class="jsdoc-syntax">(0, 0)</span><span class="jsdoc-var">.setXY</span><span class="jsdoc-syntax">([0, 0]);
775 </span><span class="jsdoc-var">this.maskEl.right.hide</span><span class="jsdoc-syntax">();
777 </span><span class="jsdoc-var">this.toolTip.hide</span><span class="jsdoc-syntax">();
779 </span><span class="jsdoc-var">this.toolTip.el.hide</span><span class="jsdoc-syntax">();
781 </span><span class="jsdoc-var">window.onwheel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;};
783 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.intervalID</span><span class="jsdoc-syntax">){
784 </span><span class="jsdoc-var">window.clearInterval</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.intervalID</span><span class="jsdoc-syntax">);
785 </span><span class="jsdoc-var">this.intervalID </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
788 </span><span class="jsdoc-var">this.isMasked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
796 </span></code></body></html>