]> code.delx.au - comingnext/blobdiff - comingNext/index.html
check for backward compatibility before trying to access device object
[comingnext] / comingNext / index.html
index 47decb7a09094ffb7cb33ae0f687610a2826b88e..965702fb3178b2e39ba1c098ddfeec56e2d2ad58 100644 (file)
@@ -19,7 +19,7 @@
 .icon { }\r
 </style>\r
 \r
-<script type="text/javascript" src="localizedTextStrings.js" />\r
+<script type="text/javascript" src="localizedTextStrings.js" charset="utf-8" />\r
 \r
 <script>\r
 // valid types for the config object are 'Int', 'Bool', 'String', 'Enum', 'UID'\r
@@ -61,7 +61,7 @@ var config = {
 // Nothing of interest from here on...\r
 //-------------------------------------------------------\r
 var panelNum = 0; // use 1 for second panel\r
-var version = "1.24";\r
+var version = "1.25";\r
 var calendarService = null;\r
 var cacheEntriesHtml = [];\r
 var months_translated = [];\r
@@ -416,6 +416,7 @@ function formatTime(date)
 \r
 function updateData()\r
 {\r
+       console.info('updateData()');\r
        calcDaylightSaving();\r
        try {\r
                // meetings have time\r
@@ -429,6 +430,8 @@ function updateData()
                        }\r
                }\r
                var meetingResult = calendarService.IDataSource.GetList(meetingListFiltering);\r
+               if (meetingResult.ErrorCode != 0)\r
+                       throw("Error fetching calendar data: " + meetingResult.ErrorCode + ': ' + meetingResult.ErrorMessage);\r
                var meetingList = meetingResult.ReturnValue;\r
 \r
                // todos don't, they start on 00:00 hrs., but should be visible anyway\r
@@ -492,7 +495,7 @@ function updateData()
                                }\r
 \r
                                // make sure that we don't include an event twice (useful for ToDos that might come up twice)\r
-                               if (eventIds[entry.id] == 1) {\r
+                               if (eventIds[entry.id] == 1 && entry.Type == 'ToDo') {\r
                                        console.info('skipped (already included) ' + entry.id);\r
                                        counter--;\r
                                        continue;\r
@@ -655,11 +658,16 @@ function launchCalendar()
 \r
 function init()\r
 {\r
+       console.info('New widget instance starting up...');\r
+       \r
        try {\r
                // call calendar service\r
-               calendarService = device.getServiceObject("Service.Calendar", "IDataSource");\r
+               if (device != "undefined")\r
+                       calendarService = device.getServiceObject("Service.Calendar", "IDataSource");\r
+               else\r
+                       throw('device object does not exist');\r
        } catch(e) {\r
-               error('loading Calendar service');\r
+               error('loading Calendar service: ' + e + ', line ' + e.line);\r
                return;\r
        }\r
 \r
@@ -802,7 +810,7 @@ function loadSettings()
                }\r
                else\r
                        config[key].Value = config[key].Default;\r
-               \r
+               console.info('Settings: ' + key + '=\'' + config[key].Value + '\'');\r
        }\r
 }\r
 \r