1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-02-19 20:55:55 +01:00

app: add ability to override settings from query params

This commit is contained in:
Kushagra Gour 2019-06-26 13:10:35 +05:30
parent 2e29a89c27
commit dae410b1d4
3 changed files with 39 additions and 4 deletions

View File

@ -69,7 +69,9 @@ export default class CodeEditor extends Component {
const { prefs } = nextProps;
if (this.props.type === 'monaco') {
this.instance.updateOptions({ fontSize: prefs.fontSize });
this.editorReadyDeferred.promise.then(() => {
this.instance.updateOptions({ fontSize: prefs.fontSize });
});
} else {
this.instance.setOption(
'indentWithTabs',

View File

@ -715,7 +715,13 @@ export default class ContentWrap extends Component {
</div>
</div>
<CodeEditor
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
type={
window.forcedSettings.isMonacoEditorOn === true ||
(this.props.prefs.isMonacoEditorOn &&
window.forcedSettings.isMonacoEditorOn !== false)
? 'monaco'
: 'codemirror'
}
options={{
mode: 'htmlmixed',
profile: 'xhtml',
@ -792,7 +798,13 @@ export default class ContentWrap extends Component {
</div>
</div>
<CodeEditor
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
type={
window.forcedSettings.isMonacoEditorOn === true ||
(this.props.prefs.isMonacoEditorOn &&
window.forcedSettings.isMonacoEditorOn !== false)
? 'monaco'
: 'codemirror'
}
options={{
mode: 'css',
gutters: [
@ -857,7 +869,13 @@ export default class ContentWrap extends Component {
</div>
</div>
<CodeEditor
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
type={
window.forcedSettings.isMonacoEditorOn === true ||
(this.props.prefs.isMonacoEditorOn &&
window.forcedSettings.isMonacoEditorOn !== false)
? 'monaco'
: 'codemirror'
}
options={{
mode: 'javascript',
gutters: [

View File

@ -79,6 +79,21 @@ const LocalStorageKeys = {
const UNSAVED_WARNING_COUNT = 15;
const version = '4.0.1';
// Read forced settings as query parameters
window.forcedSettings = {};
if (location.search) {
let match = location.search.replace(/^\?/, '').match(/settings=([^=]*)/);
if (match) {
match = match[1];
match.split(',').map(pair => {
pair = pair.split(':');
if (pair[1] === 'true') pair[1] = true;
else if (pair[1] === 'false') pair[1] = false;
window.forcedSettings[pair[0]] = pair[1];
});
}
}
export default class App extends Component {
constructor() {
super();