mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-12 09:36:32 +02:00
app: add ability to override settings from query params
This commit is contained in:
@ -69,7 +69,9 @@ export default class CodeEditor extends Component {
|
|||||||
const { prefs } = nextProps;
|
const { prefs } = nextProps;
|
||||||
|
|
||||||
if (this.props.type === 'monaco') {
|
if (this.props.type === 'monaco') {
|
||||||
|
this.editorReadyDeferred.promise.then(() => {
|
||||||
this.instance.updateOptions({ fontSize: prefs.fontSize });
|
this.instance.updateOptions({ fontSize: prefs.fontSize });
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this.instance.setOption(
|
this.instance.setOption(
|
||||||
'indentWithTabs',
|
'indentWithTabs',
|
||||||
|
@ -715,7 +715,13 @@ export default class ContentWrap extends Component {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<CodeEditor
|
<CodeEditor
|
||||||
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
|
type={
|
||||||
|
window.forcedSettings.isMonacoEditorOn === true ||
|
||||||
|
(this.props.prefs.isMonacoEditorOn &&
|
||||||
|
window.forcedSettings.isMonacoEditorOn !== false)
|
||||||
|
? 'monaco'
|
||||||
|
: 'codemirror'
|
||||||
|
}
|
||||||
options={{
|
options={{
|
||||||
mode: 'htmlmixed',
|
mode: 'htmlmixed',
|
||||||
profile: 'xhtml',
|
profile: 'xhtml',
|
||||||
@ -792,7 +798,13 @@ export default class ContentWrap extends Component {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<CodeEditor
|
<CodeEditor
|
||||||
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
|
type={
|
||||||
|
window.forcedSettings.isMonacoEditorOn === true ||
|
||||||
|
(this.props.prefs.isMonacoEditorOn &&
|
||||||
|
window.forcedSettings.isMonacoEditorOn !== false)
|
||||||
|
? 'monaco'
|
||||||
|
: 'codemirror'
|
||||||
|
}
|
||||||
options={{
|
options={{
|
||||||
mode: 'css',
|
mode: 'css',
|
||||||
gutters: [
|
gutters: [
|
||||||
@ -857,7 +869,13 @@ export default class ContentWrap extends Component {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<CodeEditor
|
<CodeEditor
|
||||||
type={this.props.prefs.isMonacoEditorOn ? 'monaco' : 'codemirror'}
|
type={
|
||||||
|
window.forcedSettings.isMonacoEditorOn === true ||
|
||||||
|
(this.props.prefs.isMonacoEditorOn &&
|
||||||
|
window.forcedSettings.isMonacoEditorOn !== false)
|
||||||
|
? 'monaco'
|
||||||
|
: 'codemirror'
|
||||||
|
}
|
||||||
options={{
|
options={{
|
||||||
mode: 'javascript',
|
mode: 'javascript',
|
||||||
gutters: [
|
gutters: [
|
||||||
|
@ -79,6 +79,21 @@ const LocalStorageKeys = {
|
|||||||
const UNSAVED_WARNING_COUNT = 15;
|
const UNSAVED_WARNING_COUNT = 15;
|
||||||
const version = '4.0.1';
|
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 {
|
export default class App extends Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
Reference in New Issue
Block a user