diff --git a/.umirc.js b/.umirc.js index 05a0fab..999104d 100644 --- a/.umirc.js +++ b/.umirc.js @@ -60,9 +60,9 @@ export default { }, pwa: { manifestOptions: { - srcPath: 'manifest.json' + srcPath: 'manifest.json', }, - } + }, }, ], ], diff --git a/package.json b/package.json index d3bbd52..8c6c518 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dependencies": { "@lingui/react": "^2.8.0", "ant-design-pro": "^2.3.0", - "antd": "^3.19.0", + "antd": "^3.24.0", "axios": "^0.19.0", "classnames": "^2.2.6", "d3-shape": "^1.3.0", @@ -14,8 +14,8 @@ "draftjs-to-markdown": "^0.5.1", "dva": "2.4.1", "dva-model-extend": "^0.1.2", - "echarts": "^4.2.0", - "echarts-for-react": "^2.0.15-beta.0", + "echarts": "^4.4.0", + "echarts-for-react": "^2.0.15-beta.1", "echarts-gl": "^1.1.1", "echarts-liquidfill": "^2.0.2", "enquire-js": "^0.2.1", @@ -25,16 +25,16 @@ "lodash": "^4.17.11", "md5": "^2.2.1", "nprogress": "^0.2.0", - "path-to-regexp": "^3.0.0", + "path-to-regexp": "^3.1.0", "prop-types": "^15.7.0", - "qs": "^6.7.0", + "qs": "^6.9.0", "react-adsense": "^0.1.0", - "react-countup": "^4.1.0", + "react-countup": "^4.2.0", "react-draft-wysiwyg": "^1.13.0", "react-helmet": "^5.2.0", - "react-highcharts": "^16.0.2", + "react-highcharts": "^16.1.0", "react-perfect-scrollbar": "^1.5.0", - "recharts": "^1.6.0", + "recharts": "^1.8.0", "store": "^2.0.0" }, "devDependencies": { @@ -45,9 +45,9 @@ "babel-eslint": "^10.0.1", "babel-plugin-dev-expression": "^0.2.1", "babel-plugin-import": "^1.12.0", - "babel-plugin-macros": "^2.5.0", + "babel-plugin-macros": "^2.6.0", "babel-plugin-module-resolver": "^3.2.0", - "cross-env": "^5.2.0", + "cross-env": "^6.0.0", "eslint": "^5.15.0", "eslint-config-react-app": "^4.0.0", "eslint-plugin-flowtype": "^3.11.0", @@ -60,12 +60,12 @@ "lint-staged": "^8.1.0", "mockjs": "^1.0.1-beta3", "module": "^1.2.5", - "prettier": "^1.16.0", + "prettier": "^1.18.0", "stylelint": "^10.0.0", "stylelint-config-prettier": "^5.2.0", "stylelint-config-standard": "^18.3.0", - "umi": "^2.8.9", - "umi-plugin-react": "^1.9.6" + "umi": "^2.10.0", + "umi-plugin-react": "^1.12.0" }, "lint-staged": { "src/**/*.js": [ diff --git a/src/components/Layout/Header.js b/src/components/Layout/Header.js index d2796a6..a2a65b5 100644 --- a/src/components/Layout/Header.js +++ b/src/components/Layout/Header.js @@ -85,7 +85,7 @@ class Header extends PureComponent { trigger="click" key="notifications" overlayClassName={styles.notificationPopover} - getPopupContainer={() => document.querySelector('#layoutHeader')} + getPopupContainer={() => document.querySelector('#primaryLayout')} content={
{ + if (pathMatchRegexp(['/', '/login'], window.location.pathname)) { + router.push({ + pathname: '/dashboard', + }) + } +} + export default { namespace: 'app', state: { @@ -71,7 +79,10 @@ export default { *query({ payload }, { call, put, select }) { // store isInit to prevent query trigger by refresh const isInit = store.get('isInit') - if (isInit) return + if (isInit) { + goDashboard() + return + } const { locationPathname } = yield select(_ => _.app) const { success, user } = yield call(queryUserInfo, payload) if (success && user) { @@ -99,11 +110,7 @@ export default { store.set('permissions', permissions) store.set('user', user) store.set('isInit', true) - if (pathMatchRegexp(['/', '/login'], window.location.pathname)) { - router.push({ - pathname: '/dashboard', - }) - } + goDashboard() } else if (queryLayout(config.layouts, locationPathname) !== 'public') { router.push({ pathname: '/login', diff --git a/src/pages/dashboard/components/completed.js b/src/pages/dashboard/components/completed.js index 2dc62cd..02ad904 100644 --- a/src/pages/dashboard/components/completed.js +++ b/src/pages/dashboard/components/completed.js @@ -73,7 +73,7 @@ function Completed({ data }) { return (

{content.label}

-
    {list}
+ {content.payload &&
    {list}
}
) }} diff --git a/src/pages/dashboard/components/sales.js b/src/pages/dashboard/components/sales.js index d155239..0c6e78d 100644 --- a/src/pages/dashboard/components/sales.js +++ b/src/pages/dashboard/components/sales.js @@ -73,7 +73,7 @@ function Sales({ data }) { return (

{content.label}

-
    {list}
+ {content.payload &&
    {list}
}
) }} diff --git a/src/themes/index.less b/src/themes/index.less index 9863f69..e98163e 100644 --- a/src/themes/index.less +++ b/src/themes/index.less @@ -86,6 +86,10 @@ body { a:focus { text-decoration: none; } + + .ant-table-layout-fixed table { + table-layout: auto; + } } @media (min-width: 1600px) { :global { diff --git a/src/utils/index.js b/src/utils/index.js index 3bac7db..015f00c 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -10,8 +10,10 @@ export config from './config' export request from './request' export { Color } from './theme' -export const { defaultLanguage } = i18n -export const languages = i18n.languages.map(item => item.key) +// export const { defaultLanguage } = i18n +// export const languages = i18n.languages.map(item => item.key) +export const languages = i18n ? i18n.languages.map(item => item.key) : [] +export const defaultLanguage = i18n ? i18n.defaultLanguage : '' /** * Query objects that specify keys and values in an array where all values are objects. @@ -61,23 +63,32 @@ export function arrayToTree( return result } -export const langFromPath = curry( - /** - * Query language from pathname. - * @param {array} languages Specify which languages are currently available. - * @param {string} defaultLanguage Specify the default language. - * @param {string} pathname Pathname to be queried. - * @return {string} Return the queryed language. - */ - (languages, defaultLanguage, pathname) => { - for (const item of languages) { - if (pathname.startsWith(`/${item}/`)) { - return item - } +// export const langFromPath = curry( +// /** +// * Query language from pathname. +// * @param {array} languages Specify which languages are currently available. +// * @param {string} defaultLanguage Specify the default language. +// * @param {string} pathname Pathname to be queried. +// * @return {string} Return the queryed language. +// */ +// (languages, defaultLanguage, pathname) => { +// for (const item of languages) { +// if (pathname.startsWith(`/${item}/`)) { +// return item +// } +// } +// return defaultLanguage +// } +// )(languages)(defaultLanguage) + +export const langFromPath = pathname => { + for (const item of languages) { + if (pathname.startsWith(`/${item}/`)) { + return item } - return defaultLanguage } -)(languages)(defaultLanguage) + return defaultLanguage +} export const deLangPrefix = curry( /** @@ -106,11 +117,18 @@ export const deLangPrefix = curry( * @return {string} Return the pathname after adding the language prefix. */ export function addLangPrefix(pathname) { + if (!i18n) { + return pathname + } + const prefix = langFromPath(window.location.pathname) return `/${prefix}${deLangPrefix(pathname)}` } const routerAddLangPrefix = params => { + if (!i18n) { + return params + } if (isString(params)) { params = addLangPrefix(params) } else {