@modernman00/shared-js-lib 1.2.41 → 1.2.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/Http.js +66 -70
  2. package/config/version.php +1 -1
  3. package/package.json +1 -1
  4. package/coverage/clover.xml +0 -578
  5. package/coverage/coverage-final.json +0 -16
  6. package/coverage/lcov-report/base.css +0 -224
  7. package/coverage/lcov-report/block-navigation.js +0 -87
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +0 -131
  10. package/coverage/lcov-report/prettify.css +0 -1
  11. package/coverage/lcov-report/prettify.js +0 -2
  12. package/coverage/lcov-report/shared-js-lib/AcctMgt/changePassword.js.html +0 -352
  13. package/coverage/lcov-report/shared-js-lib/AcctMgt/code.js.html +0 -235
  14. package/coverage/lcov-report/shared-js-lib/AcctMgt/forgot.js.html +0 -256
  15. package/coverage/lcov-report/shared-js-lib/AcctMgt/index.html +0 -176
  16. package/coverage/lcov-report/shared-js-lib/AcctMgt/login.js.html +0 -304
  17. package/coverage/lcov-report/shared-js-lib/AcctMgt/loginUtility.js.html +0 -115
  18. package/coverage/lcov-report/shared-js-lib/AcctMgt/processAll.js.html +0 -280
  19. package/coverage/lcov-report/shared-js-lib/Cookie.js.html +0 -250
  20. package/coverage/lcov-report/shared-js-lib/FormHelper.js.html +0 -1057
  21. package/coverage/lcov-report/shared-js-lib/Http.js.html +0 -721
  22. package/coverage/lcov-report/shared-js-lib/Loader.js.html +0 -196
  23. package/coverage/lcov-report/shared-js-lib/ShowResponse.js.html +0 -238
  24. package/coverage/lcov-report/shared-js-lib/Utility.js.html +0 -538
  25. package/coverage/lcov-report/shared-js-lib/UtilityHtml.js.html +0 -685
  26. package/coverage/lcov-report/shared-js-lib/axiosWrapper.js.html +0 -145
  27. package/coverage/lcov-report/shared-js-lib/general.js.html +0 -301
  28. package/coverage/lcov-report/shared-js-lib/index.html +0 -251
  29. package/coverage/lcov-report/shared-js-lib/theAutoComplete.js.html +0 -364
  30. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  31. package/coverage/lcov-report/sorter.js +0 -210
  32. package/coverage/lcov.info +0 -1207
@@ -1,1057 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for shared-js-lib/FormHelper.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">shared-js-lib</a> FormHelper.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/133</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/85</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/26</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/122</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-no">&nbsp;</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
- <span class="cline-any cline-no">&nbsp;</span>
396
- <span class="cline-any cline-no">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-no">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-no">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-no">&nbsp;</span>
420
- <span class="cline-any cline-no">&nbsp;</span>
421
- <span class="cline-any cline-no">&nbsp;</span>
422
- <span class="cline-any cline-no">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-no">&nbsp;</span>
425
- <span class="cline-any cline-no">&nbsp;</span>
426
- <span class="cline-any cline-no">&nbsp;</span>
427
- <span class="cline-any cline-no">&nbsp;</span>
428
- <span class="cline-any cline-no">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-no">&nbsp;</span>
433
- <span class="cline-any cline-no">&nbsp;</span>
434
- <span class="cline-any cline-no">&nbsp;</span>
435
- <span class="cline-any cline-no">&nbsp;</span>
436
- <span class="cline-any cline-no">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-no">&nbsp;</span>
441
- <span class="cline-any cline-no">&nbsp;</span>
442
- <span class="cline-any cline-no">&nbsp;</span>
443
- <span class="cline-any cline-no">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-no">&nbsp;</span>
450
- <span class="cline-any cline-no">&nbsp;</span>
451
- <span class="cline-any cline-no">&nbsp;</span>
452
- <span class="cline-any cline-no">&nbsp;</span>
453
- <span class="cline-any cline-no">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-no">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-no">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-no">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-no">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-no">&nbsp;</span>
489
- <span class="cline-any cline-no">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-no">&nbsp;</span>
492
- <span class="cline-any cline-no">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-no">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-no">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-no">&nbsp;</span>
507
- <span class="cline-any cline-no">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-no">&nbsp;</span>
511
- <span class="cline-any cline-no">&nbsp;</span>
512
- <span class="cline-any cline-no">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-no">&nbsp;</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
518
- <span class="cline-any cline-no">&nbsp;</span>
519
- <span class="cline-any cline-no">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-no">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-no">&nbsp;</span>
530
- <span class="cline-any cline-no">&nbsp;</span>
531
- <span class="cline-any cline-no">&nbsp;</span>
532
- <span class="cline-any cline-no">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-no">&nbsp;</span>
546
- <span class="cline-any cline-no">&nbsp;</span>
547
- <span class="cline-any cline-no">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-no">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-no">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-no">&nbsp;</span>
566
- <span class="cline-any cline-no">&nbsp;</span>
567
- <span class="cline-any cline-no">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-no">&nbsp;</span>
571
- <span class="cline-any cline-no">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-no">&nbsp;</span>
574
- <span class="cline-any cline-no">&nbsp;</span>
575
- <span class="cline-any cline-no">&nbsp;</span>
576
- <span class="cline-any cline-no">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
581
- <span class="cline-any cline-no">&nbsp;</span>
582
- <span class="cline-any cline-no">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
- <span class="cline-any cline-no">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-no">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-no">&nbsp;</span>
611
- <span class="cline-any cline-no">&nbsp;</span>
612
- <span class="cline-any cline-no">&nbsp;</span>
613
- <span class="cline-any cline-no">&nbsp;</span>
614
- <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-no">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-no">&nbsp;</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-no">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-no">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-no">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-no">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-no">&nbsp;</span>
656
- <span class="cline-any cline-no">&nbsp;</span>
657
- <span class="cline-any cline-no">&nbsp;</span>
658
- <span class="cline-any cline-no">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-no">&nbsp;</span>
675
- <span class="cline-any cline-no">&nbsp;</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-no">&nbsp;</span>
679
- <span class="cline-any cline-no">&nbsp;</span>
680
- <span class="cline-any cline-no">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-no">&nbsp;</span>
684
- <span class="cline-any cline-no">&nbsp;</span>
685
- <span class="cline-any cline-no">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-no">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-no">&nbsp;</span>
700
- <span class="cline-any cline-no">&nbsp;</span>
701
- <span class="cline-any cline-no">&nbsp;</span>
702
- <span class="cline-any cline-no">&nbsp;</span>
703
- <span class="cline-any cline-no">&nbsp;</span>
704
- <span class="cline-any cline-no">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-no">&nbsp;</span>
709
- <span class="cline-any cline-no">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
715
- export default class FormHelper {
716
- <span class="fstat-no" title="function not covered" > co</span>nstructor(data) {
717
- <span class="cstat-no" title="statement not covered" > if (!Array.isArray(data)) <span class="cstat-no" title="statement not covered" >throwError('data must be an array of form elements');</span></span>
718
- <span class="cstat-no" title="statement not covered" > this.data = data;</span>
719
- <span class="cstat-no" title="statement not covered" > this.error = [];</span>
720
- <span class="cstat-no" title="statement not covered" > this.result = 0;</span>
721
- }
722
- &nbsp;
723
- <span class="fstat-no" title="function not covered" > id</span>(x) {
724
- <span class="cstat-no" title="statement not covered" > return document.getElementById(x);</span>
725
- }
726
- &nbsp;
727
- /**
728
- * general validation; check empty status, at least a single input, mobile length, white space
729
- */
730
- &nbsp;
731
- <span class="fstat-no" title="function not covered" > ge</span>tData() {
732
- <span class="cstat-no" title="statement not covered" > return this.data;</span>
733
- }
734
- &nbsp;
735
- &nbsp;
736
- /**
737
- * Validate a single form field
738
- * @param {string} value - the value of the field to validate
739
- * @param {string} [type='general'] - the type of validation to perform. Currently only 'email' is supported
740
- * @returns {boolean} - true if the field is valid, false otherwise
741
- */
742
- <span class="fstat-no" title="function not covered" > va</span>lidateLoginField(inputId, type = <span class="branch-0 cbranch-no" title="branch not covered" >'general')</span> {
743
- const inputEl = <span class="cstat-no" title="statement not covered" >this.id(inputId);</span>
744
- const value = <span class="cstat-no" title="statement not covered" >inputEl.value.trim();</span>
745
- let msg = <span class="cstat-no" title="statement not covered" >'';</span>
746
- let isValid = <span class="cstat-no" title="statement not covered" >true;</span>
747
- &nbsp;
748
- <span class="cstat-no" title="statement not covered" > if (type === 'email') {</span>
749
- const emailRegex = <span class="cstat-no" title="statement not covered" >/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/;</span>
750
- <span class="cstat-no" title="statement not covered" > if (!emailRegex.test(value)) {</span>
751
- <span class="cstat-no" title="statement not covered" > msg = '&lt;li&gt;Please enter a valid email&lt;/li&gt;';</span>
752
- <span class="cstat-no" title="statement not covered" > isValid = false;</span>
753
- }
754
- }
755
- &nbsp;
756
- else <span class="cstat-no" title="statement not covered" >if (type === 'password') {</span>
757
- const passwordRegex = <span class="cstat-no" title="statement not covered" >/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/;</span>
758
- <span class="cstat-no" title="statement not covered" > if (!passwordRegex.test(value)) {</span>
759
- <span class="cstat-no" title="statement not covered" > msg = '&lt;li&gt;Please enter a valid password (min 8 chars, upper &amp; lowercase, number, special char)&lt;/li&gt;';</span>
760
- <span class="cstat-no" title="statement not covered" > isValid = false;</span>
761
- }
762
- }
763
- &nbsp;
764
- else <span class="cstat-no" title="statement not covered" >if (type === 'general') {</span>
765
- const generalRegex = <span class="cstat-no" title="statement not covered" >/[\w\d\s.,'"!?@#&amp;()\-]/;</span>
766
- <span class="cstat-no" title="statement not covered" > if (!generalRegex.test(value)) {</span>
767
- <span class="cstat-no" title="statement not covered" > msg = '&lt;li&gt;Invalid entry — special characters may not be allowed&lt;/li&gt;';</span>
768
- <span class="cstat-no" title="statement not covered" > isValid = false;</span>
769
- }
770
- }
771
- &nbsp;
772
- // Set error if invalid
773
- const errorEl = <span class="cstat-no" title="statement not covered" >this.id(`${type}_error`);</span>
774
- <span class="cstat-no" title="statement not covered" > if (!isValid) {</span>
775
- <span class="cstat-no" title="statement not covered" > if (errorEl) {</span>
776
- <span class="cstat-no" title="statement not covered" > errorEl.innerHTML = msg;</span>
777
- <span class="cstat-no" title="statement not covered" > errorEl.style.color = 'red';</span>
778
- }
779
- <span class="cstat-no" title="statement not covered" > this.error.push(msg);</span>
780
- } else {
781
- <span class="cstat-no" title="statement not covered" > if (errorEl) <span class="cstat-no" title="statement not covered" >errorEl.innerHTML = ''; </span></span>// Clear error on success
782
- }
783
- &nbsp;
784
- <span class="cstat-no" title="statement not covered" > return isValid;</span>
785
- }
786
- &nbsp;
787
- &nbsp;
788
- <span class="fstat-no" title="function not covered" > ma</span>tchRegex(value, type) {
789
- const regexPatterns = <span class="cstat-no" title="statement not covered" >{</span>
790
- email: /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/,
791
- password: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/,
792
- general: /[\w\d\s.,'"!?@#&amp;()\-]/,
793
- };
794
- &nbsp;
795
- <span class="cstat-no" title="statement not covered" > return regexPatterns[type]?.test(value);</span>
796
- }
797
- &nbsp;
798
- /**
799
- *
800
- * @param {*} optionalFields ["spouseName", "spouseMobile", "fatherEmail"];
801
- * @param {*} typeMap Create a validation map if certain fields need special types (email, password, etc). const types = {
802
- email: "email",
803
- password: "password",
804
- custom_text: "general"
805
- };
806
- * formHelper.massValidate(optional, types);
807
- */
808
- &nbsp;
809
- &nbsp;
810
- &nbsp;
811
- <span class="fstat-no" title="function not covered" > ma</span>ssValidate(optionalFields = <span class="branch-0 cbranch-no" title="branch not covered" >[],</span> typeMap = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
812
- <span class="cstat-no" title="statement not covered" > this.clearError(); </span>// Reset errors
813
- <span class="cstat-no" title="statement not covered" > this.result = 0;</span>
814
- &nbsp;
815
- <span class="cstat-no" title="statement not covered" > for (let input of this.data) {</span>
816
- const { name, value, id, type, placeholder } = <span class="cstat-no" title="statement not covered" >input;</span>
817
-
818
- &nbsp;
819
- // Skip non-input elements
820
- <span class="cstat-no" title="statement not covered" > if (</span>
821
- ['submit', 'button', 'g-recaptcha-response', 'cancel'].includes(name) ||
822
- ['button', 'showPassword', 'token', 'g-recaptcha-response'].includes(id) ||
823
- type === 'button' ||
824
- id === 'checkbox'
825
- ) <span class="cstat-no" title="statement not covered" >continue;</span>
826
- &nbsp;
827
-
828
-
829
-
830
- const errorEl = <span class="cstat-no" title="statement not covered" >this.id(`${id}_error`);</span>
831
- let val = <span class="cstat-no" title="statement not covered" >value.trim();</span>
832
- &nbsp;
833
- // Handle optional fields
834
- <span class="cstat-no" title="statement not covered" > if (optionalFields.includes(id) &amp;&amp; val === '') {</span>
835
- <span class="cstat-no" title="statement not covered" > input.value = 'Not Provided';</span>
836
- <span class="cstat-no" title="statement not covered" > continue;</span>
837
- }
838
- &nbsp;
839
- // Required field check
840
- <span class="cstat-no" title="statement not covered" > if (val === '' || val === 'select') {</span>
841
- <span class="cstat-no" title="statement not covered" > if (errorEl) <span class="cstat-no" title="statement not covered" >errorEl.innerHTML = `&lt;li style="color:red;"&gt;${id} cannot be left empty.&lt;/li&gt;`;</span></span>
842
- <span class="cstat-no" title="statement not covered" > this.error.push(`${id.toUpperCase()} cannot be left empty.`);</span>
843
- <span class="cstat-no" title="statement not covered" > continue;</span>
844
- }
845
- &nbsp;
846
- // Determine field type for regex
847
- let validateType = <span class="cstat-no" title="statement not covered" >typeMap[id] || (</span>
848
- id.toLowerCase().includes('email') ? 'email' :
849
- id.toLowerCase().includes('password') ? 'password' : 'general'
850
- );
851
- &nbsp;
852
- <span class="cstat-no" title="statement not covered" > if (!this.matchRegex(val, validateType)) {</span>
853
- const msg = <span class="cstat-no" title="statement not covered" >`There is a problem with your entry for ${id.toUpperCase()}`;</span>
854
- <span class="cstat-no" title="statement not covered" > if (errorEl) <span class="cstat-no" title="statement not covered" >errorEl.innerHTML = `&lt;li style="color:red;"&gt;${msg}&lt;/li&gt;`;</span></span>
855
- <span class="cstat-no" title="statement not covered" > this.error.push(msg);</span>
856
- <span class="cstat-no" title="statement not covered" > continue;</span>
857
- }
858
- &nbsp;
859
- <span class="cstat-no" title="statement not covered" > if (errorEl) <span class="cstat-no" title="statement not covered" >errorEl.innerHTML = ''; </span></span>// Clear if all good
860
- }
861
- &nbsp;
862
- <span class="cstat-no" title="statement not covered" > this.result = this.error.length === 0 ? 1 : 0;</span>
863
- }
864
- &nbsp;
865
- &nbsp;
866
- &nbsp;
867
- <span class="fstat-no" title="function not covered" > em</span>ailVal() {
868
- const emailExp = <span class="cstat-no" title="statement not covered" >/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;</span>
869
- let msg = <span class="cstat-no" title="statement not covered" >'&lt;li style=color:\'red\';&gt; Please enter a valid email&lt;/li&gt;';</span>
870
- const email = <span class="cstat-no" title="statement not covered" >this.id('email').value;</span>
871
- <span class="cstat-no" title="statement not covered" > if (email.match(emailExp) === null) {</span>
872
- <span class="cstat-no" title="statement not covered" > this.id('email_error').innerHTML = msg;</span>
873
- <span class="cstat-no" title="statement not covered" > this.id('email_error').style.color = 'red';</span>
874
- <span class="cstat-no" title="statement not covered" > this.error.push(msg);</span>
875
- }
876
- }
877
- &nbsp;
878
- /**
879
- * Clears all error messages and empties the error array.
880
- * Sets up event listeners to clear error messages for each input element.
881
- * Keyup event listener: for non-select inputs
882
- * Change event listener: for all inputs
883
- * @returns {void}
884
- */
885
- <span class="fstat-no" title="function not covered" > cl</span>earError() {
886
- <span class="cstat-no" title="statement not covered" > this.error = []; </span>// Empty the error array
887
- &nbsp;
888
- // Function to clear error messages for a given input element
889
- const clearErrorForElement = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(e</span>lementName) =&gt; {</span>
890
- const errorElement = <span class="cstat-no" title="statement not covered" >this.id(`${elementName}_error`);</span>
891
- <span class="cstat-no" title="statement not covered" > if (errorElement) <span class="cstat-no" title="statement not covered" >errorElement.innerHTML = '';</span></span>
892
- };
893
- &nbsp;
894
- <span class="cstat-no" title="statement not covered" > this.data.flat().forEach(<span class="fstat-no" title="function not covered" >({</span> id, name, value }) =&gt; {</span>
895
- <span class="cstat-no" title="statement not covered" > if (['submit', 'button', 'token', 'checkbox'].includes(id) || ['token', 'submit'].includes(name)) <span class="cstat-no" title="statement not covered" >return;</span></span>
896
- &nbsp;
897
- const element = <span class="cstat-no" title="statement not covered" >this.id(id);</span>
898
- <span class="cstat-no" title="statement not covered" > if (!element) {</span>
899
- <span class="cstat-no" title="statement not covered" > console.error(`Element with ID '${id}' and post name '${name}' not found.`);</span>
900
- <span class="cstat-no" title="statement not covered" > return;</span>
901
- }
902
- &nbsp;
903
- // Add event listeners to clear errors
904
- const clearErrorHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >clearErrorForElement(id || name);</span></span>
905
- <span class="cstat-no" title="statement not covered" > if (value !== 'select') <span class="cstat-no" title="statement not covered" >element.addEventListener('keyup', clearErrorHandler);</span></span>
906
- <span class="cstat-no" title="statement not covered" > element.addEventListener('change', clearErrorHandler);</span>
907
- });
908
- }
909
- &nbsp;
910
- /**
911
- * Clears the values of all input elements in the form, excluding checkboxes and the submit button
912
- */
913
- <span class="fstat-no" title="function not covered" > cl</span>earHtml() {
914
- <span class="cstat-no" title="statement not covered" > this.data.flat().forEach(<span class="fstat-no" title="function not covered" >po</span>st =&gt; {</span>
915
- <span class="cstat-no" title="statement not covered" > if (!['submit', 'checkbox'].includes(post.name) &amp;&amp; post.type !== 'submit') {</span>
916
- <span class="cstat-no" title="statement not covered" > post.value = '';</span>
917
- }
918
- });
919
- }
920
- /**
921
- * Check the length of the input in real time and display an error message if it exceeds the maximum length
922
- * @param {array of strings} input - the IDs of the input elements to check
923
- * @param {array of numbers} maxi - the maximum lengths for each input element
924
- */
925
- &nbsp;
926
- <span class="fstat-no" title="function not covered" > re</span>alTimeCheckLen(input, maxi) {
927
- <span class="cstat-no" title="statement not covered" > input.forEach(<span class="fstat-no" title="function not covered" >(i</span>d, i) =&gt; {</span>
928
- &nbsp;
929
- const theData = <span class="cstat-no" title="statement not covered" >this.id(`${id}`);</span>
930
- <span class="cstat-no" title="statement not covered" > if (!theData) {</span>
931
- <span class="cstat-no" title="statement not covered" > console.error(`Element with ID '${id}' not found`);</span>
932
- <span class="cstat-no" title="statement not covered" > return;</span>
933
- }
934
- const max = <span class="cstat-no" title="statement not covered" >maxi[i];</span>
935
- <span class="cstat-no" title="statement not covered" > theData.maxLength = parseInt(max) + 1;</span>
936
- <span class="cstat-no" title="statement not covered" > theData.addEventListener('input', <span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
937
- const error = <span class="cstat-no" title="statement not covered" >this.id(`${id}_error`);</span>
938
- <span class="cstat-no" title="statement not covered" > error.innerHTML = (theData.value.length &gt; max) ? 'You have reached the maximum limit' : '';</span>
939
- <span class="cstat-no" title="statement not covered" > this.id(`${id}_help`).style.display = theData.value.length &gt; max ? '' : 'none';</span>
940
- });
941
- });
942
- }
943
- &nbsp;
944
- &nbsp;
945
- &nbsp;
946
- /**
947
- * Match the value of the second input to the value of the first input in real time
948
- * @param {string} first - the id of the first input
949
- * @param {string} second - the id of the second input
950
- */
951
- <span class="fstat-no" title="function not covered" > ma</span>tchInput(first, second) {
952
- const firstInput = <span class="cstat-no" title="statement not covered" >this.id(first + '');</span>
953
- const secondInput = <span class="cstat-no" title="statement not covered" >this.id(second + '');</span>
954
- const error = <span class="cstat-no" title="statement not covered" >this.id(`${second}_error`);</span>
955
- &nbsp;
956
- const checkMatch = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >error.innerHTML = (firstInput.value !== secondInput.value) ? 'Your passwords do not match' : '';</span></span>
957
- &nbsp;
958
- <span class="cstat-no" title="statement not covered" > firstInput.addEventListener('input', checkMatch);</span>
959
- <span class="cstat-no" title="statement not covered" > secondInput.addEventListener('input', checkMatch);</span>
960
- }
961
- &nbsp;
962
- &nbsp;
963
- /**
964
- * Injects the values in the html array to the elements with the IDs in the idArray
965
- * @param {array of strings} idArray - the IDs of the elements to inject the values to
966
- * @param {array of strings} html - the values to inject to the elements
967
- */
968
- <span class="fstat-no" title="function not covered" > in</span>jectData(idArray, html) {
969
- <span class="cstat-no" title="statement not covered" > idArray.forEach(<span class="fstat-no" title="function not covered" >(i</span>d, i) =&gt; <span class="cstat-no" title="statement not covered" >this.id(id).innerHTML = html[i])</span>;</span>
970
- }
971
- &nbsp;
972
- /**
973
- *
974
- * @param {this is an id and its value is for duplication} firstInput
975
- * @param {* another id that accepts the value of the firstInput} takeFirstInput
976
- */
977
- <span class="fstat-no" title="function not covered" > du</span>plicate(giveInput, takeInput) {
978
- let giver, taker;
979
- <span class="cstat-no" title="statement not covered" > giver = this.id(giveInput);</span>
980
- <span class="cstat-no" title="statement not covered" > taker = this.id(takeInput);</span>
981
- <span class="cstat-no" title="statement not covered" > giver.addEventListener('keyup', <span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
982
- <span class="cstat-no" title="statement not covered" > taker.value = giver.value;</span>
983
- });
984
- }
985
- &nbsp;
986
- &nbsp;
987
- &nbsp;
988
- &nbsp;
989
- /**
990
- * Sends a get request to the server as the user types in the specified input element
991
- * and updates the content of the specified output element with the response from the server
992
- * @param {string} input - the id of the input element to listen to
993
- * @param {string} url - the url of the get request to send, the value of the input element will be appended to the end of the url
994
- * @param {string} outputId - the id of the element to update with the response from the server
995
- */
996
- <span class="fstat-no" title="function not covered" > re</span>alTimeServer(input, url, outputId) {
997
- const theInput = <span class="cstat-no" title="statement not covered" >this.id(input);</span>
998
- const output = <span class="cstat-no" title="statement not covered" >this.id(outputId);</span>
999
- <span class="cstat-no" title="statement not covered" > theInput.addEventListener('keyup', <span class="fstat-no" title="function not covered" >as</span>ync () =&gt; {</span>
1000
- const inputVal = <span class="cstat-no" title="statement not covered" >theInput.value;</span>
1001
- &nbsp;
1002
- <span class="cstat-no" title="statement not covered" > if (inputVal === '') {</span>
1003
- <span class="cstat-no" title="statement not covered" > output.innerHTML = '';</span>
1004
- <span class="cstat-no" title="statement not covered" > return;</span>
1005
- }
1006
- &nbsp;
1007
- <span class="cstat-no" title="statement not covered" > try {</span>
1008
- const response = <span class="cstat-no" title="statement not covered" >await axios.get(`${url}=${inputVal}`);</span>
1009
- <span class="cstat-no" title="statement not covered" > output.innerHTML = response.data;</span>
1010
- } catch (error) {
1011
- <span class="cstat-no" title="statement not covered" > console.error(error);</span>
1012
- }
1013
- });
1014
- }
1015
- &nbsp;
1016
- /**
1017
- * Check if a yes/no radio button is checked and display "checked" in a hidden input field.
1018
- * @param {string} yesId - the id of the yes radio button
1019
- * @param {string} noId - the id of the no radio button
1020
- * @param {string} hiddenInput - the id of the hidden input field to display the result
1021
- */
1022
- <span class="fstat-no" title="function not covered" > is</span>Checked(yesId, noId, hiddenInput) {
1023
- const checked = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1024
- <span class="cstat-no" title="statement not covered" > if (this.id(yesId).checked) {</span>
1025
- <span class="cstat-no" title="statement not covered" > alert('check');</span>
1026
- <span class="cstat-no" title="statement not covered" > this.id(hiddenInput).innerHTML = 'checked';</span>
1027
- } else <span class="cstat-no" title="statement not covered" >if (this.id(noId).checked) {</span>
1028
- <span class="cstat-no" title="statement not covered" > this.id(hiddenInput).innerHTML = 'checked';</span>
1029
- }
1030
- };
1031
- &nbsp;
1032
- <span class="cstat-no" title="statement not covered" > this.id(yesId).addEventListener('click', checked);</span>
1033
- <span class="cstat-no" title="statement not covered" > this.id(noId).addEventListener('click', checked);</span>
1034
- &nbsp;
1035
- }
1036
- &nbsp;
1037
- &nbsp;
1038
- }</pre></td></tr></table></pre>
1039
-
1040
- <div class='push'></div><!-- for sticky footer -->
1041
- </div><!-- /wrapper -->
1042
- <div class='footer quiet pad2 space-top1 center small'>
1043
- Code coverage generated by
1044
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1045
- at 2025-09-06T16:59:45.135Z
1046
- </div>
1047
- <script src="../prettify.js"></script>
1048
- <script>
1049
- window.onload = function () {
1050
- prettyPrint();
1051
- };
1052
- </script>
1053
- <script src="../sorter.js"></script>
1054
- <script src="../block-navigation.js"></script>
1055
- </body>
1056
- </html>
1057
-