Merge pull request #5527 from matrix-org/travis/widget-nav
Wire up MSC2931 widget navigation
This commit is contained in:
commit
83fb698bbc
7 changed files with 34 additions and 5 deletions
|
@ -20,9 +20,16 @@ export enum ElementWidgetActions {
|
|||
ClientReady = "im.vector.ready",
|
||||
HangupCall = "im.vector.hangup",
|
||||
OpenIntegrationManager = "integration_manager_open",
|
||||
|
||||
/**
|
||||
* @deprecated Use MSC2931 instead
|
||||
*/
|
||||
ViewRoom = "io.element.view_room",
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use MSC2931 instead
|
||||
*/
|
||||
export interface IViewRoomApiRequest extends IWidgetApiRequest {
|
||||
data: {
|
||||
room_id: string; // eslint-disable-line camelcase
|
||||
|
|
|
@ -15,5 +15,8 @@
|
|||
*/
|
||||
|
||||
export enum ElementWidgetCapabilities {
|
||||
/**
|
||||
* @deprecated Use MSC2931 instead.
|
||||
*/
|
||||
CanChangeViewedRoom = "io.element.view_room",
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ import { EventType } from "matrix-js-sdk/src/@types/event";
|
|||
import { CHAT_EFFECTS } from "../../effects";
|
||||
import { containsEmoji } from "../../effects/utils";
|
||||
import dis from "../../dispatcher/dispatcher";
|
||||
import {tryTransformPermalinkToLocalHref} from "../../utils/permalinks/Permalinks";
|
||||
|
||||
// TODO: Purge this from the universe
|
||||
|
||||
|
@ -171,4 +172,12 @@ export class StopGapWidgetDriver extends WidgetDriver {
|
|||
},
|
||||
});
|
||||
}
|
||||
|
||||
public async navigate(uri: string): Promise<void> {
|
||||
const localUri = tryTransformPermalinkToLocalHref(uri);
|
||||
if (!localUri || localUri === uri) { // parse failure can lead to an unmodified URL
|
||||
throw new Error("Failed to transform URI");
|
||||
}
|
||||
window.location.hash = localUri; // it'll just be a fragment
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue