Merge branch 'develop' into travis/room-list/layout
						commit
						0f16d7f32d
					
				| 
						 | 
				
			
			@ -31,7 +31,7 @@ import LogoutDialog from "../views/dialogs/LogoutDialog";
 | 
			
		|||
import SettingsStore, {SettingLevel} from "../../settings/SettingsStore";
 | 
			
		||||
import {getCustomTheme} from "../../theme";
 | 
			
		||||
import {getHostingLink} from "../../utils/HostingLink";
 | 
			
		||||
import AccessibleButton from "../views/elements/AccessibleButton";
 | 
			
		||||
import AccessibleButton, {ButtonEvent} from "../views/elements/AccessibleButton";
 | 
			
		||||
 | 
			
		||||
interface IProps {
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ export default class UserMenuButton extends React.Component<IProps, IState> {
 | 
			
		|||
        SettingsStore.setValue("theme", null, SettingLevel.ACCOUNT, newTheme);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onSettingsOpen = (ev: React.MouseEvent, tabId: string) => {
 | 
			
		||||
    private onSettingsOpen = (ev: ButtonEvent, tabId: string) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ export default class UserMenuButton extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({menuDisplayed: false}); // also close the menu
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onShowArchived = (ev: React.MouseEvent) => {
 | 
			
		||||
    private onShowArchived = (ev: ButtonEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +131,7 @@ export default class UserMenuButton extends React.Component<IProps, IState> {
 | 
			
		|||
        console.log("TODO: Show archived rooms");
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onProvideFeedback = (ev: React.MouseEvent) => {
 | 
			
		||||
    private onProvideFeedback = (ev: ButtonEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -139,7 +139,7 @@ export default class UserMenuButton extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({menuDisplayed: false}); // also close the menu
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onSignOutClick = (ev: React.MouseEvent) => {
 | 
			
		||||
    private onSignOutClick = (ev: ButtonEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,8 @@ import React from 'react';
 | 
			
		|||
import {Key} from '../../../Keyboard';
 | 
			
		||||
import classnames from 'classnames';
 | 
			
		||||
 | 
			
		||||
export type ButtonEvent = React.MouseEvent<Element> | React.KeyboardEvent<Element>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * children: React's magic prop. Represents all children given to the element.
 | 
			
		||||
 * element:  (optional) The base element type. "div" by default.
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +39,7 @@ interface IProps extends React.InputHTMLAttributes<Element> {
 | 
			
		|||
    tabIndex?: number;
 | 
			
		||||
    disabled?: boolean;
 | 
			
		||||
    className?: string;
 | 
			
		||||
    onClick?(e?: React.MouseEvent<Element> | React.KeyboardEvent<Element>): void;
 | 
			
		||||
    onClick?(e?: ButtonEvent): void;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
interface IAccessibleButtonProps extends React.InputHTMLAttributes<Element> {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ import React, { createRef } from "react";
 | 
			
		|||
import { Room } from "matrix-js-sdk/src/models/room";
 | 
			
		||||
import classNames from "classnames";
 | 
			
		||||
import { RovingTabIndexWrapper } from "../../../accessibility/RovingTabIndex";
 | 
			
		||||
import AccessibleButton from "../../views/elements/AccessibleButton";
 | 
			
		||||
import AccessibleButton, {ButtonEvent} from "../../views/elements/AccessibleButton";
 | 
			
		||||
import RoomAvatar from "../../views/avatars/RoomAvatar";
 | 
			
		||||
import dis from '../../../dispatcher/dispatcher';
 | 
			
		||||
import { Key } from "../../../Keyboard";
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({generalMenuDisplayed: false});
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onTagRoom = (ev: React.MouseEvent, tagId: TagID) => {
 | 
			
		||||
    private onTagRoom = (ev: ButtonEvent, tagId: TagID) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -134,7 +134,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
 | 
			
		|||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onLeaveRoomClick = (ev: React.MouseEvent) => {
 | 
			
		||||
    private onLeaveRoomClick = (ev: ButtonEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -145,7 +145,7 @@ export default class RoomTile2 extends React.Component<IProps, IState> {
 | 
			
		|||
        this.setState({generalMenuDisplayed: false}); // hide the menu
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private onOpenRoomSettings = (ev: React.MouseEvent) => {
 | 
			
		||||
    private onOpenRoomSettings = (ev: ButtonEvent) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
        ev.stopPropagation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -427,7 +427,9 @@ export default class SendMessageComposer extends React.Component {
 | 
			
		|||
 | 
			
		||||
    _onPaste = (event) => {
 | 
			
		||||
        const {clipboardData} = event;
 | 
			
		||||
        if (clipboardData.files.length) {
 | 
			
		||||
        // Prioritize text on the clipboard over files as Office on macOS puts a bitmap
 | 
			
		||||
        // in the clipboard as well as the content being copied.
 | 
			
		||||
        if (clipboardData.files.length && !clipboardData.types.some(t => t === "text/plain")) {
 | 
			
		||||
            // This actually not so much for 'files' as such (at time of writing
 | 
			
		||||
            // neither chrome nor firefox let you paste a plain file copied
 | 
			
		||||
            // from Finder) but more images copied from a different website
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue