mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 19:42:56 +01:00
Adds "use latest dev" button
This commit is contained in:
parent
31b04afb94
commit
04ece42881
3 changed files with 34 additions and 9 deletions
|
|
@ -404,6 +404,16 @@ class StateUrlSerializer implements IHistoryModel {
|
||||||
this.historyId++;
|
this.historyId++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
useLatestDev(): void {
|
||||||
|
this._sourceOverride = undefined;
|
||||||
|
this.model.settings.setSettings({
|
||||||
|
...this.model.settings.settings,
|
||||||
|
...Source.useLatestDev().toPartialSettings(),
|
||||||
|
});
|
||||||
|
this.historyId++;
|
||||||
|
}
|
||||||
|
|
||||||
@action
|
@action
|
||||||
saveSourceOverride(): void {
|
saveSourceOverride(): void {
|
||||||
if (this._sourceOverride) {
|
if (this._sourceOverride) {
|
||||||
|
|
@ -662,22 +672,26 @@ function findLastIndex<T>(
|
||||||
}
|
}
|
||||||
|
|
||||||
class Source {
|
class Source {
|
||||||
|
public static useLatestDev(sourceLanguagesStr?: string): Source {
|
||||||
|
// Assume the versions are already loaded
|
||||||
|
const versions = getNpmVersionsSync(undefined);
|
||||||
|
const version = versions.find((v) => v.indexOf("-dev-") !== -1);
|
||||||
|
return new Source(version, undefined, sourceLanguagesStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static useLatest(sourceLanguagesStr?: string): Source {
|
||||||
|
return new Source(monacoEditorVersion, undefined, sourceLanguagesStr);
|
||||||
|
}
|
||||||
|
|
||||||
public static parse(
|
public static parse(
|
||||||
sourceStr: string | undefined,
|
sourceStr: string | undefined,
|
||||||
sourceLanguagesStr: string | undefined
|
sourceLanguagesStr: string | undefined
|
||||||
): Source {
|
): Source {
|
||||||
if (sourceStr === "latest-dev") {
|
if (sourceStr === "latest-dev") {
|
||||||
// The versions are already loaded
|
return Source.useLatestDev(sourceLanguagesStr);
|
||||||
const versions = getNpmVersionsSync(undefined);
|
|
||||||
const version = versions.find((v) => v.indexOf("-dev-") !== -1);
|
|
||||||
return new Source(version, undefined, sourceLanguagesStr);
|
|
||||||
}
|
}
|
||||||
if (sourceStr === "latest") {
|
if (sourceStr === "latest") {
|
||||||
return new Source(
|
return Source.useLatest(sourceLanguagesStr);
|
||||||
monacoEditorVersion,
|
|
||||||
undefined,
|
|
||||||
sourceLanguagesStr
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sourceStr && sourceStr.startsWith("v")) {
|
if (sourceStr && sourceStr.startsWith("v")) {
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,15 @@ export class PlaygroundPageContent extends React.Component<
|
||||||
.version ?? "url"}{" "}
|
.version ?? "url"}{" "}
|
||||||
override
|
override
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
className="btn btn-secondary"
|
||||||
|
onClick={() =>
|
||||||
|
model.serializer.useLatestDev()
|
||||||
|
}
|
||||||
|
>
|
||||||
|
Use latest dev
|
||||||
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn btn-secondary"
|
className="btn btn-secondary"
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ export async function getNpmVersions(): Promise<string[]> {
|
||||||
return npmVersionsPromise!;
|
return npmVersionsPromise!;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getNpmVersions();
|
||||||
|
|
||||||
async function loadNpmVersions(): Promise<string[]> {
|
async function loadNpmVersions(): Promise<string[]> {
|
||||||
if (npmVersionsPromise === undefined) {
|
if (npmVersionsPromise === undefined) {
|
||||||
npmVersionsPromise = _getNpmVersions();
|
npmVersionsPromise = _getNpmVersions();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue