Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

57 rader
1.4 KiB

  1. import $ from 'jquery';
  2. import {UiUtils} from './utils/UiUtils';
  3. import { detect } from 'detect-browser';
  4. import mobile from 'is-mobile';
  5. import 'focus-visible';
  6. global.$ = $;
  7. global.jQuery = $;
  8. export default class ihk {
  9. static getBrowser() {
  10. return detect();
  11. }
  12. static isMobile(){
  13. return mobile();
  14. }
  15. static init() {
  16. const mobile = ihk.isMobile();
  17. const browser = ihk.getBrowser();
  18. const html = $('html');
  19. html.addClass( mobile ? 'mobile' : 'desktop' );
  20. html.attr('data-browser', browser.name);
  21. html.attr('data-os', browser.os);
  22. }
  23. static getUrlVars() {
  24. let vars = {};
  25. window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
  26. vars[key] = value;
  27. });
  28. return vars;
  29. }
  30. static realVH() {
  31. const vh = window.innerHeight * 0.01;
  32. document.documentElement.style.setProperty('--viewport-height', vh + 'px');
  33. let scroller = document.scrollingElement;
  34. // Width of the scrollbar
  35. scroller.style.setProperty('--scrollbar-width', (window.innerWidth - scroller.clientWidth) + 'px');
  36. }
  37. }
  38. ihk.realVH();
  39. $(window).on('resize', function() {
  40. ihk.realVH();
  41. });
  42. $(document).ready(function () {
  43. ihk.init();
  44. $('body').addClass('ready');
  45. // trigger das init event auf der globale jquery instanz so dass es alle modulle mitkriegen (z.B. cookie.js)
  46. //global.$('body').trigger('ihk-init');
  47. UiUtils.initUI();
  48. });