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
@@ -5,6 +5,7 @@ export declare enum GetModelActions {
|
|
5
5
|
preview = "preview"
|
6
6
|
}
|
7
7
|
export interface GetModelProps {
|
8
|
+
defaultKey: string;
|
8
9
|
onChange?: (event: any) => void;
|
9
10
|
optionsConfig?: {
|
10
11
|
[index in GetModelActions]: {
|
@@ -15,6 +16,5 @@ export interface GetModelProps {
|
|
15
16
|
buttonLabel?: string;
|
16
17
|
inputProps?: HTMLProps<HTMLInputElement>;
|
17
18
|
showHelpText?: boolean;
|
18
|
-
defaultKey?: string;
|
19
19
|
useIcon?: boolean;
|
20
20
|
}
|
package/build/index.esm.js
CHANGED
@@ -41183,14 +41183,18 @@ var useGetHbjson = function () {
|
|
41183
41183
|
// @ts-ignore
|
41184
41184
|
return function () { return window.parent.readHbjson = undefined; };
|
41185
41185
|
}, [setReturnValue]);
|
41186
|
-
var dotNetGetHbjson = useCallback(function (key, selection, force) {
|
41186
|
+
var dotNetGetHbjson = useCallback(function (key, selection, force, useSelection) {
|
41187
41187
|
if (key === void 0) { key = 'use-get-hbjson'; }
|
41188
41188
|
if (selection === void 0) { selection = false; }
|
41189
41189
|
if (force === void 0) { force = false; }
|
41190
|
+
if (useSelection === void 0) { useSelection = true; }
|
41190
41191
|
if (!checkDotNet())
|
41191
41192
|
return;
|
41192
41193
|
var res = window.parent.chrome.webview
|
41193
|
-
.hostObjects.sync.hbjson.
|
41194
|
+
.hostObjects.sync.hbjson.Read(key, JSON.stringify({
|
41195
|
+
select: selection,
|
41196
|
+
useSelection: useSelection
|
41197
|
+
}));
|
41194
41198
|
if (res) {
|
41195
41199
|
setReturnValue(res, force);
|
41196
41200
|
}
|
@@ -41746,15 +41750,42 @@ var GetModelActions$1;
|
|
41746
41750
|
GetModelActions["preview"] = "preview";
|
41747
41751
|
})(GetModelActions$1 || (GetModelActions$1 = {}));
|
41748
41752
|
|
41753
|
+
/**
|
41754
|
+
* Listen for a CustomEvent.
|
41755
|
+
* If web it uses document, if panel it uses webview
|
41756
|
+
* @param eventName Name of the CustomEvent
|
41757
|
+
* @param handler Handler to trigger
|
41758
|
+
*/
|
41759
|
+
var useCustomEvent = function (eventName, handler) {
|
41760
|
+
var host = getHost();
|
41761
|
+
useEffect(function () {
|
41762
|
+
// If web use document
|
41763
|
+
var owner = document;
|
41764
|
+
// If panel use webview
|
41765
|
+
if (host !== 'web') {
|
41766
|
+
owner = window.parent.chrome.webview;
|
41767
|
+
}
|
41768
|
+
owner.addEventListener(eventName, handler);
|
41769
|
+
return function () {
|
41770
|
+
owner.removeEventListener(eventName, handler);
|
41771
|
+
};
|
41772
|
+
}, []);
|
41773
|
+
};
|
41774
|
+
|
41749
41775
|
var GetModel = function (_a) {
|
41750
41776
|
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;
|
41751
|
-
var subscribeRef = useRef();
|
41752
41777
|
var sendHbjson = useSendHbjson().sendHbjson;
|
41753
|
-
var _f = useState(
|
41754
|
-
var _g = useState(
|
41755
|
-
var _h = useState(),
|
41756
|
-
var _j = useState(),
|
41757
|
-
var _k = useState(),
|
41778
|
+
var _f = useState(false), isClicked = _f[0], setIsClicked = _f[1];
|
41779
|
+
var _g = useState(), selection = _g[0], setSelection = _g[1];
|
41780
|
+
var _h = useState(), subscribe = _h[0], setSubscribe = _h[1];
|
41781
|
+
var _j = useState(), preview = _j[0], setPreview = _j[1];
|
41782
|
+
var _k = useState(), refresh = _k[0], setRefresh = _k[1];
|
41783
|
+
var _l = useState(), result = _l[0], setResult = _l[1];
|
41784
|
+
// This method does not read runtime state variables. Props only
|
41785
|
+
var customEventHandler = function (e) {
|
41786
|
+
(e.detail.id === defaultKey) && setRefresh(performance.now().toString());
|
41787
|
+
};
|
41788
|
+
useCustomEvent('onModelChanged', customEventHandler);
|
41758
41789
|
// Config only on bootstrap
|
41759
41790
|
var initialConfig = useMemo(function () {
|
41760
41791
|
if (!optionsConfig)
|
@@ -41762,7 +41793,7 @@ var GetModel = function (_a) {
|
|
41762
41793
|
return optionsConfig;
|
41763
41794
|
}, []);
|
41764
41795
|
// pollination-react-io hooks
|
41765
|
-
var
|
41796
|
+
var _m = useGetHbjson(), host = _m.host, hbjson = _m.hbjson, getHbjson = _m.getHbjson;
|
41766
41797
|
// set selection and subscribe on props change
|
41767
41798
|
useEffect(function () {
|
41768
41799
|
if (!initialConfig)
|
@@ -41777,58 +41808,55 @@ var GetModel = function (_a) {
|
|
41777
41808
|
setSelection(sel);
|
41778
41809
|
setSubscribe(sub);
|
41779
41810
|
}, [initialConfig]);
|
41811
|
+
/**
|
41812
|
+
* From Blob geometry to string
|
41813
|
+
*/
|
41780
41814
|
useEffect(function () {
|
41781
|
-
//
|
41815
|
+
// Only if clicked
|
41782
41816
|
if (!hbjson || !isClicked)
|
41783
41817
|
return;
|
41784
|
-
|
41785
|
-
|
41786
|
-
|
41787
|
-
|
41788
|
-
|
41789
|
-
|
41790
|
-
|
41791
|
-
|
41792
|
-
|
41793
|
-
|
41794
|
-
|
41795
|
-
});
|
41796
|
-
// If preview is OFF
|
41797
|
-
!preview && sendHbjson('ClearHBJSON', {
|
41798
|
-
data: this.result,
|
41799
|
-
uniqueId: defaultKey,
|
41800
|
-
options: {}
|
41801
|
-
});
|
41802
|
-
};
|
41803
|
-
fr.readAsText(hbjson);
|
41804
|
-
}
|
41805
|
-
}, [hbjson, host, onChange, preview]);
|
41806
|
-
// subscribe
|
41818
|
+
var fr = new FileReader();
|
41819
|
+
fr.onload = function () {
|
41820
|
+
if (typeof this.result !== 'string')
|
41821
|
+
return;
|
41822
|
+
setResult(this.result);
|
41823
|
+
};
|
41824
|
+
fr.readAsText(hbjson);
|
41825
|
+
}, [hbjson]);
|
41826
|
+
/**
|
41827
|
+
* Set parent state if result change
|
41828
|
+
*/
|
41807
41829
|
useEffect(function () {
|
41808
|
-
if (!
|
41830
|
+
if (!result || !onChange)
|
41809
41831
|
return;
|
41810
|
-
|
41811
|
-
|
41812
|
-
|
41813
|
-
|
41814
|
-
|
41815
|
-
}
|
41816
|
-
else if (!subscribe
|
41817
|
-
&& typeof subscribeRef.current !== 'undefined') {
|
41818
|
-
clearInterval(subscribeRef.current);
|
41819
|
-
subscribeRef.current = undefined;
|
41820
|
-
}
|
41821
|
-
}, [getHbjson, key, subscribe, subscribeRef]);
|
41822
|
-
// selection and subscription
|
41832
|
+
onChange(new File([result], "Model_linked_from_".concat(host, ".hbjson")));
|
41833
|
+
}, [result, onChange]);
|
41834
|
+
/**
|
41835
|
+
* Preview only
|
41836
|
+
*/
|
41823
41837
|
useEffect(function () {
|
41824
|
-
|
41825
|
-
|
41826
|
-
|
41827
|
-
|
41828
|
-
|
41829
|
-
|
41830
|
-
|
41831
|
-
|
41838
|
+
if (!result)
|
41839
|
+
return;
|
41840
|
+
// Preview ON
|
41841
|
+
preview && sendHbjson('SubscribePreviewHBJSON', {
|
41842
|
+
data: result,
|
41843
|
+
uniqueId: defaultKey,
|
41844
|
+
options: {}
|
41845
|
+
});
|
41846
|
+
// Preview OFF
|
41847
|
+
!preview && sendHbjson('ClearHBJSON', {
|
41848
|
+
data: result,
|
41849
|
+
uniqueId: defaultKey,
|
41850
|
+
options: {}
|
41851
|
+
});
|
41852
|
+
}, [result, preview]);
|
41853
|
+
// Event effect if subscribe is active
|
41854
|
+
// If subscribe is enable or disable rerun
|
41855
|
+
useEffect(function () {
|
41856
|
+
if (!getHbjson)
|
41857
|
+
return;
|
41858
|
+
subscribe && getHbjson(defaultKey, false, false, selection);
|
41859
|
+
}, [getHbjson, refresh, subscribe]);
|
41832
41860
|
return (host === 'web'
|
41833
41861
|
? (React__default.createElement(FileInput, { onChange: function (file) {
|
41834
41862
|
if (!file)
|
@@ -41839,7 +41867,7 @@ var GetModel = function (_a) {
|
|
41839
41867
|
if (!getHbjson)
|
41840
41868
|
return;
|
41841
41869
|
setIsClicked(true);
|
41842
|
-
getHbjson(
|
41870
|
+
getHbjson(defaultKey, selection, true, selection);
|
41843
41871
|
}, disabled: !getHbjson,
|
41844
41872
|
// @ts-ignore
|
41845
41873
|
options: host !== 'revit' ? [{
|
@@ -41863,10 +41891,6 @@ var GetModel = function (_a) {
|
|
41863
41891
|
checked: selection,
|
41864
41892
|
icon: React__default.createElement(BoundingBox$1, { size: 16 }),
|
41865
41893
|
onSelect: function () {
|
41866
|
-
// reset key when "select" option is deselected
|
41867
|
-
if (selection) {
|
41868
|
-
setKey(performance.now().toString());
|
41869
|
-
}
|
41870
41894
|
setSelection(function (state) { return !state; });
|
41871
41895
|
},
|
41872
41896
|
},
|
@@ -42239,7 +42263,20 @@ var ComboFileSelector = function (_a) {
|
|
42239
42263
|
return (React__default.createElement(FileInput, { onChange: onChange, inputProps: inputProps, accept: typeof inputProps.accept === 'string' ?
|
42240
42264
|
inputProps.accept.split(', ') : undefined }));
|
42241
42265
|
case 'get_model':
|
42242
|
-
return (React__default.createElement(GetModel, { onChange: onChange, inputProps: inputProps, showHelpText: false
|
42266
|
+
return (React__default.createElement(GetModel, { defaultKey: projectName, onChange: onChange, inputProps: inputProps, showHelpText: false, optionsConfig: {
|
42267
|
+
selection: {
|
42268
|
+
show: true,
|
42269
|
+
selected: false,
|
42270
|
+
},
|
42271
|
+
subscribe: {
|
42272
|
+
show: true,
|
42273
|
+
selected: false,
|
42274
|
+
},
|
42275
|
+
preview: {
|
42276
|
+
show: true,
|
42277
|
+
selected: false,
|
42278
|
+
}
|
42279
|
+
} }));
|
42243
42280
|
case 'get_cloud':
|
42244
42281
|
return (React__default.createElement(SelectCloudArtifacts, { projectOwner: projectOwner, projectName: projectName, value: value, hidden: hidden, fileNameMatch: typeof inputProps.accept === 'string' ?
|
42245
42282
|
".*(".concat(inputProps.accept.replace(/\./g, '').split(', ').join('$|'), "$)") : '.*', onChange: onChange, client: client }));
|
@@ -47939,28 +47976,6 @@ var GetModelActions;
|
|
47939
47976
|
GetModelActions["preview"] = "preview";
|
47940
47977
|
})(GetModelActions || (GetModelActions = {}));
|
47941
47978
|
|
47942
|
-
/**
|
47943
|
-
* Listen for a CustomEvent.
|
47944
|
-
* If web it uses document, if panel it uses webview
|
47945
|
-
* @param eventName Name of the CustomEvent
|
47946
|
-
* @param handler Handler to trigger
|
47947
|
-
*/
|
47948
|
-
var useCustomEvent = function (eventName, handler) {
|
47949
|
-
var host = getHost();
|
47950
|
-
useEffect(function () {
|
47951
|
-
// If web use document
|
47952
|
-
var owner = document;
|
47953
|
-
// If panel use webview
|
47954
|
-
if (host !== 'web') {
|
47955
|
-
owner = window.parent.chrome.webview;
|
47956
|
-
}
|
47957
|
-
owner.addEventListener(eventName, handler);
|
47958
|
-
return function () {
|
47959
|
-
owner.removeEventListener(eventName, handler);
|
47960
|
-
};
|
47961
|
-
}, []);
|
47962
|
-
};
|
47963
|
-
|
47964
47979
|
var GetGeometry = function (_a) {
|
47965
47980
|
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;
|
47966
47981
|
// Hooks
|