vim-web 0.3.44-dev.84 → 0.3.44-dev.85
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/dist/types/react-viewers/generic/genericField.d.ts +3 -0
- package/dist/types/react-viewers/generic/inputNumber.d.ts +2 -3
- package/dist/types/react-viewers/webgl/loading.d.ts +3 -1
- package/dist/vim-web.iife.js +34 -16
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +34 -16
- package/dist/vim-web.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,9 @@ export interface GenericTextEntry extends BaseGenericEntry {
|
|
|
13
13
|
export interface GenericNumberEntry extends BaseGenericEntry {
|
|
14
14
|
type: "number";
|
|
15
15
|
state: StateRef<number>;
|
|
16
|
+
min?: number;
|
|
17
|
+
max?: number;
|
|
18
|
+
step?: number;
|
|
16
19
|
}
|
|
17
20
|
export interface GenericBoolEntry extends BaseGenericEntry {
|
|
18
21
|
type: "bool";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GenericNumberEntry } from "./genericField";
|
|
2
2
|
export declare function InputNumber(props: {
|
|
3
|
-
|
|
4
|
-
disabled?: boolean;
|
|
3
|
+
entry: GenericNumberEntry;
|
|
5
4
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Core from '../../core-viewers';
|
|
5
5
|
import { LoadRequest } from '../helpers/loadRequest';
|
|
6
6
|
import { ModalHandle } from '../panels/modal';
|
|
7
|
+
import { Settings } from '../settings';
|
|
7
8
|
type AddSettings = {
|
|
8
9
|
/**
|
|
9
10
|
* Controls whether to frame the camera on a vim everytime it is updated.
|
|
@@ -28,7 +29,8 @@ export type LoadingError = {
|
|
|
28
29
|
export declare class ComponentLoader {
|
|
29
30
|
private _viewer;
|
|
30
31
|
private _modal;
|
|
31
|
-
|
|
32
|
+
private _addLink;
|
|
33
|
+
constructor(viewer: Core.Webgl.Viewer, modal: React.RefObject<ModalHandle>, settings: Settings);
|
|
32
34
|
/**
|
|
33
35
|
* Event emitter for progress updates.
|
|
34
36
|
*/
|
package/dist/vim-web.iife.js
CHANGED
|
@@ -75316,11 +75316,14 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75316
75316
|
] });
|
|
75317
75317
|
}
|
|
75318
75318
|
class ComponentLoader {
|
|
75319
|
-
constructor(viewer, modal) {
|
|
75319
|
+
constructor(viewer, modal, settings2) {
|
|
75320
75320
|
__publicField(this, "_viewer");
|
|
75321
75321
|
__publicField(this, "_modal");
|
|
75322
|
+
__publicField(this, "_addLink", false);
|
|
75322
75323
|
this._viewer = viewer;
|
|
75323
75324
|
this._modal = modal;
|
|
75325
|
+
this._addLink = /* settings.capacity.canFollowUrl */
|
|
75326
|
+
false;
|
|
75324
75327
|
}
|
|
75325
75328
|
/**
|
|
75326
75329
|
* Event emitter for progress updates.
|
|
@@ -75331,7 +75334,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75331
75334
|
message: "Loading in WebGL Mode",
|
|
75332
75335
|
progress: p.loaded,
|
|
75333
75336
|
mode: "bytes",
|
|
75334
|
-
more: UltraSuggestion()
|
|
75337
|
+
more: this._addLink ? UltraSuggestion() : void 0
|
|
75335
75338
|
});
|
|
75336
75339
|
}
|
|
75337
75340
|
/**
|
|
@@ -75594,10 +75597,13 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75594
75597
|
return position;
|
|
75595
75598
|
}
|
|
75596
75599
|
function InputNumber(props) {
|
|
75597
|
-
|
|
75600
|
+
var _a3;
|
|
75601
|
+
const entry = props.entry;
|
|
75602
|
+
const state = entry.state;
|
|
75603
|
+
const defaultValue = React2.useRef(props.entry.state.get());
|
|
75598
75604
|
const externalValue = React2.useSyncExternalStore(
|
|
75599
|
-
(callback) =>
|
|
75600
|
-
() =>
|
|
75605
|
+
(callback) => state.onChange.subscribe(callback),
|
|
75606
|
+
() => state.get()
|
|
75601
75607
|
);
|
|
75602
75608
|
const [inputValue, setInputValue] = React2.useState(externalValue.toString());
|
|
75603
75609
|
React2.useEffect(() => {
|
|
@@ -75611,24 +75617,27 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75611
75617
|
setInputValue(input);
|
|
75612
75618
|
const parsed = parseFloat(input);
|
|
75613
75619
|
if (!isNaN(parsed)) {
|
|
75614
|
-
|
|
75620
|
+
state.set(parsed);
|
|
75615
75621
|
}
|
|
75616
75622
|
};
|
|
75617
75623
|
const handleBlur = () => {
|
|
75618
75624
|
const parsed = parseFloat(inputValue);
|
|
75619
75625
|
const value = isNaN(parsed) ? defaultValue.current : parsed;
|
|
75620
|
-
|
|
75621
|
-
setInputValue(
|
|
75626
|
+
state.set(value);
|
|
75627
|
+
setInputValue(state.get().toString());
|
|
75622
75628
|
};
|
|
75623
75629
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75624
75630
|
"input",
|
|
75625
75631
|
{
|
|
75626
|
-
disabled:
|
|
75632
|
+
disabled: ((_a3 = entry.enabled) == null ? void 0 : _a3.call(entry)) === false,
|
|
75627
75633
|
type: "number",
|
|
75628
75634
|
value: inputValue,
|
|
75629
75635
|
onChange: handleChange,
|
|
75630
75636
|
onBlur: handleBlur,
|
|
75631
|
-
className: "vc-border vc-inline vc-border-gray-300 vc-py-1 vc-w-full vc-px-1"
|
|
75637
|
+
className: "vc-border vc-inline vc-border-gray-300 vc-py-1 vc-w-full vc-px-1",
|
|
75638
|
+
min: entry.min,
|
|
75639
|
+
max: entry.max,
|
|
75640
|
+
step: entry.step
|
|
75632
75641
|
}
|
|
75633
75642
|
);
|
|
75634
75643
|
}
|
|
@@ -75649,14 +75658,14 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75649
75658
|
);
|
|
75650
75659
|
}
|
|
75651
75660
|
function GenericField(props) {
|
|
75652
|
-
var _a3, _b2, _c, _d
|
|
75661
|
+
var _a3, _b2, _c, _d;
|
|
75653
75662
|
switch (props.field.type) {
|
|
75654
75663
|
case "number":
|
|
75655
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, {
|
|
75664
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { entry: props.field });
|
|
75656
75665
|
case "text":
|
|
75657
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericTextField, { state: props.field.state, disabled: ((
|
|
75666
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericTextField, { state: props.field.state, disabled: ((_b2 = (_a3 = props.field).enabled) == null ? void 0 : _b2.call(_a3)) === false });
|
|
75658
75667
|
case "bool":
|
|
75659
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericBoolField, { state: props.field.state, disabled: ((
|
|
75668
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericBoolField, { state: props.field.state, disabled: ((_d = (_c = props.field).enabled) == null ? void 0 : _d.call(_c)) === false });
|
|
75660
75669
|
default:
|
|
75661
75670
|
return null;
|
|
75662
75671
|
}
|
|
@@ -75944,7 +75953,16 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
75944
75953
|
entries: [
|
|
75945
75954
|
{ type: "bool", id: Ids.showGhost, label: "Show Ghost", state: props.state.showGhost },
|
|
75946
75955
|
// { type: "bool", id: "showRooms", label: "Show Rooms", state: props.state.showRooms },
|
|
75947
|
-
{
|
|
75956
|
+
{
|
|
75957
|
+
type: "number",
|
|
75958
|
+
id: Ids.ghostOpacity,
|
|
75959
|
+
label: "Ghost Opacity",
|
|
75960
|
+
state: props.state.ghostOpacity,
|
|
75961
|
+
enabled: () => props.state.showGhost.get(),
|
|
75962
|
+
min: 0,
|
|
75963
|
+
max: 1,
|
|
75964
|
+
step: 0.05
|
|
75965
|
+
}
|
|
75948
75966
|
]
|
|
75949
75967
|
}
|
|
75950
75968
|
);
|
|
@@ -76123,7 +76141,7 @@ Averrage Date/Second ${avgDataRatePS} kb
|
|
|
76123
76141
|
const sectionBoxPanelHandle = React2.useRef(null);
|
|
76124
76142
|
const camera2 = useWebglCamera(props.viewer, sectionBoxRef);
|
|
76125
76143
|
const cursor = React2.useMemo(() => new CursorManager(props.viewer), []);
|
|
76126
|
-
const loader = React2.useRef(new ComponentLoader(props.viewer, modal));
|
|
76144
|
+
const loader = React2.useRef(new ComponentLoader(props.viewer, modal, settings2.value));
|
|
76127
76145
|
useViewerInput(props.viewer.inputs, camera2);
|
|
76128
76146
|
const side = useSideState(
|
|
76129
76147
|
isTrue(settings2.value.ui.bimTreePanel) || isTrue(settings2.value.ui.bimInfoPanel),
|