pollination-react-io 1.57.2 → 1.58.0
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/build/RunDetails/Cards/FileCard.d.ts +1 -0
- package/build/RunDetails/RunContent.types.d.ts +1 -0
- package/build/RunDetails/RunDetails.types.d.ts +1 -1
- package/build/index.esm.js +76 -39
- package/build/index.esm.js.map +1 -1
- package/build/index.js +76 -39
- package/build/index.js.map +1 -1
- package/package.json +1 -1
@@ -17,9 +17,9 @@ export interface RunDetailsProps {
|
|
17
17
|
projectOwner: string;
|
18
18
|
projectName: string;
|
19
19
|
run?: Run | LocalRun;
|
20
|
-
runId?: string;
|
21
20
|
client?: APIClient;
|
22
21
|
style?: CSSProperties;
|
23
22
|
getFileCard?: (card: FileCardProps) => any;
|
24
23
|
getFolderCard?: (card: FolderCardProps) => any;
|
24
|
+
isCloud?: boolean;
|
25
25
|
}
|
package/build/index.esm.js
CHANGED
@@ -49325,26 +49325,27 @@ var CADtypeEnum;
|
|
49325
49325
|
})(CADtypeEnum || (CADtypeEnum = {}));
|
49326
49326
|
var FileCard = function (_a) {
|
49327
49327
|
var _b, _c;
|
49328
|
-
var projectOwner = _a.projectOwner, projectName = _a.projectName, client = _a.client, studyId = _a.studyId, runId = _a.runId, label = _a.label, path = _a.path, file = _a.file, description = _a.description, onClicked = _a.onClicked;
|
49328
|
+
var projectOwner = _a.projectOwner, projectName = _a.projectName, client = _a.client, studyId = _a.studyId, runId = _a.runId, label = _a.label, path = _a.path, file = _a.file, description = _a.description, onClicked = _a.onClicked, _d = _a.isCloud, isCloud = _d === void 0 ? true : _d;
|
49329
49329
|
var host = getHost();
|
49330
|
-
var
|
49331
|
-
var _e = useState(false),
|
49332
|
-
var _f = useState(
|
49333
|
-
var _g = useState(
|
49330
|
+
var fromFileToBase64 = usePollinationPanel().fromFileToBase64;
|
49331
|
+
var _e = useState(false), open = _e[0], setOpen = _e[1];
|
49332
|
+
var _f = useState(false), over = _f[0], setOver = _f[1];
|
49333
|
+
var _g = useState(true), isLoading = _g[0], setIsLoading = _g[1];
|
49334
|
+
var _h = useState(false), isInactive = _h[0], setIsInactive = _h[1];
|
49334
49335
|
// Data to use for CAD injections
|
49335
|
-
var
|
49336
|
+
var _j = useState(), CADdata = _j[0], setCADdata = _j[1];
|
49336
49337
|
// File to send to parent
|
49337
|
-
var
|
49338
|
-
/**
|
49339
|
-
|
49340
|
-
|
49341
|
-
|
49342
|
-
|
49343
|
-
|
49344
|
-
|
49345
|
-
|
49346
|
-
}
|
49347
|
-
|
49338
|
+
var _k = useState(), currFile = _k[0], setCurrFile = _k[1];
|
49339
|
+
// /**
|
49340
|
+
// * Check if run id is a valid UUID or file path (Local sim)
|
49341
|
+
// * @param str run id
|
49342
|
+
// * @returns true or false
|
49343
|
+
// */
|
49344
|
+
// const checkIfValidUUID = (str: string): boolean => {
|
49345
|
+
// const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi
|
49346
|
+
// return regexExp.test(str)
|
49347
|
+
// }
|
49348
|
+
// const isCloud = useMemo(() => checkIfValidUUID(runId), [runId])
|
49348
49349
|
var downloadArtifact = useArtifacts(projectOwner, projectName, client).downloadArtifact;
|
49349
49350
|
var setCADintegration = useCallback(function (file) {
|
49350
49351
|
if (!file)
|
@@ -49395,9 +49396,39 @@ var FileCard = function (_a) {
|
|
49395
49396
|
setCADintegration(blob);
|
49396
49397
|
});
|
49397
49398
|
})
|
49398
|
-
.catch(function () {
|
49399
|
+
.catch(function (err) {
|
49400
|
+
console.error(err);
|
49401
|
+
})
|
49399
49402
|
.finally(function () { return setIsLoading(false); });
|
49400
49403
|
};
|
49404
|
+
var extension = useMemo(function () {
|
49405
|
+
return path.split('/').reverse()[0];
|
49406
|
+
}, [path]);
|
49407
|
+
/**
|
49408
|
+
* Read local file as Blob - Panel only
|
49409
|
+
*/
|
49410
|
+
var base64AndFetch = function (path) {
|
49411
|
+
if (!path)
|
49412
|
+
return;
|
49413
|
+
var data = fromFileToBase64(path);
|
49414
|
+
var base64Data = data === null || data === void 0 ? void 0 : data.data;
|
49415
|
+
if (!base64Data)
|
49416
|
+
return;
|
49417
|
+
// bas64 mapping
|
49418
|
+
var t;
|
49419
|
+
switch (extension) {
|
49420
|
+
case 'zip':
|
49421
|
+
t = 'application/zip';
|
49422
|
+
break;
|
49423
|
+
case 'hbjson':
|
49424
|
+
case 'vsf':
|
49425
|
+
t = 'text/plain';
|
49426
|
+
default:
|
49427
|
+
t = 'text/plain';
|
49428
|
+
break;
|
49429
|
+
}
|
49430
|
+
fetchAndSet("data:".concat(t, ";base64,").concat(base64Data));
|
49431
|
+
};
|
49401
49432
|
useEffect(function () {
|
49402
49433
|
if (isCloud) {
|
49403
49434
|
// Generate Blob on click
|
@@ -49406,8 +49437,15 @@ var FileCard = function (_a) {
|
|
49406
49437
|
.catch(function () { return onClicked({ label: label, path: path, file: undefined, description: description, runId: runId }); });
|
49407
49438
|
}
|
49408
49439
|
else {
|
49409
|
-
|
49410
|
-
|
49440
|
+
var isPanel = checkPollinationPanel();
|
49441
|
+
if (!isPanel) {
|
49442
|
+
setIsInactive(true);
|
49443
|
+
setCurrFile(undefined);
|
49444
|
+
setCADintegration(undefined);
|
49445
|
+
setIsLoading(false);
|
49446
|
+
return;
|
49447
|
+
}
|
49448
|
+
base64AndFetch(path);
|
49411
49449
|
}
|
49412
49450
|
}, [studyId, runId, label, path]);
|
49413
49451
|
return React__default.createElement("div", { className: isInactive
|
@@ -49489,11 +49527,11 @@ var css_248z$2 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --
|
|
49489
49527
|
styleInject(css_248z$2);
|
49490
49528
|
|
49491
49529
|
var RunContent = function (_a) {
|
49492
|
-
var inputData = _a.inputData, projectOwner = _a.projectOwner, projectName = _a.projectName, studyId = _a.studyId, runId = _a.runId, client = _a.client, title = _a.title, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard;
|
49493
|
-
var
|
49494
|
-
var
|
49495
|
-
var
|
49496
|
-
var
|
49530
|
+
var inputData = _a.inputData, projectOwner = _a.projectOwner, projectName = _a.projectName, studyId = _a.studyId, runId = _a.runId, client = _a.client, title = _a.title, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard, _b = _a.isCloud, isCloud = _b === void 0 ? true : _b;
|
49531
|
+
var _c = useState([]), currData = _c[0], setCurrData = _c[1];
|
49532
|
+
var _d = useState([]), currParams = _d[0], setCurrParams = _d[1];
|
49533
|
+
var _e = useState([]), currFiles = _e[0], setCurrFiles = _e[1];
|
49534
|
+
var _f = useState([]), currFolders = _f[0], setCurrFolders = _f[1];
|
49497
49535
|
useEffect(function () { return setCurrData(inputData); }, [inputData]);
|
49498
49536
|
useEffect(function () {
|
49499
49537
|
if (!currData || currData.length == 0)
|
@@ -49523,11 +49561,11 @@ var RunContent = function (_a) {
|
|
49523
49561
|
setCurrFiles(files);
|
49524
49562
|
setCurrFolders(folders);
|
49525
49563
|
}, [currData]);
|
49526
|
-
|
49527
|
-
|
49528
|
-
|
49529
|
-
}
|
49530
|
-
|
49564
|
+
// const checkIfValidUUID = (str: string): boolean => {
|
49565
|
+
// const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi
|
49566
|
+
// return regexExp.test(str)
|
49567
|
+
// }
|
49568
|
+
// const isCloud = useMemo(() => checkIfValidUUID(runId), [runId])
|
49531
49569
|
/**
|
49532
49570
|
* Click event handler of the file card
|
49533
49571
|
* @param card File card props
|
@@ -49555,7 +49593,7 @@ var RunContent = function (_a) {
|
|
49555
49593
|
currFiles.length > 0 && projectOwner && projectName && client && runId && React__default.createElement("div", { style: { padding: '20px' } },
|
49556
49594
|
React__default.createElement("div", { className: 'cards' }, currFiles.map(function (_a, index) {
|
49557
49595
|
var label = _a.label, path = _a.path, description = _a.description;
|
49558
|
-
return React__default.createElement(FileCard, { projectOwner: projectOwner, projectName: projectName, studyId: studyId, runId: runId, client: client, key: "filecard-".concat(index), label: label, path: path, description: description, onClicked: onFileClicked });
|
49596
|
+
return React__default.createElement(FileCard, { projectOwner: projectOwner, projectName: projectName, studyId: studyId, runId: runId, client: client, key: "filecard-".concat(index), label: label, path: path, description: description, onClicked: onFileClicked, isCloud: isCloud });
|
49559
49597
|
}))),
|
49560
49598
|
currFolders.length > 0 && React__default.createElement("div", { style: { padding: '20px' } },
|
49561
49599
|
React__default.createElement("div", { className: 'cards' }, currFolders.map(function (_a, index) {
|
@@ -49571,11 +49609,10 @@ var RunContent = function (_a) {
|
|
49571
49609
|
|
49572
49610
|
var RunDetails = function (_a) {
|
49573
49611
|
var projectName = _a.projectName, projectOwner = _a.projectOwner, run = _a.run, // Cloud and Local
|
49574
|
-
|
49575
|
-
|
49576
|
-
var
|
49577
|
-
var
|
49578
|
-
var _d = useState([]), outputs = _d[0], setOutputs = _d[1];
|
49612
|
+
client = _a.client, style = _a.style, getFileCard = _a.getFileCard, getFolderCard = _a.getFolderCard, _b = _a.isCloud, isCloud = _b === void 0 ? true : _b;
|
49613
|
+
var _c = useState([]), extraInputs = _c[0], setExtraInputs = _c[1];
|
49614
|
+
var _d = useState([]), recipeInputs = _d[0], setRecipeInputs = _d[1];
|
49615
|
+
var _e = useState([]), outputs = _e[0], setOutputs = _e[1];
|
49579
49616
|
useEffect(function () {
|
49580
49617
|
if (!run)
|
49581
49618
|
return;
|
@@ -49604,11 +49641,11 @@ var RunDetails = function (_a) {
|
|
49604
49641
|
}, [run]);
|
49605
49642
|
return (React__default.createElement("div", null,
|
49606
49643
|
outputs &&
|
49607
|
-
React__default.createElement(RunContent, { title: 'Outputs', inputData: outputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id
|
49644
|
+
React__default.createElement(RunContent, { title: 'Outputs', inputData: outputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud }),
|
49608
49645
|
recipeInputs &&
|
49609
|
-
React__default.createElement(RunContent, { title: 'Inputs', inputData: recipeInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id
|
49646
|
+
React__default.createElement(RunContent, { title: 'Inputs', inputData: recipeInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud }),
|
49610
49647
|
extraInputs && extraInputs.length > 0 &&
|
49611
|
-
React__default.createElement(RunContent, { title: 'Extra Inputs', inputData: extraInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id
|
49648
|
+
React__default.createElement(RunContent, { title: 'Extra Inputs', inputData: extraInputs, projectName: projectName, projectOwner: projectOwner, studyId: run.status.job_id, runId: run.id, client: client, style: style, getFileCard: getFileCard, getFolderCard: getFolderCard, isCloud: isCloud })));
|
49612
49649
|
};
|
49613
49650
|
|
49614
49651
|
var css_248z$1 = ":root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\n --primary3: #000;\n --success: #46A758;\n --warning: #F76809;\n --danger: #FF4616;\n /* radix-ui/colors */\n --slate1: hsl(206, 30.0%, 98.8%);\n --slate2: hsl(210, 16.7%, 97.6%);\n --slate3: hsl(209, 13.3%, 95.3%);\n --slate4: hsl(209, 12.2%, 93.2%);\n --slate5: hsl(208, 11.7%, 91.1%);\n --slate6: hsl(208, 11.3%, 88.9%);\n --slate7: hsl(207, 11.1%, 85.9%);\n --slate8: hsl(205, 10.7%, 78.0%);\n --slate9: hsl(206, 6.0%, 56.1%);\n --slate10: hsl(206, 5.8%, 52.3%);\n --slate11: hsl(206, 6.0%, 43.5%);\n --slate12: hsl(206, 24.0%, 9.0%);\n}\n\n@keyframes spin {\n from {\n transform: rotate(0);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.spin {\n animation: spin 1s linear 0s infinite;\n}\n\n@keyframes Animation {\n 0% {\n background-position: 200%;\n }\n 50% {\n background-position: 100%;\n }\n 100% {\n background-position: 0%;\n }\n}\n.loading {\n background: linear-gradient(45deg, transparent, var(--primary), 12%, transparent);\n background-size: 200%;\n animation: Animation 3s ease infinite;\n}\n\n@keyframes open {\n from {\n height: 0;\n }\n to {\n height: var(--radix-collapsible-content-height);\n }\n}\n@keyframes close {\n from {\n height: var(--radix-collapsible-content-height);\n }\n to {\n height: 0;\n }\n}\n.collapse-content {\n overflow: hidden;\n font-size: inherit;\n color: inherit;\n}\n\n.collapse-content[data-state=open] {\n animation: open 300ms ease-out;\n}\n\n.collapse-content[data-state=closed] {\n animation: close 300ms ease-out;\n}\n\n.run-progress {\n grid-area: runprogress;\n font-size: 0.9rem;\n text-align: left !important;\n}\n\n.run-link {\n grid-area: runlink;\n text-align: right !important;\n font-size: 1rem;\n white-space: nowrap;\n}\n\n.run-details {\n grid-area: rundetails;\n font-size: 0.9rem;\n}\n\n.study-run-container {\n display: grid;\n grid-template-areas: \"runprogress runprogress runprogress runprogress runprogress runlink\" \"rundetails rundetails rundetails rundetails rundetails rundetails\";\n gap: 0.35rem;\n border: 0.1rem solid;\n align-items: center;\n padding: 0.75rem;\n transition: box-shadow 0.3s ease 0s, border-color 0.3s ease 0s;\n grid-template-rows: max-content auto;\n border-radius: 6px;\n line-height: 1.5;\n}\n\n.study-run-container:hover {\n cursor: pointer;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 2px -2px, rgba(0, 0, 0, 0.12) 0px 3px 6px 0px, rgba(0, 0, 0, 0.09) 0px 5px 12px 4px;\n}\n\n.run-navigator {\n display: grid;\n grid-template-columns: min-content auto min-content min-content;\n grid-auto-rows: auto;\n align-items: center;\n grid-gap: 0.9rem;\n}\n\n.run-pg-input {\n margin: 0 4px 0 4px;\n padding: 8px 8px;\n text-align: center;\n color: rgba(0, 0, 0, 0.8509803922);\n width: min-content;\n border-radius: 2px;\n font-size: 12px;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.container-scroll {\n display: inline-flex;\n flex-direction: row;\n overflow-x: auto;\n width: 100%;\n}\n\n.blink-effect {\n animation: blinker 5s linear infinite;\n}\n\n@keyframes blinker {\n 50% {\n border: 0.1rem solid white;\n }\n}";
|