Compare commits

..

No commits in common. "b5e480a48677039e7179cf11fbc573f71118878b" and "46d1ad221f203872c7330b07735fb6c409b2c78d" have entirely different histories.

7 changed files with 26 additions and 92 deletions

View File

@ -183,8 +183,7 @@ interface SettingsInterface {
offsetX: number, // fed to translateX(offsetX + '%'). Valid range [-100, 0] offsetX: number, // fed to translateX(offsetX + '%'). Valid range [-100, 0]
offsetY: number // fed to translateY(offsetY + '%'). Valid range [-100, 100] offsetY: number // fed to translateY(offsetY + '%'). Valid range [-100, 100]
}, },
}, }
devMode?: boolean,
} }
restrictions?: RestrictionsSettings; restrictions?: RestrictionsSettings;

View File

@ -30,26 +30,22 @@
<div <div
v-for="tab of tabs" v-for="tab of tabs"
:key="tab.id" :key="tab.id"
class="tab"
:class="{
'active': tab.id === selectedTab,
'highlight-tab': tab.highlight,
}"
@click="selectTab(tab.id)"
> >
<div <div class="icon-container">
v-if="!tab.hidden" <mdicon
class="tab" v-if="tab.icon"
:class="{ :name="tab.icon"
'active': tab.id === selectedTab, :size="32"
'highlight-tab': tab.highlight, />
}" </div>
@click="selectTab(tab.id)" <div class="label">
> {{tab.label}}
<div class="icon-container">
<mdicon
v-if="tab.icon"
:name="tab.icon"
:size="32"
/>
</div>
<div class="label">
{{tab.label}}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -175,7 +171,7 @@ export default {
// {id: 'advancedOptions', label: 'Advanced options', icon: 'cogs' }, // {id: 'advancedOptions', label: 'Advanced options', icon: 'cogs' },
{id: 'changelog', label: 'What\'s new', icon: 'alert-decagram' }, {id: 'changelog', label: 'What\'s new', icon: 'alert-decagram' },
{id: 'about', label: 'About', icon: 'information-outline'}, {id: 'about', label: 'About', icon: 'information-outline'},
{id: 'debugging', label: 'Debugging', icon: 'bug-outline', hidden: true}, {id: 'debugging', label: 'Debugging', icon: 'bug-outline' },
], ],
selectedTab: 'extensionSettings', selectedTab: 'extensionSettings',
BrowserDetect: BrowserDetect, BrowserDetect: BrowserDetect,
@ -200,8 +196,6 @@ export default {
} }
}, },
created() { created() {
this.settings.listenAfterChange(this.setDebugTabVisibility);
if (this.defaultTab) { if (this.defaultTab) {
this.selectedTab = this.defaultTab; this.selectedTab = this.defaultTab;
} }
@ -219,10 +213,8 @@ export default {
}, },
} }
) )
this.setDebugTabVisibility();
}, },
destroyed() { destroyed() {
this.settings.removeListenerAfterChange(this.setDebugTabVisibility);
this.eventBus.unsubscribeAll(this); this.eventBus.unsubscribeAll(this);
}, },
methods: { methods: {
@ -238,12 +230,6 @@ export default {
setPreventClose(bool) { setPreventClose(bool) {
this.preventClose = bool; this.preventClose = bool;
this.$emit('preventClose', bool); this.$emit('preventClose', bool);
},
setDebugTabVisibility() {
const debugTab = this.tabs.find( x => x.id === 'debugging');
if (debugTab) {
debugTab.hidden = !this.settings.active.ui.devMode;
}
} }
} }
} }

View File

