pollination-react-io 1.100.1 → 1.101.1
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/GetModel/GetModel.types.d.ts +1 -1
- package/build/hooks/useGetHbjson.d.ts +1 -1
- package/build/index.esm.js +98 -83
- package/build/index.esm.js.map +1 -1
- package/build/index.js +98 -83
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
@@ -41210,14 +41210,18 @@ var useGetHbjson = function () {
|
|
41210
41210
|
// @ts-ignore
|
41211
41211
|
return function () { return window.parent.readHbjson = undefined; };
|
41212
41212
|
}, [setReturnValue]);
|
41213
|
-
var dotNetGetHbjson = React.useCallback(function (key, selection, force) {
|
41213
|
+
var dotNetGetHbjson = React.useCallback(function (key, selection, force, useSelection) {
|
41214
41214
|
if (key === void 0) { key = 'use-get-hbjson'; }
|
41215
41215
|
if (selection === void 0) { selection = false; }
|
41216
41216
|
if (force === void 0) { force = false; }
|
41217
|
+
if (useSelection === void 0) { useSelection = true; }
|
41217
41218
|
if (!checkDotNet())
|
41218
41219
|
return;
|
41219
41220
|
var res = window.parent.chrome.webview
|
41220
|
-
.hostObjects.sync.hbjson.
|
41221
|
+
.hostObjects.sync.hbjson.Read(key, JSON.stringify({
|
41222
|
+
select: selection,
|
41223
|
+
useSelection: useSelection
|
41224
|
+
}));
|
41221
41225
|
if (res) {
|
41222
41226
|
setReturnValue(res, force);
|
41223
41227
|
}
|
@@ -41773,15 +41777,42 @@ var GetModelActions$1;
|
|
41773
41777
|
GetModelActions["preview"] = "preview";
|
41774
41778
|
})(GetModelActions$1 || (GetModelActions$1 = {}));
|
41775
41779
|
|
41780
|
+
/**
|
41781
|
+
* Listen for a CustomEvent.
|
41782
|
+
* If web it uses document, if panel it uses webview
|
41783
|
+
* @param eventName Name of the CustomEvent
|
41784
|
+
* @param handler Handler to trigger
|
41785
|
+
*/
|
41786
|
+
var useCustomEvent = function (eventName, handler) {
|
41787
|
+
var host = getHost();
|
41788
|
+
React.useEffect(function () {
|
41789
|
+
// If web use document
|
41790
|
+
var owner = document;
|
41791
|
+
// If panel use webview
|
41792
|
+
if (host !== 'web') {
|
41793
|
+
owner = window.parent.chrome.webview;
|
41794
|
+
}
|
41795
|
+
owner.addEventListener(eventName, handler);
|
41796
|
+
return function () {
|
41797
|
+
owner.removeEventListener(eventName, handler);
|
41798
|
+
};
|
41799
|
+
}, []);
|
41800
|
+
};
|
41801
|
+
|
41776
41802
|
var GetModel = function (_a) {
|
41777
41803
|
var onChange = _a.onChange, optionsConfig = _a.optionsConfig, _b = _a.buttonLabel, buttonLabel = _b === void 0 ? 'Get Model' : _b, _c = _a.showHelpText, showHelpText = _c === void 0 ? true : _c, _d = _a.defaultKey, defaultKey = _d === void 0 ? 'get-model-btn' : _d, _e = _a.useIcon, useIcon = _e === void 0 ? true : _e;
|
41778
|
-
var subscribeRef = React.useRef();
|
41779
41804
|
var sendHbjson = useSendHbjson().sendHbjson;
|
41780
|
-
var _f = React.useState(
|
41781
|
-
var _g = React.useState(
|
41782
|
-
var _h = React.useState(),
|
41783
|
-
var _j = React.useState(),
|
41784
|
-
var _k = React.useState(),
|
41805
|
+
var _f = React.useState(false), isClicked = _f[0], setIsClicked = _f[1];
|
41806
|
+
var _g = React.useState(), selection = _g[0], setSelection = _g[1];
|
41807
|
+
var _h = React.useState(), subscribe = _h[0], setSubscribe = _h[1];
|
41808
|
+
var _j = React.useState(), preview = _j[0], setPreview = _j[1];
|
41809
|
+
var _k = React.useState(), refresh = _k[0], setRefresh = _k[1];
|
41810
|
+
var _l = React.useState(), result = _l[0], setResult = _l[1];
|
41811
|
+
// This method does not read runtime state variables. Props only
|
41812
|
+
var customEventHandler = function (e) {
|
41813
|
+
(e.detail.id === defaultKey) && setRefresh(performance.now().toString());
|
41814
|
+
};
|
41815
|
+
useCustomEvent('onModelChanged', customEventHandler);
|
41785
41816
|
// Config only on bootstrap
|
41786
41817
|
var initialConfig = React.useMemo(function () {
|
41787
41818
|
if (!optionsConfig)
|
@@ -41789,7 +41820,7 @@ var GetModel = function (_a) {
|
|
41789
41820
|
return optionsConfig;
|
41790
41821
|
}, []);
|
41791
41822
|
// pollination-react-io hooks
|
41792
|
-
var
|
41823
|
+
var _m = useGetHbjson(), host = _m.host, hbjson = _m.hbjson, getHbjson = _m.getHbjson;
|
41793
41824
|
// set selection and subscribe on props change
|
41794
41825
|
React.useEffect(function () {
|
41795
41826
|
if (!initialConfig)
|
@@ -41804,58 +41835,55 @@ var GetModel = function (_a) {
|
|
41804
41835
|
setSelection(sel);
|
41805
41836
|
setSubscribe(sub);
|
41806
41837
|
}, [initialConfig]);
|
41838
|
+
/**
|
41839
|
+
* From Blob geometry to string
|
41840
|
+
*/
|
41807
41841
|
React.useEffect(function () {
|
41808
|
-
//
|
41842
|
+
// Only if clicked
|
41809
41843
|
if (!hbjson || !isClicked)
|
41810
41844
|
return;
|
41811
|
-
|
41812
|
-
|
41813
|
-
|
41814
|
-
|
41815
|
-
|
41816
|
-
|
41817
|
-
|
41818
|
-
|
41819
|
-
|
41820
|
-
|
41821
|
-
|
41822
|
-
});
|
41823
|
-
// If preview is OFF
|
41824
|
-
!preview && sendHbjson('ClearHBJSON', {
|
41825
|
-
data: this.result,
|
41826
|
-
uniqueId: defaultKey,
|
41827
|
-
options: {}
|
41828
|
-
});
|
41829
|
-
};
|
41830
|
-
fr.readAsText(hbjson);
|
41831
|
-
}
|
41832
|
-
}, [hbjson, host, onChange, preview]);
|
41833
|
-
// subscribe
|
41845
|
+
var fr = new FileReader();
|
41846
|
+
fr.onload = function () {
|
41847
|
+
if (typeof this.result !== 'string')
|
41848
|
+
return;
|
41849
|
+
setResult(this.result);
|
41850
|
+
};
|
41851
|
+
fr.readAsText(hbjson);
|
41852
|
+
}, [hbjson]);
|
41853
|
+
/**
|
41854
|
+
* Set parent state if result change
|
41855
|
+
*/
|
41834
41856
|
React.useEffect(function () {
|
41835
|
-
if (!
|
41857
|
+
if (!result || !onChange)
|
41836
41858
|
return;
|
41837
|
-
|
41838
|
-
|
41839
|
-
|
41840
|
-
|
41841
|
-
|
41842
|
-
}
|
41843
|
-
else if (!subscribe
|
41844
|
-
&& typeof subscribeRef.current !== 'undefined') {
|
41845
|
-
clearInterval(subscribeRef.current);
|
41846
|
-
subscribeRef.current = undefined;
|
41847
|
-
}
|
41848
|
-
}, [getHbjson, key, subscribe, subscribeRef]);
|
41849
|
-
// selection and subscription
|
41859
|
+
onChange(new File([result], "Model_linked_from_".concat(host, ".hbjson")));
|
41860
|
+
}, [result, onChange]);
|
41861
|
+
/**
|
41862
|
+
* Preview only
|
41863
|
+
*/
|
41850
41864
|
React.useEffect(function () {
|
41851
|
-
|
41852
|
-
|
41853
|
-
|
41854
|
-
|
41855
|
-
|
41856
|
-
|
41857
|
-
|
41858
|
-
|
41865
|
+
if (!result)
|
41866
|
+
return;
|
41867
|
+
// Preview ON
|
41868
|
+
preview && sendHbjson('SubscribePreviewHBJSON', {
|
41869
|
+
data: result,
|
41870
|
+
uniqueId: defaultKey,
|
41871
|
+
options: {}
|
41872
|
+
});
|
41873
|
+
// Preview OFF
|
41874
|
+
!preview && sendHbjson('ClearHBJSON', {
|
41875
|
+
data: result,
|
41876
|
+
uniqueId: defaultKey,
|
41877
|
+
options: {}
|
41878
|
+
});
|
41879
|
+
}, [result, preview]);
|
41880
|
+
// Event effect if subscribe is active
|
41881
|
+
// If subscribe is enable or disable rerun
|
41882
|
+
React.useEffect(function () {
|
41883
|
+
if (!getHbjson)
|
41884
|
+
return;
|
41885
|
+
subscribe && getHbjson(defaultKey, false, false, selection);
|
41886
|
+
}, [getHbjson, refresh, subscribe]);
|
41859
41887
|
return (host === 'web'
|
41860
41888
|
? (React__default["default"].createElement(FileInput, { onChange: function (file) {
|
41861
41889
|
if (!file)
|
@@ -41866,7 +41894,7 @@ var GetModel = function (_a) {
|
|
41866
41894
|
if (!getHbjson)
|
41867
41895
|
return;
|
41868
41896
|
setIsClicked(true);
|
41869
|
-
getHbjson(
|
41897
|
+
getHbjson(defaultKey, selection, true, selection);
|
41870
41898
|
}, disabled: !getHbjson,
|
41871
41899
|
// @ts-ignore
|
41872
41900
|
options: host !== 'revit' ? [{
|
@@ -41890,10 +41918,6 @@ var GetModel = function (_a) {
|
|
41890
41918
|
checked: selection,
|
41891
41919
|
icon: React__default["default"].createElement(BoundingBox$1, { size: 16 }),
|
41892
41920
|
onSelect: function () {
|
41893
|
-
// reset key when "select" option is deselected
|
41894
|
-
if (selection) {
|
41895
|
-
setKey(performance.now().toString());
|
41896
|
-
}
|
41897
41921
|
setSelection(function (state) { return !state; });
|
41898
41922
|
},
|
41899
41923
|
},
|
@@ -42266,7 +42290,20 @@ var ComboFileSelector = function (_a) {
|
|
42266
42290
|
return (React__default["default"].createElement(FileInput, { onChange: onChange, inputProps: inputProps, accept: typeof inputProps.accept === 'string' ?
|
42267
42291
|
inputProps.accept.split(', ') : undefined }));
|
42268
42292
|
case 'get_model':
|
42269
|
-
return (React__default["default"].createElement(GetModel, { onChange: onChange, inputProps: inputProps, showHelpText: false
|
42293
|
+
return (React__default["default"].createElement(GetModel, { defaultKey: projectName, onChange: onChange, inputProps: inputProps, showHelpText: false, optionsConfig: {
|
42294
|
+
selection: {
|
42295
|
+
show: true,
|
42296
|
+
selected: false,
|
42297
|
+
},
|
42298
|
+
subscribe: {
|
42299
|
+
show: true,
|
42300
|
+
selected: false,
|
42301
|
+
},
|
42302
|
+
preview: {
|
42303
|
+
show: true,
|
42304
|
+
selected: false,
|
42305
|
+
}
|
42306
|
+
} }));
|
42270
42307
|
case 'get_cloud':
|
42271
42308
|
return (React__default["default"].createElement(SelectCloudArtifacts, { projectOwner: projectOwner, projectName: projectName, value: value, hidden: hidden, fileNameMatch: typeof inputProps.accept === 'string' ?
|
42272
42309
|
".*(".concat(inputProps.accept.replace(/\./g, '').split(', ').join('$|'), "$)") : '.*', onChange: onChange, client: client }));
|
@@ -47966,28 +48003,6 @@ var GetModelActions;
|
|
47966
48003
|
GetModelActions["preview"] = "preview";
|
47967
48004
|
})(GetModelActions || (GetModelActions = {}));
|
47968
48005
|
|
47969
|
-
/**
|
47970
|
-
* Listen for a CustomEvent.
|
47971
|
-
* If web it uses document, if panel it uses webview
|
47972
|
-
* @param eventName Name of the CustomEvent
|
47973
|
-
* @param handler Handler to trigger
|
47974
|
-
*/
|
47975
|
-
var useCustomEvent = function (eventName, handler) {
|
47976
|
-
var host = getHost();
|
47977
|
-
React.useEffect(function () {
|
47978
|
-
// If web use document
|
47979
|
-
var owner = document;
|
47980
|
-
// If panel use webview
|
47981
|
-
if (host !== 'web') {
|
47982
|
-
owner = window.parent.chrome.webview;
|
47983
|
-
}
|
47984
|
-
owner.addEventListener(eventName, handler);
|
47985
|
-
return function () {
|
47986
|
-
owner.removeEventListener(eventName, handler);
|
47987
|
-
};
|
47988
|
-
}, []);
|
47989
|
-
};
|
47990
|
-
|
47991
48006
|
var GetGeometry = function (_a) {
|
47992
48007
|
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, _e = _a.meshOptions, meshOptions = _e === void 0 ? {} : _e, _f = _a.geometryFilter, geometryFilter = _f === void 0 ? {} : _f;
|
47993
48008
|
// Hooks
|