pollination-react-io 1.18.2 → 1.19.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.
@@ -4,5 +4,6 @@ export declare type Account = Organization | UserPrivate;
4
4
  export interface SelectAccountProps {
5
5
  authUser?: UserPrivate;
6
6
  client?: APIClient;
7
+ defaultValue?: string;
7
8
  setSelAccount?: (account: Account) => void;
8
9
  }
@@ -3,6 +3,7 @@ import { APIClient } from '../hooks';
3
3
  export interface SelectProjectProps {
4
4
  authUser?: UserPrivate;
5
5
  client?: APIClient;
6
- projectOwner: string;
6
+ projectOwner?: string;
7
+ defaultValue?: string;
7
8
  setSelProject?: (project: Project) => void;
8
9
  }
@@ -4,6 +4,7 @@ export interface SelectRunProps {
4
4
  projectOwner?: string;
5
5
  projectName?: string;
6
6
  jobId?: string[];
7
+ defaultValue?: string;
7
8
  setSelRun?: (recipe: Run) => void;
8
9
  authUser?: UserPrivate;
9
10
  client?: APIClient;
@@ -4,6 +4,7 @@ export interface SelectStudyProps {
4
4
  projectName?: string;
5
5
  projectOwner?: string;
6
6
  authUser?: UserPrivate;
7
+ defaultValue?: string;
7
8
  client?: APIClient;
8
9
  setSelStudy?: (project: CloudJob) => void;
9
10
  }
@@ -41610,24 +41610,26 @@ TabPanel.defaultProps = defaultProps;
41610
41610
 
41611
41611
  var SelectProject = function (_a) {
41612
41612
  var _b, _c;
41613
- var authUser = _a.authUser, client = _a.client, projectOwner = _a.projectOwner, setSelProject = _a.setSelProject;
41613
+ var authUser = _a.authUser, client = _a.client, projectOwner = _a.projectOwner, _defaultValue = _a.defaultValue, setSelProject = _a.setSelProject;
41614
41614
  var comboBoxRef = useRef();
41615
- var _d = useState(), projects = _d[0], setProjects = _d[1];
41616
- var _e = useState(false), loading = _e[0], setLoading = _e[1];
41617
- var totalRunsRef = useRef({
41615
+ var _d = useState(_defaultValue ? [_defaultValue] : undefined), defaultValue = _d[0], setDefaultValue = _d[1];
41616
+ var _e = useState([]), projects = _e[0], setProjects = _e[1];
41617
+ var _f = useState(false), loading = _f[0], setLoading = _f[1];
41618
+ var totalProjectsRef = useRef({
41618
41619
  loaded: 0,
41619
41620
  total: undefined
41620
41621
  });
41621
- var _f = useState(0), total = _f[0], setTotal = _f[1];
41622
- var _g = useState({
41622
+ var _g = useState(0), total = _g[0], setTotal = _g[1];
41623
+ var _h = useState({
41623
41624
  owner: (_b = [projectOwner]) !== null && _b !== void 0 ? _b : (authUser && [authUser.username]),
41624
41625
  page: 1,
41625
41626
  perPage: 10,
41626
- }), queryConfig = _g[0], setQueryConfig = _g[1];
41627
+ ids: defaultValue
41628
+ }), queryConfig = _h[0], setQueryConfig = _h[1];
41627
41629
  // resetting query
41628
41630
  useEffect(function () {
41629
41631
  // reset total loaded
41630
- totalRunsRef.current = {
41632
+ totalProjectsRef.current = {
41631
41633
  loaded: 0,
41632
41634
  total: undefined
41633
41635
  };
@@ -41636,14 +41638,14 @@ var SelectProject = function (_a) {
41636
41638
  comboBoxRef.current.selectItem(null);
41637
41639
  }
41638
41640
  setProjects([]);
41639
- setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: [projectOwner], page: 1 })); });
41640
- }, [projectOwner]);
41641
+ setQueryConfig(function (q) { return (__assign(__assign({}, q), { owner: [projectOwner], ids: defaultValue, page: 1 })); });
41642
+ }, [defaultValue, projectOwner]);
41641
41643
  var fetchProjects = useCallback(function (queryConfig) {
41642
41644
  if (!authUser || !client || !client.projects)
41643
41645
  return;
41644
41646
  if (!queryConfig.owner)
41645
41647
  return;
41646
- var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
41648
+ var _a = totalProjectsRef.current, total = _a.total, loaded = _a.loaded;
41647
41649
  if (total && loaded >= total)
41648
41650
  return;
41649
41651
  setLoading(true);
@@ -41652,8 +41654,8 @@ var SelectProject = function (_a) {
41652
41654
  var data = _a.data;
41653
41655
  setProjects(function (state) { return state ? __spreadArray(__spreadArray([], state, true), data.resources, true) : __spreadArray([], data.resources, true); });
41654
41656
  setTotal(data.total_count);
41655
- totalRunsRef.current.loaded += data.resources.length;
41656
- totalRunsRef.current.total = data.total_count;
41657
+ totalProjectsRef.current.loaded += data.resources.length;
41658
+ totalProjectsRef.current.total = data.total_count;
41657
41659
  })
41658
41660
  .finally(function () {
41659
41661
  setLoading(false);
@@ -41662,14 +41664,26 @@ var SelectProject = function (_a) {
41662
41664
  useEffect(function () {
41663
41665
  fetchProjects(queryConfig);
41664
41666
  }, [fetchProjects, queryConfig]);
41667
+ useEffect(function () {
41668
+ if (!defaultValue || !projects.length)
41669
+ return;
41670
+ // if this were to become a multiselect could use defaultValue.includes(p.id)
41671
+ // other things would have to change
41672
+ var selDefault = projects.find(function (p) { return p.id === defaultValue[0]; });
41673
+ if (selDefault) {
41674
+ setSelProject(selDefault);
41675
+ comboBoxRef.current.selectItem(selDefault);
41676
+ return;
41677
+ }
41678
+ }, [defaultValue, projects, setSelProject]);
41665
41679
  var onScrollReachEnd = useCallback(function () {
41666
41680
  // already loaded all runs
41667
- var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
41681
+ var _a = totalProjectsRef.current, total = _a.total, loaded = _a.loaded;
41668
41682
  if (total && loaded >= total)
41669
41683
  return;
41670
41684
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { page: q.page ? q.page + 1 : 1 })); });
41671
41685
  }, []);
