..
This commit is contained in:
BIN
web/node_modules/.cache/babel-loader/0273e40e2d694d21190388ba6af0b0a80f64b317.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0273e40e2d694d21190388ba6af0b0a80f64b317.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/0339eabbafe6102aa9e74c1876ca82b61d2e7e77.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0339eabbafe6102aa9e74c1876ca82b61d2e7e77.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/04a5e67428e74a2b848a5652aef315913121bd41.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/04a5e67428e74a2b848a5652aef315913121bd41.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/057e0681bea445f67832baf3c3a60b70121ea9bb.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/057e0681bea445f67832baf3c3a60b70121ea9bb.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/0af772ae8096c48e6aa587c7f5e10cc4dd6f0f5d.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0af772ae8096c48e6aa587c7f5e10cc4dd6f0f5d.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/130ef95861a09831c6c89b1f127f531272572592.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/130ef95861a09831c6c89b1f127f531272572592.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/15cd48efd783d0aa7f96a1a8bd6cfc4219327239.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/15cd48efd783d0aa7f96a1a8bd6cfc4219327239.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/20b040a55c69db42ecdb2daa84efc539144ebe88.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/20b040a55c69db42ecdb2daa84efc539144ebe88.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/28c0b8c15c7425076a94678e44ebbe056a28de32.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/28c0b8c15c7425076a94678e44ebbe056a28de32.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/2d8fbc535a83651c903b965784d6b32a33481db0.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/2d8fbc535a83651c903b965784d6b32a33481db0.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/31dfdc7b865a43aa5ab2eb603fc9e261d203f78e.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/31dfdc7b865a43aa5ab2eb603fc9e261d203f78e.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3264d7ceab5f09652059cfb66b2de33fdc268102.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3264d7ceab5f09652059cfb66b2de33fdc268102.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/39f37888e0cff1c40a2a28bf1be48cc1c810df84.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/39f37888e0cff1c40a2a28bf1be48cc1c810df84.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3da252e5ad47ca5b45da0713df136735a9bae8c5.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3da252e5ad47ca5b45da0713df136735a9bae8c5.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3e01a4c7fdc53dcf7ea329b42bba74296f9a2c91.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3e01a4c7fdc53dcf7ea329b42bba74296f9a2c91.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/433159f76e290e189ba239b6ba533eb567e668ea.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/433159f76e290e189ba239b6ba533eb567e668ea.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/45af4d90cf50a7e7f6378ba9f7a0d7b90ab6ab55.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/45af4d90cf50a7e7f6378ba9f7a0d7b90ab6ab55.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/5a471e482e1bba07be227899c7196a2661651372.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/5a471e482e1bba07be227899c7196a2661651372.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/5bcd636b04525aacf91e1b0f919a998f78076932.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/5bcd636b04525aacf91e1b0f919a998f78076932.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/5d9f9d9651152b1415ff45c7f02302df564a17a5.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/5d9f9d9651152b1415ff45c7f02302df564a17a5.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/6969df33ddbec0202cf21909d66372eee8dc38f7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/6969df33ddbec0202cf21909d66372eee8dc38f7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/6ddf6472bc315fc7d8a316dfedf245f0009ee41a.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/6ddf6472bc315fc7d8a316dfedf245f0009ee41a.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/7a522207686f99cb21ec972ac37f04e93f3d936f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/7a522207686f99cb21ec972ac37f04e93f3d936f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/91862ad12983dacda4309ba24f47abff911a4f01.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/91862ad12983dacda4309ba24f47abff911a4f01.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/93550039a84b398591c27d7be78f53897919f4a2.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/93550039a84b398591c27d7be78f53897919f4a2.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/93fa0ba0014e6136609b013e6c866846650e3476.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/93fa0ba0014e6136609b013e6c866846650e3476.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/95219f38bd1a9c9d994f578461a7a6cf54af5e2a.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/95219f38bd1a9c9d994f578461a7a6cf54af5e2a.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/97aeb5fcea536fd4a7e3abb02f20104421da2b63.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/97aeb5fcea536fd4a7e3abb02f20104421da2b63.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/992b08156171956d8cbd9ef5e2fb3d0d0032b92a.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/992b08156171956d8cbd9ef5e2fb3d0d0032b92a.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/9ac31e40a8f74353d57f0e4a8322af7cda77b95f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/9ac31e40a8f74353d57f0e4a8322af7cda77b95f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/9cd5ae3bc1e7d037017013792ebf97e4afb1685f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/9cd5ae3bc1e7d037017013792ebf97e4afb1685f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a4be80d719525c9409d2a828c74c826eaff92d8f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a4be80d719525c9409d2a828c74c826eaff92d8f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a8f61ec915aee750863f94af03f9f534f4e34325.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a8f61ec915aee750863f94af03f9f534f4e34325.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b1818db3a9732ba866c56c288ccf32fd0a32ab3c.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b1818db3a9732ba866c56c288ccf32fd0a32ab3c.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b2e8f8716d178e12120e640e67247c818aed9d48.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b2e8f8716d178e12120e640e67247c818aed9d48.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b326695a92c8a18e60ba4ecda16d7913aa404fc9.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b326695a92c8a18e60ba4ecda16d7913aa404fc9.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b94500b6b158854a6a8b8ba710333583add75469.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b94500b6b158854a6a8b8ba710333583add75469.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/bb3ad4d31e0a07f91a567743ab4761a2a16c1555.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/bb3ad4d31e0a07f91a567743ab4761a2a16c1555.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c1caf034556e5b64b04d9ab5b9fd852c75a2d3f9.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c1caf034556e5b64b04d9ab5b9fd852c75a2d3f9.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c85c2e6f9f03c02261bba30e0f76ef192da409a3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c85c2e6f9f03c02261bba30e0f76ef192da409a3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c8cf7608e9a392743182aebe5edf322792fd6aac.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c8cf7608e9a392743182aebe5edf322792fd6aac.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c984172027ddf0f5096e767f29cf14b1d2b380b3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c984172027ddf0f5096e767f29cf14b1d2b380b3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/cead9a462a2571b5c2550983675ac110f4aeeb9c.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/cead9a462a2571b5c2550983675ac110f4aeeb9c.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d80a860d29f823ea8d4279fda97f982a9f9bb477.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d80a860d29f823ea8d4279fda97f982a9f9bb477.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d90365c55cf1309facaf2a9c75b1b2f2f5e42e45.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d90365c55cf1309facaf2a9c75b1b2f2f5e42e45.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d9399ceb42d8bf789efaf177b151ec292644ee8b.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d9399ceb42d8bf789efaf177b151ec292644ee8b.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d9d20294f4d856eebdb663f349f033a8603216a3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d9d20294f4d856eebdb663f349f033a8603216a3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e1b1067c5a444f72ec0938584666c39797a2cfd7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e1b1067c5a444f72ec0938584666c39797a2cfd7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e305cbbb4be049c321319c3f5e63f03113fb84d0.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e305cbbb4be049c321319c3f5e63f03113fb84d0.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e3e444290d515fe492058228aba963d33b291b8d.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e3e444290d515fe492058228aba963d33b291b8d.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e522bf86a50ea3040ad5a432d562895733b94157.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e522bf86a50ea3040ad5a432d562895733b94157.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/f0fdfbb146d8b2c19c02ae19d52a0e3917e10e47.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/f0fdfbb146d8b2c19c02ae19d52a0e3917e10e47.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/f11d5379da69d4e0eedaacdd4e46a301392c32d7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/f11d5379da69d4e0eedaacdd4e46a301392c32d7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/f6faa1d1ae2d3ffd247ff7d99131dafc78537a86.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/f6faa1d1ae2d3ffd247ff7d99131dafc78537a86.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/f7bed7d318d7358c5bd1b6711c1bc85674bcb0d2.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/f7bed7d318d7358c5bd1b6711c1bc85674bcb0d2.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/fda9d21778b80e8619d174b5725b6c1c8d92462f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/fda9d21778b80e8619d174b5725b6c1c8d92462f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/ff249c028f550e902e70d9ed7789ecb2682ececb.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/ff249c028f550e902e70d9ed7789ecb2682ececb.json.gz
generated
vendored
Normal file
Binary file not shown.
121
web/src/App.js
121
web/src/App.js
@@ -1,109 +1,25 @@
|
||||
import React, { Component } from 'react';
|
||||
import './App.css';
|
||||
import PersonsListComponent from './PersonsListComponent.js';
|
||||
import PairsListComponent from './PairsListComponent.js';
|
||||
|
||||
|
||||
|
||||
class App extends Component {
|
||||
constructor(props){
|
||||
super(props);
|
||||
this.state = {renderPersonsList: false, persons: [], currentPairsText: ""};
|
||||
this.getNamesEventHandler = this.getNamesEventHandler.bind(this);
|
||||
this.createTableEventHandler = this.createTableEventHandler.bind(this);
|
||||
this.addAndSaveEventHandler = this.addAndSaveEventHandler.bind(this);
|
||||
this.pairsTextChangedEventHandler = this.pairsTextChangedEventHandler.bind(this);
|
||||
this.personsSelectionChangedEventHandler = this.personsSelectionChangedEventHandler.bind(this);
|
||||
|
||||
this.state = {renderPairsList: false, pairs: []};
|
||||
|
||||
this.getPairsEventHandler = this.getPairsEventHandler.bind(this);
|
||||
}
|
||||
|
||||
componentDidMount(){
|
||||
this.currentPairs = JSON.parse(localStorage.getItem("currentPairs") || "[]");
|
||||
this.currentPersons = JSON.parse(localStorage.getItem("currentPersons") || "[]");
|
||||
// Load textarea text from local storage
|
||||
this.setState({currentPairsText: JSON.parse(localStorage.getItem("currentPairsText")) || ""});
|
||||
getPairsEventHandler(event){
|
||||
console.log("Get Pairs");
|
||||
this.setState({pairs: ['Bilal Rahima','A1 A2','B1 B2'],renderPairsList:true});
|
||||
}
|
||||
|
||||
pairsTextChangedEventHandler(event) {
|
||||
this.setState({currentPairsText: event.target.value});
|
||||
}
|
||||
|
||||
getNamesEventHandler(event) {
|
||||
if(this.state.currentPairsText.trim() === "")
|
||||
return;
|
||||
let allNames = this.state.currentPairsText.trim().replace(/\n\s*\n/g, '\n').replace(/(\r\n|\n|\r)/gm, "|").split("|");
|
||||
allNames = allNames.map(name => name.trim());
|
||||
console.log(allNames);
|
||||
let names = [...new Set(allNames)];
|
||||
if(this.currentPersons.length === 0)
|
||||
this.currentPersons = names;
|
||||
else{
|
||||
// Check if there are some new names
|
||||
let newNames = names.filter(name => !this.currentPersons.includes(name));
|
||||
for(const newName of newNames)
|
||||
this.currentPersons.push(newName);
|
||||
}
|
||||
let matrix = new Array(this.currentPersons.length);
|
||||
for (let i = 0; i < matrix.length; ++i) {
|
||||
matrix[i] = [];
|
||||
}
|
||||
for(let i = 0; i < allNames.length; i = i + 2){
|
||||
const idx1 = this.currentPersons.indexOf(allNames[i]);
|
||||
const idx2 = this.currentPersons.indexOf(allNames[i + 1]);
|
||||
matrix[idx1].push(idx2);
|
||||
matrix[idx2].push(idx1);
|
||||
}
|
||||
this.currentPairs = matrix;
|
||||
this.setState({persons: names.map(name => ({personName: name, isSelected: true})), renderPersonsList: true});
|
||||
}
|
||||
|
||||
createTableEventHandler(event) {
|
||||
const selectedPersonNames = this.state.persons.filter(person => person.isSelected).map(person => person.personName);
|
||||
let selectedPersonIndices = selectedPersonNames.map(name => this.currentPersons.indexOf(name));
|
||||
|
||||
let newPairs = "";
|
||||
|
||||
while(selectedPersonIndices.length > 1){
|
||||
const firstIdx = selectedPersonIndices[0];
|
||||
const pairIndices = this.currentPairs[firstIdx];
|
||||
const missingPairIndices = Array.from(Array(this.currentPersons.length).keys()).filter(
|
||||
(idx) => (idx !== firstIdx && !pairIndices.includes(idx) && selectedPersonIndices.includes(idx)));
|
||||
// Person has had meetup with everyone
|
||||
if(missingPairIndices.length === 0)
|
||||
selectedPersonIndices.splice(0, 1);
|
||||
else{
|
||||
let pairsMatrix = this.currentPairs;
|
||||
pairsMatrix[firstIdx].push(missingPairIndices[0]);
|
||||
pairsMatrix[missingPairIndices[0]].push(firstIdx);
|
||||
this.currentPairs = pairsMatrix;
|
||||
newPairs += this.currentPersons[firstIdx] + " | " + this.currentPersons[missingPairIndices[0]] + "\n";
|
||||
selectedPersonIndices.splice(0, 1);
|
||||
selectedPersonIndices.splice(selectedPersonIndices.indexOf(missingPairIndices[0]), 1);
|
||||
}
|
||||
}
|
||||
console.log(newPairs);
|
||||
if(newPairs === "")
|
||||
alert("Everyone (from the list of selected persons) had meetup with everyone else!");
|
||||
else{
|
||||
this.setState((prevState, props) => ({
|
||||
currentPairsText: prevState.currentPairsText.trim() + "\n\n" + newPairs.trim()
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
addAndSaveEventHandler(event) {
|
||||
// Save textarea text to local storage
|
||||
localStorage.setItem("currentPairsText", JSON.stringify(this.state.currentPairsText));
|
||||
// Save current persons to local storage
|
||||
localStorage.setItem("currentPersons", JSON.stringify(this.currentPersons));
|
||||
// Save pairs matrix to local storage
|
||||
localStorage.setItem("currentPairs", JSON.stringify(this.currentPairs));
|
||||
}
|
||||
|
||||
personsSelectionChangedEventHandler(index){
|
||||
let personsList = this.state.persons;
|
||||
personsList[index].isSelected = !personsList[index].isSelected;
|
||||
this.setState({
|
||||
persons: personsList
|
||||
});
|
||||
savePairsEventHandler(event){
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
@@ -112,15 +28,20 @@ class App extends Component {
|
||||
<div>
|
||||
<h2>Meetup app</h2>
|
||||
</div>
|
||||
<textarea rows = "20" cols = "50" value = {this.state.currentPairsText} onChange = {this.pairsTextChangedEventHandler}></textarea>
|
||||
|
||||
<div className = "horizontalDiv">
|
||||
<button onClick = {this.getNamesEventHandler}>GET NAMES</button>
|
||||
<button onClick = {this.createTableEventHandler}>CREATE TABLE</button>
|
||||
<button onClick = {this.addAndSaveEventHandler}>ADD AND SAVE</button>
|
||||
<button onClick = {this.getPairsEventHandler}>Get pairs</button>
|
||||
</div>
|
||||
<div>
|
||||
<h2> List of pairs : </h2>
|
||||
</div>
|
||||
{
|
||||
this.state.renderPersonsList &&
|
||||
<PersonsListComponent persons = {this.state.persons} personsSelectionChanged = {this.personsSelectionChangedEventHandler}/>
|
||||
this.state.renderPairsList &&
|
||||
<PairsListComponent pairs = {this.state.pairs}/>
|
||||
}
|
||||
{
|
||||
this.state.renderPairsList &&
|
||||
<button onClick = {this.savePairsEventHandler}> Save pairs </button>
|
||||
}
|
||||
</div>
|
||||
);
|
||||
|
||||
18
web/src/PairComponent.js
Normal file
18
web/src/PairComponent.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
export default class PairComponent extends Component{
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {pairName: this.props.pair};
|
||||
}
|
||||
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<div className = "horizontalDiv">
|
||||
<div>{this.state.pairName}</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
15
web/src/PairsListComponent.js
Normal file
15
web/src/PairsListComponent.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import React, { Component } from 'react';
|
||||
import PairComponent from './PairComponent.js';
|
||||
|
||||
export default class PairsListComponent extends Component{
|
||||
render(){
|
||||
return(
|
||||
<div id = "outerDiv">
|
||||
{
|
||||
this.props.pairs.map((pair, index) =>
|
||||
(<PairComponent key = {index} index = {index} pair = {pair}/>))
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
88
web/uptonow (copy).txt
Normal file
88
web/uptonow (copy).txt
Normal file
@@ -0,0 +1,88 @@
|
||||
Reuben Montehermoso Senad Uka
|
||||
Eric Hulburd Katarzyna Frey
|
||||
Kamil Grabowski James Marvin
|
||||
Krzysiek Herod Luca Del Bianco
|
||||
Krzysztof Wawer Ben Jacobs
|
||||
Adam Florczak Daniel Mihalyi
|
||||
Damian Aruj Steven Joseph
|
||||
Mary Grace Andrade Fernando Catacora
|
||||
Grzegorz Biziel Monika Glier
|
||||
Jess Jacobs Jacque Presas
|
||||
Attila Aros Gabriele Favalessa
|
||||
Cezary Kopacz Carlo Liwanag
|
||||
|
||||
Fernando Catacora Krzysztof Wawer
|
||||
Steven Joseph Cezary Kopacz
|
||||
Adam Florczak Grzegorz Biziel
|
||||
Eric Hulburd Kamil Grabowski
|
||||
Carlo Liwanag Damian Aruj
|
||||
Krzysiek Herod James Marvin
|
||||
Mary Grace Andrade Nick Allen
|
||||
Gabriele Favalessa Monika Glier
|
||||
Jess Jacobs Luca Del Bianco
|
||||
Reuben Montehermoso Katarzyna Frey
|
||||
Senad Uka Daniel Mihalyi
|
||||
Piotr Szotkowski Ben Jacobs
|
||||
|
||||
Cezary Kopacz James Marvin
|
||||
Jess Jacobs Grzegorz Biziel
|
||||
Eric Hulburd Krzysztof Wawer
|
||||
Mary Grace Andrade Piotr Szotkowski
|
||||
Kamil Grabowski Nick Allen
|
||||
Senad Uka Luca Del Bianco
|
||||
Monika Glier Reuben Montehermoso
|
||||
Adam Florczak Krzysiek Herod
|
||||
Fernando Catacora Carlo Liwanag
|
||||
Gabriele Favalessa Katarzyna Frey
|
||||
Damian Aruj Steven Joseph
|
||||
|
||||
Fernando Catacora Grzegorz Biziel
|
||||
Damian Aruj Eric Hulburd
|
||||
Krzysiek Herod James Marvin
|
||||
Ric Szopa Steven Joseph
|
||||
Senad Uka Monika Glier
|
||||
Nick Allen Karen Bevis
|
||||
Katarzyna Frey Gabriele Favalessa
|
||||
Jess Jacobs Kamil Grabowski
|
||||
Dusan Pantelic Piotr Szotkowski
|
||||
|
||||
Fernando Catacora Piotr Szotkowski
|
||||
Damian Aruj Grzegorz Biziel
|
||||
Krzysiek Herod Eric Hulburd
|
||||
Ric Szopa James Marvin
|
||||
Senad Uka Steven Joseph
|
||||
Nick Allen Monika Glier
|
||||
Katarzyna Frey Karen Bevis
|
||||
Jess Jacobs Gabriele Favalessa
|
||||
Dusan Pantelic Kamil Grabowski1
|
||||
|
||||
Fernando Catacora Gabriele Favalessa
|
||||
Damian Aruj Kamil Grabowski
|
||||
Krzysiek Herod Piotr Szotkowski
|
||||
Ric Szopa Grzegorz Biziel
|
||||
Senad Uka Eric Hulburd
|
||||
Nick Allen Monika Glier
|
||||
Jess Jacobs Steven Joseph
|
||||
Dusan Pantelic James Marvin
|
||||
|
||||
Fernando Catacora James Marvin
|
||||
Damian Aruj Gabriele Favalessa
|
||||
Krzysiek Herod Kamil Grabowski
|
||||
Ric Szopa Piotr Szotkowski
|
||||
Senad Uka Grzegorz Biziel
|
||||
Nick Allen Eric Hulburd
|
||||
Jess Jacobs Monika Glier
|
||||
Dusan Pantelic Steven Joseph
|
||||
|
||||
Grzegorz Biziel Jess Jacobs
|
||||
Kamil Grabowski James Marvin
|
||||
Katarzyna Frey Krzysiek Herod
|
||||
Senad Uka Jorge Vazquez
|
||||
Gabriele Favalessa Mary Grace Andrade
|
||||
Adam Florczak Nick Allen
|
||||
Reuben Montehermoso Steven Joseph
|
||||
Damian Aruj Krzysztof Wawer
|
||||
Patrick Downing Fernando Catacora
|
||||
Carlo Liwanag Eric Hulburd
|
||||
|
||||
|
||||
Reference in New Issue
Block a user