-<html>\r
-<head>\r
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> \r
- <title>The source code</title>\r
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
-</head>\r
-<body onload="prettyPrint();">\r
- <pre class="prettyprint lang-js"><div id="cls-Ext.form.FormPanel"></div>/**
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>The source code</title>
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+</head>
+<body onload="prettyPrint();">
+ <pre class="prettyprint lang-js">/*!
+ * Ext JS Library 3.3.1
+ * Copyright(c) 2006-2010 Sencha Inc.
+ * licensing@sencha.com
+ * http://www.sencha.com/license
+ */
+<div id="cls-Ext.form.FormPanel"></div>/**
* @class Ext.form.FormPanel
* @extends Ext.Panel
* <p>Standard form container.</p>
// private
beforeDestroy : function(){
this.stopMonitoring();
- /*
- * Don't move this behaviour to BasicForm because it can be used
- * on it's own.
- */
- Ext.destroy(this.form);
- this.form.items.clear();
+ this.form.destroy(true);
Ext.FormPanel.superclass.beforeDestroy.call(this);
},
},
// private
- processRemove : function(c){
- // If a single form Field, remove it
- if(this.isField(c)){
- this.form.remove(c);
- // If a Container, its already destroyed by the time it gets here. Remove any references to destroyed fields.
- }else if(c.findBy){
- var isDestroyed = function(o) {
- return !!o.isDestroyed;
+ processRemove: function(c){
+ if(!this.destroying){
+ // If a single form Field, remove it
+ if(this.isField(c)){
+ this.form.remove(c);
+ // If a Container, its already destroyed by the time it gets here. Remove any references to destroyed fields.
+ }else if (c.findBy){
+ Ext.each(c.findBy(this.isField), this.form.remove, this.form);
+ /*
+ * This isn't the most efficient way of getting rid of the items, however it's the most
+ * correct, which in this case is most important.
+ */
+ this.form.cleanDestroyed();
}
- this.form.items.filterBy(isDestroyed, this.form).each(this.form.remove, this.form);
}
},
Ext.reg('form', Ext.FormPanel);
Ext.form.FormPanel = Ext.FormPanel;
-</pre> \r
-</body>\r
+</pre>
+</body>
</html>
\ No newline at end of file