木曜日, 2 月 26th, 2009 | Author: djodjo

ExtJSのコンポーネントを拡張するプラグイン。コンフィグオプションにpluginsを指定できるものがいくつもあります。

プラグインを作るとなると少々難しく思いがちですが、ExtJSのそれはシンプルです。
クラスをひとつ定義し、メソッドinitがあるだけ。
後はお好きに。といった具合。


プラグイン名 = function(){
    this.init = function(comp){
        compは組み込まれたコンポーネント。
    };
}

このinit関数がいつコールされるかというと・・・・
Ext.Componentの199行目から、402行目(initPlugin)のくだり。
initComponent関数が呼ばれた直後となります。
イベント登録(addEvents)は終わり、renderされる前がタイミング。


    this.initComponent();

    if(this.plugins){
        if(Ext.isArray(this.plugins)){
            for(var i = 0, len = this.plugins.length; i < len; i++){
                this.plugins[i] = this.initPlugin(this.plugins[i]);
            }
        }else{
            this.plugins = this.initPlugin(this.plugins);
        }
    }
 ・
 ・
 ・
    initPlugin : function(p){
        p.init(this);
        return p;
    },

サンプルにしては頼りないですが、以下はプラグインの記事
TreePanelの余白をクリックでフォーカスを解除する
TabPanelのクローズ処理プラグイン

タグ:プラグイン

Category: ExtJS
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply