mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-25 11:51:07 +00:00
* Initial dev for container copy * remove padding from label * Added Copy Job prerequisites screen * Added hooks to evaluate reader role access * added copyjob pre-requsite screen along with it's validations * Added monitor copy job list screen * added copy job list refresh and reset functionality * remove arm token dependency * fetch account details from account id instead of context * Fix lint & typescript checks * show copyjob screen from portal navigation * adding copy job details screen * remove duplicate code & show sql accounts only * ui fixes for list job page * pending icon * copy job details screen ui * reset .vscode/settings.json * Fixed existing UTs * disabling action buttons until it's in progress * fixed formatting * Adding loader on submit button and show job creation errors in the panel itself * updating disabling action menu item logic * added custom pager * fix lint and ts errors * updating file names and removing comments * remove comments * modularize the arom common code * Adding content and removing tooltip * updating job details screen * updating online copy enabled screen * Adding below changes - Don't show permission screen for same account in offline mode - Don't show identity permissions for same account in online mode - Show error message if selected containers are identical - Update abort signal messages * added feedback code from explorer * Add tooltips and long polling - Added tooltips to permission sections - Implemented long polling for PITR and online copy enabled sections - Long polling automatically stops after 15 minutes - After polling ends, a refresh button will be displayed --------- Co-authored-by: nishthaAhujaa <nishtha17354@iiittd.ac.in>
33 lines
920 B
TypeScript
33 lines
920 B
TypeScript
import { Shimmer, ShimmerElementType, Stack } from "@fluentui/react";
|
|
import * as React from "react";
|
|
|
|
export interface IndentLevel {
|
|
level: number;
|
|
width?: string;
|
|
}
|
|
interface ShimmerTreeProps {
|
|
indentLevels: IndentLevel[];
|
|
style?: React.CSSProperties;
|
|
}
|
|
|
|
const ShimmerTree = ({ indentLevels, style = {} }: ShimmerTreeProps) => {
|
|
const renderShimmers = (indent: IndentLevel) => (
|
|
<Shimmer
|
|
key={Math.random()}
|
|
shimmerElements={[
|
|
{ type: ShimmerElementType.gap, width: `${indent.level * 20}px` },
|
|
{ type: ShimmerElementType.line, height: 16, width: indent.width || "100%" },
|
|
]}
|
|
style={{ marginBottom: 8 }}
|
|
/>
|
|
);
|
|
|
|
return (
|
|
<Stack tokens={{ childrenGap: 8 }} style={{ width: "50%", ...style }} data-testid="shimmer-stack">
|
|
{indentLevels.map((indentLevel: IndentLevel) => renderShimmers(indentLevel))}
|
|
</Stack>
|
|
);
|
|
};
|
|
|
|
export default ShimmerTree;
|