Fix more react warnings & fix saving theme (#4667)

Этот коммит содержится в:
enahum
2016-11-29 12:15:46 -03:00
коммит произвёл Christopher Speller
родитель 02d581c159
Коммит 702c4cb121
6 изменённых файлов: 26 добавлений и 19 удалений

Просмотреть файл

@@ -236,7 +236,7 @@ function onThemeSaved(teamId, theme, onSuccess) {
const toDelete = [];
for (const [name] of themePreferences) {
if (name === '') {
if (name === '' || name === teamId) {
continue;
}
@@ -247,14 +247,16 @@ function onThemeSaved(teamId, theme, onSuccess) {
});
}
// we're saving a new global theme so delete any team-specific ones
AsyncClient.deletePreferences(toDelete);
if (toDelete.length > 0) {
// we're saving a new global theme so delete any team-specific ones
AsyncClient.deletePreferences(toDelete);
// delete them locally before we hear from the server so that the UI flow is smoother
AppDispatcher.handleServerAction({
type: ActionTypes.DELETED_PREFERENCES,
preferences: toDelete
});
// delete them locally before we hear from the server so that the UI flow is smoother
AppDispatcher.handleServerAction({
type: ActionTypes.DELETED_PREFERENCES,
preferences: toDelete
});
}
onSuccess();
}

Просмотреть файл

@@ -39,7 +39,12 @@ export default class FileAttachmentList extends React.Component {
} else if (this.props.fileCount > 0) {
for (let i = 0; i < Math.min(this.props.fileCount, Constants.MAX_DISPLAY_FILES); i++) {
// Add a placeholder to avoid pop-in once we get the file infos for this post
postFiles.push(<div className='post-image__column post-image__column--placeholder'/>);
postFiles.push(
<div
key={`fileCount-${i}`}
className='post-image__column post-image__column--placeholder'
/>
);
}
}
@@ -61,6 +66,6 @@ export default class FileAttachmentList extends React.Component {
FileAttachmentList.propTypes = {
fileCount: React.PropTypes.number.isRequired,
fileInfos: React.PropTypes.arrayOf(React.PropTypes.object).isRequired,
fileInfos: React.PropTypes.arrayOf(React.PropTypes.object),
compactDisplay: React.PropTypes.bool
};

Просмотреть файл

@@ -24,7 +24,7 @@ export default class EmailNotificationSetting extends React.Component {
enableEmail: React.PropTypes.bool.isRequired,
onChange: React.PropTypes.func.isRequired,
onSubmit: React.PropTypes.func.isRequired,
serverError: React.PropTypes.string.isRequired
serverError: React.PropTypes.string
};
constructor(props) {

Просмотреть файл

@@ -175,8 +175,8 @@ export default class AdvancedSettingsDisplay extends React.Component {
defaultMessage='Enable Post Formatting'
/>
}
inputs={
<div>
inputs={[
<div key='formattingSetting'>
<div className='radio'>
<label>
<input
@@ -215,7 +215,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
/>
</div>
</div>
}
]}
submit={() => this.handleSubmit('formatting')}
server_error={this.state.serverError}
updateSection={(e) => {
@@ -251,8 +251,8 @@ export default class AdvancedSettingsDisplay extends React.Component {
defaultMessage='Enable Join/Leave Messages'
/>
}
inputs={
<div>
inputs={[
<div key='joinLeaveSetting'>
<div className='radio'>
<label>
<input
@@ -291,7 +291,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
/>
</div>
</div>
}
]}
submit={() => this.handleSubmit('join_leave')}
server_error={this.state.serverError}
updateSection={(e) => {

Просмотреть файл

@@ -885,7 +885,7 @@ export default class NotificationsTab extends React.Component {
<EmailNotificationSetting
activeSection={this.props.activeSection}
updateSection={this.props.updateSection}
enableEmail={this.state.enableEmail}
enableEmail={this.state.enableEmail === 'true'}
onChange={this.handleEmailRadio}
onSubmit={this.handleSubmit}
serverError={this.state.serverError}

Просмотреть файл

@@ -257,7 +257,7 @@ export default class ThemeSetting extends React.Component {
inputs.push(custom);
inputs.push(
<div>
<div key='otherThemes'>
<br/>
<a
href='http://docs.mattermost.com/help/settings/theme-colors.html#custom-theme-examples'