@zohodesk/react-cli 1.0.1-exp.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/.vscode/settings.json +11 -0
  5. package/Changelog.md +1019 -1019
  6. package/README.md +1160 -1152
  7. package/bin/cli.js +483 -483
  8. package/docs/CustomChunks.md +26 -26
  9. package/docs/DevServerPort.md +39 -39
  10. package/docs/DevStart.md +18 -18
  11. package/docs/HoverActive.md +12 -12
  12. package/docs/InstallNode.md +28 -28
  13. package/docs/SelectorWeight.md +9 -6
  14. package/docs/TODOS.md +10 -10
  15. package/docs/ValueReplacer.md +60 -60
  16. package/docs/VariableConversion.md +729 -724
  17. package/docs/warnings_while_install.txt +35 -35
  18. package/files/eslintrc.js +62 -62
  19. package/files/prettierrc.js +3 -3
  20. package/lib/configs/webpack.css.umd.config.js +4 -4
  21. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  22. package/lib/loaders/workerLoader.js +9 -9
  23. package/lib/pluginUtils/getDevPlugins.js +5 -5
  24. package/lib/pluginUtils/getProdPlugins.js +5 -5
  25. package/lib/plugins/EFCPlugin.md +6 -6
  26. package/lib/plugins/I18NInjectIntoIndexPlugin.js +4 -4
  27. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  28. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  29. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +8 -8
  30. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  31. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  32. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  33. package/lib/plugins/ResourceHintsPlugin.js +17 -17
  34. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  35. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  36. package/lib/plugins/SelectorPlugin.js +15 -38
  37. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  38. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  39. package/lib/plugins/VariableConversionCollector.js +54 -54
  40. package/lib/postcss-plugins/RTLSplitPlugin.js +10 -10
  41. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  42. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  43. package/lib/postcss-plugins/hoverActivePlugin.js +3 -3
  44. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +0 -1
  45. package/lib/postcss-plugins/variableModificationPlugin/index.js +13 -13
  46. package/lib/sh/pre-commit.sh +34 -34
  47. package/lib/sh/reportPublish.sh +45 -45
  48. package/lib/utils/buildstats.html +148 -148
  49. package/lib/utils/resultSchema.json +73 -73
  50. package/npm8.md +9 -9
  51. package/package.json +121 -121
  52. package/postpublish.js +8 -8
  53. package/result.json +1 -0
  54. package/templates/app/.eslintrc.js +140 -140
  55. package/templates/app/README.md +12 -12
  56. package/templates/app/app/index.html +24 -24
  57. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  58. package/templates/app/app/properties/i18nkeys.json +3 -3
  59. package/templates/app/docs/all.html +69 -69
  60. package/templates/app/mockapi/index.js +18 -18
  61. package/templates/app/package.json +37 -37
  62. package/templates/app/src/actions/SampleActions/index.js +37 -37
  63. package/templates/app/src/actions/index.js +65 -65
  64. package/templates/app/src/appUrls.js +19 -19
  65. package/templates/app/src/components/Alert/Alert.js +134 -134
  66. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  67. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  68. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  69. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  70. package/templates/app/src/components/Sample/SampleList.js +61 -61
  71. package/templates/app/src/components/Slider/Slider.css +41 -41
  72. package/templates/app/src/components/Slider/Slider.js +55 -55
  73. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  74. package/templates/app/src/containers/AppContainer/index.js +96 -96
  75. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  76. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  77. package/templates/app/src/containers/DevTools/index.js +10 -10
  78. package/templates/app/src/containers/Header/index.js +67 -67
  79. package/templates/app/src/containers/Header/index.module.css +43 -43
  80. package/templates/app/src/containers/Redirect/index.js +63 -63
  81. package/templates/app/src/containers/Redirector/index.js +47 -47
  82. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  83. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  84. package/templates/app/src/historyChange.js +5 -5
  85. package/templates/app/src/index.html +10 -10
  86. package/templates/app/src/index.js +24 -24
  87. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  88. package/templates/app/src/reducers/alertData.js +11 -11
  89. package/templates/app/src/reducers/index.js +6 -6
  90. package/templates/app/src/reducers/samples.js +19 -19
  91. package/templates/app/src/store/configureStore.dev.js +51 -51
  92. package/templates/app/src/store/configureStore.js +5 -5
  93. package/templates/app/src/store/configureStore.prod.js +26 -26
  94. package/templates/app/src/util/Common.js +5 -5
  95. package/templates/app/src/util/RequestAPI.js +132 -132
  96. package/templates/docs/all.html +249 -249
  97. package/templates/docs/component.html +178 -178
  98. package/templates/docs/components.html +221 -221
  99. package/templates/docs/css/b.min.css +6 -6
  100. package/templates/docs/css/component.css +42 -42
  101. package/templates/docs/css/componentTest.css +6 -6
  102. package/templates/docs/css/hopscotch.css +585 -585
  103. package/templates/docs/css/style.css +1022 -1022
  104. package/templates/docs/impactReportTemplate.html +154 -154
  105. package/templates/docs/index.html +1501 -1501
  106. package/templates/docs/js/active-line.js +72 -72
  107. package/templates/docs/js/b.min.js +7 -7
  108. package/templates/docs/js/codemirror.js +9680 -9680
  109. package/templates/docs/js/designTokens.js +334 -334
  110. package/templates/docs/js/j.min.js +4 -4
  111. package/templates/docs/js/javascript.js +874 -874
  112. package/templates/docs/js/matchbrackets.js +145 -145
  113. package/unittest/index.html +37 -0
  114. package/lib/plugins/cssoPlugin.js +0 -37
  115. package/lib/plugins/utils/checkPattern.js +0 -57
  116. package/lib/plugins/utils/classHandling.js +0 -28
  117. package/lib/plugins/utils/fileHandling.js +0 -122
