1function elementInfo(elId, el) { 2 var elem = el ? el : document.getElementById(elId); 3 elemId = elId ? elId : elem.id; 4 var tag = elem.tagName.toLowerCase(); 5 tag = (elem.getAttribute('multiple') === null ? tag : 'multiSelect'); 6 var type = (tag === 'input' ? elem.getAttribute("type").toLowerCase() : ''); 7 var info = tag; var name = (elem.getAttribute("name") ? elem.getAttribute("name") : ''); 8 var txt = ''; 9 var val = (elem.classList.contains('data-maskformat') ? elem.cleanVal() : elem.value); 10 if (tag === 'input') { 11 info = type; 12 } 13 if (tag === 'select') { 14 var selectedIndex = elem.selectedIndex; 15 var optionList = elem.options; 16 if (optionList[selectedIndex]) { 17 txt = optionList[selectedIndex].text; 18 } 19 else { 20 txt = ""; 21 } 22 } 23 else if (info === "checkbox" || info === "radio") { 24 var label = document.querySelectorAll('label[for=' + elemId + ']')[0]; 25 txt = label === undefined ? "" : label.innerText; 26 } 27 else if (tag === 'multiSelect') { 28 selectedIndex = elem.selectedIndex; 29 optionList = elem.options; 30 var multiSelectedElements = []; 31 for (var i = 0; i < optionList.length; i++) { 32 multiSelectedElements.push(optionList[i].text); 33 } 34 txt = multiSelectedElements.join('#'); 35 } 36 var elemProps = { 37 el: elem, 38 id: elemId, 39 name: name, 40 tag: tag, 41 type: type, 42 info: info, 43 txt: txt, 44 val: val, 45 isChecked: (info === "checkbox" || info === "radio" ? elem.checked : 'false') 46 }; 47 return elemProps; 48} 49function arrayRemove(arr, value) { 50 return arr.filter(function (item) { 51 return item !== value; 52 }); 53} 54function isJsonEmpty(obj) { 55 for (var key in obj) { 56 if (obj.hasOwnProperty(key)) 57 return false; 58 } 59 return true; 60} 61function findAncestor(elem, selector) { 62 if (!Element.prototype.matches) { 63 Element.prototype.matches = 64 Element.prototype.matchesSelector || 65 Element.prototype.mozMatchesSelector || 66 Element.prototype.msMatchesSelector || 67 Element.prototype.oMatchesSelector || 68 Element.prototype.webkitMatchesSelector || 69 function (s) { 70 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 71 i = matches.length; 72 while (--i >= 0 && matches.item(i) !== this) 73 return i > -1; 74 }; 75 } 76 for (; elem && elem !== document; elem = elem.parentNode) { 77 if (elem.matches(selector)) return elem; 78 } 79 return null; 80} 81function insertAfter(el, referenceNode) { 82 referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); 83} 84function removeElementsByClass(className) { 85 var elements = document.getElementsByClassName(className); 86 while (elements.length > 0) { 87 elements[0].parentNode.removeChild(elements[0]); 88 } 89} 90function createElementFromHTML(htmlString) { 91 var div = document.createElement('div'); 92 div.innerHTML = htmlString.trim(); 93 return div.firstChild; 94} 95function executeFunction(fnName, argArr) { 96 if (argArr === undefined) argArr = null; 97 var arr = fnName.split('.'); 98 var fn = window[arr[0]]; 99 for (var i = 1; i < arr.length; i++) { 100 fn = fn[arr[i]]; 101 } 102 if (!Array.isArray(argArr)) { 103 argArr = [argArr]; 104 } 105 return fn.apply(window, argArr); 106} 107function jsonValListByCondition(obj, propertyName, valueToCheck, returnedPropertyVal, ifValueToCheckNotEmpty, listSeparator) { 108 var ret = ''; 109 for (var i = 0; i < Object.keys(obj).length; i++) { 110 var keyName = Object.keys(obj)[i]; 111 if (obj[keyName][propertyName] === valueToCheck) { 112 var elVal = obj[keyName][returnedPropertyVal]; 113 if (ifValueToCheckNotEmpty) { 114 if (elVal !== "" && elVal !== "-1" && elVal !== "0" && elVal !== false && elVal !== null) { 115 ret += obj[keyName][returnedPropertyVal] + listSeparator; 116 } 117 } 118 else { 119 ret += obj[keyName][returnedPropertyVal] + listSeparator; 120 } 121 } 122 } 123 return (ret !== '' ? ret.substring(0, ret.length - 1) : ''); 124} 125function jsonKeyByValue(obj, valueToCheck) { 126 var ret = ''; 127 for (var key in obj) { 128 var keyVal = obj[key]; 129 if (keyVal === valueToCheck) { 130 ret = key; 131 break; 132 } 133 } 134 return ret; 135} 136function isHidden(elem, selectorName) { 137 if (selectorName === undefined || selectorName === null) selectorName = ''; 138 var isHidden = false; 139 if (elem === null) { 140 elem = document.querySelector(selectorName); 141 } 142 if (window.getComputedStyle(elem).display === "none") { 143 isHidden = true; 144 } 145 else if (window.getComputedStyle(elem).visibility === "hidden") { 146 isHidden = true; 147 } 148 return isHidden; 149} 150function formCollect(arg) { 151 var current = arg.current; 152 var container = arg.container; 153 var buildUrl = arg.buildUrl; 154 var dataObj = arg.hasOwnProperty("dataObject") ? arg.dataObject : current.data; 155 if (buildUrl) { 156 current.url = {}; 157 } 158 var collection = container.querySelectorAll( 159 '[data-form-section],' + 160 '[data-form-subsection],' + 161 '[data-form-subsubsection],' + 162 'input,' + 163 'select,' + 164 'textarea'); 165 var sectionName = ""; 166 var subsectionName = ""; 167 var sectionitemName = ""; 168 var sectionunitName = ""; 169 var concatArr = []; 170 for (var i = 0; i < collection.length; i++) { 171 var elem = collection[i]; 172 var isSection = elem.hasAttribute("data-form-section"); 173 var isSubsection = elem.hasAttribute("data-form-subsection"); 174 var isSectionitem = elem.hasAttribute("data-form-sectionitem"); 175 var isSectionunit = elem.hasAttribute("data-form-sectionunit"); 176 var formCollectionType = elem.getAttribute("data-form-type"); 177 if (isSection) { 178 sectionName = elem.getAttribute("data-form-section"); 179 if (sectionName.toLowerCase() !== "end") { 180 dataObj[sectionName] = {}; 181 if (formCollectionType === "array") { 182 dataObj[sectionName] = collectArrayObjects({ el: elem });
183 } 184 } 185 else if (sectionName.toLowerCase() === "end") { 186 sectionName = ''; 187 } 188 } 189 else if (isSubsection) { 190 subsectionName = elem.getAttribute("data-form-subsection"); 191 if (subsectionName.toLowerCase() !== "end") { 192 dataObj[sectionName][subsectionName] = {}; 193 if (formCollectionType === "array") { 194 dataObj[sectionName][subsectionName] = collectArrayObjects({ el: elem }); 195 } 196 } 197 else if (subsectionName.toLowerCase() === "end") { 198 subsectionName = ''; 199 } 200 } 201 else if (isSectionitem) { 202 sectionitemName = elem.getAttribute("data-form-sectionitem"); 203 if (sectionitemName.toLowerCase() !== "end") { 204 dataObj[sectionName][subsectionName][sectionitemName] = {}; 205 if (formCollectionType === "array") { 206 dataObj[sectionName][subsectionName][sectionitemName] = collectArrayObjects({ el: elem }); 207 } 208 } 209 else if (sectionitemName.toLowerCase() === "end") { 210 sectionitemName = ''; 211 } 212 } 213 else if (isSectionunit) { 214 sectionunitName = elem.getAttribute("data-form-sectionunit"); 215 if (sectionunitName.toLowerCase() !== "end") { 216 dataObj[sectionName][subsectionName][sectionitemName][sectionunitName] = {}; 217 if (formCollectionType === "array") { 218 dataObj[sectionName][subsectionName][sectionitemName][sectionunitName] = collectArrayObjects({ el: elem }); 219 } 220 } 221 else if (sectionunitName.toLowerCase() === "end") { 222 sectionunitName = ''; 223 } 224 } 225 else { 226 if (elem.id) { 227 var isObjProperty = elem.hasAttribute("data-form-obj-property"); 228 if (!isObjProperty) { 229 var elInfo = elementInfo(elem.id); 230 var currentSection; 231 var valueEntered = false; 232 if (buildUrl) { 233 if (elInfo.info === "checkbox" || elInfo.info === "radio") { 234 if (elInfo.isChecked) { 235 valueEntered = true; 236 } 237 } 238 else if (elInfo.info === "text") { 239 if (elInfo.val !== '') { 240 valueEntered = true; 241 } 242 } 243 else if (elInfo.info === "select") { 244 if (elInfo.val !== '') { 245 valueEntered = true; 246 } 247 } 248 } 249 if (valueEntered) { 250 if (!current.url.hasOwnProperty(sectionName)) { 251 current.url[sectionName] = []; 252 } 253 var valueInUrl = ""; 254 if (elem.hasAttribute('data-url')) { 255 valueInUrl = elem.getAttribute('data-url'); 256 if (valueInUrl.contains("concat")) { 257 var jsonParsedValue = JSON.parse(valueInUrl); 258 var _type = jsonParsedValue["type"]; 259 valueInUrl = ""; 260 if (concatArr.indexOf(_type) === -1) { 261 concatArr.push(_type); 262 var concatElementIds = jsonParsedValue["concat"].split('|'); 263 var _valueArr = []; 264 for (var ce = 0; ce < concatElementIds.length; ce++) { 265 var _element = document.getElementById(concatElementIds[ce]); 266 var _elInfo = elementInfo(_element.i
266d); 267 if (_elInfo.info === "checkbox" || _elInfo.info === "radio") { 268 } 269 else if (_elInfo.info === "text") { 270 _valueArr.push(_elInfo.val); 271 } 272 else if (_elInfo.info === "select") { 273 } 274 } 275 var separator = jsonParsedValue["separator"]; 276 valueInUrl = _valueArr.join(separator); 277 if (jsonParsedValue.hasOwnProperty("suffix")) { 278 var suffix = jsonParsedValue["suffix"]; 279 valueInUrl += jsonParsedValue["suffix"]; 280 } 281 } 282 } 283 } 284 if (valueInUrl !== "" && current.url[sectionName].indexOf(valueInUrl) === -1) { 285 current.url[sectionName].push(valueInUrl); 286 } 287 } 288 if (sectionName === '' && subsectionName === '' && sectionitemName === '' && sectionunitName === '') { 289 currentSection = dataObj; 290 } 291 else if (sectionName !== '' && subsectionName === '' && sectionitemName === '' && sectionunitName === '') { 292 currentSection = dataObj[sectionName]; 293 } 294 else if (subsectionName !== '' && sectionitemName === '' && sectionunitName === '') { 295 currentSection = dataObj[sectionName][subsectionName]; 296 } 297 else if (sectionitemName !== '' && sectionunitName === '') { 298 currentSection = dataObj[sectionName][subsectionName][sectionitemName]; 299 } 300 else if (sectionunitName !== '') { 301 currentSection = dataObj[sectionName][subsectionName][sectionitemName][sectionunitName]; 302 } 303 var formJsonField = elem.getAttribute("data-form-json-field"); 304 if (formJsonField) { 305 if (elInfo.isTreeview) { 306 currentSection[formJsonField] = Lidia.TreeView.Actions.collect({ tvwId: elInfo.id }); 307 } 308 else if (elInfo.info === "radio") { 309 if (elInfo.isChecked) { 310 currentSection[formJsonField] = elInfo.val; 311 } 312 } 313 else { 314 currentSection[formJsonField] = elInfo.val; 315 } 316 } 317 else { 318 var elemJsonName = elem.getAttribute('data-form-obj-name'); 319 currentSection[elemJsonName ? elemJsonName : elem.id] = { 320 el: elem, 321 id: elem.id, 322 name: elInfo.name, 323 tag: elInfo.tag, 324 type: elInfo.type, 325 info: elInfo.info, 326 val: elInfo.val, 327 txt: elInfo.txt, 328 isChecked: elInfo.info === "checkbox" || elInfo.info === "radio" ? elInfo.isChecked : false 329 }; 330 } 331 } 332 } 333 } 334 } 335 if (buildUrl) { 336 if (!isJsonEmpty(current.url)) { 337 var urlString = ""; 338 for (var u = 0; u < Object.keys(current.url).length; u++) { 339 var clusterName = Object.keys(current.url)[u]; 340 var clusterValues = current.url[clusterName].join(","); 341 urlString += clusterName + ":" + clusterValues + "|"; 342 } 343 current.url["queryString"] = urlString.slice(0, -1); 344 } 345 } 346} 347function collectArrayObjects(arg) { 348 var arrayJsonObjects = []; 349 var elem = arg.el; 350 var allArrayObjects = elem.querySelectorAll("[data-form-array-obj]"); 351 for (var o = 0; o < allArrayObjects.length; o++) { 352 var arrayObj = allArrayObjects[o]; 353 var arrayJsonObj = {}; 354 var allArrayObjectProperties = arrayObj.querySelectorAll("[data-form-obj-property]"); 355 for (var p = 0; p < allArrayObjectProperties.length; p++) { 356 var arrayObjProperty = allArrayObjectProperties[p]; 357 var arrayObjPropertyElInfo = elementInfo(arrayObjProperty.id); 358 var arrayObjPropertyName = ""; 359 var arrayObjPropertyValue = ""; 360 if (arrayObjPropertyElInfo.info === "radio") { 361 if (arrayObjPropertyElInfo.isChecked) { 362 arrayObjPropertyName = arrayObjProperty.getAttribute("data-form-obj-property"); 363 arrayObjPropertyValue = arrayObjPropertyElInfo.val; 364 arrayJsonObj[arrayObjPropertyName] = arrayObjPropertyValue; 365 } 366 } 367 else if (arrayObjPropertyElInfo.info === "checkbox") { 368 if (arrayObjPropertyElInfo.isChecked) { 369 arrayObjPropertyName = arrayObjProperty.getAttribute("data-form-obj-property"); 370 var collectedCheckboxValues = arrayJsonObj[arrayObjPropertyName]; 371 var currentCheckboxValue = arrayObjPropertyElInfo.val; 372 arrayObjPropertyValue = (collectedCheckboxValues ? collectedCheckboxValues + "#" : "") + currentCheckboxValue; 373 arrayJsonObj[arrayObjPropertyName] = arrayObjPropertyValue; 374 } 375 } 376 else { 377 arrayObjPropertyName = arrayObjProperty.getAttribute("data-form-obj-property"); 378 arrayObjPropertyValue = arrayObjPropertyElInfo.val; 379 arrayJsonObj[arrayObjPropertyName] = arrayObjPropertyValue; 380 } 381 } 382 arrayJsonObjects.push(arrayJsonObj); 383 } 384 return arrayJsonObjects; 385} 386function formReset(arg) { 387 var container = document.querySelector(arg.selector); 388 var tags = ['select', 'input', 'textarea']; 389 for (var i = 0; i < tags.length; i++) { 390 var tag = tags[i]; 391 var elementsByTag = container.getElementsByTagName(tag); 392 for (var j = 0; j < elementsByTag.length; j++) { 393 var elem = elementsByTag[j]; 394 if (tag === 'select') { 395 elem.selectedIndex = 0; 396 $(elem).change(); 397 } 398 else { 399 var typeName = (tag === 'input' ? elem.getAttribute("type").toLowerCase() : ''); 400 if (typeName === 'checkbox' || typeName === 'radio') { 401 var resetVal = elem.getAttribute('data-default-val'); 402 if (resetVal) { 403 elem.checked = resetVal; 404 } 405 else { 406 elem.checked = false; 407 } 408 } 409 else { 410 elem.value = ''; 411 } 412 } 413 } 414 } 415 if (Feux.hasOwnProperty("Validation")) { 416 Feux.Validation.Actions.clear({ selector: arg.selector }); 417 } 418} 419function updateUrlQueryString(arg) { 420 var urlString = ""; 421 if (arg.queryString) { 422 urlString += urlString === "" ? "?" : "&"; 423 urlString += arg.queryStringPrefix + "=" + arg.queryString; 424 } 425 if (arg.queryString_sort) { 426 urlString += urlString === "" ? "?" : "&"; 427 urlString += arg.queryStringPrefix_sort + "=" + arg.queryString_sort; 428 } 429 if (arg.queryString_paging) { 430 urlString += urlString === "" ? "?" : "&"; 431 urlString += arg.queryStringPrefix_paging + "=" + arg.queryString_paging; 432 } 433 if (arg.queryString_tbr) { 434 urlString += urlString === "" ? "?" : "&"; 435 urlString += arg.queryStringPrefix_tbr + "=" + arg.queryString_tbr; 436 } 437 if (arg.queryString_search) { 438 urlString += urlString === "" ? "?" : "&"; 439 urlString += arg.queryString_search; 440 } 441 history.pushState("", "", window.location.href.split('?')[0] + urlString); 442} 443function assignFormElementValue(arg) { 444 var el = arg.element; 445 var val = arg.value; 446 var trigger = arg.trigger; 447 var elInfo = elementInfo("", el); 448 if (elInfo.info === "checkbox" || elInfo.info === "radio") { 449 if (trigger) { 450 el.click(); 451 } 452 else { 453 el.checked = true; 454 } 455 } 456 else if (elInfo.info === "textbox") { 457 } 458 else if (elInfo.info === "select") { 459 } 460} 461function normalizeString(arg) { 462 var value = arg.value; 463 var characterArr = ["Ã-C", "ç-c", "Ä-G", "Ä-g", "İ-I", "ı-i", "Ã-O", "ö-o", "Å-S", "Å-s", "Ã-U", "ü-u"]; 464 for (c = 0; c < characterArr.length; c++) { 465 var item = characterArr[c].split('-'); 466 var regex = new RegExp(item[0], 'g'); 467 value = value.replace(regex, item[1]); 468 } 469 if (arg.lowercase !== false) { 470 value = value.toLowerCase(); 471 } 472 return value; 473} 474function getOffset(selectorName, includeScroll = false) { 475 var el = document.querySelector(selectorName); 476 const rect = el.getBoundingClientRect(); 477 var elWidth = el.clientWidth; 478 var elHeight = el.clientHeight; 479 return { 480 top: rect.top + (includeScroll ? window.scrollY : 0), 481 right: rect.left + (includeScroll ? window.scrollX : 0) + elWidth, 482 bottom: rect.top + (includeScroll ? window.scrollY : 0) + elHeight, 483 left: rect.left + (includeScroll ? window.scrollX : 0) 484 }; 485} 486function unwrap(arg) { 487 var parentEl; 488 if (arg.isParent) { 489 parentEl = arg.hasOwnProperty("elSelector") ? document.querySelector(arg.elSelector) : arg.el; 490 var childrenCount = parentEl.children.length; 491 for (var c = 0; c < childrenCount; c++) { 492 var childEl = parentEl.children[0]; 493 parentEl.insertAdjacentElement('beforebegin', childEl); 494 } 495 } 496 else { 497 childEl = arg.hasOwnProperty("elSelector") ? document.querySelector(arg.elSelector) : arg.el; 498 parentEl = childEl.parentNode; 499 parentEl.insertAdjacentElement('beforebegin', childEl); 500 } 501 if (parentEl.parentNode) { 502 parentEl.parentNode.removeChild(parentEl); 503 } 504} 505function isBrowserIE11() { 506 var isIE11 = !!window.MSInputMethodContext && !!document.documentMode; 507 return isIE11; 508} 509function uuidv4() { 510 return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => 511 (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) 512 ); 513} 514function withinWindow(arg) { 515 var el = document.querySelector(arg.selector); 516 var coord = el.getBoundingClientRect();
517 var elL = coord.left; 518 var elW = el.offsetWidth; 519 var winW = window.innerWidth; 520 var xAxisWithinWindow = winW >= elL + elW; 521 var elT = coord.top; 522 var elH = el.offsetHeight; 523 var winH = window.innerHeight; 524 var yAxisWithinWindow = winH >= elT + elH; 525 var withinWindowArr = new Array(); 526 withinWindowArr.push(xAxisWithinWindow); 527 withinWindowArr.push(yAxisWithinWindow); 528 return withinWindowArr; 529} 530function outOfWindow(arg) { 531 var withinWindowArr = withinWindow(arg); 532 var outOfWindowArr = new Array(); 533 outOfWindowArr.push(!withinWindowArr[0]); 534 outOfWindowArr.push(!withinWindowArr[1]); 535 return outOfWindowArr; 536} 537function isXS() { 538 var key = Feux.Base.Props.MediaQ.Curr.key; 539 return key === "xs1" || key === "xs2"; 540} 541function replaceAndEnsureStartsWithFive(sender) { 542 var inputString = sender.value.replace(/\D/g, '');; 543 if (!inputString.startsWith('5')) { 544 const indexOfFive = inputString.indexOf('5'); 545 if (indexOfFive === -1) { 546 sender.value = ""; 547 sender.setAttribute('value', ""); 548 } 549 else { 550 sender.value = inputString.slice(indexOfFive); 551 sender.setAttribute('value', inputString.slice(indexOfFive)); 552 } 553 } 554 else { 555 sender.setAttribute('value', inputString); 556 } 557} 558if (!String.prototype.contains) { 559 String.prototype.contains = function () { 560 return String.prototype.indexOf.apply(this, arguments) !== -1; 561 }; 562} 563if (!('remove' in Element.prototype)) { 564 Element.prototype.remove = function () { 565 if (this.parentNode) { 566 this.parentNode.removeChild(this); 567 } 568 }; 569}
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.