@pelicanplatform/components 1.0.19 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AuthenticatedClient/AuthenticatedClient.d.ts.map +1 -1
- package/dist/AuthenticatedClient/AuthenticatedClient.js +47 -39
- package/dist/AuthenticatedClient/AuthenticatedClient.js.map +1 -1
- package/dist/DownloadManager/DownloadManager.d.ts +3 -0
- package/dist/DownloadManager/DownloadManager.d.ts.map +1 -0
- package/dist/DownloadManager/DownloadManager.js +110 -0
- package/dist/DownloadManager/DownloadManager.js.map +1 -0
- package/dist/DownloadManager/index.d.ts +2 -0
- package/dist/DownloadManager/index.d.ts.map +1 -0
- package/dist/DownloadManager/index.js +2 -0
- package/dist/DownloadManager/index.js.map +1 -0
- package/dist/ObjectUpload/ObjectUpload.d.ts.map +1 -1
- package/dist/ObjectUpload/ObjectUpload.js +3 -3
- package/dist/ObjectUpload/ObjectUpload.js.map +1 -1
- package/dist/ObjectView/ObjectView.d.ts +3 -4
- package/dist/ObjectView/ObjectView.d.ts.map +1 -1
- package/dist/ObjectView/ObjectView.js +41 -59
- package/dist/ObjectView/ObjectView.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedClient.d.ts","sourceRoot":"","sources":["../../src/AuthenticatedClient/AuthenticatedClient.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthenticatedClient.d.ts","sourceRoot":"","sources":["../../src/AuthenticatedClient/AuthenticatedClient.tsx"],"names":[],"mappings":"AAeA;;GAEG;AACH,iBAAS,mBAAmB,4CA8M3B;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Alert, Badge, Box, IconButton, Paper, Skeleton, Snackbar } from "@mui/material";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Alert, Badge, Box, Button, IconButton, Paper, Skeleton, Snackbar } from "@mui/material";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
import ClientMetadata from "../ClientMetadata";
|
|
6
6
|
import ObjectUpload from "../ObjectUpload";
|
|
7
7
|
import ObjectView from "../ObjectView";
|
|
8
8
|
import CollectionView from "../CollectionView";
|
|
9
9
|
import { parseObjectUrl } from "@pelicanplatform/web-client";
|
|
10
|
-
import { UploadFile, List, CreateNewFolderOutlined } from "@mui/icons-material";
|
|
10
|
+
import { UploadFile, List, CreateNewFolderOutlined, Login } from "@mui/icons-material";
|
|
11
11
|
import AddCollectionButton from "../AddCollectionButton";
|
|
12
12
|
import { usePelicanClient } from "@pelicanplatform/hooks";
|
|
13
|
+
import { DownloadManager } from "../DownloadManager";
|
|
13
14
|
/**
|
|
14
15
|
* Inner component that uses the context
|
|
15
16
|
*/
|
|
16
17
|
function AuthenticatedClient() {
|
|
17
18
|
var _a, _b;
|
|
18
|
-
const { error, setError, objectUrl, setObjectUrl, collections, loading, authorizationRequired, authorized, handleLogin, handleDownload, handleUpload, federation, namespace, getObjectList } = usePelicanClient();
|
|
19
|
+
const { error, setError, objectUrl, setObjectUrl, collections, loading, authorizationRequired, authorized, handleLogin, handleDownload, handleUpload, federation, namespace, getObjectList, downloadsInProgress } = usePelicanClient();
|
|
19
20
|
const uploadRef = useRef(null);
|
|
20
21
|
const [objectList, setObjectList] = useState([]);
|
|
21
|
-
const [
|
|
22
|
+
const [listLoading, setListLoading] = useState(false);
|
|
23
|
+
const [muteError, setMuteError] = useState(true);
|
|
22
24
|
const [showCollections, setShowCollections] = useState(false);
|
|
23
25
|
const [highlightCollections, setHighlightCollections] = useState(false);
|
|
24
26
|
// If there is just one collection found lets auto-navigate into it
|
|
@@ -32,11 +34,31 @@ function AuthenticatedClient() {
|
|
|
32
34
|
}
|
|
33
35
|
}, [collections]);
|
|
34
36
|
const updateObjectList = async (o) => {
|
|
37
|
+
setListLoading(true);
|
|
38
|
+
const params = new URLSearchParams(window.location.search);
|
|
39
|
+
params.set("url", o);
|
|
40
|
+
window.history.replaceState(null, "", `?${params.toString()}`);
|
|
35
41
|
setObjectList(await getObjectList(o, false));
|
|
42
|
+
setListLoading(false);
|
|
36
43
|
};
|
|
37
|
-
// On mount
|
|
44
|
+
// On mount: read url from query params and set it if present
|
|
38
45
|
useEffect(() => {
|
|
39
|
-
|
|
46
|
+
(async () => {
|
|
47
|
+
const params = new URLSearchParams(window.location.search);
|
|
48
|
+
const urlFromAddress = params.get("url");
|
|
49
|
+
const initial = urlFromAddress !== null && urlFromAddress !== void 0 ? urlFromAddress : objectUrl;
|
|
50
|
+
if (urlFromAddress) {
|
|
51
|
+
setObjectUrl(urlFromAddress);
|
|
52
|
+
}
|
|
53
|
+
await updateObjectList(initial);
|
|
54
|
+
setMuteError(false);
|
|
55
|
+
})();
|
|
56
|
+
}, []);
|
|
57
|
+
// On mount ask if we can send notifications, this is needed to show notifications for downloads in progress
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (Notification.permission === "default") {
|
|
60
|
+
Notification.requestPermission();
|
|
61
|
+
}
|
|
40
62
|
}, []);
|
|
41
63
|
// Wrap handleUpload to refresh object list after successful upload
|
|
42
64
|
const handleUploadWithRefresh = useCallback(async (file) => {
|
|
@@ -54,53 +76,39 @@ function AuthenticatedClient() {
|
|
|
54
76
|
}
|
|
55
77
|
catch (_a) { }
|
|
56
78
|
}, [namespace, objectUrl]);
|
|
57
|
-
console.log({
|
|
58
|
-
error,
|
|
59
|
-
setError,
|
|
60
|
-
objectUrl,
|
|
61
|
-
setObjectUrl,
|
|
62
|
-
collections,
|
|
63
|
-
loading,
|
|
64
|
-
authorizationRequired,
|
|
65
|
-
authorized,
|
|
66
|
-
handleLogin,
|
|
67
|
-
handleDownload,
|
|
68
|
-
handleUpload,
|
|
69
|
-
federation,
|
|
70
|
-
namespace,
|
|
71
|
-
getObjectList
|
|
72
|
-
});
|
|
73
79
|
return (_jsx(Box, { ...((_b = (_a = uploadRef.current) === null || _a === void 0 ? void 0 : _a.dragHandlers) !== null && _b !== void 0 ? _b : {}), children: _jsxs(Box, { width: "100%", sx: {
|
|
74
80
|
display: {
|
|
75
81
|
xs: "block",
|
|
76
82
|
md: "flex",
|
|
77
83
|
},
|
|
78
|
-
}, gap: 2, children: [_jsxs(Box, { display: "flex", flexDirection: "column", flexGrow: 1, children: [authorized && (_jsx(Box, { children: _jsx(ObjectUpload, { refs: uploadRef, disabled: false, onUpload: handleUploadWithRefresh, currentPath: objectUrl }) })), _jsxs(Box, { display: "flex", gap: 1, my: 1, justifyContent: 'space-between', children: [_jsx(ClientMetadata, { federation: federation === null || federation === void 0 ? void 0 : federation.hostname, namespace: namespace === null || namespace === void 0 ? void 0 : namespace.prefix, collectionPath: collectionPath, onUpload: !authorized ? () => { var _a; return (_a = uploadRef.current) === null || _a === void 0 ? void 0 : _a.triggerFileSelect(); } : undefined }),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
84
|
+
}, gap: 2, children: [_jsxs(Box, { display: "flex", flexDirection: "column", flexGrow: 1, children: [authorized && (_jsx(Box, { children: _jsx(ObjectUpload, { refs: uploadRef, disabled: false, onUpload: handleUploadWithRefresh, currentPath: objectUrl }) })), _jsxs(Box, { display: "flex", gap: 1, my: 1, justifyContent: 'space-between', children: [_jsx(ClientMetadata, { federation: federation === null || federation === void 0 ? void 0 : federation.hostname, namespace: namespace === null || namespace === void 0 ? void 0 : namespace.prefix, collectionPath: collectionPath, onUpload: !authorized ? () => { var _a; return (_a = uploadRef.current) === null || _a === void 0 ? void 0 : _a.triggerFileSelect(); } : undefined }), _jsx(Box, { display: 'flex', mb: -1, children: authorized ? (_jsxs(_Fragment, { children: [_jsx(AddCollectionButton, { icon: _jsx(CreateNewFolderOutlined, {}), onSubmit: (i) => {
|
|
85
|
+
// Ensure the input starts with a "/" and does not end with a "/"
|
|
86
|
+
if (!i.startsWith("/"))
|
|
87
|
+
i = "/" + i;
|
|
88
|
+
if (i.endsWith("/"))
|
|
89
|
+
i = i.slice(0, -1);
|
|
90
|
+
setObjectUrl((prev) => {
|
|
91
|
+
const newObjectUrl = prev + i;
|
|
92
|
+
updateObjectList(newObjectUrl);
|
|
93
|
+
return newObjectUrl;
|
|
94
|
+
});
|
|
95
|
+
} }), _jsx(IconButton, { onClick: () => { var _a; return (_a = uploadRef.current) === null || _a === void 0 ? void 0 : _a.triggerFileSelect(); }, children: _jsx(UploadFile, {}) }), collections.length > 0 && (_jsx(Badge, { invisible: !highlightCollections, badgeContent: collections.length, color: 'primary', children: _jsx(IconButton, { onClick: () => {
|
|
96
|
+
if (collections.some(c => objectUrl.startsWith(`pelican://${federation === null || federation === void 0 ? void 0 : federation.hostname}${namespace === null || namespace === void 0 ? void 0 : namespace.prefix}${c.href}`))) {
|
|
97
|
+
setShowCollections((x) => !x);
|
|
98
|
+
}
|
|
99
|
+
}, children: _jsx(List, {}) }) }))] })) : (_jsx(Button, { endIcon: _jsx(Login, {}), variant: "contained", size: "small", sx: { mb: 1 }, onClick: handleLogin, children: "Login" })) })] }), _jsx(Paper, { elevation: 1, children: showCollections && authorized ? (_jsx(CollectionView, { collections: collections, onExplore: (collectionPath) => {
|
|
92
100
|
if (!federation || !namespace)
|
|
93
101
|
return;
|
|
94
102
|
const newUrl = `pelican://${federation.hostname}${namespace.prefix}${collectionPath}`;
|
|
95
103
|
setObjectUrl(newUrl);
|
|
96
104
|
updateObjectList(newUrl);
|
|
97
105
|
setShowCollections(false);
|
|
98
|
-
} })) : loading ? (_jsx(Skeleton, { variant: "rectangular", height: "350px", width: "100%" })) : (_jsx(ObjectView, { objectList: objectList, collectionPath: collectionPath, onDownload: (x) => handleDownload(`pelican://${federation === null || federation === void 0 ? void 0 : federation.hostname}${x}`), loginRequired: authorizationRequired && !authorized, canLogin: true, onLoginRequest: handleLogin, namespace: namespace === null || namespace === void 0 ? void 0 : namespace.prefix, onExplore: (objectHref) => {
|
|
106
|
+
} })) : loading || listLoading ? (_jsx(Skeleton, { variant: "rectangular", height: "350px", width: "100%" })) : (_jsx(ObjectView, { objectList: objectList, collectionPath: collectionPath, onDownload: (x) => handleDownload(`pelican://${federation === null || federation === void 0 ? void 0 : federation.hostname}${x}`), loginRequired: authorizationRequired && !authorized, canLogin: true, onLoginRequest: handleLogin, namespace: namespace === null || namespace === void 0 ? void 0 : namespace.prefix, onExplore: (objectHref) => {
|
|
99
107
|
const { federationHostname } = parseObjectUrl(objectUrl);
|
|
100
108
|
const newUrl = `pelican://${federationHostname}${objectHref}`;
|
|
101
109
|
setObjectUrl(newUrl);
|
|
102
110
|
updateObjectList(newUrl);
|
|
103
|
-
} })) })] }), _jsx(Snackbar, { open: error !== null && !muteError, autoHideDuration: 6000, onClose: () => {
|
|
111
|
+
}, downloadsInProgress: downloadsInProgress })) })] }), _jsx(DownloadManager, {}), _jsx(Snackbar, { open: error !== null && !muteError, autoHideDuration: 6000, onClose: () => {
|
|
104
112
|
setError(null);
|
|
105
113
|
setMuteError(false);
|
|
106
114
|
}, children: _jsx(Alert, { severity: "error", children: error }) })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticatedClient.js","sourceRoot":"","sources":["../../src/AuthenticatedClient/AuthenticatedClient.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthenticatedClient.js","sourceRoot":"","sources":["../../src/AuthenticatedClient/AuthenticatedClient.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadManager.d.ts","sourceRoot":"","sources":["../../src/DownloadManager/DownloadManager.tsx"],"names":[],"mappings":"AA0CA,wBAAgB,eAAe,mDA4N9B;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { Badge, Box, Button, CircularProgress, Divider, Fab, IconButton, LinearProgress, Paper, Tooltip, Typography, } from "@mui/material";
|
|
5
|
+
import { Close, Download as DownloadIcon, ExpandMore } from "@mui/icons-material";
|
|
6
|
+
import { usePelicanClient } from "@pelicanplatform/hooks";
|
|
7
|
+
import { formatBytes, getPendingDownloads, retriggerPendingDownloads } from "@pelicanplatform/web-client";
|
|
8
|
+
function formatEta(seconds) {
|
|
9
|
+
if (!isFinite(seconds) || seconds <= 0)
|
|
10
|
+
return "";
|
|
11
|
+
if (seconds < 60)
|
|
12
|
+
return `${Math.round(seconds)}s`;
|
|
13
|
+
if (seconds < 3600)
|
|
14
|
+
return `${Math.floor(seconds / 60)}m ${Math.round(seconds % 60)}s`;
|
|
15
|
+
return `${Math.floor(seconds / 3600)}h ${Math.floor((seconds % 3600) / 60)}m`;
|
|
16
|
+
}
|
|
17
|
+
function computeEta(d, samples) {
|
|
18
|
+
const sample = samples[d.id];
|
|
19
|
+
if (!sample || d.totalByteSize <= 0 || d.status !== "in-progress")
|
|
20
|
+
return Infinity;
|
|
21
|
+
const elapsed = (Date.now() - sample.timestamp) / 1000;
|
|
22
|
+
const bytesDone = d.bytesDownloaded - sample.bytesDownloaded;
|
|
23
|
+
if (elapsed <= 0 || bytesDone <= 0)
|
|
24
|
+
return Infinity;
|
|
25
|
+
const speed = bytesDone / elapsed;
|
|
26
|
+
return (d.totalByteSize - d.bytesDownloaded) / speed;
|
|
27
|
+
}
|
|
28
|
+
export function DownloadManager() {
|
|
29
|
+
const { downloadsInProgress } = usePelicanClient();
|
|
30
|
+
const [minimized, setMinimized] = useState(false);
|
|
31
|
+
const [hidden, setHidden] = useState(false);
|
|
32
|
+
const [pendingDownloads, setPendingDownloads] = useState([]);
|
|
33
|
+
// Track speed samples: record bytes + time when each download first appears
|
|
34
|
+
const speedSamples = useRef({});
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
Object.values(downloadsInProgress).forEach((d) => {
|
|
37
|
+
if (!speedSamples.current[d.id]) {
|
|
38
|
+
speedSamples.current[d.id] = { timestamp: Date.now(), bytesDownloaded: d.bytesDownloaded };
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// Clean up samples for downloads that are gone
|
|
42
|
+
Object.keys(speedSamples.current).forEach((id) => {
|
|
43
|
+
if (!downloadsInProgress[id])
|
|
44
|
+
delete speedSamples.current[id];
|
|
45
|
+
});
|
|
46
|
+
}, [downloadsInProgress]);
|
|
47
|
+
// On mount, check for pending (interrupted) downloads
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
getPendingDownloads()
|
|
50
|
+
.then((pending) => {
|
|
51
|
+
if (pending.length > 0) {
|
|
52
|
+
setPendingDownloads(pending.map((r) => {
|
|
53
|
+
var _a;
|
|
54
|
+
return ({
|
|
55
|
+
id: r.id,
|
|
56
|
+
objectUrl: r.objectUrl,
|
|
57
|
+
bytesDownloaded: r.bytesDownloaded,
|
|
58
|
+
totalByteSize: (_a = r.totalByteSize) !== null && _a !== void 0 ? _a : 0,
|
|
59
|
+
status: r.status,
|
|
60
|
+
});
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
.catch(() => { });
|
|
65
|
+
}, []);
|
|
66
|
+
// Remove pending downloads that have been picked up by the SW
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (Object.keys(downloadsInProgress).length === 0)
|
|
69
|
+
return;
|
|
70
|
+
setPendingDownloads((prev) => prev.filter((p) => !downloadsInProgress[p.id]));
|
|
71
|
+
}, [downloadsInProgress]);
|
|
72
|
+
const activeDownloads = Object.values(downloadsInProgress);
|
|
73
|
+
const activeCount = activeDownloads.filter((d) => d.status === "in-progress").length;
|
|
74
|
+
const totalVisible = activeDownloads.length + pendingDownloads.length;
|
|
75
|
+
const badgeCount = activeCount + pendingDownloads.length;
|
|
76
|
+
const etaSeconds = activeDownloads.map((d) => computeEta(d, speedSamples.current)).filter(isFinite);
|
|
77
|
+
const largestEta = etaSeconds.length > 0 ? Math.max(...etaSeconds) : null;
|
|
78
|
+
// Reset hidden when new downloads appear so the panel reappears automatically
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (totalVisible > 0)
|
|
81
|
+
setHidden(false);
|
|
82
|
+
}, [totalVisible]);
|
|
83
|
+
if (totalVisible === 0 || hidden)
|
|
84
|
+
return null;
|
|
85
|
+
const fileName = (objectUrl) => { var _a; return (_a = objectUrl.split("/").at(-1)) !== null && _a !== void 0 ? _a : objectUrl; };
|
|
86
|
+
return (_jsx(Box, { sx: { position: "fixed", bottom: 24, right: 24, zIndex: 1400 }, children: minimized ? (_jsx(Tooltip, { title: `${badgeCount} download${badgeCount !== 1 ? "s" : ""} pending/active`, placement: "left", children: _jsx(Badge, { badgeContent: badgeCount, color: "primary", overlap: "circular", sx: { "& .MuiBadge-badge": { zIndex: 1401 } }, children: _jsx(Fab, { color: "default", size: "medium", onClick: () => setMinimized(false), "aria-label": "Show downloads", children: _jsx(DownloadIcon, {}) }) }) })) : (_jsxs(Paper, { elevation: 6, sx: { width: 340, borderRadius: 2, overflow: "hidden" }, children: [_jsxs(Box, { sx: {
|
|
87
|
+
display: "flex",
|
|
88
|
+
alignItems: "center",
|
|
89
|
+
justifyContent: "space-between",
|
|
90
|
+
px: 2,
|
|
91
|
+
py: 1,
|
|
92
|
+
bgcolor: "primary.main",
|
|
93
|
+
color: "primary.contrastText",
|
|
94
|
+
}, children: [_jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [_jsx(DownloadIcon, { fontSize: "small" }), _jsxs(Box, { children: [_jsxs(Typography, { variant: "subtitle2", fontWeight: "bold", lineHeight: 1.2, children: ["Downloads", activeCount > 0 && (_jsxs(Typography, { component: "span", variant: "caption", sx: { ml: 1, opacity: 0.85 }, children: ["(", activeCount, " active)"] }))] }), largestEta !== null && (_jsxs(Typography, { variant: "caption", sx: { opacity: 0.85 }, children: ["Up to ", formatEta(largestEta), " remaining"] }))] })] }), _jsxs(Box, { children: [_jsx(IconButton, { size: "small", onClick: () => setMinimized(true), sx: { color: "inherit" }, "aria-label": "Minimize", children: _jsx(ExpandMore, { fontSize: "small" }) }), _jsx(IconButton, { size: "small", onClick: () => setHidden(true), sx: { color: "inherit" }, "aria-label": "Close", children: _jsx(Close, { fontSize: "small" }) })] })] }), pendingDownloads.length > 0 && (_jsxs(_Fragment, { children: [pendingDownloads.map((d) => {
|
|
95
|
+
const progress = d.totalByteSize > 0 ? Math.round((d.bytesDownloaded / d.totalByteSize) * 100) : 0;
|
|
96
|
+
return (_jsxs(Box, { sx: { px: 2, py: 1.25, borderBottom: "1px solid", borderColor: "divider" }, children: [_jsxs(Box, { display: "flex", alignItems: "center", justifyContent: "space-between", mb: 0.5, children: [_jsx(Tooltip, { title: d.objectUrl, placement: "top", children: _jsx(Typography, { variant: "body2", noWrap: true, sx: { maxWidth: 220, fontWeight: 500 }, children: fileName(d.objectUrl) }) }), _jsxs(Typography, { variant: "caption", color: "text.secondary", children: [progress, "%"] })] }), _jsx(LinearProgress, { variant: "determinate", value: progress, color: "warning", sx: { borderRadius: 1, height: 5 } }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.5, children: [_jsxs(Typography, { variant: "caption", color: "text.secondary", children: [formatBytes(d.bytesDownloaded), d.totalByteSize > 0 && ` / ${formatBytes(d.totalByteSize)}`] }), _jsx(Typography, { variant: "caption", color: "warning.main", children: "interrupted" })] })] }, d.id));
|
|
97
|
+
}), activeDownloads.length > 0 && _jsx(Divider, {})] })), _jsx(Box, { sx: { maxHeight: 320, overflowY: "auto" }, children: activeDownloads.map((d) => {
|
|
98
|
+
const progress = d.totalByteSize > 0 ? Math.round((d.bytesDownloaded / d.totalByteSize) * 100) : 0;
|
|
99
|
+
const isActive = d.status === "in-progress";
|
|
100
|
+
const eta = computeEta(d, speedSamples.current);
|
|
101
|
+
const etaLabel = formatEta(eta);
|
|
102
|
+
return (_jsxs(Box, { sx: { px: 2, py: 1.25, borderBottom: "1px solid", borderColor: "divider", "&:last-child": { borderBottom: "none" } }, children: [_jsxs(Box, { display: "flex", alignItems: "center", justifyContent: "space-between", mb: 0.5, children: [_jsx(Tooltip, { title: d.objectUrl, placement: "top", children: _jsx(Typography, { variant: "body2", noWrap: true, sx: { maxWidth: 200, fontWeight: 500 }, children: fileName(d.objectUrl) }) }), _jsxs(Box, { display: "flex", alignItems: "center", gap: 0.5, children: [isActive && _jsx(CircularProgress, { size: 14, thickness: 5 }), _jsxs(Typography, { variant: "caption", color: "text.secondary", children: [progress, "%"] })] })] }), _jsx(LinearProgress, { variant: "determinate", value: progress, color: d.status === "failed" ? "error" : "primary", sx: { borderRadius: 1, height: 5 } }), _jsxs(Box, { display: "flex", justifyContent: "space-between", mt: 0.5, children: [_jsxs(Typography, { variant: "caption", color: "text.secondary", children: [formatBytes(d.bytesDownloaded), d.totalByteSize > 0 && ` / ${formatBytes(d.totalByteSize)}`] }), _jsxs(Box, { display: "flex", gap: 0.5, alignItems: "center", children: [etaLabel && (_jsx(Typography, { variant: "caption", color: "text.secondary", children: etaLabel })), _jsx(Typography, { variant: "caption", color: d.status === "failed" ? "error" : d.status === "completed" ? "success.main" : "text.secondary", sx: { textTransform: "capitalize" }, children: d.status })] })] })] }, d.id));
|
|
103
|
+
}) }), pendingDownloads.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Divider, {}), _jsx(Box, { sx: { px: 2, py: 1, display: "flex", justifyContent: "flex-end" }, children: _jsx(Button, { size: "small", variant: "contained", color: "warning", onClick: () => {
|
|
104
|
+
const activeIds = new Set(Object.keys(downloadsInProgress));
|
|
105
|
+
retriggerPendingDownloads(activeIds).catch(() => { });
|
|
106
|
+
setPendingDownloads([]);
|
|
107
|
+
}, children: "Resume All" }) })] }))] })) }));
|
|
108
|
+
}
|
|
109
|
+
export default DownloadManager;
|
|
110
|
+
//# sourceMappingURL=DownloadManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadManager.js","sourceRoot":"","sources":["../../src/DownloadManager/DownloadManager.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DownloadManager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DownloadManager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUpload.d.ts","sourceRoot":"","sources":["../../src/ObjectUpload/ObjectUpload.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAiE,MAAM,OAAO,CAAC;AAQtG,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE;QACV,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACpC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACnC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACpC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,iBAAiB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,UAAU,iBAAiB;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,GAAI,2CAAmD,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ObjectUpload.d.ts","sourceRoot":"","sources":["../../src/ObjectUpload/ObjectUpload.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAiE,MAAM,OAAO,CAAC;AAQtG,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE;QACV,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACpC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACnC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;QACpC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;KAClC,CAAC;IACF,iBAAiB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,UAAU,iBAAiB;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,QAAA,MAAM,YAAY,GAAI,2CAAmD,iBAAiB,4CAmTzF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -4,7 +4,7 @@ import CheckCircleIcon from "@mui/icons-material/CheckCircle";
|
|
|
4
4
|
import CloudUploadIcon from "@mui/icons-material/CloudUpload";
|
|
5
5
|
import ErrorIcon from "@mui/icons-material/Error";
|
|
6
6
|
import InsertDriveFileIcon from "@mui/icons-material/InsertDriveFile";
|
|
7
|
-
import { Box, List, ListItem, ListItemIcon, ListItemText, Paper, Typography } from "@mui/material";
|
|
7
|
+
import { Box, CircularProgress, List, ListItem, ListItemIcon, ListItemText, Paper, Typography } from "@mui/material";
|
|
8
8
|
import { formatBytes } from "@pelicanplatform/web-client";
|
|
9
9
|
import { useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
10
10
|
/**
|
|
@@ -166,12 +166,12 @@ const ObjectUpload = ({ disabled = false, onUpload, currentPath, refs }) => {
|
|
|
166
166
|
}, children: [_jsxs(Box, { sx: { p: 3, borderBottom: 1, borderColor: "divider" }, children: [_jsx(Typography, { variant: "h5", component: "h2", children: "Uploading Files" }), currentPath && (_jsxs(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 0.5 }, children: ["to ", currentPath] }))] }), _jsx(List, { sx: { flex: 1, overflow: "auto", p: 0 }, children: uploadingFiles.map((uploadFile, index) => (_jsxs(ListItem, { sx: {
|
|
167
167
|
borderBottom: index < uploadingFiles.length - 1 ? 1 : 0,
|
|
168
168
|
borderColor: "divider",
|
|
169
|
-
}, children: [_jsx(ListItemIcon, { children: uploadFile.status === "success" ? (_jsx(CheckCircleIcon, { color: "success" })) : uploadFile.status === "error" ? (_jsx(ErrorIcon, { color: "error" })) : (_jsx(InsertDriveFileIcon, { color: "action" })) }), _jsx(ListItemText, { primary: uploadFile.file.name, slotProps: { secondary: { component: "div" } }, secondary: _jsxs(Box, { sx: { width: "100%" }, children: [_jsxs(Box, { sx: {
|
|
169
|
+
}, children: [_jsx(ListItemIcon, { children: uploadFile.status === "success" ? (_jsx(CheckCircleIcon, { color: "success" })) : uploadFile.status === "error" ? (_jsx(ErrorIcon, { color: "error" })) : uploadFile.status === "uploading" ? (_jsx(CircularProgress, { size: 24 })) : (_jsx(InsertDriveFileIcon, { color: "action" })) }), _jsx(ListItemText, { primary: uploadFile.file.name, slotProps: { secondary: { component: "div" } }, secondary: _jsxs(Box, { sx: { width: "100%" }, children: [_jsxs(Box, { sx: {
|
|
170
170
|
display: "flex",
|
|
171
171
|
justifyContent: "space-between",
|
|
172
172
|
alignItems: "center",
|
|
173
173
|
mb: 0.5,
|
|
174
|
-
}, children: [_jsx(Typography, { variant: "caption", component: "span", children: formatBytes(uploadFile.file.size) }), uploadFile.status === "success" && (_jsx(Typography, { variant: "caption", component: "span", color: "success.main", children: "Complete" }))] }), uploadFile.status === "error" && uploadFile.error && (_jsx(Typography, { variant: "caption", color: "error", component: "div", children: uploadFile.error }))] }) })] }, index))) })] }) }))] }));
|
|
174
|
+
}, children: [_jsx(Typography, { variant: "caption", component: "span", children: formatBytes(uploadFile.file.size) }), uploadFile.status === "success" && (_jsx(Typography, { variant: "caption", component: "span", color: "success.main", children: "Complete" })), uploadFile.status === "uploading" && (_jsx(Typography, { variant: "caption", component: "span", color: "primary", children: "Uploading\u2026" })), uploadFile.status === "pending" && (_jsx(Typography, { variant: "caption", component: "span", color: "text.secondary", children: "Pending" }))] }), uploadFile.status === "error" && uploadFile.error && (_jsx(Typography, { variant: "caption", color: "error", component: "div", children: uploadFile.error }))] }) })] }, index))) })] }) }))] }));
|
|
175
175
|
};
|
|
176
176
|
export default ObjectUpload;
|
|
177
177
|
//# sourceMappingURL=ObjectUpload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUpload.js","sourceRoot":"","sources":["../../src/ObjectUpload/ObjectUpload.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ObjectUpload.js","sourceRoot":"","sources":["../../src/ObjectUpload/ObjectUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ObjectList } from "@pelicanplatform/web-client";
|
|
2
|
+
import { DownloadProgress } from "@pelicanplatform/hooks";
|
|
2
3
|
interface ObjectListProps {
|
|
3
4
|
collectionPath?: string;
|
|
4
5
|
objectList: ObjectList[];
|
|
@@ -7,12 +8,10 @@ interface ObjectListProps {
|
|
|
7
8
|
loginRequired: boolean;
|
|
8
9
|
canLogin: boolean;
|
|
9
10
|
onLoginRequest?: () => void;
|
|
11
|
+
downloadsInProgress: Record<string, DownloadProgress>;
|
|
10
12
|
/** Namespace prefix to strip from display (e.g., /namespace) */
|
|
11
13
|
namespace?: string | null;
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
* A component that lists all the provided objects as a table.
|
|
15
|
-
*/
|
|
16
|
-
declare function ObjectView({ collectionPath, objectList, onExplore, onDownload, loginRequired, canLogin, onLoginRequest, namespace, }: ObjectListProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function ObjectView({ collectionPath, objectList, onExplore, onDownload, loginRequired, canLogin, onLoginRequest, namespace, downloadsInProgress, }: ObjectListProps): import("react/jsx-runtime").JSX.Element;
|
|
17
16
|
export default ObjectView;
|
|
18
17
|
//# sourceMappingURL=ObjectView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectView.d.ts","sourceRoot":"","sources":["../../src/ObjectView/ObjectView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ObjectView.d.ts","sourceRoot":"","sources":["../../src/ObjectView/ObjectView.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1D,UAAU,eAAe;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtD,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAkHD,iBAAS,UAAU,CAAC,EAChB,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,EACT,mBAAmB,GACtB,EAAE,eAAe,2CAgGjB;AA4CD,eAAe,UAAU,CAAC"}
|
|
@@ -1,13 +1,36 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx,
|
|
3
|
-
import { ArrowUpward, Download, Folder, InsertDriveFile, MenuOpen } from "@mui/icons-material";
|
|
4
|
-
import { Box, Button, IconButton, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, Typography, } from "@mui/material";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { ArrowUpward, Download as DownloadIcon, Folder, InsertDriveFile, MenuOpen } from "@mui/icons-material";
|
|
4
|
+
import { Box, Button, CircularProgress, IconButton, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, Typography, } from "@mui/material";
|
|
5
5
|
import { formatBytes } from "@pelicanplatform/web-client";
|
|
6
|
-
import { useMemo, useState } from "react";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import React, { forwardRef, useContext, useMemo, useState } from "react";
|
|
7
|
+
import { TableVirtuoso } from "react-virtuoso";
|
|
8
|
+
const ROW_HEIGHT = 36;
|
|
9
|
+
const MAX_TABLE_HEIGHT = ROW_HEIGHT * 15;
|
|
10
|
+
const ObjectViewContext = React.createContext({
|
|
11
|
+
downloadsInProgress: {},
|
|
12
|
+
onExplore: () => { },
|
|
13
|
+
onDownload: () => { },
|
|
14
|
+
});
|
|
15
|
+
const VirtuosoTableComponents = {
|
|
16
|
+
Scroller: forwardRef((props, ref) => (_jsx(TableContainer, { component: Box, ...props, ref: ref }))),
|
|
17
|
+
Table: (props) => (_jsx(Table, { ...props, size: "small", sx: { borderCollapse: "separate", tableLayout: "fixed" } })),
|
|
18
|
+
TableHead: forwardRef((props, ref) => (_jsx(TableHead, { ...props, ref: ref }))),
|
|
19
|
+
TableRow: ({ item: _item, ...props }) => _jsx(TableRow, { hover: true, sx: { cursor: "pointer" }, ...props }),
|
|
20
|
+
TableBody: forwardRef((props, ref) => (_jsx(TableBody, { ...props, ref: ref }))),
|
|
21
|
+
};
|
|
22
|
+
function FixedHeaderContent({ sortColumn, sortDirection, onSort, }) {
|
|
23
|
+
return (_jsxs(TableRow, { sx: { bgcolor: "background.paper" }, children: [_jsx(TableCell, { children: _jsx(TableSortLabel, { active: sortColumn === "href", direction: sortColumn === "href" ? sortDirection : "asc", onClick: () => onSort("href"), children: "Name" }) }), _jsx(TableCell, { children: _jsx(TableSortLabel, { active: sortColumn === "getlastmodified", direction: sortColumn === "getlastmodified" ? sortDirection : "asc", onClick: () => onSort("getlastmodified"), children: "Updated" }) }), _jsx(TableCell, { children: _jsx(TableSortLabel, { active: sortColumn === "getcontentlength", direction: sortColumn === "getcontentlength" ? sortDirection : "asc", onClick: () => onSort("getcontentlength"), children: "Size" }) }), _jsx(TableCell, { sx: { width: 80, minWidth: 80 } })] }));
|
|
24
|
+
}
|
|
25
|
+
function RowItem({ obj }) {
|
|
26
|
+
const { namespace, collectionPath, downloadsInProgress, onExplore, onDownload } = useContext(ObjectViewContext);
|
|
27
|
+
const download = Object.values(downloadsInProgress).find((d) => d.objectUrl.endsWith(obj.href));
|
|
28
|
+
return (_jsxs(_Fragment, { children: [_jsx(TableCell, { sx: { py: "2px" }, onClick: () => obj.iscollection ? onExplore(obj.href) : onDownload(obj.href), children: _jsx(ObjectName, { ...obj, namespace: namespace, collectionPath: collectionPath }) }), _jsx(TableCell, { sx: { py: "2px", textWrap: "nowrap" }, onClick: () => obj.iscollection ? onExplore(obj.href) : onDownload(obj.href), children: obj.getlastmodified ? new Date(obj.getlastmodified).toLocaleString() : "" }), _jsx(TableCell, { sx: { py: "2px", textWrap: "nowrap" }, onClick: () => obj.iscollection ? onExplore(obj.href) : onDownload(obj.href), children: obj.iscollection ? "" : formatBytes(obj.getcontentlength) }), _jsx(TableCell, { sx: { py: "2px", width: 90, minWidth: 90 }, align: "right", children: obj.iscollection ? (_jsx(IconButton, { onClick: (e) => { e.stopPropagation(); onExplore(obj.href); }, "aria-label": `Explore ${obj.href}`, children: _jsx(MenuOpen, { fontSize: "small" }) })) : (_jsx(IconButton, { onClick: (e) => { e.stopPropagation(); onDownload(obj.href); }, "aria-label": `Download ${obj.href}`, children: download ? _jsx(ProgressIcon, { bytesDownloaded: download.bytesDownloaded, totalByteSize: download.totalByteSize }) : _jsx(DownloadIcon, { fontSize: "small" }) })) })] }));
|
|
29
|
+
}
|
|
30
|
+
function RowContent(_index, obj) {
|
|
31
|
+
return _jsx(RowItem, { obj: obj });
|
|
32
|
+
}
|
|
33
|
+
function ObjectView({ collectionPath, objectList, onExplore, onDownload, loginRequired, canLogin, onLoginRequest, namespace, downloadsInProgress, }) {
|
|
11
34
|
const [sortColumn, setSortColumn] = useState("href");
|
|
12
35
|
const [sortDirection, setSortDirection] = useState("asc");
|
|
13
36
|
const handleSort = (column) => {
|
|
@@ -19,17 +42,8 @@ function ObjectView({ collectionPath, objectList, onExplore, onDownload, loginRe
|
|
|
19
42
|
setSortDirection("asc");
|
|
20
43
|
}
|
|
21
44
|
};
|
|
22
|
-
const handleRowClick = (obj) => {
|
|
23
|
-
if (obj.iscollection) {
|
|
24
|
-
onExplore(obj.href);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
onDownload(obj.href);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
45
|
const sortedObjectList = useMemo(() => {
|
|
31
|
-
return [...objectList]
|
|
32
|
-
.sort((a, b) => {
|
|
46
|
+
return [...objectList].sort((a, b) => {
|
|
33
47
|
if (a.iscollection && !b.iscollection)
|
|
34
48
|
return -1;
|
|
35
49
|
if (!a.iscollection && b.iscollection)
|
|
@@ -52,64 +66,32 @@ function ObjectView({ collectionPath, objectList, onExplore, onDownload, loginRe
|
|
|
52
66
|
default:
|
|
53
67
|
return 0;
|
|
54
68
|
}
|
|
55
|
-
if (aValue < bValue)
|
|
69
|
+
if (aValue < bValue)
|
|
56
70
|
return sortDirection === "asc" ? -1 : 1;
|
|
57
|
-
|
|
58
|
-
if (aValue > bValue) {
|
|
71
|
+
if (aValue > bValue)
|
|
59
72
|
return sortDirection === "asc" ? 1 : -1;
|
|
60
|
-
}
|
|
61
73
|
return 0;
|
|
62
74
|
});
|
|
63
75
|
}, [objectList, sortColumn, sortDirection]);
|
|
64
76
|
if (loginRequired || !objectList || objectList.length === 0) {
|
|
65
|
-
return (_jsx(Box, { pt: 4, display: "flex", alignItems: "center", justifyContent: "center", border: "1px dashed var(--mui-palette-divider, #e0e0e0)", borderRadius: 1, minHeight: 300, children: _jsx(Typography, { variant: "h6", color: "textSecondary", align: "center", children: loginRequired ? (
|
|
66
|
-
// Login prompt
|
|
67
|
-
_jsxs(_Fragment, { children: ["Authentication is required.", _jsx("br", {}), loginRequired && canLogin && (_jsx(Button, { variant: "contained", color: "primary", onClick: onLoginRequest, sx: { mt: 2 }, children: "Login" }))] })) : (
|
|
68
|
-
// Empty state
|
|
69
|
-
_jsxs(_Fragment, { children: [_jsx(Typography, { children: "You are in an empty collection." }), _jsx(Typography, { children: "You can upload files here or navigate to your collections using the menu in the top right." })] })) }) }));
|
|
77
|
+
return (_jsx(Box, { pt: 4, display: "flex", alignItems: "center", justifyContent: "center", border: "1px dashed var(--mui-palette-divider, #e0e0e0)", borderRadius: 1, minHeight: 300, children: _jsx(Typography, { variant: "h6", color: "textSecondary", align: "center", children: loginRequired ? (_jsxs(_Fragment, { children: ["Authentication is required.", _jsx("br", {}), canLogin && (_jsx(Button, { variant: "contained", color: "primary", onClick: onLoginRequest, sx: { mt: 2 }, children: "Login" }))] })) : (_jsxs(_Fragment, { children: [_jsx(Typography, { children: "You are in an empty collection." }), _jsx(Typography, { children: "You can upload files here or navigate to your collections using the menu in the top right." })] })) }) }));
|
|
70
78
|
}
|
|
71
|
-
return (_jsx(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
border: "none",
|
|
77
|
-
color: "var(--mui-palette-text-primary, #000)",
|
|
78
|
-
padding: 0,
|
|
79
|
-
cursor: "pointer",
|
|
80
|
-
display: "inline-flex",
|
|
81
|
-
alignItems: "center",
|
|
82
|
-
gap: 6,
|
|
83
|
-
fontSize: "0.95rem",
|
|
84
|
-
}, children: _jsx(MenuOpen, { fontSize: "small" }) })) : (_jsx(IconButton, { onClick: (e) => {
|
|
85
|
-
e.stopPropagation();
|
|
86
|
-
onDownload(obj.href);
|
|
87
|
-
}, "aria-label": `Download ${obj.href}`, style: {
|
|
88
|
-
background: "transparent",
|
|
89
|
-
border: "none",
|
|
90
|
-
color: "var(--mui-palette-text-primary, #000)",
|
|
91
|
-
padding: 0,
|
|
92
|
-
cursor: "pointer",
|
|
93
|
-
display: "inline-flex",
|
|
94
|
-
alignItems: "center",
|
|
95
|
-
gap: 6,
|
|
96
|
-
fontSize: "0.95rem",
|
|
97
|
-
}, children: _jsx(Download, { fontSize: "small" }) })) })] }, index))) })] }) }) }));
|
|
79
|
+
return (_jsx(ObjectViewContext.Provider, { value: { namespace, collectionPath, downloadsInProgress, onExplore, onDownload }, children: _jsx(TableVirtuoso, { data: sortedObjectList, components: VirtuosoTableComponents, fixedHeaderContent: () => (_jsx(FixedHeaderContent, { sortColumn: sortColumn, sortDirection: sortDirection, onSort: handleSort })), itemContent: RowContent, style: { height: Math.min(sortedObjectList.length * ROW_HEIGHT + 48, MAX_TABLE_HEIGHT) } }) }));
|
|
80
|
+
}
|
|
81
|
+
function ProgressIcon({ bytesDownloaded, totalByteSize }) {
|
|
82
|
+
const progress = totalByteSize > 0 ? Math.round((bytesDownloaded / totalByteSize) * 100) : 0;
|
|
83
|
+
return (_jsxs(Box, { position: "relative", display: "inline-flex", gap: 1, children: [_jsxs(Typography, { variant: "subtitle2", children: [progress, "%"] }), _jsx(CircularProgress, { size: 20, variant: "determinate", value: progress, "aria-label": `Download progress: ${progress}%` })] }));
|
|
98
84
|
}
|
|
99
85
|
function ObjectName(props) {
|
|
100
86
|
const { href, iscollection, getlastmodified, namespace, collectionPath } = props;
|
|
101
|
-
// Strip namespace from the display name
|
|
102
87
|
let displayName = href;
|
|
103
88
|
if (namespace && href.startsWith(namespace)) {
|
|
104
89
|
displayName = href.slice(namespace.length) || "/";
|
|
105
90
|
}
|
|
106
|
-
// Strip collectionPath from the display name
|
|
107
91
|
if (collectionPath && displayName.startsWith(collectionPath)) {
|
|
108
92
|
displayName = displayName.replace(collectionPath, "") || "/";
|
|
109
93
|
}
|
|
110
|
-
return (_jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [iscollection ? (
|
|
111
|
-
// Check if this is the parent directory (first item with empty getlastmodified)
|
|
112
|
-
getlastmodified === "" ? (_jsx(ArrowUpward, { color: "primary", fontSize: "small" })) : (_jsx(Folder, { color: "primary", fontSize: "small" }))) : (_jsx(InsertDriveFile, { color: "action", fontSize: "small" })), _jsx(Box, { sx: { whiteSpace: "nowrap", textWrap: "nowrap", overflow: "hidden", textOverflow: "ellipsis", maxWidth: { sm: "15ch", md: "25ch", lg: "35ch" } }, title: iscollection && getlastmodified === "" ? ".." : displayName, children: iscollection && getlastmodified === "" ? ".." : displayName })] }));
|
|
94
|
+
return (_jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [iscollection ? (getlastmodified === "" ? (_jsx(ArrowUpward, { color: "primary", fontSize: "small" })) : (_jsx(Folder, { color: "primary", fontSize: "small" }))) : (_jsx(InsertDriveFile, { color: "action", fontSize: "small" })), _jsx(Box, { sx: { whiteSpace: "nowrap", textWrap: "nowrap", overflow: "hidden", textOverflow: "ellipsis", maxWidth: { sm: "15ch", md: "25ch", lg: "35ch" } }, title: iscollection && getlastmodified === "" ? ".." : displayName, children: iscollection && getlastmodified === "" ? ".." : displayName })] }));
|
|
113
95
|
}
|
|
114
96
|
export default ObjectView;
|
|
115
97
|
//# sourceMappingURL=ObjectView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectView.js","sourceRoot":"","sources":["../../src/ObjectView/ObjectView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/
|
|
1
|
+
{"version":3,"file":"ObjectView.js","sourceRoot":"","sources":["../../src/ObjectView/ObjectView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EACH,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAmB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAkBhE,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,gBAAgB,GAAG,UAAU,GAAG,EAAE,CAAC;AAEzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAM1C;IACC,mBAAmB,EAAE,EAAE;IACvB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAgC;IACzD,QAAQ,EAAE,UAAU,CAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACjD,KAAC,cAAc,IAAC,SAAS,EAAE,GAAG,KAAM,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAC1D,CAAC;IACF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,KAAC,KAAK,OACE,KAAK,EACT,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAC1D,CACL;IACD,SAAS,EAAE,UAAU,CAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC3D,KAAC,SAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CACrC,CAAC;IACF,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAC,KAAK,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAM,KAAK,GAAI;IACjG,SAAS,EAAE,UAAU,CAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC3D,KAAC,SAAS,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CACrC,CAAC;CACL,CAAC;AAEF,SAAS,kBAAkB,CAAC,EACxB,UAAU,EACV,aAAa,EACb,MAAM,GAKT;IACG,OAAO,CACH,MAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,aACzC,KAAC,SAAS,cACN,KAAC,cAAc,IACX,MAAM,EAAE,UAAU,KAAK,MAAM,EAC7B,SAAS,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,qBAGhB,GACT,EACZ,KAAC,SAAS,cACN,KAAC,cAAc,IACX,MAAM,EAAE,UAAU,KAAK,iBAAiB,EACxC,SAAS,EAAE,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EACnE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAG3B,GACT,EACZ,KAAC,SAAS,cACN,KAAC,cAAc,IACX,MAAM,EAAE,UAAU,KAAK,kBAAkB,EACzC,SAAS,EAAE,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EACpE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,qBAG5B,GACT,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,IACvC,CACd,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,GAAG,EAAuB;IACzC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhG,OAAO,CACH,8BACI,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YACtG,KAAC,UAAU,OAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,GAAI,GACrE,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YACzH,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,GAClE,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YACzH,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAClD,EACZ,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,YAC/D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAChB,KAAC,UAAU,IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAc,WAAW,GAAG,CAAC,IAAI,EAAE,YACxG,KAAC,QAAQ,IAAC,QAAQ,EAAC,OAAO,GAAG,GACpB,CAChB,CAAC,CAAC,CAAC,CACA,KAAC,UAAU,IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAc,YAAY,GAAG,CAAC,IAAI,EAAE,YACzG,QAAQ,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAI,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,GAAG,GACzI,CAChB,GACO,IACb,CACN,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,GAAe;IAC/C,OAAO,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,GAAI,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,EAChB,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,EACT,mBAAmB,GACL;IACd,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAiB,MAAM,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,KAAK,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,CAAC,MAAsB,EAAE,EAAE;QAC1C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACxB,gBAAgB,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,aAAa,CAAC,MAAM,CAAC,CAAC;YACtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY;gBAAE,OAAO,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY;gBAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,MAAuB,CAAC;YAC5B,IAAI,MAAuB,CAAC;YAE5B,QAAQ,UAAU,EAAE,CAAC;gBACjB,KAAK,MAAM;oBACP,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM;gBACV,KAAK,kBAAkB;oBACnB,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC;oBAC5B,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC;oBAC5B,MAAM;gBACV,KAAK,iBAAiB;oBAClB,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM;gBACV;oBACI,OAAO,CAAC,CAAC;YACjB,CAAC;YAED,IAAI,MAAM,GAAG,MAAM;gBAAE,OAAO,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,MAAM,GAAG,MAAM;gBAAE,OAAO,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5C,IAAI,aAAa,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,CACH,KAAC,GAAG,IACA,EAAE,EAAE,CAAC,EACL,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,QAAQ,EACvB,MAAM,EAAE,gDAAgD,EACxD,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,GAAG,YAEd,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,eAAe,EAAC,KAAK,EAAC,QAAQ,YACxD,aAAa,CAAC,CAAC,CAAC,CACb,6DAEI,cAAM,EACL,QAAQ,IAAI,CACT,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,sBAEzE,CACZ,IACF,CACN,CAAC,CAAC,CAAC,CACA,8BACI,KAAC,UAAU,kDAA6C,EACxD,KAAC,UAAU,6GAEE,IACd,CACN,GACQ,GACX,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,YACxG,KAAC,aAAa,IACV,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,uBAAuB,EACnC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CACtB,KAAC,kBAAkB,IACf,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,UAAU,GACpB,CACL,EACD,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,UAAU,GAAG,EAAE,EAAE,gBAAgB,CAAC,EAAE,GAC1F,GACuB,CAChC,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,eAAe,EAAE,aAAa,EAAsD;IACxG,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CACH,MAAC,GAAG,IAAC,QAAQ,EAAC,UAAU,EAAC,OAAO,EAAC,aAAa,EAAC,GAAG,EAAE,CAAC,aACjD,MAAC,UAAU,IAAC,OAAO,EAAE,WAAW,aAAG,QAAQ,SAAe,EAC1D,KAAC,gBAAgB,IAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAC,aAAa,EAAC,KAAK,EAAE,QAAQ,gBAAc,sBAAsB,QAAQ,GAAG,GAAI,IAClH,CACT,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,KAAiF;IACjG,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEjF,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IACtD,CAAC;IACD,IAAI,cAAc,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IACjE,CAAC;IAED,OAAO,CACH,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aACzC,YAAY,CAAC,CAAC,CAAC,CACZ,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,CACrB,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,GAAG,CACnD,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,GAAG,CAC9C,CACJ,CAAC,CAAC,CAAC,CACA,KAAC,eAAe,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,GAAG,CACtD,EACD,KAAC,GAAG,IACA,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAChJ,KAAK,EAAE,YAAY,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,YAEjE,YAAY,IAAI,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAC1D,IACJ,CACT,CAAC;AACN,CAAC;AAED,eAAe,UAAU,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Re-export all components and hooks from the respective packages
|
|
2
2
|
export * from "@pelicanplatform/hooks";
|
|
3
3
|
export { default as AuthenticatedClient } from "./AuthenticatedClient";
|
|
4
|
+
export { DownloadManager } from "./DownloadManager";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pelicanplatform/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"homepage": "https://pelicanplatform.org",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,8 +24,9 @@
|
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@mui/icons-material": "^7.0.0",
|
|
27
|
-
"
|
|
28
|
-
"@pelicanplatform/
|
|
27
|
+
"react-virtuoso": "^4.18.6",
|
|
28
|
+
"@pelicanplatform/hooks": "1.1.1",
|
|
29
|
+
"@pelicanplatform/web-client": "1.1.0"
|
|
29
30
|
},
|
|
30
31
|
"peerDependencies": {
|
|
31
32
|
"@emotion/react": "^11.0.0",
|