@zohodesk/react-cli 0.0.1-beta.99 → 0.0.1-betaa.138.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +183 -183
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +636 -491
  5. package/bin/cli.js +372 -367
  6. package/files/eslintrc.js +57 -0
  7. package/files/prettierrc.js +3 -0
  8. package/lib/babel/cmjs-plugins-presets.js +16 -9
  9. package/lib/babel/es-plugins-presets.js +26 -14
  10. package/lib/common/getEntries.js +31 -22
  11. package/lib/common/getPublicPathConfig.js +27 -13
  12. package/lib/common/index.js +21 -25
  13. package/lib/common/splitChunks.js +62 -53
  14. package/lib/common/templateParameters.js +10 -8
  15. package/lib/configs/jest.config.js +15 -25
  16. package/lib/configs/webpack.component.umd.config.js +31 -37
  17. package/lib/configs/webpack.css.umd.config.js +44 -47
  18. package/lib/configs/webpack.dev.config.js +70 -52
  19. package/lib/configs/webpack.docs.config.js +106 -106
  20. package/lib/configs/webpack.prod.config.js +95 -75
  21. package/lib/hooks/docsProptypeHook.js +32 -38
  22. package/lib/jest/commitedFilesResult.js +103 -74
  23. package/lib/jest/coverageCollector.js +41 -21
  24. package/lib/jest/jsonMaker.js +15 -16
  25. package/lib/jest/preProcessors/cssPreprocessor.js +16 -18
  26. package/lib/jest/preProcessors/jsPreprocessor.js +3 -5
  27. package/lib/jest/preProcessors/otherFilesPreprocessor.js +5 -6
  28. package/lib/jest/result.js +90 -45
  29. package/lib/jest/run.js +43 -43
  30. package/lib/jest/setup.js +102 -95
  31. package/lib/loaderUtils/getCSSLoaders.js +21 -22
  32. package/lib/loaderUtils/getDevJsLoaders.js +25 -23
  33. package/lib/loaderUtils/index.js +11 -13
  34. package/lib/loaders/docsLoader.js +15 -15
  35. package/lib/loaders/docsPropsLoader.js +14 -17
  36. package/lib/loaders/fileLoader.js +33 -35
  37. package/lib/loaders/scriptInstrumentLoader.js +21 -20
  38. package/lib/loaders/workerLoader.js +136 -0
  39. package/lib/middlewares/HMRMiddleware.js +54 -45
  40. package/lib/middlewares/SSTMiddleware.js +8 -5
  41. package/lib/pluginUtils/getDevPlugins.js +114 -52
  42. package/lib/pluginUtils/getDocsPlugins.js +25 -29
  43. package/lib/pluginUtils/getLibraryPlugins.js +8 -10
  44. package/lib/pluginUtils/getProdPlugins.js +163 -74
  45. package/lib/pluginUtils/getServerPlugins.js +8 -11
  46. package/lib/pluginUtils/getUMDCSSPlugins.js +11 -15
  47. package/lib/pluginUtils/getUMDComponentPlugins.js +11 -15
  48. package/lib/pluginUtils/index.js +36 -43
  49. package/lib/plugins/CdnChangePlugin.js +63 -0
  50. package/lib/plugins/CleanupStatsPlugin.js +18 -32
  51. package/lib/plugins/CustomAttributePlugin.js +79 -0
  52. package/lib/plugins/CustomAttributePlugin.md +35 -0
  53. package/lib/plugins/EFCPlugin.js +185 -0
  54. package/lib/plugins/I18NInjectIntoIndexPlugin.js +118 -52
  55. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +60 -0
  56. package/lib/plugins/I18nSplitPlugin/I18nDependency.js +44 -0
  57. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +266 -0
  58. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +183 -0
  59. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +100 -0
  60. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +86 -0
  61. package/lib/plugins/I18nSplitPlugin/README.md +25 -0
  62. package/lib/plugins/I18nSplitPlugin/index.js +185 -0
  63. package/lib/plugins/I18nSplitPlugin/utils/collectI18nKeys.js +64 -0
  64. package/lib/plugins/I18nSplitPlugin/utils/getI18nFileUrlPathTemplate.js +13 -0
  65. package/lib/plugins/I18nSplitPlugin/utils/getI18nKeysFormModules.js +26 -0
  66. package/lib/plugins/I18nSplitPlugin/utils/hashUtils.js +40 -0
  67. package/lib/plugins/I18nSplitPlugin/utils/index.js +31 -0
  68. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +112 -0
  69. package/lib/plugins/ManifestPlugin.js +52 -63
  70. package/lib/plugins/ModuleStatsPlugin.js +83 -173
  71. package/lib/plugins/OptimizeJSPlugin.js +24 -41
  72. package/lib/plugins/PublicPathCallbackPlugin.js +42 -116
  73. package/lib/plugins/PublicPathChangePlugin.js +175 -284
  74. package/lib/plugins/ReportGeneratePlugin.js +150 -151
  75. package/lib/plugins/ResourceHintsPlugin.js +53 -35
  76. package/lib/plugins/ScriptInstrumentPlugin.js +22 -37
  77. package/lib/plugins/ServiceWorkerPlugin.js +81 -57
  78. package/lib/plugins/ShadowDOMSupportPlugin.js +153 -234
  79. package/lib/plugins/SourceMapHookPlugin.js +21 -33
  80. package/lib/plugins/TPHashMappingPlugin.js +67 -0
  81. package/lib/plugins/UglifyCSSPlugin.js +23 -30
  82. package/lib/plugins/UnusedFilesFindPlugin.js +137 -152
  83. package/lib/plugins/index.js +100 -91
  84. package/lib/plugins/webpackwatchrunplugin.js +18 -30
  85. package/lib/postcss-plugins/ExcludeRTLPlugin.js +14 -17
  86. package/lib/schemas/index.js +336 -81
  87. package/lib/servers/clusterHubServer.js +22 -26
  88. package/lib/servers/docsServer.js +3 -5
  89. package/lib/servers/docsServerCore.js +84 -91
  90. package/lib/servers/helpServer.js +19 -21
  91. package/lib/servers/impactServer.js +99 -92
  92. package/lib/servers/mockserver.js +24 -24
  93. package/lib/servers/scrServer.js +78 -98
  94. package/lib/servers/server.js +101 -122
  95. package/lib/servers/ssServer.js +63 -61
  96. package/lib/sh/pre-commit.sh +34 -34
  97. package/lib/sh/reportPublish.sh +45 -46
  98. package/lib/templates/CoverageScriptTemplate.js +45 -18
  99. package/lib/templates/WMSTemplate.js +17 -18
  100. package/lib/templates/linterConstant.js +6 -4
  101. package/lib/utils/babelPresets.js +12 -5
  102. package/lib/utils/buildstats.html +148 -148
  103. package/lib/utils/clean.js +12 -11
  104. package/lib/utils/copy.js +12 -34
  105. package/lib/utils/copyTimezones.js +9 -16
  106. package/lib/utils/createEventStream.js +24 -19
  107. package/lib/utils/cssClassNameGenerate.js +44 -73
  108. package/lib/utils/cssURLReplacer.js +60 -54
  109. package/lib/utils/dependencyPostPublish.js +20 -19
  110. package/lib/utils/fileUtils.js +66 -54
  111. package/lib/utils/folderIterator.js +20 -21
  112. package/lib/utils/getComponents.js +70 -27
  113. package/lib/utils/getCurrentBranch.js +11 -17
  114. package/lib/utils/getDependenciesImpactList.js +114 -187
  115. package/lib/utils/getHash.js +9 -13
  116. package/lib/utils/getIp.js +9 -9
  117. package/lib/utils/getOptions.js +26 -29
  118. package/lib/utils/getServerURL.js +19 -10
  119. package/lib/utils/index.js +147 -126
  120. package/lib/utils/init.js +2 -2
  121. package/lib/utils/initPreCommitHook.js +40 -32
  122. package/lib/utils/jsonHelper.js +37 -21
  123. package/lib/utils/lint/addScripts.js +27 -0
  124. package/lib/utils/lint/checkExistingConfig.js +67 -0
  125. package/lib/utils/lint/copyConfigs.js +24 -0
  126. package/lib/utils/lint/index.js +54 -0
  127. package/lib/utils/lint/lintScripts.js +11 -0
  128. package/lib/utils/lint/lintSetup.js +31 -0
  129. package/lib/utils/lint/lintStagedPreCommitHook.js +7 -0
  130. package/lib/utils/lint/question.js +30 -0
  131. package/lib/utils/lintReporter.js +70 -56
  132. package/lib/utils/mailSender.js +12 -27
  133. package/lib/utils/pullOrigin.js +21 -18
  134. package/lib/utils/reinstallDependencies.js +76 -85
  135. package/lib/utils/removeAttributes.js +25 -23
  136. package/lib/utils/repoClone.js +47 -45
  137. package/lib/utils/request.js +64 -77
  138. package/lib/utils/resultSchema.json +73 -73
  139. package/lib/utils/rtl.js +22 -29
  140. package/lib/utils/setEnvVariables.js +5 -6
  141. package/lib/utils/ssTestHack.js +21 -19
  142. package/lib/utils/switchBranch.js +21 -20
  143. package/lib/utils/urlConcat.js +22 -0
  144. package/package.json +141 -136
  145. package/templates/app/.eslintrc.js +140 -140
  146. package/templates/app/README.md +12 -12
  147. package/templates/app/app/index.html +24 -24
  148. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  149. package/templates/app/app/properties/i18nkeys.json +3 -3
  150. package/templates/app/docs/all.html +69 -69
  151. package/templates/app/mockapi/index.js +18 -18
  152. package/templates/app/package.json +37 -37
  153. package/templates/app/src/actions/SampleActions/index.js +37 -37
  154. package/templates/app/src/actions/index.js +65 -65
  155. package/templates/app/src/appUrls.js +19 -19
  156. package/templates/app/src/components/Alert/Alert.js +134 -134
  157. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  158. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  159. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  160. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  161. package/templates/app/src/components/Sample/SampleList.js +61 -61
  162. package/templates/app/src/components/Slider/Slider.css +41 -41
  163. package/templates/app/src/components/Slider/Slider.js +55 -55
  164. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  165. package/templates/app/src/containers/AppContainer/index.js +96 -96
  166. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  167. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  168. package/templates/app/src/containers/DevTools/index.js +10 -10
  169. package/templates/app/src/containers/Header/index.js +67 -67
  170. package/templates/app/src/containers/Header/index.module.css +43 -43
  171. package/templates/app/src/containers/Redirect/index.js +63 -63
  172. package/templates/app/src/containers/Redirector/index.js +47 -47
  173. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  174. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  175. package/templates/app/src/historyChange.js +5 -5
  176. package/templates/app/src/index.html +10 -10
  177. package/templates/app/src/index.js +24 -24
  178. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  179. package/templates/app/src/reducers/alertData.js +11 -11
  180. package/templates/app/src/reducers/index.js +6 -6
  181. package/templates/app/src/reducers/samples.js +19 -19
  182. package/templates/app/src/store/configureStore.dev.js +51 -51
  183. package/templates/app/src/store/configureStore.js +5 -5
  184. package/templates/app/src/store/configureStore.prod.js +26 -26
  185. package/templates/app/src/util/Common.js +5 -5
  186. package/templates/app/src/util/RequestAPI.js +132 -132
  187. package/templates/docs/all.html +249 -249
  188. package/templates/docs/component.html +178 -178
  189. package/templates/docs/components.html +221 -221
  190. package/templates/docs/css/b.min.css +6 -6
  191. package/templates/docs/css/component.css +42 -42
  192. package/templates/docs/css/componentTest.css +6 -6
  193. package/templates/docs/css/hopscotch.css +585 -585
  194. package/templates/docs/css/style.css +1022 -1022
  195. package/templates/docs/index.html +1493 -1493
  196. package/templates/docs/js/active-line.js +72 -72
  197. package/templates/docs/js/b.min.js +7 -7
  198. package/templates/docs/js/codemirror.js +9680 -9680
  199. package/templates/docs/js/designTokens.js +334 -334
  200. package/templates/docs/js/j.min.js +4 -4
  201. package/templates/docs/js/javascript.js +874 -874
  202. package/templates/docs/js/matchbrackets.js +145 -145
