redirect co.uk scripts to v0 (#1427)

* detect attempt at loading td script

* don't try to import

* bump pxt
This commit is contained in:
Peli de Halleux 2018-10-15 11:42:40 -07:00 committed by GitHub
parent e2dbfae291
commit 2facbd43c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 6 deletions

View File

@ -786,6 +786,20 @@ namespace pxt.editor {
initExtensionsAsync = function (opts: pxt.editor.ExtensionOptions): Promise<pxt.editor.ExtensionResult> {
pxt.debug('loading microbit target extensions...')
function cantImportAsync(project: pxt.editor.IProjectView) {
// this feature is support in v0 only
return project.showModalDialogAsync({
header: lf("Can't import microbit.co.uk scripts..."),
body: lf("Importing microbit.co.uk programs is not supported in this editor anymore. Please open this script in the https://makecode.microbit.org/v0 editor."),
buttons: [
{
label: lf("Go to the old editor"),
url: `https://makecode.microbit.org/v0`
}
]
}).then(() => project.openHome())
}
if (!Math.imul)
Math.imul = function (a, b) {
const ah = (a >>> 16) & 0xffff;
@ -801,11 +815,17 @@ namespace pxt.editor {
hexFileImporters: [{
id: "blockly",
canImport: data => data.meta.cloudId == "microbit.co.uk" && data.meta.editor == "blockly",
importAsync: (project, data) => project.createProjectAsync({
filesOverride: {
"main.blocks": data.source
}, name: data.meta.name
})
importAsync: (project, data) => {
pxt.tickEvent('import.legacyblocks.redirect');
return cantImportAsync(project);
}
}, {
id: "td",
canImport: data => data.meta.cloudId == "microbit.co.uk" && data.meta.editor == "touchdevelop",
importAsync: (project, data) => {
pxt.tickEvent('import.legacytd.redirect');
return cantImportAsync(project);
}
}]
};

View File

@ -43,6 +43,6 @@
},
"dependencies": {
"pxt-common-packages": "0.24.2",
"pxt-core": "4.1.31"
"pxt-core": "4.1.32"
}
}