Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const userContainer = document.getElementById('list-of-users')
- var array = [
- {
- name: "Leonid",
- lastname: "Petrovic",
- email: "lenistruktura@live.com",
- personalID: "0112985730043"
- },
- {
- name: "Milan",
- lastname: "Jankovic",
- email: "milansamopartizan@live.com",
- personalID: "1210997730012"
- },
- {
- name: "Lola",
- lastname: "Medvedev",
- email: "trcilolatrci@hotmail.com",
- personalID: "1112997910023"
- },
- {
- name: "Aleksandra",
- lastname: "Rajevski",
- email: "anakarenina@live.com",
- personalID: "0503999882912"
- },
- {
- name: "Ahmed",
- lastname: "Nurudin",
- email: "dervisismrt@gmail.com",
- personalID: "1705992901231"
- },
- {
- name: "Svetlana",
- lastname: "Raznatovic",
- email: "didule@live.com",
- personalID: "1406973891321"
- }
- ]
- //MODEL
- function addUser(user, list, appendingID) {
- list.push(user)
- printUsers(list, appendingID)
- }
- function removeUser(list, id) {
- var toBeDeleted = list.find(user => user.personalID == id)
- list.splice(list.indexOf(toBeDeleted), 1)
- printUsers(list, userContainer)
- }
- //END MODEL
- //VIEW
- function printUsers(list, appendingID) {
- while (appendingID.firstChild) {
- appendingID.removeChild(appendingID.firstChild)
- }
- console.log("obrisao sam")
- if (list.length == 0)
- appendEmptyDiv(appendingID)
- else {
- console.log("sad stampam")
- list.map(user => displayUsers(appendingID, user))
- }
- }
- function displayUsers(appendingID, user) {
- var wholeDiv = document.createElement('div')
- wholeDiv.setAttribute('id', 'wholeDiv')
- const nameDiv = creatingDiv('Ime: ', user.name)
- const lastnameDiv = creatingDiv('Prezime: ', user.lastname)
- const mailDiv = creatingDiv('E-mail: ', user.email)
- const idDiv = creatingDiv('ID: ', user.personalID)
- wholeDiv.appendChild(nameDiv)
- wholeDiv.appendChild(lastnameDiv)
- wholeDiv.appendChild(mailDiv)
- wholeDiv.appendChild(idDiv)
- appendingID.appendChild(wholeDiv)
- }
- function creatingDiv(title, data) {
- var newDiv = document.createElement('div')
- var titleSpan = document.createElement('span')
- titleSpan.textContent = title + ' '
- newDiv.appendChild(titleSpan)
- var contentDiv = document.createElement('span')
- contentDiv.textContent = data
- newDiv.appendChild(contentDiv)
- return newDiv
- }
- function appendEmptyDiv(appendingID) {
- const emptyDiv = document.createElement('div')
- emptyDiv.textContent = 'Nema korisnika, unesite korisnika iznad.'
- appendingID.appendChild(emptyDiv)
- }
- // END VIEW
- printUsers(array, userContainer)
- //CONTROL
- function newUser() {
- console.log("POZVAO SAM NEWUSER")
- const firstForm = document.getElementById('newUser')
- firstForm.addEventListener('submit', event => {
- event.preventDefault()
- userName = document.getElementById('name').value
- document.getElementById('name').value = ""
- userLastname = document.getElementById('lastname').value
- document.getElementById('lastname').value = ""
- userEmail = document.getElementById('email').value
- document.getElementById('email').value = ""
- userPersonalID = document.getElementById('personalID').value
- document.getElementById('personalID').value = ""
- var newUser = {
- name: userName,
- lastname: userLastname,
- email: userEmail,
- personalID: userPersonalID
- }
- addUser(newUser, array, userContainer)
- })
- }
- function deleteUser() {
- event.preventDefault()
- document.getElementById('idForDeletion')
- removeUser(array, idForDeletion.value)
- idForDeletion.value = ""
- }
- //END CONTROL
- /*
- //Lazarev zadatak:
- //Implementiraj sledece fukcije koje kao prvi
- //i jedini argument imaju listu korisnika sa imenom, prezimenom i JMBG-om.
- // 1. Vraca listu svih imena.
- console.log("Lista imena")
- console.log(array.map(item => item.name))
- // 2. Vraca listu prezimena korisnika cije ime pocinje na L.
- console.log("Lista prezimena korisnika cije imena pocinju sa \'L\'")
- function filterLObj(array) {
- return array.filter(item => item.name.charAt(0) == "L")
- .map(item => item.lastname)
- }
- console.log(filterLObj(array))
- // 3. Vraca listu spojenih imena i prezimena (kao jedan string, sa razmakom),
- // svih korisnika koji su rodjeni pre 1996.
- function getYear(client) {
- var myID = parseInt(client.personalID)
- var myYear = (myID / Math.pow(10, 6)) % 1000
- return myYear
- }
- console.log("Rodjeni pre 1996:")
- function filter96(array) {
- return array.filter(item => getYear(item) < 996)
- .map(item => item.name + " " + item.lastname)
- }
- console.log(filter96(array))
- // 4. Vraca listu korisnika rodjenih u Nisu (JMBG se zavrsava sa 73xxxx)
- function getLastNumbers(client) {
- var lastNum = parseInt(client.personalID)
- var myNum = Math.trunc((lastNum % Math.pow(10, 6) / Math.pow(10, 4)))
- return myNum == 73
- }
- console.log("73xxxx")
- function filter73xxxx(array) {
- return array.filter(getLastNumbers)
- .map(item => item.name + " " + item.lastname)
- }
- console.log(filter73xxxx(array))
- // 5. Vraca true/false, da li su svi korisnici rodjeni posle 1993.
- console.log("Da li su svi rodjeni pre devedes'trece")
- console.log(!array.some(item => getYear(item) < 993))
- // 6. Vraca true/false, da li ima bar jedan korisnik cije se prezime ne zavrsava na -vic.
- console.log("Bar jedan korisnik cije ime se ne zavrsava na -vic.")
- console.log(array.some(item => item.lastname.slice(item.lastname.length - 3) != 'vic'))
- // 7. Vraca zbir godista svih korisnika.
- const taskSeven = array.reduce((acc, curr) => acc + 1000 + getYear(curr), 0)
- console.log("Suma godista", Math.trunc(taskSeven))
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement