|
1263 | 1263 |
|
1264 | 1264 | Router.add(/(.*)/, function(route) { |
1265 | 1265 | var params = ''; |
| 1266 | + var routeIcons = self._flattenDesktopIcons(self.options.icons); |
1266 | 1267 |
|
1267 | 1268 | if (~route.indexOf('?')) { |
1268 | 1269 | params = route.slice(route.lastIndexOf('?') + 1); |
1269 | 1270 | route = route.slice(0, route.lastIndexOf('?')); |
1270 | 1271 | } |
1271 | 1272 |
|
1272 | | - for (var j in self.desktopIcons) { |
| 1273 | + for (var j in routeIcons) { |
1273 | 1274 | // noinspection JSUnfilteredForInLoop,JSDuplicatedDeclaration |
1274 | | - var icon_options = self.desktopIcons[j]; |
| 1275 | + var icon_options = routeIcons[j]; |
1275 | 1276 |
|
1276 | 1277 | if (typeof icon_options['link'] !== 'undefined') { |
1277 | 1278 | var icon_link = ''; |
| 1279 | + var $icon = self.$desktop.find('a.emuos-desktop-icon span:contains("' + icon_options['name'] + '")').first().parent(); |
| 1280 | + var launchItem = $.extend(true, {}, icon_options); |
1278 | 1281 |
|
1279 | 1282 | if (!~icon_options['link'].indexOf('http')) { |
1280 | 1283 | icon_link = ~icon_options['link'].indexOf('?') ? icon_options['link'].slice(0, icon_options['link'].indexOf('?')) : icon_options['link']; |
|
1283 | 1286 |
|
1284 | 1287 | if (route === icon_link) { |
1285 | 1288 | if (params !== '') { |
1286 | | - var $icon = self.$desktop.find('a.emuos-desktop-icon span:contains("' + icon_options['name'] + '")').first().parent(); |
1287 | | - $icon.data('link', $icon.data('link').indexOf('?') ? $icon.data('link').slice(0, $icon.data('link').indexOf('?')) + '?' + params : $icon.data('link') + '?' + params); |
| 1289 | + launchItem.link = icon_options['link'].indexOf('?') ? icon_options['link'].slice(0, icon_options['link'].indexOf('?')) + '?' + params : icon_options['link'] + '?' + params; |
| 1290 | + } |
| 1291 | + |
| 1292 | + if ($icon.length) { |
| 1293 | + if (params !== '') { |
| 1294 | + $icon.data('link', $icon.data('link').indexOf('?') ? $icon.data('link').slice(0, $icon.data('link').indexOf('?')) + '?' + params : $icon.data('link') + '?' + params); |
| 1295 | + } |
1288 | 1296 | $icon.trigger('dblclick'); |
1289 | | - break; |
| 1297 | + } else { |
| 1298 | + self._launchFolderItem(launchItem, ''); |
1290 | 1299 | } |
1291 | 1300 |
|
1292 | | - self.$desktop.find('a.emuos-desktop-icon span:contains("' + icon_options['name'] + '")').first().trigger('dblclick'); |
1293 | 1301 | break; |
1294 | 1302 | } |
1295 | 1303 | } else { |
1296 | 1304 | icon_link = icon_options['link'].substr(-1) === '/' ? icon_options['link'].slice(0, -1) : icon_options['link']; |
1297 | 1305 |
|
1298 | 1306 | if (route === icon_link) { |
1299 | | - self.$desktop.find('a.emuos-desktop-icon span:contains("' + icon_options['name'] + '")').first().trigger('dblclick'); |
| 1307 | + if (params !== '') { |
| 1308 | + launchItem.link = icon_options['link'].indexOf('?') ? icon_options['link'].slice(0, icon_options['link'].indexOf('?')) + '?' + params : icon_options['link'] + '?' + params; |
| 1309 | + } |
| 1310 | + |
| 1311 | + if ($icon.length) { |
| 1312 | + $icon.trigger('dblclick'); |
| 1313 | + } else { |
| 1314 | + self._launchFolderItem(launchItem, ''); |
| 1315 | + } |
| 1316 | + |
1300 | 1317 | break; |
1301 | 1318 | } |
1302 | 1319 | } |
|
0 commit comments