41672
- return (React__default.createElement(ComboBox, { ref: comboBoxRef, items: projects !== null && projects !== void 0 ? projects : [], setSelected: setSelProject, inputProps: {
41686
+ return (React__default.createElement(ComboBox, { ref: comboBoxRef, items: projects !== null && projects !== void 0 ? projects : [], setSelected: setSelProject, onClear: function () { return setDefaultValue(undefined); }, inputProps: {
41673
41687
  placeholder: 'Select a project...',
41674
41688
  }, loading: loading, disabled: !authUser || !queryConfig.owner, footer: (React__default.createElement("div", { key: "footer", style: {
41675
41689
  width: '100%',
@@ -41681,11 +41695,11 @@ var SelectProject = function (_a) {
41681
41695
 
41682
41696
  var SelectAccount = function (_a) {
41683
41697
  var _b;
41684
- var authUser = _a.authUser, client = _a.client, setSelAccount = _a.setSelAccount;
41698
+ var authUser = _a.authUser, client = _a.client, defaultValue = _a.defaultValue, setSelAccount = _a.setSelAccount;
41685
41699
  var comboBoxRef = useRef();
41686
41700
  var _c = useState(function () { return authUser ? [authUser] : []; }), accounts = _c[0], setAccounts = _c[1];
41687
41701
  var _d = useState(false), loading = _d[0], setLoading = _d[1];
41688
- var totalRunsRef = useRef({
41702
+ var totalAccountsRef = useRef({
41689
41703
  loaded: 0,
41690
41704
  total: undefined
41691
41705
  });
@@ -41696,8 +41710,10 @@ var SelectAccount = function (_a) {
41696
41710
  }), queryConfig = _f[0], setQueryConfig = _f[1];
41697
41711
  // resetting query
41698
41712
  useEffect(function () {
41713
+ if (!authUser)
41714
+ return;
41699
41715
  // reset total loaded
41700
- totalRunsRef.current = {
41716
+ totalAccountsRef.current = {
41701
41717
  loaded: 0,
41702
41718
  total: undefined
41703
41719
  };
@@ -41705,16 +41721,16 @@ var SelectAccount = function (_a) {
41705
41721
  if (comboBoxRef.current) {
41706
41722
  comboBoxRef.current.selectItem(null);
41707
41723
  }
41708
- setAccounts(authUser ? [authUser] : []);
41709
- setQueryConfig(function (q) { return (__assign(__assign({}, q), { member: authUser ? [authUser === null || authUser === void 0 ? void 0 : authUser.username] : undefined, page: 1 })); });
41710
- }, [authUser]);
41724
+ setAccounts([authUser]);
41725
+ setQueryConfig(function (q) { return (__assign(__assign({}, q), { member: [authUser === null || authUser === void 0 ? void 0 : authUser.username], page: 1 })); });
41726
+ }, [authUser, defaultValue, setSelAccount]);
41711
41727
  var fetchOrganizations = useCallback(function (queryConfig) {
41712
41728
  if (!authUser || !client || !client.orgs)
41713
41729
  return;
41714
41730
  if (!queryConfig.member)
41715
41731
  return;
41716
- // we've already loaded all Runs
41717
- var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
41732
+ var _a = totalAccountsRef.current, total = _a.total, loaded = _a.loaded;
41733
+ // we've already loaded all accounts
41718
41734
  if (total && loaded >= total)
41719
41735
  return;
41720
41736
  setLoading(true);
@@ -41723,8 +41739,8 @@ var SelectAccount = function (_a) {
41723
41739
  var data = _a.data;
41724
41740
  setAccounts(function (state) { return state ? __spreadArray(__spreadArray([], state, true), data.resources, true) : __spreadArray([], data.resources, true); });
41725
41741
  setTotal(data.total_count);
41726
- totalRunsRef.current.loaded += data.resources.length;
41727
- totalRunsRef.current.total = data.total_count;
41742
+ totalAccountsRef.current.loaded += data.resources.length;
41743
+ totalAccountsRef.current.total = data.total_count;
41728
41744
  })
41729
41745
  .finally(function () {
41730
41746
  setLoading(false);
@@ -41733,9 +41749,20 @@ var SelectAccount = function (_a) {
41733
41749
  useEffect(function () {
41734
41750
  fetchOrganizations(queryConfig);
41735
41751
  }, [fetchOrganizations, queryConfig]);
41752
+ useEffect(function () {
41753
+ if (!defaultValue || !accounts.length)
41754
+ return;
41755
+ // @ts-ignore
41756
+ var selDefault = accounts.find(function (a) { return typeof a.username !== 'undefined' ? a.username === defaultValue : a.account_name === defaultValue; });
41757
+ if (selDefault) {
41758
+ setSelAccount(selDefault);
41759
+ comboBoxRef.current.selectItem(selDefault);
41760
+ return;
41761
+ }
41762
+ }, [defaultValue, accounts, setSelAccount, authUser]);
41736
41763
  var onScrollReachEnd = useCallback(function () {
41737
41764
  // already loaded all runs
41738
- var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
41765
+ var _a = totalAccountsRef.current, total = _a.total, loaded = _a.loaded;
41739
41766
  if (total && loaded >= total)
41740
41767
  return;
41741
41768
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { page: q.page ? q.page + 1 : 1 })); });
@@ -45825,22 +45852,23 @@ var SelectLocalArtifacts = function (_a) {
45825
45852
 
45826
45853
  var SelectRun = function (_a) {
45827
45854
  var _b, _c;
45828
- var authUser = _a.authUser, client = _a.client, projectOwner = _a.projectOwner, projectName = _a.projectName, jobId = _a.jobId, setSelRun = _a.setSelRun;
45855
+ var authUser = _a.authUser, client = _a.client, projectOwner = _a.projectOwner, projectName = _a.projectName, jobId = _a.jobId, _defaultValue = _a.defaultValue, setSelRun = _a.setSelRun;
45829
45856
  var comboBoxRef = useRef();
45830
- var _d = useState(), runs = _d[0], setRuns = _d[1];
45831
- var _e = useState(false), loading = _e[0], setLoading = _e[1];
45857
+ var _d = useState(_defaultValue), defaultValue = _d[0], setDefaultValue = _d[1];
45858
+ var _e = useState(), runs = _e[0], setRuns = _e[1];
45859
+ var _f = useState(false), loading = _f[0], setLoading = _f[1];
45832
45860
  var totalRunsRef = useRef({
45833
45861
  loaded: 0,
45834
45862
  total: undefined
45835
45863
  });
45836
- var _f = useState(0), total = _f[0], setTotal = _f[1];
45837
- var _g = useState({
45864
+ var _g = useState(0), total = _g[0], setTotal = _g[1];
45865
+ var _h = useState({
45838
45866
  owner: projectOwner !== null && projectOwner !== void 0 ? projectOwner : (authUser && authUser.username),
45839
45867
  name: projectName,
45840
45868
  jobId: jobId,
45841
45869
  page: 1,
45842
45870
  perPage: 10,
45843
- }), queryConfig = _g[0], setQueryConfig = _g[1];
45871
+ }), queryConfig = _h[0], setQueryConfig = _h[1];
45844
45872
  // resetting query
45845
45873
  useEffect(function () {
45846
45874
  // reset total loaded
@@ -45850,6 +45878,7 @@ var SelectRun = function (_a) {
45850
45878
  };
45851
45879
  // deselect items
45852
45880
  if (comboBoxRef.current) {
45881
+ console.log('clear selection');
45853
45882
  comboBoxRef.current.selectItem(null);
45854
45883
  }
45855
45884
  setRuns([]);
@@ -45868,7 +45897,13 @@ var SelectRun = function (_a) {
45868
45897
  client.runs.listRuns(queryConfig)
45869
45898
  .then(function (_a) {
45870
45899
  var data = _a.data;
45871
- setRuns(function (state) { return state ? __spreadArray(__spreadArray([], state, true), data.resources, true) : __spreadArray([], data.resources, true); });
45900
+ setRuns(function (state) {
45901
+ if (!state)
45902
+ return __spreadArray([], data.resources, true);
45903
+ var newRuns = __spreadArray(__spreadArray([], state, true), data.resources, true);
45904
+ var uniqueRuns = newRuns.filter(function (run, i, arr) { return arr.findIndex(function (v) { return v.id === run.id; }) === i; });
45905
+ return uniqueRuns;
45906
+ });
45872
45907
  setTotal(data.total_count);
45873
45908
  totalRunsRef.current.loaded += data.resources.length;
45874
45909
  totalRunsRef.current.total = data.total_count;
@@ -45880,6 +45915,28 @@ var SelectRun = function (_a) {
45880
45915
  useEffect(function () {
45881
45916
  fetchRuns(queryConfig);
45882
45917
  }, [fetchRuns, queryConfig]);
45918
+ useEffect(function () {
45919
+ if (!defaultValue || !client || !client.runs)
45920
+ return;
45921
+ client.runs.getRun({
45922
+ owner: projectOwner,
45923
+ name: projectName,
45924
+ runId: defaultValue
45925
+ }).then(function (_a) {
45926
+ var data = _a.data;
45927
+ if (!data)
45928
+ return;
45929
+ setRuns(function (state) {
45930
+ if (!state)
45931
+ return [data];
45932
+ var newRuns = __spreadArray(__spreadArray([], state, true), [data], false);
45933
+ var uniqueRuns = newRuns.filter(function (run, i, arr) { return arr.findIndex(function (v) { return v.id === run.id; }) === i; });
45934
+ return uniqueRuns;
45935
+ });
45936
+ setSelRun(data);
45937
+ comboBoxRef.current.selectItem(__assign(__assign({}, data), { name: "".concat(data.recipe.metadata.name, " : ").concat(data.status.status) }));
45938
+ });
45939
+ }, [client, defaultValue, projectName, projectOwner, setSelRun]);
45883
45940
  var onScrollReachEnd = useCallback(function () {
45884
45941
  // already loaded all runs
45885
45942
  var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
@@ -45904,7 +45961,7 @@ var SelectRun = function (_a) {
45904
45961
  width: 24,
45905
45962
  display: 'flex',
45906
45963
  justifyContent: 'flex-end'
45907
- }, className: 'secondary' }, "".concat(i)))); }, setSelected: setSelRun, inputProps: {
45964
+ }, className: 'secondary' }, "".concat(i)))); }, setSelected: setSelRun, onClear: function () { return setDefaultValue(undefined); }, inputProps: {
45908
45965
  placeholder: 'Select a run...',
45909
45966
  }, loading: loading, disabled: !authUser || !queryConfig.name || !queryConfig.owner, footer: (React__default.createElement("div", { key: "footer", style: {
45910
45967
  width: '100%',
@@ -45915,23 +45972,36 @@ var SelectRun = function (_a) {
45915
45972
  } }, "Showing ".concat((_c = runs === null || runs === void 0 ? void 0 : runs.length) !== null && _c !== void 0 ? _c : 0, " of ").concat(total, " runs"))), onScrollReachEnd: onScrollReachEnd }));
45916
45973
  };
45917
45974
 
45975
+ var formatStudy = function (study) {
45976
+ var name = study.spec.name;
45977
+ if (!name) {
45978
+ if (study.recipe && study.recipe.metadata) {
45979
+ name = "".concat(study.recipe.metadata.name, " : ").concat(study.status.id.slice(0, 5), "...");
45980
+ }
45981
+ else {
45982
+ name = 'No name';
45983
+ }
45984
+ }
45985
+ return (__assign(__assign({}, study), { name: name }));
45986
+ };
45918
45987
  var SelectStudy = function (_a) {
45919
45988
  var _b, _c;
45920
- var authUser = _a.authUser, client = _a.client, projectName = _a.projectName, projectOwner = _a.projectOwner, setSelStudy = _a.setSelStudy;
45989
+ var authUser = _a.authUser, client = _a.client, projectName = _a.projectName, projectOwner = _a.projectOwner, _defaultValue = _a.defaultValue, setSelStudy = _a.setSelStudy;
45921
45990
  var comboBoxRef = useRef();
45922
- var _d = useState(), studies = _d[0], setStudies = _d[1];
45923
- var _e = useState(false), loading = _e[0], setLoading = _e[1];
45991
+ var _d = useState(_defaultValue), defaultValue = _d[0], setDefaultValue = _d[1];
45992
+ var _e = useState([]), studies = _e[0], setStudies = _e[1];
45993
+ var _f = useState(false), loading = _f[0], setLoading = _f[1];
45924
45994
  var totalRunsRef = useRef({
45925
45995
  loaded: 0,
45926
45996
  total: undefined
45927
45997
  });
45928
- var _f = useState(0), total = _f[0], setTotal = _f[1];
45929
- var _g = useState({
45998
+ var _g = useState(0), total = _g[0], setTotal = _g[1];
45999
+ var _h = useState({
45930
46000
  owner: projectOwner !== null && projectOwner !== void 0 ? projectOwner : (authUser && authUser.username),
45931
46001
  name: projectName,
45932
46002
  page: 1,
45933
46003
  perPage: 10,
45934
- }), queryConfig = _g[0], setQueryConfig = _g[1];
46004
+ }), queryConfig = _h[0], setQueryConfig = _h[1];
45935
46005
  // resetting query
45936
46006
  useEffect(function () {
45937
46007
  // reset total loaded
@@ -45959,7 +46029,13 @@ var SelectStudy = function (_a) {
45959
46029
  client.jobs.listJobs(queryConfig)
45960
46030
  .then(function (_a) {
45961
46031
  var data = _a.data;
45962
- setStudies(function (state) { return state ? __spreadArray(__spreadArray([], state, true), data.resources, true) : __spreadArray([], data.resources, true); });
46032
+ setStudies(function (state) {
46033
+ if (!state)
46034
+ return __spreadArray([], data.resources, true);
46035
+ var newStudies = __spreadArray(__spreadArray([], state, true), data.resources, true);
46036
+ var uniqueStudies = newStudies.filter(function (study, i, arr) { return arr.findIndex(function (v) { return v.id === study.id; }) === i; });
46037
+ return uniqueStudies;
46038
+ });
45963
46039
  setTotal(data.total_count);
45964
46040
  totalRunsRef.current.loaded += data.resources.length;
45965
46041
  totalRunsRef.current.total = data.total_count;
@@ -45971,6 +46047,28 @@ var SelectStudy = function (_a) {
45971
46047
  useEffect(function () {
45972
46048
  fetchStudies(queryConfig);
45973
46049
  }, [fetchStudies, queryConfig]);
46050
+ useEffect(function () {
46051
+ if (!defaultValue || !client || !client.jobs)
46052
+ return;
46053
+ client.jobs.getJob({
46054
+ owner: projectOwner,
46055
+ name: projectName,
46056
+ jobId: defaultValue
46057
+ }).then(function (_a) {
46058
+ var data = _a.data;
46059
+ if (!data)
46060
+ return;
46061
+ setStudies(function (state) {
46062
+ if (!state)
46063
+ return [data];
46064
+ var newStudies = __spreadArray(__spreadArray([], state, true), [data], false);
46065
+ var uniqueStudies = newStudies.filter(function (study, i, arr) { return arr.findIndex(function (v) { return v.id === study.id; }) === i; });
46066
+ return uniqueStudies;
46067
+ });
46068
+ setSelStudy(data);
46069
+ comboBoxRef.current.selectItem(formatStudy(data));
46070
+ });
46071
+ }, [client, defaultValue, projectName, projectOwner, setSelStudy]);
45974
46072
  var onScrollReachEnd = useCallback(function () {
45975
46073
  // already loaded all runs
45976
46074
  var _a = totalRunsRef.current, total = _a.total, loaded = _a.loaded;
@@ -45978,18 +46076,7 @@ var SelectStudy = function (_a) {
45978
46076
  return;
45979
46077
  setQueryConfig(function (q) { return (__assign(__assign({}, q), { page: q.page ? q.page + 1 : 1 })); });
45980
46078
  }, []);
45981
- return (React__default.createElement(ComboBox, { ref: comboBoxRef, items: (_b = studies === null || studies === void 0 ? void 0 : studies.map(function (r) {
45982
- var name = r.spec.name;
45983
- if (!name) {
45984
- if (r.recipe && r.recipe.metadata) {
45985
- name = "".concat(r.recipe.metadata.name, " : ").concat(r.status.id.slice(0, 5), "...");
45986
- }
45987
- else {
45988
- name = 'No name';
45989
- }
45990
- }
45991
- return (__assign(__assign({}, r), { name: name }));
45992
- })) !== null && _b !== void 0 ? _b : [], setSelected: setSelStudy, inputProps: {
46079
+ return (React__default.createElement(ComboBox, { ref: comboBoxRef, items: (_b = studies === null || studies === void 0 ? void 0 : studies.map(formatStudy)) !== null && _b !== void 0 ? _b : [], setSelected: setSelStudy, onClear: function () { return setDefaultValue(undefined); }, inputProps: {
45993
46080
  placeholder: 'Select a study...',
45994
46081
  }, loading: loading, disabled: !authUser || !queryConfig.name || !queryConfig.owner, footer: (React__default.createElement("div", { key: "footer", style: {
45995
46082
  width: '100%',