Newer
Older
// Imports
import * as Auth from "/services/auth/auth.js";
import * as ElectionModel from "/services/model/election-model.js";
import * as RoundModel from "/services/model/round-model.js";
import * as AreaModel from "/services/model/area-model.js";
import * as SectionModel from "/services/model/section-model.js";
import * as DeskModel from "/services/model/desk-model.js";
import * as DeskRoundModel from "/services/model/deskRound-model.js";
export async function mount(parent) {
const voteComponent = new Vote(parent);
return voteComponent;
}
class Vote {
constructor(parent) {
this.method = null;
this.parent = parent;
this.ElectionModel = ElectionModel.getElectionModel();
this.RoundModel = RoundModel.getRoundModel();
this.AreaModel = AreaModel.getAreaModel();
this.SectionModel = SectionModel.getSectionModel();
this.DeskModel = DeskModel.getDeskModel();
this.DeskRoundModel = DeskRoundModel.getDeskRoundModel();
async displayVotes(RoundID, AreaID, DeskRoundID) {
this.ElectionModel.current_user = await Auth.GetUser();
this.RoundModel.current_user = await Auth.GetUser();
this.AreaModel.current_user = await Auth.GetUser();
this.SectionModel.current_user = await Auth.GetUser();
this.DeskModel.current_user = await Auth.GetUser();
this.DeskRoundModel.current_user = await Auth.GetUser();
this.RoundID = RoundID;
this.AreaID = AreaID;
this.DeskRoundID = DeskRoundID;
document.getElementById("vote-section").innerHTML = /* HTML */ `
<header class="card-header">
<p >
<nav class="breadcrumb card-header-title" aria-label="breadcrumbs">
<ul id="vote-breadcrumb"></ul>
</nav>
</p>
</header>
<div id="votes-tables" class="card-content"></div>
<nav class="level">
<div class="level-left"></div>
<div class="level-right">
<button id="votes-return" class="button is-danger level-item">
Retour
</button>
<button id="votes-cancel" class="button level-item">
Annuler
</button>
<button id="votes-save" class="button is-success level-item">
Sauvegarder
</button>
</div>
</nav>
await this.refreshBreadCrumb();
async refreshBreadCrumb() {
let round = await this.RoundModel.getRound(this.RoundID);
let election = await this.ElectionModel.getElection(round.ElectionID);
let area = await this.AreaModel.getArea(this.AreaID);
let deskRound = await this.DeskRoundModel.getDeskRound(this.DeskRoundID);
let desk = await this.DeskModel.getDesk(deskRound.DeskID);
let section = await this.SectionModel.getSection(desk.SectionID);
let breadcrumb = document.getElementById("vote-breadcrumb");
let el = document.createElement("li");
el.innerHTML = "<a>" + election.Name + "</a>";
breadcrumb.appendChild(el);
el = document.createElement("li");
el.innerHTML =
"<a>tour : " +
round.Round +
", date : " +
new Date(round.Date).toLocaleDateString() +
"</a>";
breadcrumb.appendChild(el);
el = document.createElement("li");
el.innerHTML = "<a>" + area.Name + "</a>";
breadcrumb.appendChild(el);
el = document.createElement("li");
el.innerHTML = "<a>" + section.Name + "</a>";
breadcrumb.appendChild(el);
el = document.createElement("li");
el.innerHTML = "<a>" + desk.Name + "</a>";
breadcrumb.appendChild(el);
}