112e0dc636d8ef1ada467bd4a7a68b4362b1b140
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

1) 
2)   function moreForward(e)
3)   {
4)     e.preventDefault();
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

5)     last = [...document.querySelectorAll('div.vmail-forward')].at(-1);
6)     last_id = parseInt(last.id.match(/\d+/g));
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

7)     new_id = ++last_id;
8)  
9)     if (new_id > 50) {
10)       alert("Jetzt wird's merkwürdig. Bitte nutzen Sie eine Mailingliste wenn Sie so viele Empfänger brauchen!");
11)       return;
12)     }
13) 
14) 
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

15)     var clone = last.cloneNode(true);
16)     clone.id = clone.id.replace(/\d+$/, function(str) { return parseInt(str) + 1; }); 
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

17) 
18)     // Find all elements in $clone that have an ID, and iterate using each()
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

19)     clone.querySelectorAll('[id]').forEach(el => { 
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

20)       //Perform the same replace as above
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

21)       el.id = el.id.replace(/\d+$/, function(str) { return parseInt(str) + 1; });
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

22)     });
23)     // Find all elements in $clone that have a name, and iterate using each()
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

24)     clone.querySelectorAll('[name]').forEach(el => { 
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

25)       //Perform the same replace as above
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

26)       el.name = el.name.replace(/\d+$/, function(str) { return parseInt(str) + 1; });
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

27)     });
28) 
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

29)     clone.querySelector('input').value = '';
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

30)     
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

31)     clone.querySelector('div.delete_forward').addEventListener("click", removeForward);
32)     clone.querySelector('input').addEventListener("change", checkForward);
33)     clone.querySelector('input').addEventListener("keyup", checkForward);
34)     clone.querySelector('input').addEventListener("paste", checkForward);
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

35)     
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

36)     last.after(clone);
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

37)   }
38) 
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

39)   function removeForward(ev) 
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

40)   {
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

41)     div = this.closest('div.vmail-forward');
42)     input = div.querySelector('input');
43)     input.value = '';
44)     if ([...document.querySelectorAll('div.vmail-forward')].length > 1) {
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

45)       div.remove();
46)     }
47)   }
48) 
49) 
50)   function removeUnneededForwards() {
51)     // Alle <div> nach dem Element mit der ID vmail_forward_1...
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

52)     document.querySelectorAll('div#vmail_forward_1 ~ div').forEach(el => {
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

53)       // ... die leere Eingabefelder haben ...
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

54)       if (el.querySelector('input').value == '') {
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

55)         // ... werden gelöscht
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

56)         el.remove();
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

57)       }
58)       });
59)   }
60) 
61)   function clearPassword() {
62)     var input = document.getElementById('password');
63)     if (input.value == '**********') {
64)       input.value = '';
65)     }
66)     input.style.color = '#000';
67)     /* FIXME: Keine Ahnung, warum das notwendig ist. Mit dem tut es was es soll.  */
68)     input.focus();
69)   }
70) 
71)   function refillPassword() {
72)     var input = document.getElementById('password');
73)     if (input.value == '') {
74)       input.value = input.defaultValue;
75)     }
76)     if (input.value == '**********') {
77)       input.style.color = '#aaa';
78)     }
79)   }
80) 
81) 
82) function hideOrShowGroup( ev ) {
83)   checkbox = ev.target;
84)   the_id = checkbox.id;
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

85)   checkbox = document.querySelector('#'+the_id)
86)   div = document.querySelector('#'+the_id+'_config')
87)   if (checkbox.checked) {
88)     div.style.display = "";
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

89)   } else {
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

90)     div.style.display = "none";
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

91)   }
92) 
93) }
94) 
95) 
96) function hideUnchecked() {
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

97)   document.querySelectorAll('div.option_group').forEach(index => {
98)     the_id = index.id.replace('_config', '');
99)     checkbox = document.querySelector('#'+the_id)
100)     div = document.querySelector('#'+the_id+'_config')
101)     if (checkbox.checked) {
102)       div.style.display = "";
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

103)     } else {
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

104)       div.style.display = "none";
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

105)     }
106)   });
107) }
108) 
109) 
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

110) function checkForward(ev) {
111)   input = ev.target;
112)   val = input.value;
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

113)   atpos = val.indexOf('@');
114)   dot = val.lastIndexOf('.');
115)   if (atpos < 0 || val.length < atpos + 3 || dot < atpos || dot > val.length - 2) {
116)     return;
117)   }
118)   div = input.closest('div.vmail-forward');
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

119)   // FIXME: Diese Funktion prüft nur und macht nichts
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

120) }
121) 
122) 
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

123) function ar_startdate_changed(e) 
124) {
Bernd Wurst use HTML date input

Bernd Wurst authored 1 year ago

125)       document.querySelector("#ar_enddate").min = document.querySelector("#ar_startdate").value;
126)       startdate = new Date(document.querySelector("#ar_startdate").value)
127)       minenddate = new Date(startdate);
128)       minenddate.setDate(startdate.getDate() + 1);
129)       document.querySelector("#ar_enddate").min = minenddate.toISOString().split("T")[0];
130)       if (document.querySelector("#ar_enddate").value < document.querySelector("#ar_startdate").value) {
131)           document.querySelector("#ar_enddate").value = minenddate.toISOString().split("T")[0];
132)       }
133)       maxenddate = new Date(startdate);
134)       maxenddate.setDate(startdate.getDate() + 60);
135)       document.querySelector("#ar_enddate").max = maxenddate.toISOString().split("T")[0];
Bernd Wurst change checkbox when date s...

Bernd Wurst authored 1 year ago

136) 
137)       document.querySelector("#ar_valid_from_date").checked = true;
Bernd Wurst removed jquery and jqueryUI...

Bernd Wurst authored 1 year ago

138)  }
139) 
140) 
141) 
142) ready(() => {
143)   // Automatisch Sternchen im Passwortfeld eintragen und entfernen
144)   document.querySelector('#password').addEventListener('blur', refillPassword);
145)   document.querySelector('#password').addEventListener('focus',clearPassword);    
146) 
147)   hideUnchecked();
148)   document.querySelectorAll('input.option_group').forEach(el => el.addEventListener("change", hideOrShowGroup));
149) 
150)   removeUnneededForwards();
151)   document.querySelectorAll('div.delete_forward').forEach(el => el.addEventListener("click", removeForward));
152)   document.querySelector('#more_forwards').addEventListener("click", moreForward);
153) 
154)   document.querySelectorAll('div.vmail-forward input').forEach(el => el.addEventListener("change", checkForward));
155)   document.querySelectorAll('div.vmail-forward input').forEach(el => el.addEventListener("keyup", checkForward));
156)   document.querySelectorAll('div.vmail-forward input').forEach(el => el.addEventListener("paste", checkForward));
157)   
158)   document.querySelector("#ar_startdate").addEventListener("change", ar_startdate_changed)
Bernd Wurst Umgestellt auf JQueryUI-Dat...

Bernd Wurst authored 10 years ago

159) 
Bernd Wurst E-Mail-Modul auf JQuery umg...

Bernd Wurst authored 10 years ago

160) });
161)