pollination-react-io 1.102.0 → 1.103.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.
@@ -56349,21 +56349,21 @@ var formatDuration$1 = function (duration) {
56349
56349
  var StudyCard = function (_a) {
56350
56350
  var _b;
56351
56351
  var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
56352
- var projectName = _a.projectName, projectOwner = _a.projectOwner, _study = _a.study, style = _a.style, authUser = _a.authUser, client = _a.client, enableClick = _a.enableClick, _1 = _a.getTab, getTab = _1 === void 0 ? function (tab) { } : _1, _2 = _a.defaultTab, defaultTab = _2 === void 0 ? '' : _2, _3 = _a.enableLink, enableLink = _3 === void 0 ? false : _3, _4 = _a.canWrite, canWrite = _4 === void 0 ? false : _4, _5 = _a.getValue, getValue = _5 === void 0 ? function (job) { } : _5, _6 = _a.interval, interval = _6 === void 0 ? 5000 : _6;
56352
+ var projectName = _a.projectName, projectOwner = _a.projectOwner, _study = _a.study, _1 = _a.style, style = _1 === void 0 ? {} : _1, authUser = _a.authUser, client = _a.client, enableClick = _a.enableClick, _2 = _a.getTab, getTab = _2 === void 0 ? function (tab) { } : _2, _3 = _a.defaultTab, defaultTab = _3 === void 0 ? '' : _3, _4 = _a.enableLink, enableLink = _4 === void 0 ? false : _4, _5 = _a.canWrite, canWrite = _5 === void 0 ? false : _5, _6 = _a.getValue, getValue = _6 === void 0 ? function (job) { } : _6, _7 = _a.interval, interval = _7 === void 0 ? 5000 : _7;
56353
56353
  /**
56354
56354
  * Fetch hooks
56355
56355
  */
56356
- var _7 = useJobs(client), fetchJob = _7.fetchJob, getDuration = _7.getDuration, statusMap = _7.statusMap, deleteJob = _7.deleteJob, cancelJob = _7.cancelJob, retryFailedRuns = _7.retryFailedRuns;
56357
- var _8 = useRuns(client), listRuns = _8.listRuns, getTrigger = _8.getTrigger;
56356
+ var _8 = useJobs(client), fetchJob = _8.fetchJob, getDuration = _8.getDuration, statusMap = _8.statusMap, deleteJob = _8.deleteJob, cancelJob = _8.cancelJob, retryFailedRuns = _8.retryFailedRuns;
56357
+ var _9 = useRuns(client), listRuns = _9.listRuns, getTrigger = _9.getTrigger;
56358
56358
  var width = useWindowDimensions().width;
56359
- var _9 = useState(false), seeDescription = _9[0], setSeeDescription = _9[1];
56360
- var _10 = useState(false), seeAction = _10[0], setSeeAction = _10[1];
56361
- var _11 = useState(false), isReady = _11[0], setIsReady = _11[1];
56362
- var _12 = useState(false), retryLoading = _12[0], setRetryLoading = _12[1];
56359
+ var _10 = useState(false), seeDescription = _10[0], setSeeDescription = _10[1];
56360
+ var _11 = useState(false), seeAction = _11[0], setSeeAction = _11[1];
56361
+ var _12 = useState(false), isReady = _12[0], setIsReady = _12[1];
56362
+ var _13 = useState(false), retryLoading = _13[0], setRetryLoading = _13[1];
56363
56363
  /**
56364
56364
  * From job to run
56365
56365
  */
56366
- var study = useSWR(authUser && _study ? [projectOwner, projectName, _study.id] : undefined, fetchJob, {
56366
+ var _14 = useSWR(authUser && _study ? [projectOwner, projectName, _study.id] : undefined, fetchJob, {
56367
56367
  revalidateOnFocus: true,
56368
56368
  refreshWhenHidden: true,
56369
56369
  refreshInterval: interval,
@@ -56395,7 +56395,7 @@ var StudyCard = function (_a) {
56395
56395
  setIsReady(true);
56396
56396
  }
56397
56397
  }
56398
- }).data;
56398
+ }), study = _14.data, mutate = _14.mutate;
56399
56399
  var sendJob = useCallback(function (job) { return getValue(job); }, [study]);
56400
56400
  var total = useMemo(function () {
56401
56401
  if (!study)
@@ -56419,25 +56419,23 @@ var StudyCard = function (_a) {
56419
56419
  }
56420
56420
  return study.status.status.toLocaleLowerCase();
56421
56421
  }, [study]);
56422
- var _13 = useState(), run = _13[0], setRun = _13[1];
56423
- var _14 = useState(getDuration(study)), duration = _14[0], setDuration = _14[1];
56422
+ var _15 = useState(), run = _15[0], setRun = _15[1];
56423
+ var _16 = useState(new Date()), time = _16[0], setTime = _16[1];
56424
56424
  useEffect(function () {
56425
- setRun(undefined);
56426
- if (!study)
56427
- return undefined;
56428
- if (study.status.finished_at) {
56429
- setDuration(getDuration(study));
56430
- return;
56431
- }
56432
- var handle = setInterval(function () {
56433
- setDuration(getDuration(study));
56425
+ var interval = setInterval(function () {
56426
+ setTime(new Date());
56434
56427
  }, 1000);
56435
- return function () { return clearInterval(handle); };
56436
- }, [study, getDuration]);
56428
+ return function () { return clearInterval(interval); };
56429
+ }, []);
56430
+ var duration = useMemo(function () {
56431
+ if (!study || !time)
56432
+ return dayjs_min.duration({ seconds: 0 });
56433
+ return getDuration(study);
56434
+ }, [study, getDuration, time]);
56437
56435
  /*
56438
56436
  * Manage hover
56439
56437
  */
56440
- var initialValues = {
56438
+ var initialValues = useMemo(function () { return ({
56441
56439
  account: false,
56442
56440
  project: false,
56443
56441
  details: false,
@@ -56450,22 +56448,22 @@ var StudyCard = function (_a) {
56450
56448
  recipe: false,
56451
56449
  info: false,
56452
56450
  settings: false
56453
- };
56454
- var _15 = useState(__assign(__assign({}, initialValues), (_b = {}, _b[defaultTab] = true, _b))), hover = _15[0], setHover = _15[1];
56451
+ }); }, []);
56452
+ var _17 = useState(__assign(__assign({}, initialValues), (_b = {}, _b[defaultTab] = true, _b))), hover = _17[0], setHover = _17[1];
56455
56453
  var toggleHover = useCallback(function (id, value) {
56456
56454
  if (value === void 0) { value = false; }
56457
56455
  setHover(function (prevHover) {
56458
56456
  var _a;
56459
56457
  return (__assign(__assign({}, prevHover), (_a = {}, _a[id] = value, _a)));
56460
56458
  });
56461
- }, [hover]);
56459
+ }, [setHover]);
56462
56460
  /*
56463
56461
  * Reset hover and use default tab
56464
56462
  */
