feat(core): add open link in app to doc menu (#8597)
add "open in desktop app" menu item for editor fix AF-1547
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import type { Framework } from '@toeverything/infra';
|
||||
|
||||
import { ClientSchemaProvider } from './providers/client-schema';
|
||||
import { ClientSchemeProvider } from './providers/client-schema';
|
||||
import { PopupWindowProvider } from './providers/popup-window';
|
||||
import { UrlService } from './services/url';
|
||||
|
||||
export { ClientSchemaProvider } from './providers/client-schema';
|
||||
export { ClientSchemeProvider } from './providers/client-schema';
|
||||
export { PopupWindowProvider } from './providers/popup-window';
|
||||
export { UrlService } from './services/url';
|
||||
|
||||
@@ -14,7 +14,7 @@ export const configureUrlModule = (container: Framework) => {
|
||||
f =>
|
||||
new UrlService(
|
||||
f.getOptional(PopupWindowProvider),
|
||||
f.getOptional(ClientSchemaProvider)
|
||||
f.getOptional(ClientSchemeProvider)
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { createIdentifier } from '@toeverything/infra';
|
||||
|
||||
export interface ClientSchemaProvider {
|
||||
export interface ClientSchemeProvider {
|
||||
/**
|
||||
* Get the client schema in the current environment, used for the user to complete the authentication process in the browser and redirect back to the app.
|
||||
*/
|
||||
getClientSchema(): string | undefined;
|
||||
getClientScheme(): string | undefined;
|
||||
}
|
||||
|
||||
export const ClientSchemaProvider = createIdentifier<ClientSchemaProvider>(
|
||||
'ClientSchemaProvider'
|
||||
export const ClientSchemeProvider = createIdentifier<ClientSchemeProvider>(
|
||||
'ClientSchemeProvider'
|
||||
);
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
import { Service } from '@toeverything/infra';
|
||||
|
||||
import type { ClientSchemaProvider } from '../providers/client-schema';
|
||||
import type { ClientSchemeProvider } from '../providers/client-schema';
|
||||
import type { PopupWindowProvider } from '../providers/popup-window';
|
||||
|
||||
export class UrlService extends Service {
|
||||
constructor(
|
||||
// those providers are optional, because they are not always available in some environments
|
||||
private readonly popupWindowProvider?: PopupWindowProvider,
|
||||
private readonly clientSchemaProvider?: ClientSchemaProvider
|
||||
private readonly clientSchemeProvider?: ClientSchemeProvider
|
||||
) {
|
||||
super();
|
||||
}
|
||||
|
||||
getClientSchema() {
|
||||
return this.clientSchemaProvider?.getClientSchema();
|
||||
getClientScheme() {
|
||||
return this.clientSchemeProvider?.getClientScheme();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user