forked from projects/fipamo
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
|
import NavActions from '../actions/NavActions';
|
||
|
export default class NavIndex {
|
||
|
//--------------------------
|
||
|
// constructor
|
||
|
//--------------------------
|
||
|
constructor() {
|
||
|
this.start();
|
||
|
//this.dataUtils = new DataUtils();
|
||
|
}
|
||
|
//--------------------------
|
||
|
// methods
|
||
|
//--------------------------
|
||
|
start() {
|
||
|
Sortable.create(document.getElementById('nav-pages'), {
|
||
|
onUpdate: () => {
|
||
|
new NavActions()
|
||
|
.save()
|
||
|
.then(() => {
|
||
|
//console.log(r);
|
||
|
})
|
||
|
.catch(() => {
|
||
|
//console.log(err);
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
var nav = document.querySelectorAll('.nav-btn');
|
||
|
for (var i = 0, length = nav.length; i < length; i++) {
|
||
|
nav[i].addEventListener('click', e => this.handleNavButton(e), false);
|
||
|
}
|
||
|
}
|
||
|
//--------------------------
|
||
|
// event handlers
|
||
|
//--------------------------
|
||
|
handleNavButton(e) {
|
||
|
let id = '';
|
||
|
switch (e.target.id) {
|
||
|
case 'remove-item':
|
||
|
id = e.target.getAttribute('data-id');
|
||
|
new NavActions().removeItem(id);
|
||
|
break;
|
||
|
case 'edit-item':
|
||
|
window.location = '/@/dashboard/posts/edit/' + e.target.getAttribute('data-id');
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|