56465
56463
  useEffect(function () {
56466
56464
  var _a;
56467
56465
  setHover(__assign(__assign({}, initialValues), (_a = {}, _a[defaultTab] = true, _a)));
56468
- }, [defaultTab]);
56466
+ }, [defaultTab, initialValues, setHover]);
56469
56467
  return (React__default.createElement("div", { className: (isReady && enableClick) ? "grid-container ".concat(isReady && !((_c = study === null || study === void 0 ? void 0 : study.status) === null || _c === void 0 ? void 0 : _c.finished_at) && 'blink-effect')
56470
56468
  : "grid-container disable-click ".concat(isReady && !((_d = study === null || study === void 0 ? void 0 : study.status) === null || _d === void 0 ? void 0 : _d.finished_at) && 'blink-effect'), tabIndex: 0, role: 'button', style: __assign({ borderColor: (_f = (_e = statusMap[status]) === null || _e === void 0 ? void 0 : _e.color) !== null && _f !== void 0 ? _f : '#d0d7de' }, style), onClick: function () {
56471
56469
  if (!enableClick)
@@ -56478,6 +56476,7 @@ var StudyCard = function (_a) {
56478
56476
  }
56479
56477
  else ;
56480
56478
  } },
56479
+ React__default.createElement(Ie, null),
56481
56480
  React__default.createElement("div", { className: 'item1' },
56482
56481
  React__default.createElement("a", { className: 'link', style: { all: 'unset', cursor: 'pointer', marginRight: '0.25rem',
56483
56482
  color: "".concat(hover.account ? '#40a9ff' : '#000') }, title: 'Go to account page', onMouseOver: function (e) { return toggleHover('account', true); }, onMouseLeave: function (e) { return toggleHover('account', false); }, href: study && "/".concat(study.owner.name) }, ((projectOwner === null || projectOwner === void 0 ? void 0 : projectOwner.length) > 20)
@@ -56614,32 +56613,70 @@ var StudyCard = function (_a) {
56614
56613
  seeDescription && React__default.createElement(React__default.Fragment, null,
56615
56614
  React__default.createElement("div", { className: 'item7' }, study ? study.spec.description : '--')),
56616
56615
  seeAction && width && React__default.createElement(React__default.Fragment, null,
56617
- React__default.createElement("div", { className: 'item7' },
56618
- React__default.createElement(Button, { style: (width > 600)
56619
- ? { display: 'inline', margin: '0 10px 0 0' }
56620
- : { display: 'inline', float: 'right', margin: '0 10px 0 0' }, disabled: !study || (![dist$1.JobStatusEnum.Cancelled, dist$1.JobStatusEnum.Completed].includes(study.status.status)), onClick: function (e) {
56616
+ React__default.createElement("div", { className: 'item7', style: { display: 'flex' } },
56617
+ React__default.createElement(Button, { style: { marginRight: '0.75rem' }, disabled: !study || (![dist$1.JobStatusEnum.Cancelled, dist$1.JobStatusEnum.Completed].includes(study.status.status)), onClick: function (e) {
56621
56618
  e.stopPropagation();
56622
56619
  if (!study)
56623
56620
  return;
56624
- deleteJob(projectOwner, projectName, study.id)
56625
- .then(function (d) { return document.location = "/".concat(projectOwner, "/projects/").concat(projectName); })
56626
- .catch(function (e) { return console.log(e); });
56621
+ n$1.promise(deleteJob(projectOwner, projectName, study.id), {
56622
+ loading: 'Deleting study...',
56623
+ success: 'Study deleted',
56624
+ error: function (err) {
56625
+ console.log(err);
56626
+ return "Failed to delete study: ".concat(err);
56627
+ }
56628
+ }, {
56629
+ style: { minWidth: '300px', fontSize: '12px' },
56630
+ success: {
56631
+ duration: 5000,
56632
+ icon: '🔥',
56633
+ position: 'bottom-left'
56634
+ },
56635
+ error: {
56636
+ duration: 5000,
56637
+ position: 'bottom-left'
56638
+ },
56639
+ loading: {
56640
+ position: 'bottom-left'
56641
+ }
56642
+ }).finally(function () {
56643
+ mutate();
56644
+ });
56627
56645
  } },
56628
56646
  React__default.createElement(Trash$1, { style: { display: 'inline', margin: '0 5px 0 0' } }),
56629
56647
  " Delete"),
56630
- React__default.createElement(Button, { style: (width > 600) ?
56631
- { display: 'inline', margin: '0 10px 0 0' }
56632
- : { display: 'inline', float: 'left', margin: '0 10px 0 0' }, disabled: !study || (study.status.runs_pending < 1 && study.status.runs_running < 1), onClick: function (e) {
56648
+ React__default.createElement(Button, { style: { marginRight: '0.75rem' }, disabled: !study || (study.status.runs_pending < 1 && study.status.runs_running < 1), onClick: function (e) {
56633
56649
  e.stopPropagation();
56634
56650
  if (!study)
56635
56651
  return;
56636
- cancelJob(projectOwner, projectName, study.id)
56637
- .then(function (d) { return console.log(d); })
56638
- .catch(function (e) { return console.log(e); });
56652
+ n$1.promise(cancelJob(projectOwner, projectName, study.id), {
56653
+ loading: 'Cancelling study...',
56654
+ success: 'Study cancelled',
56655
+ error: function (err) {
56656
+ console.log(err);
56657
+ return "Failed to cancel study: ".concat(err);
56658
+ }
56659
+ }, {
56660
+ style: { minWidth: '300px', fontSize: '12px' },
56661
+ success: {
56662
+ duration: 5000,
56663
+ icon: '🔥',
56664
+ position: 'bottom-left'
56665
+ },
56666
+ error: {
56667
+ duration: 5000,
56668
+ position: 'bottom-left'
56669
+ },
56670
+ loading: {
56671
+ position: 'bottom-left'
56672
+ }
56673
+ }).finally(function () {
56674
+ mutate();
56675
+ });
56639
56676
  } },
56640
56677
  React__default.createElement(XOctagon$1, { style: { display: 'inline', margin: '0 5px 0 0' } }),
56641
56678
  " Cancel"),
56642
- React__default.createElement(Button, { style: (width > 600) ? { display: 'inline' } : { display: 'inline', float: 'left' }, disabled: !study || (study.status.runs_cancelled == 0 && study.status.runs_failed == 0), loading: retryLoading, onClick: function (e) {
56679
+ React__default.createElement(Button, { style: { marginRight: '0.75rem' }, disabled: !study || (study.status.runs_cancelled == 0 && study.status.runs_failed == 0), loading: retryLoading, onClick: function (e) {
56643
56680
  setRetryLoading(true);
56644
56681
  e.stopPropagation();
56645
56682
  if (!study)
@@ -56666,6 +56703,7 @@ var StudyCard = function (_a) {
56666
56703
  position: 'bottom-left'
56667
56704
  }
56668
56705
  }).finally(function () {
56706
+ mutate();
56669
56707
  setRetryLoading(false);
56670
56708
  });
56671
56709
  } },
@@ -56731,7 +56769,7 @@ var RunCard = function (_a) {
56731
56769
  setStopRefresh(true);
56732
56770
  setIsReady(true);
56733
56771
  }
56734
- }), run = _11.data, error = _11.error;
56772
+ }), run = _11.data, error = _11.error, mutate = _11.mutate;
56735
56773
  var sendRun = useCallback(function (run) { return getValue(run); }, [getValue]);
56736
56774
  /**
56737
56775
  * Fetch job just one time
@@ -56757,15 +56795,18 @@ var RunCard = function (_a) {
56757
56795
  }, [run]);
56758
56796
  var _12 = useState(), study = _12[0], setStudy = _12[1];
56759
56797
  var _13 = useState(), localStudy = _13[0], setLocalStudy = _13[1];
56760
- var _14 = useState(getDuration(run)), duration = _14[0], setDuration = _14[1];
56798
+ var _14 = useState(new Date()), time = _14[0], setTime = _14[1];
56761
56799
  useEffect(function () {
56762
- if (!run)
56763
- return;
56764
- var handle = setInterval(function () {
56765
- setDuration(getDuration(run));
56800
+ var interval = setInterval(function () {
56801
+ setTime(new Date());
56766
56802
  }, 1000);
56767
- return function () { return clearInterval(handle); };
56768
- }, [run, getDuration]);
56803
+ return function () { return clearInterval(interval); };
56804
+ }, []);
56805
+ var duration = useMemo(function () {
56806
+ if (!run || !time)
56807
+ return dayjs_min.duration({ seconds: 0 });
56808
+ return getDuration(run);
56809
+ }, [run, getDuration, time]);
56769
56810
  /**
56770
56811
  * Manage hover effect
56771
56812
  */
@@ -56840,6 +56881,7 @@ var RunCard = function (_a) {
56840
56881
  window.location.href = "/".concat(projectOwner, "/projects/").concat(projectName, "/localStudies/").concat(localStudyURLname, "/?path=").concat(_run.id, "&subfolder=").concat(_run['subfolder']);
56841
56882
  }
56842
56883
  } },
56884
+ React__default.createElement(Ie, null),
56843
56885
  React__default.createElement("div", { className: 'item1' },
56844
56886
  React__default.createElement("a", { className: 'link', style: { all: 'unset', cursor: 'pointer', marginRight: '0.25rem',
56845
56887
  color: "".concat(hover.account ? '#40a9ff' : '#000') }, title: 'Go to account page', onMouseOver: function (e) { return toggleHover('account', true); }, onMouseLeave: function (e) { return toggleHover('account', false); }, onClick: function (e) {
@@ -57008,15 +57050,39 @@ var RunCard = function (_a) {
57008
57050
  seeAction && width && React__default.createElement(React__default.Fragment, null,
57009
57051
  React__default.createElement("div", { className: 'item7', style: { display: 'flex' } },
57010
57052
  !localRun && (React__default.createElement(React__default.Fragment, null,
57011
- React__default.createElement(Button, { style: { marginRight: '0.75rem' }, disabled: !run || [dist$1.RunStatusEnum.Failed, dist$1.RunStatusEnum.Succeeded, dist$1.RunStatusEnum.Cancelled, dist$1.RunStatusEnum.Unknown].includes(run.status.status), onClick: function (e) {
57053
+ React__default.createElement(Button, { style: { marginRight: '0.75rem' },
57054
+ // disabled={!run || [RunStatusEnum.Failed, RunStatusEnum.Succeeded, RunStatusEnum.Cancelled, RunStatusEnum.Unknown].includes(run.status.status)}
57055
+ onClick: function (e) {
57012
57056
  e.stopPropagation();
57013
57057
  if (!run)
57014
57058
  return;
57015
- cancelRun(projectOwner, projectName, run.id)
57016
- .then(function (d) {
57017
- mutate(swrKey);
57018
- })
57019
- .catch(function (e) { return console.log(e); });
57059
+ n$1.promise(cancelRun(projectOwner, projectName, run.id), {
57060
+ loading: 'Cancelling run...',
57061
+ success: function (data) {
57062
+ setStopRefresh(false);
57063
+ return 'Run cancelled';
57064
+ },
57065
+ error: function (err) {
57066
+ console.log(err);
57067
+ return "Failed to cancel run: ".concat(err);
57068
+ },
57069
+ }, {
57070
+ style: { minWidth: '300px', fontSize: '12px' },
57071
+ success: {
57072
+ duration: 5000,
57073
+ icon: '🔥',
57074
+ position: 'bottom-left'
57075
+ },
57076
+ error: {
57077
+ duration: 5000,
57078
+ position: 'bottom-left'
57079
+ },
57080
+ loading: {
57081
+ position: 'bottom-left'
57082
+ }
57083
+ }).finally(function () {
57084
+ mutate();
57085
+ });
57020
57086
  } },
57021
57087
  React__default.createElement(XOctagon$1, { style: { display: 'inline', margin: '0 5px 0 0' } }),
57022
57088
  " Cancel"),
@@ -57031,7 +57097,6 @@ var RunCard = function (_a) {
57031
57097
  loading: 'Retrying run...',
57032
57098
  success: function (data) {
57033
57099
  setStopRefresh(false);
57034
- mutate(swrKey);
57035
57100
  return 'Retry in progress. Please wait.';
57036
57101
  },
57037
57102
  error: function (err) {
@@ -57053,12 +57118,12 @@ var RunCard = function (_a) {
57053
57118
  position: 'bottom-left'
57054
57119
  }
57055
57120
  }).finally(function () {
57121
+ mutate();
57056
57122
  setRetryLoading(false);
57057
57123
  });
57058
57124
  } },
57059
57125
  React__default.createElement(Recycle$1, { style: { display: 'inline', margin: '0 5px 0 0' } }),
57060
- " Retry"),
57061
- React__default.createElement(Ie, null))),
57126
+ " Retry"))),
57062
57127
  localRun && React__default.createElement(Button, { disabled: !run || !run.status.finished_at, onClick: function (e) {
57063
57128
  e.stopPropagation();
57064
57129
  if (!run)