Advertisement
Pripovedac

Untitled

Jul 30th, 2017
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const userContainer = document.getElementById('list-of-users')
  2.  
  3. var array = [
  4.     {
  5.         name: "Leonid",
  6.         lastname: "Petrovic",
  7.         email: "lenistruktura@live.com",
  8.         personalID: "0112985730043"
  9.     },
  10.     {
  11.         name: "Milan",
  12.         lastname: "Jankovic",
  13.         email: "milansamopartizan@live.com",
  14.         personalID: "1210997730012"
  15.     },
  16.     {
  17.         name: "Lola",
  18.         lastname: "Medvedev",
  19.         email: "trcilolatrci@hotmail.com",
  20.         personalID: "1112997910023"
  21.     },
  22.     {
  23.         name: "Aleksandra",
  24.         lastname: "Rajevski",
  25.         email: "anakarenina@live.com",
  26.         personalID: "0503999882912"
  27.     },
  28.     {
  29.         name: "Ahmed",
  30.         lastname: "Nurudin",
  31.         email: "dervisismrt@gmail.com",
  32.         personalID: "1705992901231"
  33.     },
  34.     {
  35.         name: "Svetlana",
  36.         lastname: "Raznatovic",
  37.         email: "didule@live.com",
  38.         personalID: "1406973891321"
  39.     }
  40. ]
  41.  
  42. //MODEL
  43. function addUser(user, list, appendingID) {
  44.     list.push(user)
  45.     printUsers(list, appendingID)
  46. }
  47.  
  48. function removeUser(list, id) {
  49.     var toBeDeleted = list.find(user => user.personalID == id)
  50.     list.splice(list.indexOf(toBeDeleted), 1)
  51.     printUsers(list, userContainer)
  52. }
  53. //END MODEL
  54.  
  55. //VIEW
  56. function printUsers(list, appendingID) {
  57.     while (appendingID.firstChild) {
  58.         appendingID.removeChild(appendingID.firstChild)
  59.     }
  60.     console.log("obrisao sam")
  61.     if (list.length == 0)
  62.         appendEmptyDiv(appendingID)
  63.     else {
  64.         console.log("sad stampam")
  65.         list.map(user => displayUsers(appendingID, user))
  66.     }
  67. }
  68.  
  69. function displayUsers(appendingID, user) {
  70.     var wholeDiv = document.createElement('div')
  71.     wholeDiv.setAttribute('id', 'wholeDiv')
  72.     const nameDiv = creatingDiv('Ime: ', user.name)
  73.     const lastnameDiv = creatingDiv('Prezime: ', user.lastname)
  74.     const mailDiv = creatingDiv('E-mail: ', user.email)
  75.     const idDiv = creatingDiv('ID:  ', user.personalID)
  76.     wholeDiv.appendChild(nameDiv)
  77.     wholeDiv.appendChild(lastnameDiv)
  78.     wholeDiv.appendChild(mailDiv)
  79.     wholeDiv.appendChild(idDiv)
  80.     appendingID.appendChild(wholeDiv)
  81. }
  82.  
  83. function creatingDiv(title, data) {
  84.     var newDiv = document.createElement('div')
  85.     var titleSpan = document.createElement('span')
  86.     titleSpan.textContent = title + '  '
  87.     newDiv.appendChild(titleSpan)
  88.     var contentDiv = document.createElement('span')
  89.     contentDiv.textContent = data
  90.     newDiv.appendChild(contentDiv)
  91.     return newDiv
  92. }
  93.  
  94. function appendEmptyDiv(appendingID) {
  95.     const emptyDiv = document.createElement('div')
  96.     emptyDiv.textContent = 'Nema korisnika, unesite korisnika iznad.'
  97.     appendingID.appendChild(emptyDiv)
  98. }
  99.  
  100. // END VIEW
  101.  
  102. printUsers(array, userContainer)
  103.  
  104.  
  105. //CONTROL
  106. function newUser() {
  107.     console.log("POZVAO SAM NEWUSER")
  108.     const firstForm = document.getElementById('newUser')
  109.     firstForm.addEventListener('submit', event => {
  110.         event.preventDefault()
  111.         userName = document.getElementById('name').value
  112.         document.getElementById('name').value = ""
  113.         userLastname = document.getElementById('lastname').value
  114.         document.getElementById('lastname').value = ""
  115.         userEmail = document.getElementById('email').value
  116.         document.getElementById('email').value = ""
  117.         userPersonalID = document.getElementById('personalID').value
  118.         document.getElementById('personalID').value = ""
  119.         var newUser = {
  120.             name: userName,
  121.             lastname: userLastname,
  122.             email: userEmail,
  123.             personalID: userPersonalID
  124.         }
  125.         addUser(newUser, array, userContainer)
  126.     })
  127. }
  128.  
  129. function deleteUser() {
  130.     event.preventDefault()
  131.     document.getElementById('idForDeletion')
  132.     removeUser(array, idForDeletion.value)
  133.     idForDeletion.value = ""
  134. }
  135.  
  136. //END CONTROL
  137.  
  138.  
  139. /*
  140. //Lazarev zadatak:
  141. //Implementiraj sledece fukcije koje kao prvi
  142. //i jedini argument imaju listu korisnika sa imenom, prezimenom i JMBG-om.
  143.  
  144. //   1. Vraca listu svih imena.
  145. console.log("Lista imena")
  146. console.log(array.map(item => item.name))
  147.  
  148. // 2. Vraca listu prezimena korisnika cije ime pocinje na L.
  149. console.log("Lista prezimena korisnika cije imena pocinju sa \'L\'")
  150. function filterLObj(array) {
  151.     return array.filter(item => item.name.charAt(0) == "L")
  152.         .map(item => item.lastname)
  153. }
  154. console.log(filterLObj(array))
  155.  
  156. // 3. Vraca listu spojenih imena i prezimena (kao jedan string, sa razmakom),
  157. // svih korisnika koji su rodjeni pre 1996.
  158. function getYear(client) {
  159.     var myID = parseInt(client.personalID)
  160.     var myYear = (myID / Math.pow(10, 6)) % 1000
  161.     return myYear
  162. }
  163.  
  164. console.log("Rodjeni pre 1996:")
  165. function filter96(array) {
  166.     return array.filter(item => getYear(item) < 996)
  167.         .map(item => item.name + " " + item.lastname)
  168. }
  169. console.log(filter96(array))
  170.  
  171. // 4. Vraca listu korisnika rodjenih u Nisu (JMBG se zavrsava sa 73xxxx)
  172. function getLastNumbers(client) {
  173.     var lastNum = parseInt(client.personalID)
  174.     var myNum = Math.trunc((lastNum % Math.pow(10, 6) / Math.pow(10, 4)))
  175.     return myNum == 73
  176. }
  177.  
  178. console.log("73xxxx")
  179. function filter73xxxx(array) {
  180.     return array.filter(getLastNumbers)
  181.         .map(item => item.name + " " + item.lastname)
  182. }
  183.  
  184. console.log(filter73xxxx(array))
  185.  
  186. // 5. Vraca true/false, da li su svi korisnici rodjeni posle 1993.
  187. console.log("Da li su svi rodjeni pre devedes'trece")
  188. console.log(!array.some(item => getYear(item) < 993))
  189.  
  190.  
  191. // 6. Vraca true/false, da li ima bar jedan korisnik cije se prezime ne zavrsava na -vic.
  192. console.log("Bar jedan korisnik cije ime se ne zavrsava na -vic.")
  193. console.log(array.some(item => item.lastname.slice(item.lastname.length - 3) != 'vic'))
  194.  
  195.  
  196. // 7. Vraca zbir godista svih korisnika.
  197. const taskSeven = array.reduce((acc, curr) => acc + 1000 + getYear(curr), 0)
  198. console.log("Suma godista", Math.trunc(taskSeven))
  199. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement