ホーム > coderepos
codereposのアーカイブ
ex_autocmd.jsにCurrentPageLoad追加とTabLeaveの修正
- 2008/5/21 水曜日 0:57:05
- coderepos | javascript | vimperator
先日行ったautoIgnoreKeyのDOMContentLoadedの挙動修正ですがはてぶのほうで「ex_autocmd.jsにも適用できると夢が広がりそうだ」といわれていたのでやってみました。
とはいっても
autocmd PageLoad http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true; autocmd TabSelect http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true; autocmd TabLeave http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=false;
みたいに書いてた人は同様の問題はおこってなかったはず。PageLoad時の動作がldr限定なので。ただし逆にldrをバックグラウンドで開くと関係ないページでpassAllKeysがtrueになって困るということはあったはず。
あと、TabLeaveが
* セッションからのタブ復活をした直後のタブ変更(セッションからの復活ではTabSelectはおこらず。)
* タブの削除(recentTabオブジェクトが破棄されてしまうため)
のときに元のURLが拾えずに正常に動作していなかった様子。
というわけでCurrentPageLoadの追加とTabLeaveの修正をコミットしました。
autocmd CurrentPageLoad http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true; autocmd TabSelect http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true; autocmd TabLeave http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=false;
こんな風にかくと幸せになれるです。
autoIgnoreKeyのDOMContentLoadedの挙動修正
- 2008/5/16 金曜日 11:30:37
- coderepos | javascript | vimperator
こんにちはこんにちは。昨日今日といろんな大人の事情でYAPC::Asiaにいけてません><仕事よりYAPCのほうが大切だって気持ちはあるんですが・・・。うぅ・・無念です。
で、全然関係ありませんがちょっと前からFirefox+Vimperatorを活用してます。そこでLDRとかを見るときにvimキーバインドを自動で無効にしてくれる便利ぷらぎんのautoIgnoreKeyを使っていたのですが、LDRでvでフィードを開いてすぐLDRのタブに戻ってきたりするとその後DOMContentLoadedイベントが起こってLDRタブを開いてるのにもかかわらずvimキー有効になってしまっていました。
なので常に今開いているタブのURLを元に判断するように修正してコミットしましたー。これだとこういう状況でダメなんだよ!という方いらっしゃいましたら教えてください。
CodeResposに初めてコミットしたモジュールに初めてpatchを送ってくれたのが異国の方だった件
Codereposにコミットした初めてのモジュールである、「深度が一定ではない階層化されたデータをDBIx::Classで扱えるようにする」DBIx::Class::Tree::NestedSet。その使いどころがニッチすぎるためか、今までこれといったフィードバックは(予想通り)特にありませんでした。
ところが今日このモジュールに初めてpatchを送ってきてくれたのがなんと異国のKevin Bakerなる人物。コードをオープンにするっていうのはこういうことなんだなぁとちょっと感動。英語がからきし駄目な自分ですがKevinさんとコードの中で意思疎通はできたのかなぁと。
今まで異国の方にpatchを送ったことは何度かあったけど送ってもらったのは初めてで、うれしかったのでこんなエントリをたててしまった。今は反省している。
ところで、そのpatchはというとCodeReposのr7130で取り込んであります。見てもらうと分かるのですが恥ずかしいスペルミスとかを直されている部分もあったりするわけですが・・・。
CodeReposにDBIx::Class::Tree::NestedSetをコミットしてみた
てなわけでRubyはやってません
がCodeReposにDBIx::Class::Tree::NestedSetをCommitしてみました。これのアルゴリズムに関しては[mysql 12071] 階層化されたデータをMySQLで扱うを参照ということで省略。ここに書いてあるのと違う点としては、親ノードの付け替え用にmvgフラグを必要としています。(インスパイア From DBIx::OO::Tree)
メソッドはDBIx-Class-Treeをパクリ準拠していますのでテストもパクリ準拠してまったく同じ(あ、mvgカラムは追加してるけど)テストを通しています。
あとはDBIx::OO::Tree,DBIx::Tree::NestedSetあたりをパクリ参考にしてみました。
でもってTODOにも書いてるのですが、rootノード取得用にResultSetManagerなメソッドを生やしたいんですがどうすればいいのかが分からない…。もうちょい調べよう。
あとDBIx-Class-TreeのTODOに
– DBIx::Class::Tree::NestedSet
ってかかれてるんですがこの場合やっぱ空気読んでCPANには上げないほうがいいのでしょうか。まだCPANあげたこともないのでCPANの空気が読めません><
ホーム > coderepos
- 検索
- フィード
- メタ情報