2023-07-25 02:39:11 -08:00
|
|
|
import {CLOSE_TAB, CHANGE_TAB} from '../../typings/constants/tabs';
|
2017-09-10 05:35:10 -08:00
|
|
|
import {
|
|
|
|
|
UI_WINDOW_MAXIMIZE,
|
|
|
|
|
UI_WINDOW_UNMAXIMIZE,
|
|
|
|
|
UI_OPEN_HAMBURGER_MENU,
|
|
|
|
|
UI_WINDOW_MINIMIZE,
|
|
|
|
|
UI_WINDOW_CLOSE
|
2023-07-25 02:39:11 -08:00
|
|
|
} from '../../typings/constants/ui';
|
2016-08-06 02:01:01 -08:00
|
|
|
import rpc from '../rpc';
|
2016-10-03 18:00:50 -08:00
|
|
|
import {userExitTermGroup, setActiveGroup} from './term-groups';
|
2023-07-25 01:39:51 -08:00
|
|
|
import type {HyperDispatch} from '../../typings/hyper';
|
2016-09-21 06:27:11 -08:00
|
|
|
|
2020-01-02 09:27:27 -09:00
|
|
|
export function closeTab(uid: string) {
|
|
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-07-13 12:44:24 -08:00
|
|
|
dispatch({
|
|
|
|
|
type: CLOSE_TAB,
|
|
|
|
|
uid,
|
2016-09-21 06:27:11 -08:00
|
|
|
effect() {
|
2016-10-03 18:00:50 -08:00
|
|
|
dispatch(userExitTermGroup(uid));
|
2016-07-13 12:44:24 -08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-02 09:27:27 -09:00
|
|
|
export function changeTab(uid: string) {
|
|
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-07-13 12:44:24 -08:00
|
|
|
dispatch({
|
|
|
|
|
type: CHANGE_TAB,
|
|
|
|
|
uid,
|
2016-09-21 06:27:11 -08:00
|
|
|
effect() {
|
2016-10-03 18:00:50 -08:00
|
|
|
dispatch(setActiveGroup(uid));
|
2016-07-13 12:44:24 -08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
2016-08-06 02:01:01 -08:00
|
|
|
|
2016-09-21 06:27:11 -08:00
|
|
|
export function maximize() {
|
2020-01-02 09:27:27 -09:00
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-08-06 02:01:01 -08:00
|
|
|
dispatch({
|
|
|
|
|
type: UI_WINDOW_MAXIMIZE,
|
2016-09-21 06:27:11 -08:00
|
|
|
effect() {
|
2023-06-25 05:26:16 -08:00
|
|
|
rpc.emit('maximize');
|
2016-08-06 02:01:01 -08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2016-09-21 06:27:11 -08:00
|
|
|
export function unmaximize() {
|
2020-01-02 09:27:27 -09:00
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-08-06 02:01:01 -08:00
|
|
|
dispatch({
|
|
|
|
|
type: UI_WINDOW_UNMAXIMIZE,
|
2016-09-21 06:27:11 -08:00
|
|
|
effect() {
|
2023-06-25 05:26:16 -08:00
|
|
|
rpc.emit('unmaximize');
|
2016-08-06 02:01:01 -08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
2016-11-11 08:18:04 -09:00
|
|
|
|
2020-01-02 09:27:27 -09:00
|
|
|
export function openHamburgerMenu(coordinates: {x: number; y: number}) {
|
|
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-11-11 08:18:04 -09:00
|
|
|
dispatch({
|
|
|
|
|
type: UI_OPEN_HAMBURGER_MENU,
|
|
|
|
|
effect() {
|
|
|
|
|
rpc.emit('open hamburger menu', coordinates);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function minimize() {
|
2020-01-02 09:27:27 -09:00
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-11-11 08:18:04 -09:00
|
|
|
dispatch({
|
|
|
|
|
type: UI_WINDOW_MINIMIZE,
|
|
|
|
|
effect() {
|
2023-06-25 05:26:16 -08:00
|
|
|
rpc.emit('minimize');
|
2016-11-11 08:18:04 -09:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function close() {
|
2020-01-02 09:27:27 -09:00
|
|
|
return (dispatch: HyperDispatch) => {
|
2016-11-11 08:18:04 -09:00
|
|
|
dispatch({
|
|
|
|
|
type: UI_WINDOW_CLOSE,
|
|
|
|
|
effect() {
|
2023-06-25 05:26:16 -08:00
|
|
|
rpc.emit('close');
|
2016-11-11 08:18:04 -09:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
}
|