pollination-react-io 1.18.1 → 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 &&
@@ -8731,6 +8730,7 @@ var ComboBox = React__default.forwardRef(function ComboBox(_a, ref) {
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;
@@ -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
  }
@@ -45655,8 +45670,6 @@ var SelectLocalArtifacts = function (_a) {
45655
45670
  if (!selArtifact)
45656
45671
  return;
45657
45672
  if (selArtifact.kind === 'file') {
45658
- // console.log(selArtifact)
45659
- // directoryRef.current[0].resolve(selArtifact).then((path) => console.log(path) )
45660
45673
  var getFile = function (fileHandle) { return __awaiter$1(void 0, void 0, void 0, function () {
45661
45674
  var path, _a, _b;
45662
45675
  return __generator$1(this, function (_c) {
@@ -45843,7 +45856,7 @@ var SelectRun = function (_a) {
45843
45856
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { jobId: jobId, owner: projectOwner, name: projectName, page: 1 })); });
45844
45857
  }, [jobId, projectOwner, projectName]);
45845
45858
  var fetchRuns = useCallback(function (queryConfig) {
45846
- if (!authUser)
45859
+ if (!authUser || !client || !client.runs)
45847
45860
  return;
45848
45861
  if (!queryConfig.name || !queryConfig.owner || !queryConfig.jobId)
45849
45862
  return;
@@ -45863,7 +45876,7 @@ var SelectRun = function (_a) {
45863
45876
  .finally(function () {
45864
45877
  setLoading(false);
45865
45878
  });
45866
- }, [authUser, client.runs]);
45879
+ }, [authUser, client]);
45867
45880
  useEffect(function () {
45868
45881
  fetchRuns(queryConfig);
45869
45882
  }, [fetchRuns, queryConfig]);
@@ -45934,7 +45947,7 @@ var SelectStudy = function (_a) {
45934
45947
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: projectOwner, name: projectName, page: 1 })); });
45935
45948
  }, [projectOwner, projectName]);
45936
45949
  var fetchStudies = useCallback(function (queryConfig) {
45937
- if (!authUser)
45950
+ if (!authUser || !client || !client.jobs)
45938
45951
  return;
45939
45952
  if (!queryConfig.name || !queryConfig.owner)
45940
45953
  return;
@@ -45954,7 +45967,7 @@ var SelectStudy = function (_a) {
45954
45967
  .finally(function () {
45955
45968
  setLoading(false);
45956
45969
  });
45957
- }, [authUser, client.jobs]);
45970
+ }, [authUser, client]);
45958
45971
  useEffect(function () {
45959
45972
  fetchStudies(queryConfig);
45960
45973
  }, [fetchStudies, queryConfig]);