sync
[roojs1] / docs / symbols / Roo.form.Form.json
1 {
2   "name" : "Roo.form.Form",
3   "augments" : [
4     "Roo.form.BasicForm",
5     "Roo.util.Observable"
6   ],
7   "desc" : "Adds the ability to dynamically render forms with JavaScript to {@link Roo.form.BasicForm}.",
8   "isSingleton" : false,
9   "isStatic" : false,
10   "isBuiltin" : false,
11   "memberOf" : "Form",
12   "example" : "",
13   "deprecated" : "",
14   "since" : "",
15   "see" : "",
16   "params" : [
17     {
18       "name" : "config",
19       "type" : "Object",
20       "desc" : "Configuration options",
21       "isOptional" : false
22     }
23   ],
24   "returns" : [],
25   "throws" : "",
26   "requires" : "",
27   "config" : [
28     {
29       "name" : "labelAlign",
30       "type" : "String",
31       "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\").\nThis property cascades to child containers if not set.",
32       "memberOf" : ""
33     },
34     {
35       "name" : "listeners",
36       "type" : "Object",
37       "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
38       "memberOf" : "Roo.util.Observable"
39     },
40     {
41       "name" : "formData",
42       "type" : "boolean|FormData",
43       "desc" : "- true to use new 'FormData' post, or set to a new FormData({dom form}) Object, if\nsending a formdata with extra parameters - eg uploaded elements.",
44       "memberOf" : ""
45     },
46     {
47       "name" : "monitorValid",
48       "type" : "Boolean",
49       "desc" : "If true the form monitors its valid state <b>client-side</b> and\nfires a looping event with that state. This is required to bind buttons to the valid\nstate using the config value formBind:true on the button.",
50       "memberOf" : ""
51     },
52     {
53       "name" : "fileUpload",
54       "type" : "Boolean",
55       "desc" : "Set to true if this form is a file upload.",
56       "memberOf" : "Roo.form.BasicForm"
57     },
58     {
59       "name" : "progressUrl",
60       "type" : "String",
61       "desc" : "- Url to return progress data",
62       "memberOf" : ""
63     },
64     {
65       "name" : "buttons[]",
66       "type" : "Roo.Button",
67       "desc" : "buttons at bottom of form",
68       "memberOf" : ""
69     },
70     {
71       "name" : "minButtonWidth",
72       "type" : "Number",
73       "desc" : "Minimum width of all buttons in pixels (defaults to 75)",
74       "memberOf" : ""
75     },
76     {
77       "name" : "buttonAlign",
78       "type" : "String",
79       "desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"center\")",
80       "memberOf" : ""
81     },
82     {
83       "name" : "method",
84       "type" : "String",
85       "desc" : "The request method to use (GET or POST) for form actions if one isn't supplied in the action options.",
86       "memberOf" : "Roo.form.BasicForm"
87     },
88     {
89       "name" : "errorMask",
90       "type" : "Boolean",
91       "desc" : "e) default false",
92       "memberOf" : "Roo.form.BasicForm"
93     },
94     {
95       "name" : "itemCls",
96       "type" : "String",
97       "desc" : "A css class to apply to the x-form-item of fields. This property cascades to child containers.",
98       "memberOf" : ""
99     },
100     {
101       "name" : "labelWidth",
102       "type" : "Number",
103       "desc" : "The width of labels. This property cascades to child containers.",
104       "memberOf" : ""
105     },
106     {
107       "name" : "timeout",
108       "type" : "Number",
109       "desc" : "Timeout for form actions in seconds (default is 30 seconds).",
110       "memberOf" : "Roo.form.BasicForm"
111     },
112     {
113       "name" : "monitorPoll",
114       "type" : "Number",
115       "desc" : "The milliseconds to poll valid state, ignored if monitorValid is not true (defaults to 200)",
116       "memberOf" : ""
117     },
118     {
119       "name" : "baseParams",
120       "type" : "Object",
121       "desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.",
122       "memberOf" : "Roo.form.BasicForm"
123     },
124     {
125       "name" : "trackResetOnLoad",
126       "type" : "Boolean",
127       "desc" : "If set to true, form.reset() resets to the last loaded\nor setValues() data instead of when the form was first created.",
128       "memberOf" : "Roo.form.BasicForm"
129     },
130     {
131       "name" : "reader",
132       "type" : "DataReader",
133       "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when executing \"load\" actions.\nThis is optional as there is built-in support for processing JSON.",
134       "memberOf" : "Roo.form.BasicForm"
135     },
136     {
137       "name" : "errorReader",
138       "type" : "DataReader",
139       "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when reading validation errors on \"submit\" actions.\nThis is completely optional as there is built-in support for processing JSON.",
140       "memberOf" : "Roo.form.BasicForm"
141     },
142     {
143       "name" : "url",
144       "type" : "String",
145       "desc" : "The URL to use for form actions if one isn't supplied in the action options.",
146       "memberOf" : "Roo.form.BasicForm"
147     },
148     {
149       "name" : "maskOffset",
150       "type" : "Number",
151       "desc" : "Default 100",
152       "memberOf" : "Roo.form.BasicForm"
153     }
154   ],
155   "methods" : [
156     {
157       "name" : "addxtype",
158       "type" : "function",
159       "desc" : "Adds a series of form elements (using the xtype property as the factory method.\nValid xtypes are:  TextField, TextArea .... Button, Layout, FieldSet, Column, (and 'end' to close a block)",
160       "sig" : "(config)",
161       "static" : false,
162       "memberOf" : "",
163       "isStatic" : false,
164       "isConstructor" : false,
165       "isPrivate" : false,
166       "example" : "",
167       "deprecated" : "",
168       "since" : "",
169       "see" : "",
170       "exceptions" : "",
171       "requires" : "",
172       "params" : [
173         {
174           "name" : "config",
175           "type" : "Object",
176           "desc" : "",
177           "isOptional" : false
178         }
179       ],
180       "returns" : []
181     },
182     {
183       "name" : "fieldset",
184       "type" : "function",
185       "desc" : "Opens a new {@link Roo.form.FieldSet} container in the layout stack. If fields are passed after the config, the\nfields are added and the fieldset is closed. If no fields are passed the fieldset remains open\nuntil end() is called.",
186       "sig" : "(config, field1, field2, etc)",
187       "static" : false,
188       "memberOf" : "",
189       "isStatic" : false,
190       "isConstructor" : false,
191       "isPrivate" : false,
192       "example" : "",
193       "deprecated" : "",
194       "since" : "",
195       "see" : "",
196       "exceptions" : "",
197       "requires" : "",
198       "params" : [
199         {
200           "name" : "config",
201           "type" : "Object",
202           "desc" : "The config to pass to the fieldset",
203           "isOptional" : false
204         },
205         {
206           "name" : "field1",
207           "type" : "Field",
208           "desc" : "(optional)",
209           "isOptional" : false
210         },
211         {
212           "name" : "field2",
213           "type" : "Field",
214           "desc" : "(optional)",
215           "isOptional" : false
216         },
217         {
218           "name" : "etc",
219           "type" : "Field",
220           "desc" : "(optional)",
221           "isOptional" : false
222         }
223       ],
224       "returns" : [
225         {
226           "name" : "",
227           "type" : "",
228           "desc" : "FieldSet The fieldset container object"
229         }
230       ]
231     },
232     {
233       "name" : "start",
234       "type" : "function",
235       "desc" : "Opens the passed container in the layout stack. The container can be any {@link Roo.form.Layout} or subclass.",
236       "sig" : "(container)",
237       "static" : false,
238       "memberOf" : "",
239       "isStatic" : false,
240       "isConstructor" : false,
241       "isPrivate" : false,
242       "example" : "",
243       "deprecated" : "",
244       "since" : "",
245       "see" : "",
246       "exceptions" : "",
247       "requires" : "",
248       "params" : [
249         {
250           "name" : "container",
251           "type" : "Object",
252           "desc" : "A Roo.form.Layout or subclass of Layout",
253           "isOptional" : false
254         }
255       ],
256       "returns" : [
257         {
258           "name" : "",
259           "type" : "Form",
260           "desc" : "this"
261         }
262       ]
263     },
264     {
265       "name" : "container",
266       "type" : "function",
267       "desc" : "Opens a new {@link Roo.form.Layout} container in the layout stack. If fields are passed after the config, the\nfields are added and the container is closed. If no fields are passed the container remains open\nuntil end() is called.",
268       "sig" : "(config, field1, field2, etc)",
269       "static" : false,
270       "memberOf" : "",
271       "isStatic" : false,
272       "isConstructor" : false,
273       "isPrivate" : false,
274       "example" : "",
275       "deprecated" : "",
276       "since" : "",
277       "see" : "",
278       "exceptions" : "",
279       "requires" : "",
280       "params" : [
281         {
282           "name" : "config",
283           "type" : "Object",
284           "desc" : "The config to pass to the Layout",
285           "isOptional" : false
286         },
287         {
288           "name" : "field1",
289           "type" : "Field",
290           "desc" : "(optional)",
291           "isOptional" : false
292         },
293         {
294           "name" : "field2",
295           "type" : "Field",
296           "desc" : "(optional)",
297           "isOptional" : false
298         },
299         {
300           "name" : "etc",
301           "type" : "Field",
302           "desc" : "(optional)",
303           "isOptional" : false
304         }
305       ],
306       "returns" : [
307         {
308           "name" : "",
309           "type" : "",
310           "desc" : "Layout The container object"
311         }
312       ]
313     },
314     {
315       "name" : "render",
316       "type" : "function",
317       "desc" : "Render this form into the passed container. This should only be called once!",
318       "sig" : "(container)",
319       "static" : false,
320       "memberOf" : "",
321       "isStatic" : false,
322       "isConstructor" : false,
323       "isPrivate" : false,
324       "example" : "",
325       "deprecated" : "",
326       "since" : "",
327       "see" : "",
328       "exceptions" : "",
329       "requires" : "",
330       "params" : [
331         {
332           "name" : "container",
333           "type" : "String/HTMLElement/Element",
334           "desc" : "The element this component should be rendered into",
335           "isOptional" : false
336         }
337       ],
338       "returns" : [
339         {
340           "name" : "",
341           "type" : "Form",
342           "desc" : "this"
343         }
344       ]
345     },
346     {
347       "name" : "startMonitoring",
348       "type" : "function",
349       "desc" : "Starts monitoring of the valid state of this form. Usually this is done by passing the config\noption \"monitorValid\"",
350       "sig" : "()\n{\n\n}",
351       "static" : false,
352       "memberOf" : "",
353       "isStatic" : false,
354       "isConstructor" : false,
355       "isPrivate" : false,
356       "example" : "",
357       "deprecated" : "",
358       "since" : "",
359       "see" : "",
360       "exceptions" : "",
361       "requires" : "",
362       "params" : [],
363       "returns" : []
364     },
365     {
366       "name" : "addButton",
367       "type" : "function",
368       "desc" : "Adds a button to the footer of the form - this <b>must</b> be called before the form is rendered.",
369       "sig" : "(config, handler, scope)",
370       "static" : false,
371       "memberOf" : "",
372       "isStatic" : false,
373       "isConstructor" : false,
374       "isPrivate" : false,
375       "example" : "",
376       "deprecated" : "",
377       "since" : "",
378       "see" : "",
379       "exceptions" : "",
380       "requires" : "",
381       "params" : [
382         {
383           "name" : "config",
384           "type" : "String/Object",
385           "desc" : "A string becomes the button text, an object can either be a Button config\nobject or a valid Roo.DomHelper element config",
386           "isOptional" : false
387         },
388         {
389           "name" : "handler",
390           "type" : "Function",
391           "desc" : "The function called when the button is clicked",
392           "isOptional" : false
393         },
394         {
395           "name" : "scope",
396           "type" : "Object",
397           "desc" : "(optional) The scope of the handler function",
398           "isOptional" : false
399         }
400       ],
401       "returns" : [
402         {
403           "name" : "",
404           "type" : "Roo.Button",
405           "desc" : ""
406         }
407       ]
408     },
409     {
410       "name" : "stopMonitoring",
411       "type" : "function",
412       "desc" : "Stops monitoring of the valid state of this form",
413       "sig" : "()\n{\n\n}",
414       "static" : false,
415       "memberOf" : "",
416       "isStatic" : false,
417       "isConstructor" : false,
418       "isPrivate" : false,
419       "example" : "",
420       "deprecated" : "",
421       "since" : "",
422       "see" : "",
423       "exceptions" : "",
424       "requires" : "",
425       "params" : [],
426       "returns" : []
427     },
428     {
429       "name" : "add",
430       "type" : "function",
431       "desc" : "Add Roo.form components to the current open container (e.g. column, fieldset, etc.).  Fields added via this method\ncan also be passed with an additional property of fieldLabel, which if supplied, will provide the text to display\nas the label of the field.",
432       "sig" : "(field1, field2)",
433       "static" : false,
434       "memberOf" : "",
435       "isStatic" : false,
436       "isConstructor" : false,
437       "isPrivate" : false,
438       "example" : "",
439       "deprecated" : "",
440       "since" : "",
441       "see" : "",
442       "exceptions" : "",
443       "requires" : "",
444       "params" : [
445         {
446           "name" : "field1",
447           "type" : "Field",
448           "desc" : "",
449           "isOptional" : false
450         },
451         {
452           "name" : "field2",
453           "type" : "Field",
454           "desc" : "(optional)",
455           "isOptional" : false
456         }
457       ],
458       "returns" : [
459         {
460           "name" : "",
461           "type" : "Form",
462           "desc" : "this"
463         }
464       ]
465     },
466     {
467       "name" : "findbyId",
468       "type" : "function",
469       "desc" : "Find any element that has been added to a form, using it's ID or name\nThis can include framesets, columns etc. along with regular fields..",
470       "sig" : "(id)",
471       "static" : false,
472       "memberOf" : "",
473       "isStatic" : false,
474       "isConstructor" : false,
475       "isPrivate" : false,
476       "example" : "",
477       "deprecated" : "",
478       "since" : "",
479       "see" : "",
480       "exceptions" : "",
481       "requires" : "",
482       "params" : [
483         {
484           "name" : "id",
485           "type" : "String",
486           "desc" : "- id or name to find.",
487           "isOptional" : false
488         }
489       ],
490       "returns" : [
491         {
492           "name" : "",
493           "type" : "Element",
494           "desc" : "e - or false if nothing found."
495         }
496       ]
497     },
498     {
499       "name" : "column",
500       "type" : "function",
501       "desc" : "Opens a new {@link Roo.form.Column} container in the layout stack. If fields are passed after the config, the\nfields are added and the column is closed. If no fields are passed the column remains open\nuntil end() is called.",
502       "sig" : "(config, field1, field2, etc)",
503       "static" : false,
504       "memberOf" : "",
505       "isStatic" : false,
506       "isConstructor" : false,
507       "isPrivate" : false,
508       "example" : "",
509       "deprecated" : "",
510       "since" : "",
511       "see" : "",
512       "exceptions" : "",
513       "requires" : "",
514       "params" : [
515         {
516           "name" : "config",
517           "type" : "Object",
518           "desc" : "The config to pass to the column",
519           "isOptional" : false
520         },
521         {
522           "name" : "field1",
523           "type" : "Field",
524           "desc" : "(optional)",
525           "isOptional" : false
526         },
527         {
528           "name" : "field2",
529           "type" : "Field",
530           "desc" : "(optional)",
531           "isOptional" : false
532         },
533         {
534           "name" : "etc",
535           "type" : "Field",
536           "desc" : "(optional)",
537           "isOptional" : false
538         }
539       ],
540       "returns" : [
541         {
542           "name" : "",
543           "type" : "",
544           "desc" : "Column The column container object"
545         }
546       ]
547     },
548     {
549       "name" : "end",
550       "type" : "function",
551       "desc" : "Closes the current open container",
552       "sig" : "()\n{\n\n}",
553       "static" : false,
554       "memberOf" : "",
555       "isStatic" : false,
556       "isConstructor" : false,
557       "isPrivate" : false,
558       "example" : "",
559       "deprecated" : "",
560       "since" : "",
561       "see" : "",
562       "exceptions" : "",
563       "requires" : "",
564       "params" : [],
565       "returns" : [
566         {
567           "name" : "",
568           "type" : "Form",
569           "desc" : "this"
570         }
571       ]
572     },
573     {
574       "name" : "remove",
575       "type" : "function",
576       "desc" : "Removes a field from the items collection (does NOT remove its markup).",
577       "sig" : "(field)",
578       "static" : false,
579       "memberOf" : "Roo.form.BasicForm",
580       "isStatic" : false,
581       "isConstructor" : false,
582       "isPrivate" : false,
583       "example" : "",
584       "deprecated" : "",
585       "since" : "",
586       "see" : "",
587       "exceptions" : "",
588       "requires" : "",
589       "params" : [
590         {
591           "name" : "field",
592           "type" : "Field",
593           "desc" : "",
594           "isOptional" : false
595         }
596       ],
597       "returns" : [
598         {
599           "name" : "",
600           "type" : "BasicForm",
601           "desc" : "this"
602         }
603       ]
604     },
605     {
606       "name" : "loadRecord",
607       "type" : "function",
608       "desc" : "Loads an Roo.data.Record into this form.",
609       "sig" : "(record)",
610       "static" : false,
611       "memberOf" : "Roo.form.BasicForm",
612       "isStatic" : false,
613       "isConstructor" : false,
614       "isPrivate" : false,
615       "example" : "",
616       "deprecated" : "",
617       "since" : "",
618       "see" : "",
619       "exceptions" : "",
620       "requires" : "",
621       "params" : [
622         {
623           "name" : "record",
624           "type" : "Record",
625           "desc" : "The record to load",
626           "isOptional" : false
627         }
628       ],
629       "returns" : [
630         {
631           "name" : "",
632           "type" : "BasicForm",
633           "desc" : "this"
634         }
635       ]
636     },
637     {
638       "name" : "load",
639       "type" : "function",
640       "desc" : "Shortcut to do a load action.",
641       "sig" : "(options)",
642       "static" : false,
643       "memberOf" : "Roo.form.BasicForm",
644       "isStatic" : false,
645       "isConstructor" : false,
646       "isPrivate" : false,
647       "example" : "",
648       "deprecated" : "",
649       "since" : "",
650       "see" : "",
651       "exceptions" : "",
652       "requires" : "",
653       "params" : [
654         {
655           "name" : "options",
656           "type" : "Object",
657           "desc" : "The options to pass to the action (see {@link #doAction} for details)",
658           "isOptional" : false
659         }
660       ],
661       "returns" : [
662         {
663           "name" : "",
664           "type" : "BasicForm",
665           "desc" : "this"
666         }
667       ]
668     },
669     {
670       "name" : "doAction",
671       "type" : "function",
672       "desc" : "Performs a predefined action (submit or load) or custom actions you define on this form.",
673       "sig" : "(actionName, options)",
674       "static" : false,
675       "memberOf" : "Roo.form.BasicForm",
676       "isStatic" : false,
677       "isConstructor" : false,
678       "isPrivate" : false,
679       "example" : "",
680       "deprecated" : "",
681       "since" : "",
682       "see" : "",
683       "exceptions" : "",
684       "requires" : "",
685       "params" : [
686         {
687           "name" : "actionName",
688           "type" : "String",
689           "desc" : "The name of the action type",
690           "isOptional" : false
691         },
692         {
693           "name" : "options",
694           "type" : "Object",
695           "desc" : "(optional) The options to pass to the action.  All of the config options listed\nbelow are supported by both the submit and load actions unless otherwise noted (custom actions could also\naccept other config options):\n<pre>\nProperty          Type             Description\n----------------  ---------------  ----------------------------------------------------------------------------------\nurl               String           The url for the action (defaults to the form's url)\nmethod            String           The form method to use (defaults to the form's method, or POST if not defined)\nparams            String/Object    The params to pass (defaults to the form's baseParams, or none if not defined)\nclientValidation  Boolean          Applies to submit only.  Pass true to call form.isValid() prior to posting to\n                                   validate the form on the client (defaults to false)\n</pre>",
696           "isOptional" : false
697         }
698       ],
699       "returns" : [
700         {
701           "name" : "",
702           "type" : "BasicForm",
703           "desc" : "this"
704         }
705       ]
706     },
707     {
708       "name" : "getValues",
709       "type" : "function",
710       "desc" : "Returns the fields in this form as an object with key/value pairs. If multiple fields exist with the same name\nthey are returned as an array.",
711       "sig" : "(asString)",
712       "static" : false,
713       "memberOf" : "Roo.form.BasicForm",
714       "isStatic" : false,
715       "isConstructor" : false,
716       "isPrivate" : false,
717       "example" : "",
718       "deprecated" : "",
719       "since" : "",
720       "see" : "",
721       "exceptions" : "",
722       "requires" : "",
723       "params" : [
724         {
725           "name" : "asString",
726           "type" : "Boolean",
727           "desc" : "",
728           "isOptional" : false
729         }
730       ],
731       "returns" : [
732         {
733           "name" : "",
734           "type" : "Object",
735           "desc" : ""
736         }
737       ]
738     },
739     {
740       "name" : "resetHasChanged",
741       "type" : "function",
742       "desc" : "Resets all hasChanged to 'false' -\nThe old 'isDirty' used 'original value..' however this breaks reset() and a few other things.\nSo hasChanged storage is only to be used for this purpose",
743       "sig" : "()\n{\n\n}",
744       "static" : false,
745       "memberOf" : "Roo.form.BasicForm",
746       "isStatic" : false,
747       "isConstructor" : false,
748       "isPrivate" : false,
749       "example" : "",
750       "deprecated" : "",
751       "since" : "",
752       "see" : "",
753       "exceptions" : "",
754       "requires" : "",
755       "params" : [],
756       "returns" : [
757         {
758           "name" : "",
759           "type" : "",
760           "desc" : "Boolean"
761         }
762       ]
763     },
764     {
765       "name" : "clearInvalid",
766       "type" : "function",
767       "desc" : "Clears all invalid messages in this form.",
768       "sig" : "()\n{\n\n}",
769       "static" : false,
770       "memberOf" : "Roo.form.BasicForm",
771       "isStatic" : false,
772       "isConstructor" : false,
773       "isPrivate" : false,
774       "example" : "",
775       "deprecated" : "",
776       "since" : "",
777       "see" : "",
778       "exceptions" : "",
779       "requires" : "",
780       "params" : [],
781       "returns" : [
782         {
783           "name" : "",
784           "type" : "BasicForm",
785           "desc" : "this"
786         }
787       ]
788     },
789     {
790       "name" : "isDirty",
791       "type" : "function",
792       "desc" : "DEPRICATED Returns true if any fields in this form have changed since their original load.",
793       "sig" : "()\n{\n\n}",
794       "static" : false,
795       "memberOf" : "Roo.form.BasicForm",
796       "isStatic" : false,
797       "isConstructor" : false,
798       "isPrivate" : false,
799       "example" : "",
800       "deprecated" : "",
801       "since" : "",
802       "see" : "",
803       "exceptions" : "",
804       "requires" : "",
805       "params" : [],
806       "returns" : [
807         {
808           "name" : "",
809           "type" : "",
810           "desc" : "Boolean"
811         }
812       ]
813     },
814     {
815       "name" : "updateRecord",
816       "type" : "function",
817       "desc" : "Persists the values in this form into the passed Roo.data.Record object in a beginEdit/endEdit block.",
818       "sig" : "(record)",
819       "static" : false,
820       "memberOf" : "Roo.form.BasicForm",
821       "isStatic" : false,
822       "isConstructor" : false,
823       "isPrivate" : false,
824       "example" : "",
825       "deprecated" : "",
826       "since" : "",
827       "see" : "",
828       "exceptions" : "",
829       "requires" : "",
830       "params" : [
831         {
832           "name" : "record",
833           "type" : "Record",
834           "desc" : "The record to edit",
835           "isOptional" : false
836         }
837       ],
838       "returns" : [
839         {
840           "name" : "",
841           "type" : "BasicForm",
842           "desc" : "this"
843         }
844       ]
845     },
846     {
847       "name" : "hasChanged",
848       "type" : "function",
849       "desc" : "Returns true if any fields in this form have changed since their original load. (New version)",
850       "sig" : "()\n{\n\n}",
851       "static" : false,
852       "memberOf" : "Roo.form.BasicForm",
853       "isStatic" : false,
854       "isConstructor" : false,
855       "isPrivate" : false,
856       "example" : "",
857       "deprecated" : "",
858       "since" : "",
859       "see" : "",
860       "exceptions" : "",
861       "requires" : "",
862       "params" : [],
863       "returns" : [
864         {
865           "name" : "",
866           "type" : "",
867           "desc" : "Boolean"
868         }
869       ]
870     },
871     {
872       "name" : "applyToFields",
873       "type" : "function",
874       "desc" : "Calls {@link Ext#apply} for all fields in this form with the passed object.",
875       "sig" : "(values)",
876       "static" : false,
877       "memberOf" : "Roo.form.BasicForm",
878       "isStatic" : false,
879       "isConstructor" : false,
880       "isPrivate" : false,
881       "example" : "",
882       "deprecated" : "",
883       "since" : "",
884       "see" : "",
885       "exceptions" : "",
886       "requires" : "",
887       "params" : [
888         {
889           "name" : "values",
890           "type" : "Object",
891           "desc" : "",
892           "isOptional" : false
893         }
894       ],
895       "returns" : [
896         {
897           "name" : "",
898           "type" : "BasicForm",
899           "desc" : "this"
900         }
901       ]
902     },
903     {
904       "name" : "getFieldValues",
905       "type" : "function",
906       "desc" : "Returns the fields in this form as an object with key/value pairs. \nThis differs from getValues as it calls getValue on each child item, rather than using dom data.",
907       "sig" : "()\n{\n\n}",
908       "static" : false,
909       "memberOf" : "Roo.form.BasicForm",
910       "isStatic" : false,
911       "isConstructor" : false,
912       "isPrivate" : false,
913       "example" : "",
914       "deprecated" : "",
915       "since" : "",
916       "see" : "",
917       "exceptions" : "",
918       "requires" : "",
919       "params" : [],
920       "returns" : [
921         {
922           "name" : "",
923           "type" : "Object",
924           "desc" : ""
925         }
926       ]
927     },
928     {
929       "name" : "submit",
930       "type" : "function",
931       "desc" : "Shortcut to do a submit action.",
932       "sig" : "(options)",
933       "static" : false,
934       "memberOf" : "Roo.form.BasicForm",
935       "isStatic" : false,
936       "isConstructor" : false,
937       "isPrivate" : false,
938       "example" : "",
939       "deprecated" : "",
940       "since" : "",
941       "see" : "",
942       "exceptions" : "",
943       "requires" : "",
944       "params" : [
945         {
946           "name" : "options",
947           "type" : "Object",
948           "desc" : "The options to pass to the action (see {@link #doAction} for details)",
949           "isOptional" : false
950         }
951       ],
952       "returns" : [
953         {
954           "name" : "",
955           "type" : "BasicForm",
956           "desc" : "this"
957         }
958       ]
959     },
960     {
961       "name" : "markInvalid",
962       "type" : "function",
963       "desc" : "Mark fields in this form invalid in bulk.",
964       "sig" : "(errors)",
965       "static" : false,
966       "memberOf" : "Roo.form.BasicForm",
967       "isStatic" : false,
968       "isConstructor" : false,
969       "isPrivate" : false,
970       "example" : "",
971       "deprecated" : "",
972       "since" : "",
973       "see" : "",
974       "exceptions" : "",
975       "requires" : "",
976       "params" : [
977         {
978           "name" : "errors",
979           "type" : "Array/Object",
980           "desc" : "Either an array in the form [{id:'fieldId', msg:'The message'},...] or an object hash of {id: msg, id2: msg2}",
981           "isOptional" : false
982         }
983       ],
984       "returns" : [
985         {
986           "name" : "",
987           "type" : "BasicForm",
988           "desc" : "this"
989         }
990       ]
991     },
992     {
993       "name" : "setValues",
994       "type" : "function",
995       "desc" : "Set values for fields in this form in bulk.",
996       "sig" : "(values)",
997       "static" : false,
998       "memberOf" : "Roo.form.BasicForm",
999       "isStatic" : false,
1000       "isConstructor" : false,
1001       "isPrivate" : false,
1002       "example" : "",
1003       "deprecated" : "",
1004       "since" : "",
1005       "see" : "",
1006       "exceptions" : "",
1007       "requires" : "",
1008       "params" : [
1009         {
1010           "name" : "values",
1011           "type" : "Array/Object",
1012           "desc" : "Either an array in the form [{id:'fieldId', value:'foo'},...] or an object hash of {id: value, id2: value2}",
1013           "isOptional" : false
1014         }
1015       ],
1016       "returns" : [
1017         {
1018           "name" : "",
1019           "type" : "BasicForm",
1020           "desc" : "this"
1021         }
1022       ]
1023     },
1024     {
1025       "name" : "isValid",
1026       "type" : "function",
1027       "desc" : "Returns true if client-side validation on the form is successful.",
1028       "sig" : "()\n{\n\n}",
1029       "static" : false,
1030       "memberOf" : "Roo.form.BasicForm",
1031       "isStatic" : false,
1032       "isConstructor" : false,
1033       "isPrivate" : false,
1034       "example" : "",
1035       "deprecated" : "",
1036       "since" : "",
1037       "see" : "",
1038       "exceptions" : "",
1039       "requires" : "",
1040       "params" : [],
1041       "returns" : [
1042         {
1043           "name" : "",
1044           "type" : "",
1045           "desc" : "Boolean"
1046         }
1047       ]
1048     },
1049     {
1050       "name" : "invalidFields",
1051       "type" : "function",
1052       "desc" : "Returns array of invalid form fields.",
1053       "sig" : "()\n{\n\n}",
1054       "static" : false,
1055       "memberOf" : "Roo.form.BasicForm",
1056       "isStatic" : false,
1057       "isConstructor" : false,
1058       "isPrivate" : false,
1059       "example" : "",
1060       "deprecated" : "",
1061       "since" : "",
1062       "see" : "",
1063       "exceptions" : "",
1064       "requires" : "",
1065       "params" : [],
1066       "returns" : [
1067         {
1068           "name" : "",
1069           "type" : "",
1070           "desc" : "Array"
1071         }
1072       ]
1073     },
1074     {
1075       "name" : "applyIfToFields",
1076       "type" : "function",
1077       "desc" : "Calls {@link Ext#applyIf} for all field in this form with the passed object.",
1078       "sig" : "(values)",
1079       "static" : false,
1080       "memberOf" : "Roo.form.BasicForm",
1081       "isStatic" : false,
1082       "isConstructor" : false,
1083       "isPrivate" : false,
1084       "example" : "",
1085       "deprecated" : "",
1086       "since" : "",
1087       "see" : "",
1088       "exceptions" : "",
1089       "requires" : "",
1090       "params" : [
1091         {
1092           "name" : "values",
1093           "type" : "Object",
1094           "desc" : "",
1095           "isOptional" : false
1096         }
1097       ],
1098       "returns" : [
1099         {
1100           "name" : "",
1101           "type" : "BasicForm",
1102           "desc" : "this"
1103         }
1104       ]
1105     },
1106     {
1107       "name" : "findField",
1108       "type" : "function",
1109       "desc" : "Find a Roo.form.Field in this form by id, dataIndex, name or hiddenName",
1110       "sig" : "(id)",
1111       "static" : false,
1112       "memberOf" : "Roo.form.BasicForm",
1113       "isStatic" : false,
1114       "isConstructor" : false,
1115       "isPrivate" : false,
1116       "example" : "",
1117       "deprecated" : "",
1118       "since" : "",
1119       "see" : "",
1120       "exceptions" : "",
1121       "requires" : "",
1122       "params" : [
1123         {
1124           "name" : "id",
1125           "type" : "String",
1126           "desc" : "The value to search for",
1127           "isOptional" : false
1128         }
1129       ],
1130       "returns" : [
1131         {
1132           "name" : "",
1133           "type" : "",
1134           "desc" : "Field"
1135         }
1136       ]
1137     },
1138     {
1139       "name" : "reset",
1140       "type" : "function",
1141       "desc" : "Resets this form.",
1142       "sig" : "()\n{\n\n}",
1143       "static" : false,
1144       "memberOf" : "Roo.form.BasicForm",
1145       "isStatic" : false,
1146       "isConstructor" : false,
1147       "isPrivate" : false,
1148       "example" : "",
1149       "deprecated" : "",
1150       "since" : "",
1151       "see" : "",
1152       "exceptions" : "",
1153       "requires" : "",
1154       "params" : [],
1155       "returns" : [
1156         {
1157           "name" : "",
1158           "type" : "BasicForm",
1159           "desc" : "this"
1160         }
1161       ]
1162     },
1163     {
1164       "name" : "addForm",
1165       "type" : "function",
1166       "desc" : "Add a secondary form to this one, \nUsed to provide tabbed forms. One form is primary, with hidden values \nwhich mirror the elements from the other forms.",
1167       "sig" : "(form)",
1168       "static" : false,
1169       "memberOf" : "Roo.form.BasicForm",
1170       "isStatic" : false,
1171       "isConstructor" : false,
1172       "isPrivate" : false,
1173       "example" : "",
1174       "deprecated" : "",
1175       "since" : "",
1176       "see" : "",
1177       "exceptions" : "",
1178       "requires" : "",
1179       "params" : [
1180         {
1181           "name" : "form",
1182           "type" : "Roo.form.Form",
1183           "desc" : "to add.",
1184           "isOptional" : false
1185         }
1186       ],
1187       "returns" : []
1188     },
1189     {
1190       "name" : "purgeListeners",
1191       "type" : "function",
1192       "desc" : "Removes all listeners for this object",
1193       "sig" : "()\n{\n\n}",
1194       "static" : false,
1195       "memberOf" : "Roo.util.Observable",
1196       "isStatic" : false,
1197       "isConstructor" : false,
1198       "isPrivate" : false,
1199       "example" : "",
1200       "deprecated" : "",
1201       "since" : "",
1202       "see" : "",
1203       "exceptions" : "",
1204       "requires" : "",
1205       "params" : [],
1206       "returns" : []
1207     },
1208     {
1209       "name" : "on",
1210       "type" : "function",
1211       "desc" : "Appends an event handler to this element (shorthand for addListener)",
1212       "sig" : "(eventName, handler, scope, options)",
1213       "static" : false,
1214       "memberOf" : "Roo.util.Observable",
1215       "isStatic" : false,
1216       "isConstructor" : false,
1217       "isPrivate" : false,
1218       "example" : "",
1219       "deprecated" : "",
1220       "since" : "",
1221       "see" : "",
1222       "exceptions" : "",
1223       "requires" : "",
1224       "params" : [
1225         {
1226           "name" : "eventName",
1227           "type" : "String",
1228           "desc" : "The type of event to listen for",
1229           "isOptional" : false
1230         },
1231         {
1232           "name" : "handler",
1233           "type" : "Function",
1234           "desc" : "The method the event invokes",
1235           "isOptional" : false
1236         },
1237         {
1238           "name" : "scope",
1239           "type" : "Object",
1240           "desc" : "(optional) The scope in which to execute the handler\nfunction. The handler function's \"this\" context.",
1241           "isOptional" : false
1242         },
1243         {
1244           "name" : "options",
1245           "type" : "Object",
1246           "desc" : "(optional)",
1247           "isOptional" : false
1248         }
1249       ],
1250       "returns" : []
1251     },
1252     {
1253       "name" : "un",
1254       "type" : "function",
1255       "desc" : "Removes a listener (shorthand for removeListener)",
1256       "sig" : "(eventName, handler, scope)",
1257       "static" : false,
1258       "memberOf" : "Roo.util.Observable",
1259       "isStatic" : false,
1260       "isConstructor" : false,
1261       "isPrivate" : false,
1262       "example" : "",
1263       "deprecated" : "",
1264       "since" : "",
1265       "see" : "",
1266       "exceptions" : "",
1267       "requires" : "",
1268       "params" : [
1269         {
1270           "name" : "eventName",
1271           "type" : "String",
1272           "desc" : "The type of event to listen for",
1273           "isOptional" : false
1274         },
1275         {
1276           "name" : "handler",
1277           "type" : "Function",
1278           "desc" : "The handler to remove",
1279           "isOptional" : false
1280         },
1281         {
1282           "name" : "scope",
1283           "type" : "Object",
1284           "desc" : "(optional) The scope (this object) for the handler",
1285           "isOptional" : false
1286         }
1287       ],
1288       "returns" : []
1289     },
1290     {
1291       "name" : "addEvents",
1292       "type" : "function",
1293       "desc" : "Used to define events on this Observable",
1294       "sig" : "(object)",
1295       "static" : false,
1296       "memberOf" : "Roo.util.Observable",
1297       "isStatic" : false,
1298       "isConstructor" : false,
1299       "isPrivate" : false,
1300       "example" : "",
1301       "deprecated" : "",
1302       "since" : "",
1303       "see" : "",
1304       "exceptions" : "",
1305       "requires" : "",
1306       "params" : [
1307         {
1308           "name" : "object",
1309           "type" : "Object",
1310           "desc" : "The object with the events defined",
1311           "isOptional" : false
1312         }
1313       ],
1314       "returns" : []
1315     },
1316     {
1317       "name" : "releaseCapture",
1318       "type" : "function",
1319       "desc" : "Removes <b>all</b> added captures from the Observable.",
1320       "sig" : "(o)",
1321       "static" : true,
1322       "memberOf" : "Roo.util.Observable",
1323       "isStatic" : true,
1324       "isConstructor" : false,
1325       "isPrivate" : false,
1326       "example" : "",
1327       "deprecated" : "",
1328       "since" : "",
1329       "see" : "",
1330       "exceptions" : "",
1331       "requires" : "",
1332       "params" : [
1333         {
1334           "name" : "o",
1335           "type" : "Observable",
1336           "desc" : "The Observable to release",
1337           "isOptional" : false
1338         }
1339       ],
1340       "returns" : []
1341     },
1342     {
1343       "name" : "removeListener",
1344       "type" : "function",
1345       "desc" : "Removes a listener",
1346       "sig" : "(eventName, handler, scope)",
1347       "static" : false,
1348       "memberOf" : "Roo.util.Observable",
1349       "isStatic" : false,
1350       "isConstructor" : false,
1351       "isPrivate" : false,
1352       "example" : "",
1353       "deprecated" : "",
1354       "since" : "",
1355       "see" : "",
1356       "exceptions" : "",
1357       "requires" : "",
1358       "params" : [
1359         {
1360           "name" : "eventName",
1361           "type" : "String",
1362           "desc" : "The type of event to listen for",
1363           "isOptional" : false
1364         },
1365         {
1366           "name" : "handler",
1367           "type" : "Function",
1368           "desc" : "The handler to remove",
1369           "isOptional" : false
1370         },
1371         {
1372           "name" : "scope",
1373           "type" : "Object",
1374           "desc" : "(optional) The scope (this object) for the handler",
1375           "isOptional" : false
1376         }
1377       ],
1378       "returns" : []
1379     },
1380     {
1381       "name" : "fireEvent",
1382       "type" : "function",
1383       "desc" : "Fires the specified event with the passed parameters (minus the event name).",
1384       "sig" : "(eventName, args)",
1385       "static" : false,
1386       "memberOf" : "Roo.util.Observable",
1387       "isStatic" : false,
1388       "isConstructor" : false,
1389       "isPrivate" : false,
1390       "example" : "",
1391       "deprecated" : "",
1392       "since" : "",
1393       "see" : "",
1394       "exceptions" : "",
1395       "requires" : "",
1396       "params" : [
1397         {
1398           "name" : "eventName",
1399           "type" : "String",
1400           "desc" : "",
1401           "isOptional" : false
1402         },
1403         {
1404           "name" : "args",
1405           "type" : "Object...",
1406           "desc" : "Variable number of parameters are passed to handlers",
1407           "isOptional" : false
1408         }
1409       ],
1410       "returns" : [
1411         {
1412           "name" : "",
1413           "type" : "Boolean",
1414           "desc" : "returns false if any of the handlers return false otherwise it returns true"
1415         }
1416       ]
1417     },
1418     {
1419       "name" : "hasListener",
1420       "type" : "function",
1421       "desc" : "Checks to see if this object has any listeners for a specified event",
1422       "sig" : "(eventName)",
1423       "static" : false,
1424       "memberOf" : "Roo.util.Observable",
1425       "isStatic" : false,
1426       "isConstructor" : false,
1427       "isPrivate" : false,
1428       "example" : "",
1429       "deprecated" : "",
1430       "since" : "",
1431       "see" : "",
1432       "exceptions" : "",
1433       "requires" : "",
1434       "params" : [
1435         {
1436           "name" : "eventName",
1437           "type" : "String",
1438           "desc" : "The name of the event to check for",
1439           "isOptional" : false
1440         }
1441       ],
1442       "returns" : [
1443         {
1444           "name" : "",
1445           "type" : "Boolean",
1446           "desc" : "True if the event is being listened for, else false"
1447         }
1448       ]
1449     },
1450     {
1451       "name" : "capture",
1452       "type" : "function",
1453       "desc" : "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.",
1454       "sig" : "(o, fn, scope)",
1455       "static" : true,
1456       "memberOf" : "Roo.util.Observable",
1457       "isStatic" : true,
1458       "isConstructor" : false,
1459       "isPrivate" : false,
1460       "example" : "",
1461       "deprecated" : "",
1462       "since" : "",
1463       "see" : "",
1464       "exceptions" : "",
1465       "requires" : "",
1466       "params" : [
1467         {
1468           "name" : "o",
1469           "type" : "Observable",
1470           "desc" : "The Observable to capture",
1471           "isOptional" : false
1472         },
1473         {
1474           "name" : "fn",
1475           "type" : "Function",
1476           "desc" : "The function to call",
1477           "isOptional" : false
1478         },
1479         {
1480           "name" : "scope",
1481           "type" : "Object",
1482           "desc" : "(optional) The scope (this object) for the fn",
1483           "isOptional" : false
1484         }
1485       ],
1486       "returns" : []
1487     },
1488     {
1489       "name" : "addListener",
1490       "type" : "function",
1491       "desc" : "Appends an event handler to this component",
1492       "sig" : "(eventName, handler, scope, options)",
1493       "static" : false,
1494       "memberOf" : "Roo.util.Observable",
1495       "isStatic" : false,
1496       "isConstructor" : false,
1497       "isPrivate" : false,
1498       "example" : "",
1499       "deprecated" : "",
1500       "since" : "",
1501       "see" : "",
1502       "exceptions" : "",
1503       "requires" : "",
1504       "params" : [
1505         {
1506           "name" : "eventName",
1507           "type" : "String",
1508           "desc" : "The type of event to listen for",
1509           "isOptional" : false
1510         },
1511         {
1512           "name" : "handler",
1513           "type" : "Function",
1514           "desc" : "The method the event invokes",
1515           "isOptional" : false
1516         },
1517         {
1518           "name" : "scope",
1519           "type" : "Object",
1520           "desc" : "(optional) The scope in which to execute the handler\nfunction. The handler function's \"this\" context.",
1521           "isOptional" : false
1522         },
1523         {
1524           "name" : "options",
1525           "type" : "Object",
1526           "desc" : "(optional) An object containing handler configuration\nproperties. This may contain any of the following properties:<ul>\n<li>scope {Object} The scope in which to execute the handler function. The handler function's \"this\" context.</li>\n<li>delay {Number} The number of milliseconds to delay the invocation of the handler after te event fires.</li>\n<li>single {Boolean} True to add a handler to handle just the next firing of the event, and then remove itself.</li>\n<li>buffer {Number} Causes the handler to be scheduled to run in an {@link Roo.util.DelayedTask} delayed\nby the specified number of milliseconds. If the event fires again within that time, the original\nhandler is <em>not</em> invoked, but the new handler is scheduled in its place.</li>\n</ul><br>\n<p>\n<b>Combining Options</b><br>\nUsing the options argument, it is possible to combine different types of listeners:<br>\n<br>\nA normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)\n\t\t<pre><code>\n\t\tel.on('click', this.onClick, this, {\n \t\t\tsingle: true,\n    \t\tdelay: 100,\n    \t\tforumId: 4\n\t\t});\n\t\t</code></pre>\n<p>\n<b>Attaching multiple handlers in 1 call</b><br>\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple handlers.\n<pre><code>\n\t\tel.on({\n\t\t\t'click': {\n        \t\tfn: this.onClick,\n        \t\tscope: this,\n        \t\tdelay: 100\n    \t\t}, \n    \t\t'mouseover': {\n        \t\tfn: this.onMouseOver,\n        \t\tscope: this\n    \t\t},\n    \t\t'mouseout': {\n        \t\tfn: this.onMouseOut,\n        \t\tscope: this\n    \t\t}\n\t\t});\n\t\t</code></pre>\n<p>\nOr a shorthand syntax which passes the same scope object to all handlers:\n     \t<pre><code>\n\t\tel.on({\n\t\t\t'click': this.onClick,\n    \t\t'mouseover': this.onMouseOver,\n    \t\t'mouseout': this.onMouseOut,\n    \t\tscope: this\n\t\t});\n\t\t</code></pre>",
1527           "isOptional" : false
1528         }
1529       ],
1530       "returns" : []
1531     }
1532   ],
1533   "events" : [
1534     {
1535       "name" : "rendered",
1536       "type" : "function",
1537       "desc" : "Fires when the form is rendered",
1538       "sig" : "function (form)\n{\n\n}",
1539       "memberOf" : "",
1540       "example" : "",
1541       "deprecated" : "",
1542       "since" : "",
1543       "see" : "",
1544       "params" : [
1545         {
1546           "name" : "form",
1547           "type" : "Roo.form.Form",
1548           "desc" : "",
1549           "isOptional" : false
1550         }
1551       ],
1552       "returns" : []
1553     },
1554     {
1555       "name" : "clientvalidation",
1556       "type" : "function",
1557       "desc" : "If the monitorValid config option is true, this event fires repetitively to notify of valid state",
1558       "sig" : "function (_self, valid)\n{\n\n}",
1559       "memberOf" : "",
1560       "example" : "",
1561       "deprecated" : "",
1562       "since" : "",
1563       "see" : "",
1564       "params" : [
1565         {
1566           "name" : "this",
1567           "type" : "Form",
1568           "desc" : "",
1569           "isOptional" : false
1570         },
1571         {
1572           "name" : "valid",
1573           "type" : "Boolean",
1574           "desc" : "true if the form has passed client-side validation",
1575           "isOptional" : false
1576         }
1577       ],
1578       "returns" : []
1579     },
1580     {
1581       "name" : "beforeaction",
1582       "type" : "function",
1583       "desc" : "Fires before any action is performed. Return false to cancel the action.",
1584       "sig" : "function (_self, action)\n{\n\n}",
1585       "memberOf" : "Roo.form.BasicForm",
1586       "example" : "",
1587       "deprecated" : "",
1588       "since" : "",
1589       "see" : "",
1590       "params" : [
1591         {
1592           "name" : "this",
1593           "type" : "Form",
1594           "desc" : "",
1595           "isOptional" : false
1596         },
1597         {
1598           "name" : "action",
1599           "type" : "Action",
1600           "desc" : "The action to be performed",
1601           "isOptional" : false
1602         }
1603       ],
1604       "returns" : []
1605     },
1606     {
1607       "name" : "actioncomplete",
1608       "type" : "function",
1609       "desc" : "Fires when an action is completed.",
1610       "sig" : "function (_self, action)\n{\n\n}",
1611       "memberOf" : "Roo.form.BasicForm",
1612       "example" : "",
1613       "deprecated" : "",
1614       "since" : "",
1615       "see" : "",
1616       "params" : [
1617         {
1618           "name" : "this",
1619           "type" : "Form",
1620           "desc" : "",
1621           "isOptional" : false
1622         },
1623         {
1624           "name" : "action",
1625           "type" : "Action",
1626           "desc" : "The action that completed",
1627           "isOptional" : false
1628         }
1629       ],
1630       "returns" : []
1631     },
1632     {
1633       "name" : "actionfailed",
1634       "type" : "function",
1635       "desc" : "Fires when an action fails.",
1636       "sig" : "function (_self, action)\n{\n\n}",
1637       "memberOf" : "Roo.form.BasicForm",
1638       "example" : "",
1639       "deprecated" : "",
1640       "since" : "",
1641       "see" : "",
1642       "params" : [
1643         {
1644           "name" : "this",
1645           "type" : "Form",
1646           "desc" : "",
1647           "isOptional" : false
1648         },
1649         {
1650           "name" : "action",
1651           "type" : "Action",
1652           "desc" : "The action that failed",
1653           "isOptional" : false
1654         }
1655       ],
1656       "returns" : []
1657     }
1658   ]
1659 }