@ -90,15 +90,11 @@
<div v-if="enableSettingsEditor" class="field"> <div v-if="enableSettingsEditor" class="field">
<div class="label">Show developer options</div> <div class="label">Show developer options</div>
<input <input v-model="showSettingsEditor" type="checkbox">
type="checkbox"
v-model="settings.active.ui.devMode"
@change="settings.saveWithoutReload"
>
</div> </div>
</div> </div>
</div> </div>
<div v-if="enableSettingsEditor && settings.active.ui.devMode" class="h-full grow"> <div v-if="enableSettingsEditor && showSettingsEditor" class="h-full grow">
<h2>Settings editor</h2> <h2>Settings editor</h2>
<div class="flex flex-row w-full"> <div class="flex flex-row w-full">
<div class="flex flex-row"> <div class="flex flex-row">
@ -148,6 +144,7 @@ export default {
return { return {
tab: 'siteSettings', tab: 'siteSettings',
importSettingDialogConfig: {visible: false}, importSettingDialogConfig: {visible: false},
showSettingsEditor: false,
allowSettingsEditing: false, allowSettingsEditing: false,
editorSaveFinished: false, editorSaveFinished: false,
settingsJson: {}, settingsJson: {},
@ -209,6 +206,7 @@ export default {
}, },
handleImportedSettings(newSettings) { handleImportedSettings(newSettings) {
console.log('new settings received:', newSettings)
this.importSettingDialogConfig = { this.importSettingDialogConfig = {
visible: true, visible: true,
confirm: () => { confirm: () => {
@ -237,12 +235,14 @@ export default {
}, },
saveSettingsChanges() { saveSettingsChanges() {
console.log(' saving settings changes ...', this.allowSettingsEditing)
if (this.allowSettingsEditing) { if (this.allowSettingsEditing) {
this.settings.active = this.settingsJson; this.settings.active = this.settingsJson;
this.settings.saveWithoutReload(); this.settings.saveWithoutReload();
this.resetSettingsEditor(); this.resetSettingsEditor();
this.editorSaveFinished = true; this.editorSaveFinished = true;
console.log('save finished ...')
setTimeout(() => { setTimeout(() => {
this.editorSaveFinished = false; this.editorSaveFinished = false;
}, 3000); }, 3000);

View File

@ -37,8 +37,8 @@ class Settings {
onSettingsChanged: any; onSettingsChanged: any;
afterSettingsSaved: any; afterSettingsSaved: any;
onChangedCallbacks: (() => void)[] = []; onChangedCallbacks: any[] = [];
afterSettingsChangedCallbacks: (() => void)[] = []; afterSettingsChangedCallbacks: any[] = [];
//#endregion //#endregion
constructor(options) { constructor(options) {
@ -398,15 +398,9 @@ class Settings {
listenOnChange(fn: () => void): void { listenOnChange(fn: () => void): void {
this.onChangedCallbacks.push(fn); this.onChangedCallbacks.push(fn);
} }
removeOnChangeListener(fn: () => void): void {
this.onChangedCallbacks = this.afterSettingsChangedCallbacks.filter(x => x !== fn);
}
listenAfterChange(fn: () => void): void { listenAfterChange(fn: () => void): void {
this.afterSettingsChangedCallbacks.push(fn); this.afterSettingsChangedCallbacks.push(fn);
} }
removeAfterChangeListener(fn: () => void): void {
this.afterSettingsChangedCallbacks = this.afterSettingsChangedCallbacks.filter(x => x !== fn);
}
} }
export default Settings; export default Settings;

View File

@ -1,14 +0,0 @@
import { log } from 'console';
export class LogAggregator {
history: any[];
log(message: any, originData: any) {
}
}

View File

@ -1,21 +0,0 @@
export default interface LogConfig {
outputs: {
console: boolean,
buffer: boolean,
},
components: {
settings?: boolean,
aard?: boolean,
videoData?: boolean,
resizer?: boolean,
comms?: boolean,
},
environments: {
page: boolean,
popup: boolean,
ui: boolean,
uwServer: boolean,
}
}

View File

@ -1,10 +0,0 @@
export interface LogMessageOrigin {
component: string,
environment: string,
}
export interface LogMessage {
time: Date;
message: any,
origin: LogMessageOrigin
}