-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.ts
More file actions
84 lines (79 loc) · 3.04 KB
/
index.ts
File metadata and controls
84 lines (79 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/// <reference path="service/application.ts" />
/// <reference path="utils/pageFragmentCreator.ts" />
/*
要做的事
1. 檢查使用者有沒有訓練項目設定?
有 => 執行 2
沒有 => 回傳頁面告訴使用者要為其建立訓練紀錄文件,令其提供文件位置與名稱,然後回報資訊以產生訓練紀錄文件,
接著再執行 2
2. 回傳包含各訓練項目的頁面給使用者以便提交紀錄
此頁面的樣板要做的事
a. 調出訓練項目
成功 => 執行 2
失敗 => 輸出錯誤訊息頁面
b. 輸出頁面內容
*/
function doGet (e) {
const htmlOutput = getHtmlOutputFromTemplate('view/html/index.html')
.setTitle('我的訓練紀錄')
.append(getHtmlAsStringFromTemplate('view/script/workout-note.html'));
if (app.wasSetup()) {
try {
return htmlOutput.append(createScriptTagAsString(`
startWorkoutNote({
settings:${JSON.stringify(app.loadGroupedSettings(app.SettingsGroup.APPLICATION))},
exercises:${JSON.stringify(app.loadGroupedSettings(app.SettingsGroup.EXCERCISES))}
});
`));
} catch(e) {
Logger.log(e);
return getHtmlOutputFromFile('view/html/internal-server-error.html');
}
} else {
try {
return htmlOutput.append(getHtmlAsStringFromTemplate('view/script/app-configuration.html'))
.append(createScriptTagAsString(` configureApp().then(startWorkoutNote) `));
} catch(e) {
Logger.log(e);
return getHtmlOutputFromFile('view/html/internal-server-error.html');
}
}
}
function setup(params:{ rootPath:string }) {
if (isObjectLike(params) && isString(params.rootPath) && isNotBlank(params.rootPath.trim())) {
try {
const appDataFolderUrl = app.setup(params.rootPath);
workoutManager.initialize();
return {
isSuccessful:true,
url:appDataFolderUrl,
settings:app.loadGroupedSettings(app.SettingsGroup.APPLICATION),
exercises:app.loadGroupedSettings(app.SettingsGroup.EXCERCISES)
}
} catch(e) {
Logger.log(e);
return {
isSuccessful:false
}
}
} else {
return {
isSuccessful:false
}
}
}
/*
要做的事
1. 搜集請求中的訓練項目
搜集成功 => 執行 2
搜集失敗 => 報錯,令其重新填寫
2. 檢查訓練項目資料是否有缺漏
搜集成功 => 執行 3
搜集失敗 => 報錯,令其補上
3. 儲存訓練項目到訓練項目文件
搜集成功 => 執行 4
搜集失敗 => 報錯,令使用者查看錯誤訊息
4. 回報執行成功
*/
function writeWorkoutRecord() {
}