1 module uim.html.webstorage;
2 
3 import uim.html;
4 
5 public import uim.html.webstorage.local;
6 public import uim.html.webstorage.session;
7 
8 
9 string h5LocalStorageSetItem(string name, string data) {
10   return "localStorage.setItem(%s, %s);".format(name, data);
11 }
12 unittest {
13   assert(h5LocalStorageSetItem("'test'", "values")  == "localStorage.setItem('test', values);");
14 }
15 
16 string h5LocalStorageGetItem(string target, string name) {
17   return "%s=localStorage.getItem(%s);".format(target, name);
18 }
19 unittest {
20   assert(h5LocalStorageGetItem("var test", "'test'")  == "var test=localStorage.getItem('test');");
21 }
22 
23 string h5LocalStorageRemoveItem(string name) {
24   return "localStorage.removeItem(%s);".format(name);
25 }
26 unittest {
27   assert(h5LocalStorageGetItem("var test", "'test'")  == "var test=localStorage.getItem('test');");
28 }
29 
30 /*
31 HTML web storage provides two objects for storing data on the client:
32 •window.localStorage - stores data with no expiration date
33 •window.sessionStorage - stores data for one session (data is lost when the browser tab is closed)
34 
35 Before using web storage, check browser support for localStorage and sessionStorage:
36 
37 
38 if (typeof(Storage) !== "undefined") {
39    // Code for localStorage/sessionStorage.
40   }  else {
41    // Sorry! No Web Storage support..
42   }
43   */
44 
45   /*
46 
47   <!DOCTYPE html>
48 <html>
49 <body>
50 
51 <div id="result"></div>
52 
53 <script>
54 // Check browser support
55 if (typeof(Storage) !== "undefined") {
56   // Store
57   localStorage.setItem("lastname", "Smith");
58   // Retrieve
59   document.getElementById("result").innerHTML = localStorage.getItem("lastname");
60 } else {
61   document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
62 }
63 </script>
64 
65 </body>
66 </html>
67 
68 */
69 
70 /*
71 function clickCounter() {
72   if (typeof(Storage) !== "undefined") {
73     if (sessionStorage.clickcount) {
74       sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
75     } else {
76       sessionStorage.clickcount = 1;
77     }
78     document.getElementById("result").innerHTML = "You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
79   } else {
80     document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
81   }
82 }
83 </script>
84 </head>
85 <body>
86 
87 <p><button onclick="clickCounter()" type="button">Click me!</button></p>
88 <div id="result"></div>
89 <p>Click the button to see the counter increase.</p>
90 <p>Close the browser tab (or window), and try again, and the counter is reset.</p>
91 
92  */