forked from projects/fipamo
ro
252059df19
turned on the abiity to save settings to config file via the settings page the current member session needs to updated by the data coming in but that will be handled by a specific member service that hasn't been built yet, so just commenting it out for now also fixed a minor bug that was stopping the save on render toggle from working correctly, so now it's saving and updating the status properly now
80 lines
2.4 KiB
JavaScript
80 lines
2.4 KiB
JavaScript
export default class SettingsActions {
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor() {}
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
getInfo() {
|
|
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').value;
|
|
//let privacy = document.getElementById('privacy-toggle').getAttribute('data-private');
|
|
let render = document.getElementById('render-toggle').getAttribute('data-render');
|
|
let background = document
|
|
.querySelector('.background')
|
|
.style.backgroundImage.slice(4, -1)
|
|
.replace(/"/g, '');
|
|
let selected = '';
|
|
let selects = document.querySelectorAll('.theme-select');
|
|
let smtpDomain = document.getElementById('smtp-domain').value;
|
|
let smtpEmail = document.getElementById('smtp-email').value;
|
|
let smtpPass = document.getElementById('smtp-pass').value;
|
|
let mgDomain = document.getElementById('mg-domain').value;
|
|
let mgKey = document.getElementById('mg-key').value;
|
|
let mailActive = '';
|
|
let mailOptions = document.querySelectorAll('.mail-option');
|
|
let apiStatus = document
|
|
.getElementById('api-access-toggle')
|
|
.getAttribute('data-enabled');
|
|
let dynamicRenderStatus = document
|
|
.getElementById('dynamic-render-toggle')
|
|
.getAttribute('data-enabled');
|
|
var i, count;
|
|
for (i = 0, count = selects.length; i < count; i++) {
|
|
if (selects[i].getAttribute('data-enabled') == 'true')
|
|
selected = selects[i].id;
|
|
}
|
|
|
|
for (i = 0, count = mailOptions.length; i < count; i++) {
|
|
if (mailOptions[i].getAttribute('data-enabled') == 'true')
|
|
mailActive = mailOptions[i].id;
|
|
}
|
|
let settingsData = {
|
|
global: {
|
|
base_url: url,
|
|
title: title,
|
|
descriptions: desc,
|
|
background: background,
|
|
private: false,
|
|
renderOnSave: render,
|
|
theme: selected,
|
|
externalAPI: apiStatus,
|
|
dynamicRender: dynamicRenderStatus
|
|
},
|
|
member: { handle: handle, email: email },
|
|
email: {
|
|
active: mailActive,
|
|
smtp: {
|
|
domain: smtpDomain,
|
|
email: smtpEmail,
|
|
password: smtpPass
|
|
},
|
|
mailgun: {
|
|
domain: mgDomain,
|
|
key: mgKey
|
|
}
|
|
}
|
|
};
|
|
return new Promise(function (resolve) {
|
|
resolve(settingsData);
|
|
});
|
|
}
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
}
|