pollination-react-io 1.28.5 → 1.29.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/index.js
CHANGED
|
@@ -37974,9 +37974,15 @@ var usePollinationPanel = function () {
|
|
|
37974
37974
|
return;
|
|
37975
37975
|
return panel.GetArtifactAsBase64(key, accept);
|
|
37976
37976
|
}, [panel]);
|
|
37977
|
+
var fromFileToBase64 = React.useCallback(function (filePath) {
|
|
37978
|
+
if (!panel)
|
|
37979
|
+
return;
|
|
37980
|
+
return panel.FromFileToBase64(filePath);
|
|
37981
|
+
}, [panel]);
|
|
37977
37982
|
return {
|
|
37978
37983
|
getFileBase64: getFileBase64,
|
|
37979
|
-
saveFileBase64: saveFileBase64
|
|
37984
|
+
saveFileBase64: saveFileBase64,
|
|
37985
|
+
fromFileToBase64: fromFileToBase64
|
|
37980
37986
|
};
|
|
37981
37987
|
};
|
|
37982
37988
|
|
|
@@ -44275,7 +44281,11 @@ var RecipeInputsForm = function (_a) {
|
|
|
44275
44281
|
var inputProps = __assign({}, register(input.name, {
|
|
44276
44282
|
valueAsNumber: ['DAGIntegerInput', 'DAGNumberInput'].includes(input.type)
|
|
44277
44283
|
}));
|
|
44278
|
-
var handleReset = function () {
|
|
44284
|
+
var handleReset = function () {
|
|
44285
|
+
resetField(input.name, {
|
|
44286
|
+
defaultValue: defaultValue
|
|
44287
|
+
});
|
|
44288
|
+
};
|
|
44279
44289
|
return (React__default["default"].createElement(FormInput, { key: "".concat(input.name, "-").concat(i), name: input.name, description: input.description, hidden: hidden, errorMessage: !input.required && errors[input.name] ? (_a = errors[input.name]) === null || _a === void 0 ? void 0 : _a.message : undefined }, (function () {
|
|
44280
44290
|
var _a;
|
|
44281
44291
|
switch (input.type) {
|
|
@@ -44319,9 +44329,11 @@ var RecipeInputsForm = function (_a) {
|
|
|
44319
44329
|
var key = _a[0], val = _a[1];
|
|
44320
44330
|
return (
|
|
44321
44331
|
// @ts-ignore
|
|
44322
|
-
val.type !== 'required'
|
|
44332
|
+
val.type !== 'required'
|
|
44333
|
+
? React__default["default"].createElement("li", { key: key, style: { color: 'red', fontSize: '0.8rem', listStyle: 'none' } }, "".concat(key, " ").concat(val.message, "."))
|
|
44334
|
+
: React__default["default"].createElement("li", { key: key, style: { color: 'red', fontSize: '0.8rem', listStyle: 'none' } }, "".concat(key, " is missing.")));
|
|
44323
44335
|
}))) :
|
|
44324
|
-
isSubmitSuccessful ? 'Study has been successfully submitted.' :
|
|
44336
|
+
isSubmitSuccessful ? 'Study has been successfully submitted.' : null },
|
|
44325
44337
|
React__default["default"].createElement(Button, { type: 'submit', form: recipe.metadata.name, disabled: !isValid || loading, style: {
|
|
44326
44338
|
width: 'fit-content',
|
|
44327
44339
|
}, loading: loading }, "Create Study"))))));
|
|
@@ -47184,8 +47196,11 @@ var jszip_min = createCommonjsModule(function (module, exports) {
|
|
|
47184
47196
|
var shortDebounce = useDebounce(200);
|
|
47185
47197
|
var ICON_SIZE = 18;
|
|
47186
47198
|
var FilePreview = function (_a) {
|
|
47187
|
-
var projectOwner = _a.projectOwner, projectName = _a.projectName, jobId = _a.jobId, value = _a.value,
|
|
47199
|
+
var projectOwner = _a.projectOwner, projectName = _a.projectName, jobId = _a.jobId, value = _a.value, // cloud controller
|
|
47200
|
+
client = _a.client, inputProps = _a.inputProps, onPreviewChange = _a.onPreviewChange, // Use it for streamlit setComponentValue
|
|
47201
|
+
enableFilePicker = _a.enableFilePicker, localPath = _a.localPath // local controller
|
|
47188
47202
|
;
|
|
47203
|
+
var fromFileToBase64 = usePollinationPanel().fromFileToBase64;
|
|
47189
47204
|
var getExtension = function (fileName) {
|
|
47190
47205
|
if (!fileName)
|
|
47191
47206
|
return;
|
|
@@ -47194,13 +47209,14 @@ var FilePreview = function (_a) {
|
|
|
47194
47209
|
return arr.at(arr.length - 1);
|
|
47195
47210
|
}
|
|
47196
47211
|
};
|
|
47212
|
+
var host = getHost();
|
|
47197
47213
|
var _b = React.useState(value), selArtifact = _b[0], setSelArtifact = _b[1];
|
|
47214
|
+
var _c = React.useState(localPath), selFilePath = _c[0], setSelFilePath = _c[1];
|
|
47198
47215
|
var downloadArtifact = useArtifacts(projectOwner, projectName, client).downloadArtifact;
|
|
47199
|
-
var
|
|
47200
|
-
var
|
|
47201
|
-
var
|
|
47216
|
+
var _d = React.useState(), preview = _d[0], setPreview = _d[1];
|
|
47217
|
+
var _e = React.useState(), currBlob = _e[0], setCurrBlob = _e[1];
|
|
47218
|
+
var _f = React.useState(getExtension((value === null || value === void 0 ? void 0 : value.file_name) || getExtension(localPath))), currFileExtension = _f[0], setCurrFileExtension = _f[1];
|
|
47202
47219
|
var allowedFileTypes = ['application/zip', 'text/plain'];
|
|
47203
|
-
var host = getHost();
|
|
47204
47220
|
var parser = {
|
|
47205
47221
|
'text/plain': function (blob) {
|
|
47206
47222
|
var reader = new FileReader();
|
|
@@ -47240,13 +47256,70 @@ var FilePreview = function (_a) {
|
|
|
47240
47256
|
}); });
|
|
47241
47257
|
}
|
|
47242
47258
|
};
|
|
47243
|
-
// Internal onChange
|
|
47259
|
+
// Internal onChange cloud
|
|
47244
47260
|
var onChange = React.useCallback(function (selArtifact) {
|
|
47245
|
-
// console.log(selArtifact)
|
|
47246
47261
|
setSelArtifact(selArtifact);
|
|
47247
47262
|
!selArtifact && setPreview(undefined);
|
|
47248
47263
|
!selArtifact && setCurrFileExtension(undefined);
|
|
47249
47264
|
}, []);
|
|
47265
|
+
// Internal onChange local
|
|
47266
|
+
var onChangeLocal = React.useCallback(function (path) {
|
|
47267
|
+
setSelFilePath(path);
|
|
47268
|
+
!selFilePath && setPreview(undefined);
|
|
47269
|
+
!selFilePath && setCurrFileExtension(undefined);
|
|
47270
|
+
}, []);
|
|
47271
|
+
var base64AndFetch = function (path) {
|
|
47272
|
+
if (!path)
|
|
47273
|
+
return;
|
|
47274
|
+
var data = fromFileToBase64(path);
|
|
47275
|
+
var base64Data = data === null || data === void 0 ? void 0 : data.data;
|
|
47276
|
+
if (!base64Data)
|
|
47277
|
+
return;
|
|
47278
|
+
// bas64 mapping
|
|
47279
|
+
var t;
|
|
47280
|
+
switch (getExtension(path)) {
|
|
47281
|
+
case 'zip':
|
|
47282
|
+
t = 'application/zip';
|
|
47283
|
+
break;
|
|
47284
|
+
case 'vsf':
|
|
47285
|
+
t = 'text/plain';
|
|
47286
|
+
}
|
|
47287
|
+
fetchAndSet("data:".concat(t, ";base64,").concat(base64Data), path);
|
|
47288
|
+
};
|
|
47289
|
+
var fetchAndSet = function (url, path) {
|
|
47290
|
+
if (path === void 0) { path = undefined; }
|
|
47291
|
+
fetch(url)
|
|
47292
|
+
.then(function (response) { return response.blob()
|
|
47293
|
+
.then(function (blob) {
|
|
47294
|
+
var t = blob.type;
|
|
47295
|
+
if (!allowedFileTypes.includes(t)) {
|
|
47296
|
+
console.error("Cloud Artifact ".concat(t, " not supported."));
|
|
47297
|
+
setPreview(undefined);
|
|
47298
|
+
setCurrBlob(undefined);
|
|
47299
|
+
setCurrFileExtension(undefined);
|
|
47300
|
+
return;
|
|
47301
|
+
}
|
|
47302
|
+
switch (t) {
|
|
47303
|
+
case 'application/zip':
|
|
47304
|
+
parser['application/zip'](blob);
|
|
47305
|
+
break;
|
|
47306
|
+
case 'text/plain':
|
|
47307
|
+
parser['text/plain'](blob);
|
|
47308
|
+
break;
|
|
47309
|
+
default:
|
|
47310
|
+
setPreview(undefined);
|
|
47311
|
+
setCurrBlob(undefined);
|
|
47312
|
+
setCurrFileExtension(undefined);
|
|
47313
|
+
break;
|
|
47314
|
+
}
|
|
47315
|
+
setCurrBlob(blob);
|
|
47316
|
+
if (path) {
|
|
47317
|
+
setSelFilePath(path);
|
|
47318
|
+
}
|
|
47319
|
+
var ext = getExtension((selArtifact === null || selArtifact === void 0 ? void 0 : selArtifact.file_name) || path);
|
|
47320
|
+
setCurrFileExtension(ext);
|
|
47321
|
+
}); });
|
|
47322
|
+
};
|
|
47250
47323
|
var download = function (blob, fileName) {
|
|
47251
47324
|
var file = new File([blob], fileName);
|
|
47252
47325
|
var a = document.createElement('a');
|
|
@@ -47259,54 +47332,31 @@ var FilePreview = function (_a) {
|
|
|
47259
47332
|
a.click();
|
|
47260
47333
|
};
|
|
47261
47334
|
React.useEffect(function () {
|
|
47335
|
+
if (enableFilePicker) {
|
|
47336
|
+
base64AndFetch(selFilePath);
|
|
47337
|
+
return;
|
|
47338
|
+
}
|
|
47262
47339
|
downloadArtifact(selArtifact === null || selArtifact === void 0 ? void 0 : selArtifact.key, jobId)
|
|
47263
|
-
.then(
|
|
47264
|
-
|
|
47265
|
-
.then(function (response) { return response.blob()
|
|
47266
|
-
.then(function (blob) {
|
|
47267
|
-
var t = blob.type;
|
|
47268
|
-
if (!allowedFileTypes.includes(t)) {
|
|
47269
|
-
console.error("Cloud Artifact ".concat(t, " not supported."));
|
|
47270
|
-
setPreview(undefined);
|
|
47271
|
-
setCurrBlob(undefined);
|
|
47272
|
-
setCurrFileExtension(undefined);
|
|
47273
|
-
return;
|
|
47274
|
-
}
|
|
47275
|
-
switch (t) {
|
|
47276
|
-
case 'application/zip':
|
|
47277
|
-
parser['application/zip'](blob);
|
|
47278
|
-
break;
|
|
47279
|
-
case 'text/plain':
|
|
47280
|
-
parser['text/plain'](blob);
|
|
47281
|
-
break;
|
|
47282
|
-
default:
|
|
47283
|
-
setPreview(undefined);
|
|
47284
|
-
setCurrBlob(undefined);
|
|
47285
|
-
setCurrFileExtension(undefined);
|
|
47286
|
-
break;
|
|
47287
|
-
}
|
|
47288
|
-
setCurrBlob(blob);
|
|
47289
|
-
var ext = getExtension(selArtifact === null || selArtifact === void 0 ? void 0 : selArtifact.file_name);
|
|
47290
|
-
setCurrFileExtension(ext);
|
|
47291
|
-
}); });
|
|
47292
|
-
});
|
|
47293
|
-
}, [selArtifact, projectOwner, projectName]);
|
|
47340
|
+
.then(fetchAndSet);
|
|
47341
|
+
}, [selArtifact, selFilePath, projectOwner, projectName]);
|
|
47294
47342
|
shortDebounce(function () {
|
|
47295
47343
|
onPreviewChange && onPreviewChange(preview);
|
|
47296
47344
|
}, [onPreviewChange, preview]);
|
|
47297
|
-
// TODO: Add buttons latest part (e.g. download)
|
|
47298
47345
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
47299
|
-
!value && React__default["default"].createElement(SelectCloudArtifacts, { projectOwner: projectOwner, projectName: projectName, value: selArtifact, hidden: false, client: client, jobId: jobId, fileNameMatch: typeof inputProps.accept === 'string'
|
|
47346
|
+
!value && !enableFilePicker && React__default["default"].createElement(SelectCloudArtifacts, { projectOwner: projectOwner, projectName: projectName, value: selArtifact, hidden: false, client: client, jobId: jobId, fileNameMatch: typeof inputProps.accept === 'string'
|
|
47300
47347
|
? ".*(".concat(inputProps.accept.replace(/\./g, '').split(', ').join('$|'), "$)")
|
|
47301
47348
|
: undefined, onChange: onChange }),
|
|
47302
|
-
|
|
47349
|
+
!localPath && enableFilePicker && React__default["default"].createElement(SelectLocalArtifactNative, { onChange: onChangeLocal, value: selFilePath, buttonLabel: "Select ".concat(inputProps.accept.split(',').length > 1 ?
|
|
47350
|
+
'any of' : 'an', " ").concat(inputProps.accept, " ").concat(inputProps.accept.split(',').length > 1 ? 'file types' : 'file', "."), fileMatchPattern: "File types ".concat(inputProps.accept, "|*").concat(inputProps.accept.split(', ').join(';*')) }),
|
|
47351
|
+
(selArtifact || selFilePath) && //
|
|
47303
47352
|
React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
47353
|
+
(value || localPath) ? undefined : React__default["default"].createElement("br", null),
|
|
47304
47354
|
(host !== 'web' && currFileExtension === 'vsf'
|
|
47305
47355
|
&& typeof preview === 'string') &&
|
|
47306
|
-
React__default["default"].createElement(SendResults, { results: JSON.parse(preview), defaultKey: selArtifact.file_name, buttonLabel: 'Result Preview' }),
|
|
47356
|
+
React__default["default"].createElement(SendResults, { results: JSON.parse(preview), defaultKey: (selArtifact === null || selArtifact === void 0 ? void 0 : selArtifact.file_name) || (selFilePath === null || selFilePath === void 0 ? void 0 : selFilePath.replace(/^.*[\\\/]/, '')), buttonLabel: 'Result Preview' }),
|
|
47307
47357
|
(host !== 'web' && currFileExtension === 'zip') &&
|
|
47308
47358
|
preview && typeof preview === 'string' &&
|
|
47309
|
-
React__default["default"].createElement(SendResults, { results: JSON.parse(preview), defaultKey: selArtifact.file_name, buttonLabel: 'Result Preview' }),
|
|
47359
|
+
React__default["default"].createElement(SendResults, { results: JSON.parse(preview), defaultKey: (selArtifact === null || selArtifact === void 0 ? void 0 : selArtifact.file_name) || (selFilePath === null || selFilePath === void 0 ? void 0 : selFilePath.replace(/^.*[\\\/]/, '')), buttonLabel: 'Result Preview' }),
|
|
47310
47360
|
(host === 'web') &&
|
|
47311
47361
|
React__default["default"].createElement(Button, { type: 'button', onClick: function () { return download(currBlob, selArtifact.file_name); }, disabled: !currBlob, style: {
|
|
47312
47362
|
width: 'fit-content',
|