Client/Shared: VersionHistoryPanel: Added a header component.
This commit is contained in:
parent
7a7f239190
commit
f943d3f5f7
@ -27,7 +27,6 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { Backdrop } from "@docspace/shared/components/backdrop";
|
import { Backdrop } from "@docspace/shared/components/backdrop";
|
||||||
import { Heading } from "@docspace/shared/components/heading";
|
|
||||||
import { Aside } from "@docspace/shared/components/aside";
|
import { Aside } from "@docspace/shared/components/aside";
|
||||||
|
|
||||||
import { FloatingButton } from "@docspace/shared/components/floating-button";
|
import { FloatingButton } from "@docspace/shared/components/floating-button";
|
||||||
@ -37,13 +36,11 @@ import { withTranslation } from "react-i18next";
|
|||||||
import {
|
import {
|
||||||
StyledVersionHistoryPanel,
|
StyledVersionHistoryPanel,
|
||||||
StyledContent,
|
StyledContent,
|
||||||
StyledHeaderContent,
|
|
||||||
StyledBody,
|
StyledBody,
|
||||||
} from "../StyledPanels";
|
} from "../StyledPanels";
|
||||||
import { SectionBodyContent } from "../../../pages/VersionHistory/Section/";
|
import { SectionBodyContent } from "../../../pages/VersionHistory/Section/";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import config from "PACKAGE_FILE";
|
import config from "PACKAGE_FILE";
|
||||||
import { ArticleHeaderLoader } from "@docspace/shared/skeletons/article";
|
|
||||||
|
|
||||||
class PureVersionHistoryPanel extends React.Component {
|
class PureVersionHistoryPanel extends React.Component {
|
||||||
onClose = () => {
|
onClose = () => {
|
||||||
@ -85,26 +82,10 @@ class PureVersionHistoryPanel extends React.Component {
|
|||||||
visible={visible}
|
visible={visible}
|
||||||
onClose={this.onClose}
|
onClose={this.onClose}
|
||||||
withoutBodyScroll
|
withoutBodyScroll
|
||||||
|
isLoading={!versions && !isLoading}
|
||||||
|
header={versions ? versions[0].title : ""}
|
||||||
>
|
>
|
||||||
<StyledContent>
|
<StyledContent>
|
||||||
<StyledHeaderContent className="version-history-panel-header">
|
|
||||||
{versions && !isLoading ? (
|
|
||||||
<Heading
|
|
||||||
className="version-history-panel-heading"
|
|
||||||
size="medium"
|
|
||||||
truncate
|
|
||||||
>
|
|
||||||
{versions[0].title}
|
|
||||||
</Heading>
|
|
||||||
) : (
|
|
||||||
<ArticleHeaderLoader
|
|
||||||
className="loader-version-history"
|
|
||||||
height="28"
|
|
||||||
width="688"
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</StyledHeaderContent>
|
|
||||||
|
|
||||||
<StyledBody className="version-history-panel-body">
|
<StyledBody className="version-history-panel-body">
|
||||||
<SectionBodyContent onClose={this.onClose} />
|
<SectionBodyContent onClose={this.onClose} />
|
||||||
</StyledBody>
|
</StyledBody>
|
||||||
|
@ -51,6 +51,7 @@ export interface AsideHeaderProps {
|
|||||||
onBackClick?: () => void;
|
onBackClick?: () => void;
|
||||||
onCloseClick?: () => void;
|
onCloseClick?: () => void;
|
||||||
style?: React.CSSProperties;
|
style?: React.CSSProperties;
|
||||||
|
isLoading?: boolean;
|
||||||
}
|
}
|
||||||
export interface StyledAsideProps {
|
export interface StyledAsideProps {
|
||||||
visible: boolean;
|
visible: boolean;
|
||||||
|
@ -31,6 +31,7 @@ import { IconButton } from "../icon-button";
|
|||||||
import { Text } from "../text";
|
import { Text } from "../text";
|
||||||
import { AsideHeaderProps } from "./Aside.types";
|
import { AsideHeaderProps } from "./Aside.types";
|
||||||
import { StyledHeaderContainer } from "./Aside.styled";
|
import { StyledHeaderContainer } from "./Aside.styled";
|
||||||
|
import { RectangleSkeleton } from "../../skeletons/rectangle";
|
||||||
|
|
||||||
const AsideHeader = (props: AsideHeaderProps) => {
|
const AsideHeader = (props: AsideHeaderProps) => {
|
||||||
const {
|
const {
|
||||||
@ -43,6 +44,7 @@ const AsideHeader = (props: AsideHeaderProps) => {
|
|||||||
className,
|
className,
|
||||||
id,
|
id,
|
||||||
style,
|
style,
|
||||||
|
isLoading,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const backButtonRender = (
|
const backButtonRender = (
|
||||||
@ -64,8 +66,8 @@ const AsideHeader = (props: AsideHeaderProps) => {
|
|||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
const mainComponent = (
|
||||||
<StyledHeaderContainer id={id} className={className} style={style}>
|
<>
|
||||||
{isBackButton && backButtonRender}
|
{isBackButton && backButtonRender}
|
||||||
{typeof header === "string" ? (
|
{typeof header === "string" ? (
|
||||||
<Text fontSize="21px" fontWeight={700} className="header-component">
|
<Text fontSize="21px" fontWeight={700} className="header-component">
|
||||||
@ -88,6 +90,14 @@ const AsideHeader = (props: AsideHeaderProps) => {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
|
const loaderComponent = <RectangleSkeleton height="28" width="100%" />;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<StyledHeaderContainer id={id} className={className} style={style}>
|
||||||
|
{isLoading ? loaderComponent : mainComponent}
|
||||||
{isCloseable && closeIconRender}
|
{isCloseable && closeIconRender}
|
||||||
</StyledHeaderContainer>
|
</StyledHeaderContainer>
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user