2020 ソフトウェア設計及び演習用の班Wiki

20::gr01::時間割モジュール

TimeTableモジュール 仕様書

時間割全体を管理するモジュール

  • timetable.js

内部変数

  • _year:現在表示している時間割の年度
  • _semster:現在表示している時間割の学期

内部関数(メソッド)

  • _init():初期化処理
    • ページが読み込まれた時の始めに1回のみ実行。
    • 現在の時間を取得し、_yearと_semsterを設定する。
  • _show_timetable():時間割ページ全体を表示させる。
    • 現在表示している時間割を削除してから再表示する。
    • 表示させるためのグループを作成し、項目ごとに表示処理を実行する。
  • _hidden_timetable():時間割を非表示にする。
    • 時間割が表示されているかを確認し、表示されている場合削除する。
  • _make_timetable():時間割データを作成
    • 時間割データの保存先であるローカルストレージに時間割データがない場合作成する。
  • _add_timetable(classdata):授業データを時間割データに追加する。
    • classdata:授業に関するデータが入っている。
      • classdata.dayName:曜日
      • classdata.classNo:コマ数
      • classdata.classname:授業名
    • 授業データが作成されたとき、時間割に反映させる。
  • timetable(year, semster):時間割データコンストラクタ
    • timetable.year:年度
    • timetable.semster:学期
    • timetable.tableName:"年度-学期"を時間割データの名前とする。
    • timetable.classwArray:授業名(授業がないときは'0')が[曜日][コマ数]の2次元配列として保存される。
  • _create_form():時間割を操作するためのボタン表示
    • 年度・学期の選択ボタン、新規授業追加ボタン
  • _open_timetable():時間割を表示する
    • ローカルストレージから時間割情報を読み出し、表を作成する。
  • _click_td(td):時間割の各コマをクリックしたときの関数を実装
    • 授業詳細ページへ移動

公開メソッド

  • show_timetable: _show_timetable
  • hidden_timetable: _hidden_timetable,
  • add_timetable: _add_timetable

企画書に存在したが未実装の機能

  • 次の授業の表示
    • 時間情報を取得し該当の時間割の授業データを表示する
  • 締め切りが近い課題の表示
    • 課題データから締め切りが一番近い課題データを取得し表示する

変更点

実際に開発してみて機能を変更したところ

  • 空きコマをクリックして授業追加→授業追加ボタンを押すことで新規授業追加


モジュール一覧へ戻る


最終更新日:2020/08/14 00:57:41