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:
parent
2e29a89c27
commit
dae410b1d4
@ -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',
|
||||
|
@ -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: [
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user