pollination-react-io 0.0.34 → 0.0.37

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.
@@ -1965,29 +1965,15 @@ var useGetHbjson = function () {
1965
1965
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1966
1966
  // @ts-ignore
1967
1967
  window.parent.readHBJSON = function (hbjson) {
1968
- var model = JSON.parse(hbjson);
1969
- if (typeof model !== 'object')
1970
- throw new Error('Not getting a valid json object from Revit.');
1968
+ if (typeof hbjson !== 'string')
1969
+ throw new Error('readHBJSON did not receive a valid string object from Revit.');
1971
1970
  var res = {
1972
- Geometry: model,
1971
+ Geometry: hbjson,
1973
1972
  Identifier: null,
1974
1973
  };
1975
1974
  setReturnValue(res, false);
1976
1975
  };
1977
1976
  }, [host, setReturnValue]);
1978
- var rubyGetHbjson = useCallback(function (key, selection, force) {
1979
- if (selection === void 0) { selection = false; }
1980
- if (force === void 0) { force = false; }
1981
- if (!checkRuby())
1982
- return;
1983
- // TODO: why doesn't this function use the key?
1984
- window.parent.sketchup.get_model(selection, {
1985
- onCompleted: function (res) {
1986
- var message = JSON.parse(res);
1987
- setReturnValue(message, force);
1988
- },
1989
- });
1990
- }, [setReturnValue]);
1991
1977
  var dotNetGetHbjson = useCallback(function (key, selection, force) {
1992
1978
  if (key === void 0) { key = 'use-get-hbjson'; }
1993
1979
  if (selection === void 0) { selection = false; }
@@ -2014,11 +2000,11 @@ var useGetHbjson = function () {
2014
2000
  case 'revit':
2015
2001
  return revitGetHbjson;
2016
2002
  case 'sketchup':
2017
- return rubyGetHbjson;
2003
+ return revitGetHbjson;
2018
2004
  default:
2019
2005
  return undefined;
2020
2006
  }
2021
- }, [dotNetGetHbjson, host, revitGetHbjson, rubyGetHbjson]);
2007
+ }, [dotNetGetHbjson, host, revitGetHbjson]);
2022
2008
  return {
2023
2009
  host: host,
2024
2010
  hbjson: hbjson,
@@ -2046,20 +2032,20 @@ var useGetGeometry = function () {
2046
2032
  }
2047
2033
  geometryRef.current = bytes;
2048
2034
  }, []);
2049
- var rubyGetGeometry = useCallback(function (key, selection, force) {
2050
- if (key === void 0) { key = 'use-get-geometry'; }
2051
- if (selection === void 0) { selection = false; }
2052
- if (force === void 0) { force = false; }
2053
- if (!checkRuby())
2054
- return;
2055
- // ruby invoke
2056
- window.parent.sketchup.get_geometry(key, selection, {
2057
- onCompleted: function (res) {
2058
- var message = JSON.parse(res);
2059
- setReturnVal(message, force);
2060
- },
2061
- });
2062
- }, [setReturnVal]);
2035
+ useEffect(function () {
2036
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2037
+ // @ts-ignore
2038
+ window.parent.readGeometry = function (geometry, identifier) {
2039
+ if (typeof geometry !== 'string' ||
2040
+ typeof identifier !== 'string')
2041
+ throw new Error('readGeometry did not receive a valid string object from Sketchup.');
2042
+ var res = {
2043
+ Geometry: geometry,
2044
+ Identifier: identifier,
2045
+ };
2046
+ setReturnVal(res, false);
2047
+ };
2048
+ }, [host, setReturnVal]);
2063
2049
  var dotNetGetGeometry = useCallback(function (key, selection, force) {
2064
2050
  if (key === void 0) { key = 'use-get-geometry'; }
2065
2051
  if (selection === void 0) { selection = false; }
@@ -2071,7 +2057,9 @@ var useGetGeometry = function () {
2071
2057
  Identifier: null,
2072
2058
  };
2073
2059
  res = window.parent.chrome.webview.hostObjects.sync.geometry.PassJsonGeometry(key, selection);
2074
- setReturnVal(res, force);
2060
+ if (res) {
2061
+ setReturnVal(res, force);
2062
+ }
2075
2063
  }, [setReturnVal]);
