basyura's blog

あしたになったらほんきだす。

Redmine: Contributed to View customize plugin v2.7.0

日頃からお世話になっている View customize plugin 。プロジェクト識別子を指定できるようにした PR が無事にマージされました (バグがあったりテストの書き方がおかしかったりで色々直してもらってます・・・)。

元の登録画面が url のパスを指定して js などを記述する UI になっているので、パス起点でしか動かせないとつい最近まで思い込んでた (そう思ってる人は多いはず)。なので、パスにプロジェクト識別子がある場合はいいのだけど、チケットを選ぶとパスから消えてしまうので特定のプロジェクトかを判断できず不便だなとずっと思ってた。

実は js で画面の要素を $(".current-project") で取って判定することができた (View customize plugin が埋め込む ViewCustomize 変数をから判断することもできてたっぽいけど未検証)。パスは .* を指定して js の先頭で判断すれば任意のプロジェクトにいる場合に実行することができるようになるのだけど、.* だらけになってどのプロジェクトを開いても js が html に埋め込まれて発動してしまうのが嫌になって PR を作った (余程の量を書かなければ性能影響はないと思うけど・・・)。

登録時の UI でプロジェクト識別子が明確に指定できるので、今まで存在を知らなかった人にも嬉しいのではないかと思う。

任意のプロジェクトで js を発動できるようになると、任意のプロジェクト選択中に任意の自作タブを表示するような事ができる (プロジェクト、活動、チケットのタブの横とか)。自分担当や任意のクエリタブを追加したりすると便利で、チケットを開いてもタブは表示されたままなので簡単に選択できてとても便利。

Twitter を見ると良い反応が多かったので良かった。