diff options
author | 藍挺瑋 <lantw44@gmail.com> | 2012-12-17 17:48:34 +0800 |
---|---|---|
committer | lantw44 <lantw44@gmail.com> | 2012-12-17 17:48:34 +0800 |
commit | bbca2429098021b5804afc16aea7a1869c8109e2 (patch) | |
tree | 81816712d8debeb7eca707d56a267aeeb62649fd /js | |
parent | 010dab64e5f9ae4166cec5411aa16b69f76e1541 (diff) | |
download | inccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.tar.gz inccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.tar.zst inccalendar-bbca2429098021b5804afc16aea7a1869c8109e2.zip |
初步完成月曆版本的編輯界面,而資料傳輸部份尚未實作
Diffstat (limited to 'js')
-rw-r--r-- | js/caledit.js | 117 | ||||
-rw-r--r-- | js/month.js | 9 |
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); |