元宇品を散歩

キクと元宇品の森を散歩

工程表(バーチャート・ネットワーク)の品質改善

アノテーション機能の全面整備(メイン作業)

背景:2画面でアノテーション(テキストボックス・フリー線)の実装がバラバラで、barchartに欠けている機能が多かった・・設計書を作成してから4段階で実装した

1networkのイベント処理を委譲方式に統一(個別リスナー8箇所を撤去)
2barchartにnetwork同等の機能を追加(ドラッグ移動・端点編集・描画プレビュー等)
3UXルール統一(配置後即モーダル表示・ワンショット化)
4共通コード(schedules-common.js)として抽出・約230行の重複削減

あわせてモーダルのUI表記も両画面で統一(ボタンラベル・フォント選択肢・フリー線太さをselect化等)・・・P4完了後に発覚した退行(barchartのテキストボックス):長文・大フォントで文字が枠からはみ出し、クリック・ダブルクリックが効かなくなる問題。原因はforeignObjectの固定サイズ・・・networkにあった「文字量に合わせた自動拡大」が移植漏れだったため、共通モジュールに追加して解消

印刷機能の連続修正
問題原因
1印刷後に背面に残像が残るtry/finally未実装で復元処理が漏れる可能性
2プレビュー表示中も残像が見える描画凍結中にpaintが完了しない
3そもそも消えないデバッグ用のコメントアウトが残ったまま
4月境界線が太すぎ・テキストの上に乗る旧レイアウト時代の「貫通線」が残存していた
5月境界線が「時々」途切れるUTC変換による日付の1日ずれ(タイムゾーンバグ)
その他の改善
  • キャンバス表示範囲の拡張:工期ぴったりの表示から「工期の前後1ヶ月」に拡張。工期前後への工程配置が可能になり、読込時は工期開始位置へ自動スクロール。印刷は従来どおり指定範囲のみ
  • 印刷範囲外工程の除外:バーチャートの印刷で範囲外の工程・接続線が出力される問題を修正。あわせてアノテーション(テキスト・フリー線)が印刷範囲変更時にずれる問題も修正(日付アンカー方式を導入)
  • フリー線の太さ・矢印修正:太さ変更が即反映されない問題と、1pxで矢印が見えなくなる問題を修正(矢印を固定サイズに変更)
  • ダブルクリック編集の修正:委譲化により発生した問題。DOM再構築のタイミング制御(requestAnimationFrame遅延・3px閾値)で解消
結果
テストTenantIsolationTest 33件パス維持(全修正通じて)
主な成果アノテーション機能の2画面統一・印刷品質の大幅改善
特記印刷残像の根本原因はデバッグコードの消し忘れ1行だった

ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

  • 2026年7月
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031