PageSourceSearch

https://www.stadtwerk-am-see.de/de/static/js/HRSysLib/Hilfsfunktionen/OOPLib.js?nc=1790923960777

js stadtwerk-am-see.de collected 2026-10-04 00:25:33 UTC 4,140 bytes, 134 lines download raw bytes

1/**
2 * Methode zum ermöglichen einer Vererbung in JavaScript
3 * @param {Object} subClass
4 * @param {Object} superClass
5 */
6function extend(subClass, superClass) 
7{
8  var F = function() {};                                 // leere Funktion / Objekt / Klasse(?) erstellen
9  F.prototype = superClass.prototype;                    // neues Klassenobjekt zeigt mit prototype-Attribut auf die Superklasse
10  subClass.prototype = new F();                          // Subklasse zeigt auf neue Instanz von neuer Klasse
11  subClass.prototype.constructor = subClass;             // Subklassen-Konstruktor zeigt auf Subklasse (welche letztlich eine Konstruktor-Funktion ist)
12
13   subClass.superclass = superClass.prototype;           // Subklasse referenziert Superklasse über das superclass-Attribut. Damit ist es auch möglich bereits überschriebene Methoden aus der Superklasse zu erreichen.
14   if(superClass.prototype.constructor == Object.prototype.constructor) {
15      superClass.prototype.constructor = superClass;
16  }
17};
18
19// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // 
20// Erweiterungen von bestehenden Klassen/Objekten/Strukturen
21// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
22
23/**
24 * Erweitert das Array-Objekt um eine Methode zum Löschen 
25 * 
26 * @param {Object} from
27 * @param {Object} to
28 */
29Array.prototype.remove = function(from, to) 
30{
31  try
32  {
33     var rest = this.slice((to || from) + 1 || this.length);
34     this.length = from < 0 ? this.length + from : from;
35     return this.push.apply(this, rest);
36  }
37  catch (e)
38  {
39     return null;
40  }
41};
42
43
44/**
45 * Erweitert das Array-Objekt um eine Methode zum Löschen 
46 * 
47 * @param object Das Object was gelöscht werden soll
48 * @return The removed item.
49 */
50Array.prototype.removeObject = function (object) 
51{
52    this.removeAt(this.indexOf(object));    
53    return object;
54};
55
56/**
57 * Erweitert das Array-Objekt um eine Methode zum Löschen 
58 * @param index Der Index des Objekts welches gelöscht werden soll.
59 * @return The removed item.
60 */
61Array.prototype.removeAt = function (index)
62{
63    var object = this[index];
64    if (object) 
65	 {
66        this.splice(index, 1);
67    }
68    return object;
69}; 
70
71/**
72 * Erweitert das Array-Objekt um eine Methode zum Einfügen.
73 * Ein Element kann vor einem anderen Element in einem Array eingefügt werden.
74 * @param {Object} elementToInsertBefore
75 * @param {Object} element
76 */
77Array.prototype.insertBefore = function(elementToInsertBefore, element)
78{
79	var index = this.indexOf(elementToInsertBefore);
80	if(index > -1)
81      this.insertAt(index,element);	
82}
83
84/**
85 * Erweitert das Array-Objekt um eine Methode zum Einfügen.
86 * Ein Element kann vor einem anderen Element in einem Array eingefügt werden.
87 * @param {Object} elementToInsertAfter
88 * @param {Object} element
89 */
90Array.prototype.insertAfter = function(elementToInsertAfter, element)
91{
92	var index = this.indexOf(elementToInsertAfter);
93   if(index > -1)
94	  this.insertAt(index+1,element);
95}
96
97/**
98 * Erweitert das Array-Objekt um eine Methode zum Einfügen.
99 * Fügt ein Element in einem Array an der übergebenen Index ein
100 * @param {Object} index
101 * @param {Object} element
102 */
103Array.prototype.insertAt = function (index, element) 
104{
105    this.splice(index, 0, element);
106};
107
108if(!Array.indexOf)
109{
110	/**
111	 * Im Mozilla 1.8 gibt es diese Funktion bereits, deshalb befindet sich die Methoden-Deklaration 
112	 * in einem if-Konstrukt. 
113	 * Gibt den ersten Index zurück an der das übergebene Objekt gefunden wurde.
114	 * @param object 
115	 * @param startIndex Optionaler Index-Parameter. Ab diesem Index wird die Suche begonnen. 
116	 * @return Gibt -1 zurück wenn das Objekt nicht gefunden wurde.
117	 */
118	Array.prototype.indexOf = function(object , startIndex )
119	{
120	    if(startIndex == null) 
121		 {
122	        startIndex = 0;
123	    }
124	    
125	    for(var i=startIndex, l=this.length; i < l; i++) 
126		 {
127	        if(this[i] == object) 
128			  {
129	            return i;
130	        }
131	    }
132	    return -1;
133	};
134};

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.