Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
08b9cce
Lecture notes
aurelijusbanelis Nov 13, 2019
02d2606
Pridedam React'ui reikalingas JavaScript bibliotekas
aurelijusbanelis Nov 13, 2019
c70edb7
Pajungiame, kad kompiliuotų React'o JSX failus
aurelijusbanelis Apr 11, 2018
8d99df9
Sukuriame Controller patogesniam testavimui
aurelijusbanelis Nov 13, 2019
6824312
Bandome React Hello world, bet neveikia
aurelijusbanelis Apr 11, 2018
6f02df3
Pataisome, kad veiktų React Hello world pavyzdys
aurelijusbanelis Apr 11, 2018
b395b70
Panaudokime kieno nors kito biblioteką
aurelijusbanelis Nov 13, 2019
f1cff08
Padarom AJAX užklausą naudojant axios biblioteką
aurelijusbanelis Apr 11, 2018
bc78d6f
Atvaizduojame duomenis puslapyje
aurelijusbanelis Apr 11, 2018
0c8b3b8
Perduokime duomenis iš Twig'o į JavaScript'ą
aurelijusbanelis Apr 11, 2018
d0288b0
Prisimename navigaciją
aurelijusbanelis Apr 11, 2018
6d7da67
Pridedame atskirą JavaScript failą
aurelijusbanelis Apr 11, 2018
488b744
Paprastas JavaScript reaguojantis į įvestą laukelį
aurelijusbanelis Apr 11, 2018
2026641
Pasidarome prieigą AJAX užklausoms (sudėtingesnis takų pavyzdys)
aurelijusbanelis Apr 11, 2018
bb86ad6
Perduodame adresą į JavaScript'ą
aurelijusbanelis Apr 11, 2018
9f38140
Siųnčiame AJAX užklausą
aurelijusbanelis Apr 11, 2018
923ca9d
Pasiruošiame testinius duomenis
aurelijusbanelis Apr 11, 2018
96cb278
Turime veikiančią AJAX validaciją (teisingos reikšmės patikrinimą)
aurelijusbanelis Apr 11, 2018
e02e0cf
Symfony Homework Part 2
erirad Nov 21, 2019
fb15c1a
added blank line after namespace
erirad Nov 21, 2019
1e7d749
Solving merge conflicts
aurelijusb Dec 14, 2019
9d9acd0
Merge branch 'homework-2019-11-14' into erika-sf2-hw
aurelijusb Dec 14, 2019
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
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
![](https://avatars0.githubusercontent.com/u/4995607?v=3&s=100)

# Naudingos nuorodos

https://github.com/aurelijusb/kickstart/pull/90

NFQ Akademija
============

Expand Down
26 changes: 16 additions & 10 deletions assets/js/validation.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
const axios = require('axios');

let name = document.getElementById('name');
let validationResult = document.getElementById('validation-result');
const validateName = function () {
validationResult.innerText = '...';
axios.post(validationResult.dataset.path, {input: name.value})
const validateType = (validate, type) => {
validate.innerText = '...';
axios.post(validate.dataset.path, {input: type.value})
.then(function(response) {
if (response.data.valid) {
validationResult.innerHTML = ":)";
validate.innerHTML = ":)";
} else {
validationResult.innerHTML = ":(";
validate.innerHTML = ":(";
}
})
.catch(function (error) {
validationResult.innerText = 'Error: ' + error;
validate.innerText = 'Error: ' + error;
});
};

name.onkeyup = validateName;
name.onchange = validateName;
let name = document.getElementById('name');
let validateName= document.getElementById('validation-result-name');
name.onkeyup = () => validateType(validateName, name);
name.onchange = () => validateType(validateName, name);


let team = document.getElementById('team');
let validateTeam = document.getElementById('validation-result-team');
team.onkeyup = () => validateType(validateTeam, team);
team.onchange = () => validateType(validateTeam, team);
16 changes: 14 additions & 2 deletions src/Controller/PeopleController.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,20 @@ public function validate(Request $request, string $element)
}

$students = $this->getStudents();
$teams = $this->getTeams();
switch ($element) {
case 'name':
return new JsonResponse(['valid' => in_array(strtolower($input), $students)]);
case 'team':
return new JsonResponse(['valid' => in_array(strtolower($input), $teams)]);
}

return new JsonResponse(['error' => 'Invalid arguments'], Response::HTTP_BAD_REQUEST);
}

private function getStorage()
{
return /** @lang json */
'{
'{
"team1": {
"name": "Team1",
"mentors": [
Expand Down Expand Up @@ -242,4 +244,14 @@ private function getStudents(): array
}
return $students;
}

private function getTeams(): array
{
$teams = [];
$storage = json_decode($this->getStorage(), true);
foreach ($storage as $teamData => $teamInfo) {
$teams[] = $teamData;
}
return $teams;
}
}
8 changes: 6 additions & 2 deletions templates/people/index.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@
<div>
Versijuojamas JavaScript failas: <b id="versionedFile">...</b>
</div>

Vardas:
<input type="text" id="name"/>
<span id="validation-result" data-path="{{ path('validatePerson', {'element': 'name'}) }}"></span>
<span id="validation-result-name" data-path="{{ path('validatePerson', {'element': 'name'}) }}"></span>
<br>
Komanda:
<input type="text" id="team"/>
<span id="validation-result-team" data-path="{{ path('validatePerson', {'element': 'team'}) }}"></span>
{% endblock %}

{% block javascripts %}
Expand Down