Web: Fixed Files opening + added devtool: "inline-source-map"
This commit is contained in:
parent
f10d8ae11d
commit
96c4d63abe
@ -2,6 +2,7 @@
|
|||||||
"name": "@appserver/files",
|
"name": "@appserver/files",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": "true",
|
"private": "true",
|
||||||
|
"homepage": "/products/files",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "webpack-cli serve",
|
"start": "webpack-cli serve",
|
||||||
"build": "webpack --mode production",
|
"build": "webpack --mode production",
|
||||||
|
@ -254,6 +254,7 @@
|
|||||||
To create a production bundle, use `npm run build` or `yarn build`.
|
To create a production bundle, use `npm run build` or `yarn build`.
|
||||||
-->
|
-->
|
||||||
<script>
|
<script>
|
||||||
|
console.log("FILES APP STARTED");
|
||||||
var pathname = window.location.pathname.toLowerCase();
|
var pathname = window.location.pathname.toLowerCase();
|
||||||
if (
|
if (
|
||||||
pathname.indexOf("doceditor") === -1 &&
|
pathname.indexOf("doceditor") === -1 &&
|
||||||
|
@ -1,48 +1,8 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import store from "studio/store";
|
//import Shell from "studio/shell";
|
||||||
import ErrorBoundary from "@appserver/common/components/ErrorBoundary";
|
|
||||||
import { Provider as MobxProvider } from "mobx-react";
|
|
||||||
import ThemeProvider from "@appserver/components/theme-provider";
|
|
||||||
import "./custom.scss";
|
|
||||||
import { Base, Dark } from "@appserver/components/themes";
|
|
||||||
import initFilesStore from "./store/InitFilesStore";
|
|
||||||
import filesStore from "./store/FilesStore";
|
|
||||||
import settingsStore from "./store/SettingsStore";
|
|
||||||
import mediaViewerDataStore from "./store/MediaViewerDataStore";
|
|
||||||
import formatsStore from "./store/FormatsStore";
|
|
||||||
import versionHistoryStore from "./store/VersionHistoryStore";
|
|
||||||
import uploadDataStore from "./store/UploadDataStore";
|
|
||||||
import dialogsStore from "./store/DialogsStore";
|
|
||||||
import treeFoldersStore from "./store/TreeFoldersStore";
|
|
||||||
import selectedFolderStore from "./store/SelectedFolderStore";
|
|
||||||
import "./i18n";
|
|
||||||
|
|
||||||
const Shell = React.lazy(() => import("./Files"));
|
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return (
|
return <Shell />;
|
||||||
<ThemeProvider theme={Base}>
|
|
||||||
<MobxProvider
|
|
||||||
auth={store.auth}
|
|
||||||
initFilesStore={initFilesStore}
|
|
||||||
filesStore={filesStore}
|
|
||||||
settingsStore={settingsStore}
|
|
||||||
mediaViewerDataStore={mediaViewerDataStore}
|
|
||||||
formatsStore={formatsStore}
|
|
||||||
versionHistoryStore={versionHistoryStore}
|
|
||||||
uploadDataStore={uploadDataStore}
|
|
||||||
dialogsStore={dialogsStore}
|
|
||||||
treeFoldersStore={treeFoldersStore}
|
|
||||||
selectedFolderStore={selectedFolderStore}
|
|
||||||
>
|
|
||||||
<ErrorBoundary>
|
|
||||||
<React.Suspense fallback={null}>
|
|
||||||
<Shell />
|
|
||||||
</React.Suspense>
|
|
||||||
</ErrorBoundary>
|
|
||||||
</MobxProvider>
|
|
||||||
</ThemeProvider>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
@ -1,41 +1,30 @@
|
|||||||
import React, { useEffect, Suspense } from "react";
|
import React from "react";
|
||||||
//import { Box, Text } from "@appserver/components/src";
|
import { Provider as FilesProvider } from "mobx-react";
|
||||||
// import { useStore } from "react-redux";
|
|
||||||
// import dynamic from "@redux-dynostore/react-redux";
|
|
||||||
// import { attachReducer } from "@redux-dynostore/core";
|
|
||||||
//import rootReducer from "./store/rootReducer";
|
|
||||||
//import portalReducer from "./store/portal/reducers";
|
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { Switch, Route } from "react-router-dom";
|
||||||
import { Router, Switch, Redirect, Route } from "react-router-dom";
|
|
||||||
import Home from "./components/pages/Home";
|
import Home from "./components/pages/Home";
|
||||||
import DocEditor from "./components/pages/DocEditor";
|
import DocEditor from "./components/pages/DocEditor";
|
||||||
import Settings from "./components/pages/Settings";
|
import Settings from "./components/pages/Settings";
|
||||||
import VersionHistory from "./components/pages/VersionHistory";
|
import VersionHistory from "./components/pages/VersionHistory";
|
||||||
import config from "../package.json";
|
import config from "../package.json";
|
||||||
import "./i18n";
|
|
||||||
|
|
||||||
import Layout from "@appserver/common/components/Layout";
|
|
||||||
import history from "@appserver/common/history";
|
|
||||||
import PrivateRoute from "@appserver/common/components/PrivateRoute";
|
import PrivateRoute from "@appserver/common/components/PrivateRoute";
|
||||||
import PublicRoute from "@appserver/common/components/PublicRoute";
|
|
||||||
import NavMenu from "@appserver/common/components/NavMenu";
|
|
||||||
import Main from "@appserver/common/components/Main";
|
|
||||||
import ScrollToTop from "@appserver/common/components/Layout/ScrollToTop";
|
|
||||||
import toastr from "@appserver/common/components/Toast/toastr";
|
import toastr from "@appserver/common/components/Toast/toastr";
|
||||||
import { updateTempContent } from "@appserver/common/utils";
|
import { updateTempContent } from "@appserver/common/utils";
|
||||||
|
import initFilesStore from "./store/InitFilesStore";
|
||||||
|
import filesStore from "./store/FilesStore";
|
||||||
|
import settingsStore from "./store/SettingsStore";
|
||||||
|
import mediaViewerDataStore from "./store/MediaViewerDataStore";
|
||||||
|
import formatsStore from "./store/FormatsStore";
|
||||||
|
import versionHistoryStore from "./store/VersionHistoryStore";
|
||||||
|
import uploadDataStore from "./store/UploadDataStore";
|
||||||
|
import dialogsStore from "./store/DialogsStore";
|
||||||
|
import treeFoldersStore from "./store/TreeFoldersStore";
|
||||||
|
import selectedFolderStore from "./store/SelectedFolderStore";
|
||||||
|
import "./custom.scss";
|
||||||
|
import "./i18n";
|
||||||
//import { regDesktop } from "@appserver/common/src/desktop";
|
//import { regDesktop } from "@appserver/common/src/desktop";
|
||||||
|
|
||||||
const Error520 = React.lazy(() =>
|
const Error404 = React.lazy(() => import("@appserver/common/pages/errors/404"));
|
||||||
import("@appserver/common/pages/errors/520")
|
|
||||||
);
|
|
||||||
const Error404 = React.lazy(() =>
|
|
||||||
import("@appserver/common/pages/errors/404")
|
|
||||||
);
|
|
||||||
const Offline = React.lazy(() =>
|
|
||||||
import("@appserver/common/pages/errors/offline")
|
|
||||||
);
|
|
||||||
//const Login = React.lazy(() => import("login/page"));
|
|
||||||
|
|
||||||
class FilesContent extends React.Component {
|
class FilesContent extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@ -85,79 +74,66 @@ class FilesContent extends React.Component {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { homepage, isDesktop } = this.props;
|
const { homepage /*, isDesktop*/ } = this.props;
|
||||||
|
|
||||||
return navigator.onLine ? (
|
return (
|
||||||
<Layout>
|
<Switch>
|
||||||
<Router history={history}>
|
<PrivateRoute
|
||||||
<ScrollToTop />
|
exact
|
||||||
{!this.isEditor && <NavMenu />}
|
path={`${homepage}/settings/:setting`}
|
||||||
<Main isDesktop={isDesktop}>
|
component={Settings}
|
||||||
<Suspense fallback={null}>
|
/>
|
||||||
<Switch>
|
<Route
|
||||||
<Redirect exact from="/" to={`${homepage}`} />
|
exact
|
||||||
<PrivateRoute
|
path={[`${homepage}/doceditor`, `/Products/Files/DocEditor.aspx`]}
|
||||||
exact
|
component={DocEditor}
|
||||||
path={`${homepage}/settings/:setting`}
|
/>
|
||||||
component={Settings}
|
<PrivateRoute
|
||||||
/>
|
exact
|
||||||
<Route
|
path={`${homepage}/:fileId/history`}
|
||||||
exact
|
component={VersionHistory}
|
||||||
path={[
|
/>
|
||||||
`${homepage}/doceditor`,
|
<PrivateRoute exact path={homepage} component={Home} />
|
||||||
`/Products/Files/DocEditor.aspx`,
|
<PrivateRoute path={`${homepage}/filter`} component={Home} />
|
||||||
]}
|
<PrivateRoute component={Error404} />
|
||||||
component={DocEditor}
|
</Switch>
|
||||||
/>
|
|
||||||
<PrivateRoute
|
|
||||||
exact
|
|
||||||
path={`${homepage}/:fileId/history`}
|
|
||||||
component={VersionHistory}
|
|
||||||
/>
|
|
||||||
<PrivateRoute exact path={homepage} component={Home} />
|
|
||||||
<PrivateRoute path={`${homepage}/filter`} component={Home} />
|
|
||||||
{/* <PublicRoute
|
|
||||||
exact
|
|
||||||
path={[
|
|
||||||
"/login",
|
|
||||||
"/login/error=:error",
|
|
||||||
"/login/confirmed-email=:confirmedEmail",
|
|
||||||
]}
|
|
||||||
component={Login}
|
|
||||||
/> */}
|
|
||||||
<PrivateRoute
|
|
||||||
exact
|
|
||||||
path={`/error=:error`}
|
|
||||||
component={Error520}
|
|
||||||
/>
|
|
||||||
<PrivateRoute component={Error404} />
|
|
||||||
</Switch>
|
|
||||||
</Suspense>
|
|
||||||
</Main>
|
|
||||||
</Router>
|
|
||||||
</Layout>
|
|
||||||
) : (
|
|
||||||
<Offline />
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default inject(({ auth, initFilesStore }) => {
|
const Files = inject(({ auth, initFilesStore }) => {
|
||||||
const homepage = "/products/files"; //TODO: add homepage to config?
|
const homepage = config.homepage; // "/products/files"; //TODO: add homepage to config?
|
||||||
return {
|
return {
|
||||||
isDesktop: auth.settingsStore.isDesktopClient,
|
//isDesktop: auth.settingsStore.isDesktopClient,
|
||||||
user: auth.userStore.user,
|
user: auth.userStore.user,
|
||||||
isAuthenticated: auth.isAuthenticated,
|
isAuthenticated: auth.isAuthenticated,
|
||||||
homepage: auth.settingsStore.homepage || homepage,
|
homepage: auth.settingsStore.homepage || homepage,
|
||||||
encryptionKeys: auth.settingsStore.encryptionKeys,
|
encryptionKeys: auth.settingsStore.encryptionKeys,
|
||||||
isEncryption: auth.settingsStore.isEncryptionSupport,
|
isEncryption: auth.settingsStore.isEncryptionSupport,
|
||||||
isLoaded: initFilesStore.isLoaded,
|
isLoaded: auth.isLoaded && initFilesStore.isLoaded,
|
||||||
setIsLoaded: initFilesStore.setIsLoaded,
|
setIsLoaded: initFilesStore.setIsLoaded,
|
||||||
setEncryptionKeys: auth.settingsStore.setEncryptionKeys,
|
setEncryptionKeys: auth.settingsStore.setEncryptionKeys,
|
||||||
loadFilesInfo: async () => {
|
loadFilesInfo: async () => {
|
||||||
await auth.init();
|
//await auth.init();
|
||||||
await initFilesStore.initFiles();
|
await initFilesStore.initFiles();
|
||||||
auth.setProductVersion(config.version);
|
auth.setProductVersion(config.version);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
})(observer(FilesContent));
|
})(observer(FilesContent));
|
||||||
|
|
||||||
|
export default () => (
|
||||||
|
<FilesProvider
|
||||||
|
initFilesStore={initFilesStore}
|
||||||
|
filesStore={filesStore}
|
||||||
|
settingsStore={settingsStore}
|
||||||
|
mediaViewerDataStore={mediaViewerDataStore}
|
||||||
|
formatsStore={formatsStore}
|
||||||
|
versionHistoryStore={versionHistoryStore}
|
||||||
|
uploadDataStore={uploadDataStore}
|
||||||
|
dialogsStore={dialogsStore}
|
||||||
|
treeFoldersStore={treeFoldersStore}
|
||||||
|
selectedFolderStore={selectedFolderStore}
|
||||||
|
>
|
||||||
|
<Files />
|
||||||
|
</FilesProvider>
|
||||||
|
);
|
||||||
|
@ -7,6 +7,7 @@ const deps = require("./package.json").dependencies;
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
entry: "./src/index",
|
entry: "./src/index",
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
devtool: "inline-source-map",
|
||||||
devServer: {
|
devServer: {
|
||||||
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
||||||
contentBasePublicPath: "/products/files/",
|
contentBasePublicPath: "/products/files/",
|
||||||
@ -14,13 +15,14 @@ module.exports = {
|
|||||||
historyApiFallback: true,
|
historyApiFallback: true,
|
||||||
hot: false,
|
hot: false,
|
||||||
hotOnly: false,
|
hotOnly: false,
|
||||||
|
headers: {
|
||||||
|
"Access-Control-Allow-Origin": "*",
|
||||||
|
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
||||||
|
"Access-Control-Allow-Headers":
|
||||||
|
"X-Requested-With, content-type, Authorization",
|
||||||
|
},
|
||||||
|
//openPage: "http://localhost:8092/products/files",
|
||||||
},
|
},
|
||||||
|
|
||||||
output: {
|
|
||||||
publicPath: "auto",
|
|
||||||
chunkFilename: "[id].[contenthash].js",
|
|
||||||
},
|
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: [".jsx", ".js", ".json"],
|
extensions: [".jsx", ".js", ".json"],
|
||||||
fallback: {
|
fallback: {
|
||||||
@ -28,6 +30,11 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
output: {
|
||||||
|
publicPath: "auto",
|
||||||
|
chunkFilename: "[id].[contenthash].js",
|
||||||
|
},
|
||||||
|
|
||||||
module: {
|
module: {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
@ -86,7 +93,7 @@ module.exports = {
|
|||||||
studio: "studio@http://localhost:5001/remoteEntry.js",
|
studio: "studio@http://localhost:5001/remoteEntry.js",
|
||||||
},
|
},
|
||||||
exposes: {
|
exposes: {
|
||||||
"./page": "./src/bootstrap.js", //TODO: "./page": "./src/App.js",
|
"./app": "./src/Files.jsx",
|
||||||
},
|
},
|
||||||
shared: {
|
shared: {
|
||||||
...deps,
|
...deps,
|
||||||
|
@ -7,6 +7,7 @@ const deps = require("./package.json").dependencies;
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
entry: "./src/index",
|
entry: "./src/index",
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
devtool: "inline-source-map",
|
||||||
devServer: {
|
devServer: {
|
||||||
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
||||||
contentBasePublicPath: "/products/people/",
|
contentBasePublicPath: "/products/people/",
|
||||||
@ -85,7 +86,7 @@ module.exports = {
|
|||||||
studio: "studio@http://localhost:5001/remoteEntry.js",
|
studio: "studio@http://localhost:5001/remoteEntry.js",
|
||||||
},
|
},
|
||||||
exposes: {
|
exposes: {
|
||||||
"./page": "./src/People.jsx",
|
"./app": "./src/People.jsx",
|
||||||
},
|
},
|
||||||
shared: {
|
shared: {
|
||||||
...deps,
|
...deps,
|
||||||
|
@ -1,30 +1,12 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import store from "studio/store";
|
|
||||||
import ErrorBoundary from "@appserver/common/components/ErrorBoundary";
|
import ErrorBoundary from "@appserver/common/components/ErrorBoundary";
|
||||||
import { Provider as MobxProvider } from "mobx-react";
|
import Shell from "studio/shell";
|
||||||
import ThemeProvider from "@appserver/components/theme-provider";
|
|
||||||
import "./custom.scss";
|
|
||||||
import { Base, Dark } from "@appserver/components/themes";
|
|
||||||
import "./i18n";
|
|
||||||
|
|
||||||
const Shell = React.lazy(() => import("./Shell")); //import("studio/shell"));
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider theme={Base}>
|
<ErrorBoundary>
|
||||||
<MobxProvider
|
<Shell />
|
||||||
{...store}
|
</ErrorBoundary>
|
||||||
// auth={authStore}
|
|
||||||
// payments={paymentStore}
|
|
||||||
// wizard={wizardStore}
|
|
||||||
// setup={setupStore}
|
|
||||||
>
|
|
||||||
<ErrorBoundary>
|
|
||||||
<React.Suspense fallback={null}>
|
|
||||||
<Shell />
|
|
||||||
</React.Suspense>
|
|
||||||
</ErrorBoundary>
|
|
||||||
</MobxProvider>
|
|
||||||
</ThemeProvider>
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,14 +12,20 @@ import ScrollToTop from "@appserver/common/components/Layout/ScrollToTop";
|
|||||||
import history from "@appserver/common/history";
|
import history from "@appserver/common/history";
|
||||||
import toastr from "@appserver/common/components/Toast";
|
import toastr from "@appserver/common/components/Toast";
|
||||||
import { updateTempContent } from "@appserver/common/utils";
|
import { updateTempContent } from "@appserver/common/utils";
|
||||||
|
import { Provider as MobxProvider } from "mobx-react";
|
||||||
|
import ThemeProvider from "@appserver/components/theme-provider";
|
||||||
|
import { Base, Dark } from "@appserver/components/themes";
|
||||||
|
import store from "studio/store";
|
||||||
import config from "../package.json";
|
import config from "../package.json";
|
||||||
|
import "./custom.scss";
|
||||||
|
import "./i18n";
|
||||||
|
|
||||||
const Payments = React.lazy(() => import("./components/pages/Payments"));
|
const Payments = React.lazy(() => import("./components/pages/Payments"));
|
||||||
const Error404 = React.lazy(() => import("@appserver/common/pages/errors/404"));
|
const Error404 = React.lazy(() => import("@appserver/common/pages/errors/404"));
|
||||||
const Home = React.lazy(() => import("./components/pages/Home"));
|
const Home = React.lazy(() => import("./components/pages/Home"));
|
||||||
const Login = React.lazy(() => import("login/page"));
|
const Login = React.lazy(() => import("login/app"));
|
||||||
const People = React.lazy(() => import("people/page"));
|
const People = React.lazy(() => import("people/app"));
|
||||||
const Files = React.lazy(() => import("files/page"));
|
const Files = React.lazy(() => import("files/app"));
|
||||||
const About = React.lazy(() => import("./components/pages/About"));
|
const About = React.lazy(() => import("./components/pages/About"));
|
||||||
const Settings = React.lazy(() => import("./components/pages/Settings"));
|
const Settings = React.lazy(() => import("./components/pages/Settings"));
|
||||||
const ComingSoon = React.lazy(() => import("./components/pages/ComingSoon"));
|
const ComingSoon = React.lazy(() => import("./components/pages/ComingSoon"));
|
||||||
@ -224,7 +230,7 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
|
|||||||
|
|
||||||
// export default connect(mapStateToProps, mapDispatchToProps)(Shell);
|
// export default connect(mapStateToProps, mapDispatchToProps)(Shell);
|
||||||
|
|
||||||
export default inject(({ auth }) => {
|
const ShellWrapper = inject(({ auth }) => {
|
||||||
const { init, isLoaded } = auth;
|
const { init, isLoaded } = auth;
|
||||||
|
|
||||||
const pathname = window.location.pathname.toLowerCase();
|
const pathname = window.location.pathname.toLowerCase();
|
||||||
@ -239,3 +245,11 @@ export default inject(({ auth }) => {
|
|||||||
isLoaded,
|
isLoaded,
|
||||||
};
|
};
|
||||||
})(observer(Shell));
|
})(observer(Shell));
|
||||||
|
|
||||||
|
export default () => (
|
||||||
|
<ThemeProvider theme={Base}>
|
||||||
|
<MobxProvider {...store}>
|
||||||
|
<ShellWrapper />
|
||||||
|
</MobxProvider>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
@ -7,6 +7,7 @@ const deps = require("./package.json").dependencies;
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
entry: "./src/index",
|
entry: "./src/index",
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
devtool: "inline-source-map",
|
||||||
devServer: {
|
devServer: {
|
||||||
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
||||||
port: 5001,
|
port: 5001,
|
||||||
|
@ -7,7 +7,7 @@ const deps = require("./package.json").dependencies;
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
entry: "./src/index",
|
entry: "./src/index",
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
devtool: "inline-source-map",
|
||||||
devServer: {
|
devServer: {
|
||||||
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
contentBase: [path.join(__dirname, "public"), path.join(__dirname, "dist")],
|
||||||
contentBasePublicPath: "/login",
|
contentBasePublicPath: "/login",
|
||||||
@ -76,7 +76,7 @@ module.exports = {
|
|||||||
studio: "studio@http://localhost:5001/remoteEntry.js",
|
studio: "studio@http://localhost:5001/remoteEntry.js",
|
||||||
},
|
},
|
||||||
exposes: {
|
exposes: {
|
||||||
"./page": "./src/Login.jsx",
|
"./app": "./src/Login.jsx",
|
||||||
},
|
},
|
||||||
shared: {
|
shared: {
|
||||||
...deps,
|
...deps,
|
||||||
|
Loading…
Reference in New Issue
Block a user