index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /**
  2. * 便签笔记入口程序
  3. * @author zhaoxianlie
  4. */
  5. let StickyNotes = (() => {
  6. // 添加事件监听
  7. let addListener = () => {
  8. // 正在编辑中
  9. let editing = false;
  10. window.onbeforeunload = function(e){
  11. if(editing) {
  12. (e || window.event).returnValue = '当前还有未保存的笔记,确定要离开么?';
  13. }
  14. };
  15. // add note
  16. $('#addnote').click(function () {
  17. editing = true;
  18. html5sticky.addNote();
  19. return false;
  20. });
  21. // delete all notes
  22. $('#removenotes').click(function () {
  23. html5sticky.deleteAllNotes();
  24. return false;
  25. });
  26. $(document.body).delegate('.delete_stickynote', 'click', function (e) {
  27. // delete note
  28. html5sticky.deleteNote($(this));
  29. return false;
  30. }).delegate('.close_stickynote', 'click', function (e) {
  31. editing = false;
  32. // close enlarged note
  33. html5sticky.closeNote($(this));
  34. return false;
  35. }).delegate('.save_stickynote', 'click', function (e) {
  36. editing = false;
  37. // save the note
  38. html5sticky.saveNote($(this));
  39. return false;
  40. }).delegate('.note_common', 'click', function (e) {
  41. // enlarge the note
  42. $(this).find('.btn-close').hide();
  43. html5sticky.enlargeNote($(this));
  44. return false;
  45. }).delegate('.note_common', 'mouseover', function (e) {
  46. // 显示关闭按钮
  47. $(this).find('.btn-close').show();
  48. }).delegate('.note_common', 'mouseout', function (e) {
  49. // 隐藏关闭按钮
  50. $(this).find('.btn-close').hide();
  51. });
  52. // collapse the notes
  53. $('#collapse').click(function (event) {
  54. html5sticky.collapse();
  55. return false;
  56. });
  57. // expand the notes
  58. $('#expand').click(function (event) {
  59. html5sticky.expand();
  60. return false;
  61. });
  62. // allow escape to close big note
  63. $(document).keyup(function (e) {
  64. if (e.keyCode === 27) {
  65. $('#overlay').remove();
  66. $('.bignore').remove();
  67. }
  68. });
  69. // 下载
  70. $('#export').click(function (e) {
  71. html5sticky.export();
  72. return false;
  73. });
  74. // 文件夹选中
  75. $('#folders').delegate('li', 'click', function (e) {
  76. $(this).addClass('x-selected').siblings('li').removeClass('x-selected');
  77. let txt = $(this).text();
  78. let id = $(this).attr('id').replace(/^f_/, '');
  79. html5sticky.setCurrentFolder(txt, id);
  80. html5sticky.getNotes(id);
  81. });
  82. // 创建文件夹
  83. $('#createFolder').click(function (e) {
  84. let el = html5sticky.createFolder();
  85. if (el) {
  86. el.trigger('click');
  87. }
  88. return false;
  89. });
  90. };
  91. // 初始化
  92. let init = () => {
  93. $(function () {
  94. html5sticky.buildFoldersAndInitNotes();
  95. addListener();
  96. });
  97. };
  98. return {
  99. init: init
  100. };
  101. })();
  102. StickyNotes.init();