• EXT自定义颜色表单域控件


    Ext.ns('Ext.ux');
    Ext.ux.ColorField = Ext.extend(Ext.form.TriggerField,{
    	  editable:false,
    	  triggerClass : 'x-form-arrow-trigger',
    	  initComponent : function(){
    	        Ext.ux.ColorField.superclass.initComponent.call(this);
    	        this.addEvents(
    	            'select'
    	        );
    	  },
    	  initEvents: function() {
    	        Ext.ux.ColorField.superclass.initEvents.call(this);
    	        this.keyNav = new Ext.KeyNav(this.el, {
    	            "down": function(e) {
    	                this.onTriggerClick();
    	            },
    	            scope: this,
    	            forceKeyDown: true
    	        });
    	  },
    		onDestroy : function(){
    			 Ext.destroy(this.menu, this.keyNav);
    			 Ext.ux.ColorField.superclass.onDestroy.call(this);
    		},
    		validateBlur : function(){
    			return !this.menu || !this.menu.isVisible();
    		},
    	  onTriggerClick : function(){
            if(this.disabled){
                return;
            }
            if(this.menu == null){
    			this.menu = new Ext.menu.ColorMenu();
    			if(this.getValue()) 
    				this.menu.palette.value=this.getValue();
              
            }else{
    			if(this.getValue())
    				this.menu.palette.select(this.getValue());
    			else if(this.menu.palette.value){
    				 this.menu.palette.el.child('a.color-'+this.menu.palette.value).removeClass('x-color-palette-sel');
    			}
    		}
    		
            this.onFocus();
            this.menu.show(this.el, "tl-bl?");//tl-bl?
            this.menuEvents('on');
        },
    
        //private
        menuEvents: function(method){
            this.menu[method]('select', this.onSelect, this);
            this.menu[method]('hide', this.onMenuHide, this);
            this.menu[method]('show', this.onFocus, this);
        },
    
        onSelect: function(m, color){
            this.setValue(color);
            this.fireEvent('select', this, color);
            this.menu.hide();
        },
        onMenuHide: function(){
            this.focus(false, 60);
            this.menuEvents('un');
        }
    });
    Ext.reg('colorfield', Ext.ux.ColorField);
    

      

  • 相关阅读:
    C# 动态添加用户控件
    临时记载C#中给DataGrid添加甘特图效果
    xp去掉快捷方式上的箭头
    wpf DataGrid的操作
    一路向前的算法
    WPF 解决WebBrowser控件汉字出现乱码的一种方案
    在CentOS 7 上安装 WordExpress
    创建Chrome插件
    开始PHP和JAVA
    failedtoloadcbsonextension
  • 原文地址:https://www.cnblogs.com/tazi/p/2575594.html
Copyright © 2020-2023  润新知