Merge pull request #2509 from asaadmahmoodspin/ui-improvements
Multiple UI improvements
Этот коммит содержится в:
@@ -2,7 +2,6 @@
|
||||
// See License.txt for license information.
|
||||
|
||||
import $ from 'jquery';
|
||||
import ReactDOM from 'react-dom';
|
||||
import {Modal} from 'react-bootstrap';
|
||||
import LoadingScreen from './loading_screen.jsx';
|
||||
import AuditTable from './audit_table.jsx';
|
||||
@@ -36,11 +35,8 @@ class AccessHistoryModal extends React.Component {
|
||||
}
|
||||
onShow() {
|
||||
AsyncClient.getAudits();
|
||||
|
||||
if ($(window).width() > 768) {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||
} else {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||
if (!Utils.isMobile()) {
|
||||
$('.modal-body').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
onHide() {
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
// See License.txt for license information.
|
||||
|
||||
import $ from 'jquery';
|
||||
import ReactDOM from 'react-dom';
|
||||
import UserStore from 'stores/user_store.jsx';
|
||||
import * as Client from 'utils/client.jsx';
|
||||
import * as AsyncClient from 'utils/async_client.jsx';
|
||||
@@ -56,11 +55,8 @@ export default class ActivityLogModal extends React.Component {
|
||||
}
|
||||
onShow() {
|
||||
AsyncClient.getSessions();
|
||||
|
||||
if ($(window).width() > 768) {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||
} else {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||
if (!Utils.isMobile()) {
|
||||
$('.modal-body').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
onHide() {
|
||||
|
||||
@@ -80,6 +80,7 @@ export default class ChannelHeader extends React.Component {
|
||||
SearchStore.addSearchChangeListener(this.onListenerChange);
|
||||
PreferenceStore.addChangeListener(this.onListenerChange);
|
||||
UserStore.addChangeListener(this.onListenerChange);
|
||||
$('.sidebar--left .dropdown-menu').perfectScrollbar();
|
||||
}
|
||||
componentWillUnmount() {
|
||||
ChannelStore.removeChangeListener(this.onListenerChange);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
import $ from 'jquery';
|
||||
import ReactDOM from 'react-dom';
|
||||
import * as utils from 'utils/utils.jsx';
|
||||
import Constants from 'utils/constants.jsx';
|
||||
@@ -176,12 +175,6 @@ class InviteMemberModal extends React.Component {
|
||||
});
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
if (!prevState.show && this.state.show) {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||
}
|
||||
}
|
||||
|
||||
addInviteFields() {
|
||||
var count = this.state.idCount + 1;
|
||||
var inviteIds = this.state.inviteIds;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
import $ from 'jquery';
|
||||
|
||||
import UserStore from 'stores/user_store.jsx';
|
||||
import {Popover, Overlay} from 'react-bootstrap';
|
||||
import * as Utils from 'utils/utils.jsx';
|
||||
@@ -20,6 +22,10 @@ export default class PopoverListMembers extends React.Component {
|
||||
this.closePopover = this.closePopover.bind(this);
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
$('.member-list__popover .popover-content').perfectScrollbar();
|
||||
}
|
||||
|
||||
componentWillMount() {
|
||||
this.setState({showPopover: false});
|
||||
}
|
||||
|
||||
@@ -46,6 +46,9 @@ export default class RhsThread extends React.Component {
|
||||
window.addEventListener('resize', this.handleResize);
|
||||
|
||||
this.mounted = true;
|
||||
if (!Utils.isMobile()) {
|
||||
$('.sidebar--right .post-right__scroll').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
componentDidUpdate() {
|
||||
if ($('.post-right__scroll')[0]) {
|
||||
|
||||
@@ -61,6 +61,9 @@ export default class SearchResults extends React.Component {
|
||||
UserStore.addChangeListener(this.onUserChange);
|
||||
this.resize();
|
||||
window.addEventListener('resize', this.handleResize);
|
||||
if (!Utils.isMobile()) {
|
||||
$('.sidebar--right .search-items-container').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
|
||||
shouldComponentUpdate(nextProps, nextState) {
|
||||
|
||||
@@ -163,6 +163,9 @@ export default class Sidebar extends React.Component {
|
||||
componentDidUpdate() {
|
||||
this.updateTitle();
|
||||
this.updateUnreadIndicators();
|
||||
if (!Utils.isMobile()) {
|
||||
$('.sidebar--left .nav-pills__container').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
componentWillUnmount() {
|
||||
window.removeEventListener('resize', this.handleResize);
|
||||
|
||||
@@ -5,6 +5,7 @@ import $ from 'jquery';
|
||||
import ReactDOM from 'react-dom';
|
||||
import SettingsSidebar from './settings_sidebar.jsx';
|
||||
import TeamSettings from './team_settings.jsx';
|
||||
import * as Utils from 'utils/utils.jsx';
|
||||
|
||||
import {intlShape, injectIntl, defineMessages, FormattedMessage} from 'react-intl';
|
||||
|
||||
@@ -49,9 +50,16 @@ class TeamSettingsModal extends React.Component {
|
||||
$('.modal-dialog.display--content').removeClass('display--content');
|
||||
}, 500);
|
||||
});
|
||||
|
||||
if (!Utils.isMobile()) {
|
||||
$('.settings-modal .settings-content').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
updateTab(tab) {
|
||||
this.setState({activeTab: tab, activeSection: ''});
|
||||
if (!Utils.isMobile()) {
|
||||
$('.settings-modal .modal-body').scrollTop(0).perfectScrollbar('update');
|
||||
}
|
||||
}
|
||||
updateSection(section) {
|
||||
this.setState({activeSection: section});
|
||||
|
||||
@@ -24,11 +24,16 @@ export default class UserList extends React.Component {
|
||||
});
|
||||
} else {
|
||||
content = (
|
||||
<div key='no-users-found'>
|
||||
<FormattedMessage
|
||||
id='user_list.notFound'
|
||||
defaultMessage='No users found :('
|
||||
/>
|
||||
<div
|
||||
key='no-users-found'
|
||||
className='no-channel-message'
|
||||
>
|
||||
<p className='primary-message'>
|
||||
<FormattedMessage
|
||||
id='user_list.notFound'
|
||||
defaultMessage='No users found :('
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,6 @@ class UserSettingsModal extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.handleShow = this.handleShow.bind(this);
|
||||
this.handleHide = this.handleHide.bind(this);
|
||||
this.handleHidden = this.handleHidden.bind(this);
|
||||
this.handleCollapse = this.handleCollapse.bind(this);
|
||||
@@ -95,24 +94,13 @@ class UserSettingsModal extends React.Component {
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
if (this.props.show) {
|
||||
this.handleShow();
|
||||
}
|
||||
UserStore.addChangeListener(this.onUserChanged);
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
if (this.props.show && !prevProps.show) {
|
||||
this.handleShow();
|
||||
}
|
||||
componentDidUpdate() {
|
||||
UserStore.removeChangeListener(this.onUserChanged);
|
||||
}
|
||||
|
||||
handleShow() {
|
||||
if ($(window).width() > 768) {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||
} else {
|
||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
||||
if (!Utils.isMobile()) {
|
||||
$('.settings-modal .modal-body').perfectScrollbar();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,6 +210,10 @@ class UserSettingsModal extends React.Component {
|
||||
active_section: ''
|
||||
});
|
||||
}
|
||||
|
||||
if (!Utils.isMobile()) {
|
||||
$('.settings-modal .modal-body').scrollTop(0).perfectScrollbar('update');
|
||||
}
|
||||
}
|
||||
|
||||
updateSection(section, skipConfirm) {
|
||||
|
||||
Ссылка в новой задаче
Block a user