pollination-react-io 1.18.0 → 1.18.2

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.
@@ -8,6 +8,7 @@ export interface ComboBoxProps {
8
8
  }[];
9
9
  renderItem?: (item: any, i?: number, arr?: any[]) => ReactNode;
10
10
  setSelected?: (item: any) => void;
11
+ onClear?: () => void;
11
12
  onScrollReachEnd?: (...args: any) => void;
12
13
  stateReducer?: (state: UseComboboxState<{
13
14
  id: string;
@@ -8647,12 +8647,11 @@ var ScrollZone = function (_a) {
8647
8647
 
8648
8648
  var ICON_SIZE = 18;
8649
8649
  var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
8650
- var _b;
8651
- var items = _a.items, renderItem = _a.renderItem, setSelected = _a.setSelected, onScrollReachEnd = _a.onScrollReachEnd, _c = _a.stateReducer, stateReducer = _c === void 0 ? function (state, _a) {
8650
+ var items = _a.items, renderItem = _a.renderItem, setSelected = _a.setSelected, onClear = _a.onClear, onScrollReachEnd = _a.onScrollReachEnd, _b = _a.stateReducer, stateReducer = _b === void 0 ? function (state, _a) {
8652
8651
  _a.type; var changes = _a.changes;
8653
8652
  return changes;
8654
- } : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, hidden = _a.hidden, _e = _a.loading, loading = _e === void 0 ? false : _e, _f = _a.icon, icon = _f === void 0 ? React__default.createElement(CursorText$1, null) : _f, inputStyle = _a.inputStyle, menuStyle = _a.menuStyle, _g = _a.maxHeight, maxHeight = _g === void 0 ? 180 : _g, inputProps = _a.inputProps, header = _a.header, footer = _a.footer, _h = _a.noMatchText, noMatchText = _h === void 0 ? 'No matching items' : _h;
8655
- var _j = useState(items), inputItems = _j[0], setInputItems = _j[1];
8653
+ } : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, hidden = _a.hidden, _d = _a.loading, loading = _d === void 0 ? false : _d, _e = _a.icon, icon = _e === void 0 ? React__default.createElement(CursorText$1, null) : _e, inputStyle = _a.inputStyle, menuStyle = _a.menuStyle, _f = _a.maxHeight, maxHeight = _f === void 0 ? 180 : _f, inputProps = _a.inputProps, header = _a.header, footer = _a.footer, _g = _a.noMatchText, noMatchText = _g === void 0 ? 'No matching items' : _g;
8654
+ var _h = useState(items), inputItems = _h[0], setInputItems = _h[1];
8656
8655
  useEffect(function () {
8657
8656
  setInputItems(items);
8658
8657
  }, [items]);
@@ -8661,7 +8660,7 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
8661
8660
  lodash_debounce(onScrollReachEnd, 1000, { leading: true, trailing: false })
8662
8661
  : undefined;
8663
8662
  }, [onScrollReachEnd]);
8664
- var _k = useCombobox({
8663
+ var _j = useCombobox({
8665
8664
  items: inputItems,
8666
8665
  onInputValueChange: function (_a) {
8667
8666
  var inputValue = _a.inputValue;
@@ -8676,20 +8675,22 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
8676
8675
  stateReducer: stateReducer
8677
8676
  // to what extent is this necessary?
8678
8677
  // environment: environment ? environment : undefined
8679
- }), isOpen = _k.isOpen, getToggleButtonProps = _k.getToggleButtonProps, getMenuProps = _k.getMenuProps, getInputProps = _k.getInputProps, getComboboxProps = _k.getComboboxProps, highlightedIndex = _k.highlightedIndex, getItemProps = _k.getItemProps, openMenu = _k.openMenu, closeMenu = _k.closeMenu, selectItem = _k.selectItem, selectedItem = _k.selectedItem, inputValue = _k.inputValue;
8678
+ }), isOpen = _j.isOpen, getToggleButtonProps = _j.getToggleButtonProps, getMenuProps = _j.getMenuProps, getInputProps = _j.getInputProps, getComboboxProps = _j.getComboboxProps, highlightedIndex = _j.highlightedIndex, getItemProps = _j.getItemProps, openMenu = _j.openMenu, closeMenu = _j.closeMenu, selectItem = _j.selectItem, selectedItem = _j.selectedItem, inputValue = _j.inputValue, setInputValue = _j.setInputValue;
8680
8679
  useImperativeHandle(ref, function () { return ({
8681
8680
  selectItem: selectItem,
8682
8681
  selectedItem: selectedItem,
8683
- inputValue: inputValue
8682
+ inputValue: inputValue,
8683
+ setInputValue: setInputValue,
8684
8684
  }); });
8685
8685
  useEffect(function () {
8686
- // @ts-ignore
8687
- // console.log('combobox: ', selectedItem && (selectedItem.name || selectedItem.file_name) ? selectedItem.name ?? selectedItem.file_name : undefined,)
8686
+ var _a;
8688
8687
  if (!selectedItem)
8689
8688
  return;
8689
+ // @ts-ignore
8690
+ setInputValue((_a = selectedItem.name) !== null && _a !== void 0 ? _a : selectedItem.file_name);
8690
8691
  setSelected && setSelected(selectedItem);
8691
8692
  closeMenu();
8692
- }, [closeMenu, selectedItem, setSelected]);
8693
+ }, [closeMenu, selectedItem, setInputValue, setSelected]);
8693
8694
  return (React__default.createElement("div", { "data-testid": "ComboBoxSelect", className: hidden ? undefined : 'poll-combobox' },
8694
8695
  React__default.createElement(ButtonGroup, { wrapperProps: __assign(__assign({}, getComboboxProps()), { style: __assign(__assign({}, inputStyle), { position: 'relative', width: '100%' }) }), disabled: disabled },
8695
8696
  React__default.createElement("input", __assign({}, getInputProps(__assign(__assign({ placeholder: 'Search for something...', spellCheck: false, disabled: disabled, style: {
@@ -8698,9 +8699,7 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
8698
8699
  borderBottomLeftRadius: isOpen ? 0 : 4,
8699
8700
  flex: 12,
8700
8701
  lineHeight: '1.5rem',
8701
- },
8702
- // @ts-ignore
8703
- value: selectedItem && (selectedItem.name || selectedItem.file_name) ? (_b = selectedItem.name) !== null && _b !== void 0 ? _b : selectedItem.file_name : '' }, inputProps), { onFocus: function () {
8702
+ } }, inputProps), { onFocus: function () {
8704
8703
  openMenu();
8705
8704
  }, type: hidden ? 'hidden' : undefined })))),
8706
8705
  !hidden &&
@@ -8722,15 +8721,16 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
8722
8721
  return React__default.createElement(React__default.Fragment, null);
8723
8722
  }
8724
8723
  else if (loading) {
8725
- React__default.createElement("button", { type: 'button', tabIndex: -1, disabled: disabled, style: {
8724
+ return (React__default.createElement("button", { type: 'button', tabIndex: -1, disabled: disabled, style: {
8726
8725
  borderBottomRightRadius: isOpen ? 0 : 4,
8727
8726
  } },
8728
- React__default.createElement(ArrowClockwise$1, { className: "spin", size: ICON_SIZE }));
8727
+ React__default.createElement(ArrowClockwise$1, { className: "spin", size: ICON_SIZE })));
8729
8728
  }
8730
- else if (selectItem) {
8729
+ else if (selectedItem) {
8731
8730
  return (React__default.createElement("button", { type: 'button', tabIndex: -1, disabled: disabled, onClick: function () {
8732
8731
  selectItem(null);
8733
8732
  setSelected && setSelected(undefined);
8733
+ onClear && onClear();
8734
8734
  }, style: {
8735
8735
  borderBottomRightRadius: isOpen ? 0 : 4,
8736
8736
  } },
@@ -40503,6 +40503,7 @@ var SelectCloudArtifacts = function (_a) {
40503
40503
  // Support default values
40504
40504
  var defaultValueRef = useRef(defaultValue ? defaultValue.split('/').splice(-1)[0] : undefined);
40505
40505
  var _g = useState(defaultValue ? defaultValue.split('/').slice(0, -1) : []), path = _g[0], setPath = _g[1];
40506
+ var pathRef = useRef(defaultValue ? defaultValue.split('/').slice(0, -1) : []);
40506
40507
  var _h = useState(), selArtifact = _h[0], setSelArtifact = _h[1];
40507
40508
  useEffect(function () {
40508
40509
  setLoading(true);
@@ -40517,22 +40518,35 @@ var SelectCloudArtifacts = function (_a) {
40517
40518
  if (defaultFile) {
40518
40519
  comboBoxRef.current.selectItem(defaultFile);
40519
40520
  defaultValueRef.current = undefined;
40520
- onChange && onChange(__assign(__assign({}, selArtifact), { pollination_cloud_path: "".concat(path, "/").concat(defaultFile.file_name) }));
40521
+ setSelArtifact(defaultFile);
40521
40522
  }
40522
40523
  }
40523
40524
  })
40524
40525
  .finally(function () { return setLoading(false); });
40525
- }, [client, defaultValue, fileNameMatch, host, jobId, listArtifacts, onChange, path, selArtifact]);
40526
+ }, [
40527
+ client,
40528
+ defaultValue,
40529
+ fileNameMatch,
40530
+ host,
40531
+ jobId,
40532
+ listArtifacts,
40533
+ onChange,
40534
+ path,
40535
+ ]);
40526
40536
  useEffect(function () {
40527
40537
  if (!selArtifact || selArtifact.file_type !== 'folder')
40528
40538
  return;
40529
- setPath(function (path) { return ["".concat(path, "/").concat(selArtifact.file_name)]; });
40539
+ setPath(function (path) {
40540
+ var newPath = ["".concat(path, "/").concat(selArtifact.file_name)];
40541
+ pathRef.current = ["".concat(path, "/").concat(selArtifact.file_name)];
40542
+ return newPath;
40543
+ });
40530
40544
  }, [onChange, selArtifact]);
40531
40545
  useEffect(function () {
40532
40546
  if (!selArtifact || selArtifact.file_type !== 'file')
40533
40547
  return;
40534
- onChange && onChange(__assign(__assign({}, selArtifact), { pollination_cloud_path: "".concat(path, "/").concat(selArtifact.file_name) }));
40535
- }, [onChange, path, selArtifact]);
40548
+ onChange && onChange(__assign(__assign({}, selArtifact), { pollination_cloud_path: "".concat(pathRef.current, "/").concat(selArtifact.file_name) }));
40549
+ }, [onChange, selArtifact]);
40536
40550
  var stateReducer = useCallback(function (state, actionAndChanges) {
40537
40551
  var type = actionAndChanges.type, changes = actionAndChanges.changes;
40538
40552
  switch (type) {
@@ -40570,7 +40584,7 @@ var SelectCloudArtifacts = function (_a) {
40570
40584
  } },
40571
40585
  icon,
40572
40586
  item.name));
40573
- }, setSelected: setSelArtifact, loading: loading, disabled: !projectName || !projectOwner, hidden: hidden, icon: React__default.createElement(CloudPlus$1, null), header: path.length > 0 &&
40587
+ }, setSelected: setSelArtifact, onClear: function () { return setPath([]); }, loading: loading, disabled: !projectName || !projectOwner, hidden: hidden, icon: React__default.createElement(CloudPlus$1, null), header: path.length > 0 &&
40574
40588
  React__default.createElement("div", { key: "header", style: {
40575
40589
  width: '100%',
40576
40590
  display: 'flex',
@@ -41625,7 +41639,7 @@ var SelectProject = function (_a) {
41625
41639
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: [projectOwner], page: 1 })); });
41626
41640
  }, [projectOwner]);