@@ -1,65 +1,65 @@
1
- import React, { Component } from "react";
2
- import { connect } from "react-redux";
3
- import PropTypes from "prop-types";
4
- import { replace } from "../../actions";
5
- class CustomMatch extends Component {
6
- render() {
7
- let { children, isMatch } = this.props;
8
- return (isMatch && React.Children.only(children)) || null;
9
- }
10
- }
11
-
12
- export default connect(
13
- (state, props) => {
14
- let isMatch;
15
- if (Array.isArray(props.names)) {
16
- isMatch = props.names.some(urlObj => {
17
- let { name, module, isExactly } = urlObj || {};
18
- const { paramMap = {}, urls } = state.routing;
19
- let url = urls[name] || {};
20
-
21
- let { moduleName } = paramMap;
22
- if ((isExactly && url.match === 2) || (!isExactly && url.match)) {
23
- isMatch = true;
24
- return module ? moduleName === module : isMatch;
25
- }
26
- return false;
27
- });
28
- } else {
29
- let url = state.routing.urls[props.name];
30
- if (url) {
31
- isMatch =
32
- (props.isExactly && url.match === 2) ||
33
- (!props.isExactly && url.match);
34
- if (isMatch && Array.isArray(props.module)) {
35
- let modules = props.module;
36
- isMatch = modules.some(module => {
37
- return state.routing.paramMap.moduleName === module;
38
- });
39
- } else if (isMatch && props.module) {
40
- isMatch = state.routing.paramMap.moduleName === props.module;
41
- }
42
- }
43
- }
44
- isMatch =
45
- !isMatch && props.orMapStateMatch
46
- ? props.orMapStateMatch(state)
47
- : isMatch;
48
- return {
49
- isMatch: isMatch ? true : false,
50
- isAuthenticate: props.checkAuthenticate
51
- ? props.checkAuthenticate(state)
52
- : true
53
- };
54
- },
55
- { replace }
56
- )(CustomMatch);
57
-
58
- CustomMatch.defaultProps = {
59
- isExactly: false
60
- };
61
- CustomMatch.propTypes = {
62
- children: PropTypes.element,
63
- isExactly: PropTypes.bool,
64
- isMatch: PropTypes.bool
65
- };
1
+ import React, { Component } from "react";
2
+ import { connect } from "react-redux";
3
+ import PropTypes from "prop-types";
4
+ import { replace } from "../../actions";
5
+ class CustomMatch extends Component {
6
+ render() {
7
+ let { children, isMatch } = this.props;
8
+ return (isMatch && React.Children.only(children)) || null;
9
+ }
10
+ }
11
+
12
+ export default connect(
13
+ (state, props) => {
14
+ let isMatch;
15
+ if (Array.isArray(props.names)) {
16
+ isMatch = props.names.some(urlObj => {
17
+ let { name, module, isExactly } = urlObj || {};
18
+ const { paramMap = {}, urls } = state.routing;
19
+ let url = urls[name] || {};
20
+
21
+ let { moduleName } = paramMap;
22
+ if ((isExactly && url.match === 2) || (!isExactly && url.match)) {
23
+ isMatch = true;
24
+ return module ? moduleName === module : isMatch;
25
+ }
26
+ return false;
27
+ });
28
+ } else {
29
+ let url = state.routing.urls[props.name];
30
+ if (url) {
31
+ isMatch =
32
+ (props.isExactly && url.match === 2) ||
33
+ (!props.isExactly && url.match);
34
+ if (isMatch && Array.isArray(props.module)) {
35
+ let modules = props.module;
36
+ isMatch = modules.some(module => {
37
+ return state.routing.paramMap.moduleName === module;
38
+ });
39
+ } else if (isMatch && props.module) {
40
+ isMatch = state.routing.paramMap.moduleName === props.module;
41
+ }
42
+ }
43
+ }
44
+ isMatch =
45
+ !isMatch && props.orMapStateMatch
46
+ ? props.orMapStateMatch(state)
47
+ : isMatch;
48
+ return {
49
+ isMatch: isMatch ? true : false,
50
+ isAuthenticate: props.checkAuthenticate
51
+ ? props.checkAuthenticate(state)
52
+ : true
53
+ };
54
+ },
55
+ { replace }
56
+ )(CustomMatch);
57
+
58
+ CustomMatch.defaultProps = {
59
+ isExactly: false
60
+ };
61
+ CustomMatch.propTypes = {
62
+ children: PropTypes.element,
63
+ isExactly: PropTypes.bool,
64
+ isMatch: PropTypes.bool
65
+ };
@@ -1,10 +1,10 @@
1
- import React from "react";
2
- import { createDevTools } from "redux-devtools";
3
- import LogMonitor from "redux-devtools-log-monitor";
4
- import DockMonitor from "redux-devtools-dock-monitor";
5
-
6
- export default createDevTools(
7
- <DockMonitor toggleVisibilityKey="ctrl-h" changePositionKey="ctrl-w">
8
- <LogMonitor />
9
- </DockMonitor>
10
- );
1
+ import React from "react";
2
+ import { createDevTools } from "redux-devtools";
3
+ import LogMonitor from "redux-devtools-log-monitor";
4
+ import DockMonitor from "redux-devtools-dock-monitor";
5
+
6
+ export default createDevTools(
7
+ <DockMonitor toggleVisibilityKey="ctrl-h" changePositionKey="ctrl-w">
8
+ <LogMonitor />
9
+ </DockMonitor>
10
+ );
@@ -1,67 +1,67 @@
1
- import React, { Component } from "react";
2
- import PropTypes from "prop-types";
3
- import { connect } from "react-redux";
4
- import style from "./index.module.css";
5
- import { push, alertAction } from "../../actions";
6
-
7
- import { URL_PREFIX } from "../../util/Common";
8
-
9
- class Header extends Component {
10
- constructor(props) {
11
- super(props);
12
- this.state = {
13
- tabs: [
14
- {
15
- url: `${URL_PREFIX}/sample`,
16
- name: "Sample",
17
- apiName: "sample",
18
- id: "1"
19
- }
20
- ],
21
- selectedTab: "sample"
22
- };
23
- this.changeTab = this.changeTab.bind(this);
24
- }
25
- changeTab(e) {
26
- e.preventDefault();
27
- let { push } = this.props;
28
-
29
- push({ pathname: e.target.getAttribute("href") });
30
- }
31
- render() {
32
- let { tabs, selectedTab } = this.state;
33
- const { topbar, menuUl, menuli, menuliActive, menuLink } = style;
34
-
35
- tabs = tabs.map((tab, index) => {
36
- const { apiName, url, name } = tab;
37
-
38
- const tabClass =
39
- selectedTab === apiName ? menuli + " " + menuliActive : menuli;
40
- return (
41
- <li className={tabClass} key={index}>
42
- <a href={url} className={menuLink} onClick={this.changeTab}>
43
- {name}
44
- </a>
45
- </li>
46
- );
47
- });
48
- return (
49
- <div className={topbar}>
50
- <ul className={menuUl}>{tabs}</ul>
51
- </div>
52
- );
53
- }
54
- }
55
-
56
- Header.propTypes = {
57
- push: PropTypes.func
58
- };
59
-
60
- const mapStateToProps = (state, ownProps) => {
61
- return {};
62
- };
63
-
64
- export default connect(
65
- mapStateToProps,
66
- { push, showConfirmBox: alertAction.showConfirmBox }
67
- )(Header);
1
+ import React, { Component } from "react";
2
+ import PropTypes from "prop-types";
3
+ import { connect } from "react-redux";
4
+ import style from "./index.module.css";
5
+ import { push, alertAction } from "../../actions";
6
+
7
+ import { URL_PREFIX } from "../../util/Common";
8
+
9
+ class Header extends Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.state = {
13
+ tabs: [
14
+ {
15
+ url: `${URL_PREFIX}/sample`,
16
+ name: "Sample",
17
+ apiName: "sample",
18
+ id: "1"
19
+ }
20
+ ],
21
+ selectedTab: "sample"
22
+ };
23
+ this.changeTab = this.changeTab.bind(this);
24
+ }
25
+ changeTab(e) {
26
+ e.preventDefault();
27
+ let { push } = this.props;
28
+
29
+ push({ pathname: e.target.getAttribute("href") });
30
+ }
31
+ render() {
32
+ let { tabs, selectedTab } = this.state;
33
+ const { topbar, menuUl, menuli, menuliActive, menuLink } = style;
34
+
35
+ tabs = tabs.map((tab, index) => {
36
+ const { apiName, url, name } = tab;
37
+
38
+ const tabClass =
39
+ selectedTab === apiName ? menuli + " " + menuliActive : menuli;
40
+ return (
41
+ <li className={tabClass} key={index}>
42
+ <a href={url} className={menuLink} onClick={this.changeTab}>
43
+ {name}
44
+ </a>
45
+ </li>
46
+ );
47
+ });
48
+ return (
49
+ <div className={topbar}>
50
+ <ul className={menuUl}>{tabs}</ul>
51
+ </div>
52
+ );
53
+ }
54
+ }
55
+
56
+ Header.propTypes = {
57
+ push: PropTypes.func
58
+ };
59
+
60
+ const mapStateToProps = (state, ownProps) => {
61
+ return {};
62
+ };
63
+
64
+ export default connect(
65
+ mapStateToProps,
66
+ { push, showConfirmBox: alertAction.showConfirmBox }
67
+ )(Header);
@@ -1,43 +1,43 @@
1
- .topbar {
2
- min-height: 45px;
3
- background: #1e2633;
4
-
5
- box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
6
- width: 100%;
7
- z-index: 5;
8
- color: #fff;
9
- }
10
-
11
- :global ul,
12
- :global li {
13
- padding: 0;
14
- margin: 0;
15
- }
16
-
17
- .menuUl {
18
- list-style: none;
19
- }
20
-
21
- .menuli {
22
- float: left;
23
- box-sizing: border-box;
24
- cursor: pointer;
25
- position: relative;
26
- font-size: 12px;
27
- letter-spacing: 0.6px;
28
- text-transform: uppercase;
29
- }
30
-
31
- .menuliActive {
32
- background: #4b515c;
33
- }
34
-
35
- .menuLink {
36
- padding: 17px 14px 15px;
37
- float: left;
38
- line-height: 13px;
39
- color: #fff;
40
- max-width: 110px;
41
- -webkit-font-smoothing: antialiased;
42
- -moz-osx-font-smoothing: grayscale;
43
- }
1
+ .topbar {
2
+ min-height: 45px;
3
+ background: #1e2633;
4
+
5
+ box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.25);
6
+ width: 100%;
7
+ z-index: 5;
8
+ color: #fff;
9
+ }
10
+
11
+ :global ul,
12
+ :global li {
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+
17
+ .menuUl {
18
+ list-style: none;
19
+ }
20
+
21
+ .menuli {
22
+ float: left;
23
+ box-sizing: border-box;
24
+ cursor: pointer;
25
+ position: relative;
26
+ font-size: 12px;
27
+ letter-spacing: 0.6px;
28
+ text-transform: uppercase;
29
+ }
30
+
31
+ .menuliActive {
32
+ background: #4b515c;
33
+ }
34
+
35
+ .menuLink {
36
+ padding: 17px 14px 15px;
37
+ float: left;
38
+ line-height: 13px;
39
+ color: #fff;
40
+ max-width: 110px;
41
+ -webkit-font-smoothing: antialiased;
42
+ -moz-osx-font-smoothing: grayscale;
43
+ }
@@ -1,63 +1,63 @@
1
- import React, { Component } from "react";
2
- import PropTypes from "prop-types";
3
- import { connect } from "react-redux";
4
- import { replace } from "../../actions";
5
- class Redirect extends Component {
6
- constructor(props) {
7
- super(props);
8
- }
9
-
10
- render() {
11
- return null;
12
- }
13
-
14
- componentDidMount() {
15
- if (this.props.isMatch) {
16
- this.props.replace(this.props.to(this.props.location));
17
- }
18
- }
19
-
20
- componentDidUpdate() {
21
- if (this.props.isMatch) {
22
- this.props.replace(this.props.to(this.props.location));
23
- }
24
- }
25
- }
26
-
27
- Redirect.propTypes = {
28
- from: PropTypes.shape({
29
- name: PropTypes.string,
30
- module: PropTypes.string
31
- }),
32
- to: PropTypes.func
33
- };
34
- function mapStateToProps(state, props) {
35
- let url = state.routing.urls[props.from.name];
36
-
37
- if (url && url.match == 2) {
38
- let { module } = props.from;
39
- if (props.from.module) {
40
- if (state.routing.paramMap.moduleName == props.from.module) {
41
- return {
42
- isMatch: true,
43
- location: state.routing.location
44
- };
45
- }
46
- return {
47
- isMatch: false
48
- };
49
- }
50
- return {
51
- isMatch: true
52
- };
53
- }
54
- return {
55
- isMatch: false,
56
- location: state.routing.location
57
- };
58
- }
59
-
60
- export default connect(
61
- mapStateToProps,
62
- { replace }
63
- )(Redirect);
1
+ import React, { Component } from "react";
2
+ import PropTypes from "prop-types";
3
+ import { connect } from "react-redux";
4
+ import { replace } from "../../actions";
5
+ class Redirect extends Component {
6
+ constructor(props) {
7
+ super(props);
8
+ }
9
+
10
+ render() {
11
+ return null;
12
+ }
13
+
14
+ componentDidMount() {
15
+ if (this.props.isMatch) {
16
+ this.props.replace(this.props.to(this.props.location));
17
+ }
18
+ }
19
+
20
+ componentDidUpdate() {
21
+ if (this.props.isMatch) {
22
+ this.props.replace(this.props.to(this.props.location));
23
+ }
24
+ }
25
+ }
26
+
27
+ Redirect.propTypes = {
28
+ from: PropTypes.shape({
29
+ name: PropTypes.string,
30
+ module: PropTypes.string
31
+ }),
32
+ to: PropTypes.func
33
+ };
34
+ function mapStateToProps(state, props) {
35
+ let url = state.routing.urls[props.from.name];
36
+
37
+ if (url && url.match == 2) {
38
+ let { module } = props.from;
39
+ if (props.from.module) {
40
+ if (state.routing.paramMap.moduleName == props.from.module) {
41
+ return {
42
+ isMatch: true,
43
+ location: state.routing.location
44
+ };
45
+ }
46
+ return {
47
+ isMatch: false
48
+ };
49
+ }
50
+ return {
51
+ isMatch: true
52
+ };
53
+ }
54
+ return {
55
+ isMatch: false,
56
+ location: state.routing.location
57
+ };
58
+ }
59
+
60
+ export default connect(
61
+ mapStateToProps,
62
+ { replace }
63
+ )(Redirect);
@@ -1,47 +1,47 @@
1
- import React, { Component } from "react";
2
- import PropTypes from "prop-types";
3
- import { connect } from "react-redux";
4
-
5
- import Redirect from "../Redirect";
6
-
7
- class Redirector extends Component {
8
- constructor(props) {
9
- super(props);
10
- }
11
-
12
- render() {
13
- let { urls } = this.props;
14
- return (
15
- <div style={{ display: "none" }}>
16
- {urls.map((url, i) => (
17
- <Redirect
18
- key={`redirect${i}`}
19
- from={{ name: url.name, module: url.module }}
20
- to={location =>
21
- Object.assign({}, location, {
22
- pathname: `${url.pathname}`
23
- })
24
- }
25
- />
26
- ))}
27
- </div>
28
- );
29
- }
30
- }
31
-
32
- Redirector.propTypes = {
33
- urls: PropTypes.array.isRequired
34
- };
35
-
36
- function mapStateToProps(state, props) {
37
- const urls = [
38
- {
39
- name: "sampleList",
40
- module: "sample",
41
- pathname: `${state.routing.location.pathname}/sample`
42
- }
43
- ];
44
-
45
- return { urls };
46
- }
47
- export default connect(mapStateToProps)(Redirector);
1
+ import React, { Component } from "react";
2
+ import PropTypes from "prop-types";
3
+ import { connect } from "react-redux";
4
+
5
+ import Redirect from "../Redirect";
6
+
7
+ class Redirector extends Component {
8
+ constructor(props) {
9
+ super(props);
10
+ }
11
+
12
+ render() {
13
+ let { urls } = this.props;
14
+ return (
15
+ <div style={{ display: "none" }}>
16
+ {urls.map((url, i) => (
17
+ <Redirect
18
+ key={`redirect${i}`}
19
+ from={{ name: url.name, module: url.module }}
20
+ to={location =>
21
+ Object.assign({}, location, {
22
+ pathname: `${url.pathname}`
23
+ })
24
+ }
25
+ />
26
+ ))}
27
+ </div>
28
+ );
29
+ }
30
+ }
31
+
32
+ Redirector.propTypes = {
33
+ urls: PropTypes.array.isRequired
34
+ };
35
+
36
+ function mapStateToProps(state, props) {
37
+ const urls = [
38
+ {
39
+ name: "sampleList",
40
+ module: "sample",
41
+ pathname: `${state.routing.location.pathname}/sample`
42
+ }
43
+ ];
44
+
45
+ return { urls };
46
+ }
47
+ export default connect(mapStateToProps)(Redirector);
@@ -1,42 +1,42 @@
1
- import React, { Component } from "react";
2
- import PropTypes from "prop-types";
3
- import { connect } from "react-redux";
4
- import { push, alertAction } from "../../actions";
5
- import { getSampleList } from "../../actions/SampleActions";
6
- import style from "./ListContainer.module.css";
7
- import SampleList from "../../components/Sample/SampleList";
8
-
9
- class ListContainer extends Component {
10
- constructor(props) {
11
- super(props);
12
- }
13
-
14
- componentDidMount() {
15
- const { getSampleList } = this.props;
16
- getSampleList().then(res => {});
17
- }
18
- render() {
19
- const { samples = [] } = this.props;
20
- return (
21
- <div className={style.container}>
22
- <SampleList samples={samples} />
23
- </div>
24
- );
25
- }
26
- }
27
-
28
- ListContainer.propTypes = {
29
- push: PropTypes.func,
30
- getSampleList: PropTypes.func,
31
- samples: PropTypes.array.isRequired
32
- };
33
-
34
- const mapStateToProps = (state, ownProps) => {
35
- const { samples = [] } = state;
36
- return { samples };
37
- };
38
-
39
- export default connect(
40
- mapStateToProps,
41
- { push, getSampleList }
42
- )(ListContainer);
1
+ import React, { Component } from "react";
2
+ import PropTypes from "prop-types";
3
+ import { connect } from "react-redux";
4
+ import { push, alertAction } from "../../actions";
5
+ import { getSampleList } from "../../actions/SampleActions";
6
+ import style from "./ListContainer.module.css";
7
+ import SampleList from "../../components/Sample/SampleList";
8
+
9
+ class ListContainer extends Component {
10
+ constructor(props) {
11
+ super(props);
12
+ }
13
+
14
+ componentDidMount() {
15
+ const { getSampleList } = this.props;
16
+ getSampleList().then(res => {});
17
+ }
18
+ render() {
19
+ const { samples = [] } = this.props;
20
+ return (
21
+ <div className={style.container}>
22
+ <SampleList samples={samples} />
23
+ </div>
24
+ );
25
+ }
26
+ }
27
+
28
+ ListContainer.propTypes = {
29
+ push: PropTypes.func,
30
+ getSampleList: PropTypes.func,
31
+ samples: PropTypes.array.isRequired
32
+ };
33
+
34
+ const mapStateToProps = (state, ownProps) => {
35
+ const { samples = [] } = state;
36
+ return { samples };
37
+ };
38
+
39
+ export default connect(
40
+ mapStateToProps,
41
+ { push, getSampleList }
42
+ )(ListContainer);