Merge branch 'release/rc-v1.2.0' of https://github.com/ONLYOFFICE/DocSpace into release/rc-v1.2.0

This commit is contained in:
Timofey Boyko 2022-12-21 11:01:26 +03:00
commit 52177284fb
93 changed files with 398 additions and 400 deletions

View File

@ -70,6 +70,21 @@
-->
<script>
console.log("It's WEB CLIENT INIT");
fetch("/static/scripts/config.json")
.then((response) => {
if (!response.ok) {
throw new Error("HTTP error " + response.status);
}
return response.json();
})
.then((config) => {
window.DocSpaceConfig = {
...config,
};
})
.catch((e) => {
console.error(e);
});
</script>
</body>
</html>

View File

@ -1,10 +1,6 @@
import React from "react";
import { inject, observer } from "mobx-react";
import {
ShareAccessRights,
AppServerConfig,
FileStatus,
} from "@docspace/common/constants";
import { ShareAccessRights, FileStatus } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import Badges from "../components/Badges";

View File

@ -2,7 +2,6 @@ import React from "react";
import { inject, observer } from "mobx-react";
//import toastr from "@docspace/components/toast/toastr";
import {
// AppServerConfig,
// FileAction,
FileStatus,
ShareAccessRights,

View File

@ -1,4 +1,4 @@
import React, { useCallback } from "react";
import React from "react";
import { inject, observer } from "mobx-react";
import { useTranslation } from "react-i18next";
@ -6,10 +6,6 @@ import Link from "@docspace/components/link";
import LinkWithDropdown from "@docspace/components/link-with-dropdown";
import Avatar from "@docspace/components/avatar";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
export default function withContent(WrappedContent) {
const WithContent = (props) => {
const {
@ -95,7 +91,7 @@ export default function withContent(WrappedContent) {
/*const redirectToProfile = () => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/accounts/view/${userName}`
)
@ -110,7 +106,7 @@ export default function withContent(WrappedContent) {
clearTimeout(timer);
if (
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/accounts/view/${userName}`
) !== window.location.pathname

View File

@ -26,8 +26,7 @@ export default function withQuickButtons(WrappedComponent) {
? toastr.success(t("Translations:FileUnlocked"))
: toastr.success(t("Translations:FileLocked"))
)
.catch((err) => toastr.error(err))
.finally(() => this.setState({ isLoading: false }));
.catch((err) => toastr.error(err), this.setState({ isLoading: false }))
}
return;
};

View File

@ -20,8 +20,6 @@ import config from "PACKAGE_FILE";
import { I18nextProvider, useTranslation } from "react-i18next";
import i18n from "./i18n";
import AppLoader from "@docspace/common/components/AppLoader";
import System from "./components/System";
import { AppServerConfig } from "@docspace/common/constants";
import Snackbar from "@docspace/components/snackbar";
import moment from "moment";
import ReactSmartBanner from "./components/SmartBanner";
@ -32,29 +30,6 @@ import DialogsWrapper from "./components/dialogs/DialogsWrapper";
import MainBar from "./components/MainBar";
import { Portal } from "@docspace/components";
// const { proxyURL } = AppServerConfig;
// const homepage = config.homepage;
// const PROXY_HOMEPAGE_URL = combineUrl(proxyURL, homepage);
// const HOME_URLS = [
// combineUrl(PROXY_HOMEPAGE_URL),
// combineUrl(PROXY_HOMEPAGE_URL, "/"),
// combineUrl(PROXY_HOMEPAGE_URL, "/error=:error"),
// ];
// const WIZARD_URL = combineUrl(PROXY_HOMEPAGE_URL, "/wizard");
// const ABOUT_URL = combineUrl(PROXY_HOMEPAGE_URL, "/about");
// const CONFIRM_URL = combineUrl(PROXY_HOMEPAGE_URL, "/confirm");
// const PAYMENTS_URL = combineUrl(PROXY_HOMEPAGE_URL, "/payments");
// const SETTINGS_URL = combineUrl(PROXY_HOMEPAGE_URL, "/portal-settings");
// const ERROR_401_URL = combineUrl(PROXY_HOMEPAGE_URL, "/error401");
// const PROFILE_MY_URL = combineUrl(PROXY_HOMEPAGE_URL, "/my");
// const ENTER_CODE_URL = combineUrl(PROXY_HOMEPAGE_URL, "/code");
// const PREPARATION_PORTAL = combineUrl(
// PROXY_HOMEPAGE_URL,
// "/preparation-portal"
// );
const Payments = React.lazy(() => import("./pages/Payments"));
const Error404 = React.lazy(() => import("client/Error404"));
const Error401 = React.lazy(() => import("client/Error401"));
@ -202,7 +177,7 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
useEffect(() => {
socketHelper.emit({
command: "subscribe",
data: { roomParts: "backup-restore" }
data: { roomParts: "backup-restore" },
});
socketHelper.on("restore-backup", () => {
setPreparationPortalDialogVisible(true);

View File

@ -4,7 +4,6 @@ import CatalogItem from "@docspace/components/catalog-item";
import { inject, observer } from "mobx-react";
import { withTranslation } from "react-i18next";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import withLoader from "../../../HOCs/withLoader";
import config from "PACKAGE_FILE";
@ -25,7 +24,11 @@ const PureAccountsItem = ({
setSelectedNode(["accounts", "filter"]);
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, "/accounts")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/accounts"
)
);
toggleArticleOpen();
}, [setSelectedFolder, setSelectedNode, history]);

View File

@ -5,7 +5,6 @@ import { inject, observer } from "mobx-react";
import { withTranslation } from "react-i18next";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
import { AppServerConfig } from "@docspace/common/constants";
import withLoader from "../../../HOCs/withLoader";
import { isMobile } from "@docspace/components/utils/device";
import { isMobileOnly } from "react-device-detect";
@ -40,7 +39,11 @@ const PureSettingsItem = ({
setExpandSettingsTree(["common"]);
if (isMobile() || isMobileOnly) toggleArticleOpen();
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, "/settings/common")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/settings/common"
)
);
}, [
setSelectedFolder,

View File

@ -7,9 +7,7 @@ import { isMobileOnly } from "react-device-detect";
import { inject, observer } from "mobx-react";
import { withRouter } from "react-router";
import { combineUrl, getOAuthToken } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import withLoader from "../../../HOCs/withLoader";
import { useCallback } from "react";
import IconButton from "@docspace/components/icon-button";
import { connectedCloudsTitleTranslation } from "@docspace/client/src/helpers/filesUtils";
@ -123,7 +121,11 @@ const PureThirdPartyListContainer = ({
toggleArticleOpen();
}
return history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, thirdPartyUrl)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
thirdPartyUrl
)
);
}
}, [setSelectedNode, setSelectedFolder]);

View File

@ -4,7 +4,7 @@ import { inject, observer } from "mobx-react";
import { withRouter } from "react-router";
import { setDocumentTitle } from "@docspace/client/src/helpers/filesUtils";
import config from "PACKAGE_FILE";
import { AppServerConfig, RoomSearchArea } from "@docspace/common/constants";
import { RoomSearchArea } from "@docspace/common/constants";
import Items from "./Items";
import { isMobile, tablet } from "@docspace/components/utils/device";
import FilesFilter from "@docspace/common/api/files/filter";
@ -99,7 +99,7 @@ const ArticleBodyContent = (props) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
homepage,
`${url}?${filterParamsStr}`
)
@ -130,7 +130,11 @@ const ArticleBodyContent = (props) => {
const pathname = `${url}?${filterParamsStr}`;
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
pathname
)
);
}
})

View File

@ -6,7 +6,6 @@ import MainButton from "@docspace/components/main-button";
import { withTranslation } from "react-i18next";
import { isMobile } from "react-device-detect";
import Loaders from "@docspace/common/components/Loaders";
import { AppServerConfig, FileAction } from "@docspace/common/constants";
import { encryptionUploadDialog } from "../../../helpers/desktop";
import { withRouter } from "react-router";
@ -171,7 +170,7 @@ const ArticleMainButtonContent = (props) => {
const onShowGallery = () => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/form-gallery/${currentFolderId}/`
)

View File

@ -8,7 +8,6 @@ import Link from "@docspace/components/link";
import RoomsFilter from "@docspace/common/api/rooms/filter";
import { combineUrl } from "@docspace/common/utils";
import { getCategoryUrl } from "SRC_DIR/helpers/utils";
import { AppServerConfig } from "@docspace/common/constants";
import history from "@docspace/common/history";
import config from "PACKAGE_FILE";
@ -47,7 +46,11 @@ const RoomNoAccessContainer = (props) => {
const pathname = `${url}?${filterParamsStr}`;
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
pathname
)
);
})
.finally(() => {

View File

@ -11,7 +11,6 @@ import Loaders from "@docspace/common/components/Loaders";
import RoomsFilter from "@docspace/common/api/rooms/filter";
import { combineUrl } from "@docspace/common/utils";
import { getCategoryUrl } from "SRC_DIR/helpers/utils";
import { AppServerConfig } from "@docspace/common/constants";
import history from "@docspace/common/history";
import config from "PACKAGE_FILE";
import PlusIcon from "@docspace/client/public/images/plus.react.svg";
@ -113,7 +112,11 @@ const RootFolderContainer = (props) => {
const pathname = `${url}?${filterParamsStr}`;
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
pathname
)
);
})
.finally(() => {

View File

@ -4,7 +4,6 @@ import { useTranslation } from "react-i18next";
import toastr from "@docspace/components/toast/toastr";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
@ -104,7 +103,11 @@ const CreateEvent = ({
let tab =
!isDesktop && extension && open
? window.open(
combineUrl(AppServerConfig.proxyURL, config.homepage, `/doceditor`),
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor`
),
"_blank"
)
: null;

View File

@ -5,7 +5,6 @@ import Box from "@docspace/components/box";
import { useTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import { Base } from "@docspace/components/themes";
import { hugeMobile } from "@docspace/components/utils/device";
@ -74,7 +73,7 @@ const HeaderUnAuth = ({
<img
className="header-logo-icon"
src={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/static/images/logo.docspace.react.svg"
)}
/>

View File

@ -1,36 +1,16 @@
import React, { useState, useEffect } from "react";
import { inject, observer } from "mobx-react";
import PropTypes from "prop-types";
import styled, { css } from "styled-components";
import styled from "styled-components";
import { Link as LinkWithoutRedirect } from "react-router-dom";
import { isMobileOnly, isMobile } from "react-device-detect";
import NavItem from "./nav-item";
import Headline from "@docspace/common/components/Headline";
import Nav from "./nav";
import NavLogoItem from "./nav-logo-item";
import Link from "@docspace/components/link";
import history from "@docspace/common/history";
import { useTranslation } from "react-i18next";
import HeaderNavigationIcon from "./header-navigation-icon";
import Box from "@docspace/components/box";
import Text from "@docspace/components/text";
import {
desktop,
isDesktop,
tablet,
mobile,
} from "@docspace/components/utils/device";
import i18n from "../i18n";
import { isDesktop, tablet, mobile } from "@docspace/components/utils/device";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import NoUserSelect from "@docspace/components/utils/commonStyles";
import { getLink, checkIfModuleOld, onItemClick } from "SRC_DIR/helpers/utils";
import StyledExternalLinkIcon from "@docspace/client/src/components/StyledExternalLinkIcon";
import HeaderCatalogBurger from "./header-catalog-burger";
import { Base, Dark } from "@docspace/components/themes";
import { ReactSVG } from "react-svg";
const { proxyURL } = AppServerConfig;
import { Base } from "@docspace/components/themes";
const Header = styled.header`
display: flex;
@ -243,7 +223,7 @@ const HeaderComponent = ({
alt="logo"
className="header-logo-icon"
src={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/static/images/personal.logo.react.svg"
)}
/>
@ -297,7 +277,7 @@ const HeaderComponent = ({
<Box className="version-box">
<Link
as="a"
href={`https://github.com/ONLYOFFICE/AppServer/releases`}
href={`https://github.com/ONLYOFFICE/Docspace/releases`}
target="_blank"
{...versionBadgeProps}
>
@ -309,7 +289,7 @@ const HeaderComponent = ({
</Text>
<StyledLink>
<LinkWithoutRedirect
to={combineUrl(proxyURL, "/about")}
to={combineUrl(window.DocSpaceConfig?.proxy?.url, "/about")}
className="nav-menu-header_link"
>
{t("Common:About")}

View File

@ -9,7 +9,6 @@ import { isMobile } from "@docspace/components/utils/device";
import { isMobileOnly } from "react-device-detect";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import CatalogItem from "@docspace/components/catalog-item";
import withLoader from "../../../HOCs/withLoader";
@ -67,7 +66,7 @@ const ArticleBodyContent = ({
const urlFilter = newFilter.toUrlParams();
const url = combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/accounts/filter?${urlFilter}`
);

View File

@ -9,7 +9,6 @@ import Loaders from "@docspace/common/components/Loaders";
import { inject, observer } from "mobx-react";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import { isMobile } from "react-device-detect";
import {
isMobile as isMobileUtils,
@ -30,7 +29,11 @@ class ArticleMainButtonContent extends React.Component {
onImportClick = () => {
const { history, homepage } = this.props;
history.push(
combineUrl(AppServerConfig.proxyURL, homepage, "${homepage}/import")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
homepage,
"${homepage}/import"
)
);
if (isMobile || isMobileUtils()) this.props.toggleShowText();
};
@ -38,7 +41,7 @@ class ArticleMainButtonContent extends React.Component {
goToEmployeeCreate = () => {
const { history, homepage } = this.props;
history.push(
combineUrl(AppServerConfig.proxyURL, homepage, "/create/user")
combineUrl(window.DocSpaceConfig?.proxy?.url, homepage, "/create/user")
);
if (isMobile || isMobileUtils()) this.props.toggleShowText();
};
@ -46,7 +49,7 @@ class ArticleMainButtonContent extends React.Component {
// goToGuestCreate = () => {
// const { history, homepage } = this.props;
// history.push(
// combineUrl(AppServerConfig.proxyURL, homepage, "/create/guest")
// combineUrl(window.DocSpaceConfig?.proxy?.url, homepage, "/create/guest")
// );
// if (isMobile || isMobileUtils()) this.props.toggleShowText();
// };
@ -54,7 +57,7 @@ class ArticleMainButtonContent extends React.Component {
// goToGroupCreate = () => {
// const { history, homepage } = this.props;
// history.push(
// combineUrl(AppServerConfig.proxyURL, homepage, "/group/create")
// combineUrl(window.DocSpaceConfig?.proxy?.url, homepage, "/group/create")
// );
// if (isMobile || isMobileUtils()) this.props.toggleShowText();
// };
@ -91,7 +94,7 @@ class ArticleMainButtonContent extends React.Component {
{
key: "create-user",
icon: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
homepage,
"/images/add.employee.react.svg"
),
@ -101,7 +104,7 @@ class ArticleMainButtonContent extends React.Component {
// {
// key: "create-guest",
// icon: combineUrl(
// AppServerConfig.proxyURL,
// window.DocSpaceConfig?.proxy?.url,
// homepage,
// "/images/add.guest.react.svg"
// ),
@ -111,7 +114,7 @@ class ArticleMainButtonContent extends React.Component {
// {
// key: "create-group",
// icon: combineUrl(
// AppServerConfig.proxyURL,
// window.DocSpaceConfig?.proxy?.url,
// homepage,
// "/images/add.department.react.svg"
// ),
@ -124,7 +127,7 @@ class ArticleMainButtonContent extends React.Component {
{
key: "invite-link",
icon: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/static/images/invitation.link.react.svg"
),
label: t("PeopleTranslations:InviteLinkTitle"),
@ -132,7 +135,7 @@ class ArticleMainButtonContent extends React.Component {
},
/* {
icon: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/static/images/plane.react.svg"
),
label: t("SendInvitesAgain"),
@ -141,7 +144,7 @@ class ArticleMainButtonContent extends React.Component {
separator,
{
icon: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/static/images/import.react.svg"
),
label: t("ImportPeople"),

View File

@ -6,7 +6,6 @@ import { withTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import SimulatePassword from "../../SimulatePassword";
import StyledComponent from "./StyledConvertPasswordDialog";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import { openDocEditor } from "@docspace/client/src/helpers/filesUtils";
import combineUrl from "@docspace/common/utils/combineUrl";
@ -58,7 +57,11 @@ const ConvertPasswordDialogComponent = (props) => {
tab =
!isDesktop && formCreationInfo.fileInfo.fileExst && formCreationInfo.open
? window.open(
combineUrl(AppServerConfig.proxyURL, config.homepage, "/doceditor"),
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/doceditor"
),
"_blank"
)
: null;

View File

@ -13,8 +13,6 @@ import ModalDialogContainer from "../ModalDialogContainer";
import { inject, observer } from "mobx-react";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
// import Link from "@docspace/components/link";
const { deleteUser } = api.people; //TODO: Move to action
const { Filter } = api;
@ -34,7 +32,7 @@ class DeleteProfileEverDialogComponent extends React.Component {
const params = filter.toUrlParams();
const url = combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
homepage,
`/accounts/filter?${params}`
);
@ -56,7 +54,7 @@ class DeleteProfileEverDialogComponent extends React.Component {
const { homepage, user } = this.props;
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
homepage,
`/reassign/${user.userName}`
)

View File

@ -4,12 +4,14 @@ import { withTranslation, Trans } from "react-i18next";
import { withRouter } from "react-router";
import moment from "moment";
import { combineUrl } from "@docspace/common/utils";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import ModalDialog from "@docspace/components/modal-dialog";
import Button from "@docspace/components/button";
import Text from "@docspace/components/text";
const PROXY_BASE_URL = combineUrl(AppServerConfig.proxyURL, "/portal-settings");
const PROXY_BASE_URL = combineUrl(
window.DocSpaceConfig?.proxy?.url,
"/portal-settings"
);
const InviteUsersWarningDialog = (props) => {
const {

View File

@ -7,7 +7,6 @@ import Text from "@docspace/components/text";
import Heading from "@docspace/components/heading";
import Aside from "@docspace/components/aside";
import Row from "@docspace/components/row";
import Box from "@docspace/components/box";
import Button from "@docspace/components/button";
import { withTranslation } from "react-i18next";
import toastr from "@docspace/components/toast/toastr";
@ -22,7 +21,6 @@ import {
} from "../StyledPanels";
import { inject, observer } from "mobx-react";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import Loaders from "@docspace/common/components/Loaders";
import withLoader from "../../../HOCs/withLoader";
@ -152,7 +150,7 @@ class NewFilesPanel extends React.Component {
.finally(
window.open(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor?fileId=${id}`
),

View File

@ -39,6 +39,7 @@ const SelectFolderDialogAsideView = ({
selectionFiles,
folderSelectionDisabled,
}) => {
const isLoaded = folderId && resultingFolderTree;
return (
<StyledModalDialog
theme={theme}
@ -68,13 +69,21 @@ const SelectFolderDialogAsideView = ({
<div className="selection-panel_aside-body">
<div className="selection-panel_aside-header">
<div>{header}</div>
<Text fontWeight="700" fontSize="18px">
{t("Common:Rooms")}
</Text>
{isLoaded ? (
<Text fontWeight="700" fontSize="18px">
{t("Common:Rooms")}
</Text>
) : (
<Loaders.Rectangle
className="selection-panel_header-loader"
width="83px"
height="24px"
/>
)}
</div>
<div className="selection-panel_aside-tree">
{folderId && resultingFolderTree ? (
{isLoaded ? (
<FolderTreeBody
selectionFiles={selectionFiles}
parentId={parentId}

View File

@ -4,7 +4,6 @@ import toastr from "@docspace/components/toast/toastr";
import FilesListBody from "./FilesListBody";
import axios from "axios";
import { combineUrl, getFolderOptions } from "@docspace/common/utils";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
class FilesListWrapper extends React.Component {
constructor(props) {
@ -72,9 +71,16 @@ class FilesListWrapper extends React.Component {
const options = getFolderOptions(folderId, this.newFilter);
const response = await axios
.get(combineUrl(AppServerConfig.apiPrefix, options.url), {
cancelToken: this.source.token,
})
.get(
combineUrl(
window.DocSpaceConfig?.proxy?.url,
window.DocSpaceConfig?.api?.prefix,
options.url
),
{
cancelToken: this.source.token,
}
)
.catch((thrown) => {
if (axios.isCancel(thrown)) {
console.log("Request canceled", thrown.message);

View File

@ -53,6 +53,7 @@ const SelectionPanelBody = ({
folderSelectionDisabled,
isCurrentFolder,
}) => {
const isLoaded = folderId && resultingFolderTree;
return (
<StyledModalDialog
theme={theme}
@ -71,15 +72,25 @@ const SelectionPanelBody = ({
<StyledBody header={!!header} footer={!!footer}>
<div className="selection-panel_body">
<div className="selection-panel_tree-body">
<Text
fontWeight="700"
fontSize="18px"
className="selection-panel_folder-title"
>
{t("Common:Rooms")}
</Text>
{isLoaded ? (
<Text
fontWeight="700"
fontSize="18px"
className="selection-panel_folder-title"
>
{t("Common:Rooms")}
</Text>
) : (
<div className="selection-panel_folder-title">
<Loaders.Rectangle
className="selection-panel_header-loader"
width="83px"
height="24px"
/>
</div>
)}
{folderId && resultingFolderTree ? (
{isLoaded ? (
<FolderTreeBody
selectionFiles={selectionFiles}
theme={theme}

View File

@ -79,6 +79,11 @@ const StyledBody = styled.div`
.selection-panel_folder-title {
padding: 12px 20px 14px 0px;
}
.selection-panel_header-loader {
padding-bottom: 3px;
}
.selection-panel_tree-folder {
height: ${(props) => (props.footer ? "343px" : "387px")};
max-height: 384px;
@ -212,6 +217,10 @@ const StyledAsideBody = styled.div`
div:first-child {
${(props) => props.header && " margin-bottom: 12px;"}
}
.selection-panel_header-loader {
padding-bottom: 4px;
}
}
.selection-panel_aside-folder-title {
margin-top: 12px;

View File

@ -7,7 +7,6 @@ import Section from "@docspace/common/components/Section";
import { checkConfirmLink } from "@docspace/common/api/user"; //TODO: Move AuthStore
import { combineUrl, getObjectByLocation } from "@docspace/common/utils";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
class ConfirmRoute extends React.Component {
constructor(props) {
@ -55,17 +54,29 @@ class ConfirmRoute extends React.Component {
break;
case ValidationResult.Invalid:
history.push(
combineUrl(AppServerConfig.proxyURL, path, "/error=Invalid link")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
path,
"/error=Invalid link"
)
);
break;
case ValidationResult.Expired:
history.push(
combineUrl(AppServerConfig.proxyURL, path, "/error=Expired link")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
path,
"/error=Expired link"
)
);
break;
default:
history.push(
combineUrl(AppServerConfig.proxyURL, path, "/error=Unknown error")
combineUrl(
window.DocSpaceConfig?.proxy?.url,
path,
"/error=Unknown error"
)
);
break;
}
@ -82,7 +93,11 @@ class ConfirmRoute extends React.Component {
errorMessage = error;
}
history.push(
combineUrl(AppServerConfig.proxyURL, path, `/error=${errorMessage}`)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
path,
`/error=${errorMessage}`
)
);
});
}

View File

@ -1,9 +1,5 @@
import authStore from "@docspace/common/store/AuthStore";
import {
AppServerConfig,
FileType,
RoomsType,
} from "@docspace/common/constants";
import { FileType, RoomsType } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import { combineUrl, toUrlParams } from "@docspace/common/utils";
import { addFileToRecentlyViewed } from "@docspace/common/api/files";
@ -111,7 +107,7 @@ export const openDocEditor = async (
if (!url && id) {
url = combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor?fileId=${encodeURIComponent(id)}`
);
@ -129,7 +125,7 @@ export const openDocEditor = async (
export const getDataSaveAs = async (params) => {
try {
const data = await request({
baseURL: combineUrl(AppServerConfig.proxyURL, config.homepage),
baseURL: combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage),
method: "get",
url: `/products/files/httphandlers/filehandler.ashx?${params}`,
responseType: "text",
@ -155,7 +151,7 @@ export const SaveAs = (title, url, folderId, openNewTab) => {
} else {
window.open(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`products/files/httphandlers/filehandler.ashx?${params}` //TODO: will change 'products/files' path
),

View File

@ -79,7 +79,7 @@ const AboutContent = (props) => {
} = props;
const { t } = useTranslation("About");
const license = "AGPL-3.0";
const linkAppServer = "https://github.com/ONLYOFFICE/DocSpace";
const linkRepo = "https://github.com/ONLYOFFICE/DocSpace";
const linkDocs = "https://github.com/ONLYOFFICE/DocumentServer";
const companyName = previewData
@ -134,14 +134,14 @@ const AboutContent = (props) => {
className="row-el"
fontSize="13px"
fontWeight="600"
href={linkAppServer}
href={linkRepo}
target="_blank"
>
&nbsp;ONLYOFFICE DocSpace&nbsp;
</ColorTheme>
<Text className="row-el select-el" fontSize="13px" fontWeight="600">
v.{buildVersionInfo.appServer}
v.{buildVersionInfo.docspace}
</Text>
</div>

View File

@ -6,7 +6,6 @@ import Section from "@docspace/common/components/Section";
import { combineUrl } from "@docspace/common/utils";
import tryRedirectTo from "@docspace/common/utils/tryRedirectTo";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
class ActivateEmail extends React.PureComponent {
componentDidMount() {
@ -21,7 +20,7 @@ class ActivateEmail extends React.PureComponent {
.then((res) => {
tryRedirectTo(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/login?confirmedEmail=${email}`
)
);
@ -41,7 +40,7 @@ class ActivateEmail extends React.PureComponent {
tryRedirectTo(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/login/error?message=${errorMessage}`
)
);

View File

@ -6,7 +6,6 @@ import Loader from "@docspace/components/loader";
import Section from "@docspace/common/components/Section";
import { combineUrl } from "@docspace/common/utils";
import tryRedirectTo from "@docspace/common/utils/tryRedirectTo";
import { AppServerConfig } from "@docspace/common/constants";
class ChangeEmail extends React.PureComponent {
componentDidMount() {
@ -18,7 +17,7 @@ class ChangeEmail extends React.PureComponent {
console.log("change client email success", res);
tryRedirectTo(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/accounts/view/@self?email_change=success`
)
);
@ -37,7 +36,10 @@ class ChangeEmail extends React.PureComponent {
console.log("change client email error", e);
tryRedirectTo(
combineUrl(AppServerConfig.proxyURL, `/error=${errorMessage}`)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
`/error=${errorMessage}`
)
);
});
}
@ -52,7 +54,7 @@ class ChangeEmail extends React.PureComponent {
console.log("change client email success", res);
tryRedirectTo(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/accounts/view/@self?email_change=success`
)
);

View File

@ -3,7 +3,6 @@ import { observer, inject } from "mobx-react";
import Loader from "@docspace/components/loader";
import axios from "axios";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
let loadTimeout = null;
export default function withLoader(WrappedComponent) {
@ -48,7 +47,7 @@ export default function withLoader(WrappedComponent) {
console.error(errorMessage);
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/login/error?message=${errorMessage}`
)
);
@ -72,7 +71,7 @@ export default function withLoader(WrappedComponent) {
console.error(errorMessage);
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/login/error?message=${errorMessage}`
)
);

View File

@ -21,7 +21,6 @@ import Settings from "./Settings";
import PrivateRoomsPage from "./PrivateRoomsPage";
import ErrorBoundary from "@docspace/common/components/ErrorBoundary";
import Panels from "../components/FilesPanels";
//import { AppServerConfig } from "@docspace/common/constants";
import Article from "@docspace/common/components/Article";
import {
ArticleBodyContent,
@ -32,10 +31,9 @@ import {
import GlobalEvents from "../components/GlobalEvents";
import Accounts from "./Accounts";
// const { proxyURL } = AppServerConfig;
// const homepage = config.homepage;
// const PROXY_HOMEPAGE_URL = combineUrl(proxyURL, homepage);
// const PROXY_HOMEPAGE_URL = combineUrl(window.DocSpaceConfig?.proxy?.url, homepage);
// const HOME_URL = combineUrl(PROXY_HOMEPAGE_URL, "/");
// const SETTINGS_URL = combineUrl(PROXY_HOMEPAGE_URL, "/settings/:setting");

View File

@ -3,7 +3,6 @@ import { inject, observer } from "mobx-react";
import IconButton from "@docspace/components/icon-button";
import { withTranslation } from "react-i18next";
import { withRouter } from "react-router-dom";
import { AppServerConfig } from "@docspace/common/constants";
import {
StyledHeadline,
StyledContainer,
@ -39,7 +38,7 @@ const SectionHeaderContent = (props) => {
const pathname = `${url}?${filterParamsStr}`;
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage, pathname)
);
};

View File

@ -3,11 +3,9 @@ import { inject, observer } from "mobx-react";
import ContextMenuButton from "@docspace/components/context-menu-button";
import PropTypes from "prop-types";
import ContextMenu from "@docspace/components/context-menu";
import { isDesktop } from "react-device-detect";
import Link from "@docspace/components/link";
import { withTranslation } from "react-i18next";
import { ReactSVG } from "react-svg";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
import FilesFilter from "@docspace/common/api/files/filter";
@ -97,7 +95,7 @@ class Tile extends React.PureComponent {
setIsInfoPanelVisible(false);
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage, pathname)
);
};

View File

@ -12,16 +12,14 @@ import Loaders from "@docspace/common/components/Loaders";
import PeopleSelector from "../../../../components/PeopleSelector";
import { GUID_EMPTY } from "../../../../helpers/constants";
import PropTypes from "prop-types";
import React, { useEffect, useState } from "react";
import React, { useState } from "react";
import styled from "styled-components";
import { withRouter } from "react-router";
import { withTranslation } from "react-i18next";
import CatalogGuestIcon from "PUBLIC_DIR/images/catalog.guest.react.svg";
import { ID_NO_GROUP_MANAGER } from "../../../../helpers/constants";
import { inject, observer } from "mobx-react";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import { useTranslation } from "react-i18next";
import withLoader from "../../../../HOCs/withLoader";
@ -189,7 +187,7 @@ const SectionBodyContent = ({
return selectGroup(group.id);
} else {
return history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, "/")
combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage, "/")
);
}
})

View File

@ -9,6 +9,7 @@ const StyledText = styled(Text)`
const StyledAuthorCell = styled.div`
display: flex;
width: 100%;
overflow: hidden;
.author-avatar-cell {
width: 16px;

View File

@ -4,11 +4,7 @@ import styled, { css } from "styled-components";
import { withRouter } from "react-router";
import toastr from "@docspace/components/toast/toastr";
import Loaders from "@docspace/common/components/Loaders";
import {
AppServerConfig,
FolderType,
RoomSearchArea,
} from "@docspace/common/constants";
import { FolderType, RoomSearchArea } from "@docspace/common/constants";
import { withTranslation } from "react-i18next";
import { isMobile, isTablet, isMobileOnly } from "react-device-detect";
import DropDownItem from "@docspace/components/drop-down-item";
@ -76,6 +72,14 @@ class SectionHeaderContent extends React.Component {
this.state = { navigationItems: [] };
}
componentDidMount() {
window.addEventListener("popstate", this.onBackToParentFolder);
}
componentWillUnmount() {
window.removeEventListener("popstate", this.onBackToParentFolder);
}
onCreate = (format) => {
const event = new Event(Events.CREATE);
@ -110,7 +114,7 @@ class SectionHeaderContent extends React.Component {
const { history, currentFolderId } = this.props;
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/form-gallery/${currentFolderId}/`
)

View File

@ -18,7 +18,6 @@ import {
checkPropertyByLink,
} from "../../../utils";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import { isMobile, isTablet, isMobileOnly } from "react-device-detect";
const HeaderContainer = styled.div`
@ -196,7 +195,9 @@ class SectionHeaderContent extends React.Component {
let newArrayOfParams = this.getArrayOfParams();
newArrayOfParams.splice(-1, 1);
const newPath = "/portal-settings/" + newArrayOfParams.join("/");
this.props.history.push(combineUrl(AppServerConfig.proxyURL, newPath));
this.props.history.push(
combineUrl(window.DocSpaceConfig?.proxy?.url, newPath)
);
};
getArrayOfParams = () => {

View File

@ -6,7 +6,6 @@ import TextInput from "@docspace/components/text-input";
import Button from "@docspace/components/button";
import { inject, observer } from "mobx-react";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import history from "@docspace/common/history";
import { isMobileOnly } from "react-device-detect";
@ -78,7 +77,7 @@ const DNSSettings = (props) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/portal-settings/common/customization"
)

View File

@ -11,7 +11,6 @@ import { inject, observer } from "mobx-react";
import { LANGUAGE, COOKIE_EXPIRATION_YEAR } from "@docspace/common/constants";
import { LanguageTimeSettingsTooltip } from "../sub-components/common-tooltips";
import { combineUrl, setCookie } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import history from "@docspace/common/history";
import { isMobileOnly } from "react-device-detect";
@ -386,7 +385,7 @@ class LanguageAndTimeZone extends React.Component {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/portal-settings/common/customization"
)

View File

@ -7,7 +7,6 @@ import TextInput from "@docspace/components/text-input";
import SaveCancelButtons from "@docspace/components/save-cancel-buttons";
import { inject, observer } from "mobx-react";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import history from "@docspace/common/history";
import { isMobileOnly } from "react-device-detect";
@ -224,7 +223,7 @@ const PortalRenaming = (props) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/portal-settings/common/customization"
)

View File

@ -10,7 +10,6 @@ import { setDocumentTitle } from "SRC_DIR/helpers/utils";
import { inject, observer } from "mobx-react";
import { CustomTitlesTooltip } from "../sub-components/common-tooltips";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import history from "@docspace/common/history";
import { isMobileOnly } from "react-device-detect";
@ -249,7 +248,7 @@ class WelcomePageSettings extends React.Component {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/portal-settings/common/customization"
)

View File

@ -6,7 +6,6 @@ import Box from "@docspace/components/box";
import Link from "@docspace/components/link";
import { combineUrl } from "@docspace/common/utils";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
import withCultureNames from "@docspace/common/hoc/withCultureNames";
import history from "@docspace/common/history";
import { Base } from "@docspace/components/themes";
@ -91,7 +90,7 @@ const CustomizationNavbar = ({
onClick={onClickLink}
truncate={true}
href={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-settings/common/customization/language-and-time-zone"
)}
>
@ -121,7 +120,7 @@ const CustomizationNavbar = ({
className="inherit-title-link header"
onClick={onClickLink}
href={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-settings/common/customization/welcome-page-settings"
)}
>
@ -142,7 +141,7 @@ const CustomizationNavbar = ({
className="inherit-title-link header"
onClick={onClickLink}
href={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-settings/common/customization/dns-settings"
)}
>
@ -180,7 +179,7 @@ const CustomizationNavbar = ({
className="inherit-title-link header"
onClick={onClickLink}
href={combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-settings/common/customization/portal-renaming"
)}
>

View File

@ -2,7 +2,6 @@ import React, { useEffect, useState } from "react";
import Submenu from "@docspace/components/submenu";
import { withRouter } from "react-router";
import { withTranslation } from "react-i18next";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
import { inject, observer } from "mobx-react";
@ -63,7 +62,7 @@ const SubmenuCommon = (props) => {
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/portal-settings/common/${e.id}`
)

View File

@ -3,7 +3,6 @@ import { withTranslation, Trans } from "react-i18next";
import Submenu from "@docspace/components/submenu";
import Link from "@docspace/components/link";
import HelpButton from "@docspace/components/help-button";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import { inject, observer } from "mobx-react";
import AutoBackup from "./auto-backup";
@ -68,7 +67,7 @@ const Backup = ({
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/portal-settings/backup/${e.id}`
)

View File

@ -8,7 +8,7 @@ import RadioButton from "@docspace/components/radio-button";
import toastr from "@docspace/components/toast/toastr";
import { startRestore } from "@docspace/common/api/portal";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig, BackupStorageType } from "@docspace/common/constants";
import { BackupStorageType } from "@docspace/common/constants";
import { request } from "@docspace/common/api/client";
import { StyledRestoreBackup } from "./../StyledBackup";
import BackupListModalDialog from "./sub-components/backup-list";
@ -227,7 +227,10 @@ class RestoreBackup extends React.Component {
try {
if (isCheckedLocalFile) {
checkedFile = await request({
baseURL: combineUrl(AppServerConfig.proxyURL, config.homepage),
baseURL: combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage
),
method: "post",
url: `/backupFileUpload.ashx`,
responseType: "text",
@ -259,7 +262,7 @@ class RestoreBackup extends React.Component {
.then(() =>
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/preparation-portal"
)

View File

@ -15,7 +15,6 @@ import {
import toastr from "@docspace/components/toast/toastr";
import Loaders from "@docspace/common/components/Loaders";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import Checkbox from "@docspace/components/checkbox";
import HelpButton from "@docspace/components/help-button";
import config from "PACKAGE_FILE";
@ -114,7 +113,7 @@ class BackupListModalDialog extends React.Component {
.then(() =>
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/preparation-portal"
)

View File

@ -3,7 +3,6 @@ import Submenu from "@docspace/components/submenu";
import { withRouter } from "react-router";
import { withTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "../../../../../../package.json";
@ -33,7 +32,7 @@ const DataManagementWrapper = (props) => {
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/settings/datamanagement/${e.id}`
)

View File

@ -6,8 +6,6 @@ import { inject, observer } from "mobx-react";
import PortalDeactivationSection from "./portalDeactivation";
import PortalDeletionSection from "./portalDeletion";
import DeleteDataLoader from "./DeleteDataLoader";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "../../../../../package.json";
@ -40,7 +38,7 @@ const DeleteData = (props) => {
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/portal-settings/delete-data/${e.id}`
)

View File

@ -3,7 +3,6 @@ import Submenu from "@docspace/components/submenu";
import { withRouter } from "react-router";
import { withTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
import { isMobile } from "react-device-detect";
@ -67,7 +66,7 @@ const IntegrationWrapper = (props) => {
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/portal-settings/integration/${e.id}`
)

View File

@ -4,9 +4,7 @@ import Text from "@docspace/components/text";
import { inject, observer } from "mobx-react";
import SelectUsersCountContainer from "./sub-components/SelectUsersCountContainer";
import TotalTariffContainer from "./sub-components/TotalTariffContainer";
import { smallTablet } from "@docspace/components/utils/device";
import toastr from "@docspace/components/toast/toastr";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import axios from "axios";
import { combineUrl } from "@docspace/common/utils";
import ButtonContainer from "./sub-components/ButtonContainer";
@ -103,7 +101,7 @@ const PriceCalculation = ({
await axios
.put(
combineUrl(AppServerConfig.apiPrefix, "/portal/payment/url"),
combineUrl(window.DocSpaceConfig?.proxy?.url, "/portal/payment/url"),
{ quantity: { admin: value } },
{
cancelToken: source.token,

View File

@ -3,7 +3,6 @@ import Submenu from "@docspace/components/submenu";
import { withRouter } from "react-router";
import { withTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
@ -55,7 +54,7 @@ const SecurityWrapper = (props) => {
const onSelect = (e) => {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/portal-settings/security/${e.id}`
)

View File

@ -7,7 +7,6 @@ import {
StyledArrowRightIcon,
} from "../StyledSecurity";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
const MobileCategoryWrapper = (props) => {
const { title, url, subtitle, onClickLink } = props;
@ -19,7 +18,7 @@ const MobileCategoryWrapper = (props) => {
className="inherit-title-link header"
onClick={onClickLink}
truncate={true}
href={combineUrl(AppServerConfig.proxyURL, url)}
href={combineUrl(window.DocSpaceConfig?.proxy?.url, url)}
>
{title}
</Link>

View File

@ -3,7 +3,6 @@ import { Route, Switch, Redirect } from "react-router-dom";
import { withRouter } from "react-router";
import Layout from "./Layout";
import { combineUrl } from "@docspace/common/utils";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import Panels from "../../components/FilesPanels";
const SecuritySettings = lazy(() => import("./categories/security/index.js"));
@ -67,7 +66,10 @@ const WhiteLabel = lazy(() =>
);
const Branding = lazy(() => import("./categories/common/branding"));
const PROXY_BASE_URL = combineUrl(AppServerConfig.proxyURL, "/portal-settings");
const PROXY_BASE_URL = combineUrl(
window.DocSpaceConfig?.proxy?.url,
"/portal-settings"
);
const COMMON_URLS = [
PROXY_BASE_URL,
@ -167,7 +169,10 @@ const DELETE_DATA_URLS = [
combineUrl(PROXY_BASE_URL, "/delete-data/deactivation"),
];
const ERROR_404_URL = combineUrl(AppServerConfig.proxyURL, "/error/404");
const ERROR_404_URL = combineUrl(
window.DocSpaceConfig?.proxy?.url,
"/error/404"
);
const Settings = () => {
return (

View File

@ -7,7 +7,6 @@ import IconButton from "@docspace/components/icon-button";
import ContextMenuButton from "@docspace/components/context-menu-button";
import Headline from "@docspace/common/components/Headline";
import Loaders from "@docspace/common/components/Loaders";
import { AppServerConfig } from "@docspace/common/constants";
import { DeleteSelfProfileDialog } from "SRC_DIR/components/dialogs";
import { combineUrl } from "@docspace/common/utils";
import config from "PACKAGE_FILE";
@ -71,7 +70,7 @@ const Header = (props) => {
const onClickBack = () => {
const url = filter.toUrlParams();
const backUrl = combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/accounts/filter?/${url}`
);

View File

@ -6,7 +6,6 @@ import { useTranslation } from "react-i18next";
import styled from "styled-components";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
const Wrapper = styled.div`
display: grid;
@ -30,7 +29,9 @@ const SectionHeaderContent = (props) => {
const { t } = useTranslation("People");
const onClickBack = useCallback(() => {
history.push(combineUrl(AppServerConfig.proxyURL, config.homepage));
history.push(
combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage)
);
}, [history]);
return (

View File

@ -11,7 +11,6 @@ import { withTranslation } from "react-i18next";
import EmptyFolderContainer from "../../../../components/EmptyContainer/EmptyContainer";
import { inject, observer } from "mobx-react";
import combineUrl from "@docspace/common/utils/combineUrl";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import config from "PACKAGE_FILE";
import { withRouter } from "react-router";
import { connectedCloudsTypeTitleTranslation } from "@docspace/client/src/helpers/filesUtils";
@ -155,7 +154,11 @@ class ConnectClouds extends React.Component {
const urlFilter = newFilter.toUrlParams();
setFirstLoad(true);
history.push(
combineUrl(AppServerConfig.proxyURL, homepage, `/filter?${urlFilter}`) //TODO: Change url by category
combineUrl(
window.DocSpaceConfig?.proxy?.url,
homepage,
`/filter?${urlFilter}`
) //TODO: Change url by category
);
});
};

View File

@ -6,7 +6,6 @@ import Error520 from "client/Error520";
//import ConnectClouds from "./ConnectedClouds";
import { inject, observer } from "mobx-react";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import Submenu from "@docspace/components/submenu";
import CommonSettings from "./CommonSettings";
@ -65,7 +64,11 @@ const SectionBodyContent = ({ isVisitor, isErrorSettings, history }) => {
if (id === setting) return;
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, `/settings/${id}`)
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/settings/${id}`
)
);
},
[setting, history]

View File

@ -24,7 +24,6 @@ import ModalContainer from "./sub-components/modal-dialog-container";
import { setDocumentTitle } from "SRC_DIR/helpers/utils";
import { inject, observer } from "mobx-react";
import { AppServerConfig } from "@docspace/common/constants";
import withCultureNames from "@docspace/common/hoc/withCultureNames";
const emailSettings = new EmailSettings();
@ -103,7 +102,7 @@ class Body extends Component {
window.addEventListener("keyup", this.onKeyPressHandler);
if (!wizardToken) {
history.push(combineUrl(AppServerConfig.proxyURL, "/"));
history.push(combineUrl(window.DocSpaceConfig?.proxy?.url, "/"));
} else {
await axios
.all([
@ -254,7 +253,7 @@ class Body extends Component {
getPortalSettings();
})
.then(() =>
history.push(combineUrl(AppServerConfig.proxyURL, "/login"))
history.push(combineUrl(window.DocSpaceConfig?.proxy?.url, "/login"))
)
.catch((error) => {
let errorMessage = "";

View File

@ -2,25 +2,17 @@ import React from "react";
import { makeAutoObservable } from "mobx";
import { Trans } from "react-i18next";
import config from "PACKAGE_FILE";
import toastr from "@docspace/components/toast/toastr";
import history from "@docspace/common/history";
import { combineUrl } from "@docspace/common/utils";
import {
AppServerConfig,
EmployeeStatus,
FilterSubject,
} from "@docspace/common/constants";
import { EmployeeStatus, FilterSubject } from "@docspace/common/constants";
import { resendUserInvites } from "@docspace/common/api/people";
import { getCategoryUrl } from "SRC_DIR/helpers/utils";
import { CategoryType } from "SRC_DIR/helpers/constants";
import RoomsFilter from "@docspace/common/api/rooms/filter";
const { proxyURL } = AppServerConfig;
const PROXY_HOMEPAGE_URL = combineUrl(proxyURL, "/");
const PROXY_HOMEPAGE_URL = combineUrl(window.DocSpaceConfig?.proxy?.url, "/");
const PROFILE_SELF_URL = combineUrl(PROXY_HOMEPAGE_URL, "/accounts/view/@self");
@ -373,7 +365,7 @@ class AccountsContextOptionsStore {
// history.push(
// combineUrl(
// AppServerConfig.proxyURL,
// window.DocSpaceConfig?.proxy?.url,
// config.homepage,
// `/reassign/${userName}`
// )

View File

@ -4,7 +4,7 @@ import saveAs from "file-saver";
import { isMobile } from "react-device-detect";
import config from "PACKAGE_FILE";
import toastr from "@docspace/components/toast/toastr";
import { AppServerConfig, ShareAccessRights } from "@docspace/common/constants";
import { ShareAccessRights } from "@docspace/common/constants";
import combineUrl from "@docspace/common/utils/combineUrl";
import {
isMobile as isMobileUtils,
@ -280,7 +280,7 @@ class ContextOptionsStore {
const urlFormation = preview
? combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor?fileId=${encodeURIComponent(id)}&action=view`
)
@ -289,7 +289,11 @@ class ContextOptionsStore {
let tab =
!isDesktopClient && fileExst
? window.open(
combineUrl(AppServerConfig.proxyURL, config.homepage, `/doceditor`),
combineUrl(
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor`
),
"_blank"
)
: null;

View File

@ -24,7 +24,6 @@ import toastr from "@docspace/components/toast/toastr";
import { TIMEOUT } from "@docspace/client/src/helpers/filesConstants";
import { checkProtocol } from "../helpers/files-helpers";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import FilesFilter from "@docspace/common/api/files/filter";
import api from "@docspace/common/api";
@ -1841,7 +1840,7 @@ class FilesActionStore {
!this.authStore.settingsStore.isDesktopClient && !isFolder
? window.open(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/doceditor?fileId=${id}`
),

View File

@ -1,12 +1,10 @@
import { makeAutoObservable, runInAction } from "mobx";
import api from "@docspace/common/api";
import {
AppServerConfig,
FileType,
FilterType,
FolderType,
FileStatus,
RoomSearchArea,
RoomsType,
RoomsProviderType,
} from "@docspace/common/constants";
@ -758,7 +756,7 @@ class FilesStore {
// });
history.push(
combineUrl(AppServerConfig.proxyURL, config.homepage, pathname)
combineUrl(window.DocSpaceConfig?.proxy?.url, config.homepage, pathname)
);
};
@ -1322,7 +1320,7 @@ class FilesStore {
fileOptions = this.removeOptions(fileOptions, ["preview"]);
}
if (!canOpenPlayer) {
if (!canOpenPlayer || isRecycleBinFolder) {
fileOptions = this.removeOptions(fileOptions, ["view"]);
}
@ -2034,9 +2032,8 @@ class FilesStore {
}
getItemUrl = (id, isFolder, needConvert, canOpenPlayer) => {
const proxyURL = AppServerConfig?.proxyURL?.trim()
? AppServerConfig?.proxyURL
: window.location.origin;
const proxyURL =
window.DocSpaceConfig?.proxy?.url || window.location.origin;
const url = getCategoryUrl(this.categoryType, id);

View File

@ -2,7 +2,6 @@ import { action, makeObservable, observable } from "mobx";
import Filter from "@docspace/common/api/people/filter";
import config from "PACKAGE_FILE";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
class FilterStore {
filter = Filter.getDefault();
@ -23,7 +22,7 @@ class FilterStore {
"",
"",
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/accounts/filter?${urlFilter}`
)

View File

@ -1,4 +1,3 @@
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import { combineUrl } from "@docspace/common/utils";
import { isDesktop } from "@docspace/components/utils/device";
import { makeAutoObservable } from "mobx";
@ -471,7 +470,7 @@ class HotkeyStore {
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`${url}?${filterParamsStr}`
)

View File

@ -1,15 +1,12 @@
import { makeAutoObservable } from "mobx";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import history from "@docspace/common/history";
import { isDesktop, isTablet, isMobile } from "react-device-detect";
import { getProfileMenuItems } from "SRC_DIR/helpers/plugins";
const { proxyURL } = AppServerConfig;
const PROXY_HOMEPAGE_URL = combineUrl(proxyURL, "/");
const PROXY_HOMEPAGE_URL = combineUrl(window.DocSpaceConfig?.proxy?.url, "/");
const PROFILE_SELF_URL = combineUrl(PROXY_HOMEPAGE_URL, "/accounts/view/@self");
const PROFILE_MY_URL = combineUrl(PROXY_HOMEPAGE_URL, "/my");
//const PROFILE_MY_URL = combineUrl(PROXY_HOMEPAGE_URL, "/my");
const ABOUT_URL = combineUrl(PROXY_HOMEPAGE_URL, "/about");
const PAYMENTS_URL = combineUrl(
PROXY_HOMEPAGE_URL,
@ -110,7 +107,9 @@ class ProfileActionsStore {
this.authStore.logout().then(() => {
this.filesStore.reset();
this.peopleStore.reset();
window.location.replace(combineUrl(proxyURL, "/login"));
window.location.replace(
combineUrl(window.DocSpaceConfig?.proxy?.url, "/login")
);
});
};

View File

@ -1,12 +1,12 @@
import { makeAutoObservable, runInAction } from "mobx";
import api from "@appserver/common/api";
import { AppServerConfig, RoomsType } from "@appserver/common/constants";
import api from "@docspace/common/api";
import { RoomsType } from "@docspace/common/constants";
import toastr from "studio/toastr";
import history from "@appserver/common/history";
import history from "@docspace/common/history";
import { combineUrl } from "@appserver/common/utils";
import { combineUrl } from "@docspace/common/utils";
import config from "../../package.json";
@ -72,7 +72,7 @@ class RoomsStore {
const urlFilter = filter.toUrlParams();
history.push(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
`/rooms?${urlFilter}`
)

View File

@ -5,7 +5,6 @@ import SelectionStore from "./SelectionStore";
//import CommonStore from "./CommonStore";
import authStore from "@docspace/common/store/AuthStore";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import { isMobile } from "react-device-detect";
@ -142,7 +141,7 @@ class SettingsSetupStore {
"",
"",
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`${config.homepage}/portal-settings/security/access-rights/admins`,
`/filter?page=${filter.page}` //TODO: Change url by category
)

View File

@ -1,6 +1,5 @@
import { makeAutoObservable } from "mobx";
import api from "@docspace/common/api";
import { AppServerConfig, RoomsType } from "@docspace/common/constants";
class TagsStore {
tags = [];

View File

@ -8,13 +8,12 @@ const ExternalTemplateRemotesPlugin = require("external-remotes-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const combineUrl = require("@docspace/common/utils/combineUrl");
const minifyJson = require("@docspace/common/utils/minifyJson");
const AppServerConfig = require("@docspace/common/constants/AppServerConfig");
const sharedDeps = require("@docspace/common/constants/sharedDependencies");
const path = require("path");
const pkg = require("./package.json");
const deps = pkg.dependencies || {};
const homepage = pkg.homepage; //combineUrl(AppServerConfig.proxyURL, pkg.homepage);
const homepage = pkg.homepage; //combineUrl(window.DocSpaceConfig?.proxy?.url, pkg.homepage);
const title = pkg.title;
const version = pkg.version;
@ -211,22 +210,11 @@ module.exports = (env, argv) => {
}
const remotes = {
client: `client@${combineUrl(AppServerConfig.proxyURL, "/remoteEntry.js")}`,
// people: `people@${combineUrl(
// AppServerConfig.proxyURL,
// "/products/people/remoteEntry.js"
// )}`,
// files: `files@${combineUrl(
// AppServerConfig.proxyURL,
// "/products/files/remoteEntry.js"
// )}`,
client: "client@/remoteEntry.js",
};
if (!env.personal) {
remotes.login = `login@${combineUrl(
AppServerConfig.proxyURL,
"/login/remoteEntry.js"
)}`;
remotes.login = "login@/login/remoteEntry.js";
}
config.plugins.push(

View File

@ -6,7 +6,6 @@ import Text from "@docspace/components/text";
import ArrowRightIcon from "@docspace/client/public/images/arrow.right.react.svg";
import { StyledArticlePaymentAlert } from "../styled-article";
import styled from "styled-components";
import AppServerConfig from "@docspace/common/constants/AppServerConfig";
import { combineUrl } from "@docspace/common/utils";
import history from "@docspace/common/history";
import Loaders from "../../Loaders";
@ -18,7 +17,10 @@ const StyledArrowRightIcon = styled(ArrowRightIcon)`
}
`;
const PROXY_BASE_URL = combineUrl(AppServerConfig.proxyURL, "/portal-settings");
const PROXY_BASE_URL = combineUrl(
window.DocSpaceConfig?.proxy?.url,
"/portal-settings"
);
const ArticlePaymentAlert = ({
pricePerManager,

View File

@ -1,5 +1,5 @@
/* eslint-disable react/prop-types */
import React, { useEffect } from "react";
import React from "react";
import { Redirect, Route } from "react-router-dom";
//import Loader from "@docspace/components/loader";
//import Section from "../Section";
@ -9,8 +9,7 @@ import AppLoader from "../AppLoader";
import { inject, observer } from "mobx-react";
import { isMe } from "../../utils";
import combineUrl from "../../utils/combineUrl";
import { AppServerConfig, TenantStatus } from "../../constants";
import CurrentTariffStatus from "../../store/CurrentTariffStatusStore";
import { TenantStatus } from "../../constants";
const PrivateRoute = ({ component: Component, ...rest }) => {
const {
@ -61,7 +60,7 @@ const PrivateRoute = ({ component: Component, ...rest }) => {
// <Redirect
// to={{
// pathname: combineUrl(
// AppServerConfig.proxyURL,
// window.DocSpaceConfig?.proxy?.url,
// wizardCompleted ? "/login" : "/wizard"
// ),
// state: { from: props.location },
@ -99,7 +98,7 @@ const PrivateRoute = ({ component: Component, ...rest }) => {
<Redirect
to={{
pathname: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/preparation-portal"
),
state: { from: props.location },
@ -120,7 +119,7 @@ const PrivateRoute = ({ component: Component, ...rest }) => {
<Redirect
to={{
pathname: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-settings/payments/portal-payments"
),
state: { from: props.location },
@ -144,7 +143,7 @@ const PrivateRoute = ({ component: Component, ...rest }) => {
<Redirect
to={{
pathname: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
"/portal-unavailable"
),
state: { from: props.location },

View File

@ -1,16 +0,0 @@
const pks = require("../package.json");
const window = require("global/window");
const { proxy, api } = pks;
module.exports = {
proxyURL:
(proxy && proxy.url) ||
(typeof window !== "undefined" && window?.DOCSPACE_PROXY_URL) ||
"",
apiOrigin:
api?.origin ||
(typeof window !== "undefined" && window?.DOCSPACE_API_ORIGIN) ||
"",
apiPrefix: api?.prefix || "/api/2.0",
apiTimeout: api?.timeout || 30000,
};

View File

@ -264,10 +264,6 @@ export const AutoBackupPeriod = Object.freeze({
EveryMonthType: 2,
});
import config from "./AppServerConfig";
export const AppServerConfig = config;
/**
* Enum for Tenant trusted domains on registration.
* @readonly

View File

@ -46,13 +46,5 @@
},
"devDependencies": {
"@welldone-software/why-did-you-render": "^6.2.1"
},
"api": {
"origin": "",
"prefix": "/api/2.0",
"timeout": "30000"
},
"proxy": {
"url": ""
}
}

View File

@ -7,17 +7,12 @@ import UserStore from "./UserStore";
import TfaStore from "./TfaStore";
import InfoPanelStore from "./InfoPanelStore";
import { logout as logoutDesktop, desktopConstants } from "../desktop";
import { combineUrl, isAdmin, setCookie, getCookie } from "../utils";
import { isAdmin, setCookie, getCookie } from "../utils";
import CurrentQuotasStore from "./CurrentQuotaStore";
import CurrentTariffStatusStore from "./CurrentTariffStatusStore";
import PaymentQuotasStore from "./PaymentQuotasStore";
import {
AppServerConfig,
LANGUAGE,
COOKIE_EXPIRATION_YEAR,
TenantStatus,
} from "../constants";
const { proxyURL } = AppServerConfig;
import { LANGUAGE, COOKIE_EXPIRATION_YEAR, TenantStatus } from "../constants";
class AuthStore {
userStore = null;
@ -215,7 +210,7 @@ class AuthStore {
// this.reset(true);
// this.userStore.setUser(null);
// this.init();
// return history.push(combineUrl(proxyURL, "/login"));
// return history.push(combineUrl(window.DocSpaceConfig?.proxy?.url, "/login"));
// }
// } else {
// this.reset();

View File

@ -3,7 +3,7 @@ import { makeAutoObservable } from "mobx";
import { getUserRole } from "@docspace/client/src/helpers/people-helpers";
import { getUserById } from "@docspace/common/api/people";
import { combineUrl } from "@docspace/common/utils";
import { AppServerConfig, FolderType } from "@docspace/common/constants";
import { FolderType } from "@docspace/common/constants";
import config from "PACKAGE_FILE";
import Filter from "../api/people/filter";
import { getRoomInfo } from "../api/rooms";
@ -205,7 +205,7 @@ class InfoPanelStore {
openSelfProfile = (history) => {
const path = [
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/accounts",
"/view/@self",
@ -219,7 +219,11 @@ class InfoPanelStore {
const { getUsersList } = this.peopleStore.usersStore;
const { setSelection } = this.peopleStore.selectionStore;
const path = [AppServerConfig.proxyURL, config.homepage, "/accounts"];
const path = [
window.DocSpaceConfig?.proxy?.url,
config.homepage,
"/accounts",
];
const newFilter = Filter.getDefault();
newFilter.page = 0;

View File

@ -3,7 +3,6 @@ import api from "../api";
import { combineUrl, setCookie, getCookie } from "../utils";
import FirebaseHelper from "../utils/firebase";
import {
AppServerConfig,
ThemeKeys,
COOKIE_EXPIRATION_YEAR,
LANGUAGE,
@ -14,8 +13,6 @@ import SocketIOHelper from "../utils/socket";
import { Dark, Base } from "@docspace/components/themes";
import { initPluginStore } from "../../client/src/helpers/plugins";
const { proxyURL } = AppServerConfig;
const themes = {
Dark: Dark,
Base: Base,
@ -124,7 +121,7 @@ class SettingsStore {
};
version = "";
buildVersionInfo = {
appServer: version,
docspace: version,
documentServer: "6.4.1",
};
debugInfo = false;
@ -208,7 +205,10 @@ class SettingsStore {
else newSettings = await api.settings.getSettings();
if (window["AscDesktopEditor"] !== undefined || this.personal) {
const dp = combineUrl(proxyURL, "/products/files/");
const dp = combineUrl(
window.DocSpaceConfig?.proxy?.url,
"/products/files/"
);
this.setDefaultPage(dp);
}
@ -217,7 +217,7 @@ class SettingsStore {
this.setValue(
key,
key === "defaultPage"
? combineUrl(proxyURL, newSettings[key])
? combineUrl(window.DocSpaceConfig?.proxy?.url, newSettings[key])
: newSettings[key]
);
if (key === "culture") {
@ -228,12 +228,6 @@ class SettingsStore {
});
}
}
// if (key === "personal") {
// window.AppServer = {
// ...window.AppServer,
// personal: newSettings[key],
// };
// }
} else if (key === "passwordHash") {
this.setValue("hashSettings", newSettings[key]);
}
@ -446,7 +440,10 @@ class SettingsStore {
};
getLoginLink = (token, code) => {
return combineUrl(proxyURL, `/login.ashx?p=${token}&code=${code}`);
return combineUrl(
window.DocSpaceConfig?.proxy?.url,
`/login.ashx?p=${token}&code=${code}`
);
};
setModuleInfo = (homepage, productId) => {
@ -565,7 +562,7 @@ class SettingsStore {
setBuildVersionInfo = (versionInfo) => {
this.buildVersionInfo = {
...this.buildVersionInfo,
appServer: version,
docspace: version,
...versionInfo,
};

View File

@ -20,7 +20,7 @@ clientsClaim();
// PRECACHING
const prefix = "appserver";
const prefix = "docspace";
// Setting custom cache name
setCacheNameDetails({

View File

@ -8,7 +8,7 @@ function clearCaches() {
if (
key.startsWith("workbox-") ||
key.startsWith("wb6-") ||
key.startsWith("appserver-")
key.startsWith("docspace-")
) {
return caches.delete(key);
}

View File

@ -1,8 +1,10 @@
import axios from "axios";
import { AppServerConfig } from "../constants";
import combineUrl from "./combineUrl";
import defaultConfig from "../../../public/scripts/config.json";
const { proxyURL, apiOrigin, apiPrefix, apiTimeout } = AppServerConfig;
let { api: apiConf, proxy: proxyConf } = defaultConfig;
let { orign: apiOrigin, prefix: apiPrefix, timeout: apiTimeout } = apiConf;
let { url: proxyURL } = proxyConf;
class AxiosClient {
constructor() {
@ -11,7 +13,11 @@ class AxiosClient {
initCSR = () => {
this.isSSR = false;
const origin = apiOrigin || window.location.origin;
const origin =
window.DocSpaceConfig?.api?.origin || apiOrigin || window.location.origin;
const proxy = window.DocSpaceConfig?.proxy?.url || proxyURL;
const prefix = window.DocSpaceConfig?.api?.prefix || apiPrefix;
let headers = null;
if (apiOrigin !== "") {
@ -20,24 +26,14 @@ class AxiosClient {
};
}
const apiBaseURL = combineUrl(origin, proxyURL, apiPrefix);
const apiBaseURL = combineUrl(origin, proxy, prefix);
const paymentsURL = combineUrl(
proxyURL,
proxy,
"/portal-settings/payments/portal-payments"
);
this.paymentsURL = paymentsURL;
// window.AppServer = {
// ...window.AppServer,
// origin,
// proxyURL,
// apiPrefix,
// apiBaseURL,
// apiTimeout,
// paymentsURL,
// };
const config = {
const apxiosConfig = {
baseURL: apiBaseURL,
responseType: "json",
timeout: apiTimeout, // default is `0` (no timeout)
@ -45,26 +41,41 @@ class AxiosClient {
};
if (headers) {
config.headers = headers;
apxiosConfig.headers = headers;
}
this.client = axios.create(config);
console.log("initCSR", {
defaultConfig,
apxiosConfig,
DocSpaceConfig: window.DocSpaceConfig,
paymentsURL,
});
this.client = axios.create(apxiosConfig);
};
initSSR = (headers) => {
this.isSSR = true;
const xRewriterUrl = headers["x-rewriter-url"];
const origin = apiOrigin || xRewriterUrl;
const apiBaseURL = combineUrl(origin, proxyURL, apiPrefix);
this.client = axios.create({
const axiosConfig = {
baseURL: apiBaseURL,
responseType: "json",
timeout: apiTimeout,
headers: headers,
};
console.log("initSSR", {
defaultConfig,
axiosConfig,
});
this.client = axios.create(axiosConfig);
};
setWithCredentialsStatus = (state) => {

View File

@ -1,11 +1,10 @@
import { LANGUAGE, AppServerConfig } from "../constants";
import { LANGUAGE } from "../constants";
import sjcl from "sjcl";
import { isMobile } from "react-device-detect";
import TopLoaderService from "@docspace/components/top-loading-indicator";
import { Encoder } from "./encoder";
import FilesFilter from "../api/files/filter";
const { proxyURL } = AppServerConfig;
export const toUrlParams = (obj, skipNull) => {
let str = "";
for (var key in obj) {
@ -164,8 +163,8 @@ export function getCookie(name) {
let matches = document.cookie.match(
new RegExp(
"(?:^|; )" +
name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") +
"=([^;]*)"
name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") +
"=([^;]*)"
)
);
return matches ? decodeURIComponent(matches[1]) : undefined;
@ -358,7 +357,7 @@ export function isElementInViewport(el) {
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <=
(window.innerHeight || document.documentElement.clientHeight) &&
(window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
@ -403,7 +402,10 @@ export function getOAuthToken(
}
export function getLoginLink(token: string, code: string) {
return combineUrl(proxyURL, `/login.ashx?p=${token}&code=${code}`);
return combineUrl(
window.DocSpaceConfig?.proxy?.url,
`/login.ashx?p=${token}&code=${code}`
);
}
export function checkIsSSR() {

View File

@ -18,11 +18,6 @@ export async function login(
setWithCredentialsStatus(true);
// this.reset();
// this.init();
// const defaultPage = window["AscDesktopEditor"] !== undefined || IS_PERSONAL ? combineUrl(proxyURL, "/products/files/") : "/"
// return this.settingsStore.defaultPage;
return Promise.resolve(response);
} catch (e) {
return Promise.reject(e);

View File

@ -8,7 +8,6 @@ import {
getCookie,
setCookie,
} from "@docspace/common/utils";
import { AppServerConfig } from "@docspace/common/constants";
import initDesktop from "./helpers/initDesktop";
import ErrorBoundary from "./components/ErrorBoundary";
import store from "client/store";
@ -45,7 +44,7 @@ const App = ({ initialLanguage, initialI18nStoreASC, ...rest }) => {
const onError = () => {
window.open(
combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
rest.personal ? "sign-in" : "/login"
),
"_self"

View File

@ -1,18 +1,12 @@
import React, { useEffect } from "react";
import { isMobile, isIOS, deviceType } from "react-device-detect";
import combineUrl from "@docspace/common/utils/combineUrl";
import {
AppServerConfig,
FolderType,
EDITOR_ID,
} from "@docspace/common/constants";
import { FolderType, EDITOR_ID } from "@docspace/common/constants";
import throttle from "lodash/throttle";
import Toast from "@docspace/components/toast";
import { toast } from "react-toastify";
import {
restoreDocumentsVersion,
markAsFavorite,
removeFromFavorite,
getEditDiff,
getEditHistory,
updateFile,
@ -556,7 +550,7 @@ function Editor({
if (!user.isVisitor)
config.editorConfig.createUrl = combineUrl(
window.location.origin,
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
`/products/files/httphandlers/filehandler.ashx?action=create&doctype=text&title=${encodeURIComponent(
defaultFileName
)}`

View File

@ -9,7 +9,6 @@ import {
getAppearanceTheme,
} from "@docspace/common/api/settings";
import combineUrl from "@docspace/common/utils/combineUrl";
import { AppServerConfig } from "@docspace/common/constants";
import {
openEdit,
getSettingsFiles,
@ -87,7 +86,7 @@ export const initDocEditor = async (req) => {
error = {
unAuthorized: true,
redirectPath: combineUrl(
AppServerConfig.proxyURL,
window.DocSpaceConfig?.proxy?.url,
personal ? "/sign-in" : "/login"
),
};

View File

@ -48,6 +48,21 @@ export default function template(
tempElm.style.backgroundColor =
localStorage.theme === "Dark" ? "#333333" : "#f4f4f4";
console.log("It's Editor INIT");
fetch("/static/scripts/config.json")
.then((response) => {
if (!response.ok) {
throw new Error("HTTP error " + response.status);
}
return response.json();
})
.then((config) => {
window.DocSpaceConfig = {
...config,
};
})
.catch((e) => {
console.error(e);
});
</script>
${editorApiScript}

View File

@ -8,10 +8,8 @@ const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const ExternalTemplateRemotesPlugin = require("external-remotes-plugin");
const CopyPlugin = require("copy-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const combineUrl = require("@docspace/common/utils/combineUrl");
const minifyJson = require("@docspace/common/utils/minifyJson");
const AppServerConfig = require("@docspace/common/constants/AppServerConfig");
const { proxyURL } = AppServerConfig;
const sharedDeps = require("@docspace/common/constants/sharedDependencies");
const baseConfig = require("./webpack.base.js");
@ -77,11 +75,7 @@ const clientConfig = {
name: "editor",
filename: "remoteEntry.js",
remotes: {
client: `client@${combineUrl(proxyURL, "/remoteEntry.js")}`,
// files: `files@${combineUrl(
// proxyURL,
// "/products/files/remoteEntry.js"
// )}`,
client: "client@/remoteEntry.js",
},
exposes: {
"./app": "./src/client/index.js",

View File

@ -3,7 +3,6 @@ import ErrorContainer from "@docspace/common/components/ErrorContainer";
import Text from "@docspace/components/text";
import Link from "@docspace/components/link";
import { useTranslation, Trans } from "react-i18next";
import { AppServerConfig } from "@docspace/common/constants";
import { combineUrl } from "@docspace/common/utils";
const homepage = "/login";
@ -12,8 +11,7 @@ const InvalidError = () => {
const { t } = useTranslation("Login");
React.useEffect(() => {
const { proxyURL } = AppServerConfig;
const url = combineUrl(proxyURL, homepage);
const url = combineUrl(window.DocSpaceConfig?.proxy?.url, homepage);
setProxyHomepageUrl(url);
setTimeout(() => (location.href = url), 10000);
}, []);

View File

@ -53,6 +53,21 @@ const template: Template = (
${clientScripts}
<script>
console.log("It's Login INIT");
fetch("/static/scripts/config.json")
.then((response) => {
if (!response.ok) {
throw new Error("HTTP error " + response.status);
}
return response.json();
})
.then((config) => {
window.DocSpaceConfig = {
...config,
};
})
.catch((e) => {
console.error(e);
});
</script>
`;

View File

@ -10,8 +10,6 @@ const CopyPlugin = require("copy-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const combineUrl = require("@docspace/common/utils/combineUrl");
const minifyJson = require("@docspace/common/utils/minifyJson");
const AppServerConfig = require("@docspace/common/constants/AppServerConfig");
const { proxyURL } = AppServerConfig;
const sharedDeps = require("@docspace/common/constants/sharedDependencies");
const baseConfig = require("./webpack.base.js");
const pkg = require("../package.json");
@ -77,7 +75,7 @@ const clientConfig = {
name: "login",
filename: "remoteEntry.js",
remotes: {
client: `client@${combineUrl(proxyURL, "/remoteEntry.js")}`,
client: "client@/remoteEntry.js",
},
exposes: {
"./login": "./src/client/components/Login.tsx",

View File

@ -0,0 +1,10 @@
{
"api": {
"origin": "",
"prefix": "/api/2.0",
"timeout": 30000
},
"proxy": {
"url": ""
}
}