41627
41641
  var fetchProjects = useCallback(function (queryConfig) {
41628
- if (!authUser)
41642
+ if (!authUser || !client || !client.projects)
41629
41643
  return;
41630
41644
  if (!queryConfig.owner)
41631
41645
  return;
@@ -41644,7 +41658,7 @@ var SelectProject = function (_a) {
41644
41658
  .finally(function () {
41645
41659
  setLoading(false);
41646
41660
  });
41647
- }, [authUser, client.projects]);
41661
+ }, [authUser, client]);
41648
41662
  useEffect(function () {
41649
41663
  fetchProjects(queryConfig);
41650
41664
  }, [fetchProjects, queryConfig]);
@@ -41695,7 +41709,7 @@ var SelectAccount = function (_a) {
41695
41709
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { member: authUser ? [authUser === null || authUser === void 0 ? void 0 : authUser.username] : undefined, page: 1 })); });
41696
41710
  }, [authUser]);
41697
41711
  var fetchOrganizations = useCallback(function (queryConfig) {
41698
- if (!authUser)
41712
+ if (!authUser || !client || !client.orgs)
41699
41713
  return;
41700
41714
  if (!queryConfig.member)
41701
41715
  return;
@@ -41715,7 +41729,7 @@ var SelectAccount = function (_a) {
41715
41729
  .finally(function () {
41716
41730
  setLoading(false);
41717
41731
  });
41718
- }, [authUser, client.orgs]);
41732
+ }, [authUser, client]);
41719
41733
  useEffect(function () {
41720
41734
  fetchOrganizations(queryConfig);
41721
41735
  }, [fetchOrganizations, queryConfig]);
