Chienomi

DLsite Voice Utilsアップデート

開発::util

毎回驚くような新しいテクニックを披露するのに使われているDLsite Voice Utilsだが、今回は単純にアップデート情報である。

ファイルリストに対応

rsyncで転送していると、ファイル名から「あれ、そんな作品あったっけ……」となることがあるため、ファイル名を表示する機能を追加した。 ただ、かなり場所を取るため、トグル(デフォルト非表示)にしている。

後の変更でcolgroupを使うようになったが、この時点ではそうではなかったため、カラム個別にクラスを当てる方式で対応している。

ノートに対応

作品についてタグにはしづらいコメントを入れたいとき(特に作品を聴くにあたって注意したほうが良い作品に、予め認識しておいたほうが良いことを記したいとき)に使えるノートを追加した。

note値(文字列配列)として入れることができる。 単純にリストになるので、あまり長いことは書かないほうが良い。

タグアイテムのスペースの節約

既に4kディスプレイの幅めいっぱいまでいってしまっているため、長くなりがちなフィールドの幅を制限するようにした。

これを実現するために、従来はカラムに対してスクリプトの処理でスタイルを当てていたが、colgroupを使うように変更した。

同時に、縦方向に長くなる問題もあったため、inline-blockのリストを用いる形に変更、区切りがわかりやすいように色付けした。 ちなみに、簡単ではあるが書くのはちょっとめんどくさい変更である。

フリートークをタグに追加

フリートークの有無はタグに入れるのが適切だが、手動で入れるのも面倒なので、自動判別するようにした。

手動で入れている場合ともうまく共存できるよう、和集合として扱うようにしている。

検索リセットボタンの追加

単純なresetだと、発生するイベントはresetで、onchangeは発生しないためうまく機能しない。

resetボタンのclickイベントや、フォームのresetイベントは実際にフォームがリセットされる「前に」発火するため、このタイミングで再描画しても機能しない。

このことから、このリセットボタンはスクリプトからフォームをリセットしたあと、preventDefaultし、再描画するというものになっている。 つまり、リセットボタンはその機能を全く使わない。

ちなみに、フォームとは関係ないが、ソートもリセットするようにしている。