Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
2051 linlun 1
<?php
2068 runge 2
require_once("backend.php");
3
require_once("config.php");
4
?>
5
<!DOCTYPE HTML>
6
<html>
7
  <head>
8
    <meta charset="utf-8">
9
    <meta name="viewport" content="width=device-width, initial-scale=1">
10
    <title>Home Automation Control Center</title>
11
    <link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" />
12
    <script src="jquery-1.7.2.min.js"></script>
13
    <script src="jquery.mobile-1.1.1.min.js"></script>
14
    <script src="jquery.tmpl.min.js"></script>
1872 runge 15
 
2068 runge 16
    <style>
17
    <?php
18
      foreach ($pages as $page)
19
      {
20
        include("pages/" . $page . "/style.css");
21
      }
22
    ?>
23
    </style>
2060 linlun 24
 
2068 runge 25
    <?php
26
      foreach ($pages as $page)
27
      {
28
        include("pages/" . $page . "/template.html");
29
      }
30
    ?>
1872 runge 31
 
2068 runge 32
    <script id="page-template" type="text/x-jquery-tmpl" data-enhance="false">
2070 runge 33
      <div id="page-${name}" data-role="page" data-theme="a">
34
        <div data-role="header">
35
          <a href="#" data-icon="left" data-rel="back" data-direction="reverse">Home</a>
36
          <h1>Home Automation Control Center - ${title}</h1>
37
        </div>
2068 runge 38
        <div data-role="content"></div>
39
      </div>
40
    </script>
1872 runge 41
 
2068 runge 42
    <script id="pagelink-template" type="text/x-jquery-tmpl" data-enhance="false">
43
      <span>
2070 runge 44
        <a href="#" data-role="button">${title}</a>
2068 runge 45
      </span>
46
    </script>
2054 linlun 47
 
2068 runge 48
    <script>
49
      $.mobile.ignoreContentEnabled = true;
1872 runge 50
 
2068 runge 51
      function sendCommand(command, callback)
52
      {
53
        jQuery.getJSON("backend.php?ajax", { command: command }, callback);
54
      }
55
    </script>
1872 runge 56
 
2068 runge 57
    <script>
58
      var pages = {};
1872 runge 59
 
2068 runge 60
    <?php
61
      foreach ($pages as $page)
1872 runge 62
      {
2068 runge 63
        include("pages/" . $page . "/script.js");
1872 runge 64
      }
65
    ?>
2068 runge 66
    </script>
1872 runge 67
 
2068 runge 68
    <script>
69
 
2080 runge 70
      var aliasNames = <?php echo json_encode($aliasNames); ?>;
2068 runge 71
      var pageConfigurations = <?php echo json_encode($pageConfiguration); ?>;
72
      var pageInstances = {};
73
 
74
      $(document).ready(function(event)
1872 runge 75
      {
2068 runge 76
        jQuery.each(pageConfigurations, function(n, configuration)
1872 runge 77
        {
2068 runge 78
          var pageName = configuration.page + "_" + n;
2054 linlun 79
 
2068 runge 80
          pageInstances[pageName] = configuration;
2054 linlun 81
 
2068 runge 82
          pageInstances[pageName].name = pageName;
2054 linlun 83
 
2068 runge 84
          pageInstances[pageName].pageElement = $("#page-template").tmpl(pageInstances[pageName]).appendTo($("body")).page();
85
          pageInstances[pageName].pageContentElement = pageInstances[pageName].pageElement.find(":jqmData(role=content)");
2054 linlun 86
 
2070 runge 87
          pageInstances[pageName].pageElement.find(":jqmData(rel=back)").on("click", function(event)
88
          {
89
            $.mobile.changePage($("#home"), "slide");
90
            event.preventDefault();
91
          });
92
 
93
          pageInstances[pageName].pageLinkElement = $("#pagelink-template").tmpl(pageInstances[pageName]).appendTo($("#home").find(":jqmData(role=content)")).trigger("create").on("click", function(event)
94
          {
95
            $.mobile.changePage(pageInstances[pageName].pageElement, "slide");
96
            event.preventDefault();
97
          });
98
 
99
 
2068 runge 100
          if (pages[configuration.page] && pages[configuration.page].init)
101
          {
102
            pages[configuration.page].init(pageInstances[pageName]);
103
          }
104
        });
2054 linlun 105
 
2070 runge 106
        $(".ui-page").on("swipeleft", function()
2068 runge 107
        {
2070 runge 108
          var nextpage = $(this).nextAll(":jqmData(role=page)");
2054 linlun 109
 
2070 runge 110
          if (nextpage.length > 0)
2068 runge 111
          {
2070 runge 112
            $.mobile.changePage($(nextpage[0]), "slide");
113
          }
114
        });
115
 
116
        $(".ui-page").on("swiperight", function()
117
        {
118
          var prevpage = $(this).prevAll(":jqmData(role=page)");
2054 linlun 119
 
2070 runge 120
          if (prevpage.length > 0)
121
          {
122
            $.mobile.changePage($(prevpage[0]), "slide", true);
2068 runge 123
          }
2070 runge 124
        });
1872 runge 125
      });
126
 
2068 runge 127
    </script>
128
  </head>
129
 
130
  <body>
131
    <div id="home" data-role="page" data-theme="a">
132
      <div data-role="header"><h1>Home Automation Control Center</h1></div>
133
      <div data-role="content"></div>
2051 linlun 134
    </div>
2068 runge 135
  </body>
136
</html>