import DataUtils, { REQUEST_TYPE_GET, REQUEST_TYPE_PUT, REQUEST_TYPE_POST, REQUEST_TYPE_DELETE, CONTENT_TYPE_JSON, CONTENT_TYPE_FORM } from '../../../../../brain//tools/utilities/DataUtils'; import StringUtils from '../../../../../brain//tools/utilities/StringUtils'; import DateUtils from '../../../../../brain/tools/utilities/DateUtils'; import * as DataEvent from '../../../../../brain/tools/events/DataEvent'; export default class SettingsActions { //-------------------------- // constructor //-------------------------- constructor() { this.dataUtils = new DataUtils(); this.dateUtils = new DateUtils(); } //-------------------------- // methods //-------------------------- save() { let self = this; let handle = document.getElementById('settings-handle').value; let email = document.getElementById('settings-email').value; let url = document.getElementById('settings-url').value; let title = document.getElementById('settings-title').value; let desc = document.getElementById('settings-desc').innerHTML; let privacy = document.getElementById('privacy-toggle').getAttribute('data-private'); let background = document.getElementById('background').src; let selected = ""; let selects = document.querySelectorAll('.theme-select'); for (var i = 0, length = selects.length; i < length; i++) { if (selects[i].getAttribute('data-enabled') == "true") selected = selects[i].id; } let settingsData = { handle: handle, email: email, url: url, title: title, descriptions: desc, background: background, private: privacy, theme: selected } return new Promise(function(resolve, reject) { self.dataUtils.request('/api/settings/sync', DataEvent.SETTINGS_UPDATED, REQUEST_TYPE_POST, CONTENT_TYPE_JSON, settingsData).then((response) => { console.log("RESPONSE", response) resolve(response) }).catch((err) => { reject(err); }) }) } //-------------------------- // event handlers //-------------------------- }