mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-23 23:11:12 +02:00
fix preview before mode is loaded, fixes #575
This commit is contained in:
@@ -219,6 +219,11 @@ export default class ContentWrap extends Component {
|
|||||||
* @param {boolean} isManual Is this a manual preview request from user?
|
* @param {boolean} isManual Is this a manual preview request from user?
|
||||||
*/
|
*/
|
||||||
setPreviewContent(isForced, isManual) {
|
setPreviewContent(isForced, isManual) {
|
||||||
|
console.log(
|
||||||
|
'🔎 setPreviewContent',
|
||||||
|
this.cmCodes.css,
|
||||||
|
this.props.currentItem
|
||||||
|
);
|
||||||
if (!isManual) {
|
if (!isManual) {
|
||||||
let autoPreview =
|
let autoPreview =
|
||||||
window.forcedSettings.autoPreview !== undefined
|
window.forcedSettings.autoPreview !== undefined
|
||||||
@@ -309,6 +314,16 @@ export default class ContentWrap extends Component {
|
|||||||
isValidItem(item) {
|
isValidItem(item) {
|
||||||
return !!item.title;
|
return !!item.title;
|
||||||
}
|
}
|
||||||
|
handleAllModeRequirements() {
|
||||||
|
if (!this.props.currentItem) {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
return Promise.all([
|
||||||
|
handleModeRequirements(this.props.currentItem.htmlMode),
|
||||||
|
handleModeRequirements(this.props.currentItem.cssMode),
|
||||||
|
handleModeRequirements(this.props.currentItem.jsMode)
|
||||||
|
]);
|
||||||
|
}
|
||||||
refreshEditor() {
|
refreshEditor() {
|
||||||
this.cmCodes.html = this.props.currentItem.html;
|
this.cmCodes.html = this.props.currentItem.html;
|
||||||
this.cmCodes.css = this.props.currentItem.css;
|
this.cmCodes.css = this.props.currentItem.css;
|
||||||
|
@@ -281,6 +281,7 @@ export default class App extends Component {
|
|||||||
code: ''
|
code: ''
|
||||||
},
|
},
|
||||||
result => {
|
result => {
|
||||||
|
// debugger;
|
||||||
this.toggleLayout(result.layoutMode);
|
this.toggleLayout(result.layoutMode);
|
||||||
this.state.prefs.layoutMode = result.layoutMode;
|
this.state.prefs.layoutMode = result.layoutMode;
|
||||||
if (result.code) {
|
if (result.code) {
|
||||||
@@ -824,8 +825,9 @@ export default class App extends Component {
|
|||||||
$('#layoutBtn' + mode).classList.add('selected');
|
$('#layoutBtn' + mode).classList.add('selected');
|
||||||
document.body.classList.add('layout-' + mode);
|
document.body.classList.add('layout-' + mode);
|
||||||
|
|
||||||
this.setState({ currentLayoutMode: mode }, () => {
|
this.setState({ currentLayoutMode: mode }, async () => {
|
||||||
this.contentWrap.resetSplitting();
|
this.contentWrap.resetSplitting();
|
||||||
|
await this.contentWrap.handleAllModeRequirements();
|
||||||
this.contentWrap.setPreviewContent(true);
|
this.contentWrap.setPreviewContent(true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -607,6 +607,9 @@ export function prettify({ file, content, type }) {
|
|||||||
* Loaded the code comiler based on the mode selected
|
* Loaded the code comiler based on the mode selected
|
||||||
*/
|
*/
|
||||||
export function handleModeRequirements(mode) {
|
export function handleModeRequirements(mode) {
|
||||||
|
if (!mode) {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
const baseTranspilerPath = 'lib/transpilers';
|
const baseTranspilerPath = 'lib/transpilers';
|
||||||
// Exit if already loaded
|
// Exit if already loaded
|
||||||
var d = deferred();
|
var d = deferred();
|
||||||
|
Reference in New Issue
Block a user