Skip to content
Snippets Groups Projects
Commit ee362a3e authored by Alexis POYEN's avatar Alexis POYEN
Browse files

Merge branch '49-filter-deskround-by-section' into 'master'

Feat : filter desksRounds by section

Closes #49

See merge request apoyen/elections!45
parents 4e327f05 947ac0ed
No related branches found
No related tags found
1 merge request!45Feat : filter desksRounds by section
Pipeline #6028 passed
......@@ -67,6 +67,14 @@ class DeskRoundSelector {
</select>
</div>
</div>
<div class="field">
<label>Section</label><br />
<div class="control select">
<select name="section-select" id="section-select">
<option>Veuillez sélectionner une section</option>
</select>
</div>
</div>
</div>
</div>
<div class="column">
......@@ -106,6 +114,9 @@ class DeskRoundSelector {
deskRoundHandler.loadAreas(event.target.value);
}
if (event.target.id === "area-select") {
deskRoundHandler.loadSections(event.target.value);
}
if (event.target.id === "section-select") {
deskRoundHandler.loadDesks(event.target.value);
}
},
......@@ -178,12 +189,34 @@ class DeskRoundSelector {
selectArea.appendChild(el);
});
this.loadDesks(areas[0].ID);
this.loadSections(areas[0].ID);
}
async loadDesks(AreaID) {
async loadSections(AreaID) {
this.AreaID = AreaID;
let deskRoundHandler = this;
let selectSection = document.getElementById("section-select");
let sections = await this.SectionModel.getSections();
sections = sections.filter((section) => {
return section.AreaID == deskRoundHandler.AreaID;
});
for (let i = selectSection.options.length - 1; i >= 0; i--) {
selectSection.remove(i);
}
sections.forEach((section) => {
let el = document.createElement("option");
el.textContent = section.Name;
el.value = section.ID;
selectSection.appendChild(el);
});
this.loadDesks(sections[0].ID);
}
async loadDesks(SectionID) {
this.SectionID = SectionID;
let deskRoundHandler = this;
let deskRounds = await this.DeskRoundModel.getDeskRounds();
deskRounds = deskRounds.filter((deskRound) => {
return deskRound.RoundID == deskRoundHandler.RoundID;
......@@ -191,10 +224,7 @@ class DeskRoundSelector {
let deskRoundsFiltered = [];
for (let deskRound of deskRounds) {
let desk = await deskRoundHandler.DeskModel.getDesk(deskRound.DeskID);
let section = await deskRoundHandler.SectionModel.getSection(
desk.SectionID
);
if (section.AreaID == deskRoundHandler.AreaID)
if (desk.SectionID == deskRoundHandler.SectionID)
deskRoundsFiltered.push(deskRound);
}
deskRounds = deskRoundsFiltered;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment