Add function to move space shortcut

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2022-03-08 16:29:52 +05:30
parent faaac72b81
commit a7a5b08ad8
3 changed files with 20 additions and 0 deletions

View file

@ -18,6 +18,14 @@ export function deleteSpaceShortcut(roomId) {
}); });
} }
export function moveSpaceShortcut(roomId, toIndex) {
appDispatcher.dispatch({
type: cons.actions.accountData.MOVE_SPACE_SHORTCUTS,
roomId,
toIndex,
});
}
export function categorizeSpace(roomId) { export function categorizeSpace(roomId) {
appDispatcher.dispatch({ appDispatcher.dispatch({
type: cons.actions.accountData.CATEGORIZE_SPACE, type: cons.actions.accountData.CATEGORIZE_SPACE,

View file

@ -89,6 +89,17 @@ class AccountData extends EventEmitter {
this._updateSpaceShortcutData([...this.spaceShortcut]); this._updateSpaceShortcutData([...this.spaceShortcut]);
this.emit(cons.events.accountData.SPACE_SHORTCUT_UPDATED, action.roomId); this.emit(cons.events.accountData.SPACE_SHORTCUT_UPDATED, action.roomId);
}, },
[cons.actions.accountData.MOVE_SPACE_SHORTCUTS]: () => {
const { roomId, toIndex } = action;
if (!this.spaceShortcut.has(roomId)) return;
this.spaceShortcut.delete(roomId);
const ssList = [...this.spaceShortcut];
if (toIndex >= ssList.length) ssList.push(roomId);
else ssList.splice(toIndex, 0, roomId);
this.spaceShortcut = new Set(ssList);
this._updateSpaceShortcutData(ssList);
this.emit(cons.events.accountData.SPACE_SHORTCUT_UPDATED, roomId);
},
[cons.actions.accountData.CATEGORIZE_SPACE]: () => { [cons.actions.accountData.CATEGORIZE_SPACE]: () => {
if (this.categorizedSpaces.has(action.roomId)) return; if (this.categorizedSpaces.has(action.roomId)) return;
this.categorizedSpaces.add(action.roomId); this.categorizedSpaces.add(action.roomId);

View file

@ -56,6 +56,7 @@ const cons = {
accountData: { accountData: {
CREATE_SPACE_SHORTCUT: 'CREATE_SPACE_SHORTCUT', CREATE_SPACE_SHORTCUT: 'CREATE_SPACE_SHORTCUT',
DELETE_SPACE_SHORTCUT: 'DELETE_SPACE_SHORTCUT', DELETE_SPACE_SHORTCUT: 'DELETE_SPACE_SHORTCUT',
MOVE_SPACE_SHORTCUTS: 'MOVE_SPACE_SHORTCUTS',
CATEGORIZE_SPACE: 'CATEGORIZE_SPACE', CATEGORIZE_SPACE: 'CATEGORIZE_SPACE',
UNCATEGORIZE_SPACE: 'UNCATEGORIZE_SPACE', UNCATEGORIZE_SPACE: 'UNCATEGORIZE_SPACE',
}, },