crowi.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const { blinkElem, blinkSectionHeaderAtBoot } = require('../util/blink-section-header');
  2. /* eslint-disable react/jsx-filename-extension */
  3. require('jquery.cookie');
  4. require('./thirdparty-js/waves');
  5. const Crowi = {};
  6. if (!window) {
  7. window = {};
  8. }
  9. window.Crowi = Crowi;
  10. Crowi.setCaretLine = function(line) {
  11. window.globalEmitter.emit('setCaretLine', line);
  12. };
  13. // original: middleware.swigFilter
  14. Crowi.userPicture = function(user) {
  15. if (!user) {
  16. return '/images/icons/user.svg';
  17. }
  18. return user.image || '/images/icons/user.svg';
  19. };
  20. Crowi.initClassesByOS = function() {
  21. // add classes to cmd-key by OS
  22. const platform = navigator.platform.toLowerCase();
  23. const isMac = (platform.indexOf('mac') > -1);
  24. document.querySelectorAll('.system-version .cmd-key').forEach((element) => {
  25. if (isMac) {
  26. element.classList.add('mac');
  27. }
  28. else {
  29. element.classList.add('win');
  30. }
  31. });
  32. document.querySelectorAll('#shortcuts-modal .cmd-key').forEach((element) => {
  33. if (isMac) {
  34. element.classList.add('mac');
  35. }
  36. else {
  37. element.classList.add('win', 'key-longer');
  38. }
  39. });
  40. };
  41. // adjust min-height of page for print temporarily
  42. window.onbeforeprint = function() {
  43. $('#page-wrapper').css('min-height', '0px');
  44. };