Skip to main content

課表骨架 CourseScaffold

提供顯示課表(Course Table)骨架,另將課表 CourseContent 與課程列表 CourseList 另拆成兩個Widget

  • 支援響應式介面
    • MediaQuerylongestSide >= 880 顯示平板模式
  • 支援上課通知 (Android / iOS / MacOS)
  • 將課表加入至行事曆App (Android / iOS)
  • 提供學期列表的區域,預設只提供學期資料 SemesterData,即可使用相關的 Callback
  • 課表顏色由 CourseData 中的 courses 的索引值決定,順序為 Material Design 的 500 系列顏色

手機介面

drawing

平板 or 桌面版介面

drawing

參數#

參數名稱型態描述
stateCourseState必要欄位,總共有 loading finish error empty offlineEmpty custom 的狀態,只有finish才會顯示課表介面,其餘都是顯示錯誤狀況
customStateHintString當 [state] 是 custom 時,會顯示此字串
titleStringScaffold 標題
courseDataCourseData課表資料,會利用其中的 課表CourseContent與課程列表CourseList顯示
itemPickerWidget使用自訂元件實作學期選擇器,[itemPicker] 與 [semesterData] 擇一使用
semesterDataList<String>學期列表
onSelectFunction(int index)學期列表點擊事件,回傳[semesterData]的索引值,[semesterData] 不為 null 時才有效
onSearchButtonClickFunction搜尋按鍵點擊事件
onRefreshFunction下拉更新事件
actionsList<Widget>右上角的元件
customHintString學期選擇器與課表中間的提示字
enableNotifyControlbool是否顯示上課通知按鍵,預設值為 true
notifyDataFunction()上課通知資料
autoNotifySavebool是否自動儲存上課更新資料,預設值為 true,必須完成 相關設定
onNotifyClickFunction()上課通知按鍵點擊事件
courseNotifySaveKeyStringautoNotifySave有開啟,儲存的Preference key
enableAddToCalendarbool是否顯示課表匯出至行事曆 App 的按鍵,預設值為 true,必須完成 相關設定
androidResourceIconStringAndroid的原生資源圖示
enableCaptureCourseTablebool是否顯示匯出課表圖片的按鍵,預設值為 false,必須完成 相關設定
showSectionTimebool是否顯示課表匯出行事曆按鍵,預設值為 true
showInstructorsbool是否顯示課表匯出行事曆按鍵,預設值為 true
showClassroomLocationbool是否顯示課表匯出行事曆按鍵,預設值為 true
showSearchButtonString是否顯示搜尋按鍵,預設值為 true