@@ -41787,7 +41801,7 @@ var SelectRecipe = function (_a) {
41787
41801
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: projectOwner, name: projectName, page: 1 })); });
41788
41802
  }, [projectOwner, projectName]);
41789
41803
  var fetchRecipes = useCallback(function (queryConfig) {
41790
- if (!authUser)
41804
+ if (!authUser || !client || !client.projects)
41791
41805
  return;
41792
41806
  if (!queryConfig.owner || !queryConfig.name)
41793
41807
  return;
@@ -41807,7 +41821,7 @@ var SelectRecipe = function (_a) {
41807
41821
  .finally(function () {
41808
41822
  setLoading(false);
41809
41823
  });
41810
- }, [authUser, client.projects]);
41824
+ }, [authUser, client]);
41811
41825
  useEffect(function () {
41812
41826
  fetchRecipes(queryConfig);
41813
41827
  }, [fetchRecipes, queryConfig]);
@@ -43856,7 +43870,7 @@ var RecipeInputsForm = function (_a) {
43856
43870
  var _e = useForm({
43857
43871
  resolver: Oe(schema),
43858
43872
  mode: 'all'
43859
- }), control = _e.control, register = _e.register, handleSubmit = _e.handleSubmit, resetField = _e.resetField, _f = _e.formState, errors = _f.errors, isValid = _f.isValid; _f.isSubmitting;
43873
+ }), control = _e.control, register = _e.register, handleSubmit = _e.handleSubmit, reset = _e.reset, resetField = _e.resetField, _f = _e.formState, errors = _f.errors, isValid = _f.isValid; _f.isSubmitting;
43860
43874
  var _onSubmit = function (_data) {
43861
43875
  var data = __assign({}, _data);
43862
43876
  // strip study name
@@ -43878,6 +43892,7 @@ var RecipeInputsForm = function (_a) {
43878
43892
  setLoading(true);
43879
43893
  onSubmit(studyName, data)
43880
43894
  .finally(function () {
43895
+ reset();
43881
43896
  setLoading(false);
43882
43897
  });
43883
43898
  }
@@ -43922,9 +43937,6 @@ var RecipeInputsForm = function (_a) {
43922
43937
  } }, g.map(function (input, i) {
43923
43938
  var _a;
43924
43939
  var hidden = controlledValues && controlledValues[input.name] ? controlledValues[input.name].hidden : false;
43925
- // if (hidden) {
43926
- // console.log(input)
43927
- // }
43928
43940
  var defaultValue = controlledValues && controlledValues[input.name] ? controlledValues[input.name].value : input.default;
43929
43941
  var inputProps = __assign({}, register(input.name, {
43930
43942
  valueAsNumber: ['DAGIntegerInput', 'DAGNumberInput'].includes(input.type)
@@ -45658,8 +45670,6 @@ var SelectLocalArtifacts = function (_a) {
45658
45670
  if (!selArtifact)
45659
45671
  return;
45660
45672
  if (selArtifact.kind === 'file') {
45661
- // console.log(selArtifact)
45662
- // directoryRef.current[0].resolve(selArtifact).then((path) => console.log(path) )
45663
45673
  var getFile = function (fileHandle) { return __awaiter$1(void 0, void 0, void 0, function () {
45664
45674
  var path, _a, _b;
45665
45675
  return __generator$1(this, function (_c) {
@@ -45846,7 +45856,7 @@ var SelectRun = function (_a) {
45846
45856
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { jobId: jobId, owner: projectOwner, name: projectName, page: 1 })); });
45847
45857
  }, [jobId, projectOwner, projectName]);
45848
45858
  var fetchRuns = useCallback(function (queryConfig) {
45849
- if (!authUser)
45859
+ if (!authUser || !client || !client.runs)
45850
45860
  return;
45851
45861
  if (!queryConfig.name || !queryConfig.owner || !queryConfig.jobId)
45852
45862
  return;
@@ -45866,7 +45876,7 @@ var SelectRun = function (_a) {
45866
45876
  .finally(function () {
45867
45877
  setLoading(false);
45868
45878
  });
45869
- }, [authUser, client.runs]);
45879
+ }, [authUser, client]);
45870
45880
  useEffect(function () {
45871
45881
  fetchRuns(queryConfig);
45872
45882
  }, [fetchRuns, queryConfig]);
@@ -45937,7 +45947,7 @@ var SelectStudy = function (_a) {
45937
45947
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: projectOwner, name: projectName, page: 1 })); });
45938
45948
  }, [projectOwner, projectName]);
45939
45949
  var fetchStudies = useCallback(function (queryConfig) {
45940
- if (!authUser)
45950
+ if (!authUser || !client || !client.jobs)
45941
45951
  return;
45942
45952
  if (!queryConfig.name || !queryConfig.owner)
45943
45953
  return;
@@ -45957,7 +45967,7 @@ var SelectStudy = function (_a) {
45957
45967
  .finally(function () {
45958
45968
  setLoading(false);
45959
45969
  });
45960
- }, [authUser, client.jobs]);
45970
+ }, [authUser, client]);
45961
45971
  useEffect(function () {
45962
45972
  fetchStudies(queryConfig);
45963
45973
  }, [fetchStudies, queryConfig]);