Compare commits
2 Commits
46d1ad221f
...
b5e480a486
Author | SHA1 | Date | |
---|---|---|---|
b5e480a486 | |||
bf128babcc |
@ -183,7 +183,8 @@ interface SettingsInterface {
|
||||
offsetX: number, // fed to translateX(offsetX + '%'). Valid range [-100, 0]
|
||||
offsetY: number // fed to translateY(offsetY + '%'). Valid range [-100, 100]
|
||||
},
|
||||
}
|
||||
},
|
||||
devMode?: boolean,
|
||||
}
|
||||
|
||||
restrictions?: RestrictionsSettings;
|
||||
|
@ -30,22 +30,26 @@
|
||||
<div
|
||||
v-for="tab of tabs"
|
||||
:key="tab.id"
|
||||
class="tab"
|
||||
:class="{
|
||||
'active': tab.id === selectedTab,
|
||||
'highlight-tab': tab.highlight,
|
||||
}"
|
||||
@click="selectTab(tab.id)"
|
||||
>
|
||||
<div class="icon-container">
|
||||
<mdicon
|
||||
v-if="tab.icon"
|
||||
:name="tab.icon"
|
||||
:size="32"
|
||||
/>
|
||||
</div>
|
||||
<div class="label">
|
||||
{{tab.label}}
|
||||
<div
|
||||
v-if="!tab.hidden"
|
||||
class="tab"
|
||||
:class="{
|
||||
'active': tab.id === selectedTab,
|
||||
'highlight-tab': tab.highlight,
|
||||
}"
|
||||
@click="selectTab(tab.id)"
|
||||
>
|
||||
<div class="icon-container">
|
||||
<mdicon
|
||||
v-if="tab.icon"
|
||||
:name="tab.icon"
|
||||
:size="32"
|
||||
/>
|
||||
</div>
|
||||
<div class="label">
|
||||
{{tab.label}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -171,7 +175,7 @@ export default {
|
||||
// {id: 'advancedOptions', label: 'Advanced options', icon: 'cogs' },
|
||||
{id: 'changelog', label: 'What\'s new', icon: 'alert-decagram' },
|
||||
{id: 'about', label: 'About', icon: 'information-outline'},
|
||||
{id: 'debugging', label: 'Debugging', icon: 'bug-outline' },
|
||||
{id: 'debugging', label: 'Debugging', icon: 'bug-outline', hidden: true},
|
||||
],
|
||||
selectedTab: 'extensionSettings',
|
||||
BrowserDetect: BrowserDetect,
|
||||
@ -196,6 +200,8 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.settings.listenAfterChange(this.setDebugTabVisibility);
|
||||
|
||||
if (this.defaultTab) {
|
||||
this.selectedTab = this.defaultTab;
|
||||
}
|
||||
@ -213,8 +219,10 @@ export default {
|
||||
},
|
||||
}
|
||||
)
|
||||
this.setDebugTabVisibility();
|
||||
},
|
||||
destroyed() {
|
||||
this.settings.removeListenerAfterChange(this.setDebugTabVisibility);
|
||||
this.eventBus.unsubscribeAll(this);
|
||||
},
|
||||
methods: {
|
||||
@ -230,6 +238,12 @@ export default {
|
||||
setPreventClose(bool) {
|
||||
this.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -90,11 +90,15 @@
|
||||
|
||||
<div v-if="enableSettingsEditor" class="field">
|
||||
<div class="label">Show developer options</div>
|
||||
<input v-model="showSettingsEditor" type="checkbox">
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="settings.active.ui.devMode"
|
||||
@change="settings.saveWithoutReload"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="enableSettingsEditor && showSettingsEditor" class="h-full grow">
|
||||
<div v-if="enableSettingsEditor && settings.active.ui.devMode" class="h-full grow">
|
||||
<h2>Settings editor</h2>
|
||||
<div class="flex flex-row w-full">
|
||||
<div class="flex flex-row">
|
||||
@ -144,7 +148,6 @@ export default {
|
||||
return {
|
||||
tab: 'siteSettings',
|
||||
importSettingDialogConfig: {visible: false},
|
||||
showSettingsEditor: false,
|
||||
allowSettingsEditing: false,
|
||||
editorSaveFinished: false,
|
||||
settingsJson: {},
|
||||
@ -206,7 +209,6 @@ export default {
|
||||
},
|
||||
|
||||
handleImportedSettings(newSettings) {
|
||||
console.log('new settings received:', newSettings)
|
||||
this.importSettingDialogConfig = {
|
||||
visible: true,
|
||||
confirm: () => {
|
||||
@ -235,14 +237,12 @@ export default {
|
||||
},
|
||||
|
||||
saveSettingsChanges() {
|
||||
console.log(' saving settings changes ...', this.allowSettingsEditing)
|
||||
|
||||
if (this.allowSettingsEditing) {
|
||||
this.settings.active = this.settingsJson;
|
||||
this.settings.saveWithoutReload();
|
||||
this.resetSettingsEditor();
|
||||
this.editorSaveFinished = true;
|
||||
console.log('save finished ...')
|
||||
|
||||
setTimeout(() => {
|
||||
this.editorSaveFinished = false;
|
||||
}, 3000);
|
||||
|
@ -37,8 +37,8 @@ class Settings {
|
||||
onSettingsChanged: any;
|
||||
afterSettingsSaved: any;
|
||||
|
||||
onChangedCallbacks: any[] = [];
|
||||
afterSettingsChangedCallbacks: any[] = [];
|
||||
onChangedCallbacks: (() => void)[] = [];
|
||||
afterSettingsChangedCallbacks: (() => void)[] = [];
|
||||
//#endregion
|
||||
|
||||
constructor(options) {
|
||||
@ -398,9 +398,15 @@ class Settings {
|
||||
listenOnChange(fn: () => void): void {
|
||||
this.onChangedCallbacks.push(fn);
|
||||
}
|
||||
removeOnChangeListener(fn: () => void): void {
|
||||
this.onChangedCallbacks = this.afterSettingsChangedCallbacks.filter(x => x !== fn);
|
||||
}
|
||||
listenAfterChange(fn: () => void): void {
|
||||
this.afterSettingsChangedCallbacks.push(fn);
|
||||
}
|
||||
removeAfterChangeListener(fn: () => void): void {
|
||||
this.afterSettingsChangedCallbacks = this.afterSettingsChangedCallbacks.filter(x => x !== fn);
|
||||
}
|
||||
}
|
||||
|
||||
export default Settings;
|
||||
|
14
src/ext/lib/logging/LogAggregator.ts
Normal file
14
src/ext/lib/logging/LogAggregator.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import { log } from 'console';
|
||||
|
||||
|
||||
|
||||
export class LogAggregator {
|
||||
|
||||
history: any[];
|
||||
|
||||
log(message: any, originData: any) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
21
src/ext/lib/logging/LogConfig.interface.ts
Normal file
21
src/ext/lib/logging/LogConfig.interface.ts
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
|
||||
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,
|
||||
}
|
||||
}
|
10
src/ext/lib/logging/LogHistory.ts
Normal file
10
src/ext/lib/logging/LogHistory.ts
Normal file
@ -0,0 +1,10 @@
|
||||
export interface LogMessageOrigin {
|
||||
component: string,
|
||||
environment: string,
|
||||
}
|
||||
|
||||
export interface LogMessage {
|
||||
time: Date;
|
||||
message: any,
|
||||
origin: LogMessageOrigin
|
||||
}
|
Loading…
Reference in New Issue
Block a user