TabPanelのアクティブアイテムをComponentQueryで選択する

Ext JS 4 にて同じクラスからインスタンス化した複数のタブアイテムの中からアクティブなものをComponentQueryで取得する方法がわからぬとつぶやいたら、 居酒屋でくつろいでいる @kotsutsumi 師匠が教えてくれたという顛末。
0
小堤一弘 @kotsutsumi

さんまの刺身。今日は、終わりじゃ。一度寝る。 http://t.co/9DIdtgbX

2012-10-08 20:22:58
拡大
中村 久司 @martini3oz

同じViewクラスのインスタンスをタブパネルなどで複数表示したとき、コントローラーで単純にComponentQuery式を書くと、どれで発火するかわからなくなる。こんな場合はどうするのだ?アクティブなインスタンスになにか属性を設定するとか?

2012-10-08 20:28:18
小堤一弘 @kotsutsumi

@martini3oz さらに、継承してわけようよ。

2012-10-08 20:39:31
中村 久司 @martini3oz

@kotsutsumi 継承ですか。特定多数のインスタンスができるので難しいです。(´・ω・`)

2012-10-08 20:44:15
小堤一弘 @kotsutsumi

@martini3oz あー、なる。なら、イベント内で、インスタンス判定するしかないね。インスタンス化のときにitemIdつけるなりして。

2012-10-08 20:46:01
中村 久司 @martini3oz

@kotsutsumi そうですか。タブパネルでアクティブなパネルに反応させたいので、tabchangeイベントの時に特定のプロパティをセットして、panel[active] とかをセレクターにしてやろうかと考えているところです。

2012-10-08 20:47:53
小堤一弘 @kotsutsumi

@martini3oz あれ、クエリーで、メソッドたたけば?isActiveみたいのなかたけか。

2012-10-08 20:50:14
中村 久司 @martini3oz

@kotsutsumi あ! {method} ですね!それがありましたね!isActiveはないなぁ、ちょうどいいメソッドがないか探してみます。

2012-10-08 20:53:57
小堤一弘 @kotsutsumi

@martini3oz プロパティだったかなー、リードオンリーの。いま、居酒屋だから、まったくわからんけど(笑)

2012-10-08 21:04:37
アオヤマ @Mt_blue81

@kotsutsumi 第2弾も期待ってことですよね(笑)

2012-10-08 21:07:15
小堤一弘 @kotsutsumi

@Mt_blue81 あー、ちょうど、二冊目にのってんだわ。コンポーネントクエリー。中村さんチェック作業してもらたから(笑)

2012-10-08 21:12:08
小堤一弘 @kotsutsumi

いやー、残念な女性と、かもられた男子みながら、酒飲んでるなう。ちがうかも、しれんが。( ゚д゚)クワッ

2012-10-08 21:15:17
中村 久司 @martini3oz

@kotsutsumi 酒場でフォローあざす。いろいろ試しております。m(_ _)m

2012-10-08 21:18:32
小堤一弘 @kotsutsumi

@martini3oz 大丈夫、だいたいそこらへんでつくれるから。(・ω・) 一夜雫、旭川のさけかなんだねー、関係ないが。

2012-10-08 21:20:16
中村 久司 @martini3oz

@kotsutsumi はぁ、酒飲みてぇ〜(´△`)ハァ

2012-10-08 21:21:05
小堤一弘 @kotsutsumi

さて、冴えてきた。風呂はいって、やるかー!(・ω・)ノ

2012-10-08 22:11:20
中村 久司 @martini3oz

無ければ作るか? isActive

2012-10-08 22:11:57
小堤一弘 @kotsutsumi

@martini3oz なーんか、あったはずなんだけど。

2012-10-08 22:12:21
中村 久司 @martini3oz

@kotsutsumi API Docで普通に探すとないんですよね〜。cardレイアウトのコード追っかけたりもしたんですが(´・ω・`)

2012-10-08 22:13:48
小堤一弘 @kotsutsumi

@martini3oz あのーあるやん。Ext.tab.Tab active : boolean READONLY これじゃないっけか。

2012-10-08 22:15:41
中村 久司 @martini3oz

@kotsutsumi あー、tab.Tab かぁ〜( ´Д`) でも待てよ、んでコンポーネントクエリーはどう書くことに?

2012-10-08 22:18:53
小堤一弘 @kotsutsumi

@martini3oz オンラインDocでいうと、http://t.co/bpRZS5f8 かな。これじゃなかったっけかなー昔無かったんだよ、3の時。Ext JS 4からじゃなかったっけかなー

2012-10-08 22:18:58
小堤一弘 @kotsutsumi

@martini3oz 「xtype: tab」なので「 tabpanel tab[active] 」でいいんでないのか?

2012-10-08 22:19:53
中村 久司 @martini3oz

@kotsutsumi それでいいんすかね。その下のhogeパネルなら、 tabpanel tab[active] hogepanel で。あざっす、やってみます。これでできたらちょーうれしい。

2012-10-08 22:21:01
小堤一弘 @kotsutsumi

@martini3oz Ext.ComponentQuery.query('tabpanel tab[active]'); でいけるわぁ。API Docで直接Chromeから実行してみたらとれたもの。

2012-10-08 22:24:30