parent
							
								
									6802f9b4df
								
							
						
					
					
						commit
						07e0a017e7
					
				| 
						 | 
				
			
			@ -21,7 +21,7 @@ import ReactDOM from "react-dom";
 | 
			
		|||
import classNames from "classnames";
 | 
			
		||||
 | 
			
		||||
import {Key} from "../../Keyboard";
 | 
			
		||||
import AccessibleButton, { IAccessibleButtonProps } from "../views/elements/AccessibleButton";
 | 
			
		||||
import AccessibleButton, { IAccessibleButtonProps, ButtonEvent } from "../views/elements/AccessibleButton";
 | 
			
		||||
import {Writeable} from "../../@types/common";
 | 
			
		||||
 | 
			
		||||
// Shamelessly ripped off Modal.js.  There's probably a better way
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ interface IProps extends IPosition {
 | 
			
		|||
    // Function to be called on menu close
 | 
			
		||||
    onFinished();
 | 
			
		||||
    // on resize callback
 | 
			
		||||
    windowResize();
 | 
			
		||||
    windowResize?();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
interface IState {
 | 
			
		||||
| 
						 | 
				
			
			@ -407,7 +407,7 @@ export const ContextMenuButton: React.FC<IContextMenuButtonProps> = ({ label, is
 | 
			
		|||
interface IMenuItemProps extends IAccessibleButtonProps {
 | 
			
		||||
    label?: string;
 | 
			
		||||
    className?: string;
 | 
			
		||||
    onClick();
 | 
			
		||||
    onClick(ev: ButtonEvent);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Semantic component for representing a role=menuitem
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +436,7 @@ interface IMenuItemCheckboxProps extends IAccessibleButtonProps {
 | 
			
		|||
    active: boolean;
 | 
			
		||||
    disabled?: boolean;
 | 
			
		||||
    className?: string;
 | 
			
		||||
    onClick();
 | 
			
		||||
    onClick(ev: ButtonEvent);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Semantic component for representing a role=menuitemcheckbox
 | 
			
		||||
| 
						 | 
				
			
			@ -453,7 +453,7 @@ interface IMenuItemRadioProps extends IAccessibleButtonProps {
 | 
			
		|||
    active: boolean;
 | 
			
		||||
    disabled?: boolean;
 | 
			
		||||
    className?: string;
 | 
			
		||||
    onClick();
 | 
			
		||||
    onClick(ev: ButtonEvent);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Semantic component for representing a role=menuitemradio
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,15 +15,15 @@ limitations under the License.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
import * as React from "react";
 | 
			
		||||
import { MatrixClientPeg } from "../../MatrixClientPeg";
 | 
			
		||||
import {createRef} from "react";
 | 
			
		||||
import {MatrixClientPeg} from "../../MatrixClientPeg";
 | 
			
		||||
import defaultDispatcher from "../../dispatcher/dispatcher";
 | 
			
		||||
import { ActionPayload } from "../../dispatcher/payloads";
 | 
			
		||||
import { Action } from "../../dispatcher/actions";
 | 
			
		||||
import { createRef } from "react";
 | 
			
		||||
import { _t } from "../../languageHandler";
 | 
			
		||||
import {ContextMenu, ContextMenuButton} from "./ContextMenu";
 | 
			
		||||
import {ActionPayload} from "../../dispatcher/payloads";
 | 
			
		||||
import {Action} from "../../dispatcher/actions";
 | 
			
		||||
import {_t} from "../../languageHandler";
 | 
			
		||||
import {ChevronFace, ContextMenu, ContextMenuButton} from "./ContextMenu";
 | 
			
		||||
import {USER_NOTIFICATIONS_TAB, USER_SECURITY_TAB} from "../views/dialogs/UserSettingsDialog";
 | 
			
		||||
import { OpenToTabPayload } from "../../dispatcher/payloads/OpenToTabPayload";
 | 
			
		||||
import {OpenToTabPayload} from "../../dispatcher/payloads/OpenToTabPayload";
 | 
			
		||||
import RedesignFeedbackDialog from "../views/dialogs/RedesignFeedbackDialog";
 | 
			
		||||
import Modal from "../../Modal";
 | 
			
		||||
import LogoutDialog from "../views/dialogs/LogoutDialog";
 | 
			
		||||
| 
						 | 
				
			
			@ -33,8 +33,8 @@ import {getHostingLink} from "../../utils/HostingLink";
 | 
			
		|||
import AccessibleButton, {ButtonEvent} from "../views/elements/AccessibleButton";
 | 
			
		||||
import SdkConfig from "../../SdkConfig";
 | 
			
		||||
import {getHomePageUrl} from "../../utils/pages";
 | 
			
		||||
import { OwnProfileStore } from "../../stores/OwnProfileStore";
 | 
			
		||||
import { UPDATE_EVENT } from "../../stores/AsyncStore";
 | 
			
		||||
import {OwnProfileStore} from "../../stores/OwnProfileStore";
 | 
			
		||||
import {UPDATE_EVENT} from "../../stores/AsyncStore";
 | 
			
		||||
import BaseAvatar from '../views/avatars/BaseAvatar';
 | 
			
		||||
import classNames from "classnames";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ export default class UserMenu extends React.Component<IProps, IState> {
 | 
			
		|||
        if (this.buttonRef.current) this.buttonRef.current.click();
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onOpenMenuClick = (ev: InputEvent) => {
 | 
			
		||||
    private onOpenMenuClick = (ev: React.MouseEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
        const target = ev.target as HTMLButtonElement;
 | 
			
		||||
| 
						 | 
				
			
			@ -214,7 +214,7 @@ export default class UserMenu extends React.Component<IProps, IState> {
 | 
			
		|||
 | 
			
		||||
        return (
 | 
			
		||||
            <ContextMenu
 | 
			
		||||
                chevronFace="none"
 | 
			
		||||
                chevronFace={ChevronFace.None}
 | 
			
		||||
                // -20 to overlap the context menu by just over the width of the `...` icon and make it look connected
 | 
			
		||||
                left={this.state.contextMenuPosition.width + this.state.contextMenuPosition.left - 20}
 | 
			
		||||
                top={this.state.contextMenuPosition.top + this.state.contextMenuPosition.height}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,22 +17,21 @@ limitations under the License.
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
import * as React from "react";
 | 
			
		||||
import { createRef } from "react";
 | 
			
		||||
import { Room } from "matrix-js-sdk/src/models/room";
 | 
			
		||||
import {Room} from "matrix-js-sdk/src/models/room";
 | 
			
		||||
import classNames from 'classnames';
 | 
			
		||||
import { RovingTabIndexWrapper } from "../../../accessibility/RovingTabIndex";
 | 
			
		||||
import { _t } from "../../../languageHandler";
 | 
			
		||||
import {RovingTabIndexWrapper} from "../../../accessibility/RovingTabIndex";
 | 
			
		||||
import {_t} from "../../../languageHandler";
 | 
			
		||||
import AccessibleButton from "../../views/elements/AccessibleButton";
 | 
			
		||||
import RoomTile2 from "./RoomTile2";
 | 
			
		||||
import { ResizableBox, ResizeCallbackData } from "react-resizable";
 | 
			
		||||
import { ListLayout } from "../../../stores/room-list/ListLayout";
 | 
			
		||||
import NotificationBadge, { ListNotificationState } from "./NotificationBadge";
 | 
			
		||||
import { ContextMenu, ContextMenuButton } from "../../structures/ContextMenu";
 | 
			
		||||
import {ResizableBox, ResizeCallbackData} from "react-resizable";
 | 
			
		||||
import {ListLayout} from "../../../stores/room-list/ListLayout";
 | 
			
		||||
import NotificationBadge, {ListNotificationState} from "./NotificationBadge";
 | 
			
		||||
import {ChevronFace, ContextMenu, ContextMenuButton} from "../../structures/ContextMenu";
 | 
			
		||||
import StyledCheckbox from "../elements/StyledCheckbox";
 | 
			
		||||
import StyledRadioButton from "../elements/StyledRadioButton";
 | 
			
		||||
import RoomListStore from "../../../stores/room-list/RoomListStore2";
 | 
			
		||||
import { ListAlgorithm, SortAlgorithm } from "../../../stores/room-list/algorithms/models";
 | 
			
		||||
import { DefaultTagID, TagID } from "../../../stores/room-list/models";
 | 
			
		||||
import {ListAlgorithm, SortAlgorithm} from "../../../stores/room-list/algorithms/models";
 | 
			
		||||
import {DefaultTagID, TagID} from "../../../stores/room-list/models";
 | 
			
		||||
 | 
			
		||||
// TODO: Remove banner on launch: https://github.com/vector-im/riot-web/issues/14231
 | 
			
		||||
// TODO: Rename on launch: https://github.com/vector-im/riot-web/issues/14231
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +127,7 @@ export default class RoomSublist2 extends React.Component<IProps, IState> {
 | 
			
		|||
        this.forceUpdate(); // because the layout doesn't trigger a re-render
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onOpenMenuClick = (ev: InputEvent) => {
 | 
			
		||||
    private onOpenMenuClick = (ev: React.MouseEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
        const target = ev.target as HTMLButtonElement;
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +218,7 @@ export default class RoomSublist2 extends React.Component<IProps, IState> {
 | 
			
		|||
            const isUnreadFirst = RoomListStore.instance.getListOrder(this.props.tagId) === ListAlgorithm.Importance;
 | 
			
		||||
            contextMenu = (
 | 
			
		||||
                <ContextMenu
 | 
			
		||||
                    chevronFace="none"
 | 
			
		||||
                    chevronFace={ChevronFace.None}
 | 
			
		||||
                    left={this.state.contextMenuPosition.left}
 | 
			
		||||
                    top={this.state.contextMenuPosition.top + this.state.contextMenuPosition.height}
 | 
			
		||||
                    onFinished={this.onCloseMenu}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,7 @@ import NotificationBadge, {
 | 
			
		|||
    TagSpecificNotificationState
 | 
			
		||||
} from "./NotificationBadge";
 | 
			
		||||
import { _t } from "../../../languageHandler";
 | 
			
		||||
import { ContextMenu, ContextMenuButton, MenuItemRadio } from "../../structures/ContextMenu";
 | 
			
		||||
import {ChevronFace, ContextMenu, ContextMenuButton, MenuItemRadio} from "../../structures/ContextMenu";
 | 
			
		||||
import { DefaultTagID, TagID } from "../../../stores/room-list/models";
 | 
			
		||||
import { MessagePreviewStore } from "../../../stores/room-list/MessagePreviewStore";
 | 
			
		||||
import RoomTileIcon from "./RoomTileIcon";
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ const contextMenuBelow = (elementRect: PartialDOMRect) => {
 | 
			
		|||
    // align the context menu's icons with the icon which opened the context menu
 | 
			
		||||
    const left = elementRect.left + window.pageXOffset - 9;
 | 
			
		||||
    const top = elementRect.bottom + window.pageYOffset + 17;
 | 
			
		||||
    const chevronFace = "none";
 | 
			
		||||
    const chevronFace = ChevronFace.None;
 | 
			
		||||
    return {left, top, chevronFace};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -151,7 +151,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({selected: isActive});
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onNotificationsMenuOpenClick = (ev: InputEvent) => {
 | 
			
		||||
    private onNotificationsMenuOpenClick = (ev: React.MouseEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
        const target = ev.target as HTMLButtonElement;
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +162,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({notificationsMenuPosition: null});
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onGeneralMenuOpenClick = (ev: InputEvent) => {
 | 
			
		||||
    private onGeneralMenuOpenClick = (ev: React.MouseEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
        const target = ev.target as HTMLButtonElement;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue