Merge pull request #1018 from asaadmahmoodspin/ui-fixes
Other UI Improvements
Этот коммит содержится в:
@@ -262,25 +262,27 @@ export default class CreateComment extends React.Component {
|
|||||||
id={this.props.rootId}
|
id={this.props.rootId}
|
||||||
className='post-create-body comment-create-body'
|
className='post-create-body comment-create-body'
|
||||||
>
|
>
|
||||||
<Textbox
|
<div className='post-body__cell'>
|
||||||
onUserInput={this.handleUserInput}
|
<Textbox
|
||||||
onKeyPress={this.commentMsgKeyPress}
|
onUserInput={this.handleUserInput}
|
||||||
messageText={this.state.messageText}
|
onKeyPress={this.commentMsgKeyPress}
|
||||||
createMessage='Add a comment...'
|
messageText={this.state.messageText}
|
||||||
initialText=''
|
createMessage='Add a comment...'
|
||||||
id='reply_textbox'
|
initialText=''
|
||||||
ref='textbox'
|
id='reply_textbox'
|
||||||
/>
|
ref='textbox'
|
||||||
<FileUpload
|
/>
|
||||||
ref='fileUpload'
|
<FileUpload
|
||||||
getFileCount={this.getFileCount}
|
ref='fileUpload'
|
||||||
onUploadStart={this.handleUploadStart}
|
getFileCount={this.getFileCount}
|
||||||
onFileUpload={this.handleFileUploadComplete}
|
onUploadStart={this.handleUploadStart}
|
||||||
onUploadError={this.handleUploadError}
|
onFileUpload={this.handleFileUploadComplete}
|
||||||
onTextDrop={this.handleTextDrop}
|
onUploadError={this.handleUploadError}
|
||||||
postType='comment'
|
onTextDrop={this.handleTextDrop}
|
||||||
channelId={this.props.channelId}
|
postType='comment'
|
||||||
/>
|
channelId={this.props.channelId}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MsgTyping
|
<MsgTyping
|
||||||
channelId={this.props.channelId}
|
channelId={this.props.channelId}
|
||||||
|
|||||||
@@ -32,11 +32,17 @@ export default class SettingItemMax extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var inputs = this.props.inputs;
|
var inputs = this.props.inputs;
|
||||||
|
var widthClass;
|
||||||
|
if (this.props.width === 'full') {
|
||||||
|
widthClass = 'col-sm-12';
|
||||||
|
} else {
|
||||||
|
widthClass = 'col-sm-9 col-sm-offset-3';
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ul className='section-max form-horizontal'>
|
<ul className='section-max form-horizontal'>
|
||||||
<li className='col-sm-12 section-title'>{this.props.title}</li>
|
<li className='col-sm-12 section-title'>{this.props.title}</li>
|
||||||
<li className='col-sm-9 col-sm-offset-3'>
|
<li className={widthClass}>
|
||||||
<ul className='setting-list'>
|
<ul className='setting-list'>
|
||||||
<li className='setting-list-item'>
|
<li className='setting-list-item'>
|
||||||
{inputs}
|
{inputs}
|
||||||
@@ -69,5 +75,6 @@ SettingItemMax.propTypes = {
|
|||||||
extraInfo: React.PropTypes.element,
|
extraInfo: React.PropTypes.element,
|
||||||
updateSection: React.PropTypes.func,
|
updateSection: React.PropTypes.func,
|
||||||
submit: React.PropTypes.func,
|
submit: React.PropTypes.func,
|
||||||
title: React.PropTypes.string
|
title: React.PropTypes.string,
|
||||||
|
width: React.PropTypes.string
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ export default class SignupUserComplete extends React.Component {
|
|||||||
// set up the email entry and hide it if an email was provided
|
// set up the email entry and hide it if an email was provided
|
||||||
var yourEmailIs = '';
|
var yourEmailIs = '';
|
||||||
if (this.state.user.email) {
|
if (this.state.user.email) {
|
||||||
yourEmailIs = <span>Your email address is {this.state.user.email}. You'll use this address to sign in to {global.window.config.SiteName}.</span>;
|
yourEmailIs = <span>Your email address is <strong>{this.state.user.email}</strong>. You'll use this address to sign in to {global.window.config.SiteName}.</span>;
|
||||||
}
|
}
|
||||||
|
|
||||||
var emailContainerStyle = 'margin--extra';
|
var emailContainerStyle = 'margin--extra';
|
||||||
|
|||||||
@@ -246,9 +246,11 @@ export default class Textbox extends React.Component {
|
|||||||
if (e.scrollHeight - mod < 167) {
|
if (e.scrollHeight - mod < 167) {
|
||||||
$(e).css({height: 'auto', 'overflow-y': 'hidden'}).height(e.scrollHeight - mod);
|
$(e).css({height: 'auto', 'overflow-y': 'hidden'}).height(e.scrollHeight - mod);
|
||||||
$(w).css({height: 'auto'}).height(e.scrollHeight + 2);
|
$(w).css({height: 'auto'}).height(e.scrollHeight + 2);
|
||||||
|
$(w).closest('.post-body__cell').removeClass('scroll');
|
||||||
} else {
|
} else {
|
||||||
$(e).css({height: 'auto', 'overflow-y': 'scroll'}).height(167);
|
$(e).css({height: 'auto', 'overflow-y': 'scroll'}).height(167);
|
||||||
$(w).css({height: 'auto'}).height(167);
|
$(w).css({height: 'auto'}).height(167);
|
||||||
|
$(w).closest('.post-body__cell').addClass('scroll');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prevHeight !== $(e).height() && this.props.onHeightChange) {
|
if (prevHeight !== $(e).height() && this.props.onHeightChange) {
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ export default class UserSettingsIntegrationsTab extends React.Component {
|
|||||||
incomingHooksSection = (
|
incomingHooksSection = (
|
||||||
<SettingItemMax
|
<SettingItemMax
|
||||||
title='Incoming Webhooks'
|
title='Incoming Webhooks'
|
||||||
|
width = 'full'
|
||||||
inputs={inputs}
|
inputs={inputs}
|
||||||
updateSection={function clearSection(e) {
|
updateSection={function clearSection(e) {
|
||||||
this.updateSection('');
|
this.updateSection('');
|
||||||
@@ -49,6 +50,7 @@ export default class UserSettingsIntegrationsTab extends React.Component {
|
|||||||
incomingHooksSection = (
|
incomingHooksSection = (
|
||||||
<SettingItemMin
|
<SettingItemMin
|
||||||
title='Incoming Webhooks'
|
title='Incoming Webhooks'
|
||||||
|
width = 'full'
|
||||||
describe='Manage your incoming webhooks (Developer feature)'
|
describe='Manage your incoming webhooks (Developer feature)'
|
||||||
updateSection={function updateNameSection() {
|
updateSection={function updateNameSection() {
|
||||||
this.updateSection('incoming-hooks');
|
this.updateSection('incoming-hooks');
|
||||||
|
|||||||
@@ -147,7 +147,8 @@
|
|||||||
}
|
}
|
||||||
.header__info {
|
.header__info {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding-left: 4px;
|
@include clearfix;
|
||||||
|
padding-left: 2px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@@ -155,7 +156,7 @@
|
|||||||
display: block;
|
display: block;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
max-width: 80%;
|
max-width: 85%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
#channel_members_modal .modal-body {
|
||||||
|
min-height: 110px;
|
||||||
|
}
|
||||||
.modal-body {
|
.modal-body {
|
||||||
padding: 20px 15px;
|
padding: 20px 15px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,6 +195,14 @@ body.ios {
|
|||||||
.post-body__cell {
|
.post-body__cell {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
&.scroll {
|
||||||
|
.btn-file {
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
|
.custom-textarea {
|
||||||
|
padding-right: 43px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.send-button {
|
.send-button {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
@@ -421,6 +421,9 @@
|
|||||||
.post-body__cell {
|
.post-body__cell {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
padding-left: 45px;
|
padding-left: 45px;
|
||||||
|
.sidebar--right & {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.app__content & {
|
.app__content & {
|
||||||
.btn-file {
|
.btn-file {
|
||||||
|
|||||||
@@ -268,7 +268,6 @@
|
|||||||
position:absolute;
|
position:absolute;
|
||||||
right:15px;
|
right:15px;
|
||||||
top:13px;
|
top:13px;
|
||||||
color:#414142;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
.post-header {
|
.post-header {
|
||||||
.post-header-col {
|
.post-header-col {
|
||||||
&.post-header__reply {
|
&.post-header__reply {
|
||||||
|
min-width: 30px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user