Merge pull request #819 from ZmagoD/fix_webpacker_production_configuration

fixes webpack production build
This commit is contained in:
Zmago Devetak 2017-10-10 15:08:28 +02:00 committed by GitHub
commit e99791bd29
5 changed files with 30 additions and 34 deletions

View file

@ -1,6 +1,7 @@
// @flow // @flow
import React, { Component } from "react"; import React, { Component } from "react";
import type { Element } from "react";
import { FormattedMessage } from "react-intl"; import { FormattedMessage } from "react-intl";
import { Button, Modal } from "react-bootstrap"; import { Button, Modal } from "react-bootstrap";
import _ from "lodash"; import _ from "lodash";
@ -70,27 +71,19 @@ class GlobalActivitiesModal extends Component<Props, State> {
constructor(props: Props) { constructor(props: Props) {
super(props); super(props);
this.state = { activities: [], more: false }; this.state = { activities: [], more: false };
(this: Class< (this: any).displayActivities = this.displayActivities.bind(this);
GlobalActivitiesModal (this: any).addMoreActivities = this.addMoreActivities.bind(this);
>).displayActivities = this.displayActivities.bind(this); (this: any).onCloseModalActions = this.onCloseModalActions.bind(this);
(this: Class< (this: any).loadData = this.loadData.bind(this);
GlobalActivitiesModal (this: any).mapActivities = this.mapActivities.bind(this);
>).addMoreActivities = this.addMoreActivities.bind(this);
(this: Class<
GlobalActivitiesModal
>).onCloseModalActions = this.onCloseModalActions.bind(this);
(this: Class<GlobalActivitiesModal>).loadData = this.loadData.bind(this);
(this: Class<
GlobalActivitiesModal
>).mapActivities = this.mapActivities.bind(this);
} }
onCloseModalActions() { onCloseModalActions(): void {
this.setState({ activities: [], more: false }); this.setState({ activities: [], more: false });
this.props.onCloseModal(); this.props.onCloseModal();
} }
loadData() { loadData(): void {
getActivities().then(response => { getActivities().then(response => {
this.setState({ this.setState({
activities: response.activities, activities: response.activities,
@ -99,7 +92,7 @@ class GlobalActivitiesModal extends Component<Props, State> {
}); });
} }
mapActivities() { mapActivities(): Array<*> {
return this.state.activities.map((activity, i, arr) => { return this.state.activities.map((activity, i, arr) => {
// @todo replace key={i} with key={activity.id} !!!!!!!!!!!!!! // @todo replace key={i} with key={activity.id} !!!!!!!!!!!!!!
// when the backend bug will be fixed // when the backend bug will be fixed
@ -142,7 +135,7 @@ class GlobalActivitiesModal extends Component<Props, State> {
return this.mapActivities(); return this.mapActivities();
} }
addMoreActivities() { addMoreActivities(): void {
const lastId = _.last(this.state.activities).id; const lastId = _.last(this.state.activities).id;
getActivities( getActivities(
lastId lastId
@ -154,7 +147,7 @@ class GlobalActivitiesModal extends Component<Props, State> {
}); });
} }
addMoreButton() { addMoreButton(): Element<*> {
if (this.state.more) { if (this.state.more) {
return ( return (
<li className="text-center"> <li className="text-center">
@ -164,7 +157,7 @@ class GlobalActivitiesModal extends Component<Props, State> {
</li> </li>
); );
} }
return ""; return <span />;
} }
render() { render() {

View file

@ -5,7 +5,7 @@ import { Breadcrumb, Row, Col, Glyphicon, Well } from "react-bootstrap";
import { LinkContainer } from "react-router-bootstrap"; import { LinkContainer } from "react-router-bootstrap";
import { FormattedHTMLMessage, FormattedMessage } from "react-intl"; import { FormattedHTMLMessage, FormattedMessage } from "react-intl";
import moment from "moment"; import moment from "moment";
import prettysize from "prettysize"; import { formatBytes } from "../../../../services/helpers/units_converter_helper";
import axios from "../../../../config/axios"; import axios from "../../../../config/axios";
import { SETTINGS_TEAMS_ROUTE } from "../../../../config/routes"; import { SETTINGS_TEAMS_ROUTE } from "../../../../config/routes";
@ -25,7 +25,9 @@ const Wrapper = styled.div`
padding: 16px 15px 50px 15px; padding: 16px 15px 50px 15px;
`; `;
const TabTitle = styled.div`padding: 15px;`; const TabTitle = styled.div`
padding: 15px;
`;
const BadgeWrapper = styled.div` const BadgeWrapper = styled.div`
font-size: 1.4em; font-size: 1.4em;
@ -39,7 +41,8 @@ const StyledWell = styled(Well)`
padding: 9px; padding: 9px;
& > span { & > span {
padding-left: 5px; padding-left: 5px;
}`; }
`;
const StyledDescriptionWell = styled(Well)` const StyledDescriptionWell = styled(Well)`
padding: 9px; padding: 9px;
@ -59,8 +62,6 @@ const StyledH3 = styled.h3`
} }
`; `;
const StyledOl = styled.ol`padding: 15px;`;
class SettingsTeam extends Component { class SettingsTeam extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
@ -132,7 +133,7 @@ class SettingsTeam extends Component {
renderEditNameModel() { renderEditNameModel() {
if (this.state.showNameModal) { if (this.state.showNameModal) {
return( return (
<UpdateTeamNameModal <UpdateTeamNameModal
showModal={this.state.showNameModal} showModal={this.state.showNameModal}
hideModal={this.hideNameModalCallback} hideModal={this.hideNameModalCallback}
@ -196,7 +197,7 @@ class SettingsTeam extends Component {
<FormattedHTMLMessage <FormattedHTMLMessage
id="settings_page.single_team.space_usage" id="settings_page.single_team.space_usage"
values={{ values={{
space_usage: prettysize(this.state.team.space_taken) space_usage: formatBytes(this.state.team.space_taken)
}} }}
/> />
</StyledWell> </StyledWell>
@ -208,9 +209,7 @@ class SettingsTeam extends Component {
<Glyphicon glyph="info-sign" /> <Glyphicon glyph="info-sign" />
</BadgeWrapper> </BadgeWrapper>
<StyledDescriptionWell> <StyledDescriptionWell>
<span> <span>{this.renderDescription()}</span>
{this.renderDescription()}
</span>
</StyledDescriptionWell> </StyledDescriptionWell>
</Col> </Col>
</Row> </Row>

View file

@ -0,0 +1,9 @@
// @flow
export function formatBytes(bytes: number): string {
if (bytes === 0) return "0 Bytes";
const k = 1024;
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return `${parseFloat((bytes / (k ** i)).toFixed(2))} ${sizes[i]}`;
}

View file

@ -65,7 +65,6 @@
"postcss-loader": "^2.0.6", "postcss-loader": "^2.0.6",
"postcss-smart-import": "^0.7.5", "postcss-smart-import": "^0.7.5",
"precss": "^2.0.0", "precss": "^2.0.0",
"prettysize": "^1.1.0",
"prop-types": "^15.5.10", "prop-types": "^15.5.10",
"rails-erb-loader": "^5.0.2", "rails-erb-loader": "^5.0.2",
"react": "15.6.1", "react": "15.6.1",

View file

@ -4823,10 +4823,6 @@ prettier@^1.7.0:
version "1.7.4" version "1.7.4"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa"
prettysize@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-1.1.0.tgz#c6c52f87161ff172ea435f375f99831dd9a97bb0"
private@^0.1.6, private@^0.1.7: private@^0.1.6, private@^0.1.7:
version "0.1.7" version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"