Repairs example urls

pull/4019/head
Henning Dieterichs 2 years ago
parent 60a087657e
commit 990456e51f
No known key found for this signature in database
GPG Key ID: 771381EFFDB9EC06

@ -15,6 +15,12 @@
"order": 1
}
},
{
"name": "Website",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080/"
},
{
// Clone VS Code and make sure the task "Launch Http Server" runs.
// Then the editor is build from sources.

@ -322,12 +322,18 @@ function projectEquals(
project2: IPlaygroundProject
): boolean {
return (
project1.css === project2.css &&
project1.html === project2.html &&
project1.js === project2.js
normalizeLineEnding(project1.css) ===
normalizeLineEnding(project2.css) &&
normalizeLineEnding(project1.html) ===
normalizeLineEnding(project2.html) &&
normalizeLineEnding(project1.js) === normalizeLineEnding(project2.js)
);
}
function normalizeLineEnding(str: string): string {
return str.replace(/\r\n/g, "\n");
}
class StateUrlSerializer implements IHistoryModel {
public readonly dispose = Disposable.fn();
@ -443,16 +449,21 @@ class StateUrlSerializer implements IHistoryModel {
this._sourceOverride = source;
}
function findExample(hashValue: string): PlaygroundExample | undefined {
if (hashValue.startsWith("example-")) {
hashValue = hashValue.substring("example-".length);
}
return getPlaygroundExamples()
.flatMap((e) => e.examples)
.find((e) => e.id === hashValue);
}
let example: PlaygroundExample | undefined;
if (!hashValue) {
this.model.selectedExample = getPlaygroundExamples()[0].examples[0];
} else if (hashValue.startsWith("example-")) {
const exampleName = hashValue.substring("example-".length);
const example = getPlaygroundExamples()
.flatMap((e) => e.examples)
.find((e) => e.id === exampleName);
if (example) {
this.model.selectedExample = example;
}
} else if ((example = findExample(hashValue))) {
this.model.selectedExample = example;
} else {
let p: IPlaygroundProject | undefined = undefined;
if (this.cachedState?.hash === hashValue) {

Loading…
Cancel
Save