Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.24 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsenui.css">
  7. <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsen-css-components.min.css">
  8. <script src="https://unpkg.com/onsenui/js/onsenui.min.js"></script>
  9. <script src="https://unpkg.com/jquery/dist/jquery.min.js"></script>
  10. <script>
  11.  
  12. var year;
  13. var month;
  14. var day;
  15.  
  16. //TODO 0 - upravit tak aby se misto ukol 1, ukol 2, ukol 3 zobrazoval název úkolu
  17. //TODO 1 - k nazvu ukolu pridat a ulozit i uzivatelem zvolene datum
  18. //TODO 2 - doplnit funkci na stisk tlačítka, které odstraní všechny prvky z úložiště
  19. //TODO 3 - po zvoleni daneho ukolu zobrazit dialog s možností odstranit úkol
  20. //TODO 4 - po zvolení odstranit úkol - tento úkol skutečně odstranit z úložiště
  21. //TODO 5 - vytvorit objekt ukol a do uloziste ukladat a nacitat tento objekt pomoci JSON
  22.  
  23. document.addEventListener('init', function (event) {
  24. showTodo();
  25. });
  26.  
  27. function addTask() {
  28.  
  29. var myDate = new Date();
  30. //vytvori klic pro ukladani zaznamu do local storage
  31. //klic muzete vytvorit i vlastni/jiny
  32. var myKey = myDate.getTime();
  33. //zaznam, ktery bude ulozen pod klicem
  34. var todoText = $("#taskName").val() + ' : ' + day + ' ' + month + ' ' + year;
  35. var obj = new Object();
  36. obj.task = $("#taskName").val();
  37. obj.date = new Date(myKey).toString();
  38. obj.text = $('.textarea').val();
  39. obj.priority = $('input[name=priority]:checked').parent().parent().prev().text().replace(/\s/g, '');
  40. obj.vibrate = document.getElementById('vib').checked;
  41. obj.volume = document.getElementById('vol').value;
  42.  
  43. console.log(obj);
  44.  
  45.  
  46. /*
  47. onsItem.innerHTML = "abc" + "<div class expandable-content>" + "abc bacb badb" + "</div>"
  48. onsIte.SetAtribute("expandavble", "")
  49. */
  50.  
  51. if (todoText.length) {
  52. //localStorage[myKey] = todoText;
  53. localStorage.setItem(myKey, todoText);
  54. }
  55.  
  56. showTodo();
  57. }
  58.  
  59. function removeAll() {
  60. ons.notification.alert("Remove All Items");
  61. $("#todoList").empty();
  62. localStorage.clear();
  63. }
  64.  
  65. function itemClick() {
  66. var deleteButton = document.getElementById('del-btn');
  67. deleteButton.setAttribute('onclick', "deleteItem(" + myKey + ")");
  68. document.getElementById('dialog-2').show();
  69. }
  70.  
  71. function deleteItem(id) {
  72. localStorage.removeItem(id);
  73. $('#' + id).remove();
  74. }
  75.  
  76. function myDateFunc(myDate) {
  77. year = myDate.getFullYear();
  78. month = myDate.getMonth() + 1; //January is 0
  79. day = myDate.getDate();
  80. console.log("year: " + year + " month: " + month + " day: " + day);
  81. }
  82.  
  83.  
  84. function showTodo() {
  85. $("#todoList").empty();
  86. for (var i = 0; i < localStorage.length; i++) {
  87. var onsItem = document.createElement('ons-list-item');
  88.  
  89.  
  90. //ziskam klic pro pristup k zaznamu
  91. var myKey = localStorage.key(i);
  92.  
  93. onsItem.setAttribute('onclick', "itemClick(" + myKey + ")");
  94. onsItem.setAttribute('id', myKey);
  95.  
  96.  
  97.  
  98.  
  99. onsItem.innerHTML = localStorage[myKey];
  100. onsItem.setAttribute('modifier', "tappable");
  101. document.getElementById('todoList').appendChild(onsItem);
  102. }
  103. }
  104.  
  105. function addDialog(text) {
  106. console.log('dialog-' + text);
  107. document.getElementById('dialog-' + text).show();
  108. }
  109.  
  110. function closeDialog(text) {
  111. document.getElementById('dialog-' + text).hide();
  112. }
  113.  
  114. </script>
  115.  
  116. </head>
  117.  
  118. <body>
  119. <ons-navigator swipeable id="myNavigator" page="page1.html"></ons-navigator>
  120.  
  121. <template id="page1.html">
  122. <ons-page id="page1">
  123. <ons-toolbar>
  124. <div class="center">Local Storage</div>
  125. </ons-toolbar>
  126.  
  127. <p>TODO List</p>
  128.  
  129. <ons-list id="todoList">
  130. </ons-list>
  131. <ons-button modifier="material" id="push-button2" onclick="addDialog('1');">Add Task Using Dialog</ons-button>
  132. <ons-button modifier="material" id="push-button3" onclick="removeAll();">Remove All Task</ons-button>
  133. </ons-page>
  134. </template>
  135.  
  136. <ons-dialog id="dialog-1">
  137.  
  138. <div style="text-align: center; padding: 10px;">
  139.  
  140. <p>
  141. <ons-input id="taskName" modifier="underbar" placeholder="Task Name" float></ons-input>
  142. </p>
  143. <p style="text-align: center">
  144. <input style="font-size:200%" id="dateInput" type="date" modifier="underbar material" onchange="myDateFunc(new Date(this.value));"></input>
  145. </p>
  146.  
  147. <textarea class="textarea" rows="3" placeholder="Textarea"></textarea>
  148.  
  149. <ons-list>
  150. <ons-list-header>Task priority</ons-list-header>
  151.  
  152. <ons-list-item tappable>
  153. <label class="left">
  154. <ons-radio name="priority" input-id="radio-1" checked></ons-radio>
  155. </label>
  156. <label for="radio-1" class="center" style="color: blue;">
  157. Low
  158. </label>
  159. </ons-list-item>
  160. <ons-list-item tappable>
  161. <label class="left">
  162. <ons-radio name="priority" input-id="radio-2"></ons-radio>
  163. </label>
  164. <label for="radio-2" class="center">
  165. Medium
  166. </label>
  167. </ons-list-item>
  168. <ons-list-item tappable>
  169. <label class="left">
  170. <ons-radio name="priority" input-id="radio-3"></ons-radio>
  171. </label>
  172. <label for="radio-3" class="center" style="color: red;">
  173. High
  174. </label>
  175. </ons-list-item>
  176. </ons-list>
  177.  
  178. <ons-list>
  179. <ons-list-header>Notifications</ons-list-header>
  180. <ons-list-item>
  181. <div class="center">
  182. Enable Vibration
  183. </div>
  184. <div class="right">
  185. <ons-switch id="vib"></ons-switch>
  186. </div>
  187. </ons-list-item>
  188.  
  189. <ons-list-item>
  190.  
  191. <ons-row>
  192. <ons-col width="40px" style="text-align: center; line-height: 31px;">
  193. <ons-icon icon="md-volume-down"></ons-icon>
  194. </ons-col>
  195. <ons-col>
  196. <ons-range id="vol" style="width: 100%;" value="25"></ons-range>
  197. </ons-col>
  198. <ons-col width="40px" style="text-align: center; line-height: 31px;">
  199. <ons-icon icon="md-volume-up"></ons-icon>
  200. </ons-col>
  201. </ons-row>
  202. </ons-list-item>
  203.  
  204.  
  205. </ons-list>
  206.  
  207. <p>
  208. <ons-button modifier="material" id="push-button4" onclick="addTask('1');">Add Task</ons-button>
  209. </p>
  210. <p>
  211. <ons-button modifier="material" id="push-button5" onclick="closeDialog('1');">Close</ons-button>
  212. </p>
  213. </div>
  214.  
  215. </ons-dialog>
  216.  
  217. <ons-dialog id="dialog-2">
  218.  
  219. <div style="text-align: center; padding: 10px;">
  220. <p>
  221. <ons-button modifier="material" id="del-btn">Delete Task</ons-button>
  222. </p>
  223. <p>
  224. <ons-button modifier="material" id="push-button5" onclick="closeDialog('2');">Close</ons-button>
  225. </p>
  226. </div>
  227.  
  228. </ons-dialog>
  229.  
  230. </body>
  231.  
  232. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement