1/****************************************************************** 2 Licensed Materials - Property of HCL 3 4 5698-WSE 5 (C) Copyright HCL Technologies Ltd. 2019 All rights reserved. 6 7 *******************************************************************/ 8if (!hcl_modules ) { 9 var hcl_modules = {}; 10} 11hcl_modules["submitFormView"] = (function($) { 12 'use strict'; 13 14 var tracer = hcl_modules["Tracer"]("js.view.submitFormView"); 15 var trace = function(msg){ 16 tracer.info(msg); 17 }; 18 19 var viewName = "submitFormView"; 20 21 function init(params) { 22 trace("init"); 23 $('#main').append('<section id ="submit-form-container"></section> '); 24 _buildView(); 25 26 }; 27 28 function scrollTopDetail() { 29 30 window.scrollTo(0, 0); 31 32 $(".submitFormView").fadeIn('fast'); 33 }; 34 35 36 function _buildView(){ 37 trace("buildView"); 38 var submitClass = "box-text-sizing"; 39 if(isFromIE11()){ 40 submitClass = "box-text-sizing-ie11"; 41 } 42 $( "#submit-form-container" ).append('<div class="container-fluid submitFormView view" style="min-height:400px">'+ 43 ' <div class="row d-flex justify-content-center" >'+ 44 ' <div class="col-sm-12 blue-banner">'+ 45 ' <div class="'+submitClass+'" style="clear:both;text-align:center">' + 46 ' <div class="paragraph_title paragraph_title-white">'+ Config.labels.LBL_READY +'</div>'+ 47 ' </div>'+ 48 ' </div>'+ 49 ' </div>'+ 50 ' <div class="row d-flex justify-content-center" >'+ 51 ' <div class="col-sm-5">'+ 52 ' <div style="margin:30px 40px 40px 50px;clear:both" class="mp-list">' + 53 ' <div class="paragraph_title">'+ Config.labels.SUBMITFORM_TITLE +'</div>'+ 54 ' <div class="spacer"></div>'+ 55 Config.labels.SUBMITFORM_BODY + 56 ' <img src="images/schedule_demo.png">'+ 57 ' </div>'+ 58 ' </div>' + 59 ' <div class="col-sm-7">'+ 60 ' <div class="d-flex-none justify-content-center mail-spinner" style="display:none;margin-top:30%">'+ 61 ' <div class="spinner-grow text-primary" role="status">'+ 62 ' <span class="sr-only">'+Config.labels.LBL_LOADING +'</span>'+ 63 ' </div>'+ 64 ' </div>'+ 65 ' <div class="card mcard shadow" style="width:90%" id="addPluginMail">'+ 66 ' <div class="card-body ">'+ 67 68 //' <form class="needs-validation" novalidate id="opensourceForm" action="sendMail" method="get">'+ 69 ' <form class="needs-validation" novalidate id="opensourceForm" >'+ 70 ' <div class="row">'+ 71 ' <div class="col">'+ 72 ' <div class="form-group">'+ 73 ' <label for="githubUrl" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_GITHUB +'</label>'+ 74 ' <input type="url" class="form-control form-control-lg " id="githubUrl" placeholder="'+ Config.labels.SUBMITFORM_P_GITHUB +'" name="githubUrl" required>'+ 75 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 76 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 77 ' </div>'+ 78 ' </div>'+ 79 ' </div>'+ 80 ' <div class="row">'+ 81 ' <div class="col">'+ 82 ' <div class="form-group">'+ 83 ' <label for="pluginName" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_PNAME +'</label>'+ 84 ' <input type="text" class="form-control form-control-lg" id="pluginName" placeholder="'+ Config.labels.SUBMITFORM_P_PNAME +'" name="pluginName" required>'+ 85 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 86 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 87 ' </div>'+ 88 ' </div>'+ 89 ' </div>'+ 90 ' <div class="row">'+ 91 ' <div class="col">'+ 92 ' <div class="form-group">'+ 93 ' <label for="name" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_VERSION +'</label>'+ 94 ' <input type="text" class="form-control form-control-lg" id="version" placeholder="'+ Config.labels.SUBMITFORM_P_VERSION +'" name="version" required>'+ 95 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 96 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 97 ' </div>'+ 98 ' </div>'+ 99 ' </div>'+ 100 ' <div class="row">'+ 101 ' <div class="col">'+ 102 ' <div class="form-group">'+ 103 ' <label for="shortDescription" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_SDESCRIPTION +'</label>'+ 104 ' <textarea class="form-control form-control-lg" rows="3" id="shortDescription" placeholder="'+ Config.labels.SUBMITFORM_P_SDESCRIPTION +'" required name="shortDescription"></textarea>'+ 105 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 106 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 107 ' </div>'+ 108 ' </div>'+ 109 ' </div>'+ 110 ' <div class="row">'+ 111 ' <div class="col">'+ 112 ' <div class="form-group">'+ 113 ' <label for="generalDescription" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_GDESCRIPTION +'</label>'+ 114 ' <textarea class="form-control form-control-lg" rows="3" id="generalDescription" placeholder="'+ Config.labels.SUBMITFORM_P_GDESCRIPTION +'" required name="generalDescription"></textarea>'+ 115 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 116 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 117 ' </div>'+ 118 ' </div>'+ 119 ' </div>'+ 120 121 ' <div class="row">'+ 122 ' <div class="col">'+ 123 ' <div class="form-group">'+ 124 ' <label for="category" style="width: 100%" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_CATEGORY + 125 ' <select class="select2_category form-control form-control-lg" id="category" name="category" required id="category" style="width: 100%" multiple="multiple">'+ 126 127 ' </select>'+ 128 ' </label>'+ 129 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 130 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 131 ' </div>'+ 132 ' </div>'+ 133 ' </div>'+ 134 ' <div class="row">'+ 135 ' <div class="col">'+ 136 ' <div class="form-check form-check-inline">'+ 137 ' <input class="form-check-input supportChk" type="radio" name="supported" id="yes" value="yes" checked>'+ 138 ' <label class="form-check-label" for="yes">'+ 139 Config.labels.SUBMIT_FORM_SUPPORTED + 140 ' </label>'+ 141 ' </div>'+ 142 ' <div class="form-check form-check-inline">'+ 143 ' <input class="form-check-input supportChk" type="radio" name="supported" id="no" value="no">'+ 144 ' <label class="form-check-label" for="yes">'+ 145 Config.labels.SUBMIT_FORM_NOT_SUPPORTED + 146 ' </label>'+ 147 ' </div>'+ 148 ' </div>'+ 149 ' </div>'+ 150 ' <div class="row" id="supportInfo">'+ 151 ' <div class="col">'+ 152 ' <div class="form-group">'+ 153 ' <label for="supportContact" class="col-form-label-lg">'+ Config.labels.SUBMIT_FORM_SUPPORT_URL +'</label>'+ 154 ' <input type="text" class="form-control form-control-lg" id="supportContact" placeholder="'+ Config.labels.SUBMIT_FORM_SUPPORT_URL_PLACEHOLDER +'" name="supportContact">'+ 155 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 156 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 157 ' </div>'+ 158 ' </div>'+ 159 ' </div>'+ 160 ' <div class="row">'+ 161 ' <div class="col">'+ 162 ' <div class="form-group">'+ 163 ' <label for="organization" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_ORGANIZATION +'</label>'+ 164 ' <input type="text" class="form-control form-control-lg" id="organization" placeholder="'+ Config.labels.SUBMITFORM_P_ORGANIZATION +'" name="organization" required>'+ 165 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 166 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 167 ' </div>'+ 168 ' </div>'+ 169 ' </div>'+ 170 ' <div class="row">'+ 171 ' <div class="col-md-6 col-sm-12">'+ 172 ' <div class="form-group">'+ 173 ' <label for="name" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_FNAME +'</label>'+ 174 ' <input type="text" class="form-control form-control-lg" id="name" placeholder="'+ Config.labels.SUBMITFORM_P_FNAME +'" name="name" required>'+ 175 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 176 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 177 ' </div>'+ 178 ' </div>'+ 179 ' <div class="col-md-6 col-sm-12">'+ 180 ' <div class="form-group">'+ 181 ' <label for="surname" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_LNAME +'</label>'+ 182 ' <input type="text" class="form-control form-control-lg" id="surname" placeholder="'+ Config.labels.SUBMITFORM_P_LNAME +'" name="surname" required>'+ 183 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 184 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 185 ' </div>'+ 186 ' </div>'+ 187 ' </div>'+ 188 ' <div class="row">'+ 189 ' <div class="col-md-6 col-sm-12">'+ 190 ' <div class="form-group">'+ 191 ' <label for="email" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_EMAIL +'</label>'+ 192 ' <input type="email" class="form-control form-control-lg" id="email" placeholder="'+ Config.labels.SUBMITFORM_P_EMAIL +'" name="email" required>'+ 193 ' <div class="valid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 194 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 195 ' </div>'+ 196 ' </div>'+ 197 ' <div class="col-md-6 col-sm-12">'+ 198 ' <div class="form-group" >'+ 199 ' <label for="phone" class="col-form-label-lg">'+ Config.labels.SUBMITFORM_L_PHONE +'</label>'+ 200 ' <input type="text" class="form-control form-control-lg" id="surname" placeholder="'+ Config.labels.SUBMITFORM_P_PHONE +'" name="phone">'+ 201 ' <div class="v
201alid-feedback">'+ Config.labels.SUBMITFORM_M_VALID +'</div>'+ 202 ' <div class="invalid-feedback">'+ Config.labels.SUBMITFORM_E_MANDATORYMESSAGE +'</div>'+ 203 ' </div>'+ 204 ' </div>'+ 205 ' </div>'+ 206 ' <div id="recaptcha" class="g-recaptcha" style="margin-bottom:20px"></div>'+ 207 ' <div class="col-12 col-sm" id="submitButton">'+ 208 ' <div class="d-flex justify-content-center">'+ 209 ' <button class="btn btn-style-3" style="line-height:2; width:12em">'+ Config.labels.SUBMITFORM_B_SUBMIT +'</button>' + 210 ' </div>'+ 211 ' </div>'+ 212 ' </form>'+ 213 ' </div>'+ 214 ' </div>'+ 215 ' </div>' + 216 ' </div>' + 217 ' </div>' 218 ); 219 220 scrollTopDetail(); 221 222 223 224 $(".select2_category").select2({ 225 placeholder: Config.labels.SUBMIT_FORM_SUPPORT_SELECT_OPTION, 226 227 tags: true, 228 tokenSeparators: [',', ' '] 229 230 }); 231 232 for(var tag in Config.Tags){ 233 var newOption = new Option(Config.glbTags[tag], tag, false, false); 234 $('.select2_category').append(newOption).trigger('change'); 235 236 } 237 238 $(".supportChk").bind("change", _support); 239 240 $("#createintegration").bind("click", _openView); 241 242 $('#opensourceForm').bind('submit',null, submitFunc); 243 grecaptcha.render('recaptcha', { 244 'sitekey' : Config.captha_sitekey 245 }); 246 247 248 }; 249 250 function _openView(e) { 251 Config.controller.openView("integrationsView"); 252 gtag('event', Config.labels.BUTTON_TOOLKIT_DOCUMENTATION , { 253 'event_category' : 'click' 254 }); 255 e.preventDefault(); 256 }; 257 258 function _support(e){ 259 260 if (e.currentTarget.id ==="no") { 261 $("#supportInfo").hide(); 262 $("#supportContact").removeAttr("required"); 263 } else { 264 $("#supportInfo").show(); 265 $("#supportContact").prop("required", "required"); 266 } 267 e.preventDefault(); 268 }; 269 270 function submitFunc(e){ 271 272 273 var response = grecaptcha.getResponse(); 274 275 if(response.length == 0) { 276 //reCaptcha not verified 277 alert("Please confirm you are not a robot"); 278 } else { 279 //reCaptch verified 280 281 var form = e.currentTarget; 282 if (form.checkValidity() === false) { 283 form.classList.add('was-validated'); 284 event.preventDefault(); 285 event.stopPropagation(); 286 } else { 287 form.classList.add('was-validated'); 288 289 var postData = $(this).serializeArray(); 290 var jsonData = {}; 291 var category =""; 292 for (var i=0; i<postData.length; i++) { 293 if (postData[i].name =="category") { 294 category += postData[i].value + ", "; 295 jsonData[postData[i].name] = category; 296 } else { 297 jsonData[postData[i].name] = postData[i].value; 298 } 299 300 } 301 $(".mail-spinner").addClass('d-flex').removeClass('d-flex-none'); 302 $(".mail-spinner").show(); 303 $("#addPluginMail").hide(); 304 $.ajax({ 305 type: "POST", 306 dataType: "json", 307 url: Config.contextPath +"/rest/Mail/addplugin", 308 data: JSON.stringify( jsonData ), 309 async: false, 310 success: function(data){ 311 _success(data); 312 return data; 313 }, 314 error: function(jqXHR, textStatus, errorThrown) { 315 $(".mail-spinner").addClass('d-flex-none').removeClass('d-flex'); 316 $(".mail-spinner").hide(); 317 $("#addPluginMail").show(); 318 if (jqXHR.responseJSON) { 319 alert(jqXHR.responseJSON.cause); 320 } else { 321 alert("error"+errorThrown); 322 } 323 324 } 325 }); 326 327 328 329 330 331 } 332 } 333 334 e.preventDefault(); 335 336 }; 337 338 function _success(data){ 339 if (data.status ==="successful") { 340 $(".mail-spinner").addClass('d-flex-none').removeClass('d-flex'); 341 $(".mail-spinner").hide(); 342 $("#addPluginMail").show(); 343 $( "#submit-form-container" ).remove(); 344 Config.controller.openView("thanksView", null); 345 gtag('event', "SubmitForm", { 346 'event_category' : 'submit' 347 }); 348 } 349 350 }; 351 352 var Class = function(params) { 353 354 init(params); 355 356 this.updateView = function(options){ 357 if (!$("#submit-form-container").length) { 358 init(options) ; 359 } 360 }; 361 362 }; 363 364 return Class; 365 366})(jQuery);
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.