new version
This commit is contained in:
64
src/client/js/Sites/DeleteWordsSite.js
Normal file
64
src/client/js/Sites/DeleteWordsSite.js
Normal file
@@ -0,0 +1,64 @@
|
||||
import {UserMenuAction, UserSite} from "cordova-sites-user-management/dist/client";
|
||||
|
||||
import view from "../../html/sites/deleteLevels.html"
|
||||
import {WordRotatorBaseSite} from "./WordRotatorBaseSite";
|
||||
import {App} from "cordova-sites/dist/client/js/App";
|
||||
import {NavbarFragment} from "cordova-sites/dist/client/js/Context/Menu/NavbarFragment";
|
||||
import {DataManager} from "cordova-sites/dist/client/js/DataManager";
|
||||
|
||||
|
||||
export class DeleteWordsSite extends WordRotatorBaseSite {
|
||||
constructor(siteManager) {
|
||||
super(siteManager, view);
|
||||
this.addDelegate(new UserSite(this, "admin"))
|
||||
}
|
||||
|
||||
async onConstruct(args) {
|
||||
let res = super.onConstruct(args);
|
||||
this.words = (await DataManager.load("getDoubleUsedWordsAction"))["result"];
|
||||
return res;
|
||||
}
|
||||
|
||||
onViewLoaded() {
|
||||
super.onViewLoaded();
|
||||
|
||||
let levelTemplate = this.findBy("#level-template");
|
||||
let wordTemplate = this.findBy("#word-template");
|
||||
let wordContainer = this.findBy("#word-container");
|
||||
|
||||
levelTemplate.id = null;
|
||||
levelTemplate.remove();
|
||||
|
||||
wordTemplate.id = null;
|
||||
wordTemplate.remove();
|
||||
|
||||
for (let k in this.words) {
|
||||
let wordElem = wordTemplate.cloneNode(true);
|
||||
wordElem.querySelector(".name").appendChild(document.createTextNode(k));
|
||||
let levelContainer = wordElem.querySelector(".level-container");
|
||||
for (let j = 0; j < this.words[k].length; j++) {
|
||||
let level = this.words[k][j];
|
||||
let levelElem = levelTemplate.cloneNode(true);
|
||||
levelElem.querySelector(".id").appendChild(document.createTextNode(level["id"]));
|
||||
levelElem.querySelector(".words").appendChild(document.createTextNode(level["words"]));
|
||||
levelElem.querySelector(".positions").appendChild(document.createTextNode(level["rotations"]));
|
||||
|
||||
levelElem.querySelector(".delete-button").addEventListener("click", async () => {
|
||||
let res = await DataManager.send("deleteLevel", {"levelId": level["id"]});
|
||||
if (res["success"]) {
|
||||
levelElem.remove();
|
||||
}
|
||||
});
|
||||
|
||||
levelContainer.appendChild(levelElem);
|
||||
}
|
||||
wordContainer.appendChild(wordElem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
App.addInitialization(app => {
|
||||
NavbarFragment.defaultActions.push(new UserMenuAction("delete-levels", "admin", () => {
|
||||
app.startSite(DeleteWordsSite);
|
||||
}));
|
||||
});
|
||||
Reference in New Issue
Block a user