aboutsummaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
author藍挺瑋 <lantw44@gmail.com>2012-12-17 17:48:34 +0800
committerlantw44 <lantw44@gmail.com>2012-12-17 17:48:34 +0800
commitbbca2429098021b5804afc16aea7a1869c8109e2 (patch)
tree81816712d8debeb7eca707d56a267aeeb62649fd /js
parent010dab64e5f9ae4166cec5411aa16b69f76e1541 (diff)
downloadinccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.tar.gz
inccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.tar.zst
inccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.zip
初步完成月曆版本的編輯界面,而資料傳輸部份尚未實作
Diffstat (limited to 'js')
-rw-r--r--js/caledit.js117
-rw-r--r--js/month.js9
2 files changed, 126 insertions, 0 deletions
diff --git a/js/caledit.js b/js/caledit.js
new file mode 100644
index 0000000..73b4c4b
--- /dev/null
+++ b/js/caledit.js
@@ -0,0 +1,117 @@
+function caledit(year, month, date){
+ var allbrowseobj = document.getElementsByName("calbrowse");
+ var alldetailobj = document.getElementsByName("caldetail");
+ var i;
+ $(document).unbind("keydown.main");
+ $(document).bind("keydown.caledit", "ctrl+e", caledit_edit);
+ $(document).bind("keydown.caledit", "ctrl+1", caledit_focus_left);
+ $(document).bind("keydown.caledit", "ctrl+2", caledit_focus_right);
+ $(document).bind("keydown.caledit", "alt+q", caledit_quit);
+ status_bar_save();
+ status_bar_set("(Alt-Q)返回 (Ctrl-E)切換編輯 (Ctrl-1)左側 (Ctrl-2)右側 ");
+ caledit_switchedit_disable();
+ for(i=0; i<allbrowseobj.length; i++){
+ allbrowseobj[i].style.display = "none";
+ }
+ for(i=0; i<alldetailobj.length; i++){
+ alldetailobj[i].style.display = "block";
+ }
+ document.getElementById("switchlist").style.display = "none";
+ document.getElementById("googlelogout").style.display = "none";
+}
+
+function caledit_quit(){
+ var allbrowseobj = document.getElementsByName("calbrowse");
+ var alldetailobj = document.getElementsByName("caldetail");
+ var i;
+ $(document).unbind("keydown.main");
+ $(document).unbind("keydown.caledit");
+ for(i=0; i<allbrowseobj.length; i++){
+ allbrowseobj[i].style.display = "block";
+ }
+ for(i=0; i<alldetailobj.length; i++){
+ alldetailobj[i].style.display = "none";
+ }
+ shortcut_bind();
+ status_bar_restore();
+ document.getElementById("switchlist").style.display = "inline";
+ document.getElementById("googlelogout").style.display = "inline";
+}
+
+function caledit_edit()
+{
+ var buttonobj;
+ buttonobj = document.getElementById("caledit_switchedit");
+ document.getElementById("caledit_dyn_year").style.display = "inline";
+ switch(buttonobj.value){
+ case "編輯":
+ caledit_switchedit_enable();
+ break;
+ case "唯讀":
+ caledit_switchedit_disable();
+ break;
+ }
+}
+
+function caledit_switchedit_enable()
+{
+ var buttonobj;
+ var msgobj;
+ var roobj, rwobj, robobj, rwbobj;
+ var i;
+ buttonobj = document.getElementById("caledit_switchedit");
+ msgobj = document.getElementById("caledit_enabled");
+ roobj = document.getElementsByName("caledit_read");
+ rwobj = document.getElementsByName("caledit_write");
+ robobj = document.getElementsByName("caledit_read_block");
+ rwbobj = document.getElementsByName("caledit_write_block");
+ buttonobj.value = "唯讀";
+ msgobj.innerHTML = "編輯模式";
+ for(i=0; i<roobj.length; i++){
+ roobj[i].style.display = "none";
+ }
+ for(i=0; i<rwobj.length; i++){
+ rwobj[i].style.display = "inline";
+ }
+ for(i=0; i<robobj.length; i++){
+ robobj[i].style.display = "none";
+ }
+ for(i=0; i<rwbobj.length; i++){
+ rwbobj[i].style.display = "block";
+ }
+}
+
+function caledit_switchedit_disable()
+{
+ var buttonobj;
+ var msgobj;
+ var roobj, rwobj, robobj, rwbobj;
+ buttonobj = document.getElementById("caledit_switchedit");
+ msgobj = document.getElementById("caledit_enabled");
+ roobj = document.getElementsByName("caledit_read");
+ rwobj = document.getElementsByName("caledit_write");
+ robobj = document.getElementsByName("caledit_read_block");
+ rwbobj = document.getElementsByName("caledit_write_block");
+ buttonobj.value = "編輯";
+ msgobj.innerHTML = "檢視模式";
+ for(i=0; i<roobj.length; i++){
+ roobj[i].style.display = "inline-block";
+ }
+ for(i=0; i<rwobj.length; i++){
+ rwobj[i].style.display = "none";
+ }
+ for(i=0; i<robobj.length; i++){
+ robobj[i].style.display = "block";
+ }
+ for(i=0; i<rwbobj.length; i++){
+ rwbobj[i].style.display = "none";
+ }
+}
+
+function caledit_focus_left(){
+ $("#caledit_select").focus();
+}
+
+function caledit_focus_right(){
+ $("#caledit_switchedit").focus();
+}
diff --git a/js/month.js b/js/month.js
index 4e0ef21..dc334ee 100644
--- a/js/month.js
+++ b/js/month.js
@@ -299,6 +299,9 @@ function setmonthcal(){
objcal.setAttribute("name", "date" + todate);
objcal.setAttribute("onclick",
"setfocusblock(" + todate + ", true)");
+ objcal.setAttribute("ondblclick",
+ "caledit(" + value_year + ", " + value_month + ", " +
+ todate + ")");
objcaldate.innerHTML = todate;
alldata[todate] = new Object();
alldata[todate].row = i;
@@ -421,6 +424,11 @@ function setfocusbykbdinput_apply(){
setfocusbykbdinput_terminate();
}
+function call_caledit_kbd(evt){
+ evt.preventDefault();
+ caledit(value_year, value_month, value_date);
+}
+
function shortcut_bind(){
$(document).bind("keydown.main", "m", timeedit_month_kbd);
$(document).bind("keydown.main", "y", timeedit_year_kbd);
@@ -432,6 +440,7 @@ function shortcut_bind(){
$(document).bind("keydown.main", "down", movefocus_down);
$(document).bind("keydown.main", "left", movefocus_left);
$(document).bind("keydown.main", "right", movefocus_right);
+ $(document).bind("keydown.main", "return", call_caledit_kbd);
$(document).bind("keydown.main", "0", direct0);
$(document).bind("keydown.main", "1", direct1);
$(document).bind("keydown.main", "2", direct2);