pollination-react-io 1.92.2 → 1.92.4

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/index.js CHANGED
@@ -47716,37 +47716,39 @@ var GetModelActions;
47716
47716
  })(GetModelActions || (GetModelActions = {}));
47717
47717
 
47718
47718
  var GetGeometry = function (_a) {
47719
- var setParentState = _a.setParentState, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Get Geometry' : _b, _c = _a.defaultKey, defaultKey = _c === void 0 ? 'get-geometry-btn' : _c;
47719
+ var setParentState = _a.setParentState, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Get Geometry' : _b, _c = _a.defaultKey, defaultKey = _c === void 0 ? 'get-geometry-btn' : _c, _d = _a.useIcon, useIcon = _d === void 0 ? false : _d;
47720
47720
  var subscribeRef = React.useRef();
47721
47721
  var sendMessage = useSendMessage().sendMessage;
47722
- var _d = React.useState(performance.now().toString()), key = _d[0], setKey = _d[1];
47723
- var _e = React.useState(Boolean(optionsConfig) && typeof optionsConfig !== 'undefined' &&
47724
- typeof optionsConfig.selection !== 'undefined' &&
47725
- typeof optionsConfig.selection.selected !== 'undefined' ? optionsConfig.selection.selected : false), selection = _e[0], setSelection = _e[1];
47726
- var _f = React.useState(Boolean(optionsConfig) && typeof optionsConfig !== 'undefined' &&
47727
- typeof optionsConfig.subscribe !== 'undefined' &&
47728
- typeof optionsConfig.subscribe.selected !== 'undefined' ? optionsConfig.subscribe.selected : false), subscribe = _f[0], setSubscribe = _f[1];
47729
- var _g = React.useState(Boolean(optionsConfig) && typeof optionsConfig !== 'undefined' &&
47730
- typeof optionsConfig.preview !== 'undefined' &&
47731
- typeof optionsConfig.preview.selected !== 'undefined' ? optionsConfig.preview.selected : false), preview = _g[0], setPreview = _g[1];
47722
+ var _e = React.useState(performance.now().toString()), key = _e[0], setKey = _e[1];
47723
+ var _f = React.useState(false), isClicked = _f[0], setIsClicked = _f[1];
47724
+ var _g = React.useState(), selection = _g[0], setSelection = _g[1];
47725
+ var _h = React.useState(), subscribe = _h[0], setSubscribe = _h[1];
47726
+ var _j = React.useState(), preview = _j[0], setPreview = _j[1];
47727
+ // Config only on bootstrap
47728
+ var initialConfig = React.useMemo(function () {
47729
+ if (!optionsConfig)
47730
+ return undefined;
47731
+ return optionsConfig;
47732
+ }, []);
47732
47733
  // pollination-react-io hooks
47733
- var _h = useGetGeometry(), host = _h.host, geometry = _h.geometry, getGeometry = _h.getGeometry;
47734
+ var _k = useGetGeometry(), host = _k.host, geometry = _k.geometry, getGeometry = _k.getGeometry;
47734
47735
  // set selection and subscribe on props change
47735
47736
  React.useEffect(function () {
47736
- if (!optionsConfig)
47737
+ if (!initialConfig)
47737
47738
  return;
47738
- var sel = Boolean(optionsConfig) && typeof optionsConfig !== 'undefined' &&
47739
- typeof optionsConfig.selection !== 'undefined' &&
47740
- typeof optionsConfig.selection.selected !== 'undefined' ? optionsConfig.selection.selected : false;
47741
- var sub = Boolean(optionsConfig) && typeof optionsConfig !== 'undefined' &&
47742
- typeof optionsConfig.subscribe !== 'undefined' &&
47743
- typeof optionsConfig.subscribe.selected !== 'undefined' ? optionsConfig.subscribe.selected : false;
47739
+ var sel = Boolean(initialConfig) && typeof initialConfig !== 'undefined' &&
47740
+ typeof initialConfig.selection !== 'undefined' &&
47741
+ typeof initialConfig.selection.selected !== 'undefined' ? initialConfig.selection.selected : false;
47742
+ var sub = Boolean(initialConfig) && typeof initialConfig !== 'undefined' &&
47743
+ typeof initialConfig.subscribe !== 'undefined' &&
47744
+ typeof initialConfig.subscribe.selected !== 'undefined' ? initialConfig.subscribe.selected : false;
47744
47745
  // Do not trigger prev props - for streamlit
47745
47746
  setSelection(sel);
47746
47747
  setSubscribe(sub);
47747
- }, [optionsConfig]);
47748
+ }, [initialConfig]);
47748
47749
  React.useEffect(function () {
47749
- if (!geometry || !setParentState)
47750
+ // Send data only after the first click
47751
+ if (!geometry || !setParentState || !isClicked)
47750
47752
  return;
47751
47753
  var fr = new FileReader();
47752
47754
  fr.onload = function () {
@@ -47783,7 +47785,7 @@ var GetGeometry = function (_a) {
47783
47785
  clearInterval(subscribeRef.current);
47784
47786
  subscribeRef.current = undefined;
47785
47787
  }
47786
- }, [getGeometry, key, subscribe, subscribeRef]);
47788
+ }, [getGeometry, key, subscribe, subscribeRef, selection]);
47787
47789
  // selection and subscription
47788
47790
  React.useEffect(function () {
47789
47791
  // If selection is deactivated and subscription is active
@@ -47794,9 +47796,10 @@ var GetGeometry = function (_a) {
47794
47796
  setKey(performance.now().toString());
47795
47797
  }
47796
47798
  }, [selection]);
47797
- return (React__default["default"].createElement(SettingsButton, { onClick: function () {
47799
+ return (React__default["default"].createElement(SettingsButton, { icon: useIcon && undefined, onClick: function () {
47798
47800
  if (!getGeometry)
47799
47801
  return;
47802
+ setIsClicked(true);
47800
47803
  getGeometry(key, selection, true);
47801
47804
  }, disabled: typeof getGeometry === 'undefined',
47802
47805
  // @ts-ignore
@@ -47840,10 +47843,10 @@ var GetGeometry = function (_a) {
47840
47843
  },
47841
47844
  },
47842
47845
  ].filter(function (o) {
47843
- if (!optionsConfig)
47846
+ if (!initialConfig)
47844
47847
  return true;
47845
- return typeof optionsConfig[o.id] === 'undefined' ? true :
47846
- typeof optionsConfig[o.id].show === 'undefined' ? true : optionsConfig[o.id].show;
47848
+ return typeof initialConfig[o.id] === 'undefined' ? true :
47849
+ typeof initialConfig[o.id].show === 'undefined' ? true : initialConfig[o.id].show;
47847
47850
  }),
47848
47851
  }] : undefined, asButtons: true, label: buttonLabel, helpText: "Get ".concat(selection ? 'selected ' : '', " geometry").concat(subscribe ? ' continuously' : '', ".") }));
47849
47852
  };