Subversion Repositories HomeAutomation

Rev

Rev 2086 | Rev 2102 | Go to most recent revision | Details | Compare with Previous | 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
    ?>
2096 runge 23
 
24
      .ui-li-heading {
25
        white-space: normal;
26
      }
2068 runge 27
    </style>
2060 linlun 28
 
2068 runge 29
    <?php
30
      foreach ($pages as $page)
31
      {
32
        include("pages/" . $page . "/template.html");
33
      }
34
    ?>
1872 runge 35
 
2068 runge 36
    <script id="page-template" type="text/x-jquery-tmpl" data-enhance="false">
2070 runge 37
      <div id="page-${name}" data-role="page" data-theme="a">
38
        <div data-role="header">
2086 arune 39
          <a href="#" data-icon="home" data-rel="back" data-direction="reverse">Home</a>
2070 runge 40
          <h1>Home Automation Control Center - ${title}</h1>
41
        </div>
2068 runge 42
        <div data-role="content"></div>
43
      </div>
44
    </script>
1872 runge 45
 
2068 runge 46
    <script id="pagelink-template" type="text/x-jquery-tmpl" data-enhance="false">
47
      <span>
2070 runge 48
        <a href="#" data-role="button">${title}</a>
2068 runge 49
      </span>
50
    </script>
2054 linlun 51
 
2068 runge 52
    <script>
53
      $.mobile.ignoreContentEnabled = true;
2096 runge 54
      $.mobile.transitionFallbacks.pop = "none"
55
      $.mobile.transitionFallbacks.flip = "none"
56
      $.mobile.transitionFallbacks.turn = "none"
57
      $.mobile.transitionFallbacks.flow = "none"
58
      $.mobile.transitionFallbacks.slidefade = "none"
59
      $.mobile.transitionFallbacks.slide = "none"
60
      $.mobile.transitionFallbacks.slideup = "none"
61
      $.mobile.transitionFallbacks.slidedown = "none"
62
      $.mobile.defaultPageTransition = "none"
1872 runge 63
 
2068 runge 64
      function sendCommand(command, callback)
65
      {
66
        jQuery.getJSON("backend.php?ajax", { command: command }, callback);
67
      }
68
    </script>
1872 runge 69
 
2068 runge 70
    <script>
71
      var pages = {};
1872 runge 72
 
2068 runge 73
    <?php
74
      foreach ($pages as $page)
1872 runge 75
      {
2068 runge 76
        include("pages/" . $page . "/script.js");
1872 runge 77
      }
78
    ?>
2068 runge 79
    </script>
1872 runge 80
 
2068 runge 81
    <script>
82
 
2080 runge 83
      var aliasNames = <?php echo json_encode($aliasNames); ?>;
2068 runge 84
      var pageConfigurations = <?php echo json_encode($pageConfiguration); ?>;
85
      var pageInstances = {};
86
 
87
      $(document).ready(function(event)
1872 runge 88
      {
2068 runge 89
        jQuery.each(pageConfigurations, function(n, configuration)
1872 runge 90
        {
2068 runge 91
          var pageName = configuration.page + "_" + n;
2054 linlun 92
 
2068 runge 93
          pageInstances[pageName] = configuration;
2054 linlun 94
 
2068 runge 95
          pageInstances[pageName].name = pageName;
2054 linlun 96
 
2068 runge 97
          pageInstances[pageName].pageElement = $("#page-template").tmpl(pageInstances[pageName]).appendTo($("body")).page();
98
          pageInstances[pageName].pageContentElement = pageInstances[pageName].pageElement.find(":jqmData(role=content)");
2054 linlun 99
 
2070 runge 100
          pageInstances[pageName].pageElement.find(":jqmData(rel=back)").on("click", function(event)
101
          {
2096 runge 102
            $.mobile.changePage($("#home"), "slide", true);
2070 runge 103
            event.preventDefault();
104
          });
105
 
106
          pageInstances[pageName].pageLinkElement = $("#pagelink-template").tmpl(pageInstances[pageName]).appendTo($("#home").find(":jqmData(role=content)")).trigger("create").on("click", function(event)
107
          {
108
            $.mobile.changePage(pageInstances[pageName].pageElement, "slide");
109
            event.preventDefault();
110
          });
111
 
112
 
2068 runge 113
          if (pages[configuration.page] && pages[configuration.page].init)
114
          {
115
            pages[configuration.page].init(pageInstances[pageName]);
116
          }
117
        });
2054 linlun 118
 
2070 runge 119
        $(".ui-page").on("swipeleft", function()
2068 runge 120
        {
2070 runge 121
          var nextpage = $(this).nextAll(":jqmData(role=page)");
2054 linlun 122
 
2070 runge 123
          if (nextpage.length > 0)
2068 runge 124
          {
2070 runge 125
            $.mobile.changePage($(nextpage[0]), "slide");
126
          }
127
        });
128
 
129
        $(".ui-page").on("swiperight", function()
130
        {
131
          var prevpage = $(this).prevAll(":jqmData(role=page)");
2054 linlun 132
 
2070 runge 133
          if (prevpage.length > 0)
134
          {
135
            $.mobile.changePage($(prevpage[0]), "slide", true);
2068 runge 136
          }
2070 runge 137
        });
1872 runge 138
      });
139
 
2068 runge 140
    </script>
141
  </head>
142
 
143
  <body>
144
    <div id="home" data-role="page" data-theme="a">
145
      <div data-role="header"><h1>Home Automation Control Center</h1></div>
146
      <div data-role="content"></div>
2051 linlun 147
    </div>
2068 runge 148
  </body>
149
</html>