Skip to content

exercise-flip-book #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,20 @@
* @param {Array[]} arrayOfArrays - a 2D array representing the game board
* @returns {HTMLTableElement} the rendered game board
*/
export const gameBoard = (arrayOfArrays) => {};
export const gameBoard = (arrayOfArrays) => {
console.log(arrayOfArrays)
const table = document.createElement('table');

for (const array of arrayOfArrays){
console.log(array);
const tr = document.createElement('tr');
for (const element of array){
console.log(element);
const td = document.createElement('td');
td.innerText = element ;
tr.appendChild(td);
}
table.appendChild(tr);
}
Comment on lines +11 to +21
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we have an arrayOfArrays represeting a table, usually we use names like row and column in the for loops.

Suggested change
for (const array of arrayOfArrays){
console.log(array);
const tr = document.createElement('tr');
for (const element of array){
console.log(element);
const td = document.createElement('td');
td.innerText = element ;
tr.appendChild(td);
}
table.appendChild(tr);
}
for (const row of arrayOfArrays){
console.log(row);
const tr = document.createElement('tr');
for (const column of row){
console.log(column);
const td = document.createElement('td');
td.innerText = column ;
tr.appendChild(td);
}
table.appendChild(tr);
}

return table;
};
23 changes: 14 additions & 9 deletions 5-testing-components/exercises-write-components/info/info.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,24 @@
* @param {string} caption - the title of this info drop-down
* @param {string} mainText - the important information
* @param {string} [id=''] - the element's id
* @param {string} [captionColor ='black'] - the color of the caption
* @param {string} [mainTextColor='black'] - the color of the main text
* @returns {HTMLDetailsElement}
*/
export const info = (caption, mainText, id = '') => {
const detailsEl = document.createElement('_');
_;
export const info = (caption, mainText, id = 'details', captionColor = 'black',mainTextColor= 'black') => {
const detailsEl = document.createElement('details');
detailsEl.id = id;

const summaryEl = document.createElement('summary');
summaryEl.textContent = summary ;
summaryEl.style.color = captionColor;

const summaryEl = document.createElement('_');
_;
_;
const pEl = document.createElement('p');
pEl.textContent = mainText ;
pEl.style.color = mainTextColor;

const pEl = document.createElement('_');
_;
_;
detailsEl.appendChild(summaryEl);
detailsEl.appendChild(pEl);

return detailsEl;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const REVERSE_INPUT = 'input';
export const REVERSED_OUTPUT = 'output';
export const KEY_UP = 'key-up';
24 changes: 22 additions & 2 deletions 6-refactoring/exercises/dom-and-events/flip-book/src/handler.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
// import { reverseAndUpper } from './utils.js';
import { reverseAndUpper } from './util.js';

export const reverseAndUpperHandler = _;
export const reverseAndUpperHandler = (event) => {
debugger;
// read and process user input
const input = event.target.value;
console.log(event);

// execute core logic- utils
/*const upperCased = input.toUpperCase();
const splitted = upperCased.split('');
const reversed = splitted.reverse();*/
const reversedUppercase = reverseAndUpper(input);

// render result for user
document.getElementById(REVERSED_OUTPUT).innerHTML = reversedUppercase;

// log result for developers
console.log('\n --- user action ---');
console.log('input:', input);
console.log('reversedUppercase:', reversedUppercase);
};

15 changes: 11 additions & 4 deletions 6-refactoring/exercises/dom-and-events/flip-book/src/init.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
document.getElementById('input').addEventListener('keyup', (event) => {
import {REVERSE_INPUT,REVERSED_OUTPUT,KEY_UP} from "../data/constants";
import './listener.js'
// listener//

// document.get... addEventListener('typeEvent', handler)
// ----------------------listener-----------------------------|--handler-- till line 25--|
/*document.getElementById(REVERSE_INPUT).addEventListener(KEY_UP,(event) => {
debugger;
// read and process user input
const input = event.target.value;
console.log(event)

// execute core logic
// execute core logic- utils
const upperCased = input.toUpperCase();
const splitted = upperCased.split('');
const reversed = splitted.reverse();
const reversedUppercase = reversed.join('');

// render result for user
document.getElementById('output').innerHTML = reversedUppercase;
document.getElementById(REVERSED_OUTPUT).innerHTML = reversedUppercase;

// log result for developers
console.log('\n --- user action ---');
console.log('input:', input);
console.log('reversedUppercase:', reversedUppercase);
});
});*/
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
// import { reverseAndUpperHandler } from './handler.js';
import { reverseAndUpperHandler } from './handler.js';

document.getElementById(REVERSE_INPUT).addEventListener(KEY_UP,reverseAndUpperHandler);
8 changes: 7 additions & 1 deletion 6-refactoring/exercises/dom-and-events/flip-book/src/util.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
/**
*
*/
export const reverseAndUpper = () => {};
export const reverseAndUpper = (input) => {
const upperCased = input.toUpperCase();
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Run npm run format to correctly indent the code.

const splitted = upperCased.split('');
const reversed = splitted.reverse();
const reversedUppercase = reversed.join('');
return reversedUppercase;
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { reverseAndUpper } from './utils.js';
import { reverseAndUpper } from './util.js';

describe('reverseAndUpper: reverses a string and upper-cases all the letters', () => {
it('"lower-case letters"', () => {
Expand Down