38 lines
995 B
JavaScript
38 lines
995 B
JavaScript
export default class NavActions {
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor() {}
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
syncMenu() {
|
|
let navData = [];
|
|
let items = document.getElementById("nav-pages").children;
|
|
for (let index = 0; index < items.length; index++) {
|
|
navData.push({
|
|
title: items[index].getElementsByTagName("label")[0].innerHTML,
|
|
id: items[index].id,
|
|
slug: items[index].getAttribute("data-slug"),
|
|
uuid: items[index].getAttribute("data-uuid"),
|
|
path: items[index].getAttribute("data-path")
|
|
});
|
|
}
|
|
|
|
let data = { menu: navData, remove: null };
|
|
return new Promise(function (resolve) {
|
|
resolve(data);
|
|
});
|
|
}
|
|
|
|
removeItem(id) {
|
|
document
|
|
.getElementById("nav-pages")
|
|
.removeChild(document.getElementById(id));
|
|
}
|
|
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
}
|