common.ui.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. window.updateAllDot = function(showCount)
  2. {
  3. showCount = showCount != '0';
  4. let dotStyle = 'padding: 2px;';
  5. let rightStyle = showCount ? 'right: -10px;' : 'right: -2px;';
  6. if(!showCount) dotStyle += 'width: 5px; height: 5px;';
  7. let $unreadTab = $('#messageTabs #unread-messages.tab-pane');
  8. let unreadCount = $unreadTab.find('.message-item.unread').length;
  9. if(unreadCount < 10 && showCount) rightStyle = 'right: -5px;';
  10. if(unreadCount > 99) unreadCount = '99+';
  11. dotStyle += showCount ? 'top: -3px; aspect-ratio: 0;' : 'top: -2px; aspect-ratio: 1 / 1;';
  12. dotStyle += rightStyle;
  13. let dotHtml = '<span class="label danger label-dot absolute' + (showCount ? ' rounded-sm' : '') + '" style="' + dotStyle + '">' + (showCount ? unreadCount : '') + '</span>';
  14. parent.$('#apps .app-container').each(function()
  15. {
  16. let $iframeMessageBar = $(this).find('iframe').contents().find('#messageBar');
  17. if($iframeMessageBar.length > 0)
  18. {
  19. $iframeMessageBar.find('.label-dot.danger').remove();
  20. if(unreadCount) $iframeMessageBar.append(dotHtml);
  21. }
  22. let $oldPage = $(this).find('iframe').contents().find('#oldPage');
  23. if($oldPage.length > 0)
  24. {
  25. $iframeMessageBar = $oldPage.find('iframe').contents().find('#messageBar');
  26. if($iframeMessageBar.length == 0) return;
  27. $iframeMessageBar.find('.label-dot.danger').remove();
  28. if(unreadCount) $iframeMessageBar.append(dotHtml);
  29. }
  30. });
  31. };
  32. window.toggleSettingDropdown = function(isOpen)
  33. {
  34. if(typeof(isOpen) == 'undefined') isOpen = $('#messageSettingDropdown-toggle').hasClass('open');
  35. $('#messageSettingDropdown-toggle').toggleClass('open', !isOpen);
  36. $('#messageSettingDropdown').toggleClass('show', !isOpen);
  37. };
  38. window.closeSettingDropdown = function(){ toggleSettingDropdown(true); }
  39. window.reloadSettingModal = function(showCount)
  40. {
  41. $('#dropdownMessageMenu #messageSettingDropdown').find('form').removeClass('loading');
  42. updateAllDot(showCount);
  43. closeSettingDropdown();
  44. }