mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 06:35:56 +08:00
fixes eslint
This commit is contained in:
parent
d707057aa4
commit
0a7c6300b0
2
.eslintignore
Normal file
2
.eslintignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/
|
||||||
|
public/
|
|
@ -7,15 +7,14 @@
|
||||||
},
|
},
|
||||||
"plugins": ["react", "prettier"],
|
"plugins": ["react", "prettier"],
|
||||||
"extends": [
|
"extends": [
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:react/recommended",
|
|
||||||
"airbnb",
|
"airbnb",
|
||||||
"prettier",
|
"prettier",
|
||||||
"prettier/react"
|
"prettier/react"
|
||||||
],
|
],
|
||||||
|
"parser": "babel-eslint",
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"sourceType": "module",
|
"sourceType": "module",
|
||||||
"ecmaVersion": 6,
|
"ecmaVersion": 2016,
|
||||||
"ecmaFeatures": {
|
"ecmaFeatures": {
|
||||||
"impliedStrict": true,
|
"impliedStrict": true,
|
||||||
"jsx": true
|
"jsx": true
|
||||||
|
|
|
@ -10,6 +10,9 @@ export default {
|
||||||
modal_title: "Activities",
|
modal_title: "Activities",
|
||||||
no_data: "No Data",
|
no_data: "No Data",
|
||||||
more_activities: "More Activities"
|
more_activities: "More Activities"
|
||||||
|
},
|
||||||
|
global_team_switch: {
|
||||||
|
new_team: "New team"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
import React, { Component } from "react";
|
||||||
|
import { NavDropdown, MenuItem } from "react-bootstrap";
|
||||||
|
import { RootCloseWrapper } from "react-overlays";
|
||||||
|
|
||||||
|
class SearchDropdown extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = { searchTerm: "" };
|
||||||
|
this.handleSearchTermChange = this.handleSearchTermChange.bind(this);
|
||||||
|
this.triggerSearch = this.triggerSearch.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleSearchTermChange(ev) {
|
||||||
|
ev.preventDefault();
|
||||||
|
this.setState({ searchTerm: ev.target.value });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleRootClose(ev) {
|
||||||
|
console.log(ev);
|
||||||
|
// if (ev.key !== "Enter") {
|
||||||
|
// ev.preventDefault();
|
||||||
|
// }
|
||||||
|
// href={`/search?q=${this.state.searchTerm}`}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<RootCloseWrapper
|
||||||
|
onRootClose={this.handleRootClose}
|
||||||
|
event={rootCloseEvent}
|
||||||
|
>
|
||||||
|
<NavDropdown
|
||||||
|
noCaret
|
||||||
|
title={<span className="glyphicon glyphicon-search" />}
|
||||||
|
id="team-switch"
|
||||||
|
>
|
||||||
|
<MenuItem
|
||||||
|
onSelect={this.triggerSearch}
|
||||||
|
eventKey="search"
|
||||||
|
key="navSearchInput"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Search"
|
||||||
|
value={this.state.searchTerm}
|
||||||
|
onChange={this.handleSearchTermChange}
|
||||||
|
/>
|
||||||
|
</MenuItem>
|
||||||
|
</NavDropdown>
|
||||||
|
</RootCloseWrapper>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SearchDropdown;
|
|
@ -1,6 +1,7 @@
|
||||||
import React, { Component } from "react";
|
import React, { Component } from "react";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
|
import { FormattedMessage } from "react-intl";
|
||||||
import { NavDropdown, MenuItem } from "react-bootstrap";
|
import { NavDropdown, MenuItem } from "react-bootstrap";
|
||||||
|
|
||||||
import { setCurrentUser, changeTeam } from "../../actions/TeamsActions";
|
import { setCurrentUser, changeTeam } from "../../actions/TeamsActions";
|
||||||
|
@ -9,12 +10,10 @@ class TeamSwitch extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.displayTeams = this.displayTeams.bind(this);
|
this.displayTeams = this.displayTeams.bind(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
changeTeam(team_id) {
|
changeTeam(teamId) {
|
||||||
console.log("clicked");
|
this.props.changeTeam(teamId);
|
||||||
this.props.changeTeam(team_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
displayTeams() {
|
displayTeams() {
|
||||||
|
@ -25,14 +24,25 @@ class TeamSwitch extends Component {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newTeamLink() {
|
||||||
|
return (
|
||||||
|
<MenuItem href="/users/settings/teams/new" key="addNewTeam">
|
||||||
|
<span className="glyphicon glyphicon-plus" />
|
||||||
|
<FormattedMessage id="global_team_switch.new_team" />
|
||||||
|
</MenuItem>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<NavDropdown
|
<NavDropdown
|
||||||
|
noCaret
|
||||||
eventKey={this.props.eventKey}
|
eventKey={this.props.eventKey}
|
||||||
title={this.props.current_team.name}
|
title={this.props.current_team.name}
|
||||||
id="team-switch"
|
id="team-switch"
|
||||||
>
|
>
|
||||||
{this.displayTeams()}
|
{this.displayTeams()}
|
||||||
|
{this.newTeamLink()}
|
||||||
</NavDropdown>
|
</NavDropdown>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -40,7 +50,7 @@ class TeamSwitch extends Component {
|
||||||
|
|
||||||
TeamSwitch.propTypes = {
|
TeamSwitch.propTypes = {
|
||||||
eventKey: PropTypes.number.isRequired,
|
eventKey: PropTypes.number.isRequired,
|
||||||
setCurrentUser: PropTypes.func.isRequired,
|
changeTeam: PropTypes.func.isRequired,
|
||||||
all_teams: PropTypes.arrayOf(
|
all_teams: PropTypes.arrayOf(
|
||||||
PropTypes.shape({
|
PropTypes.shape({
|
||||||
id: PropTypes.number.isRequired,
|
id: PropTypes.number.isRequired,
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { getActivities } from "../actions/ActivitiesActions";
|
||||||
import { getTeamsList } from "../actions/TeamsActions";
|
import { getTeamsList } from "../actions/TeamsActions";
|
||||||
import TeamSwitch from "./components/TeamSwitch";
|
import TeamSwitch from "./components/TeamSwitch";
|
||||||
import GlobalActivitiesModal from "./components/GlobalActivitiesModal";
|
import GlobalActivitiesModal from "./components/GlobalActivitiesModal";
|
||||||
|
import SearchDropdown from "./components/SearchDropdown";
|
||||||
|
|
||||||
const StyledBrand = styled.a`
|
const StyledBrand = styled.a`
|
||||||
background-color: ${MAIN_COLOR_BLUE};
|
background-color: ${MAIN_COLOR_BLUE};
|
||||||
|
@ -93,9 +94,7 @@ class Navigation extends Component {
|
||||||
</Nav>
|
</Nav>
|
||||||
<Nav pullRight>
|
<Nav pullRight>
|
||||||
<TeamSwitch eventKey={5} />
|
<TeamSwitch eventKey={5} />
|
||||||
<NavItem eventKey={6} href="#">
|
<SearchDropdown />
|
||||||
Link Right
|
|
||||||
</NavItem>
|
|
||||||
<NavItem eventKey={7} href="#">
|
<NavItem eventKey={7} href="#">
|
||||||
Link Right
|
Link Right
|
||||||
</NavItem>
|
</NavItem>
|
||||||
|
@ -112,8 +111,8 @@ class Navigation extends Component {
|
||||||
|
|
||||||
Navigation.propTypes = {
|
Navigation.propTypes = {
|
||||||
fetchActivities: PropTypes.func.isRequired,
|
fetchActivities: PropTypes.func.isRequired,
|
||||||
getTeamsList: PropTypes.func.isRequired,
|
getTeamsList: PropTypes.func.isRequired
|
||||||
}
|
};
|
||||||
|
|
||||||
// Map the fetch activity action to component
|
// Map the fetch activity action to component
|
||||||
const mapDispatchToProps = dispatch => ({
|
const mapDispatchToProps = dispatch => ({
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
"lint": "eslint ."
|
"lint": "eslint ."
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"babel-eslint": "^7.2.3",
|
||||||
"eslint": "^3.7.1",
|
"eslint": "^3.7.1",
|
||||||
"eslint-config-airbnb": "^15.1.0",
|
"eslint-config-airbnb": "^15.1.0",
|
||||||
"eslint-config-google": "^0.5.0",
|
"eslint-config-google": "^0.5.0",
|
||||||
|
@ -62,6 +63,7 @@
|
||||||
"react": "^15.6.1",
|
"react": "^15.6.1",
|
||||||
"react-bootstrap": "^0.31.1",
|
"react-bootstrap": "^0.31.1",
|
||||||
"react-dom": "^15.6.1",
|
"react-dom": "^15.6.1",
|
||||||
|
"react-dropdown-input": "^0.1.11",
|
||||||
"react-intl": "^2.3.0",
|
"react-intl": "^2.3.0",
|
||||||
"react-intl-redux": "^0.6.0",
|
"react-intl-redux": "^0.6.0",
|
||||||
"react-redux": "^5.0.5",
|
"react-redux": "^5.0.5",
|
||||||
|
|
43
yarn.lock
43
yarn.lock
|
@ -335,6 +335,15 @@ babel-core@^6.24.1, babel-core@^6.25.0:
|
||||||
slash "^1.0.0"
|
slash "^1.0.0"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
|
|
||||||
|
babel-eslint@^7.2.3:
|
||||||
|
version "7.2.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
|
||||||
|
dependencies:
|
||||||
|
babel-code-frame "^6.22.0"
|
||||||
|
babel-traverse "^6.23.1"
|
||||||
|
babel-types "^6.23.0"
|
||||||
|
babylon "^6.17.0"
|
||||||
|
|
||||||
babel-generator@^6.25.0:
|
babel-generator@^6.25.0:
|
||||||
version "6.25.0"
|
version "6.25.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc"
|
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc"
|
||||||
|
@ -853,7 +862,7 @@ babel-template@^6.24.1, babel-template@^6.25.0:
|
||||||
babylon "^6.17.2"
|
babylon "^6.17.2"
|
||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
|
|
||||||
babel-traverse@^6.24.1, babel-traverse@^6.25.0:
|
babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0:
|
||||||
version "6.25.0"
|
version "6.25.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
|
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -867,7 +876,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.25.0:
|
||||||
invariant "^2.2.0"
|
invariant "^2.2.0"
|
||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
|
|
||||||
babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0:
|
babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0:
|
||||||
version "6.25.0"
|
version "6.25.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
|
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -876,7 +885,7 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0:
|
||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
to-fast-properties "^1.0.1"
|
to-fast-properties "^1.0.1"
|
||||||
|
|
||||||
babylon@^6.17.2:
|
babylon@^6.17.0, babylon@^6.17.2:
|
||||||
version "6.17.4"
|
version "6.17.4"
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
|
||||||
|
|
||||||
|
@ -1175,7 +1184,7 @@ clap@^1.0.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.3"
|
chalk "^1.1.3"
|
||||||
|
|
||||||
classnames@^2.2.5:
|
classnames@>=1.1.4, classnames@^2.2.5:
|
||||||
version "2.2.5"
|
version "2.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
|
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
|
||||||
|
|
||||||
|
@ -4549,6 +4558,22 @@ rc@^1.1.7:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
strip-json-comments "~2.0.1"
|
strip-json-comments "~2.0.1"
|
||||||
|
|
||||||
|
react-bootstrap@>=0.18.0:
|
||||||
|
version "0.31.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.31.2.tgz#f59184676ecedfc4c572d29ffdd6f9126ea8fe6a"
|
||||||
|
dependencies:
|
||||||
|
babel-runtime "^6.11.6"
|
||||||
|
classnames "^2.2.5"
|
||||||
|
dom-helpers "^3.2.0"
|
||||||
|
invariant "^2.2.1"
|
||||||
|
keycode "^2.1.2"
|
||||||
|
prop-types "^15.5.10"
|
||||||
|
prop-types-extra "^1.0.1"
|
||||||
|
react-overlays "^0.7.0"
|
||||||
|
react-prop-types "^0.4.0"
|
||||||
|
uncontrollable "^4.1.0"
|
||||||
|
warning "^3.0.0"
|
||||||
|
|
||||||
react-bootstrap@^0.31.1:
|
react-bootstrap@^0.31.1:
|
||||||
version "0.31.1"
|
version "0.31.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.31.1.tgz#679c9f73ae77ff207867d536496207291f3a3ed7"
|
resolved "https://registry.yarnpkg.com/react-bootstrap/-/react-bootstrap-0.31.1.tgz#679c9f73ae77ff207867d536496207291f3a3ed7"
|
||||||
|
@ -4574,6 +4599,14 @@ react-dom@^15.6.1:
|
||||||
object-assign "^4.1.0"
|
object-assign "^4.1.0"
|
||||||
prop-types "^15.5.10"
|
prop-types "^15.5.10"
|
||||||
|
|
||||||
|
react-dropdown-input@^0.1.11:
|
||||||
|
version "0.1.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-dropdown-input/-/react-dropdown-input-0.1.11.tgz#2162e86bc3fa0626d476178dc38ccd80199b7c3f"
|
||||||
|
dependencies:
|
||||||
|
classnames ">=1.1.4"
|
||||||
|
react ">=0.12"
|
||||||
|
react-bootstrap ">=0.18.0"
|
||||||
|
|
||||||
react-intl-redux@^0.6.0:
|
react-intl-redux@^0.6.0:
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-intl-redux/-/react-intl-redux-0.6.0.tgz#398589c56c3f19d27628015f8e490e610be19202"
|
resolved "https://registry.yarnpkg.com/react-intl-redux/-/react-intl-redux-0.6.0.tgz#398589c56c3f19d27628015f8e490e610be19202"
|
||||||
|
@ -4645,7 +4678,7 @@ react-router@^4.1.1:
|
||||||
prop-types "^15.5.4"
|
prop-types "^15.5.4"
|
||||||
warning "^3.0.0"
|
warning "^3.0.0"
|
||||||
|
|
||||||
react@^15.6.1:
|
react@>=0.12, react@^15.6.1:
|
||||||
version "15.6.1"
|
version "15.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df"
|
resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
Loading…
Reference in a new issue