crowi.js 1.2 KB

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