Run updateSetting from Settings component and get rid of unused code.
This commit is contained in:
parent
2ef3e3e5b4
commit
111beb5f12
@ -1,4 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- TODO: move all class toggling to vue, since vue clears existing classes when changing the notified class -->
|
||||||
<div
|
<div
|
||||||
id="viewport"
|
id="viewport"
|
||||||
:class="{notified: $store.state.isNotified}"
|
:class="{notified: $store.state.isNotified}"
|
||||||
|
@ -226,6 +226,7 @@
|
|||||||
<option
|
<option
|
||||||
v-for="theme in $root.serverConfiguration.themes"
|
v-for="theme in $root.serverConfiguration.themes"
|
||||||
:key="theme.name"
|
:key="theme.name"
|
||||||
|
:value="theme.name"
|
||||||
>
|
>
|
||||||
{{ theme.displayName }}
|
{{ theme.displayName }}
|
||||||
</option>
|
</option>
|
||||||
@ -495,6 +496,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
options: null,
|
||||||
canRegisterProtocol: false,
|
canRegisterProtocol: false,
|
||||||
passwordChangeStatus: null,
|
passwordChangeStatus: null,
|
||||||
passwordErrors: {
|
passwordErrors: {
|
||||||
@ -506,6 +508,8 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.options = require("../../js/options"); // TODO: do this in a smarter way
|
||||||
|
|
||||||
// Enable protocol handler registration if supported
|
// Enable protocol handler registration if supported
|
||||||
if (window.navigator.registerProtocolHandler) {
|
if (window.navigator.registerProtocolHandler) {
|
||||||
this.canRegisterProtocol = true;
|
this.canRegisterProtocol = true;
|
||||||
@ -533,11 +537,7 @@ export default {
|
|||||||
value = event.target.value;
|
value = event.target.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.storeSetting(name, value);
|
this.options.updateSetting(name, value);
|
||||||
},
|
|
||||||
storeSetting(name, value) {
|
|
||||||
// TODO: port logic from options.js
|
|
||||||
socket.emit("setting:set", {name, value});
|
|
||||||
},
|
},
|
||||||
changePassword() {
|
changePassword() {
|
||||||
const allFields = new FormData(this.$refs.settingsForm);
|
const allFields = new FormData(this.$refs.settingsForm);
|
||||||
|
@ -6,18 +6,11 @@ const socket = require("./socket");
|
|||||||
const {vueApp} = require("./vue");
|
const {vueApp} = require("./vue");
|
||||||
require("../js/autocompletion");
|
require("../js/autocompletion");
|
||||||
|
|
||||||
const $settings = $("#settings");
|
|
||||||
const $theme = $("#theme");
|
const $theme = $("#theme");
|
||||||
const $userStyles = $("#user-specified-css");
|
const $userStyles = $("#user-specified-css");
|
||||||
|
|
||||||
const noCSSparamReg = /[?&]nocss/;
|
const noCSSparamReg = /[?&]nocss/;
|
||||||
|
|
||||||
// Not yet available at this point but used in various functionaly.
|
|
||||||
// Will be assigned when `initialize` is called.
|
|
||||||
let $syncWarningOverride;
|
|
||||||
let $syncWarningBase;
|
|
||||||
let $forceSyncButton;
|
|
||||||
|
|
||||||
// Default settings
|
// Default settings
|
||||||
const settings = vueApp.settings;
|
const settings = vueApp.settings;
|
||||||
|
|
||||||
@ -76,6 +69,7 @@ module.exports = {
|
|||||||
syncAllSettings,
|
syncAllSettings,
|
||||||
processSetting,
|
processSetting,
|
||||||
initialize,
|
initialize,
|
||||||
|
updateSetting,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Updates the checkbox and warning in settings.
|
// Updates the checkbox and warning in settings.
|
||||||
@ -125,10 +119,6 @@ function settingSetEmit(name, value) {
|
|||||||
|
|
||||||
// When sync is `true` the setting will also be send to the backend for syncing.
|
// When sync is `true` the setting will also be send to the backend for syncing.
|
||||||
function updateSetting(name, value, sync) {
|
function updateSetting(name, value, sync) {
|
||||||
const currentOption = settings[name];
|
|
||||||
|
|
||||||
// Only update and process when the setting is actually changed.
|
|
||||||
if (currentOption !== value) {
|
|
||||||
settings[name] = value;
|
settings[name] = value;
|
||||||
storage.set("settings", JSON.stringify(settings));
|
storage.set("settings", JSON.stringify(settings));
|
||||||
applySetting(name, value);
|
applySetting(name, value);
|
||||||
@ -136,12 +126,6 @@ function updateSetting(name, value, sync) {
|
|||||||
// Sync is checked, request settings from server.
|
// Sync is checked, request settings from server.
|
||||||
if (name === "syncSettings" && value) {
|
if (name === "syncSettings" && value) {
|
||||||
socket.emit("setting:get");
|
socket.emit("setting:get");
|
||||||
$syncWarningOverride.hide();
|
|
||||||
$syncWarningBase.hide();
|
|
||||||
$forceSyncButton.hide();
|
|
||||||
} else if (name === "syncSettings") {
|
|
||||||
$syncWarningOverride.show();
|
|
||||||
$forceSyncButton.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.syncSettings && !noSync.includes(name) && sync) {
|
if (settings.syncSettings && !noSync.includes(name) && sync) {
|
||||||
@ -149,7 +133,6 @@ function updateSetting(name, value, sync) {
|
|||||||
} else if (alwaysSync.includes(name) && sync) {
|
} else if (alwaysSync.includes(name) && sync) {
|
||||||
settingSetEmit(name, value);
|
settingSetEmit(name, value);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function syncAllSettings(force = false) {
|
function syncAllSettings(force = false) {
|
||||||
@ -162,31 +145,11 @@ function syncAllSettings(force = false) {
|
|||||||
settingSetEmit(name, settings[name]);
|
settingSetEmit(name, settings[name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$syncWarningOverride.hide();
|
|
||||||
$syncWarningBase.hide();
|
|
||||||
$forceSyncButton.hide();
|
|
||||||
} else {
|
|
||||||
$syncWarningOverride.hide();
|
|
||||||
$forceSyncButton.hide();
|
|
||||||
$syncWarningBase.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If `save` is set to true it will pass the setting to `updateSetting()` processSetting
|
// If `save` is set to true it will pass the setting to `updateSetting()` processSetting
|
||||||
function processSetting(name, value, save) {
|
function processSetting(name, value, save) {
|
||||||
if (name === "highlights") {
|
|
||||||
$settings.find(`input[name=${name}]`).val(value);
|
|
||||||
} else if (name === "nickPostfix") {
|
|
||||||
$settings.find(`input[name=${name}]`).val(value);
|
|
||||||
} else if (name === "statusMessages") {
|
|
||||||
$settings.find(`input[name=${name}][value=${value}]`).prop("checked", true);
|
|
||||||
} else if (name === "theme") {
|
|
||||||
$settings.find("#theme-select").val(value);
|
|
||||||
} else if (typeof value === "boolean") {
|
|
||||||
$settings.find(`input[name=${name}]`).prop("checked", value);
|
|
||||||
}
|
|
||||||
|
|
||||||
// No need to also call processSetting when `save` is true.
|
// No need to also call processSetting when `save` is true.
|
||||||
// updateSetting does take care of that.
|
// updateSetting does take care of that.
|
||||||
if (save) {
|
if (save) {
|
||||||
@ -198,10 +161,6 @@ function processSetting(name, value, save) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function initialize() {
|
function initialize() {
|
||||||
$syncWarningOverride = $settings.find(".sync-warning-override");
|
|
||||||
$syncWarningBase = $settings.find(".sync-warning-base");
|
|
||||||
$forceSyncButton = $settings.find(".force-sync-button");
|
|
||||||
|
|
||||||
module.exports.initialized = true;
|
module.exports.initialized = true;
|
||||||
|
|
||||||
// Settings have now entirely updated, apply settings to the client.
|
// Settings have now entirely updated, apply settings to the client.
|
||||||
@ -217,28 +176,6 @@ function initialize() {
|
|||||||
vueApp.desktopNotificationState = "unsupported";
|
vueApp.desktopNotificationState = "unsupported";
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
$settings.on("change", "input, select, textarea", function(e) {
|
|
||||||
// We only want to trigger on human triggered changes.
|
|
||||||
if (e.originalEvent) {
|
|
||||||
const $self = $(this);
|
|
||||||
const type = $self.prop("type");
|
|
||||||
const name = $self.prop("name");
|
|
||||||
|
|
||||||
if (type === "radio") {
|
|
||||||
if ($self.prop("checked")) {
|
|
||||||
updateSetting(name, $self.val(), true);
|
|
||||||
}
|
|
||||||
} else if (type === "checkbox") {
|
|
||||||
updateSetting(name, $self.prop("checked"), true);
|
|
||||||
settings[name] = $self.prop("checked");
|
|
||||||
} else if (type !== "password") {
|
|
||||||
updateSetting(name, $self.val(), true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Local init is done, let's sync
|
// Local init is done, let's sync
|
||||||
// We always ask for synced settings even if it is disabled.
|
// We always ask for synced settings even if it is disabled.
|
||||||
// Settings can be mandatory to sync and it is used to determine sync base state.
|
// Settings can be mandatory to sync and it is used to determine sync base state.
|
||||||
|
@ -56,26 +56,6 @@ socket.on("configuration", function(data) {
|
|||||||
document.querySelector('meta[name="theme-color"]').content = currentTheme.themeColor;
|
document.querySelector('meta[name="theme-color"]').content = currentTheme.themeColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
function handleFormSubmit() {
|
|
||||||
const form = $(this);
|
|
||||||
const event = form.data("event");
|
|
||||||
|
|
||||||
form.find(".btn").prop("disabled", true);
|
|
||||||
|
|
||||||
const values = {};
|
|
||||||
$.each(form.serializeArray(), function(i, obj) {
|
|
||||||
if (obj.value !== "") {
|
|
||||||
values[obj.name] = obj.value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
socket.emit(event, values);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// TODO: move to component (this mirrors the nick to the username field if the username is empty)
|
// TODO: move to component (this mirrors the nick to the username field if the username is empty)
|
||||||
connect.on("show", function() {
|
connect.on("show", function() {
|
||||||
connect
|
connect
|
||||||
|
Loading…
Reference in New Issue
Block a user