pkg-forms-debug.js
上传用户:dawnssy
上传日期:2022-08-06
资源大小:9345k
文件大小:279k
源码类别:

JavaScript

开发平台:

JavaScript

  1.      * @cfg {String} itemCls A css class to apply to the <tt>x-form-item</tt> of fields (see 
  2.      * {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl} for details).
  3.      * This property cascades to child containers.
  4.      */
  5.     /**
  6.      * @cfg {String} baseCls The base CSS class applied to the fieldset (defaults to <tt>'x-fieldset'</tt>).
  7.      */
  8.     baseCls : 'x-fieldset',
  9.     /**
  10.      * @cfg {String} layout The {@link Ext.Container#layout} to use inside the fieldset (defaults to <tt>'form'</tt>).
  11.      */
  12.     layout : 'form',
  13.     /**
  14.      * @cfg {Boolean} animCollapse
  15.      * <tt>true</tt> to animate the transition when the panel is collapsed, <tt>false</tt> to skip the
  16.      * animation (defaults to <tt>false</tt>).
  17.      */
  18.     animCollapse : false,
  19.     // private
  20.     onRender : function(ct, position){
  21.         if(!this.el){
  22.             this.el = document.createElement('fieldset');
  23.             this.el.id = this.id;
  24.             if (this.title || this.header || this.checkboxToggle) {
  25.                 this.el.appendChild(document.createElement('legend')).className = 'x-fieldset-header';
  26.             }
  27.         }
  28.         Ext.form.FieldSet.superclass.onRender.call(this, ct, position);
  29.         if(this.checkboxToggle){
  30.             var o = typeof this.checkboxToggle == 'object' ?
  31.                     this.checkboxToggle :
  32.                     {tag: 'input', type: 'checkbox', name: this.checkboxName || this.id+'-checkbox'};
  33.             this.checkbox = this.header.insertFirst(o);
  34.             this.checkbox.dom.checked = !this.collapsed;
  35.             this.mon(this.checkbox, 'click', this.onCheckClick, this);
  36.         }
  37.     },
  38.     // private
  39.     onCollapse : function(doAnim, animArg){
  40.         if(this.checkbox){
  41.             this.checkbox.dom.checked = false;
  42.         }
  43.         Ext.form.FieldSet.superclass.onCollapse.call(this, doAnim, animArg);
  44.     },
  45.     // private
  46.     onExpand : function(doAnim, animArg){
  47.         if(this.checkbox){
  48.             this.checkbox.dom.checked = true;
  49.         }
  50.         Ext.form.FieldSet.superclass.onExpand.call(this, doAnim, animArg);
  51.     },
  52.     /**
  53.      * This function is called by the fieldset's checkbox when it is toggled (only applies when
  54.      * checkboxToggle = true).  This method should never be called externally, but can be
  55.      * overridden to provide custom behavior when the checkbox is toggled if needed.
  56.      */
  57.     onCheckClick : function(){
  58.         this[this.checkbox.dom.checked ? 'expand' : 'collapse']();
  59.     }
  60.     /**
  61.      * @cfg {String/Number} activeItem
  62.      * @hide
  63.      */
  64.     /**
  65.      * @cfg {Mixed} applyTo
  66.      * @hide
  67.      */
  68.     /**
  69.      * @cfg {Boolean} bodyBorder
  70.      * @hide
  71.      */
  72.     /**
  73.      * @cfg {Boolean} border
  74.      * @hide
  75.      */
  76.     /**
  77.      * @cfg {Boolean/Number} bufferResize
  78.      * @hide
  79.      */
  80.     /**
  81.      * @cfg {Boolean} collapseFirst
  82.      * @hide
  83.      */
  84.     /**
  85.      * @cfg {String} defaultType
  86.      * @hide
  87.      */
  88.     /**
  89.      * @cfg {String} disabledClass
  90.      * @hide
  91.      */
  92.     /**
  93.      * @cfg {String} elements
  94.      * @hide
  95.      */
  96.     /**
  97.      * @cfg {Boolean} floating
  98.      * @hide
  99.      */
  100.     /**
  101.      * @cfg {Boolean} footer
  102.      * @hide
  103.      */
  104.     /**
  105.      * @cfg {Boolean} frame
  106.      * @hide
  107.      */
  108.     /**
  109.      * @cfg {Boolean} header
  110.      * @hide
  111.      */
  112.     /**
  113.      * @cfg {Boolean} headerAsText
  114.      * @hide
  115.      */
  116.     /**
  117.      * @cfg {Boolean} hideCollapseTool
  118.      * @hide
  119.      */
  120.     /**
  121.      * @cfg {String} iconCls
  122.      * @hide
  123.      */
  124.     /**
  125.      * @cfg {Boolean/String} shadow
  126.      * @hide
  127.      */
  128.     /**
  129.      * @cfg {Number} shadowOffset
  130.      * @hide
  131.      */
  132.     /**
  133.      * @cfg {Boolean} shim
  134.      * @hide
  135.      */
  136.     /**
  137.      * @cfg {Object/Array} tbar
  138.      * @hide
  139.      */
  140.     /**
  141.      * @cfg {Array} tools
  142.      * @hide
  143.      */
  144.     /**
  145.      * @cfg {Ext.Template/Ext.XTemplate} toolTemplate
  146.      * @hide
  147.      */
  148.     /**
  149.      * @cfg {String} xtype
  150.      * @hide
  151.      */
  152.     /**
  153.      * @property header
  154.      * @hide
  155.      */
  156.     /**
  157.      * @property footer
  158.      * @hide
  159.      */
  160.     /**
  161.      * @method focus
  162.      * @hide
  163.      */
  164.     /**
  165.      * @method getBottomToolbar
  166.      * @hide
  167.      */
  168.     /**
  169.      * @method getTopToolbar
  170.      * @hide
  171.      */
  172.     /**
  173.      * @method setIconClass
  174.      * @hide
  175.      */
  176.     /**
  177.      * @event activate
  178.      * @hide
  179.      */
  180.     /**
  181.      * @event beforeclose
  182.      * @hide
  183.      */
  184.     /**
  185.      * @event bodyresize
  186.      * @hide
  187.      */
  188.     /**
  189.      * @event close
  190.      * @hide
  191.      */
  192.     /**
  193.      * @event deactivate
  194.      * @hide
  195.      */
  196. });
  197. Ext.reg('fieldset', Ext.form.FieldSet);
  198. /**  * @class Ext.form.HtmlEditor  * @extends Ext.form.Field  * Provides a lightweight HTML Editor component. Some toolbar features are not supported by Safari and will be  * automatically hidden when needed.  These are noted in the config options where appropriate.  * <br><br>The editor's toolbar buttons have tooltips defined in the {@link #buttonTips} property, but they are not  * enabled by default unless the global {@link Ext.QuickTips} singleton is {@link Ext.QuickTips#init initialized}.  * <br><br><b>Note: The focus/blur and validation marking functionality inherited from Ext.form.Field is NOT  * supported by this editor.</b>  * <br><br>An Editor is a sensitive component that can't be used in all spots standard fields can be used. Putting an Editor within  * any element that has display set to 'none' can cause problems in Safari and Firefox due to their default iframe reloading bugs.  * <br><br>Example usage:  * <pre><code> // Simple example rendered with default options: Ext.QuickTips.init();  // enable tooltips new Ext.form.HtmlEditor({     renderTo: Ext.getBody(),     width: 800,     height: 300 }); // Passed via xtype into a container and with custom options: Ext.QuickTips.init();  // enable tooltips new Ext.Panel({     title: 'HTML Editor',     renderTo: Ext.getBody(),     width: 600,     height: 300,     frame: true,     layout: 'fit',     items: {         xtype: 'htmleditor',         enableColors: false,         enableAlignments: false     } }); </code></pre>  * @constructor  * Create a new HtmlEditor  * @param {Object} config  * @xtype htmleditor  */ Ext.form.HtmlEditor = Ext.extend(Ext.form.Field, {     /**      * @cfg {Boolean} enableFormat Enable the bold, italic and underline buttons (defaults to true)      */     enableFormat : true,     /**      * @cfg {Boolean} enableFontSize Enable the increase/decrease font size buttons (defaults to true)      */     enableFontSize : true,     /**      * @cfg {Boolean} enableColors Enable the fore/highlight color buttons (defaults to true)      */     enableColors : true,     /**      * @cfg {Boolean} enableAlignments Enable the left, center, right alignment buttons (defaults to true)      */     enableAlignments : true,     /**      * @cfg {Boolean} enableLists Enable the bullet and numbered list buttons. Not available in Safari. (defaults to true)      */     enableLists : true,     /**      * @cfg {Boolean} enableSourceEdit Enable the switch to source edit button. Not available in Safari. (defaults to true)      */     enableSourceEdit : true,     /**      * @cfg {Boolean} enableLinks Enable the create link button. Not available in Safari. (defaults to true)      */     enableLinks : true,     /**      * @cfg {Boolean} enableFont Enable font selection. Not available in Safari. (defaults to true)      */     enableFont : true,     /**      * @cfg {String} createLinkText The default text for the create link prompt      */     createLinkText : 'Please enter the URL for the link:',     /**      * @cfg {String} defaultLinkValue The default value for the create link prompt (defaults to http:/ /)      */     defaultLinkValue : 'http:/'+'/',     /**      * @cfg {Array} fontFamilies An array of available font families      */     fontFamilies : [         'Arial',         'Courier New',         'Tahoma',         'Times New Roman',         'Verdana'     ],     defaultFont: 'tahoma',     /**      * @cfg {String} defaultValue A default value to be put into the editor to resolve focus issues (defaults to &#160; (Non-breaking space) in Opera and IE6, &#8203; (Zero-width space) in all other browsers).      */     defaultValue: (Ext.isOpera || Ext.isIE6) ? '&#160;' : '&#8203;',     // private properties     actionMode: 'wrap',     validationEvent : false,     deferHeight: true,     initialized : false,     activated : false,     sourceEditMode : false,     onFocus : Ext.emptyFn,     iframePad:3,     hideMode:'offsets',     defaultAutoCreate : {         tag: "textarea",         style:"width:500px;height:300px;",         autocomplete: "off"     },     // private     initComponent : function(){         this.addEvents(             /**              * @event initialize              * Fires when the editor is fully initialized (including the iframe)              * @param {HtmlEditor} this              */             'initialize',             /**              * @event activate              * Fires when the editor is first receives the focus. Any insertion must wait              * until after this event.              * @param {HtmlEditor} this              */             'activate',              /**              * @event beforesync              * Fires before the textarea is updated with content from the editor iframe. Return false              * to cancel the sync.              * @param {HtmlEditor} this              * @param {String} html              */             'beforesync',              /**              * @event beforepush              * Fires before the iframe editor is updated with content from the textarea. Return false              * to cancel the push.              * @param {HtmlEditor} this              * @param {String} html              */             'beforepush',              /**              * @event sync              * Fires when the textarea is updated with content from the editor iframe.              * @param {HtmlEditor} this              * @param {String} html              */             'sync',              /**              * @event push              * Fires when the iframe editor is updated with content from the textarea.              * @param {HtmlEditor} this              * @param {String} html              */             'push',              /**              * @event editmodechange              * Fires when the editor switches edit modes              * @param {HtmlEditor} this              * @param {Boolean} sourceEdit True if source edit, false if standard editing.              */             'editmodechange'         )     },     // private     createFontOptions : function(){         var buf = [], fs = this.fontFamilies, ff, lc;         for(var i = 0, len = fs.length; i< len; i++){             ff = fs[i];             lc = ff.toLowerCase();             buf.push(                 '<option value="',lc,'" style="font-family:',ff,';"',                     (this.defaultFont == lc ? ' selected="true">' : '>'),                     ff,                 '</option>'             );         }         return buf.join('');     },     /*      * Protected method that will not generally be called directly. It      * is called when the editor creates its toolbar. Override this method if you need to      * add custom toolbar buttons.      * @param {HtmlEditor} editor      */     createToolbar : function(editor){         var items = [];         var tipsEnabled = Ext.QuickTips && Ext.QuickTips.isEnabled();
  199.                  function btn(id, toggle, handler){             return {                 itemId : id,                 cls : 'x-btn-icon',                 iconCls: 'x-edit-'+id,                 enableToggle:toggle !== false,                 scope: editor,                 handler:handler||editor.relayBtnCmd,                 clickEvent:'mousedown',                 tooltip: tipsEnabled ? editor.buttonTips[id] || undefined : undefined,                 overflowText: editor.buttonTips[id].title || undefined,                 tabIndex:-1             };         }         if(this.enableFont && !Ext.isSafari2){
  200.             var fontSelectItem = new Ext.Toolbar.Item({
  201.                autoEl: {
  202.                     tag:'select',