diff --git a/eloquentjavascript/06_Objects/obj.js b/eloquentjavascript/06_Objects/obj.js index d5d855c..7970c3d 100644 --- a/eloquentjavascript/06_Objects/obj.js +++ b/eloquentjavascript/06_Objects/obj.js @@ -11,4 +11,5 @@ let hungryRabbit = { }; whiteRabbit.speak("Oh my fur and whiskers"); -hungryRabbit.speak("Got any carrots?"); \ No newline at end of file +hungryRabbit.speak("Got any carrots?"); + diff --git a/emne2/Vinlotterix/controller.js b/emne2/Vinlotterix/controller.js new file mode 100644 index 0000000..f1850a5 --- /dev/null +++ b/emne2/Vinlotterix/controller.js @@ -0,0 +1,4 @@ +function setRules(){ + console.log(model.input.rules.numWinners); + updateViewRules(); +} \ No newline at end of file diff --git a/emne2/Vinlotterix/index.html b/emne2/Vinlotterix/index.html new file mode 100644 index 0000000..45f76a5 --- /dev/null +++ b/emne2/Vinlotterix/index.html @@ -0,0 +1,27 @@ + + + + + + + Vin LotteriX + + + + + + +
+ + + + \ No newline at end of file diff --git a/emne2/Vinlotterix/model.js b/emne2/Vinlotterix/model.js new file mode 100644 index 0000000..f3f3d11 --- /dev/null +++ b/emne2/Vinlotterix/model.js @@ -0,0 +1,22 @@ +const model = { + app: { + pages: ["home", "rules", "list"], + page: "home", + }, + input: { + rules: { + numWinners: 1, + listEmployees: [], + }, + }, + // Felles data + employees: [ + { id: 1, name: "Per" }, + { id: 2, name: "Pål" }, + { id: 3, name: "Espen" }, + { id: 4, name: "Anita" }, + { id: 5, name: "Kari" }, + { id: 6, name: "Gry" } + ], + +} \ No newline at end of file diff --git a/emne2/Vinlotterix/oppgave.md b/emne2/Vinlotterix/oppgave.md new file mode 100644 index 0000000..1743cf7 --- /dev/null +++ b/emne2/Vinlotterix/oppgave.md @@ -0,0 +1,18 @@ +En gjeng kolleger på Nilsens verksted vil dra i gang litt sosial stemning på jobb. En gang i mnd ønsker de å ha et vinlotteri, der de utfører en trekning blant de påmeldte ansatte. Hjelp dem med å lage en webside til denne hensikt! + +Legg til følgende funksjonalitet: + +En liste over de ansatte en kan velge å ha med eller ikke ha med i trekningen +Mulighet for å legge til eller slette ansatte fra listen +Mulighet for å velge hvor mange vinnere som skal trekkes +En meny der man kan toggle mellom mennesker og utførte trekninger +En liste som viser utførte trekninger med dato og dagens vinnere +Forskjellige trekninger kan ha et forskjellig antall vinnere +En knapp som kan skjule eller vise menyen (personer og trekning) +Inspirasjonsfoto her - men bruk gjerne egen fantasi til å løse oppgaven + +Sider: + - trekk vinner + - velge regler for trekning(hvem skal være med og hvor mange vinnere) + - + diff --git a/emne2/Vinlotterix/view.js b/emne2/Vinlotterix/view.js new file mode 100644 index 0000000..40d693d --- /dev/null +++ b/emne2/Vinlotterix/view.js @@ -0,0 +1,64 @@ + +function createMenu(){ + return /*html*/ ` + + + + +
+ `; +} + +function updateViewHome(){ + document.getElementById('app').innerHTML = /*HTML*/ ` +

Hello World!

+ ${createMenu()} + `; +} + +function updateViewRules(){ + app.innerHTML = /*HTML*/ ` +

Hello from rules

+ ${createMenu()} + + +
    +
  1. Nummer: ${model.input.rules.numWinners}
  2. +
+
+ `; + +} + +function updateViewList(){ + let html = ''; + const employees = model.employees; + for (let i = 0; i < employees.length; i++){ + const person = employees[i]; + html += /*html*/ ` +
  • ${person.name}
  • + `; + } + app.innerHTML = html + 'This is the list ' +} + +function showWinnersView(){ + let winners = []; + let num = model.input.rules.numWinners; + + for (i = 0; i < num; i++){ + index = Math.floor(Math.random() * (model.employees.length)); + console.log(index) + winners.push(model.employees[index]) + } + for (i = 0; i < winners.length; i++){ + app.innerHTML += /*html*/ ` +

    ${winners[i].name}

    + `; console.log(winners[i].name)} + +} \ No newline at end of file