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 { ...@@ -67,6 +67,14 @@ class DeskRoundSelector {
</select> </select>
</div> </div>
</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> </div>
<div class="column"> <div class="column">
...@@ -106,6 +114,9 @@ class DeskRoundSelector { ...@@ -106,6 +114,9 @@ class DeskRoundSelector {
deskRoundHandler.loadAreas(event.target.value); deskRoundHandler.loadAreas(event.target.value);
} }
if (event.target.id === "area-select") { if (event.target.id === "area-select") {
deskRoundHandler.loadSections(event.target.value);
}
if (event.target.id === "section-select") {
deskRoundHandler.loadDesks(event.target.value); deskRoundHandler.loadDesks(event.target.value);
} }
}, },
...@@ -178,12 +189,34 @@ class DeskRoundSelector { ...@@ -178,12 +189,34 @@ class DeskRoundSelector {
selectArea.appendChild(el); selectArea.appendChild(el);
}); });
this.loadDesks(areas[0].ID); this.loadSections(areas[0].ID);
} }
async loadDesks(AreaID) { async loadSections(AreaID) {
this.AreaID = AreaID; this.AreaID = AreaID;
let deskRoundHandler = this; 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(); let deskRounds = await this.DeskRoundModel.getDeskRounds();
deskRounds = deskRounds.filter((deskRound) => { deskRounds = deskRounds.filter((deskRound) => {
return deskRound.RoundID == deskRoundHandler.RoundID; return deskRound.RoundID == deskRoundHandler.RoundID;
...@@ -191,10 +224,7 @@ class DeskRoundSelector { ...@@ -191,10 +224,7 @@ class DeskRoundSelector {
let deskRoundsFiltered = []; let deskRoundsFiltered = [];
for (let deskRound of deskRounds) { for (let deskRound of deskRounds) {
let desk = await deskRoundHandler.DeskModel.getDesk(deskRound.DeskID); let desk = await deskRoundHandler.DeskModel.getDesk(deskRound.DeskID);
let section = await deskRoundHandler.SectionModel.getSection( if (desk.SectionID == deskRoundHandler.SectionID)
desk.SectionID
);
if (section.AreaID == deskRoundHandler.AreaID)
deskRoundsFiltered.push(deskRound); deskRoundsFiltered.push(deskRound);
} }
deskRounds = deskRoundsFiltered; 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