2076
2064
  var getGeometry = useMemo(function () {
2077
2065
  switch (host) {
@@ -2080,11 +2068,11 @@ var useGetGeometry = function () {
2080
2068
  case 'revit':
2081
2069
  return dotNetGetGeometry;
2082
2070
  case 'sketchup':
2083
- return rubyGetGeometry;
2071
+ return dotNetGetGeometry;
2084
2072
  default:
2085
2073
  return undefined;
2086
2074
  }
2087
- }, [dotNetGetGeometry, host, rubyGetGeometry]);
2075
+ }, [dotNetGetGeometry, host]);
2088
2076
  return {
2089
2077
  host: host,
2090
2078
  geometry: geometry,
@@ -2176,7 +2164,7 @@ var useSendHbjson = function () {
2176
2164
  var sendHbjson = useMemo(function () {
2177
2165
  switch (host) {
2178
2166
  case 'sketchup':
2179
- return rubySendHbjson;
2167
+ return dotNetSendHbjson;
2180
2168
  case 'rhino':
2181
2169
  return dotNetSendHbjson;
2182
2170
  case 'revit':
@@ -2195,13 +2183,6 @@ var useSendHbjson = function () {
2195
2183
  var useSendGeometry = function () {
2196
2184
  var host = getHost();
2197
2185
  var _a = useState({}), state = _a[0], setState = _a[1];
2198
- var rubySendGeometry = useCallback(function (action, message) {
2199
- if (!checkRuby())
2200
- return;
2201
- var response = sendMessageRuby(__assign$2({ action: action }, message));
2202
- setState(function (state) { return (__assign$2(__assign$2({}, state), { response: response })); });
2203
- return response;
2204
- }, []);
2205
2186
  var dotNetSendGeometry = useCallback(function (action, message) {
2206
2187
  if (!checkDotNet())
2207
2188
  return;
@@ -2212,7 +2193,7 @@ var useSendGeometry = function () {
2212
2193
  var sendGeometry = useMemo(function () {
2213
2194
  switch (host) {
2214
2195
  case 'sketchup':
2215
- return rubySendGeometry;
2196
+ return dotNetSendGeometry;
2216
2197
  case 'rhino':
2217
2198
  return dotNetSendGeometry;
2218
2199
  case 'revit':
@@ -2220,7 +2201,7 @@ var useSendGeometry = function () {
2220
2201
  default:
2221
2202
  return undefined;
2222
2203
  }
2223
- }, [dotNetSendGeometry, host, rubySendGeometry]);
2204
+ }, [dotNetSendGeometry, host]);
2224
2205
  return ({
2225
2206
  host: host,
2226
2207
  state: state,
@@ -4832,7 +4813,11 @@ var Tooltip = function (_a) {
4832
4813
  };
4833
4814
 
4834
4815
  var SettingsButton = function (_a) {
4835
- var onClick = _a.onClick, label = _a.label, options = _a.options, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.triggerIcon, triggerIcon = _c === void 0 ? React__default.createElement(CaretDownFill$1, null) : _c;
4816
+ var onClick = _a.onClick, label = _a.label, options = _a.options, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.triggerIcon
4817
+ // prefix
4818
+ , triggerIcon = _c === void 0 ? React__default.createElement(CaretDownFill$1, null) : _c
4819
+ // prefix
4820
+ ;
4836
4821
  return (React__default.createElement(ConditionalWrapper, { condition: disabled, wrapper: function (children) { return React__default.createElement(Tooltip, { content: 'Available in Pollination CAD Plugins' }, children); } },
4837
4822
  React__default.createElement("div", { className: "btn-group ".concat(disabled && 'btn-group-disabled') },
4838
4823
  React__default.createElement("button", { onClick: onClick, disabled: disabled, style: {
@@ -4856,7 +4841,7 @@ var GetGeometry = function (_a) {
4856
4841
  var _c = useState(false), selection = _c[0], setSelection = _c[1];
4857
4842
  var _d = useState(false), subscribe = _d[0], setSubscribe = _d[1];
4858
4843
  // pollination-react-io hooks
4859
- var _e = useGetGeometry(); _e.host; var geometry = _e.geometry, getGeometry = _e.getGeometry;
4844
+ var _e = useGetGeometry(), host = _e.host, geometry = _e.geometry, getGeometry = _e.getGeometry;
4860
4845
  useEffect(function () {
4861
4846
  if (!geometry || !setParentState)
4862
4847
  return;
@@ -4888,7 +4873,7 @@ var GetGeometry = function (_a) {
4888
4873
  if (!getGeometry)
4889
4874
  return;
4890
4875
  getGeometry(key, selection, true);
4891
- }, disabled: typeof getGeometry === 'undefined', options: [{
4876
+ }, disabled: typeof getGeometry === 'undefined', options: host !== 'revit' ? [{
4892
4877
  options: [
4893
4878
  {
4894
4879
  type: 'checkbox',
@@ -4915,11 +4900,10 @@ var GetGeometry = function (_a) {
4915
4900
  },
4916
4901
  },
4917
4902
  ]
4918
- }], label: 'Get Geometry', triggerIcon: subscribe ?
4919
- React__default.createElement(ArrowRepeat$1, { size: 16 }) :
4920
- selection ?
4921
- React__default.createElement(BoundingBox$1, { size: 16 }) :
4922
- undefined }));
4903
+ }] : undefined, label: React__default.createElement(React__default.Fragment, null,
4904
+ subscribe && React__default.createElement(ArrowRepeat$1, { size: 16 }),
4905
+ selection && React__default.createElement(BoundingBox$1, { size: 16 }),
4906
+ "Get Model") }));
4923
4907
  };
4924
4908
 
4925
4909
  /******************************************************************************
@@ -6694,7 +6678,12 @@ var GetModel = function (_a) {
6694
6678
  fr.onabort = function () { return console.log('file reading was aborted'); };
6695
6679
  fr.onerror = function () { return console.log('file reading has failed'); };
6696
6680
  fr.onload = function (e) {
6697
- setParentState({ hbjson: this.result });
6681
+ if (typeof this.result !== 'string')
6682
+ return;
6683
+ var hbjson = JSON.parse(this.result);
6684
+ if (typeof hbjson !== 'object')
6685
+ throw new Error('Not getting a valid json object from Revit.');
6686
+ setParentState({ hbjson: hbjson });
6698
6687
  };
6699
6688
  fr.readAsText(file);
6700
6689
  } })
@@ -6703,12 +6692,12 @@ var GetModel = function (_a) {
6703
6692
  if (!getHbjson)
6704
6693
  return;
6705
6694
  getHbjson(key, selection, true);
6706
- }, disabled: !getHbjson, options: [{
6695
+ }, disabled: !getHbjson, options: host !== 'revit' ? [{
6707
6696
  options: [
6708
6697
  {
6709
6698
  type: 'checkbox',
6710
6699
  id: 'subscribe',
6711
- label: 'Subscribe',
6700
+ label: 'Auto Reload',
6712
6701
  disabled: !getHbjson,
6713
6702
  checked: subscribe,
6714
6703
  onSelect: function () {
@@ -6730,11 +6719,10 @@ var GetModel = function (_a) {
6730
6719
  },
6731
6720
  },
6732
6721
  ]
6733
- }], label: 'Get Model', triggerIcon: subscribe ?
6734
- React__default.createElement(ArrowRepeat$1, { size: 16 }) :
6735
- selection ?
6736
- React__default.createElement(BoundingBox$1, { size: 16 }) :
6737
- undefined }));
6722
+ }] : undefined, label: React__default.createElement(React__default.Fragment, null,
6723
+ subscribe && React__default.createElement(ArrowRepeat$1, { size: 16 }),
6724
+ selection && React__default.createElement(BoundingBox$1, { size: 16 }),
6725
+ "Get Model") }));
6738
6726
  };
6739
6727
 
6740
6728
  // Generated with util/create-component.js
@@ -7035,7 +7023,7 @@ var SendModel = function (_a) {
7035
7023
  var hbjson = _a.hbjson, defaultAction = _a.defaultAction, defaultKey = _a.defaultKey;
7036
7024
  var _b = useState(defaultAction !== null && defaultAction !== void 0 ? defaultAction : 'preview'), selOpt = _b[0], setSelOpt = _b[1];
7037
7025
  var _c = useState(defaultKey !== null && defaultKey !== void 0 ? defaultKey : performance.now().toString()), key = _c[0], setKey = _c[1];
7038
- var _d = useSendHbjson(); _d.host; _d.state; var sendHbjson = _d.sendHbjson;
7026
+ var sendHbjson = useSendHbjson().sendHbjson;
7039
7027
  useEffect(function () {
7040
7028
  setSelOpt(defaultAction);
7041
7029
  }, [defaultAction]);