mirror of
https://github.com/vector-im/element-web.git
synced 2026-05-04 19:56:45 +02:00
Add Stores API
This commit is contained in:
parent
6b4f33bee1
commit
200d52a162
@ -17,6 +17,7 @@ import { AccountAuthApiExtension } from "./auth.ts";
|
||||
import { ProfileApiExtension } from "./profile.ts";
|
||||
import { ExtrasApi } from "./extras.ts";
|
||||
import { BuiltinsApi } from "./builtins.ts";
|
||||
import { StoresApi } from "./stores.ts";
|
||||
import { ClientApi } from "./client.ts";
|
||||
|
||||
/**
|
||||
@ -124,6 +125,11 @@ export interface Api
|
||||
*/
|
||||
readonly extras: ExtrasApi;
|
||||
|
||||
/**
|
||||
* Allows modules to access a limited functionality of certain stores from Element Web.
|
||||
*/
|
||||
readonly stores: StoresApi;
|
||||
|
||||
/**
|
||||
* Access some very specific functionality from the client.
|
||||
*/
|
||||
|
||||
35
packages/element-web-module-api/src/api/stores.ts
Normal file
35
packages/element-web-module-api/src/api/stores.ts
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2025 New Vector Ltd.
|
||||
|
||||
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
import type { Room } from "../models/Room";
|
||||
|
||||
/**
|
||||
* Provides some basic functionality of the Room List Store from element-web.
|
||||
* @public
|
||||
*/
|
||||
export interface RoomListStoreApi {
|
||||
/**
|
||||
* Get a flat list of sorted room from the RLS.
|
||||
*/
|
||||
getRooms(): Room[];
|
||||
|
||||
/**
|
||||
* Returns a promise that resolves when RLS is ready.
|
||||
*/
|
||||
waitForReady(): Promise<void>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides access to certain stores from element-web.
|
||||
* @public
|
||||
*/
|
||||
export interface StoresApi {
|
||||
/**
|
||||
* Use this to access limited functionality of the RLS from element-web.
|
||||
*/
|
||||
getRoomListStore(): RoomListStoreApi;
|
||||
}
|
||||
@ -20,5 +20,6 @@ export type * from "./api/dialog";
|
||||
export type * from "./api/profile";
|
||||
export type * from "./api/navigation";
|
||||
export type * from "./api/builtins";
|
||||
export type * from "./api/stores";
|
||||
export type * from "./api/client";
|
||||
export * from "./api/watchable";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user