2019-11-24 01:09:37 +01:00
|
|
|
import DataUtils, { REQUEST_TYPE_POST, CONTENT_TYPE_JSON } from '../../../src/com/utils/DataUtils';
|
|
|
|
import * as DataEvent from '../../../src/com/events/DataEvent';
|
2019-11-22 07:36:18 +01:00
|
|
|
export default class NavActions {
|
|
|
|
//--------------------------
|
|
|
|
// constructor
|
|
|
|
//--------------------------
|
|
|
|
constructor() {
|
|
|
|
this.dataUtils = new DataUtils();
|
|
|
|
}
|
|
|
|
//--------------------------
|
|
|
|
// methods
|
|
|
|
//--------------------------
|
|
|
|
save() {
|
|
|
|
let self = this;
|
|
|
|
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')
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
|
self.dataUtils
|
|
|
|
.request(
|
|
|
|
'/api/settings/nav-sync',
|
|
|
|
DataEvent.SETTINGS_UPDATED,
|
|
|
|
REQUEST_TYPE_POST,
|
|
|
|
CONTENT_TYPE_JSON,
|
|
|
|
navData
|
|
|
|
)
|
|
|
|
.then(response => {
|
|
|
|
resolve(response);
|
|
|
|
})
|
|
|
|
.catch(err => {
|
|
|
|
reject(err);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
removeItem(id) {
|
|
|
|
let self = this;
|
|
|
|
this.dbutils.getPost(id).then(post => {
|
|
|
|
post.post.page = 'false';
|
|
|
|
self.dbutils.modify(id, post.post).then(() => {
|
|
|
|
document.getElementById('nav-pages').removeChild(document.getElementById(id));
|
|
|
|
self.save();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
//--------------------------
|
|
|
|
// event handlers
|
|
|
|
//--------------------------
|
|
|
|
}
|