1 var local = localStorage;
\r
2 var session = sessionStorage;
\r
3 var array = new Array();
\r
5 $(document).ready(function() {
\r
7 // Get information storage
\r
11 $("#register").on("click", function() {
\r
12 var filter=/\d{4}-\d{2}-\d{2}/;
\r
13 if ($("#txtTask").val() == "") {
\r
14 alert("Please enter the task.");
\r
15 } else if (filter.test($("#datePiker").val())==false) {
\r
16 alert("Please use the Date Picker.")
\r
18 if (confirm("Are you sure you want to store the task?")) {
\r
19 var key = getKeyToDate($("#datePiker").val());
\r
20 var taskText = $("#txtTask").val();
\r
21 var plainStr = htmlTagToPlain(taskText);
\r
23 // Store localStorage data
\r
24 local.setItem(key, plainStr);
\r
31 $("#delete").on("click", function() {
\r
32 $(":checkbox[name='storageCheck']:checked").each(function(i, v) {
\r
33 // The completed Task is deleted from localStorage.
\r
34 local.removeItem(v.value);
\r
35 session.removeItem(v.value);
\r
40 // disable keyboard for date input field
\r
41 $("#datePiker").on("keypress", function(e) {
\r
45 //add eventListener for tizenhwkey
\r
46 window.addEventListener('tizenhwkey', function(e) {
\r
47 if(e.keyName == "back")
\r
48 window.setTimeout(exitCurrentApplication, 1000)
\r
53 * Exit current application
\r
55 function exitCurrentApplication() {
\r
56 tizen.application.getCurrentApplication().exit();
\r
60 * Change htmlTag to plaintext
\r
62 function htmlTagToPlain(str){
\r
63 var plainFilter1 = /[&]/gi;
\r
64 var plainFilter2 = /[<]/gi;
\r
65 var plainFilter3 = /[>]/gi;
\r
67 var tempStr1 = str.replace(plainFilter1, "&");
\r
68 var tempStr2 = tempStr1.replace(plainFilter2, "<");
\r
69 return tempStr2.replace(plainFilter3, ">");
\r
73 * Call Task data stored in Storage
\r
75 function getHtmlToStorage(index) {
\r
80 + local.getItem(array[index])
\r
81 + "<input type='checkbox' id='"
\r
85 + "' name='storageCheck' onclick='taskComplete(this.value)' /></li>";
\r
89 * Get information storage
\r
91 function getStorage() {
\r
93 var $todayHtml = $("#todayList");
\r
94 var $beforeHtml = $("#beforeList");
\r
95 var $afterHtml = $("#afterList");
\r
96 var $datePiker = $("#datePiker");
\r
97 var $pDate = $("#pDate");
\r
99 var today = new Date();
\r
100 var year = today.getFullYear();
\r
101 var month = (today.getMonth() + 1) > 9 ? "" + (today.getMonth() + 1) : "0"
\r
102 + (today.getMonth() + 1);
\r
103 var date = today.getDate() > 9 ? "" + today.getDate() : "0"
\r
105 var currentDate = year + month + date;
\r
107 array = new Array();
\r
109 $datePiker.val(year + "-" + month + "-" + date);
\r
110 $pDate[0].innerHTML = "";
\r
111 $todayHtml[0].innerHTML = "";
\r
112 $beforeHtml[0].innerHTML = "";
\r
113 $afterHtml[0].innerHTML = "";
\r
114 $pDate.append("Today (" + year + "." + month + "." + date + ")");
\r
117 for (var i = 0; i < local.length; i++) {
\r
118 var taskTime = local.key(i);
\r
119 array.push(taskTime);
\r
121 array.sort(function(a, b) { return b - a; });
\r
123 // Call Task data stored in localStorage
\r
124 for ( var i = 0; i < array.length; i++) {
\r
126 // Import localStorage key to compared with the current date
\r
127 taskDate = array[i].substring(0, 8);
\r
130 if (currentDate == taskDate) {
\r
131 $todayHtml.append(getHtmlToStorage(i));
\r
133 } else if (currentDate > taskDate) {
\r
134 $beforeHtml.append(getHtmlToStorage(i));
\r
137 $afterHtml.append(getHtmlToStorage(i));
\r
140 for ( var j = 0; j < session.length; j++) {
\r
141 if (array[i] == session.key(j)) {
\r
142 // Shows Task Completed data until the browser (App) is re-executed
\r
143 $("#list_" + session.key(j)).addClass("del");
\r
144 $("#" + session.key(j)).attr("checked", true);
\r
149 $todayHtml[0].innerHTML == "" ? $("#divToday").hide() : "";
\r
150 $beforeHtml[0].innerHTML == "" ? $("#divPrevious").hide() : "";
\r
151 $afterHtml[0].innerHTML == "" ? $("#divAfter").hide() : "";
\r
153 if (local.length == 0 && session.length == 0)
\r
154 $("#divList").hide();
\r
158 * task complete stored in sessionStorage
\r
160 function taskComplete(key) {
\r
162 if ($("#" + key).is(":checked")) {
\r
164 // For completed Task, Strikeout is indicated
\r
165 $("#list_" + key).addClass("del");
\r
167 // task Complete stored in sessionStorage
\r
168 session.setItem(key, local.getItem(key));
\r
170 $("#list_" + key).removeClass("del");
\r
171 session.removeItem(key);
\r
176 * Create key by using the storage date
\r
178 function getKeyToDate(date) {
\r
180 var time = new Date();
\r
184 if (time.getHours() < 10)
\r
185 hourFormat = "0" + time.getHours();
\r
187 hourFormat = time.getHours();
\r
188 if (time.getMinutes() < 10)
\r
189 minuteFormat = "0" + time.getMinutes();
\r
191 minuteFormat = time.getMinutes();
\r
192 if (time.getSeconds() < 10)
\r
193 secondFormat = "0" + time.getSeconds();
\r
195 secondFormat = time.getSeconds();
\r
196 return (date.replace(/\-/g, "") + hourFormat + minuteFormat + secondFormat).replace(/\./g, "");
\r