mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 13:55:41 +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++;
|
||||
}
|
||||
|
||||
@action
|
||||
useLatestDev(): void {
|
||||
this._sourceOverride = undefined;
|
||||
this.model.settings.setSettings({
|
||||
...this.model.settings.settings,
|
||||
...Source.useLatestDev().toPartialSettings(),
|
||||
});
|
||||
this.historyId++;
|
||||
}
|
||||
|
||||
@action
|
||||
saveSourceOverride(): void {
|
||||
if (this._sourceOverride) {
|
||||
|
|
@ -662,22 +672,26 @@ function findLastIndex<T>(
|
|||
}
|
||||
|
||||
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(
|
||||
sourceStr: string | undefined,
|
||||
sourceLanguagesStr: string | undefined
|
||||
): Source {
|
||||
if (sourceStr === "latest-dev") {
|
||||
// The versions are already loaded
|
||||
const versions = getNpmVersionsSync(undefined);
|
||||
const version = versions.find((v) => v.indexOf("-dev-") !== -1);
|
||||
return new Source(version, undefined, sourceLanguagesStr);
|
||||
return Source.useLatestDev(sourceLanguagesStr);
|
||||
}
|
||||
if (sourceStr === "latest") {
|
||||
return new Source(
|
||||
monacoEditorVersion,
|
||||
undefined,
|
||||
sourceLanguagesStr
|
||||
);
|
||||
return Source.useLatest(sourceLanguagesStr);
|
||||
}
|
||||
|
||||
if (sourceStr && sourceStr.startsWith("v")) {
|
||||
|
|
|
|||
|
|
@ -192,6 +192,15 @@ export class PlaygroundPageContent extends React.Component<
|
|||
.version ?? "url"}{" "}
|
||||
override
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-secondary"
|
||||
onClick={() =>
|
||||
model.serializer.useLatestDev()
|
||||
}
|
||||
>
|
||||
Use latest dev
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="btn btn-secondary"
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ export async function getNpmVersions(): Promise<string[]> {
|
|||
return npmVersionsPromise!;
|
||||
}
|
||||
|
||||
getNpmVersions();
|
||||
|
||||
async function loadNpmVersions(): Promise<string[]> {
|
||||
if (npmVersionsPromise === undefined) {
|
||||
npmVersionsPromise = _getNpmVersions();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue