default.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /**
  2. * @fileOverview
  3. *
  4. * 菜单默认选择项目
  5. *
  6. * @author: techird
  7. * @copyright: Baidu FEX, 2014
  8. */
  9. KityMinder.registerUI('menu/default', function(minder) {
  10. minder.on('uiready', function() {
  11. var $menu = minder.getUI('menu/menu');
  12. var $open = minder.getUI('menu/open/open');
  13. var $recent = minder.getUI('menu/open/recent');
  14. var $save = minder.getUI('menu/save/save');
  15. var $share = minder.getUI('menu/share/share');
  16. var $draft = minder.getUI('menu/open/draft');
  17. setMenuDefaults();
  18. // $menu.show();
  19. // $menu.$tabs.select(1);
  20. // $open.$tabs.select(1);
  21. // return;
  22. loadLandingFile();
  23. function setMenuDefaults() {
  24. // 主菜单默认选中「打开」
  25. $menu.$tabs.select(1);
  26. // 打开菜单默认选中「本地文件」
  27. $open.$tabs.select(2);
  28. // 保存菜单默认选中「导出到本地」
  29. $save.$tabs.select(1);
  30. // 如果用户登陆了,选中「百度云存储」
  31. fio.user.check().then(function(user) {
  32. if (user) {
  33. $save.$tabs.select(0);
  34. }
  35. });
  36. $share.$menu.$tabs.select(0); // 当前脑图
  37. }
  38. function loadLandingFile() {
  39. var pattern = /(?:shareId|share_id)=(\w+)([&#]|$)/;
  40. var match = pattern.exec(window.location) || pattern.exec(document.referrer);
  41. if (match) {
  42. return $share.loadShareFile();
  43. }
  44. // 检查登录状态
  45. fio.user.check().then(function(user) {
  46. var draft = $draft.last();
  47. var recent = $recent.last();
  48. // 登录
  49. if (user) {
  50. if (recent) {
  51. if (draft) {
  52. if (recent.time > draft.time) openRecent();
  53. else openDraft();
  54. } else {
  55. openRecent();
  56. }
  57. } else {
  58. if (draft) openDraft();
  59. else $open.$tabs.select(1); // locale netdisk
  60. }
  61. } else {
  62. if (draft) openDraft();
  63. else $open.$tabs.select(2); // locale local
  64. }
  65. function openDraft() {
  66. $open.$tabs.select(3);
  67. $draft.openLast();
  68. }
  69. function openRecent() {
  70. $open.$tabs.select(0);
  71. $recent.loadLast();
  72. }
  73. });
  74. }
  75. });
  76. });