Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function lockedProfile() {
- let main = document.getElementById("main");
- var requestOptions = {
- method: 'GET',
- redirect: 'follow'
- };
- fetch("http://localhost:3030/jsonstore/advanced/profiles", requestOptions)
- .then(response => response.json())
- .then(result => populate(result))
- .catch(error => console.log('error', error));
- function populate(dataObj) {
- main.innerHTML = "";
- let arr = Array.from(Object.entries(dataObj));
- arr.forEach(p => {
- let profileDiv = document.createElement("div");
- profileDiv.className = "profile";
- let profilePic = document.createElement("img");
- profilePic.setAttribute("src", "./iconProfile2.png");
- profilePic.className = "userIcon";
- let lockLabel = document.createElement("label");
- lockLabel.textContent = "Lock";
- let radioLock = document.createElement("input");
- radioLock.type = "radio";
- radioLock.checked = true;
- radioLock.name = `${p[1].username}Locked`
- let unlockLabel = document.createElement("label");
- unlockLabel.textContent = "Unlock";
- let radioUnlock = document.createElement("input");
- radioUnlock.type = "radio";
- radioUnlock.name = `${p[1].username}Locked`
- let hr = document.createElement("hr");
- let usernameLabel = document.createElement("label");
- usernameLabel.textContent = "Username";
- let usernameInput = document.createElement("input");
- usernameInput.disabled = true;
- usernameInput.value = p[1].username;
- let hiddenDiv = document.createElement("div");
- hiddenDiv.id = `${p[1].username}HiddenFields`;
- hiddenDiv.style.display = "none";
- let hiddenHr = document.createElement("ht");
- let emailLable = document.createElement("label");
- emailLable.textContent = "Email:";
- let emailInput = document.createElement("input");
- emailInput.disabled = true;
- emailInput.value = p[1].email;
- let ageLabel = document.createElement("label");
- ageLabel.textContent = "Age:"
- let ageInput = document.createElement("input");
- ageInput.disabled = true;
- ageInput.value = p[1].age;
- let buttonShow = document.createElement("button");
- buttonShow.textContent = "Show more";
- buttonShow.addEventListener("click", () => (togleVisibility(profileDiv, hiddenDiv)));
- hiddenDiv.appendChild(hiddenHr);
- hiddenDiv.appendChild(emailLable);
- hiddenDiv.appendChild(emailInput);
- hiddenDiv.appendChild(ageLabel);
- hiddenDiv.appendChild(ageInput);
- profileDiv.appendChild(profilePic);
- profileDiv.appendChild(lockLabel)
- profileDiv.appendChild(radioLock);
- profileDiv.appendChild(unlockLabel)
- profileDiv.appendChild(radioUnlock);
- profileDiv.appendChild(hr);
- profileDiv.appendChild(usernameLabel);
- profileDiv.appendChild(usernameInput);
- profileDiv.appendChild(hiddenDiv);
- profileDiv.appendChild(buttonShow)
- main.appendChild(profileDiv)
- })
- function togleVisibility(profileDiv, hiddenDiv) {
- let unlockedRadio = Array.from(profileDiv.querySelectorAll('input'))[1];
- let showBtn = profileDiv.querySelector("button");
- if (unlockedRadio.checked == true) {
- if (showBtn.textContent == "Show more") {
- hiddenDiv.style.display = "block";
- showBtn.textContent = "Hide it"
- } else {
- hiddenDiv.style.display = "none";
- showBtn.textContent = "Show more"
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment