1var SewobeApplication = function (el) { 2 this.initialize(el); 3} 4 5SewobeApplication.prototype = { 6 7 // Constants 8 constants: { 9 BREAKPOINT_MOBILE: 600, 10 BREAKPOINT_COMPACT: 1024 11 }, 12 13 // Elements 14 el: null, 15 16 // Initializable Objects 17 messagePopup: null, 18 responsiveForms: [], 19 boxLists: [], 20 header: null, 21 22 initialize: function (el) { 23 Object.freeze(this.constants); 24 var _this = this; 25 this.el = el; 26 var $el = $(this.el); 27 28 this.header = new SewobeHeader($el.find('#sewobe-header')); 29 30 /* Uncomment this, when Ticket Messages are implemented 31 this.messagePopup = new SewobeMessagePopup($el.find('.action-message')); 32 */ 33 34 $el.find('.box-list').each(function() { 35 _this.boxLists.push(new SewobeBoxlist(this)); 36 }); 37 38 $(window).on('resize', this.onWindowResize.bind(this)); 39 40 //$el.find('a[data-target=overlay]').each(function() { 41 // var $this = $(this); 42 // $this.on("click", _this.onOverlayLinksClick.bind(this)); 43 //}); 44 45 $el.find('[data-submitonchange=true]').each(function() { 46 new SewobeAutosubmitForm(this); 47 }); 48 49 $el.find('.sewobe-accordion-list').each(function() { 50 new SewobeAccordionList(this); 51 }); 52 53 $el.find('.conditional-fieldset').each(function() { 54 new SewobeConditionalFieldset(this); 55 }); 56 57 $el.find('.faq-actions').each(function() { 58 new SewobeFAQLikeActions(this); 59 }); 60 61 // $('#sewobe-main').each(function() { 62 // var $this = $(this); 63 // var $contentEl = $this.children('.content'); 64 // if ($contentEl.find('.view-footer').length) { 65 // var $viewFooter = $contentEl.find('.view-footer'); 66 // $contentEl.css({ 67 // paddingBottom: $viewFooter.outerHeight() + 12 68 // }).addClass('has-view-footer'); 69 // } 70 // }); 71 72 $('#status:not(.confirm)').each(function() { 73 new SewobeNotification(this); 74 }); 75 76 this.updateLayout(); 77 }, 78 79 //onOverlayLinksClick: function (e) { 80 // 2016-08-30 ST: Auskommentiert, da nicht kompatibel mit Messenger-Anforderungen / muss in neuem Fenster geöffnet werden 81 //if (e.preventDefault) { 82 // e.preventDefault(); 83 //} else { 84 // e.returnValue = false; 85 //} 86 87 //var overlay = new SewobeOverlay(); 88 //overlay.loadFromUrl($(this).attr('href')); 89 //overlay.setTitle($(this).attr('data-title')); 90 //window.setTimeout(function() { overlay.open(); }, 10); 91 //}, 92 93 onWindowResize: function(e) { 94 this.updateLayout(); 95 }, 96 97 setLayout: function(newState) { 98 if (newState == $(this.el).attr('data-layout')) { 99 return; 100 } else { 101 $(this.el).attr('data-layout', newState); 102 $(this).trigger('layout-change'); 103 } 104 }, 105 106 updateLayout: function() { 107 var _this = this; 108 if ($(window).width() < this.constants.BREAKPOINT_MOBILE) { 109 this.setLayout('mobile'); 110 } else if ( $(window).width() < this.constants.BREAKPOINT_COMPACT ) { 111 this.setLayout('compact'); 112 } else { 113 this.setLayout('default'); 114 } 115 $('.action-bar.bottom').each(function() { 116 var $this = $(this); 117 $this.addClass('fixed'); 118 119 $('#sewobe-main').css({ 120 paddingBottom: $this.outerHeight(true) 121 }); 122 }); 123 }, 124 125 checkCompatibilities: function() { 126 if ('ontouchstart' in document.documentElement) { 127 $(this.el).addClass('touch'); 128 } else { 129 $(this.el).removeClass('touch'); 130 } 131 } 132}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.