TabPanelのアクティブアイテムをComponentQueryで選択する
Ext JS 4 にて同じクラスからインスタンス化した複数のタブアイテムの中からアクティブなものをComponentQueryで取得する方法がわからぬとつぶやいたら、
居酒屋でくつろいでいる @kotsutsumi 師匠が教えてくれたという顛末。
- martini3oz
- 2696
- 0
- 0
- 0
中村 久司
@martini3oz
@kotsutsumi 孫とかもとれないんですよ。 tabpanel grid とやると帰ってくるけど、 tabpanel tab[active] grid だと帰ってこない。
2012-10-08 22:36:33
小堤一弘
@kotsutsumi
@martini3oz えっと、hogepanel.tabがさっきのtabpanel tab[active]とイコールになるのよ
2012-10-08 22:40:18
小堤一弘
@kotsutsumi
@martini3oz 手元で動かせればw まぁ確かにクエリー的に動かないよね、属性判定 [ ... ] だしな。Ext.ComponentQuery.pseudos で 関数追加して、http://t.co/L4tCjDby 'hogepanel:isActive'とかすれば?
2012-10-08 22:48:34
小堤一弘
@kotsutsumi
Ext.ComponentQuery.pseudos.isActive = function(items) { ... (判定処理) ... }; して、'tabpanel hogepanel:isActive'かな。
2012-10-08 22:50:25
小堤一弘
@kotsutsumi
Active tab panel decision by the component query for Ext JS 4 http://t.co/bQUKe7Oz
2012-10-08 23:01:40
小堤一弘
@kotsutsumi
@martini3oz まぁ panel:isActive部分を、自分のxtypeにするなり、好きにして、好きにして♪煮るなり焼くなり、好きにして♥ (SPAM)
2012-10-08 23:03:47
小堤一弘
@kotsutsumi
まぁということで、結論としては、TabPanelのアクティブなアイテムを判定するためにComponentQueryを使うなら、pseudosでisActiveとか適当に作って、アイテムのtabプロパティのactiveを判定してあげるとさっくりですね。今日の3分クッキングでした。
2012-10-08 23:06:57