PageSourceSearch

https://portal.vfp.de/view/core/script/SewobeApplication.js?v=9969191183c863d237269a94d676159a

js vfp.de collected 2026-09-24 21:44:58 UTC 3,181 bytes, 132 lines download raw bytes

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.