@@ -1,3 +1,3 @@
1
- {
2
- "app.dynkey": "dynkey"
3
- }
1
+ {
2
+ "app.dynkey": "dynkey"
3
+ }
@@ -1,69 +1,69 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
- <style type="text/css">
6
- .comps
7
- {
8
- padding: 10px;
9
- max-width: 100%;
10
- margin-bottom: 10px;
11
- border-bottom: 1px solid #f5f5f5;
12
- }
13
- .componentNameRed
14
- {
15
- color: red;
16
- }
17
- .propertyName
18
- {
19
- color:green;
20
- margin-left: 10px;
21
- }
22
- .valueName
23
- {
24
- color:orange;
25
- margin-right: 10px;
26
- }
27
- .example
28
- {
29
- padding: 20px 20px 20px 0px;
30
- width: 100%;
31
- box-sizing: border-box;
32
- margin: 15px 0px;
33
- }
34
- .htmlTag
35
- {
36
- color: #999;
37
- color: #676565;
38
- line-height: 25px;
39
- margin-bottom: 10px;
40
- font-size: 13px;
41
- }
42
- .textArea
43
- {
44
- min-width: 50%;
45
- outline: none;
46
- min-height: 100px;
47
- margin: 15px 0px;
48
- max-width: 90%;
49
- }
50
-
51
- </style>
52
- </head>
53
- <body>
54
- <div id="react">
55
-
56
- </div>
57
-
58
- <script src="/docs/js/vendor.js" ></script>
59
- <script src="/docs/js/main.js" ></script>
60
- <script>
61
- var React = Component.React;
62
- var ReactDOM = Component.ReactDOM;
63
- var Text__default = Component.Text__default;
64
- ReactDOM.render(React.createElement(Text__default), react);
65
- </script>
66
-
67
-
68
- </body>
69
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <style type="text/css">
6
+ .comps
7
+ {
8
+ padding: 10px;
9
+ max-width: 100%;
10
+ margin-bottom: 10px;
11
+ border-bottom: 1px solid #f5f5f5;
12
+ }
13
+ .componentNameRed
14
+ {
15
+ color: red;
16
+ }
17
+ .propertyName
18
+ {
19
+ color:green;
20
+ margin-left: 10px;
21
+ }
22
+ .valueName
23
+ {
24
+ color:orange;
25
+ margin-right: 10px;
26
+ }
27
+ .example
28
+ {
29
+ padding: 20px 20px 20px 0px;
30
+ width: 100%;
31
+ box-sizing: border-box;
32
+ margin: 15px 0px;
33
+ }
34
+ .htmlTag
35
+ {
36
+ color: #999;
37
+ color: #676565;
38
+ line-height: 25px;
39
+ margin-bottom: 10px;
40
+ font-size: 13px;
41
+ }
42
+ .textArea
43
+ {
44
+ min-width: 50%;
45
+ outline: none;
46
+ min-height: 100px;
47
+ margin: 15px 0px;
48
+ max-width: 90%;
49
+ }
50
+
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <div id="react">
55
+
56
+ </div>
57
+
58
+ <script src="/docs/js/vendor.js" ></script>
59
+ <script src="/docs/js/main.js" ></script>
60
+ <script>
61
+ var React = Component.React;
62
+ var ReactDOM = Component.ReactDOM;
63
+ var Text__default = Component.Text__default;
64
+ ReactDOM.render(React.createElement(Text__default), react);
65
+ </script>
66
+
67
+
68
+ </body>
69
+ </html>
@@ -1,18 +1,18 @@
1
- const cors = require("cors");
2
- const fileUpload = require("express-fileupload");
3
-
4
- function mockServer(app) {
5
- app.use(
6
- fileUpload({
7
- limits: { fileSize: 50 * 1024 * 1024 }
8
- })
9
- );
10
- app.use(cors());
11
-
12
- app.get("/app/sample/*", (req, res) => {
13
- res.type("html");
14
- res.sendFile(path.join(__dirname + "/../app/index.html"));
15
- });
16
- }
17
-
18
- module.exports = mockServer;
1
+ const cors = require("cors");
2
+ const fileUpload = require("express-fileupload");
3
+
4
+ function mockServer(app) {
5
+ app.use(
6
+ fileUpload({
7
+ limits: { fileSize: 50 * 1024 * 1024 }
8
+ })
9
+ );
10
+ app.use(cors());
11
+
12
+ app.get("/app/sample/*", (req, res) => {
13
+ res.type("html");
14
+ res.sendFile(path.join(__dirname + "/../app/index.html"));
15
+ });
16
+ }
17
+
18
+ module.exports = mockServer;
@@ -1,37 +1,37 @@
1
- {
2
- "name": "sampleapp",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "index.js",
6
- "scripts": {
7
- "clean": "react-cli clean build unittest coverage",
8
- "docs": "react-cli docs",
9
- "component": "react-cli build:component",
10
- "component:umd": "react-cli build:component:umd",
11
- "start": "react-cli start",
12
- "build": "react-cli build",
13
- "test": "npm run clean && react-cli test",
14
- "lint": "react-cli lint"
15
- },
16
- "author": "",
17
- "license": "ISC",
18
- "dependencies": {
19
- "@zohodesk/components": "^1.0.0-alpha-21",
20
- "cors": "^2.8.5",
21
- "redux-devtools": "^3.5.0",
22
- "redux-devtools-dock-monitor": "^1.1.3",
23
- "redux-devtools-log-monitor": "^1.4.0",
24
- "redux-logger": "^3.0.6"
25
- },
26
- "react-cli": {
27
- "app": {
28
- "server": {
29
- "hasMock": true
30
- }
31
- }
32
- },
33
- "devDependencies": {
34
- "body-parser": "^1.19.0",
35
- "express-fileupload": "^1.1.5"
36
- }
37
- }
1
+ {
2
+ "name": "sampleapp",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "clean": "react-cli clean build unittest coverage",
8
+ "docs": "react-cli docs",
9
+ "component": "react-cli build:component",
10
+ "component:umd": "react-cli build:component:umd",
11
+ "start": "react-cli start",
12
+ "build": "react-cli build",
13
+ "test": "npm run clean && react-cli test",
14
+ "lint": "react-cli lint"
15
+ },
16
+ "author": "",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "@zohodesk/components": "^1.0.0-alpha-21",
20
+ "cors": "^2.8.5",
21
+ "redux-devtools": "^3.5.0",
22
+ "redux-devtools-dock-monitor": "^1.1.3",
23
+ "redux-devtools-log-monitor": "^1.4.0",
24
+ "redux-logger": "^3.0.6"
25
+ },
26
+ "react-cli": {
27
+ "app": {
28
+ "server": {
29
+ "hasMock": true
30
+ }
31
+ }
32
+ },
33
+ "devDependencies": {
34
+ "body-parser": "^1.19.0",
35
+ "express-fileupload": "^1.1.5"
36
+ }
37
+ }
@@ -1,37 +1,37 @@
1
- import { generateAPITypes } from "../../util/Common";
2
- import requestAPI from "../../util/RequestAPI";
3
-
4
- export function getSampleList(isForce = true) {
5
- return {
6
- types: generateAPITypes("SAMPLE_LIST"),
7
- shouldCallAPI: state => {
8
- if (!isForce) {
9
- const { sampleDataList = [] } = state;
10
- return sampleDataList.length === 0;
11
- }
12
- return true;
13
- },
14
- callAPI: state =>
15
- requestAPI(`${mockServerURL}/api/v1/sampleapi`, {})
16
- .get()
17
- .then(res => {
18
- return res;
19
- })
20
- };
21
- }
22
-
23
- export function addSample(payload) {
24
- return {
25
- types: generateAPITypes("ADD_SAMPLE"),
26
- callAPI: state => {
27
- return new Promise((resolve, reject) => {
28
- let url = `${mockServerURL}/api/v1/addSample`;
29
- requestAPI(url, {})
30
- .post("", payload)
31
- .then(res => {
32
- resolve(res);
33
- });
34
- });
35
- }
36
- };
37
- }
1
+ import { generateAPITypes } from "../../util/Common";
2
+ import requestAPI from "../../util/RequestAPI";
3
+
4
+ export function getSampleList(isForce = true) {
5
+ return {
6
+ types: generateAPITypes("SAMPLE_LIST"),
7
+ shouldCallAPI: state => {
8
+ if (!isForce) {
9
+ const { sampleDataList = [] } = state;
10
+ return sampleDataList.length === 0;
11
+ }
12
+ return true;
13
+ },
14
+ callAPI: state =>
15
+ requestAPI(`${mockServerURL}/api/v1/sampleapi`, {})
16
+ .get()
17
+ .then(res => {
18
+ return res;
19
+ })
20
+ };
21
+ }
22
+
23
+ export function addSample(payload) {
24
+ return {
25
+ types: generateAPITypes("ADD_SAMPLE"),
26
+ callAPI: state => {
27
+ return new Promise((resolve, reject) => {
28
+ let url = `${mockServerURL}/api/v1/addSample`;
29
+ requestAPI(url, {})
30
+ .post("", payload)
31
+ .then(res => {
32
+ resolve(res);
33
+ });
34
+ });
35
+ }
36
+ };
37
+ }
@@ -1,65 +1,65 @@
1
- import {
2
- push as routerPush,
3
- replace as routerReplace
4
- } from "redux-router-middleware";
5
-
6
- export function push(obj, isHref) {
7
- //obj.pathname = isHref ? obj.pathname : URL_PREFIX + obj.pathname;
8
- return (dispatch, getState) => {
9
- let state = getState();
10
- dispatch(routerPush(obj));
11
- };
12
- }
13
-
14
- export function replace(obj) {
15
- return (dispatch, getState) => {
16
- let state = getState();
17
- if (
18
- !state.routing.location ||
19
- obj.href !== state.routing.location.pathname
20
- ) {
21
- let locationState =
22
- state.routing.location && state.routing.location.state;
23
- if (!obj.state && locationState) {
24
- obj.state = {};
25
- Object.assign(obj.state, locationState);
26
- }
27
- dispatch(routerReplace(obj));
28
- }
29
- };
30
- }
31
-
32
- export function showAlert(data) {
33
- return {
34
- type: "ALERT_SHOW",
35
- data
36
- };
37
- }
38
-
39
- export function hideAlert() {
40
- return {
41
- type: "ALERT_HIDE"
42
- };
43
- }
44
-
45
- export const alertAction = (() => {
46
- let ob = { resolve: null, reject: null };
47
- function showConfirmBox(data) {
48
- return dispatch =>
49
- new Promise((res, rej) => {
50
- ob.resolve = () => {
51
- dispatch(hideAlert());
52
- res();
53
- };
54
- ob.reject = () => {
55
- dispatch(hideAlert());
56
- rej();
57
- };
58
- dispatch(showAlert(data));
59
- });
60
- }
61
- return {
62
- ob,
63
- showConfirmBox
64
- };
65
- })();
1
+ import {
2
+ push as routerPush,
3
+ replace as routerReplace
4
+ } from "redux-router-middleware";
5
+
6
+ export function push(obj, isHref) {
7
+ //obj.pathname = isHref ? obj.pathname : URL_PREFIX + obj.pathname;
8
+ return (dispatch, getState) => {
9
+ let state = getState();
10
+ dispatch(routerPush(obj));
11
+ };
12
+ }
13
+
14
+ export function replace(obj) {
15
+ return (dispatch, getState) => {
16
+ let state = getState();
17
+ if (
18
+ !state.routing.location ||
19
+ obj.href !== state.routing.location.pathname
20
+ ) {
21
+ let locationState =
22
+ state.routing.location && state.routing.location.state;
23
+ if (!obj.state && locationState) {
24
+ obj.state = {};
25
+ Object.assign(obj.state, locationState);
26
+ }
27
+ dispatch(routerReplace(obj));
28
+ }
29
+ };
30
+ }
31
+
32
+ export function showAlert(data) {
33
+ return {
34
+ type: "ALERT_SHOW",
35
+ data
36
+ };
37
+ }
38
+
39
+ export function hideAlert() {
40
+ return {
41
+ type: "ALERT_HIDE"
42
+ };
43
+ }
44
+
45
+ export const alertAction = (() => {
46
+ let ob = { resolve: null, reject: null };
47
+ function showConfirmBox(data) {
48
+ return dispatch =>
49
+ new Promise((res, rej) => {
50
+ ob.resolve = () => {
51
+ dispatch(hideAlert());
52
+ res();
53
+ };
54
+ ob.reject = () => {
55
+ dispatch(hideAlert());
56
+ rej();
57
+ };
58
+ dispatch(showAlert(data));
59
+ });
60
+ }
61
+ return {
62
+ ob,
63
+ showConfirmBox
64
+ };
65
+ })();
@@ -1,19 +1,19 @@
1
- import { URL_PREFIX } from "./util/Common";
2
-
3
- export default function getUrls(isDomainMapped) {
4
- let urls = [
5
- {
6
- name: "root",
7
- pattern: "/"
8
- },
9
- {
10
- name: "sampleList",
11
- pattern: "/sample"
12
- }
13
- ];
14
-
15
- return urls.map(url => {
16
- url.pattern = `${URL_PREFIX}${url.pattern}`;
17
- return url;
18
- });
19
- }
1
+ import { URL_PREFIX } from "./util/Common";
2
+
3
+ export default function getUrls(isDomainMapped) {
4
+ let urls = [
5
+ {
6
+ name: "root",
7
+ pattern: "/"
8
+ },
9
+ {
10
+ name: "sampleList",
11
+ pattern: "/sample"
12
+ }
13
+ ];
14
+
15
+ return urls.map(url => {
16
+ url.pattern = `${URL_PREFIX}${url.pattern}`;
17
+ return url;
18
+ });
19
+ }