pollination-react-io 1.64.0 → 1.65.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/CreateStudy/CreateStudy.types.d.ts +2 -2
- package/build/SelectRecipe/SelectRecipe.types.d.ts +3 -3
- package/build/hooks/useCreateStudy.d.ts +4 -2
- package/build/hooks/usePollinationPanel.d.ts +1 -0
- package/build/index.esm.js +78 -22
- package/build/index.esm.js.map +1 -1
- package/build/index.js +78 -22
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
@@ -38146,6 +38146,26 @@ var usePollinationPanel = function () {
|
|
38146
38146
|
return undefined;
|
38147
38147
|
}
|
38148
38148
|
};
|
38149
|
+
/**
|
38150
|
+
* Count number of simulation by platform
|
38151
|
+
* @param projectSlug Project slug
|
38152
|
+
* @returns Object with platform count
|
38153
|
+
*/
|
38154
|
+
var getPlatforms = function (projectSlug) {
|
38155
|
+
if (!panel)
|
38156
|
+
return;
|
38157
|
+
var count = {};
|
38158
|
+
try {
|
38159
|
+
var message = panel.GetJob(projectSlug);
|
38160
|
+
var arr = JSON.parse(message.data);
|
38161
|
+
arr.forEach(function (i) { count[i.platform] = (count[i.platform] || 0) + 1; });
|
38162
|
+
return count;
|
38163
|
+
}
|
38164
|
+
catch (error) {
|
38165
|
+
// Do nothing. It is written at the end
|
38166
|
+
return undefined;
|
38167
|
+
}
|
38168
|
+
};
|
38149
38169
|
/**
|
38150
38170
|
* Delete job with the same input/ouput folder from DB
|
38151
38171
|
* @param projectSlug Project slug
|
@@ -38176,7 +38196,8 @@ var usePollinationPanel = function () {
|
|
38176
38196
|
fileExplorer: fileExplorer,
|
38177
38197
|
getPaginatedJob: getPaginatedJob,
|
38178
38198
|
getJob: getJob,
|
38179
|
-
deleteJob: deleteJob
|
38199
|
+
deleteJob: deleteJob,
|
38200
|
+
getPlatforms: getPlatforms
|
38180
38201
|
};
|
38181
38202
|
};
|
38182
38203
|
|
@@ -38348,13 +38369,14 @@ var useCreateStudy = function (accountName, projectName, client) {
|
|
38348
38369
|
});
|
38349
38370
|
}, [accountName, client, processEntryCloud, projectName]);
|
38350
38371
|
var createLocalStudy = React.useCallback(function (_a, data, _b, onSuccess, key) {
|
38351
|
-
var name = _a.name, description = _a.description, recipe = _a.recipe;
|
38372
|
+
var name = _a.name, description = _a.description, recipe = _a.recipe, recipeFilter = _a.recipeFilter;
|
38352
38373
|
var localCPUCount = _b.localCPUCount, localRunFolder = _b.localRunFolder, isLocalJob = _b.isLocalJob, cloudProjectName = _b.cloudProjectName, cloudProjectOwner = _b.cloudProjectOwner;
|
38353
38374
|
if (key === void 0) { key = performance.now().toString(); }
|
38354
38375
|
return __awaiter$1(void 0, void 0, void 0, function () {
|
38355
38376
|
var job, jobInfo, response;
|
38356
|
-
|
38357
|
-
|
38377
|
+
var _c;
|
38378
|
+
return __generator$1(this, function (_d) {
|
38379
|
+
switch (_d.label) {
|
38358
38380
|
case 0:
|
38359
38381
|
if (!checkDotNet || !client || !uploadArtifact)
|
38360
38382
|
return [2 /*return*/];
|
@@ -38379,9 +38401,9 @@ var useCreateStudy = function (accountName, projectName, client) {
|
|
38379
38401
|
// JobInfo mapping
|
38380
38402
|
];
|
38381
38403
|
case 1:
|
38382
|
-
job =
|
38404
|
+
job = _d.sent();
|
38383
38405
|
jobInfo = {
|
38384
|
-
RecipeOwner: '',
|
38406
|
+
RecipeOwner: (_c = recipeFilter.owner) !== null && _c !== void 0 ? _c : 'ladybug-tools',
|
38385
38407
|
Recipe: recipe,
|
38386
38408
|
Job: job,
|
38387
38409
|
IsLocalJob: isLocalJob,
|
@@ -41278,8 +41300,14 @@ var ComboFileSelector = function (_a) {
|
|
41278
41300
|
return (React__default["default"].createElement(SelectCloudArtifacts, { projectOwner: projectOwner, projectName: projectName, value: value, hidden: hidden, fileNameMatch: typeof inputProps.accept === 'string' ?
|
41279
41301
|
".*(".concat(inputProps.accept.replace(/\./g, '').split(', ').join('$|'), "$)") : '.*', onChange: onChange, client: client }));
|
41280
41302
|
case 'get_local':
|
41281
|
-
return (React__default["default"].createElement(SelectLocalArtifactNative, { onChange: handleLocalArtifactSelect, buttonLabel:
|
41282
|
-
|
41303
|
+
return (React__default["default"].createElement(SelectLocalArtifactNative, { onChange: handleLocalArtifactSelect, buttonLabel: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.accept)
|
41304
|
+
? "Select ".concat(inputProps.accept.split(',').length > 1
|
41305
|
+
? 'any of'
|
41306
|
+
: 'an', " ").concat(inputProps.accept, " ").concat(inputProps.accept.split(',').length > 1
|
41307
|
+
? 'file types' : 'file', ".")
|
41308
|
+
: 'Select a file.', fileMatchPattern: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.accept)
|
41309
|
+
? "File types ".concat(inputProps.accept, "|*").concat(inputProps.accept.split(', ').join(';*'))
|
41310
|
+
: 'File types | *.*' }));
|
41283
41311
|
default:
|
41284
41312
|
return (React__default["default"].createElement(FileInput, { onChange: onChange, inputProps: inputProps, accept: typeof inputProps.accept === 'string' ?
|
41285
41313
|
inputProps.accept.split(', ') : undefined }));
|
@@ -42421,7 +42449,7 @@ var SelectRecipe = function (_a) {
|
|
42421
42449
|
var data;
|
42422
42450
|
return __generator$1(this, function (_a) {
|
42423
42451
|
switch (_a.label) {
|
42424
|
-
case 0: return [4 /*yield*/, client.projects.
|
42452
|
+
case 0: return [4 /*yield*/, client.projects.getProjectRecipeFilters(queryConfig)];
|
42425
42453
|
case 1:
|
42426
42454
|
data = (_a.sent()).data;
|
42427
42455
|
setRecipes(function (state) { return state ? __spreadArray(__spreadArray([], state, true), data.resources, true) : __spreadArray([], data.resources, true); });
|
@@ -42444,8 +42472,8 @@ var SelectRecipe = function (_a) {
|
|
42444
42472
|
return;
|
42445
42473
|
}
|
42446
42474
|
// if (selRecipe == null) return
|
42447
|
-
if (selRecipe && selRecipe.
|
42448
|
-
comboBoxRef.current.setInputValue(selRecipe.
|
42475
|
+
if (selRecipe && selRecipe.name) {
|
42476
|
+
comboBoxRef.current.setInputValue(selRecipe.name);
|
42449
42477
|
}
|
42450
42478
|
comboBoxRef.current.selectItem(selRecipe);
|
42451
42479
|
valueRef.current = selRecipe;
|
@@ -42457,12 +42485,11 @@ var SelectRecipe = function (_a) {
|
|
42457
42485
|
return;
|
42458
42486
|
setPageNumber(projectApiRef.current.page + 1);
|
42459
42487
|
}, []);
|
42460
|
-
return (React__default["default"].createElement(ComboBox, { ref: comboBoxRef, items: (_b = recipes === null || recipes === void 0 ? void 0 : recipes.map(function (r, i) { return (__assign(__assign({}, r), { name: "".concat(r.
|
42488
|
+
return (React__default["default"].createElement(ComboBox, { ref: comboBoxRef, items: (_b = recipes === null || recipes === void 0 ? void 0 : recipes.map(function (r, i) { return (__assign(__assign({}, r), { name: "".concat(r.name, "-").concat(r.tag), id: "".concat(r.name, "-").concat(r.tag) })); })) !== null && _b !== void 0 ? _b : [], onClear: function () { return setSelRecipe(undefined); }, renderItem: function (item) { return (React__default["default"].createElement("div", { style: {
|
42461
42489
|
display: 'flex',
|
42462
42490
|
alignItems: 'center',
|
42463
42491
|
gap: 8,
|
42464
|
-
}, id: "".concat(item.
|
42465
|
-
React__default["default"].createElement(Avatar, { src: item.metadata.icon, alt: item.metadata.name, fallback: item.metadata.name, size: 24 }), "".concat(item.metadata.name, "-").concat(item.metadata.tag))); }, setSelected: setSelRecipe, inputProps: {
|
42492
|
+
}, id: "".concat(item.name, "-").concat(item.tag) }, item.name)); }, setSelected: setSelRecipe, inputProps: {
|
42466
42493
|
placeholder: 'Select a recipe...',
|
42467
42494
|
}, loading: loading, disabled: !authUser || !projectName, footer: (React__default["default"].createElement("div", { key: "footer", style: {
|
42468
42495
|
width: '100%',
|
@@ -44785,15 +44812,15 @@ var RecipeForm = function (_a) {
|
|
44785
44812
|
: React__default["default"].createElement(TextInput, { key: i.name, inputProps: __assign(__assign({}, register(i.name)), { defaultValue: i.default }), reset: function () { return handleReset(i); } });
|
44786
44813
|
case InputType.DAGFileInput:
|
44787
44814
|
return React__default["default"].createElement(Controller, { name: i.name, control: control, defaultValue: i.default, render: function (_a) {
|
44788
|
-
var _b, _c
|
44789
|
-
var
|
44815
|
+
var _b, _c;
|
44816
|
+
var _d = _a.field, value = _d.value, onChange = _d.onChange, field = __rest(_d, ["value", "onChange"]);
|
44790
44817
|
return React__default["default"].createElement(ComboFileSelector, { projectOwner: projectOwner, projectName: projectName, defaultOption: i.extensions &&
|
44791
44818
|
((_b = i.extensions) === null || _b === void 0 ? void 0 : _b.includes('hbjson')) &&
|
44792
44819
|
host !== 'web' ? 'get_model' : 'get_cloud', optionsConfig: {
|
44793
|
-
get_model:
|
44820
|
+
get_model: host !== 'web' && i.extensions && i.extensions.includes('hbjson'),
|
44794
44821
|
get_local: host !== 'web',
|
44795
44822
|
get_file: host === 'web'
|
44796
|
-
}, value: value, onChange: onChange, inputProps: __assign(__assign({}, field), { accept: i.extensions && ((
|
44823
|
+
}, value: value, onChange: onChange, inputProps: __assign(__assign({}, field), { accept: i.extensions && ((_c = i.extensions) === null || _c === void 0 ? void 0 : _c.map(function (e) { return ".".concat(e); }).join(', ')) }), client: client });
|
44797
44824
|
} });
|
44798
44825
|
// Others...
|
44799
44826
|
default:
|
@@ -44878,11 +44905,38 @@ var CreateStudy = function (_a) {
|
|
44878
44905
|
var _d = React.useState(0), activeTabIndex = _d[0], setActiveTabIndex = _d[1];
|
44879
44906
|
var _e = React.useState(defaultAccount), selAccount = _e[0], setSelAccount = _e[1];
|
44880
44907
|
var _f = React.useState(defaultProject), selProject = _f[0], setSelProject = _f[1];
|
44881
|
-
var _g = React.useState(
|
44908
|
+
var _g = React.useState(), selRecipe = _g[0], setSelRecipe = _g[1];
|
44909
|
+
var _h = React.useState(defaultRecipe), selRecipeFilter = _h[0], setSelRecipeFilter = _h[1];
|
44910
|
+
React.useEffect(function () {
|
44911
|
+
if (!selRecipeFilter) {
|
44912
|
+
setSelRecipe(undefined);
|
44913
|
+
return;
|
44914
|
+
}
|
44915
|
+
// Remove tag from name
|
44916
|
+
var clearName = selRecipeFilter
|
44917
|
+
.name.replace(selRecipeFilter.tag, '')
|
44918
|
+
.slice(0, -1);
|
44919
|
+
// If * use latest
|
44920
|
+
var conditionalTag = selRecipeFilter.tag === '*'
|
44921
|
+
? 'latest'
|
44922
|
+
: selRecipeFilter.tag;
|
44923
|
+
client.recipes.getRecipeByTag({
|
44924
|
+
owner: selRecipeFilter.owner,
|
44925
|
+
name: clearName,
|
44926
|
+
tag: conditionalTag
|
44927
|
+
})
|
44928
|
+
.then(function (d) {
|
44929
|
+
setSelRecipe(d.data.manifest);
|
44930
|
+
}).catch(function (err) {
|
44931
|
+
_t.error('Recipe not found. Try a new tag!', { duration: 2000, position: 'top-center', style: { minWidth: '300px', fontSize: '14px' }
|
44932
|
+
});
|
44933
|
+
setSelRecipe(undefined);
|
44934
|
+
});
|
44935
|
+
}, [selRecipeFilter]);
|
44882
44936
|
// @ts-ignore
|
44883
44937
|
var projectOwner = selAccount ? ((_b = selAccount.username) !== null && _b !== void 0 ? _b : selAccount.account_name) : undefined;
|
44884
44938
|
var projectSlug = selProject ? selProject.slug.split('/')[1] : undefined;
|
44885
|
-
var
|
44939
|
+
var _j = useCreateStudy(projectOwner, projectSlug, client), host = _j.host, createStudy = _j.createStudy, createLocalStudy = _j.createLocalStudy;
|
44886
44940
|
React.useEffect(function () {
|
44887
44941
|
if (!selRecipe)
|
44888
44942
|
return;
|
@@ -44900,7 +44954,7 @@ var CreateStudy = function (_a) {
|
|
44900
44954
|
onSuccess(projectJobInfo, true);
|
44901
44955
|
}
|
44902
44956
|
else {
|
44903
|
-
_t.success('Study submitted!', { duration: 4000, position: 'bottom-left', style: { minWidth: '300px', fontSize: '
|
44957
|
+
_t.success('Study submitted!', { duration: 4000, position: 'bottom-left', style: { minWidth: '300px', fontSize: '14px' }
|
44904
44958
|
});
|
44905
44959
|
setTimeout(function () {
|
44906
44960
|
window.location.href = "".concat(basePath, "/").concat(projectJobInfo.accountName, "/projects/").concat(projectJobInfo.projectName, "/studies/").concat(projectJobInfo.studyId, "?tab=details&perPage=5&status=null&page=1");
|
@@ -44936,6 +44990,7 @@ var CreateStudy = function (_a) {
|
|
44936
44990
|
name: name,
|
44937
44991
|
recipe: selRecipe,
|
44938
44992
|
description: description !== null && description !== void 0 ? description : 'Study created from pollination',
|
44993
|
+
recipeFilter: selRecipeFilter
|
44939
44994
|
}, jobArgs, localConfig, localConfig.isLocalJob ? _onSuccessLocal : _onSuccessCloud);
|
44940
44995
|
}
|
44941
44996
|
else {
|
@@ -44974,7 +45029,8 @@ var CreateStudy = function (_a) {
|
|
44974
45029
|
React__default["default"].createElement(SelectProject, { authUser: authUser, client: client, onChange: setSelProject, projectOwner: projectOwner, value: selProject })),
|
44975
45030
|
React__default["default"].createElement(Label, { label: selRecipe && selRecipe.metadata ?
|
44976
45031
|
selRecipe.metadata.name : 'Recipe' },
|
44977
|
-
React__default["default"].createElement(SelectRecipe, { authUser: authUser, client: client, projectOwner: projectOwner, projectName: selProject ? selProject.name : undefined, onChange:
|
45032
|
+
React__default["default"].createElement(SelectRecipe, { authUser: authUser, client: client, projectOwner: projectOwner, projectName: selProject ? selProject.name : undefined, onChange: setSelRecipeFilter, value: selRecipeFilter }),
|
45033
|
+
React__default["default"].createElement(Ie, null)))),
|
44978
45034
|
selRecipe &&
|
44979
45035
|
React__default["default"].createElement(React__default["default"].Fragment, null,
|
44980
45036
|
React__default["default"].createElement(TabPanel, { style: {
|