{"version":3,"sources":["identity.forms.js"],"names":["getAllNextSiblings","elem","targetClass","let","siblings","nextElementSibling","Array","from","classList","includes","push","createContactPersons","domFormFieldsWrappers","document","querySelectorAll","forEach","domFormFieldsWrapper","index","domFormGroupsWrapper","row","btnWrapper","domShowNextWrappingBtn","domFormGroupsUntilNextWrap","length","createElement","className","join","id","add","title","getAttribute","separator","append","titleElem","textContent","type","innerHTML","dataset","addText","addEventListener","addBtn","event","target","oldTarget","getElementById","oldRemoveBtn","remove","querySelector","domRemoveCurrentBtn","removeText","newTarget","i","value","after"],"mappings":"AAAA,IAAAA,mBAAA,CAAAC,EAAAC,KAEA,IADAC,IAAAC,EAAA,GACAH,EAAAI,oBAAAC,MAAAC,KAAAN,EAAAI,mBAAAG,SAAA,EAAAC,SAAAP,CAAA,GAAA,CAAAI,MAAAC,KAAAN,EAAAI,mBAAAG,SAAA,EAAAC,SAAA,uBAAA,GAEAL,EAAAM,KADAT,EAAAA,EAAAI,kBACA,EAEA,OAAAD,CACA,EAEAO,qBAAA,KACA,IAAAC,EAAAC,SAAAC,iBAAA,wBAAA,EAEAF,EAAAG,QAAA,CAAAC,EAAAC,KACA,IAGAC,EAGAC,EAqBAC,EAIAC,EA/BAC,EAAAtB,mBAAAgB,EAAA,YAAA,EAEA,EAAAM,EAAAC,UACAL,EAAAL,SAAAW,cAAA,KAAA,GACAC,UAAA,GAAAnB,MAAAC,KAAAe,EAAA,GAAAd,SAAA,EAAAkB,KAAA,GAAA,EACAR,EAAAS,GAAA,kCAAAV,GACAE,EAAAN,SAAAW,cAAA,KAAA,GACAC,UAAA,MAEA,EAAAR,GACAC,EAAAV,UAAAoB,IAAA,QAAA,EAEAC,EAAAb,EAAAc,aAAA,OAAA,EACAC,EAAAlB,SAAAW,cAAA,IAAA,EAEAN,EAAAc,OAAAD,CAAA,EAEAF,KACAI,EAAApB,SAAAW,cAAA,IAAA,GACAU,YAAAL,EACAX,EAAAc,OAAAC,CAAA,GAGAd,EAAAa,OAAA,GAAAV,CAAA,EAEAJ,EAAAc,OAAAb,CAAA,GAEAC,EAAAP,SAAAW,cAAA,KAAA,GACAC,UAAA,SAEAR,EAAA,EAAAL,EAAAW,UACAF,EAAAR,SAAAW,cAAA,QAAA,GACAW,KAAA,SACAd,EAAAe,UAAA,sCAAApB,EAAAc,aAAA,aAAA,GAAAd,EAAAqB,QAAAC,SACAjB,EAAAI,UAAA,kEACAJ,EAAAkB,iBAAA,QAAA,IACA,IAAAC,EAAAC,EAAAC,OACAC,EAAA9B,SAAA+B,eAAA,kCAAA3B,CAAA,EAIA4B,GAHAhC,SAAA+B,eAAA,mCAAA3B,EAAA,EAAA,EACAT,UAAAsC,OAAA,QAAA,EACAN,EAAAhC,UAAAoB,IAAA,QAAA,EACAe,EAAAI,cAAA,4CAAA,GACA,OAAAF,GACAA,EAAArC,UAAAoB,IAAA,QAAA,CAEA,CAAA,EAEAR,EAAAY,OAAAX,CAAA,GAIA,EAAAJ,GAAAA,EAAA,GAAAL,EAAAW,UACAyB,EAAAnC,SAAAW,cAAA,QAAA,GACAW,KAAA,SACAa,EAAAZ,UAAA,uCAAApB,EAAAqB,QAAAY,WACAD,EAAAvB,UAAA,gEACAuB,EAAAT,iBAAA,QAAA,IACA,IAAAW,EAAArC,SAAA+B,eAAA,kCAAA3B,CAAA,EACA0B,EAAA9B,SAAA+B,eAAA,mCAAA3B,EAAA,EAAA,EAKA4B,GAJAK,EAAA1C,UAAAoB,IAAA,QAAA,EACAsB,EAAApC,iBAAA,OAAA,EAAAC,QAAAoC,GAAAA,EAAAC,MAAA,EAAA,EACAT,EAAAI,cAAA,yCAAA,EAAAvC,UAAAsC,OAAA,QAAA,EAEAH,EAAAI,cAAA,4CAAA,GACA,OAAAF,GACAA,EAAArC,UAAAsC,OAAA,QAAA,CAEA,CAAA,EACA1B,EAAAY,OAAAgB,CAAA,GAGA9B,EAAAc,OAAAZ,CAAA,EAIAJ,EAAAqC,MAAAnC,CAAA,EAGA,CAAA,CACA,EAIAL,SAAA0B,iBAAA,mBAAA,KACA5B,qBAAA,CACA,CAAA","file":"identity.forms.js","sourcesContent":["const getAllNextSiblings = (elem, targetClass) => {\r\n let siblings = [];\r\n while (elem.nextElementSibling && Array.from(elem.nextElementSibling.classList).includes(targetClass) && !Array.from(elem.nextElementSibling.classList).includes('js-hidden-input-group')) {\r\n elem = elem.nextElementSibling;\r\n siblings.push(elem);\r\n }\r\n return siblings;\r\n}\r\n\r\nconst createContactPersons = () =>{\r\n const domFormFieldsWrappers = document.querySelectorAll('.js-hidden-input-group');\r\n\r\n domFormFieldsWrappers.forEach((domFormFieldsWrapper, index) =>{\r\n const domFormGroupsUntilNextWrap = getAllNextSiblings(domFormFieldsWrapper, 'form-group');\r\n\r\n if(domFormGroupsUntilNextWrap.length > 0){\r\n const domFormGroupsWrapper = document.createElement('div');\r\n domFormGroupsWrapper.className = `${Array.from(domFormGroupsUntilNextWrap[0].classList).join(' ')}`;\r\n domFormGroupsWrapper.id = `js-hidden-form-group-container-${index}`;\r\n const row = document.createElement('div');\r\n row.className = 'row';\r\n \r\n if(index > 0){\r\n domFormGroupsWrapper.classList.add('d-none');\r\n }\r\n const title = domFormFieldsWrapper.getAttribute('title');\r\n const separator = document.createElement('hr');\r\n\r\n domFormGroupsWrapper.append(separator);\r\n \r\n if(title){\r\n const titleElem = document.createElement('h4');\r\n titleElem.textContent = title;\r\n domFormGroupsWrapper.append(titleElem);\r\n }\r\n\r\n row.append(...domFormGroupsUntilNextWrap)\r\n \r\n domFormGroupsWrapper.append(row);\r\n \r\n const btnWrapper = document.createElement('div');\r\n btnWrapper.className = 'd-flex';\r\n \r\n if( (index + 1) < domFormFieldsWrappers.length){\r\n const domShowNextWrappingBtn = document.createElement('button');\r\n domShowNextWrappingBtn.type = 'button';\r\n domShowNextWrappingBtn.innerHTML = `add ${domFormFieldsWrapper.getAttribute('placeholder') ?? domFormFieldsWrapper.dataset.addText}`;\r\n domShowNextWrappingBtn.className = 'btn btn-dark btn-sm js-hidden-form-group-container-add-btn mr-1';\r\n domShowNextWrappingBtn.addEventListener('click', (event) =>{\r\n const addBtn = event.target;\r\n const oldTarget = document.getElementById(`js-hidden-form-group-container-${index}`);\r\n const newTarget = document.getElementById(`js-hidden-form-group-container-${index + 1}`);\r\n newTarget.classList.remove('d-none');\r\n addBtn.classList.add('d-none');\r\n const oldRemoveBtn = oldTarget.querySelector('.js-hidden-form-group-container-remove-btn');\r\n if(oldRemoveBtn !== null){\r\n oldRemoveBtn.classList.add('d-none');\r\n }\r\n });\r\n\r\n btnWrapper.append(domShowNextWrappingBtn)\r\n\r\n }\r\n \r\n if(index > 0 && (index + 1) <= domFormFieldsWrappers.length){\r\n const domRemoveCurrentBtn = document.createElement('button');\r\n domRemoveCurrentBtn.type = 'button';\r\n domRemoveCurrentBtn.innerHTML = `clear ${domFormFieldsWrapper.dataset.removeText}`;\r\n domRemoveCurrentBtn.className = 'btn btn-dark btn-sm js-hidden-form-group-container-remove-btn';\r\n domRemoveCurrentBtn.addEventListener('click', (event) =>{\r\n const newTarget = document.getElementById(`js-hidden-form-group-container-${index}`);\r\n const oldTarget = document.getElementById(`js-hidden-form-group-container-${index - 1}`);\r\n newTarget.classList.add('d-none');\r\n newTarget.querySelectorAll('input').forEach(i => i.value = '');\r\n oldTarget.querySelector('.js-hidden-form-group-container-add-btn').classList.remove('d-none');\r\n\r\n const oldRemoveBtn = oldTarget.querySelector('.js-hidden-form-group-container-remove-btn');\r\n if(oldRemoveBtn !== null){\r\n oldRemoveBtn.classList.remove('d-none');\r\n }\r\n });\r\n btnWrapper.append(domRemoveCurrentBtn)\r\n }\r\n\r\n domFormGroupsWrapper.append(btnWrapper);\r\n \r\n \r\n\r\n domFormFieldsWrapper.after(domFormGroupsWrapper);\r\n }\r\n\r\n });\r\n}\r\n\r\n\r\n\r\ndocument.addEventListener('DOMContentLoaded', () =>{\r\n createContactPersons();\r\n});"]}