| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- <!DOCTYPE html>
 
- <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>
 
-   <style type="text/css">
 
-     .highlight { display: block; background-color: #ddd; }
 
-   </style>
 
-   <script type="text/javascript">
 
-     function highlight() {
 
-       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
 
-     }
 
-   </script>
 
- </head>
 
- <body onload="prettyPrint(); highlight();">
 
-   <pre class="prettyprint lang-js"><span id='Ext-ux-FieldReplicator'>/**
 
- </span> * @class Ext.ux.FieldReplicator
 
-  * <p>A plugin for Field Components which creates clones of the Field for as
 
-  * long as the user keeps filling them. Leaving the final one blank ends the repeating series.</p>
 
-  * <p>Usage:</p>
 
-  * <pre><code>
 
-     {
 
-         xtype: 'combo',
 
-         plugins: [ Ext.ux.FieldReplicator ],
 
-         triggerAction: 'all',
 
-         fieldLabel: 'Select recipient',
 
-         store: recipientStore
 
-     }
 
-  * </code></pre>
 
-  */
 
- Ext.define('Ext.ux.FieldReplicator', {
 
-     singleton: true,
 
-     init: function(field) {
 
-         // Assign the field an id grouping it with fields cloned from it. If it already
 
-         // has an id that means it is itself a clone.
 
-         if (!field.replicatorId) {
 
-             field.replicatorId = Ext.id();
 
-         }
 
-         field.on('blur', this.onBlur, this);
 
-     },
 
-     onBlur: function(field) {
 
-         var ownerCt = field.ownerCt,
 
-             replicatorId = field.replicatorId,
 
-             isEmpty = Ext.isEmpty(field.getRawValue()),
 
-             siblings = ownerCt.query('[replicatorId=' + replicatorId + ']'),
 
-             isLastInGroup = siblings[siblings.length - 1] === field,
 
-             clone, idx;
 
-         // If a field before the final one was blanked out, remove it
 
-         if (isEmpty && !isLastInGroup) {
 
-             Ext.Function.defer(field.destroy, 10, field); //delay to allow tab key to move focus first
 
-         }
 
-         // If the field is the last in the list and has a value, add a cloned field after it
 
-         else if(!isEmpty && isLastInGroup) {
 
-             if (field.onReplicate) {
 
-                 field.onReplicate();
 
-             }
 
-             clone = field.cloneConfig({replicatorId: replicatorId});
 
-             idx = ownerCt.items.indexOf(field);
 
-             ownerCt.add(idx + 1, clone);
 
-         }
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |