Subversion Repositories HomeAutomation

Rev

Rev 2142 | Rev 2146 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 2142 Rev 2145
Line 33... Line 33...
33
      }
33
      }
34
    ?>
34
    ?>
35
 
35
 
36
    <script id="page-template" type="text/x-jquery-tmpl" data-enhance="false">
36
    <script id="page-template" type="text/x-jquery-tmpl" data-enhance="false">
37
      <div id="page-${name}" data-role="page" data-theme="a" id="page-{name}">
37
      <div id="page-${name}" data-role="page" data-theme="a" id="page-{name}">
38
        <div data-role="header" data-position="fixed">
38
        <div data-id="PersistentFooter" data-role="header" data-position="fixed">
39
          <a href="#home" data-icon="home" data-direction="reverse">Start</a>
39
          <div data-role="navbar">
40
          <h1>${title} - Home Automation Control Center</h1>
40
            <ul class="navbar-container"></ul>
-
 
41
          </div>
41
        </div>
42
        </div>
42
        <div data-role="content"></div>
43
        <div data-role="content"></div>
43
      </div>
44
      </div>
44
    </script>
45
    </script>
45
 
46
 
Line 77... Line 78...
77
 
78
 
78
          jQuery.getJSON("backend.php?ajax", { command: command }, function(jsonData)
79
          jQuery.getJSON("backend.php?ajax", { command: command }, function(jsonData)
79
          {
80
          {
80
            handleCommandResponse(true, jsonData, callback);
81
            handleCommandResponse(true, jsonData, callback);
81
          }).error(function()
82
          }).error(function()
82
          {
83
          {
83
            handleCommandResponse(false, {}, callback);
84
            handleCommandResponse(false, {}, callback);
84
          });
85
          });
85
        }
86
        }
86
      }
87
      }
87
 
88
 
88
      function handleCommandResponse(success, jsonData, callback)
89
      function handleCommandResponse(success, jsonData, callback)
89
      {
90
      {
90
        commandActive = false;
91
        commandActive = false;
91
 
92
 
92
        if (commandQueue.length > 0)
93
        if (commandQueue.length > 0)
93
        {
94
        {
94
          var commandItem = commandQueue.shift();
95
          var commandItem = commandQueue.shift();
95
 
96
 
96
          sendCommand(commandItem.command, commandItem.callback);
97
          sendCommand(commandItem.command, commandItem.callback);
97
        }
98
        }
98
 
99
 
99
        if (success)
100
        if (success)
100
        {
101
        {
101
          if (callback)
102
          if (callback)
102
          {
103
          {
103
            callback(jsonData);
104
            callback(jsonData);
104
          }
105
          }
105
        }
106
        }
106
        else
107
        else
107
        {
108
        {
Line 150... Line 151...
150
 
151
 
151
          pageInstances[pageName].name = pageName;
152
          pageInstances[pageName].name = pageName;
152
 
153
 
153
          pageInstances[pageName].pageElement = $("#page-template").tmpl(pageInstances[pageName]).appendTo($("body")).page();
154
          pageInstances[pageName].pageElement = $("#page-template").tmpl(pageInstances[pageName]).appendTo($("body")).page();
154
          pageInstances[pageName].pageContentElement = pageInstances[pageName].pageElement.find(":jqmData(role=content)");
155
          pageInstances[pageName].pageContentElement = pageInstances[pageName].pageElement.find(":jqmData(role=content)");
-
 
156
 
-
 
157
 
155
 
158
 
156
          pageInstances[pageName].pageElement.find(":jqmData(rel=back)").on("click", function(event)
159
          pageInstances[pageName].pageElement.find(":jqmData(rel=back)").on("click", function(event)
157
          {
160
          {
158
            $.mobile.changePage("#home", { transition: "none", reverse: true });
161
            $.mobile.changePage("#home", { transition: "none", reverse: true });
159
            event.preventDefault();
162
            event.preventDefault();
Line 167... Line 170...
167
 
170
 
168
 
171
 
169
          if (pages[configuration.page] && pages[configuration.page].init)
172
          if (pages[configuration.page] && pages[configuration.page].init)
170
          {
173
          {
171
            pages[configuration.page].init(pageInstances[pageName]);
174
            pages[configuration.page].init(pageInstances[pageName]);
172
          }
175
          }
-
 
176
        });
-
 
177
 
-
 
178
       
-
 
179
        jQuery.each(pageInstances, function(pageName, pageInstance)
-
 
180
        {
-
 
181
          var navbarContainerElement = pageInstances[pageName].pageElement.find("ul.navbar-container");
-
 
182
 
-
 
183
          $("<li class=''><a href='#home'>Start</a></li>").appendTo(navbarContainerElement);
-
 
184
 
-
 
185
          jQuery.each(pageInstances, function(pageName2, pageInstance2)
-
 
186
          {
-
 
187
            if (pageInstance === pageInstance2)
-
 
188
            {
-
 
189
              $("<li class=''><a href='#page-" + pageName2 + "' class='ui-btn-active ui-state-persist'>" + pageInstance2.title + "</a></li>").appendTo(navbarContainerElement);
-
 
190
            }
-
 
191
            else
-
 
192
            {
-
 
193
              $("<li class=''><a href='#page-" + pageName2 + "'>" + pageInstance2.title + "</a></li>").appendTo(navbarContainerElement);
-
 
194
            }
-
 
195
          });
173
        });
196
        });
-
 
197
 
-
 
198
        $(":jqmData(role=header)").navbar();
174
 
199
 
-
 
200
       
175
        $(".ui-page").on("swipeleft", function()
201
        /*$(".ui-page").on("swipeleft", function()
176
        {
202
        {
177
          var nextpage = $(this).nextAll(":jqmData(role=page)");
203
          var nextpage = $(this).nextAll(":jqmData(role=page)");
178
 
204
 
179
          if (nextpage.length > 0)
205
          if (nextpage.length > 0)
180
          {
206
          {
181
            $.mobile.changePage("#" + nextpage[0].id, { transition: "none", changeHash: true });
207
            $.mobile.changePage("#" + nextpage[0].id, { transition: "none", changeHash: true });
182
          }
208
          }
183
          else
209
          else
184
          {
210
          {
185
            nextpage = $(":jqmData(role=page)");
211
            nextpage = $(":jqmData(role=page)");
186
 
212
 
187
            $.mobile.changePage("#" + nextpage[0].id, { transition: "none", changeHash: true });
213
            $.mobile.changePage("#" + nextpage[0].id, { transition: "none", changeHash: true });
188
          }
214
          }
189
        });
215
        });
190
       
216
       
191
        $(".ui-page").on("swiperight", function()
217
        $(".ui-page").on("swiperight", function()
192
        {
218
        {
193
          var prevpage = $(this).prevAll(":jqmData(role=page)");
219
          var prevpage = $(this).prevAll(":jqmData(role=page)");
194
 
220
 
195
          if (prevpage.length > 0)
221
          if (prevpage.length > 0)
196
          {
222
          {
197
            $.mobile.changePage("#" + prevpage[0].id, { transition: "none", reverse: true, changeHash: true });
223
            $.mobile.changePage("#" + prevpage[0].id, { transition: "none", reverse: true, changeHash: true });
198
          }
224
          }
199
          else
225
          else
200
          {
226
          {
201
            prevpage = $(":jqmData(role=page)");
227
            prevpage = $(":jqmData(role=page)");
202
 
228
 
203
            $.mobile.changePage("#" + prevpage[prevpage.length - 1].id, { transition: "none", reverse: true, changeHash: true });
229
            $.mobile.changePage("#" + prevpage[prevpage.length - 1].id, { transition: "none", reverse: true, changeHash: true });
-
 
230
          }
-
 
231
        });*/
-
 
232
 
-
 
233
        $(":jqmData(role=navbar)").delegate("a", "vclick", function(event)
-
 
234
        {
-
 
235
          if(!$(event.target).hasClass("ui-disabled"))
-
 
236
          {
-
 
237
            $(":jqmData(role=navbar)").find("a").not(".ui-state-persist").removeClass($.mobile.activeBtnClass);
-
 
238
            $(this).addClass($.mobile.activeBtnClass);
204
          }
239
          }
205
        });
240
        });
206
      });
241
      });
207
 
242
 
208
      var dialogCloseTimer = null;
243
      var dialogCloseTimer = null;